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

MagickBooleanType
RemapImage(QuantizeInfo *quantize_info,Image *image,Image *remap_image,ExceptionInfo *exception)

{
  CubeInfo_conflict *pCVar1;
  MagickBooleanType MVar2;
  undefined4 uVar3;
  int iVar4;
  QuantizeInfo *quantize_info_00;
  QuantumInfo *quantum_info;
  Image *image_00;
  int *piVar5;
  Image *image_01;
  undefined *puVar6;
  ExceptionInfo *exception_00;
  int iVar7;
  int iVar8;
  int iVar9;
  undefined4 *puVar10;
  int iVar11;
  int iVar12;
  code *UNRECOVERED_JUMPTABLE;
  code *pcVar13;
  
  if (image == (Image *)0x0) {
LAB_001541dc:
    (*(code *)PTR___assert_fail_003a9608)
              (PTR_LAB_003a88e0 + 0xdd0,PTR_s_t_to_left_003a88e4 + 0x7d40,0xde9,
               PTR_s_t_to_left_003a88e4 + 0x7f44);
LAB_00154200:
    puVar6 = PTR_s_t_to_left_003a88e4 + 0x7f44;
    (*(code *)PTR___assert_fail_003a9608)
              (PTR_s_t_to_left_003a88e4 + 0x7ec4,PTR_s_t_to_left_003a88e4 + 0x7d40,0xded,puVar6);
LAB_00154224:
    puVar6 = puVar6 + 0x7f44;
    (*(code *)PTR___assert_fail_003a9608)
              (PTR_LAB_003a88e0 + 0x294c,PTR_s_t_to_left_003a88e4 + 0x7d40,0xdf0,puVar6);
LAB_00154244:
    image_01 = (Image *)0xdef;
    (*(code *)PTR___assert_fail_003a9608)
              (PTR_LAB_003a88e0 + 0x1cac,PTR_s_t_to_left_003a88e4 + 0x7d40,0xdef,puVar6 + 0x7f44);
  }
  else {
    if (image->signature != 0xabacadab) {
      (*(code *)PTR___assert_fail_003a9608)
                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,
                 PTR_s_t_to_left_003a88e4 + 0x7d40,0xdea,PTR_s_t_to_left_003a88e4 + 0x7f44);
      goto LAB_001541dc;
    }
    if (image->debug != MagickFalse) {
      (*(code *)PTR_LogMagickEvent_003a91e0)
                (0x8000,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38,0xdec,
                 PTR_s_t_to_left_003a88e4 + -0x62ac,image->filename);
    }
    if (remap_image == (Image *)0x0) goto LAB_00154200;
    image_01 = (Image *)0xdee;
    if (remap_image->signature == 0xabacadab) {
      puVar6 = PTR_s_t_to_left_003a88e4;
      if (exception != (ExceptionInfo *)0x0) {
        if (exception->signature == 0xabacadab) {
          pCVar1 = GetCubeInfo(quantize_info,8,quantize_info->number_colors);
          if (pCVar1 == (CubeInfo_conflict *)0x0) {
            (*(code *)PTR_ThrowMagickException_003a8f20)
                      (exception,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38
                       ,0xdf5,400,PTR_LAB_003a88e0 + 0x16f8,PTR_LAB_003a88e0 + 0x3e28,
                       image->filename);
            return MagickFalse;
          }
          MVar2 = ClassifyImageColors(pCVar1,remap_image,exception);
          if (MVar2 != MagickFalse) {
            pCVar1->quantize_info->number_colors = pCVar1->colors;
            MVar2 = AssignImageColors(image,pCVar1,exception);
          }
          DestroyCubeInfo(pCVar1);
          return MVar2;
        }
        goto LAB_00154224;
      }
      goto LAB_00154244;
    }
  }
  exception_00 = (ExceptionInfo *)(PTR_s_t_to_left_003a88e4 + 0x7f44);
  image_00 = (Image *)(PTR_s_t_to_left_003a88e4 + 0x7d40);
  quantize_info_00 = (QuantizeInfo *)(PTR_s_t_to_left_003a88e4 + 0x7ee4);
  puVar6 = PTR___assert_fail_003a9608;
  (*(code *)PTR___assert_fail_003a9608)();
  if (image_00 == (Image *)0x0) {
    iVar7 = *(int *)(puVar6 + 0x254660) + 0x7f2c;
    (**(code **)(puVar6 + 0x255384))
              (*(int *)(puVar6 + 0x25465c) + 0x1e48,*(int *)(puVar6 + 0x254660) + 0x7d40,0xe2d,iVar7
              );
LAB_001544c4:
    (**(code **)(puVar6 + 0x255384))
              (*(int *)(puVar6 + 0x25465c) + 0x294c,*(int *)(puVar6 + 0x254660) + 0x7d40,0xe32,
               iVar7 + 0x7f2c);
  }
  else {
    if (image_00->signature != 0xabacadab) goto LAB_00154508;
    if (image_00->debug != MagickFalse) {
      (**(code **)(puVar6 + 0x254f5c))
                (0x8000,*(int *)(puVar6 + 0x254660) + 0x7d40,*(int *)(puVar6 + 0x254660) + 0x7f20,
                 0xe30,*(int *)(puVar6 + 0x254660) + -0x62ac,image_00->filename);
    }
    if (exception_00 != (ExceptionInfo *)0x0) {
      iVar7 = *(int *)(puVar6 + 0x254660);
      if (exception_00->signature == 0xabacadab) {
        if (image_01 == (Image *)0x0) {
                    /* WARNING: Could not recover jumptable at 0x00154428. Too many branches */
                    /* WARNING: Treating indirect jump as call */
          MVar2 = (**(code **)(puVar6 + 0x254bec))(quantize_info_00,image_00,exception_00);
          return MVar2;
        }
        pCVar1 = GetCubeInfo(quantize_info_00,8,quantize_info_00->number_colors);
        if (pCVar1 == (CubeInfo_conflict *)0x0) {
          (**(code **)(puVar6 + 0x254c9c))
                    (exception_00,*(int *)(puVar6 + 0x254660) + 0x7d40,
                     *(int *)(puVar6 + 0x254660) + 0x7f20,0xe43,400,
                     *(int *)(puVar6 + 0x25465c) + 0x16f8,*(int *)(puVar6 + 0x25465c) + 0x3e28,
                     image_00->filename);
          return MagickFalse;
        }
        MVar2 = ClassifyImageColors(pCVar1,image_01,exception_00);
        if (MVar2 == MagickFalse) {
LAB_0015438c:
          MVar2 = MagickFalse;
        }
        else {
          pCVar1->quantize_info->number_colors = pCVar1->colors;
          do {
            MVar2 = AssignImageColors(image_00,pCVar1,exception_00);
            if (MVar2 == MagickFalse) goto LAB_0015438c;
            image_00 = (Image *)(**(code **)(puVar6 + 0x2551ec))(image_00);
          } while (image_00 != (Image *)0x0);
        }
        DestroyCubeInfo(pCVar1);
        return MVar2;
      }
      goto LAB_001544c4;
    }
  }
  (**(code **)(puVar6 + 0x255384))
            (*(int *)(puVar6 + 0x25465c) + 0x1cac,*(int *)(puVar6 + 0x254660) + 0x7d40,0xe31,
             *(int *)(puVar6 + 0x254660) + 0x7f2c);
LAB_00154508:
  UNRECOVERED_JUMPTABLE = *(code **)(puVar6 + 0x255384);
  iVar7 = *(int *)(puVar6 + 0x25465c) + 0x1e64;
  (*UNRECOVERED_JUMPTABLE)
            (iVar7,*(int *)(puVar6 + 0x254660) + 0x7d40,0xe2e,*(int *)(puVar6 + 0x254660) + 0x7f2c);
  if (iVar7 != 0) {
    if (*(int *)(iVar7 + 100) == -0x54535255) {
      iVar4 = *(int *)(iVar7 + 0x3c);
      iVar8 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc);
      if (iVar4 != 0) {
        iVar8 = *(int *)(iVar7 + 0x38);
        iVar12 = *(int *)(iVar7 + 0x40);
        if (0 < iVar8) {
          iVar9 = 0;
          iVar11 = 0;
          do {
            if (*(int *)(iVar4 + iVar11) != 0) {
              iVar4 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x2549f8))();
              if (*(char *)(iVar4 + iVar12) != -0x55) {
                iVar8 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c;
                (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))
                          (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e50,
                           *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x10e,iVar8);
                goto LAB_00154650;
              }
              puVar10 = (undefined4 *)(*(int *)(iVar7 + 0x3c) + iVar11);
              uVar3 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254e68))(*puVar10);
              iVar4 = *(int *)(iVar7 + 0x3c);
              iVar8 = *(int *)(iVar7 + 0x38);
              *puVar10 = uVar3;
            }
            iVar9 = iVar9 + 1;
            iVar11 = iVar9 * 4;
          } while (iVar9 < iVar8);
        }
        MVar2 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254a90))(iVar4);
        *(MagickBooleanType *)(iVar7 + 0x3c) = MVar2;
        return MVar2;
      }
LAB_00154650:
      (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))
                (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e80,
                 *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x102,iVar8 + -0x7b1c);
    }
    (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))
              (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7eb0,
               *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x101,
               *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c);
  }
  pcVar13 = *(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8);
  quantum_info = (QuantumInfo *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ed8);
  (*pcVar13)(quantum_info,*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x100,
             *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c);
  if (quantum_info == (QuantumInfo *)0x0) {
    (**(code **)(pcVar13 + 0x254f50))
              (*(int *)(pcVar13 + 0x254234) + -0x7ed8,*(int *)(pcVar13 + 0x254234) + -0x7ef0,0xd7,
               *(int *)(pcVar13 + 0x254234) + -0x7b04);
  }
  else if (quantum_info->signature == 0xabacadab) {
    if (quantum_info->pixels != (MemoryInfo **)0x0) {
      DestroyQuantumPixels(quantum_info);
    }
    if (quantum_info->semaphore != (SemaphoreInfo *)0x0) {
      (**(code **)(pcVar13 + 0x255298))(&quantum_info->semaphore);
    }
    UNRECOVERED_JUMPTABLE = *(code **)(pcVar13 + 0x254908);
    quantum_info->signature = 0x54535254;
                    /* WARNING: Could not recover jumptable at 0x0015473c. Too many branches */
                    /* WARNING: Treating indirect jump as call */
    MVar2 = (*UNRECOVERED_JUMPTABLE)(quantum_info);
    return MVar2;
  }
  iVar4 = 0xd8;
  UNRECOVERED_JUMPTABLE = *(code **)(pcVar13 + 0x254f50);
  piVar5 = (int *)(*(int *)(pcVar13 + 0x254234) + -0x7ef0);
  iVar7 = *(int *)(pcVar13 + 0x254234) + -0x7eb0;
  (*UNRECOVERED_JUMPTABLE)();
  if (piVar5 != (int *)0x0) {
    if (piVar5[0x19] == -0x54535255) {
      iVar8 = 1;
      if (iVar4 - 2U < 0x18) {
        iVar7 = *(int *)(iVar7 + 0x18);
        iVar8 = *(int *)((iVar4 - 2U) * 4 + *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7dc0);
        iVar12 = piVar5[0xc];
        iVar4 = *piVar5;
      }
      else {
        iVar12 = piVar5[0xc];
        iVar7 = *(int *)(iVar7 + 0x18);
        iVar4 = *piVar5;
      }
      if (iVar12 != 0) {
        return iVar7 * iVar4 * iVar8 + 7U >> 3;
      }
      return (iVar4 + 7U >> 3) * iVar7 * iVar8;
    }
    (**(code **)(UNRECOVERED_JUMPTABLE + 0x254e7c))
              (*(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7eb0,
               *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7ef0,0x139,
               *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7b30,UNRECOVERED_JUMPTABLE + 0x25c124
              );
  }
  pcVar13 = *(code **)(UNRECOVERED_JUMPTABLE + 0x254e7c);
  iVar7 = *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7ed8;
  (*pcVar13)(iVar7,*(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7ef0,0x138,
             *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7b30);
  if (iVar7 == 0) {
    MVar2 = (**(code **)(pcVar13 + 0x254d8c))
                      (*(int *)(pcVar13 + 0x254070) + -0x7ed8,*(int *)(pcVar13 + 0x254070) + -0x7ef0
                       ,0x168,*(int *)(pcVar13 + 0x254070) + -0x7b44,pcVar13 + 0x25c034);
    return MVar2;
  }
  if (*(int *)(iVar7 + 100) != -0x54535255) {
    MVar2 = (**(code **)(pcVar13 + 0x254d8c))
                      (*(int *)(pcVar13 + 0x254070) + -0x7eb0,*(int *)(pcVar13 + 0x254070) + -0x7ef0
                       ,0x169,*(int *)(pcVar13 + 0x254070) + -0x7b44);
    return MVar2;
  }
  return *(MagickBooleanType *)(iVar7 + 0x44);
}



uint RemapImage(undefined4 *param_1,int param_2,int param_3,int param_4)

{
  uint uVar1;
  undefined4 uVar2;
  undefined4 *puVar3;
  undefined *puVar4;
  int *piVar5;
  int iVar6;
  undefined *puVar7;
  undefined *puVar8;
  int iVar9;
  int iVar10;
  int iVar11;
  int iVar12;
  int iVar13;
  code *UNRECOVERED_JUMPTABLE;
  code *pcVar14;
  
  if (param_2 == 0) {
LAB_001541dc:
    (*(code *)PTR___assert_fail_003a9608)
              (PTR_LAB_003a88e0 + 0xdd0,PTR_s_t_to_left_003a88e4 + 0x7d40,0xde9,
               PTR_s_t_to_left_003a88e4 + 0x7f44);
LAB_00154200:
    puVar7 = PTR_s_t_to_left_003a88e4 + 0x7f44;
    (*(code *)PTR___assert_fail_003a9608)
              (PTR_s_t_to_left_003a88e4 + 0x7ec4,PTR_s_t_to_left_003a88e4 + 0x7d40,0xded,puVar7);
LAB_00154224:
    puVar7 = puVar7 + 0x7f44;
    (*(code *)PTR___assert_fail_003a9608)
              (PTR_LAB_003a88e0 + 0x294c,PTR_s_t_to_left_003a88e4 + 0x7d40,0xdf0,puVar7);
LAB_00154244:
    iVar6 = 0xdef;
    (*(code *)PTR___assert_fail_003a9608)
              (PTR_LAB_003a88e0 + 0x1cac,PTR_s_t_to_left_003a88e4 + 0x7d40,0xdef,puVar7 + 0x7f44);
  }
  else {
    if (*(int *)(param_2 + 0x336c) != -0x54535255) {
      (*(code *)PTR___assert_fail_003a9608)
                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,
                 PTR_s_t_to_left_003a88e4 + 0x7d40,0xdea,PTR_s_t_to_left_003a88e4 + 0x7f44);
      goto LAB_001541dc;
    }
    if (*(int *)(param_2 + 0x3350) != 0) {
      (*(code *)PTR_LogMagickEvent_003a91e0)
                (0x8000,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38,0xdec,
                 PTR_s_t_to_left_003a88e4 + -0x62ac,param_2 + 0x340);
    }
    if (param_3 == 0) goto LAB_00154200;
    iVar6 = 0xdee;
    if (*(int *)(param_3 + 0x336c) == -0x54535255) {
      puVar7 = PTR_s_t_to_left_003a88e4;
      if (param_4 != 0) {
        if (*(int *)(param_4 + 0x1c) == -0x54535255) {
          iVar6 = FUN_001517a0(param_1,8,*param_1);
          if (iVar6 == 0) {
            (*(code *)PTR_ThrowMagickException_003a8f20)
                      (param_4,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38,
                       0xdf5,400,PTR_LAB_003a88e0 + 0x16f8,PTR_LAB_003a88e0 + 0x3e28,param_2 + 0x340
                      );
            return 0;
          }
          uVar1 = FUN_0014cab8(iVar6,param_3,param_4);
          if (uVar1 != 0) {
            **(undefined4 **)(iVar6 + 0x2f0) = *(undefined4 *)(iVar6 + 4);
            uVar1 = FUN_00150e48(param_2,iVar6,param_4);
          }
          FUN_001508cc(iVar6);
          return uVar1;
        }
        goto LAB_00154224;
      }
      goto LAB_00154244;
    }
  }
  puVar8 = PTR_s_t_to_left_003a88e4 + 0x7f44;
  puVar4 = PTR_s_t_to_left_003a88e4 + 0x7d40;
  puVar3 = (undefined4 *)(PTR_s_t_to_left_003a88e4 + 0x7ee4);
  puVar7 = PTR___assert_fail_003a9608;
  (*(code *)PTR___assert_fail_003a9608)();
  if (puVar4 == (undefined *)0x0) {
    iVar9 = *(int *)(puVar7 + 0x254660) + 0x7f2c;
    (**(code **)(puVar7 + 0x255384))
              (*(int *)(puVar7 + 0x25465c) + 0x1e48,*(int *)(puVar7 + 0x254660) + 0x7d40,0xe2d,iVar9
              );
LAB_001544c4:
    (**(code **)(puVar7 + 0x255384))
              (*(int *)(puVar7 + 0x25465c) + 0x294c,*(int *)(puVar7 + 0x254660) + 0x7d40,0xe32,
               iVar9 + 0x7f2c);
  }
  else {
    if (*(int *)(puVar4 + 0x336c) != -0x54535255) goto LAB_00154508;
    if (*(int *)(puVar4 + 0x3350) != 0) {
      (**(code **)(puVar7 + 0x254f5c))
                (0x8000,*(int *)(puVar7 + 0x254660) + 0x7d40,*(int *)(puVar7 + 0x254660) + 0x7f20,
                 0xe30,*(int *)(puVar7 + 0x254660) + -0x62ac,puVar4 + 0x340);
    }
    if (puVar8 != (undefined *)0x0) {
      iVar9 = *(int *)(puVar7 + 0x254660);
      if (*(int *)(puVar8 + 0x1c) == -0x54535255) {
        if (iVar6 == 0) {
                    /* WARNING: Could not recover jumptable at 0x00154428. Too many branches */
                    /* WARNING: Treating indirect jump as call */
          uVar1 = (**(code **)(puVar7 + 0x254bec))(puVar3,puVar4,puVar8);
          return uVar1;
        }
        iVar9 = FUN_001517a0(puVar3,8,*puVar3);
        if (iVar9 == 0) {
          (**(code **)(puVar7 + 0x254c9c))
                    (puVar8,*(int *)(puVar7 + 0x254660) + 0x7d40,
                     *(int *)(puVar7 + 0x254660) + 0x7f20,0xe43,400,
                     *(int *)(puVar7 + 0x25465c) + 0x16f8,*(int *)(puVar7 + 0x25465c) + 0x3e28,
                     puVar4 + 0x340);
          return 0;
        }
        iVar6 = FUN_0014cab8(iVar9,iVar6,puVar8);
        if (iVar6 == 0) {
LAB_0015438c:
          uVar1 = 0;
        }
        else {
          **(undefined4 **)(iVar9 + 0x2f0) = *(undefined4 *)(iVar9 + 4);
          do {
            uVar1 = FUN_00150e48(puVar4,iVar9,puVar8);
            if (uVar1 == 0) goto LAB_0015438c;
            puVar4 = (undefined *)(**(code **)(puVar7 + 0x2551ec))(puVar4);
          } while (puVar4 != (undefined *)0x0);
        }
        FUN_001508cc(iVar9);
        return uVar1;
      }
      goto LAB_001544c4;
    }
  }
  (**(code **)(puVar7 + 0x255384))
            (*(int *)(puVar7 + 0x25465c) + 0x1cac,*(int *)(puVar7 + 0x254660) + 0x7d40,0xe31,
             *(int *)(puVar7 + 0x254660) + 0x7f2c);
LAB_00154508:
  UNRECOVERED_JUMPTABLE = *(code **)(puVar7 + 0x255384);
  iVar6 = *(int *)(puVar7 + 0x25465c) + 0x1e64;
  (*UNRECOVERED_JUMPTABLE)
            (iVar6,*(int *)(puVar7 + 0x254660) + 0x7d40,0xe2e,*(int *)(puVar7 + 0x254660) + 0x7f2c);
  if (iVar6 != 0) {
    if (*(int *)(iVar6 + 100) == -0x54535255) {
      iVar9 = *(int *)(iVar6 + 0x3c);
      iVar10 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc);
      if (iVar9 != 0) {
        iVar10 = *(int *)(iVar6 + 0x38);
        iVar13 = *(int *)(iVar6 + 0x40);
        if (0 < iVar10) {
          iVar11 = 0;
          iVar12 = 0;
          do {
            if (*(int *)(iVar9 + iVar12) != 0) {
              iVar9 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x2549f8))();
              if (*(char *)(iVar9 + iVar13) != -0x55) {
                iVar10 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c;
                (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))
                          (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e50,
                           *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x10e,iVar10);
                goto LAB_00154650;
              }
              puVar3 = (undefined4 *)(*(int *)(iVar6 + 0x3c) + iVar12);
              uVar2 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254e68))(*puVar3);
              iVar9 = *(int *)(iVar6 + 0x3c);
              iVar10 = *(int *)(iVar6 + 0x38);
              *puVar3 = uVar2;
            }
            iVar11 = iVar11 + 1;
            iVar12 = iVar11 * 4;
          } while (iVar11 < iVar10);
        }
        uVar1 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254a90))(iVar9);
        *(uint *)(iVar6 + 0x3c) = uVar1;
        return uVar1;
      }
LAB_00154650:
      (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))
                (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e80,
                 *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x102,iVar10 + -0x7b1c);
    }
    (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))
              (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7eb0,
               *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x101,
               *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c);
  }
  pcVar14 = *(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8);
  iVar6 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ed8;
  (*pcVar14)(iVar6,*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x100,
             *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c);
  if (iVar6 == 0) {
    (**(code **)(pcVar14 + 0x254f50))
              (*(int *)(pcVar14 + 0x254234) + -0x7ed8,*(int *)(pcVar14 + 0x254234) + -0x7ef0,0xd7,
               *(int *)(pcVar14 + 0x254234) + -0x7b04);
  }
  else if (*(int *)(iVar6 + 100) == -0x54535255) {
    if (*(int *)(iVar6 + 0x3c) != 0) {
      FUN_00154530();
    }
    if (*(int *)(iVar6 + 0x60) != 0) {
      (**(code **)(pcVar14 + 0x255298))(iVar6 + 0x60);
    }
    UNRECOVERED_JUMPTABLE = *(code **)(pcVar14 + 0x254908);
    *(undefined4 *)(iVar6 + 100) = 0x54535254;
                    /* WARNING: Could not recover jumptable at 0x0015473c. Too many branches */
                    /* WARNING: Treating indirect jump as call */
    uVar1 = (*UNRECOVERED_JUMPTABLE)(iVar6);
    return uVar1;
  }
  iVar9 = 0xd8;
  UNRECOVERED_JUMPTABLE = *(code **)(pcVar14 + 0x254f50);
  piVar5 = (int *)(*(int *)(pcVar14 + 0x254234) + -0x7ef0);
  iVar6 = *(int *)(pcVar14 + 0x254234) + -0x7eb0;
  (*UNRECOVERED_JUMPTABLE)();
  if (piVar5 != (int *)0x0) {
    if (piVar5[0x19] == -0x54535255) {
      iVar10 = 1;
      if (iVar9 - 2U < 0x18) {
        iVar6 = *(int *)(iVar6 + 0x18);
        iVar10 = *(int *)((iVar9 - 2U) * 4 + *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7dc0);
        iVar13 = piVar5[0xc];
        iVar9 = *piVar5;
      }
      else {
        iVar13 = piVar5[0xc];
        iVar6 = *(int *)(iVar6 + 0x18);
        iVar9 = *piVar5;
      }
      if (iVar13 != 0) {
        return iVar6 * iVar9 * iVar10 + 7U >> 3;
      }
      return (iVar9 + 7U >> 3) * iVar6 * iVar10;
    }
    (**(code **)(UNRECOVERED_JUMPTABLE + 0x254e7c))
              (*(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7eb0,
               *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7ef0,0x139,
               *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7b30,UNRECOVERED_JUMPTABLE + 0x25c124
              );
  }
  pcVar14 = *(code **)(UNRECOVERED_JUMPTABLE + 0x254e7c);
  iVar6 = *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7ed8;
  (*pcVar14)(iVar6,*(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7ef0,0x138,
             *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7b30);
  if (iVar6 == 0) {
    uVar1 = (**(code **)(pcVar14 + 0x254d8c))
                      (*(int *)(pcVar14 + 0x254070) + -0x7ed8,*(int *)(pcVar14 + 0x254070) + -0x7ef0
                       ,0x168,*(int *)(pcVar14 + 0x254070) + -0x7b44,pcVar14 + 0x25c034);
    return uVar1;
  }
  if (*(int *)(iVar6 + 100) != -0x54535255) {
    uVar1 = (**(code **)(pcVar14 + 0x254d8c))
                      (*(int *)(pcVar14 + 0x254070) + -0x7eb0,*(int *)(pcVar14 + 0x254070) + -0x7ef0
                       ,0x169,*(int *)(pcVar14 + 0x254070) + -0x7b44);
    return uVar1;
  }
  return *(uint *)(iVar6 + 0x44);
}


lui gp,0x26
addiu gp,gp,-0x3744
addu gp,gp,t9
addiu sp,sp,-0x48
sw gp,0x20(sp)
sw ra,0x44(sp)
sw s3,0x40(sp)
sw s2,0x3c(sp)
sw s1,0x38(sp)
beq a1,zero,0x001541dc
_sw s0,0x34(sp)
lui v0,0xabac
lw v1,0x336c(a1)
ori v0,v0,0xadab
bne v1,v0,0x001541b8
_or s0,a1,zero
lw v0,0x3350(a1)
or s2,a0,zero
or s3,a2,zero
bne v0,zero,0x00154114
_or s1,a3,zero
beq s3,zero,0x00154200
_lui v0,0xabac
lw v1,0x336c(s3)
ori v0,v0,0xadab
bne v1,v0,0x00154264
_li a2,0xdee
beq s1,zero,0x00154244
_lw a3,-0x7fcc(gp)
lw v0,0x1c(s1)
bne v0,v1,0x00154224
_lw t9,-0x7d54(gp)
li a1,0x8
lw a2,0x0(s2)
addiu t9,t9,0x17a0
bal 0x001517a0
_or a0,s2,zero
lw gp,0x20(sp)
beq v0,zero,0x00154150
_or s2,v0,zero
lw t9,-0x7d54(gp)
or a2,s1,zero
or a1,s3,zero
addiu t9,t9,-0x3548
bal 0x0014cab8
_or a0,v0,zero
bne v0,zero,0x001540e8
_lw gp,0x20(sp)
lw t9,-0x7d54(gp)
or a0,s2,zero
addiu t9,t9,0x8cc
bal 0x001508cc
_sw v0,0x2c(sp)
lw ra,0x44(sp)
lw v0,0x2c(sp)
lw s3,0x40(sp)
lw s2,0x3c(sp)
lw s1,0x38(sp)
lw s0,0x34(sp)
jr ra
_addiu sp,sp,0x48
lw t9,-0x7d54(gp)
or a2,s1,zero
lw v0,0x2f0(s2)
or a1,s2,zero
lw v1,0x4(s2)
or a0,s0,zero
addiu t9,t9,0xe48
bal 0x00150e48
_sw v1,0x0(v0)
b 0x001540b4
_lw gp,0x20(sp)
addiu v0,a1,0x340
lw a2,-0x7fcc(gp)
lw a1,-0x7fcc(gp)
li a3,0xdec
lw t9,-0x76d0(gp)
ori a0,zero,0x8000
sw v0,0x14(sp)
addiu a2,a2,0x7f38
lw v0,-0x7fcc(gp)
addiu a1,a1,0x7d40
addiu v0,v0,-0x62ac
jalr t9
_sw v0,0x10(sp)
b 0x00154048
_lw gp,0x20(sp)
lw v0,-0x7fd0(gp)
addiu s0,s0,0x340
lw a2,-0x7fcc(gp)
li a3,0xdf5
lw a1,-0x7fcc(gp)
or a0,s1,zero
addiu v0,v0,0x3e28
lw t9,-0x7990(gp)
addiu a2,a2,0x7f38
sw s0,0x1c(sp)
sw v0,0x18(sp)
addiu a1,a1,0x7d40
lw v0,-0x7fd0(gp)
addiu v0,v0,0x16f8
sw v0,0x14(sp)
li v0,0x190
jalr t9
_sw v0,0x10(sp)
or v0,zero,zero
lw ra,0x44(sp)
lw s3,0x40(sp)
lw s2,0x3c(sp)
lw s1,0x38(sp)
lw s0,0x34(sp)
jr ra
_addiu sp,sp,0x48
lw a3,-0x7fcc(gp)
li a2,0xdea
lw a1,-0x7fcc(gp)
lw a0,-0x7fc8(gp)
lw t9,-0x72a8(gp)
addiu a3,a3,0x7f44
addiu a1,a1,0x7d40
jalr t9
_addiu a0,a0,-0x3784
lw a3,-0x7fcc(gp)
li a2,0xde9
lw a1,-0x7fcc(gp)
lw a0,-0x7fd0(gp)
lw t9,-0x72a8(gp)
addiu a3,a3,0x7f44
addiu a1,a1,0x7d40
jalr t9
_addiu a0,a0,0xdd0
lw a3,-0x7fcc(gp)
li a2,0xded
lw a1,-0x7fcc(gp)
lw a0,-0x7fcc(gp)
lw t9,-0x72a8(gp)
addiu a3,a3,0x7f44
addiu a1,a1,0x7d40
jalr t9
_addiu a0,a0,0x7ec4
li a2,0xdf0
lw a1,-0x7fcc(gp)
lw a0,-0x7fd0(gp)
lw t9,-0x72a8(gp)
addiu a3,a3,0x7f44
addiu a1,a1,0x7d40
jalr t9
_addiu a0,a0,0x294c
li a2,0xdef
lw a1,-0x7fcc(gp)
lw a0,-0x7fd0(gp)
lw t9,-0x72a8(gp)
addiu a3,a3,0x7f44
addiu a1,a1,0x7d40
jalr t9
_addiu a0,a0,0x1cac
lw a3,-0x7fcc(gp)
lw a1,-0x7fcc(gp)
lw a0,-0x7fcc(gp)
lw t9,-0x72a8(gp)
addiu a3,a3,0x7f44
addiu a1,a1,0x7d40
jalr t9
_addiu a0,a0,0x7ee4
(translation_unit "uint RemapImage(undefined4 *param_1,int param_2,int param_3,int param_4)\n\n{\n  uint uVar1;\n  undefined4 uVar2;\n  undefined4 *puVar3;\n  undefined *puVar4;\n  int *piVar5;\n  int iVar6;\n  undefined *puVar7;\n  undefined *puVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  int iVar12;\n  int iVar13;\n  code *UNRECOVERED_JUMPTABLE;\n  code *pcVar14;\n  \n  if (param_2 == 0) {\nLAB_001541dc:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0xdd0,PTR_s_t_to_left_003a88e4 + 0x7d40,0xde9,\n               PTR_s_t_to_left_003a88e4 + 0x7f44);\nLAB_00154200:\n    puVar7 = PTR_s_t_to_left_003a88e4 + 0x7f44;\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + 0x7ec4,PTR_s_t_to_left_003a88e4 + 0x7d40,0xded,puVar7);\nLAB_00154224:\n    puVar7 = puVar7 + 0x7f44;\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x294c,PTR_s_t_to_left_003a88e4 + 0x7d40,0xdf0,puVar7);\nLAB_00154244:\n    iVar6 = 0xdef;\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x1cac,PTR_s_t_to_left_003a88e4 + 0x7d40,0xdef,puVar7 + 0x7f44);\n  }\n  else {\n    if (*(int *)(param_2 + 0x336c) != -0x54535255) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                 PTR_s_t_to_left_003a88e4 + 0x7d40,0xdea,PTR_s_t_to_left_003a88e4 + 0x7f44);\n      goto LAB_001541dc;\n    }\n    if (*(int *)(param_2 + 0x3350) != 0) {\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38,0xdec,\n                 PTR_s_t_to_left_003a88e4 + -0x62ac,param_2 + 0x340);\n    }\n    if (param_3 == 0) goto LAB_00154200;\n    iVar6 = 0xdee;\n    if (*(int *)(param_3 + 0x336c) == -0x54535255) {\n      puVar7 = PTR_s_t_to_left_003a88e4;\n      if (param_4 != 0) {\n        if (*(int *)(param_4 + 0x1c) == -0x54535255) {\n          iVar6 = FUN_001517a0(param_1,8,*param_1);\n          if (iVar6 == 0) {\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38,\n                       0xdf5,400,PTR_LAB_003a88e0 + 0x16f8,PTR_LAB_003a88e0 + 0x3e28,param_2 + 0x340\n                      );\n            return 0;\n          }\n          uVar1 = FUN_0014cab8(iVar6,param_3,param_4);\n          if (uVar1 != 0) {\n            **(undefined4 **)(iVar6 + 0x2f0) = *(undefined4 *)(iVar6 + 4);\n            uVar1 = FUN_00150e48(param_2,iVar6,param_4);\n          }\n          FUN_001508cc(iVar6);\n          return uVar1;\n        }\n        goto LAB_00154224;\n      }\n      goto LAB_00154244;\n    }\n  }\n  puVar8 = PTR_s_t_to_left_003a88e4 + 0x7f44;\n  puVar4 = PTR_s_t_to_left_003a88e4 + 0x7d40;\n  puVar3 = (undefined4 *)(PTR_s_t_to_left_003a88e4 + 0x7ee4);\n  puVar7 = PTR___assert_fail_003a9608;\n  (*(code *)PTR___assert_fail_003a9608)();\n  if (puVar4 == (undefined *)0x0) {\n    iVar9 = *(int *)(puVar7 + 0x254660) + 0x7f2c;\n    (**(code **)(puVar7 + 0x255384))\n              (*(int *)(puVar7 + 0x25465c) + 0x1e48,*(int *)(puVar7 + 0x254660) + 0x7d40,0xe2d,iVar9\n              );\nLAB_001544c4:\n    (**(code **)(puVar7 + 0x255384))\n              (*(int *)(puVar7 + 0x25465c) + 0x294c,*(int *)(puVar7 + 0x254660) + 0x7d40,0xe32,\n               iVar9 + 0x7f2c);\n  }\n  else {\n    if (*(int *)(puVar4 + 0x336c) != -0x54535255) goto LAB_00154508;\n    if (*(int *)(puVar4 + 0x3350) != 0) {\n      (**(code **)(puVar7 + 0x254f5c))\n                (0x8000,*(int *)(puVar7 + 0x254660) + 0x7d40,*(int *)(puVar7 + 0x254660) + 0x7f20,\n                 0xe30,*(int *)(puVar7 + 0x254660) + -0x62ac,puVar4 + 0x340);\n    }\n    if (puVar8 != (undefined *)0x0) {\n      iVar9 = *(int *)(puVar7 + 0x254660);\n      if (*(int *)(puVar8 + 0x1c) == -0x54535255) {\n        if (iVar6 == 0) {\n                    /* WARNING: Could not recover jumptable at 0x00154428. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          uVar1 = (**(code **)(puVar7 + 0x254bec))(puVar3,puVar4,puVar8);\n          return uVar1;\n        }\n        iVar9 = FUN_001517a0(puVar3,8,*puVar3);\n        if (iVar9 == 0) {\n          (**(code **)(puVar7 + 0x254c9c))\n                    (puVar8,*(int *)(puVar7 + 0x254660) + 0x7d40,\n                     *(int *)(puVar7 + 0x254660) + 0x7f20,0xe43,400,\n                     *(int *)(puVar7 + 0x25465c) + 0x16f8,*(int *)(puVar7 + 0x25465c) + 0x3e28,\n                     puVar4 + 0x340);\n          return 0;\n        }\n        iVar6 = FUN_0014cab8(iVar9,iVar6,puVar8);\n        if (iVar6 == 0) {\nLAB_0015438c:\n          uVar1 = 0;\n        }\n        else {\n          **(undefined4 **)(iVar9 + 0x2f0) = *(undefined4 *)(iVar9 + 4);\n          do {\n            uVar1 = FUN_00150e48(puVar4,iVar9,puVar8);\n            if (uVar1 == 0) goto LAB_0015438c;\n            puVar4 = (undefined *)(**(code **)(puVar7 + 0x2551ec))(puVar4);\n          } while (puVar4 != (undefined *)0x0);\n        }\n        FUN_001508cc(iVar9);\n        return uVar1;\n      }\n      goto LAB_001544c4;\n    }\n  }\n  (**(code **)(puVar7 + 0x255384))\n            (*(int *)(puVar7 + 0x25465c) + 0x1cac,*(int *)(puVar7 + 0x254660) + 0x7d40,0xe31,\n             *(int *)(puVar7 + 0x254660) + 0x7f2c);\nLAB_00154508:\n  UNRECOVERED_JUMPTABLE = *(code **)(puVar7 + 0x255384);\n  iVar6 = *(int *)(puVar7 + 0x25465c) + 0x1e64;\n  (*UNRECOVERED_JUMPTABLE)\n            (iVar6,*(int *)(puVar7 + 0x254660) + 0x7d40,0xe2e,*(int *)(puVar7 + 0x254660) + 0x7f2c);\n  if (iVar6 != 0) {\n    if (*(int *)(iVar6 + 100) == -0x54535255) {\n      iVar9 = *(int *)(iVar6 + 0x3c);\n      iVar10 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc);\n      if (iVar9 != 0) {\n        iVar10 = *(int *)(iVar6 + 0x38);\n        iVar13 = *(int *)(iVar6 + 0x40);\n        if (0 < iVar10) {\n          iVar11 = 0;\n          iVar12 = 0;\n          do {\n            if (*(int *)(iVar9 + iVar12) != 0) {\n              iVar9 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x2549f8))();\n              if (*(char *)(iVar9 + iVar13) != -0x55) {\n                iVar10 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                          (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e50,\n                           *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x10e,iVar10);\n                goto LAB_00154650;\n              }\n              puVar3 = (undefined4 *)(*(int *)(iVar6 + 0x3c) + iVar12);\n              uVar2 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254e68))(*puVar3);\n              iVar9 = *(int *)(iVar6 + 0x3c);\n              iVar10 = *(int *)(iVar6 + 0x38);\n              *puVar3 = uVar2;\n            }\n            iVar11 = iVar11 + 1;\n            iVar12 = iVar11 * 4;\n          } while (iVar11 < iVar10);\n        }\n        uVar1 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254a90))(iVar9);\n        *(uint *)(iVar6 + 0x3c) = uVar1;\n        return uVar1;\n      }\nLAB_00154650:\n      (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e80,\n                 *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x102,iVar10 + -0x7b1c);\n    }\n    (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7eb0,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x101,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c);\n  }\n  pcVar14 = *(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8);\n  iVar6 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ed8;\n  (*pcVar14)(iVar6,*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x100,\n             *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c);\n  if (iVar6 == 0) {\n    (**(code **)(pcVar14 + 0x254f50))\n              (*(int *)(pcVar14 + 0x254234) + -0x7ed8,*(int *)(pcVar14 + 0x254234) + -0x7ef0,0xd7,\n               *(int *)(pcVar14 + 0x254234) + -0x7b04);\n  }\n  else if (*(int *)(iVar6 + 100) == -0x54535255) {\n    if (*(int *)(iVar6 + 0x3c) != 0) {\n      FUN_00154530();\n    }\n    if (*(int *)(iVar6 + 0x60) != 0) {\n      (**(code **)(pcVar14 + 0x255298))(iVar6 + 0x60);\n    }\n    UNRECOVERED_JUMPTABLE = *(code **)(pcVar14 + 0x254908);\n    *(undefined4 *)(iVar6 + 100) = 0x54535254;\n                    /* WARNING: Could not recover jumptable at 0x0015473c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    uVar1 = (*UNRECOVERED_JUMPTABLE)(iVar6);\n    return uVar1;\n  }\n  iVar9 = 0xd8;\n  UNRECOVERED_JUMPTABLE = *(code **)(pcVar14 + 0x254f50);\n  piVar5 = (int *)(*(int *)(pcVar14 + 0x254234) + -0x7ef0);\n  iVar6 = *(int *)(pcVar14 + 0x254234) + -0x7eb0;\n  (*UNRECOVERED_JUMPTABLE)();\n  if (piVar5 != (int *)0x0) {\n    if (piVar5[0x19] == -0x54535255) {\n      iVar10 = 1;\n      if (iVar9 - 2U < 0x18) {\n        iVar6 = *(int *)(iVar6 + 0x18);\n        iVar10 = *(int *)((iVar9 - 2U) * 4 + *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7dc0);\n        iVar13 = piVar5[0xc];\n        iVar9 = *piVar5;\n      }\n      else {\n        iVar13 = piVar5[0xc];\n        iVar6 = *(int *)(iVar6 + 0x18);\n        iVar9 = *piVar5;\n      }\n      if (iVar13 != 0) {\n        return iVar6 * iVar9 * iVar10 + 7U >> 3;\n      }\n      return (iVar9 + 7U >> 3) * iVar6 * iVar10;\n    }\n    (**(code **)(UNRECOVERED_JUMPTABLE + 0x254e7c))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7eb0,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7ef0,0x139,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7b30,UNRECOVERED_JUMPTABLE + 0x25c124\n              );\n  }\n  pcVar14 = *(code **)(UNRECOVERED_JUMPTABLE + 0x254e7c);\n  iVar6 = *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7ed8;\n  (*pcVar14)(iVar6,*(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7ef0,0x138,\n             *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7b30);\n  if (iVar6 == 0) {\n    uVar1 = (**(code **)(pcVar14 + 0x254d8c))\n                      (*(int *)(pcVar14 + 0x254070) + -0x7ed8,*(int *)(pcVar14 + 0x254070) + -0x7ef0\n                       ,0x168,*(int *)(pcVar14 + 0x254070) + -0x7b44,pcVar14 + 0x25c034);\n    return uVar1;\n  }\n  if (*(int *)(iVar6 + 100) != -0x54535255) {\n    uVar1 = (**(code **)(pcVar14 + 0x254d8c))\n                      (*(int *)(pcVar14 + 0x254070) + -0x7eb0,*(int *)(pcVar14 + 0x254070) + -0x7ef0\n                       ,0x169,*(int *)(pcVar14 + 0x254070) + -0x7b44);\n    return uVar1;\n  }\n  return *(uint *)(iVar6 + 0x44);\n}\n\n" (function_definition "uint RemapImage(undefined4 *param_1,int param_2,int param_3,int param_4)\n\n{\n  uint uVar1;\n  undefined4 uVar2;\n  undefined4 *puVar3;\n  undefined *puVar4;\n  int *piVar5;\n  int iVar6;\n  undefined *puVar7;\n  undefined *puVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  int iVar12;\n  int iVar13;\n  code *UNRECOVERED_JUMPTABLE;\n  code *pcVar14;\n  \n  if (param_2 == 0) {\nLAB_001541dc:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0xdd0,PTR_s_t_to_left_003a88e4 + 0x7d40,0xde9,\n               PTR_s_t_to_left_003a88e4 + 0x7f44);\nLAB_00154200:\n    puVar7 = PTR_s_t_to_left_003a88e4 + 0x7f44;\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + 0x7ec4,PTR_s_t_to_left_003a88e4 + 0x7d40,0xded,puVar7);\nLAB_00154224:\n    puVar7 = puVar7 + 0x7f44;\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x294c,PTR_s_t_to_left_003a88e4 + 0x7d40,0xdf0,puVar7);\nLAB_00154244:\n    iVar6 = 0xdef;\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x1cac,PTR_s_t_to_left_003a88e4 + 0x7d40,0xdef,puVar7 + 0x7f44);\n  }\n  else {\n    if (*(int *)(param_2 + 0x336c) != -0x54535255) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                 PTR_s_t_to_left_003a88e4 + 0x7d40,0xdea,PTR_s_t_to_left_003a88e4 + 0x7f44);\n      goto LAB_001541dc;\n    }\n    if (*(int *)(param_2 + 0x3350) != 0) {\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38,0xdec,\n                 PTR_s_t_to_left_003a88e4 + -0x62ac,param_2 + 0x340);\n    }\n    if (param_3 == 0) goto LAB_00154200;\n    iVar6 = 0xdee;\n    if (*(int *)(param_3 + 0x336c) == -0x54535255) {\n      puVar7 = PTR_s_t_to_left_003a88e4;\n      if (param_4 != 0) {\n        if (*(int *)(param_4 + 0x1c) == -0x54535255) {\n          iVar6 = FUN_001517a0(param_1,8,*param_1);\n          if (iVar6 == 0) {\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38,\n                       0xdf5,400,PTR_LAB_003a88e0 + 0x16f8,PTR_LAB_003a88e0 + 0x3e28,param_2 + 0x340\n                      );\n            return 0;\n          }\n          uVar1 = FUN_0014cab8(iVar6,param_3,param_4);\n          if (uVar1 != 0) {\n            **(undefined4 **)(iVar6 + 0x2f0) = *(undefined4 *)(iVar6 + 4);\n            uVar1 = FUN_00150e48(param_2,iVar6,param_4);\n          }\n          FUN_001508cc(iVar6);\n          return uVar1;\n        }\n        goto LAB_00154224;\n      }\n      goto LAB_00154244;\n    }\n  }\n  puVar8 = PTR_s_t_to_left_003a88e4 + 0x7f44;\n  puVar4 = PTR_s_t_to_left_003a88e4 + 0x7d40;\n  puVar3 = (undefined4 *)(PTR_s_t_to_left_003a88e4 + 0x7ee4);\n  puVar7 = PTR___assert_fail_003a9608;\n  (*(code *)PTR___assert_fail_003a9608)();\n  if (puVar4 == (undefined *)0x0) {\n    iVar9 = *(int *)(puVar7 + 0x254660) + 0x7f2c;\n    (**(code **)(puVar7 + 0x255384))\n              (*(int *)(puVar7 + 0x25465c) + 0x1e48,*(int *)(puVar7 + 0x254660) + 0x7d40,0xe2d,iVar9\n              );\nLAB_001544c4:\n    (**(code **)(puVar7 + 0x255384))\n              (*(int *)(puVar7 + 0x25465c) + 0x294c,*(int *)(puVar7 + 0x254660) + 0x7d40,0xe32,\n               iVar9 + 0x7f2c);\n  }\n  else {\n    if (*(int *)(puVar4 + 0x336c) != -0x54535255) goto LAB_00154508;\n    if (*(int *)(puVar4 + 0x3350) != 0) {\n      (**(code **)(puVar7 + 0x254f5c))\n                (0x8000,*(int *)(puVar7 + 0x254660) + 0x7d40,*(int *)(puVar7 + 0x254660) + 0x7f20,\n                 0xe30,*(int *)(puVar7 + 0x254660) + -0x62ac,puVar4 + 0x340);\n    }\n    if (puVar8 != (undefined *)0x0) {\n      iVar9 = *(int *)(puVar7 + 0x254660);\n      if (*(int *)(puVar8 + 0x1c) == -0x54535255) {\n        if (iVar6 == 0) {\n                    /* WARNING: Could not recover jumptable at 0x00154428. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          uVar1 = (**(code **)(puVar7 + 0x254bec))(puVar3,puVar4,puVar8);\n          return uVar1;\n        }\n        iVar9 = FUN_001517a0(puVar3,8,*puVar3);\n        if (iVar9 == 0) {\n          (**(code **)(puVar7 + 0x254c9c))\n                    (puVar8,*(int *)(puVar7 + 0x254660) + 0x7d40,\n                     *(int *)(puVar7 + 0x254660) + 0x7f20,0xe43,400,\n                     *(int *)(puVar7 + 0x25465c) + 0x16f8,*(int *)(puVar7 + 0x25465c) + 0x3e28,\n                     puVar4 + 0x340);\n          return 0;\n        }\n        iVar6 = FUN_0014cab8(iVar9,iVar6,puVar8);\n        if (iVar6 == 0) {\nLAB_0015438c:\n          uVar1 = 0;\n        }\n        else {\n          **(undefined4 **)(iVar9 + 0x2f0) = *(undefined4 *)(iVar9 + 4);\n          do {\n            uVar1 = FUN_00150e48(puVar4,iVar9,puVar8);\n            if (uVar1 == 0) goto LAB_0015438c;\n            puVar4 = (undefined *)(**(code **)(puVar7 + 0x2551ec))(puVar4);\n          } while (puVar4 != (undefined *)0x0);\n        }\n        FUN_001508cc(iVar9);\n        return uVar1;\n      }\n      goto LAB_001544c4;\n    }\n  }\n  (**(code **)(puVar7 + 0x255384))\n            (*(int *)(puVar7 + 0x25465c) + 0x1cac,*(int *)(puVar7 + 0x254660) + 0x7d40,0xe31,\n             *(int *)(puVar7 + 0x254660) + 0x7f2c);\nLAB_00154508:\n  UNRECOVERED_JUMPTABLE = *(code **)(puVar7 + 0x255384);\n  iVar6 = *(int *)(puVar7 + 0x25465c) + 0x1e64;\n  (*UNRECOVERED_JUMPTABLE)\n            (iVar6,*(int *)(puVar7 + 0x254660) + 0x7d40,0xe2e,*(int *)(puVar7 + 0x254660) + 0x7f2c);\n  if (iVar6 != 0) {\n    if (*(int *)(iVar6 + 100) == -0x54535255) {\n      iVar9 = *(int *)(iVar6 + 0x3c);\n      iVar10 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc);\n      if (iVar9 != 0) {\n        iVar10 = *(int *)(iVar6 + 0x38);\n        iVar13 = *(int *)(iVar6 + 0x40);\n        if (0 < iVar10) {\n          iVar11 = 0;\n          iVar12 = 0;\n          do {\n            if (*(int *)(iVar9 + iVar12) != 0) {\n              iVar9 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x2549f8))();\n              if (*(char *)(iVar9 + iVar13) != -0x55) {\n                iVar10 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                          (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e50,\n                           *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x10e,iVar10);\n                goto LAB_00154650;\n              }\n              puVar3 = (undefined4 *)(*(int *)(iVar6 + 0x3c) + iVar12);\n              uVar2 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254e68))(*puVar3);\n              iVar9 = *(int *)(iVar6 + 0x3c);\n              iVar10 = *(int *)(iVar6 + 0x38);\n              *puVar3 = uVar2;\n            }\n            iVar11 = iVar11 + 1;\n            iVar12 = iVar11 * 4;\n          } while (iVar11 < iVar10);\n        }\n        uVar1 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254a90))(iVar9);\n        *(uint *)(iVar6 + 0x3c) = uVar1;\n        return uVar1;\n      }\nLAB_00154650:\n      (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e80,\n                 *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x102,iVar10 + -0x7b1c);\n    }\n    (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7eb0,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x101,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c);\n  }\n  pcVar14 = *(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8);\n  iVar6 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ed8;\n  (*pcVar14)(iVar6,*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x100,\n             *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c);\n  if (iVar6 == 0) {\n    (**(code **)(pcVar14 + 0x254f50))\n              (*(int *)(pcVar14 + 0x254234) + -0x7ed8,*(int *)(pcVar14 + 0x254234) + -0x7ef0,0xd7,\n               *(int *)(pcVar14 + 0x254234) + -0x7b04);\n  }\n  else if (*(int *)(iVar6 + 100) == -0x54535255) {\n    if (*(int *)(iVar6 + 0x3c) != 0) {\n      FUN_00154530();\n    }\n    if (*(int *)(iVar6 + 0x60) != 0) {\n      (**(code **)(pcVar14 + 0x255298))(iVar6 + 0x60);\n    }\n    UNRECOVERED_JUMPTABLE = *(code **)(pcVar14 + 0x254908);\n    *(undefined4 *)(iVar6 + 100) = 0x54535254;\n                    /* WARNING: Could not recover jumptable at 0x0015473c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    uVar1 = (*UNRECOVERED_JUMPTABLE)(iVar6);\n    return uVar1;\n  }\n  iVar9 = 0xd8;\n  UNRECOVERED_JUMPTABLE = *(code **)(pcVar14 + 0x254f50);\n  piVar5 = (int *)(*(int *)(pcVar14 + 0x254234) + -0x7ef0);\n  iVar6 = *(int *)(pcVar14 + 0x254234) + -0x7eb0;\n  (*UNRECOVERED_JUMPTABLE)();\n  if (piVar5 != (int *)0x0) {\n    if (piVar5[0x19] == -0x54535255) {\n      iVar10 = 1;\n      if (iVar9 - 2U < 0x18) {\n        iVar6 = *(int *)(iVar6 + 0x18);\n        iVar10 = *(int *)((iVar9 - 2U) * 4 + *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7dc0);\n        iVar13 = piVar5[0xc];\n        iVar9 = *piVar5;\n      }\n      else {\n        iVar13 = piVar5[0xc];\n        iVar6 = *(int *)(iVar6 + 0x18);\n        iVar9 = *piVar5;\n      }\n      if (iVar13 != 0) {\n        return iVar6 * iVar9 * iVar10 + 7U >> 3;\n      }\n      return (iVar9 + 7U >> 3) * iVar6 * iVar10;\n    }\n    (**(code **)(UNRECOVERED_JUMPTABLE + 0x254e7c))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7eb0,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7ef0,0x139,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7b30,UNRECOVERED_JUMPTABLE + 0x25c124\n              );\n  }\n  pcVar14 = *(code **)(UNRECOVERED_JUMPTABLE + 0x254e7c);\n  iVar6 = *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7ed8;\n  (*pcVar14)(iVar6,*(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7ef0,0x138,\n             *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7b30);\n  if (iVar6 == 0) {\n    uVar1 = (**(code **)(pcVar14 + 0x254d8c))\n                      (*(int *)(pcVar14 + 0x254070) + -0x7ed8,*(int *)(pcVar14 + 0x254070) + -0x7ef0\n                       ,0x168,*(int *)(pcVar14 + 0x254070) + -0x7b44,pcVar14 + 0x25c034);\n    return uVar1;\n  }\n  if (*(int *)(iVar6 + 100) != -0x54535255) {\n    uVar1 = (**(code **)(pcVar14 + 0x254d8c))\n                      (*(int *)(pcVar14 + 0x254070) + -0x7eb0,*(int *)(pcVar14 + 0x254070) + -0x7ef0\n                       ,0x169,*(int *)(pcVar14 + 0x254070) + -0x7b44);\n    return uVar1;\n  }\n  return *(uint *)(iVar6 + 0x44);\n}" type_identifier (function_declarator "RemapImage(undefined4 *param_1,int param_2,int param_3,int param_4)" identifier (parameter_list "(undefined4 *param_1,int param_2,int param_3,int param_4)" ( (parameter_declaration "undefined4 *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "int param_3" primitive_type identifier) , (parameter_declaration "int param_4" primitive_type identifier) ))) (compound_statement "{\n  uint uVar1;\n  undefined4 uVar2;\n  undefined4 *puVar3;\n  undefined *puVar4;\n  int *piVar5;\n  int iVar6;\n  undefined *puVar7;\n  undefined *puVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  int iVar12;\n  int iVar13;\n  code *UNRECOVERED_JUMPTABLE;\n  code *pcVar14;\n  \n  if (param_2 == 0) {\nLAB_001541dc:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0xdd0,PTR_s_t_to_left_003a88e4 + 0x7d40,0xde9,\n               PTR_s_t_to_left_003a88e4 + 0x7f44);\nLAB_00154200:\n    puVar7 = PTR_s_t_to_left_003a88e4 + 0x7f44;\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + 0x7ec4,PTR_s_t_to_left_003a88e4 + 0x7d40,0xded,puVar7);\nLAB_00154224:\n    puVar7 = puVar7 + 0x7f44;\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x294c,PTR_s_t_to_left_003a88e4 + 0x7d40,0xdf0,puVar7);\nLAB_00154244:\n    iVar6 = 0xdef;\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x1cac,PTR_s_t_to_left_003a88e4 + 0x7d40,0xdef,puVar7 + 0x7f44);\n  }\n  else {\n    if (*(int *)(param_2 + 0x336c) != -0x54535255) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                 PTR_s_t_to_left_003a88e4 + 0x7d40,0xdea,PTR_s_t_to_left_003a88e4 + 0x7f44);\n      goto LAB_001541dc;\n    }\n    if (*(int *)(param_2 + 0x3350) != 0) {\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38,0xdec,\n                 PTR_s_t_to_left_003a88e4 + -0x62ac,param_2 + 0x340);\n    }\n    if (param_3 == 0) goto LAB_00154200;\n    iVar6 = 0xdee;\n    if (*(int *)(param_3 + 0x336c) == -0x54535255) {\n      puVar7 = PTR_s_t_to_left_003a88e4;\n      if (param_4 != 0) {\n        if (*(int *)(param_4 + 0x1c) == -0x54535255) {\n          iVar6 = FUN_001517a0(param_1,8,*param_1);\n          if (iVar6 == 0) {\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38,\n                       0xdf5,400,PTR_LAB_003a88e0 + 0x16f8,PTR_LAB_003a88e0 + 0x3e28,param_2 + 0x340\n                      );\n            return 0;\n          }\n          uVar1 = FUN_0014cab8(iVar6,param_3,param_4);\n          if (uVar1 != 0) {\n            **(undefined4 **)(iVar6 + 0x2f0) = *(undefined4 *)(iVar6 + 4);\n            uVar1 = FUN_00150e48(param_2,iVar6,param_4);\n          }\n          FUN_001508cc(iVar6);\n          return uVar1;\n        }\n        goto LAB_00154224;\n      }\n      goto LAB_00154244;\n    }\n  }\n  puVar8 = PTR_s_t_to_left_003a88e4 + 0x7f44;\n  puVar4 = PTR_s_t_to_left_003a88e4 + 0x7d40;\n  puVar3 = (undefined4 *)(PTR_s_t_to_left_003a88e4 + 0x7ee4);\n  puVar7 = PTR___assert_fail_003a9608;\n  (*(code *)PTR___assert_fail_003a9608)();\n  if (puVar4 == (undefined *)0x0) {\n    iVar9 = *(int *)(puVar7 + 0x254660) + 0x7f2c;\n    (**(code **)(puVar7 + 0x255384))\n              (*(int *)(puVar7 + 0x25465c) + 0x1e48,*(int *)(puVar7 + 0x254660) + 0x7d40,0xe2d,iVar9\n              );\nLAB_001544c4:\n    (**(code **)(puVar7 + 0x255384))\n              (*(int *)(puVar7 + 0x25465c) + 0x294c,*(int *)(puVar7 + 0x254660) + 0x7d40,0xe32,\n               iVar9 + 0x7f2c);\n  }\n  else {\n    if (*(int *)(puVar4 + 0x336c) != -0x54535255) goto LAB_00154508;\n    if (*(int *)(puVar4 + 0x3350) != 0) {\n      (**(code **)(puVar7 + 0x254f5c))\n                (0x8000,*(int *)(puVar7 + 0x254660) + 0x7d40,*(int *)(puVar7 + 0x254660) + 0x7f20,\n                 0xe30,*(int *)(puVar7 + 0x254660) + -0x62ac,puVar4 + 0x340);\n    }\n    if (puVar8 != (undefined *)0x0) {\n      iVar9 = *(int *)(puVar7 + 0x254660);\n      if (*(int *)(puVar8 + 0x1c) == -0x54535255) {\n        if (iVar6 == 0) {\n                    /* WARNING: Could not recover jumptable at 0x00154428. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          uVar1 = (**(code **)(puVar7 + 0x254bec))(puVar3,puVar4,puVar8);\n          return uVar1;\n        }\n        iVar9 = FUN_001517a0(puVar3,8,*puVar3);\n        if (iVar9 == 0) {\n          (**(code **)(puVar7 + 0x254c9c))\n                    (puVar8,*(int *)(puVar7 + 0x254660) + 0x7d40,\n                     *(int *)(puVar7 + 0x254660) + 0x7f20,0xe43,400,\n                     *(int *)(puVar7 + 0x25465c) + 0x16f8,*(int *)(puVar7 + 0x25465c) + 0x3e28,\n                     puVar4 + 0x340);\n          return 0;\n        }\n        iVar6 = FUN_0014cab8(iVar9,iVar6,puVar8);\n        if (iVar6 == 0) {\nLAB_0015438c:\n          uVar1 = 0;\n        }\n        else {\n          **(undefined4 **)(iVar9 + 0x2f0) = *(undefined4 *)(iVar9 + 4);\n          do {\n            uVar1 = FUN_00150e48(puVar4,iVar9,puVar8);\n            if (uVar1 == 0) goto LAB_0015438c;\n            puVar4 = (undefined *)(**(code **)(puVar7 + 0x2551ec))(puVar4);\n          } while (puVar4 != (undefined *)0x0);\n        }\n        FUN_001508cc(iVar9);\n        return uVar1;\n      }\n      goto LAB_001544c4;\n    }\n  }\n  (**(code **)(puVar7 + 0x255384))\n            (*(int *)(puVar7 + 0x25465c) + 0x1cac,*(int *)(puVar7 + 0x254660) + 0x7d40,0xe31,\n             *(int *)(puVar7 + 0x254660) + 0x7f2c);\nLAB_00154508:\n  UNRECOVERED_JUMPTABLE = *(code **)(puVar7 + 0x255384);\n  iVar6 = *(int *)(puVar7 + 0x25465c) + 0x1e64;\n  (*UNRECOVERED_JUMPTABLE)\n            (iVar6,*(int *)(puVar7 + 0x254660) + 0x7d40,0xe2e,*(int *)(puVar7 + 0x254660) + 0x7f2c);\n  if (iVar6 != 0) {\n    if (*(int *)(iVar6 + 100) == -0x54535255) {\n      iVar9 = *(int *)(iVar6 + 0x3c);\n      iVar10 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc);\n      if (iVar9 != 0) {\n        iVar10 = *(int *)(iVar6 + 0x38);\n        iVar13 = *(int *)(iVar6 + 0x40);\n        if (0 < iVar10) {\n          iVar11 = 0;\n          iVar12 = 0;\n          do {\n            if (*(int *)(iVar9 + iVar12) != 0) {\n              iVar9 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x2549f8))();\n              if (*(char *)(iVar9 + iVar13) != -0x55) {\n                iVar10 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                          (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e50,\n                           *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x10e,iVar10);\n                goto LAB_00154650;\n              }\n              puVar3 = (undefined4 *)(*(int *)(iVar6 + 0x3c) + iVar12);\n              uVar2 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254e68))(*puVar3);\n              iVar9 = *(int *)(iVar6 + 0x3c);\n              iVar10 = *(int *)(iVar6 + 0x38);\n              *puVar3 = uVar2;\n            }\n            iVar11 = iVar11 + 1;\n            iVar12 = iVar11 * 4;\n          } while (iVar11 < iVar10);\n        }\n        uVar1 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254a90))(iVar9);\n        *(uint *)(iVar6 + 0x3c) = uVar1;\n        return uVar1;\n      }\nLAB_00154650:\n      (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e80,\n                 *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x102,iVar10 + -0x7b1c);\n    }\n    (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7eb0,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x101,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c);\n  }\n  pcVar14 = *(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8);\n  iVar6 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ed8;\n  (*pcVar14)(iVar6,*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x100,\n             *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c);\n  if (iVar6 == 0) {\n    (**(code **)(pcVar14 + 0x254f50))\n              (*(int *)(pcVar14 + 0x254234) + -0x7ed8,*(int *)(pcVar14 + 0x254234) + -0x7ef0,0xd7,\n               *(int *)(pcVar14 + 0x254234) + -0x7b04);\n  }\n  else if (*(int *)(iVar6 + 100) == -0x54535255) {\n    if (*(int *)(iVar6 + 0x3c) != 0) {\n      FUN_00154530();\n    }\n    if (*(int *)(iVar6 + 0x60) != 0) {\n      (**(code **)(pcVar14 + 0x255298))(iVar6 + 0x60);\n    }\n    UNRECOVERED_JUMPTABLE = *(code **)(pcVar14 + 0x254908);\n    *(undefined4 *)(iVar6 + 100) = 0x54535254;\n                    /* WARNING: Could not recover jumptable at 0x0015473c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    uVar1 = (*UNRECOVERED_JUMPTABLE)(iVar6);\n    return uVar1;\n  }\n  iVar9 = 0xd8;\n  UNRECOVERED_JUMPTABLE = *(code **)(pcVar14 + 0x254f50);\n  piVar5 = (int *)(*(int *)(pcVar14 + 0x254234) + -0x7ef0);\n  iVar6 = *(int *)(pcVar14 + 0x254234) + -0x7eb0;\n  (*UNRECOVERED_JUMPTABLE)();\n  if (piVar5 != (int *)0x0) {\n    if (piVar5[0x19] == -0x54535255) {\n      iVar10 = 1;\n      if (iVar9 - 2U < 0x18) {\n        iVar6 = *(int *)(iVar6 + 0x18);\n        iVar10 = *(int *)((iVar9 - 2U) * 4 + *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7dc0);\n        iVar13 = piVar5[0xc];\n        iVar9 = *piVar5;\n      }\n      else {\n        iVar13 = piVar5[0xc];\n        iVar6 = *(int *)(iVar6 + 0x18);\n        iVar9 = *piVar5;\n      }\n      if (iVar13 != 0) {\n        return iVar6 * iVar9 * iVar10 + 7U >> 3;\n      }\n      return (iVar9 + 7U >> 3) * iVar6 * iVar10;\n    }\n    (**(code **)(UNRECOVERED_JUMPTABLE + 0x254e7c))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7eb0,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7ef0,0x139,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7b30,UNRECOVERED_JUMPTABLE + 0x25c124\n              );\n  }\n  pcVar14 = *(code **)(UNRECOVERED_JUMPTABLE + 0x254e7c);\n  iVar6 = *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7ed8;\n  (*pcVar14)(iVar6,*(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7ef0,0x138,\n             *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7b30);\n  if (iVar6 == 0) {\n    uVar1 = (**(code **)(pcVar14 + 0x254d8c))\n                      (*(int *)(pcVar14 + 0x254070) + -0x7ed8,*(int *)(pcVar14 + 0x254070) + -0x7ef0\n                       ,0x168,*(int *)(pcVar14 + 0x254070) + -0x7b44,pcVar14 + 0x25c034);\n    return uVar1;\n  }\n  if (*(int *)(iVar6 + 100) != -0x54535255) {\n    uVar1 = (**(code **)(pcVar14 + 0x254d8c))\n                      (*(int *)(pcVar14 + 0x254070) + -0x7eb0,*(int *)(pcVar14 + 0x254070) + -0x7ef0\n                       ,0x169,*(int *)(pcVar14 + 0x254070) + -0x7b44);\n    return uVar1;\n  }\n  return *(uint *)(iVar6 + 0x44);\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (declaration "undefined4 *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "undefined *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "int *piVar5;" primitive_type (pointer_declarator "*piVar5" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "undefined *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "undefined *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "code *UNRECOVERED_JUMPTABLE;" type_identifier (pointer_declarator "*UNRECOVERED_JUMPTABLE" * identifier) ;) (declaration "code *pcVar14;" type_identifier (pointer_declarator "*pcVar14" * identifier) ;) (if_statement "if (param_2 == 0) {\nLAB_001541dc:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0xdd0,PTR_s_t_to_left_003a88e4 + 0x7d40,0xde9,\n               PTR_s_t_to_left_003a88e4 + 0x7f44);\nLAB_00154200:\n    puVar7 = PTR_s_t_to_left_003a88e4 + 0x7f44;\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + 0x7ec4,PTR_s_t_to_left_003a88e4 + 0x7d40,0xded,puVar7);\nLAB_00154224:\n    puVar7 = puVar7 + 0x7f44;\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x294c,PTR_s_t_to_left_003a88e4 + 0x7d40,0xdf0,puVar7);\nLAB_00154244:\n    iVar6 = 0xdef;\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x1cac,PTR_s_t_to_left_003a88e4 + 0x7d40,0xdef,puVar7 + 0x7f44);\n  }\n  else {\n    if (*(int *)(param_2 + 0x336c) != -0x54535255) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                 PTR_s_t_to_left_003a88e4 + 0x7d40,0xdea,PTR_s_t_to_left_003a88e4 + 0x7f44);\n      goto LAB_001541dc;\n    }\n    if (*(int *)(param_2 + 0x3350) != 0) {\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38,0xdec,\n                 PTR_s_t_to_left_003a88e4 + -0x62ac,param_2 + 0x340);\n    }\n    if (param_3 == 0) goto LAB_00154200;\n    iVar6 = 0xdee;\n    if (*(int *)(param_3 + 0x336c) == -0x54535255) {\n      puVar7 = PTR_s_t_to_left_003a88e4;\n      if (param_4 != 0) {\n        if (*(int *)(param_4 + 0x1c) == -0x54535255) {\n          iVar6 = FUN_001517a0(param_1,8,*param_1);\n          if (iVar6 == 0) {\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38,\n                       0xdf5,400,PTR_LAB_003a88e0 + 0x16f8,PTR_LAB_003a88e0 + 0x3e28,param_2 + 0x340\n                      );\n            return 0;\n          }\n          uVar1 = FUN_0014cab8(iVar6,param_3,param_4);\n          if (uVar1 != 0) {\n            **(undefined4 **)(iVar6 + 0x2f0) = *(undefined4 *)(iVar6 + 4);\n            uVar1 = FUN_00150e48(param_2,iVar6,param_4);\n          }\n          FUN_001508cc(iVar6);\n          return uVar1;\n        }\n        goto LAB_00154224;\n      }\n      goto LAB_00154244;\n    }\n  }" if (parenthesized_expression "(param_2 == 0)" ( (binary_expression "param_2 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_001541dc:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0xdd0,PTR_s_t_to_left_003a88e4 + 0x7d40,0xde9,\n               PTR_s_t_to_left_003a88e4 + 0x7f44);\nLAB_00154200:\n    puVar7 = PTR_s_t_to_left_003a88e4 + 0x7f44;\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + 0x7ec4,PTR_s_t_to_left_003a88e4 + 0x7d40,0xded,puVar7);\nLAB_00154224:\n    puVar7 = puVar7 + 0x7f44;\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x294c,PTR_s_t_to_left_003a88e4 + 0x7d40,0xdf0,puVar7);\nLAB_00154244:\n    iVar6 = 0xdef;\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x1cac,PTR_s_t_to_left_003a88e4 + 0x7d40,0xdef,puVar7 + 0x7f44);\n  }" { (labeled_statement "LAB_001541dc:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0xdd0,PTR_s_t_to_left_003a88e4 + 0x7d40,0xde9,\n               PTR_s_t_to_left_003a88e4 + 0x7f44);" statement_identifier : (expression_statement "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0xdd0,PTR_s_t_to_left_003a88e4 + 0x7d40,0xde9,\n               PTR_s_t_to_left_003a88e4 + 0x7f44);" (call_expression "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0xdd0,PTR_s_t_to_left_003a88e4 + 0x7d40,0xde9,\n               PTR_s_t_to_left_003a88e4 + 0x7f44)" (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_s_t_to_left_003a88e4 + 0x7d40,0xde9,\n               PTR_s_t_to_left_003a88e4 + 0x7f44)" ( (binary_expression "PTR_LAB_003a88e0 + 0xdd0" identifier + number_literal) , (binary_expression "PTR_s_t_to_left_003a88e4 + 0x7d40" identifier + number_literal) , number_literal , (binary_expression "PTR_s_t_to_left_003a88e4 + 0x7f44" identifier + number_literal) ))) ;)) (labeled_statement "LAB_00154200:\n    puVar7 = PTR_s_t_to_left_003a88e4 + 0x7f44;" statement_identifier : (expression_statement "puVar7 = PTR_s_t_to_left_003a88e4 + 0x7f44;" (assignment_expression "puVar7 = PTR_s_t_to_left_003a88e4 + 0x7f44" identifier = (binary_expression "PTR_s_t_to_left_003a88e4 + 0x7f44" identifier + number_literal)) ;)) (expression_statement "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + 0x7ec4,PTR_s_t_to_left_003a88e4 + 0x7d40,0xded,puVar7);" (call_expression "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + 0x7ec4,PTR_s_t_to_left_003a88e4 + 0x7d40,0xded,puVar7)" (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_t_to_left_003a88e4 + 0x7ec4,PTR_s_t_to_left_003a88e4 + 0x7d40,0xded,puVar7)" ( (binary_expression "PTR_s_t_to_left_003a88e4 + 0x7ec4" identifier + number_literal) , (binary_expression "PTR_s_t_to_left_003a88e4 + 0x7d40" identifier + number_literal) , number_literal , identifier ))) ;) (labeled_statement "LAB_00154224:\n    puVar7 = puVar7 + 0x7f44;" statement_identifier : (expression_statement "puVar7 = puVar7 + 0x7f44;" (assignment_expression "puVar7 = puVar7 + 0x7f44" identifier = (binary_expression "puVar7 + 0x7f44" identifier + number_literal)) ;)) (expression_statement "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x294c,PTR_s_t_to_left_003a88e4 + 0x7d40,0xdf0,puVar7);" (call_expression "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x294c,PTR_s_t_to_left_003a88e4 + 0x7d40,0xdf0,puVar7)" (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 + 0x294c,PTR_s_t_to_left_003a88e4 + 0x7d40,0xdf0,puVar7)" ( (binary_expression "PTR_LAB_003a88e0 + 0x294c" identifier + number_literal) , (binary_expression "PTR_s_t_to_left_003a88e4 + 0x7d40" identifier + number_literal) , number_literal , identifier ))) ;) (labeled_statement "LAB_00154244:\n    iVar6 = 0xdef;" statement_identifier : (expression_statement "iVar6 = 0xdef;" (assignment_expression "iVar6 = 0xdef" identifier = number_literal) ;)) (expression_statement "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x1cac,PTR_s_t_to_left_003a88e4 + 0x7d40,0xdef,puVar7 + 0x7f44);" (call_expression "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x1cac,PTR_s_t_to_left_003a88e4 + 0x7d40,0xdef,puVar7 + 0x7f44)" (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 + 0x1cac,PTR_s_t_to_left_003a88e4 + 0x7d40,0xdef,puVar7 + 0x7f44)" ( (binary_expression "PTR_LAB_003a88e0 + 0x1cac" identifier + number_literal) , (binary_expression "PTR_s_t_to_left_003a88e4 + 0x7d40" identifier + number_literal) , number_literal , (binary_expression "puVar7 + 0x7f44" identifier + number_literal) ))) ;) }) (else_clause "else {\n    if (*(int *)(param_2 + 0x336c) != -0x54535255) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                 PTR_s_t_to_left_003a88e4 + 0x7d40,0xdea,PTR_s_t_to_left_003a88e4 + 0x7f44);\n      goto LAB_001541dc;\n    }\n    if (*(int *)(param_2 + 0x3350) != 0) {\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38,0xdec,\n                 PTR_s_t_to_left_003a88e4 + -0x62ac,param_2 + 0x340);\n    }\n    if (param_3 == 0) goto LAB_00154200;\n    iVar6 = 0xdee;\n    if (*(int *)(param_3 + 0x336c) == -0x54535255) {\n      puVar7 = PTR_s_t_to_left_003a88e4;\n      if (param_4 != 0) {\n        if (*(int *)(param_4 + 0x1c) == -0x54535255) {\n          iVar6 = FUN_001517a0(param_1,8,*param_1);\n          if (iVar6 == 0) {\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38,\n                       0xdf5,400,PTR_LAB_003a88e0 + 0x16f8,PTR_LAB_003a88e0 + 0x3e28,param_2 + 0x340\n                      );\n            return 0;\n          }\n          uVar1 = FUN_0014cab8(iVar6,param_3,param_4);\n          if (uVar1 != 0) {\n            **(undefined4 **)(iVar6 + 0x2f0) = *(undefined4 *)(iVar6 + 4);\n            uVar1 = FUN_00150e48(param_2,iVar6,param_4);\n          }\n          FUN_001508cc(iVar6);\n          return uVar1;\n        }\n        goto LAB_00154224;\n      }\n      goto LAB_00154244;\n    }\n  }" else (compound_statement "{\n    if (*(int *)(param_2 + 0x336c) != -0x54535255) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                 PTR_s_t_to_left_003a88e4 + 0x7d40,0xdea,PTR_s_t_to_left_003a88e4 + 0x7f44);\n      goto LAB_001541dc;\n    }\n    if (*(int *)(param_2 + 0x3350) != 0) {\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38,0xdec,\n                 PTR_s_t_to_left_003a88e4 + -0x62ac,param_2 + 0x340);\n    }\n    if (param_3 == 0) goto LAB_00154200;\n    iVar6 = 0xdee;\n    if (*(int *)(param_3 + 0x336c) == -0x54535255) {\n      puVar7 = PTR_s_t_to_left_003a88e4;\n      if (param_4 != 0) {\n        if (*(int *)(param_4 + 0x1c) == -0x54535255) {\n          iVar6 = FUN_001517a0(param_1,8,*param_1);\n          if (iVar6 == 0) {\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38,\n                       0xdf5,400,PTR_LAB_003a88e0 + 0x16f8,PTR_LAB_003a88e0 + 0x3e28,param_2 + 0x340\n                      );\n            return 0;\n          }\n          uVar1 = FUN_0014cab8(iVar6,param_3,param_4);\n          if (uVar1 != 0) {\n            **(undefined4 **)(iVar6 + 0x2f0) = *(undefined4 *)(iVar6 + 4);\n            uVar1 = FUN_00150e48(param_2,iVar6,param_4);\n          }\n          FUN_001508cc(iVar6);\n          return uVar1;\n        }\n        goto LAB_00154224;\n      }\n      goto LAB_00154244;\n    }\n  }" { (if_statement "if (*(int *)(param_2 + 0x336c) != -0x54535255) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                 PTR_s_t_to_left_003a88e4 + 0x7d40,0xdea,PTR_s_t_to_left_003a88e4 + 0x7f44);\n      goto LAB_001541dc;\n    }" if (parenthesized_expression "(*(int *)(param_2 + 0x336c) != -0x54535255)" ( (binary_expression "*(int *)(param_2 + 0x336c) != -0x54535255" (pointer_expression "*(int *)(param_2 + 0x336c)" * (cast_expression "(int *)(param_2 + 0x336c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x336c)" ( (binary_expression "param_2 + 0x336c" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                 PTR_s_t_to_left_003a88e4 + 0x7d40,0xdea,PTR_s_t_to_left_003a88e4 + 0x7f44);\n      goto LAB_001541dc;\n    }" { (expression_statement "(*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                 PTR_s_t_to_left_003a88e4 + 0x7d40,0xdea,PTR_s_t_to_left_003a88e4 + 0x7f44);" (call_expression "(*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                 PTR_s_t_to_left_003a88e4 + 0x7d40,0xdea,PTR_s_t_to_left_003a88e4 + 0x7f44)" (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,\n                 PTR_s_t_to_left_003a88e4 + 0x7d40,0xdea,PTR_s_t_to_left_003a88e4 + 0x7f44)" ( (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784" identifier + number_literal) , (binary_expression "PTR_s_t_to_left_003a88e4 + 0x7d40" identifier + number_literal) , number_literal , (binary_expression "PTR_s_t_to_left_003a88e4 + 0x7f44" identifier + number_literal) ))) ;) (goto_statement "goto LAB_001541dc;" goto statement_identifier ;) })) (if_statement "if (*(int *)(param_2 + 0x3350) != 0) {\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38,0xdec,\n                 PTR_s_t_to_left_003a88e4 + -0x62ac,param_2 + 0x340);\n    }" if (parenthesized_expression "(*(int *)(param_2 + 0x3350) != 0)" ( (binary_expression "*(int *)(param_2 + 0x3350) != 0" (pointer_expression "*(int *)(param_2 + 0x3350)" * (cast_expression "(int *)(param_2 + 0x3350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x3350)" ( (binary_expression "param_2 + 0x3350" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38,0xdec,\n                 PTR_s_t_to_left_003a88e4 + -0x62ac,param_2 + 0x340);\n    }" { (expression_statement "(*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38,0xdec,\n                 PTR_s_t_to_left_003a88e4 + -0x62ac,param_2 + 0x340);" (call_expression "(*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38,0xdec,\n                 PTR_s_t_to_left_003a88e4 + -0x62ac,param_2 + 0x340)" (parenthesized_expression "(*(code *)PTR_LogMagickEvent_003a91e0)" ( (pointer_expression "*(code *)PTR_LogMagickEvent_003a91e0" * (cast_expression "(code *)PTR_LogMagickEvent_003a91e0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x8000,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38,0xdec,\n                 PTR_s_t_to_left_003a88e4 + -0x62ac,param_2 + 0x340)" ( number_literal , (binary_expression "PTR_s_t_to_left_003a88e4 + 0x7d40" identifier + number_literal) , (binary_expression "PTR_s_t_to_left_003a88e4 + 0x7f38" identifier + number_literal) , number_literal , (binary_expression "PTR_s_t_to_left_003a88e4 + -0x62ac" identifier + number_literal) , (binary_expression "param_2 + 0x340" identifier + number_literal) ))) ;) })) (if_statement "if (param_3 == 0) goto LAB_00154200;" if (parenthesized_expression "(param_3 == 0)" ( (binary_expression "param_3 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00154200;" goto statement_identifier ;)) (expression_statement "iVar6 = 0xdee;" (assignment_expression "iVar6 = 0xdee" identifier = number_literal) ;) (if_statement "if (*(int *)(param_3 + 0x336c) == -0x54535255) {\n      puVar7 = PTR_s_t_to_left_003a88e4;\n      if (param_4 != 0) {\n        if (*(int *)(param_4 + 0x1c) == -0x54535255) {\n          iVar6 = FUN_001517a0(param_1,8,*param_1);\n          if (iVar6 == 0) {\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38,\n                       0xdf5,400,PTR_LAB_003a88e0 + 0x16f8,PTR_LAB_003a88e0 + 0x3e28,param_2 + 0x340\n                      );\n            return 0;\n          }\n          uVar1 = FUN_0014cab8(iVar6,param_3,param_4);\n          if (uVar1 != 0) {\n            **(undefined4 **)(iVar6 + 0x2f0) = *(undefined4 *)(iVar6 + 4);\n            uVar1 = FUN_00150e48(param_2,iVar6,param_4);\n          }\n          FUN_001508cc(iVar6);\n          return uVar1;\n        }\n        goto LAB_00154224;\n      }\n      goto LAB_00154244;\n    }" if (parenthesized_expression "(*(int *)(param_3 + 0x336c) == -0x54535255)" ( (binary_expression "*(int *)(param_3 + 0x336c) == -0x54535255" (pointer_expression "*(int *)(param_3 + 0x336c)" * (cast_expression "(int *)(param_3 + 0x336c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x336c)" ( (binary_expression "param_3 + 0x336c" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      puVar7 = PTR_s_t_to_left_003a88e4;\n      if (param_4 != 0) {\n        if (*(int *)(param_4 + 0x1c) == -0x54535255) {\n          iVar6 = FUN_001517a0(param_1,8,*param_1);\n          if (iVar6 == 0) {\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38,\n                       0xdf5,400,PTR_LAB_003a88e0 + 0x16f8,PTR_LAB_003a88e0 + 0x3e28,param_2 + 0x340\n                      );\n            return 0;\n          }\n          uVar1 = FUN_0014cab8(iVar6,param_3,param_4);\n          if (uVar1 != 0) {\n            **(undefined4 **)(iVar6 + 0x2f0) = *(undefined4 *)(iVar6 + 4);\n            uVar1 = FUN_00150e48(param_2,iVar6,param_4);\n          }\n          FUN_001508cc(iVar6);\n          return uVar1;\n        }\n        goto LAB_00154224;\n      }\n      goto LAB_00154244;\n    }" { (expression_statement "puVar7 = PTR_s_t_to_left_003a88e4;" (assignment_expression "puVar7 = PTR_s_t_to_left_003a88e4" identifier = identifier) ;) (if_statement "if (param_4 != 0) {\n        if (*(int *)(param_4 + 0x1c) == -0x54535255) {\n          iVar6 = FUN_001517a0(param_1,8,*param_1);\n          if (iVar6 == 0) {\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38,\n                       0xdf5,400,PTR_LAB_003a88e0 + 0x16f8,PTR_LAB_003a88e0 + 0x3e28,param_2 + 0x340\n                      );\n            return 0;\n          }\n          uVar1 = FUN_0014cab8(iVar6,param_3,param_4);\n          if (uVar1 != 0) {\n            **(undefined4 **)(iVar6 + 0x2f0) = *(undefined4 *)(iVar6 + 4);\n            uVar1 = FUN_00150e48(param_2,iVar6,param_4);\n          }\n          FUN_001508cc(iVar6);\n          return uVar1;\n        }\n        goto LAB_00154224;\n      }" if (parenthesized_expression "(param_4 != 0)" ( (binary_expression "param_4 != 0" identifier != number_literal) )) (compound_statement "{\n        if (*(int *)(param_4 + 0x1c) == -0x54535255) {\n          iVar6 = FUN_001517a0(param_1,8,*param_1);\n          if (iVar6 == 0) {\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38,\n                       0xdf5,400,PTR_LAB_003a88e0 + 0x16f8,PTR_LAB_003a88e0 + 0x3e28,param_2 + 0x340\n                      );\n            return 0;\n          }\n          uVar1 = FUN_0014cab8(iVar6,param_3,param_4);\n          if (uVar1 != 0) {\n            **(undefined4 **)(iVar6 + 0x2f0) = *(undefined4 *)(iVar6 + 4);\n            uVar1 = FUN_00150e48(param_2,iVar6,param_4);\n          }\n          FUN_001508cc(iVar6);\n          return uVar1;\n        }\n        goto LAB_00154224;\n      }" { (if_statement "if (*(int *)(param_4 + 0x1c) == -0x54535255) {\n          iVar6 = FUN_001517a0(param_1,8,*param_1);\n          if (iVar6 == 0) {\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38,\n                       0xdf5,400,PTR_LAB_003a88e0 + 0x16f8,PTR_LAB_003a88e0 + 0x3e28,param_2 + 0x340\n                      );\n            return 0;\n          }\n          uVar1 = FUN_0014cab8(iVar6,param_3,param_4);\n          if (uVar1 != 0) {\n            **(undefined4 **)(iVar6 + 0x2f0) = *(undefined4 *)(iVar6 + 4);\n            uVar1 = FUN_00150e48(param_2,iVar6,param_4);\n          }\n          FUN_001508cc(iVar6);\n          return uVar1;\n        }" if (parenthesized_expression "(*(int *)(param_4 + 0x1c) == -0x54535255)" ( (binary_expression "*(int *)(param_4 + 0x1c) == -0x54535255" (pointer_expression "*(int *)(param_4 + 0x1c)" * (cast_expression "(int *)(param_4 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x1c)" ( (binary_expression "param_4 + 0x1c" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n          iVar6 = FUN_001517a0(param_1,8,*param_1);\n          if (iVar6 == 0) {\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38,\n                       0xdf5,400,PTR_LAB_003a88e0 + 0x16f8,PTR_LAB_003a88e0 + 0x3e28,param_2 + 0x340\n                      );\n            return 0;\n          }\n          uVar1 = FUN_0014cab8(iVar6,param_3,param_4);\n          if (uVar1 != 0) {\n            **(undefined4 **)(iVar6 + 0x2f0) = *(undefined4 *)(iVar6 + 4);\n            uVar1 = FUN_00150e48(param_2,iVar6,param_4);\n          }\n          FUN_001508cc(iVar6);\n          return uVar1;\n        }" { (expression_statement "iVar6 = FUN_001517a0(param_1,8,*param_1);" (assignment_expression "iVar6 = FUN_001517a0(param_1,8,*param_1)" identifier = (call_expression "FUN_001517a0(param_1,8,*param_1)" identifier (argument_list "(param_1,8,*param_1)" ( identifier , number_literal , (pointer_expression "*param_1" * identifier) )))) ;) (if_statement "if (iVar6 == 0) {\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38,\n                       0xdf5,400,PTR_LAB_003a88e0 + 0x16f8,PTR_LAB_003a88e0 + 0x3e28,param_2 + 0x340\n                      );\n            return 0;\n          }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38,\n                       0xdf5,400,PTR_LAB_003a88e0 + 0x16f8,PTR_LAB_003a88e0 + 0x3e28,param_2 + 0x340\n                      );\n            return 0;\n          }" { (expression_statement "(*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38,\n                       0xdf5,400,PTR_LAB_003a88e0 + 0x16f8,PTR_LAB_003a88e0 + 0x3e28,param_2 + 0x340\n                      );" (call_expression "(*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38,\n                       0xdf5,400,PTR_LAB_003a88e0 + 0x16f8,PTR_LAB_003a88e0 + 0x3e28,param_2 + 0x340\n                      )" (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_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38,\n                       0xdf5,400,PTR_LAB_003a88e0 + 0x16f8,PTR_LAB_003a88e0 + 0x3e28,param_2 + 0x340\n                      )" ( identifier , (binary_expression "PTR_s_t_to_left_003a88e4 + 0x7d40" identifier + number_literal) , (binary_expression "PTR_s_t_to_left_003a88e4 + 0x7f38" identifier + number_literal) , number_literal , number_literal , (binary_expression "PTR_LAB_003a88e0 + 0x16f8" identifier + number_literal) , (binary_expression "PTR_LAB_003a88e0 + 0x3e28" identifier + number_literal) , (binary_expression "param_2 + 0x340" identifier + number_literal) ))) ;) (return_statement "return 0;" return number_literal ;) })) (expression_statement "uVar1 = FUN_0014cab8(iVar6,param_3,param_4);" (assignment_expression "uVar1 = FUN_0014cab8(iVar6,param_3,param_4)" identifier = (call_expression "FUN_0014cab8(iVar6,param_3,param_4)" identifier (argument_list "(iVar6,param_3,param_4)" ( identifier , identifier , identifier )))) ;) (if_statement "if (uVar1 != 0) {\n            **(undefined4 **)(iVar6 + 0x2f0) = *(undefined4 *)(iVar6 + 4);\n            uVar1 = FUN_00150e48(param_2,iVar6,param_4);\n          }" if (parenthesized_expression "(uVar1 != 0)" ( (binary_expression "uVar1 != 0" identifier != number_literal) )) (compound_statement "{\n            **(undefined4 **)(iVar6 + 0x2f0) = *(undefined4 *)(iVar6 + 4);\n            uVar1 = FUN_00150e48(param_2,iVar6,param_4);\n          }" { (expression_statement "**(undefined4 **)(iVar6 + 0x2f0) = *(undefined4 *)(iVar6 + 4);" (assignment_expression "**(undefined4 **)(iVar6 + 0x2f0) = *(undefined4 *)(iVar6 + 4)" (pointer_expression "**(undefined4 **)(iVar6 + 0x2f0)" * (pointer_expression "*(undefined4 **)(iVar6 + 0x2f0)" * (cast_expression "(undefined4 **)(iVar6 + 0x2f0)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + 0x2f0)" ( (binary_expression "iVar6 + 0x2f0" identifier + number_literal) ))))) = (pointer_expression "*(undefined4 *)(iVar6 + 4)" * (cast_expression "(undefined4 *)(iVar6 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 4)" ( (binary_expression "iVar6 + 4" identifier + number_literal) ))))) ;) (expression_statement "uVar1 = FUN_00150e48(param_2,iVar6,param_4);" (assignment_expression "uVar1 = FUN_00150e48(param_2,iVar6,param_4)" identifier = (call_expression "FUN_00150e48(param_2,iVar6,param_4)" identifier (argument_list "(param_2,iVar6,param_4)" ( identifier , identifier , identifier )))) ;) })) (expression_statement "FUN_001508cc(iVar6);" (call_expression "FUN_001508cc(iVar6)" identifier (argument_list "(iVar6)" ( identifier ))) ;) (return_statement "return uVar1;" return identifier ;) })) (goto_statement "goto LAB_00154224;" goto statement_identifier ;) })) (goto_statement "goto LAB_00154244;" goto statement_identifier ;) })) }))) (expression_statement "puVar8 = PTR_s_t_to_left_003a88e4 + 0x7f44;" (assignment_expression "puVar8 = PTR_s_t_to_left_003a88e4 + 0x7f44" identifier = (binary_expression "PTR_s_t_to_left_003a88e4 + 0x7f44" identifier + number_literal)) ;) (expression_statement "puVar4 = PTR_s_t_to_left_003a88e4 + 0x7d40;" (assignment_expression "puVar4 = PTR_s_t_to_left_003a88e4 + 0x7d40" identifier = (binary_expression "PTR_s_t_to_left_003a88e4 + 0x7d40" identifier + number_literal)) ;) (expression_statement "puVar3 = (undefined4 *)(PTR_s_t_to_left_003a88e4 + 0x7ee4);" (assignment_expression "puVar3 = (undefined4 *)(PTR_s_t_to_left_003a88e4 + 0x7ee4)" identifier = (cast_expression "(undefined4 *)(PTR_s_t_to_left_003a88e4 + 0x7ee4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_t_to_left_003a88e4 + 0x7ee4)" ( (binary_expression "PTR_s_t_to_left_003a88e4 + 0x7ee4" identifier + number_literal) )))) ;) (expression_statement "puVar7 = PTR___assert_fail_003a9608;" (assignment_expression "puVar7 = PTR___assert_fail_003a9608" identifier = identifier) ;) (expression_statement "(*(code *)PTR___assert_fail_003a9608)();" (call_expression "(*(code *)PTR___assert_fail_003a9608)()" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" ( (pointer_expression "*(code *)PTR___assert_fail_003a9608" * (cast_expression "(code *)PTR___assert_fail_003a9608" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (if_statement "if (puVar4 == (undefined *)0x0) {\n    iVar9 = *(int *)(puVar7 + 0x254660) + 0x7f2c;\n    (**(code **)(puVar7 + 0x255384))\n              (*(int *)(puVar7 + 0x25465c) + 0x1e48,*(int *)(puVar7 + 0x254660) + 0x7d40,0xe2d,iVar9\n              );\nLAB_001544c4:\n    (**(code **)(puVar7 + 0x255384))\n              (*(int *)(puVar7 + 0x25465c) + 0x294c,*(int *)(puVar7 + 0x254660) + 0x7d40,0xe32,\n               iVar9 + 0x7f2c);\n  }\n  else {\n    if (*(int *)(puVar4 + 0x336c) != -0x54535255) goto LAB_00154508;\n    if (*(int *)(puVar4 + 0x3350) != 0) {\n      (**(code **)(puVar7 + 0x254f5c))\n                (0x8000,*(int *)(puVar7 + 0x254660) + 0x7d40,*(int *)(puVar7 + 0x254660) + 0x7f20,\n                 0xe30,*(int *)(puVar7 + 0x254660) + -0x62ac,puVar4 + 0x340);\n    }\n    if (puVar8 != (undefined *)0x0) {\n      iVar9 = *(int *)(puVar7 + 0x254660);\n      if (*(int *)(puVar8 + 0x1c) == -0x54535255) {\n        if (iVar6 == 0) {\n                    /* WARNING: Could not recover jumptable at 0x00154428. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          uVar1 = (**(code **)(puVar7 + 0x254bec))(puVar3,puVar4,puVar8);\n          return uVar1;\n        }\n        iVar9 = FUN_001517a0(puVar3,8,*puVar3);\n        if (iVar9 == 0) {\n          (**(code **)(puVar7 + 0x254c9c))\n                    (puVar8,*(int *)(puVar7 + 0x254660) + 0x7d40,\n                     *(int *)(puVar7 + 0x254660) + 0x7f20,0xe43,400,\n                     *(int *)(puVar7 + 0x25465c) + 0x16f8,*(int *)(puVar7 + 0x25465c) + 0x3e28,\n                     puVar4 + 0x340);\n          return 0;\n        }\n        iVar6 = FUN_0014cab8(iVar9,iVar6,puVar8);\n        if (iVar6 == 0) {\nLAB_0015438c:\n          uVar1 = 0;\n        }\n        else {\n          **(undefined4 **)(iVar9 + 0x2f0) = *(undefined4 *)(iVar9 + 4);\n          do {\n            uVar1 = FUN_00150e48(puVar4,iVar9,puVar8);\n            if (uVar1 == 0) goto LAB_0015438c;\n            puVar4 = (undefined *)(**(code **)(puVar7 + 0x2551ec))(puVar4);\n          } while (puVar4 != (undefined *)0x0);\n        }\n        FUN_001508cc(iVar9);\n        return uVar1;\n      }\n      goto LAB_001544c4;\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 "{\n    iVar9 = *(int *)(puVar7 + 0x254660) + 0x7f2c;\n    (**(code **)(puVar7 + 0x255384))\n              (*(int *)(puVar7 + 0x25465c) + 0x1e48,*(int *)(puVar7 + 0x254660) + 0x7d40,0xe2d,iVar9\n              );\nLAB_001544c4:\n    (**(code **)(puVar7 + 0x255384))\n              (*(int *)(puVar7 + 0x25465c) + 0x294c,*(int *)(puVar7 + 0x254660) + 0x7d40,0xe32,\n               iVar9 + 0x7f2c);\n  }" { (expression_statement "iVar9 = *(int *)(puVar7 + 0x254660) + 0x7f2c;" (assignment_expression "iVar9 = *(int *)(puVar7 + 0x254660) + 0x7f2c" identifier = (binary_expression "*(int *)(puVar7 + 0x254660) + 0x7f2c" (pointer_expression "*(int *)(puVar7 + 0x254660)" * (cast_expression "(int *)(puVar7 + 0x254660)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 0x254660)" ( (binary_expression "puVar7 + 0x254660" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(**(code **)(puVar7 + 0x255384))\n              (*(int *)(puVar7 + 0x25465c) + 0x1e48,*(int *)(puVar7 + 0x254660) + 0x7d40,0xe2d,iVar9\n              );" (call_expression "(**(code **)(puVar7 + 0x255384))\n              (*(int *)(puVar7 + 0x25465c) + 0x1e48,*(int *)(puVar7 + 0x254660) + 0x7d40,0xe2d,iVar9\n              )" (parenthesized_expression "(**(code **)(puVar7 + 0x255384))" ( (pointer_expression "**(code **)(puVar7 + 0x255384)" * (pointer_expression "*(code **)(puVar7 + 0x255384)" * (cast_expression "(code **)(puVar7 + 0x255384)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + 0x255384)" ( (binary_expression "puVar7 + 0x255384" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar7 + 0x25465c) + 0x1e48,*(int *)(puVar7 + 0x254660) + 0x7d40,0xe2d,iVar9\n              )" ( (binary_expression "*(int *)(puVar7 + 0x25465c) + 0x1e48" (pointer_expression "*(int *)(puVar7 + 0x25465c)" * (cast_expression "(int *)(puVar7 + 0x25465c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 0x25465c)" ( (binary_expression "puVar7 + 0x25465c" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar7 + 0x254660) + 0x7d40" (pointer_expression "*(int *)(puVar7 + 0x254660)" * (cast_expression "(int *)(puVar7 + 0x254660)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 0x254660)" ( (binary_expression "puVar7 + 0x254660" identifier + number_literal) )))) + number_literal) , number_literal , identifier ))) ;) (labeled_statement "LAB_001544c4:\n    (**(code **)(puVar7 + 0x255384))\n              (*(int *)(puVar7 + 0x25465c) + 0x294c,*(int *)(puVar7 + 0x254660) + 0x7d40,0xe32,\n               iVar9 + 0x7f2c);" statement_identifier : (expression_statement "(**(code **)(puVar7 + 0x255384))\n              (*(int *)(puVar7 + 0x25465c) + 0x294c,*(int *)(puVar7 + 0x254660) + 0x7d40,0xe32,\n               iVar9 + 0x7f2c);" (call_expression "(**(code **)(puVar7 + 0x255384))\n              (*(int *)(puVar7 + 0x25465c) + 0x294c,*(int *)(puVar7 + 0x254660) + 0x7d40,0xe32,\n               iVar9 + 0x7f2c)" (parenthesized_expression "(**(code **)(puVar7 + 0x255384))" ( (pointer_expression "**(code **)(puVar7 + 0x255384)" * (pointer_expression "*(code **)(puVar7 + 0x255384)" * (cast_expression "(code **)(puVar7 + 0x255384)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + 0x255384)" ( (binary_expression "puVar7 + 0x255384" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar7 + 0x25465c) + 0x294c,*(int *)(puVar7 + 0x254660) + 0x7d40,0xe32,\n               iVar9 + 0x7f2c)" ( (binary_expression "*(int *)(puVar7 + 0x25465c) + 0x294c" (pointer_expression "*(int *)(puVar7 + 0x25465c)" * (cast_expression "(int *)(puVar7 + 0x25465c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 0x25465c)" ( (binary_expression "puVar7 + 0x25465c" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar7 + 0x254660) + 0x7d40" (pointer_expression "*(int *)(puVar7 + 0x254660)" * (cast_expression "(int *)(puVar7 + 0x254660)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 0x254660)" ( (binary_expression "puVar7 + 0x254660" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "iVar9 + 0x7f2c" identifier + number_literal) ))) ;)) }) (else_clause "else {\n    if (*(int *)(puVar4 + 0x336c) != -0x54535255) goto LAB_00154508;\n    if (*(int *)(puVar4 + 0x3350) != 0) {\n      (**(code **)(puVar7 + 0x254f5c))\n                (0x8000,*(int *)(puVar7 + 0x254660) + 0x7d40,*(int *)(puVar7 + 0x254660) + 0x7f20,\n                 0xe30,*(int *)(puVar7 + 0x254660) + -0x62ac,puVar4 + 0x340);\n    }\n    if (puVar8 != (undefined *)0x0) {\n      iVar9 = *(int *)(puVar7 + 0x254660);\n      if (*(int *)(puVar8 + 0x1c) == -0x54535255) {\n        if (iVar6 == 0) {\n                    /* WARNING: Could not recover jumptable at 0x00154428. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          uVar1 = (**(code **)(puVar7 + 0x254bec))(puVar3,puVar4,puVar8);\n          return uVar1;\n        }\n        iVar9 = FUN_001517a0(puVar3,8,*puVar3);\n        if (iVar9 == 0) {\n          (**(code **)(puVar7 + 0x254c9c))\n                    (puVar8,*(int *)(puVar7 + 0x254660) + 0x7d40,\n                     *(int *)(puVar7 + 0x254660) + 0x7f20,0xe43,400,\n                     *(int *)(puVar7 + 0x25465c) + 0x16f8,*(int *)(puVar7 + 0x25465c) + 0x3e28,\n                     puVar4 + 0x340);\n          return 0;\n        }\n        iVar6 = FUN_0014cab8(iVar9,iVar6,puVar8);\n        if (iVar6 == 0) {\nLAB_0015438c:\n          uVar1 = 0;\n        }\n        else {\n          **(undefined4 **)(iVar9 + 0x2f0) = *(undefined4 *)(iVar9 + 4);\n          do {\n            uVar1 = FUN_00150e48(puVar4,iVar9,puVar8);\n            if (uVar1 == 0) goto LAB_0015438c;\n            puVar4 = (undefined *)(**(code **)(puVar7 + 0x2551ec))(puVar4);\n          } while (puVar4 != (undefined *)0x0);\n        }\n        FUN_001508cc(iVar9);\n        return uVar1;\n      }\n      goto LAB_001544c4;\n    }\n  }" else (compound_statement "{\n    if (*(int *)(puVar4 + 0x336c) != -0x54535255) goto LAB_00154508;\n    if (*(int *)(puVar4 + 0x3350) != 0) {\n      (**(code **)(puVar7 + 0x254f5c))\n                (0x8000,*(int *)(puVar7 + 0x254660) + 0x7d40,*(int *)(puVar7 + 0x254660) + 0x7f20,\n                 0xe30,*(int *)(puVar7 + 0x254660) + -0x62ac,puVar4 + 0x340);\n    }\n    if (puVar8 != (undefined *)0x0) {\n      iVar9 = *(int *)(puVar7 + 0x254660);\n      if (*(int *)(puVar8 + 0x1c) == -0x54535255) {\n        if (iVar6 == 0) {\n                    /* WARNING: Could not recover jumptable at 0x00154428. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          uVar1 = (**(code **)(puVar7 + 0x254bec))(puVar3,puVar4,puVar8);\n          return uVar1;\n        }\n        iVar9 = FUN_001517a0(puVar3,8,*puVar3);\n        if (iVar9 == 0) {\n          (**(code **)(puVar7 + 0x254c9c))\n                    (puVar8,*(int *)(puVar7 + 0x254660) + 0x7d40,\n                     *(int *)(puVar7 + 0x254660) + 0x7f20,0xe43,400,\n                     *(int *)(puVar7 + 0x25465c) + 0x16f8,*(int *)(puVar7 + 0x25465c) + 0x3e28,\n                     puVar4 + 0x340);\n          return 0;\n        }\n        iVar6 = FUN_0014cab8(iVar9,iVar6,puVar8);\n        if (iVar6 == 0) {\nLAB_0015438c:\n          uVar1 = 0;\n        }\n        else {\n          **(undefined4 **)(iVar9 + 0x2f0) = *(undefined4 *)(iVar9 + 4);\n          do {\n            uVar1 = FUN_00150e48(puVar4,iVar9,puVar8);\n            if (uVar1 == 0) goto LAB_0015438c;\n            puVar4 = (undefined *)(**(code **)(puVar7 + 0x2551ec))(puVar4);\n          } while (puVar4 != (undefined *)0x0);\n        }\n        FUN_001508cc(iVar9);\n        return uVar1;\n      }\n      goto LAB_001544c4;\n    }\n  }" { (if_statement "if (*(int *)(puVar4 + 0x336c) != -0x54535255) goto LAB_00154508;" 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_00154508;" goto statement_identifier ;)) (if_statement "if (*(int *)(puVar4 + 0x3350) != 0) {\n      (**(code **)(puVar7 + 0x254f5c))\n                (0x8000,*(int *)(puVar7 + 0x254660) + 0x7d40,*(int *)(puVar7 + 0x254660) + 0x7f20,\n                 0xe30,*(int *)(puVar7 + 0x254660) + -0x62ac,puVar4 + 0x340);\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 **)(puVar7 + 0x254f5c))\n                (0x8000,*(int *)(puVar7 + 0x254660) + 0x7d40,*(int *)(puVar7 + 0x254660) + 0x7f20,\n                 0xe30,*(int *)(puVar7 + 0x254660) + -0x62ac,puVar4 + 0x340);\n    }" { (expression_statement "(**(code **)(puVar7 + 0x254f5c))\n                (0x8000,*(int *)(puVar7 + 0x254660) + 0x7d40,*(int *)(puVar7 + 0x254660) + 0x7f20,\n                 0xe30,*(int *)(puVar7 + 0x254660) + -0x62ac,puVar4 + 0x340);" (call_expression "(**(code **)(puVar7 + 0x254f5c))\n                (0x8000,*(int *)(puVar7 + 0x254660) + 0x7d40,*(int *)(puVar7 + 0x254660) + 0x7f20,\n                 0xe30,*(int *)(puVar7 + 0x254660) + -0x62ac,puVar4 + 0x340)" (parenthesized_expression "(**(code **)(puVar7 + 0x254f5c))" ( (pointer_expression "**(code **)(puVar7 + 0x254f5c)" * (pointer_expression "*(code **)(puVar7 + 0x254f5c)" * (cast_expression "(code **)(puVar7 + 0x254f5c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + 0x254f5c)" ( (binary_expression "puVar7 + 0x254f5c" identifier + number_literal) ))))) )) (argument_list "(0x8000,*(int *)(puVar7 + 0x254660) + 0x7d40,*(int *)(puVar7 + 0x254660) + 0x7f20,\n                 0xe30,*(int *)(puVar7 + 0x254660) + -0x62ac,puVar4 + 0x340)" ( number_literal , (binary_expression "*(int *)(puVar7 + 0x254660) + 0x7d40" (pointer_expression "*(int *)(puVar7 + 0x254660)" * (cast_expression "(int *)(puVar7 + 0x254660)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 0x254660)" ( (binary_expression "puVar7 + 0x254660" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar7 + 0x254660) + 0x7f20" (pointer_expression "*(int *)(puVar7 + 0x254660)" * (cast_expression "(int *)(puVar7 + 0x254660)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 0x254660)" ( (binary_expression "puVar7 + 0x254660" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar7 + 0x254660) + -0x62ac" (pointer_expression "*(int *)(puVar7 + 0x254660)" * (cast_expression "(int *)(puVar7 + 0x254660)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 0x254660)" ( (binary_expression "puVar7 + 0x254660" identifier + number_literal) )))) + number_literal) , (binary_expression "puVar4 + 0x340" identifier + number_literal) ))) ;) })) (if_statement "if (puVar8 != (undefined *)0x0) {\n      iVar9 = *(int *)(puVar7 + 0x254660);\n      if (*(int *)(puVar8 + 0x1c) == -0x54535255) {\n        if (iVar6 == 0) {\n                    /* WARNING: Could not recover jumptable at 0x00154428. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          uVar1 = (**(code **)(puVar7 + 0x254bec))(puVar3,puVar4,puVar8);\n          return uVar1;\n        }\n        iVar9 = FUN_001517a0(puVar3,8,*puVar3);\n        if (iVar9 == 0) {\n          (**(code **)(puVar7 + 0x254c9c))\n                    (puVar8,*(int *)(puVar7 + 0x254660) + 0x7d40,\n                     *(int *)(puVar7 + 0x254660) + 0x7f20,0xe43,400,\n                     *(int *)(puVar7 + 0x25465c) + 0x16f8,*(int *)(puVar7 + 0x25465c) + 0x3e28,\n                     puVar4 + 0x340);\n          return 0;\n        }\n        iVar6 = FUN_0014cab8(iVar9,iVar6,puVar8);\n        if (iVar6 == 0) {\nLAB_0015438c:\n          uVar1 = 0;\n        }\n        else {\n          **(undefined4 **)(iVar9 + 0x2f0) = *(undefined4 *)(iVar9 + 4);\n          do {\n            uVar1 = FUN_00150e48(puVar4,iVar9,puVar8);\n            if (uVar1 == 0) goto LAB_0015438c;\n            puVar4 = (undefined *)(**(code **)(puVar7 + 0x2551ec))(puVar4);\n          } while (puVar4 != (undefined *)0x0);\n        }\n        FUN_001508cc(iVar9);\n        return uVar1;\n      }\n      goto LAB_001544c4;\n    }" if (parenthesized_expression "(puVar8 != (undefined *)0x0)" ( (binary_expression "puVar8 != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      iVar9 = *(int *)(puVar7 + 0x254660);\n      if (*(int *)(puVar8 + 0x1c) == -0x54535255) {\n        if (iVar6 == 0) {\n                    /* WARNING: Could not recover jumptable at 0x00154428. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          uVar1 = (**(code **)(puVar7 + 0x254bec))(puVar3,puVar4,puVar8);\n          return uVar1;\n        }\n        iVar9 = FUN_001517a0(puVar3,8,*puVar3);\n        if (iVar9 == 0) {\n          (**(code **)(puVar7 + 0x254c9c))\n                    (puVar8,*(int *)(puVar7 + 0x254660) + 0x7d40,\n                     *(int *)(puVar7 + 0x254660) + 0x7f20,0xe43,400,\n                     *(int *)(puVar7 + 0x25465c) + 0x16f8,*(int *)(puVar7 + 0x25465c) + 0x3e28,\n                     puVar4 + 0x340);\n          return 0;\n        }\n        iVar6 = FUN_0014cab8(iVar9,iVar6,puVar8);\n        if (iVar6 == 0) {\nLAB_0015438c:\n          uVar1 = 0;\n        }\n        else {\n          **(undefined4 **)(iVar9 + 0x2f0) = *(undefined4 *)(iVar9 + 4);\n          do {\n            uVar1 = FUN_00150e48(puVar4,iVar9,puVar8);\n            if (uVar1 == 0) goto LAB_0015438c;\n            puVar4 = (undefined *)(**(code **)(puVar7 + 0x2551ec))(puVar4);\n          } while (puVar4 != (undefined *)0x0);\n        }\n        FUN_001508cc(iVar9);\n        return uVar1;\n      }\n      goto LAB_001544c4;\n    }" { (expression_statement "iVar9 = *(int *)(puVar7 + 0x254660);" (assignment_expression "iVar9 = *(int *)(puVar7 + 0x254660)" identifier = (pointer_expression "*(int *)(puVar7 + 0x254660)" * (cast_expression "(int *)(puVar7 + 0x254660)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 0x254660)" ( (binary_expression "puVar7 + 0x254660" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(puVar8 + 0x1c) == -0x54535255) {\n        if (iVar6 == 0) {\n                    /* WARNING: Could not recover jumptable at 0x00154428. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          uVar1 = (**(code **)(puVar7 + 0x254bec))(puVar3,puVar4,puVar8);\n          return uVar1;\n        }\n        iVar9 = FUN_001517a0(puVar3,8,*puVar3);\n        if (iVar9 == 0) {\n          (**(code **)(puVar7 + 0x254c9c))\n                    (puVar8,*(int *)(puVar7 + 0x254660) + 0x7d40,\n                     *(int *)(puVar7 + 0x254660) + 0x7f20,0xe43,400,\n                     *(int *)(puVar7 + 0x25465c) + 0x16f8,*(int *)(puVar7 + 0x25465c) + 0x3e28,\n                     puVar4 + 0x340);\n          return 0;\n        }\n        iVar6 = FUN_0014cab8(iVar9,iVar6,puVar8);\n        if (iVar6 == 0) {\nLAB_0015438c:\n          uVar1 = 0;\n        }\n        else {\n          **(undefined4 **)(iVar9 + 0x2f0) = *(undefined4 *)(iVar9 + 4);\n          do {\n            uVar1 = FUN_00150e48(puVar4,iVar9,puVar8);\n            if (uVar1 == 0) goto LAB_0015438c;\n            puVar4 = (undefined *)(**(code **)(puVar7 + 0x2551ec))(puVar4);\n          } while (puVar4 != (undefined *)0x0);\n        }\n        FUN_001508cc(iVar9);\n        return uVar1;\n      }" if (parenthesized_expression "(*(int *)(puVar8 + 0x1c) == -0x54535255)" ( (binary_expression "*(int *)(puVar8 + 0x1c) == -0x54535255" (pointer_expression "*(int *)(puVar8 + 0x1c)" * (cast_expression "(int *)(puVar8 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 0x1c)" ( (binary_expression "puVar8 + 0x1c" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n        if (iVar6 == 0) {\n                    /* WARNING: Could not recover jumptable at 0x00154428. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          uVar1 = (**(code **)(puVar7 + 0x254bec))(puVar3,puVar4,puVar8);\n          return uVar1;\n        }\n        iVar9 = FUN_001517a0(puVar3,8,*puVar3);\n        if (iVar9 == 0) {\n          (**(code **)(puVar7 + 0x254c9c))\n                    (puVar8,*(int *)(puVar7 + 0x254660) + 0x7d40,\n                     *(int *)(puVar7 + 0x254660) + 0x7f20,0xe43,400,\n                     *(int *)(puVar7 + 0x25465c) + 0x16f8,*(int *)(puVar7 + 0x25465c) + 0x3e28,\n                     puVar4 + 0x340);\n          return 0;\n        }\n        iVar6 = FUN_0014cab8(iVar9,iVar6,puVar8);\n        if (iVar6 == 0) {\nLAB_0015438c:\n          uVar1 = 0;\n        }\n        else {\n          **(undefined4 **)(iVar9 + 0x2f0) = *(undefined4 *)(iVar9 + 4);\n          do {\n            uVar1 = FUN_00150e48(puVar4,iVar9,puVar8);\n            if (uVar1 == 0) goto LAB_0015438c;\n            puVar4 = (undefined *)(**(code **)(puVar7 + 0x2551ec))(puVar4);\n          } while (puVar4 != (undefined *)0x0);\n        }\n        FUN_001508cc(iVar9);\n        return uVar1;\n      }" { (if_statement "if (iVar6 == 0) {\n                    /* WARNING: Could not recover jumptable at 0x00154428. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          uVar1 = (**(code **)(puVar7 + 0x254bec))(puVar3,puVar4,puVar8);\n          return uVar1;\n        }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n                    /* WARNING: Could not recover jumptable at 0x00154428. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          uVar1 = (**(code **)(puVar7 + 0x254bec))(puVar3,puVar4,puVar8);\n          return uVar1;\n        }" { comment comment (expression_statement "uVar1 = (**(code **)(puVar7 + 0x254bec))(puVar3,puVar4,puVar8);" (assignment_expression "uVar1 = (**(code **)(puVar7 + 0x254bec))(puVar3,puVar4,puVar8)" identifier = (call_expression "(**(code **)(puVar7 + 0x254bec))(puVar3,puVar4,puVar8)" (parenthesized_expression "(**(code **)(puVar7 + 0x254bec))" ( (pointer_expression "**(code **)(puVar7 + 0x254bec)" * (pointer_expression "*(code **)(puVar7 + 0x254bec)" * (cast_expression "(code **)(puVar7 + 0x254bec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + 0x254bec)" ( (binary_expression "puVar7 + 0x254bec" identifier + number_literal) ))))) )) (argument_list "(puVar3,puVar4,puVar8)" ( identifier , identifier , identifier )))) ;) (return_statement "return uVar1;" return identifier ;) })) (expression_statement "iVar9 = FUN_001517a0(puVar3,8,*puVar3);" (assignment_expression "iVar9 = FUN_001517a0(puVar3,8,*puVar3)" identifier = (call_expression "FUN_001517a0(puVar3,8,*puVar3)" identifier (argument_list "(puVar3,8,*puVar3)" ( identifier , number_literal , (pointer_expression "*puVar3" * identifier) )))) ;) (if_statement "if (iVar9 == 0) {\n          (**(code **)(puVar7 + 0x254c9c))\n                    (puVar8,*(int *)(puVar7 + 0x254660) + 0x7d40,\n                     *(int *)(puVar7 + 0x254660) + 0x7f20,0xe43,400,\n                     *(int *)(puVar7 + 0x25465c) + 0x16f8,*(int *)(puVar7 + 0x25465c) + 0x3e28,\n                     puVar4 + 0x340);\n          return 0;\n        }" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (compound_statement "{\n          (**(code **)(puVar7 + 0x254c9c))\n                    (puVar8,*(int *)(puVar7 + 0x254660) + 0x7d40,\n                     *(int *)(puVar7 + 0x254660) + 0x7f20,0xe43,400,\n                     *(int *)(puVar7 + 0x25465c) + 0x16f8,*(int *)(puVar7 + 0x25465c) + 0x3e28,\n                     puVar4 + 0x340);\n          return 0;\n        }" { (expression_statement "(**(code **)(puVar7 + 0x254c9c))\n                    (puVar8,*(int *)(puVar7 + 0x254660) + 0x7d40,\n                     *(int *)(puVar7 + 0x254660) + 0x7f20,0xe43,400,\n                     *(int *)(puVar7 + 0x25465c) + 0x16f8,*(int *)(puVar7 + 0x25465c) + 0x3e28,\n                     puVar4 + 0x340);" (call_expression "(**(code **)(puVar7 + 0x254c9c))\n                    (puVar8,*(int *)(puVar7 + 0x254660) + 0x7d40,\n                     *(int *)(puVar7 + 0x254660) + 0x7f20,0xe43,400,\n                     *(int *)(puVar7 + 0x25465c) + 0x16f8,*(int *)(puVar7 + 0x25465c) + 0x3e28,\n                     puVar4 + 0x340)" (parenthesized_expression "(**(code **)(puVar7 + 0x254c9c))" ( (pointer_expression "**(code **)(puVar7 + 0x254c9c)" * (pointer_expression "*(code **)(puVar7 + 0x254c9c)" * (cast_expression "(code **)(puVar7 + 0x254c9c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + 0x254c9c)" ( (binary_expression "puVar7 + 0x254c9c" identifier + number_literal) ))))) )) (argument_list "(puVar8,*(int *)(puVar7 + 0x254660) + 0x7d40,\n                     *(int *)(puVar7 + 0x254660) + 0x7f20,0xe43,400,\n                     *(int *)(puVar7 + 0x25465c) + 0x16f8,*(int *)(puVar7 + 0x25465c) + 0x3e28,\n                     puVar4 + 0x340)" ( identifier , (binary_expression "*(int *)(puVar7 + 0x254660) + 0x7d40" (pointer_expression "*(int *)(puVar7 + 0x254660)" * (cast_expression "(int *)(puVar7 + 0x254660)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 0x254660)" ( (binary_expression "puVar7 + 0x254660" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar7 + 0x254660) + 0x7f20" (pointer_expression "*(int *)(puVar7 + 0x254660)" * (cast_expression "(int *)(puVar7 + 0x254660)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 0x254660)" ( (binary_expression "puVar7 + 0x254660" identifier + number_literal) )))) + number_literal) , number_literal , number_literal , (binary_expression "*(int *)(puVar7 + 0x25465c) + 0x16f8" (pointer_expression "*(int *)(puVar7 + 0x25465c)" * (cast_expression "(int *)(puVar7 + 0x25465c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 0x25465c)" ( (binary_expression "puVar7 + 0x25465c" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar7 + 0x25465c) + 0x3e28" (pointer_expression "*(int *)(puVar7 + 0x25465c)" * (cast_expression "(int *)(puVar7 + 0x25465c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 0x25465c)" ( (binary_expression "puVar7 + 0x25465c" identifier + number_literal) )))) + number_literal) , (binary_expression "puVar4 + 0x340" identifier + number_literal) ))) ;) (return_statement "return 0;" return number_literal ;) })) (expression_statement "iVar6 = FUN_0014cab8(iVar9,iVar6,puVar8);" (assignment_expression "iVar6 = FUN_0014cab8(iVar9,iVar6,puVar8)" identifier = (call_expression "FUN_0014cab8(iVar9,iVar6,puVar8)" identifier (argument_list "(iVar9,iVar6,puVar8)" ( identifier , identifier , identifier )))) ;) (if_statement "if (iVar6 == 0) {\nLAB_0015438c:\n          uVar1 = 0;\n        }\n        else {\n          **(undefined4 **)(iVar9 + 0x2f0) = *(undefined4 *)(iVar9 + 4);\n          do {\n            uVar1 = FUN_00150e48(puVar4,iVar9,puVar8);\n            if (uVar1 == 0) goto LAB_0015438c;\n            puVar4 = (undefined *)(**(code **)(puVar7 + 0x2551ec))(puVar4);\n          } while (puVar4 != (undefined *)0x0);\n        }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0015438c:\n          uVar1 = 0;\n        }" { (labeled_statement "LAB_0015438c:\n          uVar1 = 0;" statement_identifier : (expression_statement "uVar1 = 0;" (assignment_expression "uVar1 = 0" identifier = number_literal) ;)) }) (else_clause "else {\n          **(undefined4 **)(iVar9 + 0x2f0) = *(undefined4 *)(iVar9 + 4);\n          do {\n            uVar1 = FUN_00150e48(puVar4,iVar9,puVar8);\n            if (uVar1 == 0) goto LAB_0015438c;\n            puVar4 = (undefined *)(**(code **)(puVar7 + 0x2551ec))(puVar4);\n          } while (puVar4 != (undefined *)0x0);\n        }" else (compound_statement "{\n          **(undefined4 **)(iVar9 + 0x2f0) = *(undefined4 *)(iVar9 + 4);\n          do {\n            uVar1 = FUN_00150e48(puVar4,iVar9,puVar8);\n            if (uVar1 == 0) goto LAB_0015438c;\n            puVar4 = (undefined *)(**(code **)(puVar7 + 0x2551ec))(puVar4);\n          } while (puVar4 != (undefined *)0x0);\n        }" { (expression_statement "**(undefined4 **)(iVar9 + 0x2f0) = *(undefined4 *)(iVar9 + 4);" (assignment_expression "**(undefined4 **)(iVar9 + 0x2f0) = *(undefined4 *)(iVar9 + 4)" (pointer_expression "**(undefined4 **)(iVar9 + 0x2f0)" * (pointer_expression "*(undefined4 **)(iVar9 + 0x2f0)" * (cast_expression "(undefined4 **)(iVar9 + 0x2f0)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar9 + 0x2f0)" ( (binary_expression "iVar9 + 0x2f0" identifier + number_literal) ))))) = (pointer_expression "*(undefined4 *)(iVar9 + 4)" * (cast_expression "(undefined4 *)(iVar9 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 4)" ( (binary_expression "iVar9 + 4" identifier + number_literal) ))))) ;) (do_statement "do {\n            uVar1 = FUN_00150e48(puVar4,iVar9,puVar8);\n            if (uVar1 == 0) goto LAB_0015438c;\n            puVar4 = (undefined *)(**(code **)(puVar7 + 0x2551ec))(puVar4);\n          } while (puVar4 != (undefined *)0x0);" do (compound_statement "{\n            uVar1 = FUN_00150e48(puVar4,iVar9,puVar8);\n            if (uVar1 == 0) goto LAB_0015438c;\n            puVar4 = (undefined *)(**(code **)(puVar7 + 0x2551ec))(puVar4);\n          }" { (expression_statement "uVar1 = FUN_00150e48(puVar4,iVar9,puVar8);" (assignment_expression "uVar1 = FUN_00150e48(puVar4,iVar9,puVar8)" identifier = (call_expression "FUN_00150e48(puVar4,iVar9,puVar8)" identifier (argument_list "(puVar4,iVar9,puVar8)" ( identifier , identifier , identifier )))) ;) (if_statement "if (uVar1 == 0) goto LAB_0015438c;" if (parenthesized_expression "(uVar1 == 0)" ( (binary_expression "uVar1 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0015438c;" goto statement_identifier ;)) (expression_statement "puVar4 = (undefined *)(**(code **)(puVar7 + 0x2551ec))(puVar4);" (assignment_expression "puVar4 = (undefined *)(**(code **)(puVar7 + 0x2551ec))(puVar4)" identifier = (cast_expression "(undefined *)(**(code **)(puVar7 + 0x2551ec))(puVar4)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar7 + 0x2551ec))(puVar4)" (parenthesized_expression "(**(code **)(puVar7 + 0x2551ec))" ( (pointer_expression "**(code **)(puVar7 + 0x2551ec)" * (pointer_expression "*(code **)(puVar7 + 0x2551ec)" * (cast_expression "(code **)(puVar7 + 0x2551ec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + 0x2551ec)" ( (binary_expression "puVar7 + 0x2551ec" identifier + number_literal) ))))) )) (argument_list "(puVar4)" ( identifier ))))) ;) }) while (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)) )) ;) }))) (expression_statement "FUN_001508cc(iVar9);" (call_expression "FUN_001508cc(iVar9)" identifier (argument_list "(iVar9)" ( identifier ))) ;) (return_statement "return uVar1;" return identifier ;) })) (goto_statement "goto LAB_001544c4;" goto statement_identifier ;) })) }))) (expression_statement "(**(code **)(puVar7 + 0x255384))\n            (*(int *)(puVar7 + 0x25465c) + 0x1cac,*(int *)(puVar7 + 0x254660) + 0x7d40,0xe31,\n             *(int *)(puVar7 + 0x254660) + 0x7f2c);" (call_expression "(**(code **)(puVar7 + 0x255384))\n            (*(int *)(puVar7 + 0x25465c) + 0x1cac,*(int *)(puVar7 + 0x254660) + 0x7d40,0xe31,\n             *(int *)(puVar7 + 0x254660) + 0x7f2c)" (parenthesized_expression "(**(code **)(puVar7 + 0x255384))" ( (pointer_expression "**(code **)(puVar7 + 0x255384)" * (pointer_expression "*(code **)(puVar7 + 0x255384)" * (cast_expression "(code **)(puVar7 + 0x255384)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + 0x255384)" ( (binary_expression "puVar7 + 0x255384" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar7 + 0x25465c) + 0x1cac,*(int *)(puVar7 + 0x254660) + 0x7d40,0xe31,\n             *(int *)(puVar7 + 0x254660) + 0x7f2c)" ( (binary_expression "*(int *)(puVar7 + 0x25465c) + 0x1cac" (pointer_expression "*(int *)(puVar7 + 0x25465c)" * (cast_expression "(int *)(puVar7 + 0x25465c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 0x25465c)" ( (binary_expression "puVar7 + 0x25465c" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar7 + 0x254660) + 0x7d40" (pointer_expression "*(int *)(puVar7 + 0x254660)" * (cast_expression "(int *)(puVar7 + 0x254660)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 0x254660)" ( (binary_expression "puVar7 + 0x254660" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar7 + 0x254660) + 0x7f2c" (pointer_expression "*(int *)(puVar7 + 0x254660)" * (cast_expression "(int *)(puVar7 + 0x254660)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 0x254660)" ( (binary_expression "puVar7 + 0x254660" identifier + number_literal) )))) + number_literal) ))) ;) (labeled_statement "LAB_00154508:\n  UNRECOVERED_JUMPTABLE = *(code **)(puVar7 + 0x255384);" statement_identifier : (expression_statement "UNRECOVERED_JUMPTABLE = *(code **)(puVar7 + 0x255384);" (assignment_expression "UNRECOVERED_JUMPTABLE = *(code **)(puVar7 + 0x255384)" identifier = (pointer_expression "*(code **)(puVar7 + 0x255384)" * (cast_expression "(code **)(puVar7 + 0x255384)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + 0x255384)" ( (binary_expression "puVar7 + 0x255384" identifier + number_literal) ))))) ;)) (expression_statement "iVar6 = *(int *)(puVar7 + 0x25465c) + 0x1e64;" (assignment_expression "iVar6 = *(int *)(puVar7 + 0x25465c) + 0x1e64" identifier = (binary_expression "*(int *)(puVar7 + 0x25465c) + 0x1e64" (pointer_expression "*(int *)(puVar7 + 0x25465c)" * (cast_expression "(int *)(puVar7 + 0x25465c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 0x25465c)" ( (binary_expression "puVar7 + 0x25465c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*UNRECOVERED_JUMPTABLE)\n            (iVar6,*(int *)(puVar7 + 0x254660) + 0x7d40,0xe2e,*(int *)(puVar7 + 0x254660) + 0x7f2c);" (call_expression "(*UNRECOVERED_JUMPTABLE)\n            (iVar6,*(int *)(puVar7 + 0x254660) + 0x7d40,0xe2e,*(int *)(puVar7 + 0x254660) + 0x7f2c)" (parenthesized_expression "(*UNRECOVERED_JUMPTABLE)" ( (pointer_expression "*UNRECOVERED_JUMPTABLE" * identifier) )) (argument_list "(iVar6,*(int *)(puVar7 + 0x254660) + 0x7d40,0xe2e,*(int *)(puVar7 + 0x254660) + 0x7f2c)" ( identifier , (binary_expression "*(int *)(puVar7 + 0x254660) + 0x7d40" (pointer_expression "*(int *)(puVar7 + 0x254660)" * (cast_expression "(int *)(puVar7 + 0x254660)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 0x254660)" ( (binary_expression "puVar7 + 0x254660" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar7 + 0x254660) + 0x7f2c" (pointer_expression "*(int *)(puVar7 + 0x254660)" * (cast_expression "(int *)(puVar7 + 0x254660)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 0x254660)" ( (binary_expression "puVar7 + 0x254660" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (iVar6 != 0) {\n    if (*(int *)(iVar6 + 100) == -0x54535255) {\n      iVar9 = *(int *)(iVar6 + 0x3c);\n      iVar10 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc);\n      if (iVar9 != 0) {\n        iVar10 = *(int *)(iVar6 + 0x38);\n        iVar13 = *(int *)(iVar6 + 0x40);\n        if (0 < iVar10) {\n          iVar11 = 0;\n          iVar12 = 0;\n          do {\n            if (*(int *)(iVar9 + iVar12) != 0) {\n              iVar9 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x2549f8))();\n              if (*(char *)(iVar9 + iVar13) != -0x55) {\n                iVar10 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                          (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e50,\n                           *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x10e,iVar10);\n                goto LAB_00154650;\n              }\n              puVar3 = (undefined4 *)(*(int *)(iVar6 + 0x3c) + iVar12);\n              uVar2 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254e68))(*puVar3);\n              iVar9 = *(int *)(iVar6 + 0x3c);\n              iVar10 = *(int *)(iVar6 + 0x38);\n              *puVar3 = uVar2;\n            }\n            iVar11 = iVar11 + 1;\n            iVar12 = iVar11 * 4;\n          } while (iVar11 < iVar10);\n        }\n        uVar1 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254a90))(iVar9);\n        *(uint *)(iVar6 + 0x3c) = uVar1;\n        return uVar1;\n      }\nLAB_00154650:\n      (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e80,\n                 *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x102,iVar10 + -0x7b1c);\n    }\n    (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7eb0,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x101,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c);\n  }" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (compound_statement "{\n    if (*(int *)(iVar6 + 100) == -0x54535255) {\n      iVar9 = *(int *)(iVar6 + 0x3c);\n      iVar10 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc);\n      if (iVar9 != 0) {\n        iVar10 = *(int *)(iVar6 + 0x38);\n        iVar13 = *(int *)(iVar6 + 0x40);\n        if (0 < iVar10) {\n          iVar11 = 0;\n          iVar12 = 0;\n          do {\n            if (*(int *)(iVar9 + iVar12) != 0) {\n              iVar9 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x2549f8))();\n              if (*(char *)(iVar9 + iVar13) != -0x55) {\n                iVar10 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                          (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e50,\n                           *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x10e,iVar10);\n                goto LAB_00154650;\n              }\n              puVar3 = (undefined4 *)(*(int *)(iVar6 + 0x3c) + iVar12);\n              uVar2 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254e68))(*puVar3);\n              iVar9 = *(int *)(iVar6 + 0x3c);\n              iVar10 = *(int *)(iVar6 + 0x38);\n              *puVar3 = uVar2;\n            }\n            iVar11 = iVar11 + 1;\n            iVar12 = iVar11 * 4;\n          } while (iVar11 < iVar10);\n        }\n        uVar1 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254a90))(iVar9);\n        *(uint *)(iVar6 + 0x3c) = uVar1;\n        return uVar1;\n      }\nLAB_00154650:\n      (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e80,\n                 *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x102,iVar10 + -0x7b1c);\n    }\n    (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7eb0,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x101,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c);\n  }" { (if_statement "if (*(int *)(iVar6 + 100) == -0x54535255) {\n      iVar9 = *(int *)(iVar6 + 0x3c);\n      iVar10 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc);\n      if (iVar9 != 0) {\n        iVar10 = *(int *)(iVar6 + 0x38);\n        iVar13 = *(int *)(iVar6 + 0x40);\n        if (0 < iVar10) {\n          iVar11 = 0;\n          iVar12 = 0;\n          do {\n            if (*(int *)(iVar9 + iVar12) != 0) {\n              iVar9 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x2549f8))();\n              if (*(char *)(iVar9 + iVar13) != -0x55) {\n                iVar10 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                          (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e50,\n                           *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x10e,iVar10);\n                goto LAB_00154650;\n              }\n              puVar3 = (undefined4 *)(*(int *)(iVar6 + 0x3c) + iVar12);\n              uVar2 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254e68))(*puVar3);\n              iVar9 = *(int *)(iVar6 + 0x3c);\n              iVar10 = *(int *)(iVar6 + 0x38);\n              *puVar3 = uVar2;\n            }\n            iVar11 = iVar11 + 1;\n            iVar12 = iVar11 * 4;\n          } while (iVar11 < iVar10);\n        }\n        uVar1 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254a90))(iVar9);\n        *(uint *)(iVar6 + 0x3c) = uVar1;\n        return uVar1;\n      }\nLAB_00154650:\n      (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e80,\n                 *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x102,iVar10 + -0x7b1c);\n    }" if (parenthesized_expression "(*(int *)(iVar6 + 100) == -0x54535255)" ( (binary_expression "*(int *)(iVar6 + 100) == -0x54535255" (pointer_expression "*(int *)(iVar6 + 100)" * (cast_expression "(int *)(iVar6 + 100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 100)" ( (binary_expression "iVar6 + 100" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      iVar9 = *(int *)(iVar6 + 0x3c);\n      iVar10 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc);\n      if (iVar9 != 0) {\n        iVar10 = *(int *)(iVar6 + 0x38);\n        iVar13 = *(int *)(iVar6 + 0x40);\n        if (0 < iVar10) {\n          iVar11 = 0;\n          iVar12 = 0;\n          do {\n            if (*(int *)(iVar9 + iVar12) != 0) {\n              iVar9 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x2549f8))();\n              if (*(char *)(iVar9 + iVar13) != -0x55) {\n                iVar10 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                          (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e50,\n                           *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x10e,iVar10);\n                goto LAB_00154650;\n              }\n              puVar3 = (undefined4 *)(*(int *)(iVar6 + 0x3c) + iVar12);\n              uVar2 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254e68))(*puVar3);\n              iVar9 = *(int *)(iVar6 + 0x3c);\n              iVar10 = *(int *)(iVar6 + 0x38);\n              *puVar3 = uVar2;\n            }\n            iVar11 = iVar11 + 1;\n            iVar12 = iVar11 * 4;\n          } while (iVar11 < iVar10);\n        }\n        uVar1 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254a90))(iVar9);\n        *(uint *)(iVar6 + 0x3c) = uVar1;\n        return uVar1;\n      }\nLAB_00154650:\n      (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e80,\n                 *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x102,iVar10 + -0x7b1c);\n    }" { (expression_statement "iVar9 = *(int *)(iVar6 + 0x3c);" (assignment_expression "iVar9 = *(int *)(iVar6 + 0x3c)" identifier = (pointer_expression "*(int *)(iVar6 + 0x3c)" * (cast_expression "(int *)(iVar6 + 0x3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x3c)" ( (binary_expression "iVar6 + 0x3c" identifier + number_literal) ))))) ;) (expression_statement "iVar10 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc);" (assignment_expression "iVar10 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc)" identifier = (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x2543bc)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x2543bc" identifier + number_literal) ))))) ;) (if_statement "if (iVar9 != 0) {\n        iVar10 = *(int *)(iVar6 + 0x38);\n        iVar13 = *(int *)(iVar6 + 0x40);\n        if (0 < iVar10) {\n          iVar11 = 0;\n          iVar12 = 0;\n          do {\n            if (*(int *)(iVar9 + iVar12) != 0) {\n              iVar9 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x2549f8))();\n              if (*(char *)(iVar9 + iVar13) != -0x55) {\n                iVar10 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                          (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e50,\n                           *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x10e,iVar10);\n                goto LAB_00154650;\n              }\n              puVar3 = (undefined4 *)(*(int *)(iVar6 + 0x3c) + iVar12);\n              uVar2 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254e68))(*puVar3);\n              iVar9 = *(int *)(iVar6 + 0x3c);\n              iVar10 = *(int *)(iVar6 + 0x38);\n              *puVar3 = uVar2;\n            }\n            iVar11 = iVar11 + 1;\n            iVar12 = iVar11 * 4;\n          } while (iVar11 < iVar10);\n        }\n        uVar1 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254a90))(iVar9);\n        *(uint *)(iVar6 + 0x3c) = uVar1;\n        return uVar1;\n      }" if (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) (compound_statement "{\n        iVar10 = *(int *)(iVar6 + 0x38);\n        iVar13 = *(int *)(iVar6 + 0x40);\n        if (0 < iVar10) {\n          iVar11 = 0;\n          iVar12 = 0;\n          do {\n            if (*(int *)(iVar9 + iVar12) != 0) {\n              iVar9 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x2549f8))();\n              if (*(char *)(iVar9 + iVar13) != -0x55) {\n                iVar10 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                          (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e50,\n                           *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x10e,iVar10);\n                goto LAB_00154650;\n              }\n              puVar3 = (undefined4 *)(*(int *)(iVar6 + 0x3c) + iVar12);\n              uVar2 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254e68))(*puVar3);\n              iVar9 = *(int *)(iVar6 + 0x3c);\n              iVar10 = *(int *)(iVar6 + 0x38);\n              *puVar3 = uVar2;\n            }\n            iVar11 = iVar11 + 1;\n            iVar12 = iVar11 * 4;\n          } while (iVar11 < iVar10);\n        }\n        uVar1 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254a90))(iVar9);\n        *(uint *)(iVar6 + 0x3c) = uVar1;\n        return uVar1;\n      }" { (expression_statement "iVar10 = *(int *)(iVar6 + 0x38);" (assignment_expression "iVar10 = *(int *)(iVar6 + 0x38)" identifier = (pointer_expression "*(int *)(iVar6 + 0x38)" * (cast_expression "(int *)(iVar6 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x38)" ( (binary_expression "iVar6 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "iVar13 = *(int *)(iVar6 + 0x40);" (assignment_expression "iVar13 = *(int *)(iVar6 + 0x40)" identifier = (pointer_expression "*(int *)(iVar6 + 0x40)" * (cast_expression "(int *)(iVar6 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x40)" ( (binary_expression "iVar6 + 0x40" identifier + number_literal) ))))) ;) (if_statement "if (0 < iVar10) {\n          iVar11 = 0;\n          iVar12 = 0;\n          do {\n            if (*(int *)(iVar9 + iVar12) != 0) {\n              iVar9 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x2549f8))();\n              if (*(char *)(iVar9 + iVar13) != -0x55) {\n                iVar10 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                          (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e50,\n                           *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x10e,iVar10);\n                goto LAB_00154650;\n              }\n              puVar3 = (undefined4 *)(*(int *)(iVar6 + 0x3c) + iVar12);\n              uVar2 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254e68))(*puVar3);\n              iVar9 = *(int *)(iVar6 + 0x3c);\n              iVar10 = *(int *)(iVar6 + 0x38);\n              *puVar3 = uVar2;\n            }\n            iVar11 = iVar11 + 1;\n            iVar12 = iVar11 * 4;\n          } while (iVar11 < iVar10);\n        }" if (parenthesized_expression "(0 < iVar10)" ( (binary_expression "0 < iVar10" number_literal < identifier) )) (compound_statement "{\n          iVar11 = 0;\n          iVar12 = 0;\n          do {\n            if (*(int *)(iVar9 + iVar12) != 0) {\n              iVar9 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x2549f8))();\n              if (*(char *)(iVar9 + iVar13) != -0x55) {\n                iVar10 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                          (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e50,\n                           *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x10e,iVar10);\n                goto LAB_00154650;\n              }\n              puVar3 = (undefined4 *)(*(int *)(iVar6 + 0x3c) + iVar12);\n              uVar2 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254e68))(*puVar3);\n              iVar9 = *(int *)(iVar6 + 0x3c);\n              iVar10 = *(int *)(iVar6 + 0x38);\n              *puVar3 = uVar2;\n            }\n            iVar11 = iVar11 + 1;\n            iVar12 = iVar11 * 4;\n          } while (iVar11 < iVar10);\n        }" { (expression_statement "iVar11 = 0;" (assignment_expression "iVar11 = 0" identifier = number_literal) ;) (expression_statement "iVar12 = 0;" (assignment_expression "iVar12 = 0" identifier = number_literal) ;) (do_statement "do {\n            if (*(int *)(iVar9 + iVar12) != 0) {\n              iVar9 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x2549f8))();\n              if (*(char *)(iVar9 + iVar13) != -0x55) {\n                iVar10 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                          (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e50,\n                           *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x10e,iVar10);\n                goto LAB_00154650;\n              }\n              puVar3 = (undefined4 *)(*(int *)(iVar6 + 0x3c) + iVar12);\n              uVar2 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254e68))(*puVar3);\n              iVar9 = *(int *)(iVar6 + 0x3c);\n              iVar10 = *(int *)(iVar6 + 0x38);\n              *puVar3 = uVar2;\n            }\n            iVar11 = iVar11 + 1;\n            iVar12 = iVar11 * 4;\n          } while (iVar11 < iVar10);" do (compound_statement "{\n            if (*(int *)(iVar9 + iVar12) != 0) {\n              iVar9 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x2549f8))();\n              if (*(char *)(iVar9 + iVar13) != -0x55) {\n                iVar10 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                          (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e50,\n                           *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x10e,iVar10);\n                goto LAB_00154650;\n              }\n              puVar3 = (undefined4 *)(*(int *)(iVar6 + 0x3c) + iVar12);\n              uVar2 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254e68))(*puVar3);\n              iVar9 = *(int *)(iVar6 + 0x3c);\n              iVar10 = *(int *)(iVar6 + 0x38);\n              *puVar3 = uVar2;\n            }\n            iVar11 = iVar11 + 1;\n            iVar12 = iVar11 * 4;\n          }" { (if_statement "if (*(int *)(iVar9 + iVar12) != 0) {\n              iVar9 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x2549f8))();\n              if (*(char *)(iVar9 + iVar13) != -0x55) {\n                iVar10 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                          (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e50,\n                           *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x10e,iVar10);\n                goto LAB_00154650;\n              }\n              puVar3 = (undefined4 *)(*(int *)(iVar6 + 0x3c) + iVar12);\n              uVar2 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254e68))(*puVar3);\n              iVar9 = *(int *)(iVar6 + 0x3c);\n              iVar10 = *(int *)(iVar6 + 0x38);\n              *puVar3 = uVar2;\n            }" if (parenthesized_expression "(*(int *)(iVar9 + iVar12) != 0)" ( (binary_expression "*(int *)(iVar9 + iVar12) != 0" (pointer_expression "*(int *)(iVar9 + iVar12)" * (cast_expression "(int *)(iVar9 + iVar12)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + iVar12)" ( (binary_expression "iVar9 + iVar12" identifier + identifier) )))) != number_literal) )) (compound_statement "{\n              iVar9 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x2549f8))();\n              if (*(char *)(iVar9 + iVar13) != -0x55) {\n                iVar10 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                          (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e50,\n                           *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x10e,iVar10);\n                goto LAB_00154650;\n              }\n              puVar3 = (undefined4 *)(*(int *)(iVar6 + 0x3c) + iVar12);\n              uVar2 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254e68))(*puVar3);\n              iVar9 = *(int *)(iVar6 + 0x3c);\n              iVar10 = *(int *)(iVar6 + 0x38);\n              *puVar3 = uVar2;\n            }" { (expression_statement "iVar9 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x2549f8))();" (assignment_expression "iVar9 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x2549f8))()" identifier = (call_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x2549f8))()" (parenthesized_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x2549f8))" ( (pointer_expression "**(code **)(UNRECOVERED_JUMPTABLE + 0x2549f8)" * (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x2549f8)" * (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x2549f8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x2549f8)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x2549f8" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if (*(char *)(iVar9 + iVar13) != -0x55) {\n                iVar10 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                          (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e50,\n                           *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x10e,iVar10);\n                goto LAB_00154650;\n              }" if (parenthesized_expression "(*(char *)(iVar9 + iVar13) != -0x55)" ( (binary_expression "*(char *)(iVar9 + iVar13) != -0x55" (pointer_expression "*(char *)(iVar9 + iVar13)" * (cast_expression "(char *)(iVar9 + iVar13)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + iVar13)" ( (binary_expression "iVar9 + iVar13" identifier + identifier) )))) != number_literal) )) (compound_statement "{\n                iVar10 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                          (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e50,\n                           *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x10e,iVar10);\n                goto LAB_00154650;\n              }" { (expression_statement "iVar10 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c;" (assignment_expression "iVar10 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c" identifier = (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x2543bc)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x2543bc" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                          (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e50,\n                           *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x10e,iVar10);" (call_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                          (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e50,\n                           *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x10e,iVar10)" (parenthesized_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))" ( (pointer_expression "**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8)" * (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8)" * (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x2550d8)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x2550d8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e50,\n                           *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x10e,iVar10)" ( (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e50" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x2543bc)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x2543bc" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x2543bc)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x2543bc" identifier + number_literal) )))) + number_literal) , number_literal , identifier ))) ;) (goto_statement "goto LAB_00154650;" goto statement_identifier ;) })) (expression_statement "puVar3 = (undefined4 *)(*(int *)(iVar6 + 0x3c) + iVar12);" (assignment_expression "puVar3 = (undefined4 *)(*(int *)(iVar6 + 0x3c) + iVar12)" identifier = (cast_expression "(undefined4 *)(*(int *)(iVar6 + 0x3c) + iVar12)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar6 + 0x3c) + iVar12)" ( (binary_expression "*(int *)(iVar6 + 0x3c) + iVar12" (pointer_expression "*(int *)(iVar6 + 0x3c)" * (cast_expression "(int *)(iVar6 + 0x3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x3c)" ( (binary_expression "iVar6 + 0x3c" identifier + number_literal) )))) + identifier) )))) ;) (expression_statement "uVar2 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254e68))(*puVar3);" (assignment_expression "uVar2 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254e68))(*puVar3)" identifier = (call_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x254e68))(*puVar3)" (parenthesized_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x254e68))" ( (pointer_expression "**(code **)(UNRECOVERED_JUMPTABLE + 0x254e68)" * (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x254e68)" * (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x254e68)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x254e68)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x254e68" identifier + number_literal) ))))) )) (argument_list "(*puVar3)" ( (pointer_expression "*puVar3" * identifier) )))) ;) (expression_statement "iVar9 = *(int *)(iVar6 + 0x3c);" (assignment_expression "iVar9 = *(int *)(iVar6 + 0x3c)" identifier = (pointer_expression "*(int *)(iVar6 + 0x3c)" * (cast_expression "(int *)(iVar6 + 0x3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x3c)" ( (binary_expression "iVar6 + 0x3c" identifier + number_literal) ))))) ;) (expression_statement "iVar10 = *(int *)(iVar6 + 0x38);" (assignment_expression "iVar10 = *(int *)(iVar6 + 0x38)" identifier = (pointer_expression "*(int *)(iVar6 + 0x38)" * (cast_expression "(int *)(iVar6 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x38)" ( (binary_expression "iVar6 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "*puVar3 = uVar2;" (assignment_expression "*puVar3 = uVar2" (pointer_expression "*puVar3" * identifier) = identifier) ;) })) (expression_statement "iVar11 = iVar11 + 1;" (assignment_expression "iVar11 = iVar11 + 1" identifier = (binary_expression "iVar11 + 1" identifier + number_literal)) ;) (expression_statement "iVar12 = iVar11 * 4;" (assignment_expression "iVar12 = iVar11 * 4" identifier = (binary_expression "iVar11 * 4" identifier * number_literal)) ;) }) while (parenthesized_expression "(iVar11 < iVar10)" ( (binary_expression "iVar11 < iVar10" identifier < identifier) )) ;) })) (expression_statement "uVar1 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254a90))(iVar9);" (assignment_expression "uVar1 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254a90))(iVar9)" identifier = (call_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x254a90))(iVar9)" (parenthesized_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x254a90))" ( (pointer_expression "**(code **)(UNRECOVERED_JUMPTABLE + 0x254a90)" * (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x254a90)" * (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x254a90)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x254a90)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x254a90" identifier + number_literal) ))))) )) (argument_list "(iVar9)" ( identifier )))) ;) (expression_statement "*(uint *)(iVar6 + 0x3c) = uVar1;" (assignment_expression "*(uint *)(iVar6 + 0x3c) = uVar1" (pointer_expression "*(uint *)(iVar6 + 0x3c)" * (cast_expression "(uint *)(iVar6 + 0x3c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x3c)" ( (binary_expression "iVar6 + 0x3c" identifier + number_literal) )))) = identifier) ;) (return_statement "return uVar1;" return identifier ;) })) (labeled_statement "LAB_00154650:\n      (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e80,\n                 *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x102,iVar10 + -0x7b1c);" statement_identifier : (expression_statement "(**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e80,\n                 *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x102,iVar10 + -0x7b1c);" (call_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e80,\n                 *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x102,iVar10 + -0x7b1c)" (parenthesized_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))" ( (pointer_expression "**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8)" * (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8)" * (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x2550d8)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x2550d8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e80,\n                 *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x102,iVar10 + -0x7b1c)" ( (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e80" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x2543bc)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x2543bc" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x2543bc)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x2543bc" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "iVar10 + -0x7b1c" identifier + number_literal) ))) ;)) })) (expression_statement "(**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7eb0,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x101,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c);" (call_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7eb0,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x101,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c)" (parenthesized_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))" ( (pointer_expression "**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8)" * (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8)" * (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x2550d8)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x2550d8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7eb0,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x101,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c)" ( (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7eb0" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x2543bc)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x2543bc" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x2543bc)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x2543bc" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x2543bc)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x2543bc" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "pcVar14 = *(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8);" (assignment_expression "pcVar14 = *(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8)" identifier = (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8)" * (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x2550d8)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x2550d8" identifier + number_literal) ))))) ;) (expression_statement "iVar6 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ed8;" (assignment_expression "iVar6 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ed8" identifier = (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ed8" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x2543bc)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x2543bc" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar14)(iVar6,*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x100,\n             *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c);" (call_expression "(*pcVar14)(iVar6,*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x100,\n             *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c)" (parenthesized_expression "(*pcVar14)" ( (pointer_expression "*pcVar14" * identifier) )) (argument_list "(iVar6,*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x100,\n             *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c)" ( identifier , (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x2543bc)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x2543bc" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x2543bc)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x2543bc" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (iVar6 == 0) {\n    (**(code **)(pcVar14 + 0x254f50))\n              (*(int *)(pcVar14 + 0x254234) + -0x7ed8,*(int *)(pcVar14 + 0x254234) + -0x7ef0,0xd7,\n               *(int *)(pcVar14 + 0x254234) + -0x7b04);\n  }\n  else if (*(int *)(iVar6 + 100) == -0x54535255) {\n    if (*(int *)(iVar6 + 0x3c) != 0) {\n      FUN_00154530();\n    }\n    if (*(int *)(iVar6 + 0x60) != 0) {\n      (**(code **)(pcVar14 + 0x255298))(iVar6 + 0x60);\n    }\n    UNRECOVERED_JUMPTABLE = *(code **)(pcVar14 + 0x254908);\n    *(undefined4 *)(iVar6 + 100) = 0x54535254;\n                    /* WARNING: Could not recover jumptable at 0x0015473c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    uVar1 = (*UNRECOVERED_JUMPTABLE)(iVar6);\n    return uVar1;\n  }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n    (**(code **)(pcVar14 + 0x254f50))\n              (*(int *)(pcVar14 + 0x254234) + -0x7ed8,*(int *)(pcVar14 + 0x254234) + -0x7ef0,0xd7,\n               *(int *)(pcVar14 + 0x254234) + -0x7b04);\n  }" { (expression_statement "(**(code **)(pcVar14 + 0x254f50))\n              (*(int *)(pcVar14 + 0x254234) + -0x7ed8,*(int *)(pcVar14 + 0x254234) + -0x7ef0,0xd7,\n               *(int *)(pcVar14 + 0x254234) + -0x7b04);" (call_expression "(**(code **)(pcVar14 + 0x254f50))\n              (*(int *)(pcVar14 + 0x254234) + -0x7ed8,*(int *)(pcVar14 + 0x254234) + -0x7ef0,0xd7,\n               *(int *)(pcVar14 + 0x254234) + -0x7b04)" (parenthesized_expression "(**(code **)(pcVar14 + 0x254f50))" ( (pointer_expression "**(code **)(pcVar14 + 0x254f50)" * (pointer_expression "*(code **)(pcVar14 + 0x254f50)" * (cast_expression "(code **)(pcVar14 + 0x254f50)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar14 + 0x254f50)" ( (binary_expression "pcVar14 + 0x254f50" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar14 + 0x254234) + -0x7ed8,*(int *)(pcVar14 + 0x254234) + -0x7ef0,0xd7,\n               *(int *)(pcVar14 + 0x254234) + -0x7b04)" ( (binary_expression "*(int *)(pcVar14 + 0x254234) + -0x7ed8" (pointer_expression "*(int *)(pcVar14 + 0x254234)" * (cast_expression "(int *)(pcVar14 + 0x254234)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x254234)" ( (binary_expression "pcVar14 + 0x254234" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar14 + 0x254234) + -0x7ef0" (pointer_expression "*(int *)(pcVar14 + 0x254234)" * (cast_expression "(int *)(pcVar14 + 0x254234)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x254234)" ( (binary_expression "pcVar14 + 0x254234" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar14 + 0x254234) + -0x7b04" (pointer_expression "*(int *)(pcVar14 + 0x254234)" * (cast_expression "(int *)(pcVar14 + 0x254234)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x254234)" ( (binary_expression "pcVar14 + 0x254234" identifier + number_literal) )))) + number_literal) ))) ;) }) (else_clause "else if (*(int *)(iVar6 + 100) == -0x54535255) {\n    if (*(int *)(iVar6 + 0x3c) != 0) {\n      FUN_00154530();\n    }\n    if (*(int *)(iVar6 + 0x60) != 0) {\n      (**(code **)(pcVar14 + 0x255298))(iVar6 + 0x60);\n    }\n    UNRECOVERED_JUMPTABLE = *(code **)(pcVar14 + 0x254908);\n    *(undefined4 *)(iVar6 + 100) = 0x54535254;\n                    /* WARNING: Could not recover jumptable at 0x0015473c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    uVar1 = (*UNRECOVERED_JUMPTABLE)(iVar6);\n    return uVar1;\n  }" else (if_statement "if (*(int *)(iVar6 + 100) == -0x54535255) {\n    if (*(int *)(iVar6 + 0x3c) != 0) {\n      FUN_00154530();\n    }\n    if (*(int *)(iVar6 + 0x60) != 0) {\n      (**(code **)(pcVar14 + 0x255298))(iVar6 + 0x60);\n    }\n    UNRECOVERED_JUMPTABLE = *(code **)(pcVar14 + 0x254908);\n    *(undefined4 *)(iVar6 + 100) = 0x54535254;\n                    /* WARNING: Could not recover jumptable at 0x0015473c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    uVar1 = (*UNRECOVERED_JUMPTABLE)(iVar6);\n    return uVar1;\n  }" if (parenthesized_expression "(*(int *)(iVar6 + 100) == -0x54535255)" ( (binary_expression "*(int *)(iVar6 + 100) == -0x54535255" (pointer_expression "*(int *)(iVar6 + 100)" * (cast_expression "(int *)(iVar6 + 100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 100)" ( (binary_expression "iVar6 + 100" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    if (*(int *)(iVar6 + 0x3c) != 0) {\n      FUN_00154530();\n    }\n    if (*(int *)(iVar6 + 0x60) != 0) {\n      (**(code **)(pcVar14 + 0x255298))(iVar6 + 0x60);\n    }\n    UNRECOVERED_JUMPTABLE = *(code **)(pcVar14 + 0x254908);\n    *(undefined4 *)(iVar6 + 100) = 0x54535254;\n                    /* WARNING: Could not recover jumptable at 0x0015473c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    uVar1 = (*UNRECOVERED_JUMPTABLE)(iVar6);\n    return uVar1;\n  }" { (if_statement "if (*(int *)(iVar6 + 0x3c) != 0) {\n      FUN_00154530();\n    }" if (parenthesized_expression "(*(int *)(iVar6 + 0x3c) != 0)" ( (binary_expression "*(int *)(iVar6 + 0x3c) != 0" (pointer_expression "*(int *)(iVar6 + 0x3c)" * (cast_expression "(int *)(iVar6 + 0x3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x3c)" ( (binary_expression "iVar6 + 0x3c" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      FUN_00154530();\n    }" { (expression_statement "FUN_00154530();" (call_expression "FUN_00154530()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (*(int *)(iVar6 + 0x60) != 0) {\n      (**(code **)(pcVar14 + 0x255298))(iVar6 + 0x60);\n    }" if (parenthesized_expression "(*(int *)(iVar6 + 0x60) != 0)" ( (binary_expression "*(int *)(iVar6 + 0x60) != 0" (pointer_expression "*(int *)(iVar6 + 0x60)" * (cast_expression "(int *)(iVar6 + 0x60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x60)" ( (binary_expression "iVar6 + 0x60" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      (**(code **)(pcVar14 + 0x255298))(iVar6 + 0x60);\n    }" { (expression_statement "(**(code **)(pcVar14 + 0x255298))(iVar6 + 0x60);" (call_expression "(**(code **)(pcVar14 + 0x255298))(iVar6 + 0x60)" (parenthesized_expression "(**(code **)(pcVar14 + 0x255298))" ( (pointer_expression "**(code **)(pcVar14 + 0x255298)" * (pointer_expression "*(code **)(pcVar14 + 0x255298)" * (cast_expression "(code **)(pcVar14 + 0x255298)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar14 + 0x255298)" ( (binary_expression "pcVar14 + 0x255298" identifier + number_literal) ))))) )) (argument_list "(iVar6 + 0x60)" ( (binary_expression "iVar6 + 0x60" identifier + number_literal) ))) ;) })) (expression_statement "UNRECOVERED_JUMPTABLE = *(code **)(pcVar14 + 0x254908);" (assignment_expression "UNRECOVERED_JUMPTABLE = *(code **)(pcVar14 + 0x254908)" identifier = (pointer_expression "*(code **)(pcVar14 + 0x254908)" * (cast_expression "(code **)(pcVar14 + 0x254908)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar14 + 0x254908)" ( (binary_expression "pcVar14 + 0x254908" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(iVar6 + 100) = 0x54535254;" (assignment_expression "*(undefined4 *)(iVar6 + 100) = 0x54535254" (pointer_expression "*(undefined4 *)(iVar6 + 100)" * (cast_expression "(undefined4 *)(iVar6 + 100)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 100)" ( (binary_expression "iVar6 + 100" identifier + number_literal) )))) = number_literal) ;) comment comment (expression_statement "uVar1 = (*UNRECOVERED_JUMPTABLE)(iVar6);" (assignment_expression "uVar1 = (*UNRECOVERED_JUMPTABLE)(iVar6)" identifier = (call_expression "(*UNRECOVERED_JUMPTABLE)(iVar6)" (parenthesized_expression "(*UNRECOVERED_JUMPTABLE)" ( (pointer_expression "*UNRECOVERED_JUMPTABLE" * identifier) )) (argument_list "(iVar6)" ( identifier )))) ;) (return_statement "return uVar1;" return identifier ;) })))) (expression_statement "iVar9 = 0xd8;" (assignment_expression "iVar9 = 0xd8" identifier = number_literal) ;) (expression_statement "UNRECOVERED_JUMPTABLE = *(code **)(pcVar14 + 0x254f50);" (assignment_expression "UNRECOVERED_JUMPTABLE = *(code **)(pcVar14 + 0x254f50)" identifier = (pointer_expression "*(code **)(pcVar14 + 0x254f50)" * (cast_expression "(code **)(pcVar14 + 0x254f50)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar14 + 0x254f50)" ( (binary_expression "pcVar14 + 0x254f50" identifier + number_literal) ))))) ;) (expression_statement "piVar5 = (int *)(*(int *)(pcVar14 + 0x254234) + -0x7ef0);" (assignment_expression "piVar5 = (int *)(*(int *)(pcVar14 + 0x254234) + -0x7ef0)" identifier = (cast_expression "(int *)(*(int *)(pcVar14 + 0x254234) + -0x7ef0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar14 + 0x254234) + -0x7ef0)" ( (binary_expression "*(int *)(pcVar14 + 0x254234) + -0x7ef0" (pointer_expression "*(int *)(pcVar14 + 0x254234)" * (cast_expression "(int *)(pcVar14 + 0x254234)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x254234)" ( (binary_expression "pcVar14 + 0x254234" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar6 = *(int *)(pcVar14 + 0x254234) + -0x7eb0;" (assignment_expression "iVar6 = *(int *)(pcVar14 + 0x254234) + -0x7eb0" identifier = (binary_expression "*(int *)(pcVar14 + 0x254234) + -0x7eb0" (pointer_expression "*(int *)(pcVar14 + 0x254234)" * (cast_expression "(int *)(pcVar14 + 0x254234)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x254234)" ( (binary_expression "pcVar14 + 0x254234" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*UNRECOVERED_JUMPTABLE)();" (call_expression "(*UNRECOVERED_JUMPTABLE)()" (parenthesized_expression "(*UNRECOVERED_JUMPTABLE)" ( (pointer_expression "*UNRECOVERED_JUMPTABLE" * identifier) )) (argument_list "()" ( ))) ;) (if_statement "if (piVar5 != (int *)0x0) {\n    if (piVar5[0x19] == -0x54535255) {\n      iVar10 = 1;\n      if (iVar9 - 2U < 0x18) {\n        iVar6 = *(int *)(iVar6 + 0x18);\n        iVar10 = *(int *)((iVar9 - 2U) * 4 + *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7dc0);\n        iVar13 = piVar5[0xc];\n        iVar9 = *piVar5;\n      }\n      else {\n        iVar13 = piVar5[0xc];\n        iVar6 = *(int *)(iVar6 + 0x18);\n        iVar9 = *piVar5;\n      }\n      if (iVar13 != 0) {\n        return iVar6 * iVar9 * iVar10 + 7U >> 3;\n      }\n      return (iVar9 + 7U >> 3) * iVar6 * iVar10;\n    }\n    (**(code **)(UNRECOVERED_JUMPTABLE + 0x254e7c))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7eb0,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7ef0,0x139,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7b30,UNRECOVERED_JUMPTABLE + 0x25c124\n              );\n  }" if (parenthesized_expression "(piVar5 != (int *)0x0)" ( (binary_expression "piVar5 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (piVar5[0x19] == -0x54535255) {\n      iVar10 = 1;\n      if (iVar9 - 2U < 0x18) {\n        iVar6 = *(int *)(iVar6 + 0x18);\n        iVar10 = *(int *)((iVar9 - 2U) * 4 + *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7dc0);\n        iVar13 = piVar5[0xc];\n        iVar9 = *piVar5;\n      }\n      else {\n        iVar13 = piVar5[0xc];\n        iVar6 = *(int *)(iVar6 + 0x18);\n        iVar9 = *piVar5;\n      }\n      if (iVar13 != 0) {\n        return iVar6 * iVar9 * iVar10 + 7U >> 3;\n      }\n      return (iVar9 + 7U >> 3) * iVar6 * iVar10;\n    }\n    (**(code **)(UNRECOVERED_JUMPTABLE + 0x254e7c))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7eb0,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7ef0,0x139,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7b30,UNRECOVERED_JUMPTABLE + 0x25c124\n              );\n  }" { (if_statement "if (piVar5[0x19] == -0x54535255) {\n      iVar10 = 1;\n      if (iVar9 - 2U < 0x18) {\n        iVar6 = *(int *)(iVar6 + 0x18);\n        iVar10 = *(int *)((iVar9 - 2U) * 4 + *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7dc0);\n        iVar13 = piVar5[0xc];\n        iVar9 = *piVar5;\n      }\n      else {\n        iVar13 = piVar5[0xc];\n        iVar6 = *(int *)(iVar6 + 0x18);\n        iVar9 = *piVar5;\n      }\n      if (iVar13 != 0) {\n        return iVar6 * iVar9 * iVar10 + 7U >> 3;\n      }\n      return (iVar9 + 7U >> 3) * iVar6 * iVar10;\n    }" if (parenthesized_expression "(piVar5[0x19] == -0x54535255)" ( (binary_expression "piVar5[0x19] == -0x54535255" (subscript_expression "piVar5[0x19]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n      iVar10 = 1;\n      if (iVar9 - 2U < 0x18) {\n        iVar6 = *(int *)(iVar6 + 0x18);\n        iVar10 = *(int *)((iVar9 - 2U) * 4 + *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7dc0);\n        iVar13 = piVar5[0xc];\n        iVar9 = *piVar5;\n      }\n      else {\n        iVar13 = piVar5[0xc];\n        iVar6 = *(int *)(iVar6 + 0x18);\n        iVar9 = *piVar5;\n      }\n      if (iVar13 != 0) {\n        return iVar6 * iVar9 * iVar10 + 7U >> 3;\n      }\n      return (iVar9 + 7U >> 3) * iVar6 * iVar10;\n    }" { (expression_statement "iVar10 = 1;" (assignment_expression "iVar10 = 1" identifier = number_literal) ;) (if_statement "if (iVar9 - 2U < 0x18) {\n        iVar6 = *(int *)(iVar6 + 0x18);\n        iVar10 = *(int *)((iVar9 - 2U) * 4 + *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7dc0);\n        iVar13 = piVar5[0xc];\n        iVar9 = *piVar5;\n      }\n      else {\n        iVar13 = piVar5[0xc];\n        iVar6 = *(int *)(iVar6 + 0x18);\n        iVar9 = *piVar5;\n      }" if (parenthesized_expression "(iVar9 - 2U < 0x18)" ( (binary_expression "iVar9 - 2U < 0x18" (binary_expression "iVar9 - 2U" identifier - number_literal) < number_literal) )) (compound_statement "{\n        iVar6 = *(int *)(iVar6 + 0x18);\n        iVar10 = *(int *)((iVar9 - 2U) * 4 + *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7dc0);\n        iVar13 = piVar5[0xc];\n        iVar9 = *piVar5;\n      }" { (expression_statement "iVar6 = *(int *)(iVar6 + 0x18);" (assignment_expression "iVar6 = *(int *)(iVar6 + 0x18)" identifier = (pointer_expression "*(int *)(iVar6 + 0x18)" * (cast_expression "(int *)(iVar6 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x18)" ( (binary_expression "iVar6 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "iVar10 = *(int *)((iVar9 - 2U) * 4 + *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7dc0);" (assignment_expression "iVar10 = *(int *)((iVar9 - 2U) * 4 + *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7dc0)" identifier = (pointer_expression "*(int *)((iVar9 - 2U) * 4 + *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7dc0)" * (cast_expression "(int *)((iVar9 - 2U) * 4 + *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7dc0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((iVar9 - 2U) * 4 + *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7dc0)" ( (binary_expression "(iVar9 - 2U) * 4 + *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7dc0" (binary_expression "(iVar9 - 2U) * 4 + *(int *)(UNRECOVERED_JUMPTABLE + 0x254160)" (binary_expression "(iVar9 - 2U) * 4" (parenthesized_expression "(iVar9 - 2U)" ( (binary_expression "iVar9 - 2U" identifier - number_literal) )) * number_literal) + (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x254160)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x254160)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x254160)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x254160" identifier + number_literal) ))))) + number_literal) ))))) ;) (expression_statement "iVar13 = piVar5[0xc];" (assignment_expression "iVar13 = piVar5[0xc]" identifier = (subscript_expression "piVar5[0xc]" identifier [ number_literal ])) ;) (expression_statement "iVar9 = *piVar5;" (assignment_expression "iVar9 = *piVar5" identifier = (pointer_expression "*piVar5" * identifier)) ;) }) (else_clause "else {\n        iVar13 = piVar5[0xc];\n        iVar6 = *(int *)(iVar6 + 0x18);\n        iVar9 = *piVar5;\n      }" else (compound_statement "{\n        iVar13 = piVar5[0xc];\n        iVar6 = *(int *)(iVar6 + 0x18);\n        iVar9 = *piVar5;\n      }" { (expression_statement "iVar13 = piVar5[0xc];" (assignment_expression "iVar13 = piVar5[0xc]" identifier = (subscript_expression "piVar5[0xc]" identifier [ number_literal ])) ;) (expression_statement "iVar6 = *(int *)(iVar6 + 0x18);" (assignment_expression "iVar6 = *(int *)(iVar6 + 0x18)" identifier = (pointer_expression "*(int *)(iVar6 + 0x18)" * (cast_expression "(int *)(iVar6 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x18)" ( (binary_expression "iVar6 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "iVar9 = *piVar5;" (assignment_expression "iVar9 = *piVar5" identifier = (pointer_expression "*piVar5" * identifier)) ;) }))) (if_statement "if (iVar13 != 0) {\n        return iVar6 * iVar9 * iVar10 + 7U >> 3;\n      }" if (parenthesized_expression "(iVar13 != 0)" ( (binary_expression "iVar13 != 0" identifier != number_literal) )) (compound_statement "{\n        return iVar6 * iVar9 * iVar10 + 7U >> 3;\n      }" { (return_statement "return iVar6 * iVar9 * iVar10 + 7U >> 3;" return (binary_expression "iVar6 * iVar9 * iVar10 + 7U >> 3" (binary_expression "iVar6 * iVar9 * iVar10 + 7U" (binary_expression "iVar6 * iVar9 * iVar10" (binary_expression "iVar6 * iVar9" identifier * identifier) * identifier) + number_literal) >> number_literal) ;) })) (return_statement "return (iVar9 + 7U >> 3) * iVar6 * iVar10;" return (binary_expression "(iVar9 + 7U >> 3) * iVar6 * iVar10" (binary_expression "(iVar9 + 7U >> 3) * iVar6" (parenthesized_expression "(iVar9 + 7U >> 3)" ( (binary_expression "iVar9 + 7U >> 3" (binary_expression "iVar9 + 7U" identifier + number_literal) >> number_literal) )) * identifier) * identifier) ;) })) (expression_statement "(**(code **)(UNRECOVERED_JUMPTABLE + 0x254e7c))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7eb0,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7ef0,0x139,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7b30,UNRECOVERED_JUMPTABLE + 0x25c124\n              );" (call_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x254e7c))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7eb0,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7ef0,0x139,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7b30,UNRECOVERED_JUMPTABLE + 0x25c124\n              )" (parenthesized_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x254e7c))" ( (pointer_expression "**(code **)(UNRECOVERED_JUMPTABLE + 0x254e7c)" * (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x254e7c)" * (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x254e7c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x254e7c)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x254e7c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7eb0,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7ef0,0x139,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7b30,UNRECOVERED_JUMPTABLE + 0x25c124\n              )" ( (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7eb0" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x254160)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x254160)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x254160)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x254160" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7ef0" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x254160)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x254160)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x254160)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x254160" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7b30" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x254160)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x254160)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x254160)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x254160" identifier + number_literal) )))) + number_literal) , (binary_expression "UNRECOVERED_JUMPTABLE + 0x25c124" identifier + number_literal) ))) ;) })) (expression_statement "pcVar14 = *(code **)(UNRECOVERED_JUMPTABLE + 0x254e7c);" (assignment_expression "pcVar14 = *(code **)(UNRECOVERED_JUMPTABLE + 0x254e7c)" identifier = (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x254e7c)" * (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x254e7c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x254e7c)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x254e7c" identifier + number_literal) ))))) ;) (expression_statement "iVar6 = *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7ed8;" (assignment_expression "iVar6 = *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7ed8" identifier = (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7ed8" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x254160)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x254160)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x254160)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x254160" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar14)(iVar6,*(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7ef0,0x138,\n             *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7b30);" (call_expression "(*pcVar14)(iVar6,*(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7ef0,0x138,\n             *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7b30)" (parenthesized_expression "(*pcVar14)" ( (pointer_expression "*pcVar14" * identifier) )) (argument_list "(iVar6,*(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7ef0,0x138,\n             *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7b30)" ( identifier , (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7ef0" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x254160)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x254160)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x254160)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x254160" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7b30" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x254160)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x254160)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x254160)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x254160" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (iVar6 == 0) {\n    uVar1 = (**(code **)(pcVar14 + 0x254d8c))\n                      (*(int *)(pcVar14 + 0x254070) + -0x7ed8,*(int *)(pcVar14 + 0x254070) + -0x7ef0\n                       ,0x168,*(int *)(pcVar14 + 0x254070) + -0x7b44,pcVar14 + 0x25c034);\n    return uVar1;\n  }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n    uVar1 = (**(code **)(pcVar14 + 0x254d8c))\n                      (*(int *)(pcVar14 + 0x254070) + -0x7ed8,*(int *)(pcVar14 + 0x254070) + -0x7ef0\n                       ,0x168,*(int *)(pcVar14 + 0x254070) + -0x7b44,pcVar14 + 0x25c034);\n    return uVar1;\n  }" { (expression_statement "uVar1 = (**(code **)(pcVar14 + 0x254d8c))\n                      (*(int *)(pcVar14 + 0x254070) + -0x7ed8,*(int *)(pcVar14 + 0x254070) + -0x7ef0\n                       ,0x168,*(int *)(pcVar14 + 0x254070) + -0x7b44,pcVar14 + 0x25c034);" (assignment_expression "uVar1 = (**(code **)(pcVar14 + 0x254d8c))\n                      (*(int *)(pcVar14 + 0x254070) + -0x7ed8,*(int *)(pcVar14 + 0x254070) + -0x7ef0\n                       ,0x168,*(int *)(pcVar14 + 0x254070) + -0x7b44,pcVar14 + 0x25c034)" identifier = (call_expression "(**(code **)(pcVar14 + 0x254d8c))\n                      (*(int *)(pcVar14 + 0x254070) + -0x7ed8,*(int *)(pcVar14 + 0x254070) + -0x7ef0\n                       ,0x168,*(int *)(pcVar14 + 0x254070) + -0x7b44,pcVar14 + 0x25c034)" (parenthesized_expression "(**(code **)(pcVar14 + 0x254d8c))" ( (pointer_expression "**(code **)(pcVar14 + 0x254d8c)" * (pointer_expression "*(code **)(pcVar14 + 0x254d8c)" * (cast_expression "(code **)(pcVar14 + 0x254d8c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar14 + 0x254d8c)" ( (binary_expression "pcVar14 + 0x254d8c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar14 + 0x254070) + -0x7ed8,*(int *)(pcVar14 + 0x254070) + -0x7ef0\n                       ,0x168,*(int *)(pcVar14 + 0x254070) + -0x7b44,pcVar14 + 0x25c034)" ( (binary_expression "*(int *)(pcVar14 + 0x254070) + -0x7ed8" (pointer_expression "*(int *)(pcVar14 + 0x254070)" * (cast_expression "(int *)(pcVar14 + 0x254070)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x254070)" ( (binary_expression "pcVar14 + 0x254070" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar14 + 0x254070) + -0x7ef0" (pointer_expression "*(int *)(pcVar14 + 0x254070)" * (cast_expression "(int *)(pcVar14 + 0x254070)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x254070)" ( (binary_expression "pcVar14 + 0x254070" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar14 + 0x254070) + -0x7b44" (pointer_expression "*(int *)(pcVar14 + 0x254070)" * (cast_expression "(int *)(pcVar14 + 0x254070)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x254070)" ( (binary_expression "pcVar14 + 0x254070" identifier + number_literal) )))) + number_literal) , (binary_expression "pcVar14 + 0x25c034" identifier + number_literal) )))) ;) (return_statement "return uVar1;" return identifier ;) })) (if_statement "if (*(int *)(iVar6 + 100) != -0x54535255) {\n    uVar1 = (**(code **)(pcVar14 + 0x254d8c))\n                      (*(int *)(pcVar14 + 0x254070) + -0x7eb0,*(int *)(pcVar14 + 0x254070) + -0x7ef0\n                       ,0x169,*(int *)(pcVar14 + 0x254070) + -0x7b44);\n    return uVar1;\n  }" if (parenthesized_expression "(*(int *)(iVar6 + 100) != -0x54535255)" ( (binary_expression "*(int *)(iVar6 + 100) != -0x54535255" (pointer_expression "*(int *)(iVar6 + 100)" * (cast_expression "(int *)(iVar6 + 100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 100)" ( (binary_expression "iVar6 + 100" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    uVar1 = (**(code **)(pcVar14 + 0x254d8c))\n                      (*(int *)(pcVar14 + 0x254070) + -0x7eb0,*(int *)(pcVar14 + 0x254070) + -0x7ef0\n                       ,0x169,*(int *)(pcVar14 + 0x254070) + -0x7b44);\n    return uVar1;\n  }" { (expression_statement "uVar1 = (**(code **)(pcVar14 + 0x254d8c))\n                      (*(int *)(pcVar14 + 0x254070) + -0x7eb0,*(int *)(pcVar14 + 0x254070) + -0x7ef0\n                       ,0x169,*(int *)(pcVar14 + 0x254070) + -0x7b44);" (assignment_expression "uVar1 = (**(code **)(pcVar14 + 0x254d8c))\n                      (*(int *)(pcVar14 + 0x254070) + -0x7eb0,*(int *)(pcVar14 + 0x254070) + -0x7ef0\n                       ,0x169,*(int *)(pcVar14 + 0x254070) + -0x7b44)" identifier = (call_expression "(**(code **)(pcVar14 + 0x254d8c))\n                      (*(int *)(pcVar14 + 0x254070) + -0x7eb0,*(int *)(pcVar14 + 0x254070) + -0x7ef0\n                       ,0x169,*(int *)(pcVar14 + 0x254070) + -0x7b44)" (parenthesized_expression "(**(code **)(pcVar14 + 0x254d8c))" ( (pointer_expression "**(code **)(pcVar14 + 0x254d8c)" * (pointer_expression "*(code **)(pcVar14 + 0x254d8c)" * (cast_expression "(code **)(pcVar14 + 0x254d8c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar14 + 0x254d8c)" ( (binary_expression "pcVar14 + 0x254d8c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar14 + 0x254070) + -0x7eb0,*(int *)(pcVar14 + 0x254070) + -0x7ef0\n                       ,0x169,*(int *)(pcVar14 + 0x254070) + -0x7b44)" ( (binary_expression "*(int *)(pcVar14 + 0x254070) + -0x7eb0" (pointer_expression "*(int *)(pcVar14 + 0x254070)" * (cast_expression "(int *)(pcVar14 + 0x254070)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x254070)" ( (binary_expression "pcVar14 + 0x254070" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar14 + 0x254070) + -0x7ef0" (pointer_expression "*(int *)(pcVar14 + 0x254070)" * (cast_expression "(int *)(pcVar14 + 0x254070)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x254070)" ( (binary_expression "pcVar14 + 0x254070" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar14 + 0x254070) + -0x7b44" (pointer_expression "*(int *)(pcVar14 + 0x254070)" * (cast_expression "(int *)(pcVar14 + 0x254070)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x254070)" ( (binary_expression "pcVar14 + 0x254070" identifier + number_literal) )))) + number_literal) )))) ;) (return_statement "return uVar1;" return identifier ;) })) (return_statement "return *(uint *)(iVar6 + 0x44);" return (pointer_expression "*(uint *)(iVar6 + 0x44)" * (cast_expression "(uint *)(iVar6 + 0x44)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x44)" ( (binary_expression "iVar6 + 0x44" identifier + number_literal) )))) ;) })))
(translation_unit "/* WARNING: Enum "GravityType": Some values do not have unique names */\n/* WARNING: Enum "DisposeType": Some values do not have unique names */\n/* WARNING: Enum "ChannelType": Some values do not have unique names */\n/* WARNING: Enum "PixelChannel": Some values do not have unique names */\n/* WARNING: Enum "ExceptionType": Some values do not have unique names */\n\nMagickBooleanType\nRemapImage(QuantizeInfo *quantize_info,Image *image,Image *remap_image,ExceptionInfo *exception)\n\n{\n  CubeInfo_conflict *pCVar1;\n  MagickBooleanType MVar2;\n  undefined4 uVar3;\n  int iVar4;\n  QuantizeInfo *quantize_info_00;\n  QuantumInfo *quantum_info;\n  Image *image_00;\n  int *piVar5;\n  Image *image_01;\n  undefined *puVar6;\n  ExceptionInfo *exception_00;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  undefined4 *puVar10;\n  int iVar11;\n  int iVar12;\n  code *UNRECOVERED_JUMPTABLE;\n  code *pcVar13;\n  \n  if (image == (Image *)0x0) {\nLAB_001541dc:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0xdd0,PTR_s_t_to_left_003a88e4 + 0x7d40,0xde9,\n               PTR_s_t_to_left_003a88e4 + 0x7f44);\nLAB_00154200:\n    puVar6 = PTR_s_t_to_left_003a88e4 + 0x7f44;\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + 0x7ec4,PTR_s_t_to_left_003a88e4 + 0x7d40,0xded,puVar6);\nLAB_00154224:\n    puVar6 = puVar6 + 0x7f44;\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x294c,PTR_s_t_to_left_003a88e4 + 0x7d40,0xdf0,puVar6);\nLAB_00154244:\n    image_01 = (Image *)0xdef;\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x1cac,PTR_s_t_to_left_003a88e4 + 0x7d40,0xdef,puVar6 + 0x7f44);\n  }\n  else {\n    if (image->signature != 0xabacadab) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                 PTR_s_t_to_left_003a88e4 + 0x7d40,0xdea,PTR_s_t_to_left_003a88e4 + 0x7f44);\n      goto LAB_001541dc;\n    }\n    if (image->debug != MagickFalse) {\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38,0xdec,\n                 PTR_s_t_to_left_003a88e4 + -0x62ac,image->filename);\n    }\n    if (remap_image == (Image *)0x0) goto LAB_00154200;\n    image_01 = (Image *)0xdee;\n    if (remap_image->signature == 0xabacadab) {\n      puVar6 = PTR_s_t_to_left_003a88e4;\n      if (exception != (ExceptionInfo *)0x0) {\n        if (exception->signature == 0xabacadab) {\n          pCVar1 = GetCubeInfo(quantize_info,8,quantize_info->number_colors);\n          if (pCVar1 == (CubeInfo_conflict *)0x0) {\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (exception,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38\n                       ,0xdf5,400,PTR_LAB_003a88e0 + 0x16f8,PTR_LAB_003a88e0 + 0x3e28,\n                       image->filename);\n            return MagickFalse;\n          }\n          MVar2 = ClassifyImageColors(pCVar1,remap_image,exception);\n          if (MVar2 != MagickFalse) {\n            pCVar1->quantize_info->number_colors = pCVar1->colors;\n            MVar2 = AssignImageColors(image,pCVar1,exception);\n          }\n          DestroyCubeInfo(pCVar1);\n          return MVar2;\n        }\n        goto LAB_00154224;\n      }\n      goto LAB_00154244;\n    }\n  }\n  exception_00 = (ExceptionInfo *)(PTR_s_t_to_left_003a88e4 + 0x7f44);\n  image_00 = (Image *)(PTR_s_t_to_left_003a88e4 + 0x7d40);\n  quantize_info_00 = (QuantizeInfo *)(PTR_s_t_to_left_003a88e4 + 0x7ee4);\n  puVar6 = PTR___assert_fail_003a9608;\n  (*(code *)PTR___assert_fail_003a9608)();\n  if (image_00 == (Image *)0x0) {\n    iVar7 = *(int *)(puVar6 + 0x254660) + 0x7f2c;\n    (**(code **)(puVar6 + 0x255384))\n              (*(int *)(puVar6 + 0x25465c) + 0x1e48,*(int *)(puVar6 + 0x254660) + 0x7d40,0xe2d,iVar7\n              );\nLAB_001544c4:\n    (**(code **)(puVar6 + 0x255384))\n              (*(int *)(puVar6 + 0x25465c) + 0x294c,*(int *)(puVar6 + 0x254660) + 0x7d40,0xe32,\n               iVar7 + 0x7f2c);\n  }\n  else {\n    if (image_00->signature != 0xabacadab) goto LAB_00154508;\n    if (image_00->debug != MagickFalse) {\n      (**(code **)(puVar6 + 0x254f5c))\n                (0x8000,*(int *)(puVar6 + 0x254660) + 0x7d40,*(int *)(puVar6 + 0x254660) + 0x7f20,\n                 0xe30,*(int *)(puVar6 + 0x254660) + -0x62ac,image_00->filename);\n    }\n    if (exception_00 != (ExceptionInfo *)0x0) {\n      iVar7 = *(int *)(puVar6 + 0x254660);\n      if (exception_00->signature == 0xabacadab) {\n        if (image_01 == (Image *)0x0) {\n                    /* WARNING: Could not recover jumptable at 0x00154428. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          MVar2 = (**(code **)(puVar6 + 0x254bec))(quantize_info_00,image_00,exception_00);\n          return MVar2;\n        }\n        pCVar1 = GetCubeInfo(quantize_info_00,8,quantize_info_00->number_colors);\n        if (pCVar1 == (CubeInfo_conflict *)0x0) {\n          (**(code **)(puVar6 + 0x254c9c))\n                    (exception_00,*(int *)(puVar6 + 0x254660) + 0x7d40,\n                     *(int *)(puVar6 + 0x254660) + 0x7f20,0xe43,400,\n                     *(int *)(puVar6 + 0x25465c) + 0x16f8,*(int *)(puVar6 + 0x25465c) + 0x3e28,\n                     image_00->filename);\n          return MagickFalse;\n        }\n        MVar2 = ClassifyImageColors(pCVar1,image_01,exception_00);\n        if (MVar2 == MagickFalse) {\nLAB_0015438c:\n          MVar2 = MagickFalse;\n        }\n        else {\n          pCVar1->quantize_info->number_colors = pCVar1->colors;\n          do {\n            MVar2 = AssignImageColors(image_00,pCVar1,exception_00);\n            if (MVar2 == MagickFalse) goto LAB_0015438c;\n            image_00 = (Image *)(**(code **)(puVar6 + 0x2551ec))(image_00);\n          } while (image_00 != (Image *)0x0);\n        }\n        DestroyCubeInfo(pCVar1);\n        return MVar2;\n      }\n      goto LAB_001544c4;\n    }\n  }\n  (**(code **)(puVar6 + 0x255384))\n            (*(int *)(puVar6 + 0x25465c) + 0x1cac,*(int *)(puVar6 + 0x254660) + 0x7d40,0xe31,\n             *(int *)(puVar6 + 0x254660) + 0x7f2c);\nLAB_00154508:\n  UNRECOVERED_JUMPTABLE = *(code **)(puVar6 + 0x255384);\n  iVar7 = *(int *)(puVar6 + 0x25465c) + 0x1e64;\n  (*UNRECOVERED_JUMPTABLE)\n            (iVar7,*(int *)(puVar6 + 0x254660) + 0x7d40,0xe2e,*(int *)(puVar6 + 0x254660) + 0x7f2c);\n  if (iVar7 != 0) {\n    if (*(int *)(iVar7 + 100) == -0x54535255) {\n      iVar4 = *(int *)(iVar7 + 0x3c);\n      iVar8 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc);\n      if (iVar4 != 0) {\n        iVar8 = *(int *)(iVar7 + 0x38);\n        iVar12 = *(int *)(iVar7 + 0x40);\n        if (0 < iVar8) {\n          iVar9 = 0;\n          iVar11 = 0;\n          do {\n            if (*(int *)(iVar4 + iVar11) != 0) {\n              iVar4 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x2549f8))();\n              if (*(char *)(iVar4 + iVar12) != -0x55) {\n                iVar8 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                          (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e50,\n                           *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x10e,iVar8);\n                goto LAB_00154650;\n              }\n              puVar10 = (undefined4 *)(*(int *)(iVar7 + 0x3c) + iVar11);\n              uVar3 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254e68))(*puVar10);\n              iVar4 = *(int *)(iVar7 + 0x3c);\n              iVar8 = *(int *)(iVar7 + 0x38);\n              *puVar10 = uVar3;\n            }\n            iVar9 = iVar9 + 1;\n            iVar11 = iVar9 * 4;\n          } while (iVar9 < iVar8);\n        }\n        MVar2 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254a90))(iVar4);\n        *(MagickBooleanType *)(iVar7 + 0x3c) = MVar2;\n        return MVar2;\n      }\nLAB_00154650:\n      (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e80,\n                 *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x102,iVar8 + -0x7b1c);\n    }\n    (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7eb0,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x101,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c);\n  }\n  pcVar13 = *(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8);\n  quantum_info = (QuantumInfo *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ed8);\n  (*pcVar13)(quantum_info,*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x100,\n             *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c);\n  if (quantum_info == (QuantumInfo *)0x0) {\n    (**(code **)(pcVar13 + 0x254f50))\n              (*(int *)(pcVar13 + 0x254234) + -0x7ed8,*(int *)(pcVar13 + 0x254234) + -0x7ef0,0xd7,\n               *(int *)(pcVar13 + 0x254234) + -0x7b04);\n  }\n  else if (quantum_info->signature == 0xabacadab) {\n    if (quantum_info->pixels != (MemoryInfo **)0x0) {\n      DestroyQuantumPixels(quantum_info);\n    }\n    if (quantum_info->semaphore != (SemaphoreInfo *)0x0) {\n      (**(code **)(pcVar13 + 0x255298))(&quantum_info->semaphore);\n    }\n    UNRECOVERED_JUMPTABLE = *(code **)(pcVar13 + 0x254908);\n    quantum_info->signature = 0x54535254;\n                    /* WARNING: Could not recover jumptable at 0x0015473c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    MVar2 = (*UNRECOVERED_JUMPTABLE)(quantum_info);\n    return MVar2;\n  }\n  iVar4 = 0xd8;\n  UNRECOVERED_JUMPTABLE = *(code **)(pcVar13 + 0x254f50);\n  piVar5 = (int *)(*(int *)(pcVar13 + 0x254234) + -0x7ef0);\n  iVar7 = *(int *)(pcVar13 + 0x254234) + -0x7eb0;\n  (*UNRECOVERED_JUMPTABLE)();\n  if (piVar5 != (int *)0x0) {\n    if (piVar5[0x19] == -0x54535255) {\n      iVar8 = 1;\n      if (iVar4 - 2U < 0x18) {\n        iVar7 = *(int *)(iVar7 + 0x18);\n        iVar8 = *(int *)((iVar4 - 2U) * 4 + *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7dc0);\n        iVar12 = piVar5[0xc];\n        iVar4 = *piVar5;\n      }\n      else {\n        iVar12 = piVar5[0xc];\n        iVar7 = *(int *)(iVar7 + 0x18);\n        iVar4 = *piVar5;\n      }\n      if (iVar12 != 0) {\n        return iVar7 * iVar4 * iVar8 + 7U >> 3;\n      }\n      return (iVar4 + 7U >> 3) * iVar7 * iVar8;\n    }\n    (**(code **)(UNRECOVERED_JUMPTABLE + 0x254e7c))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7eb0,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7ef0,0x139,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7b30,UNRECOVERED_JUMPTABLE + 0x25c124\n              );\n  }\n  pcVar13 = *(code **)(UNRECOVERED_JUMPTABLE + 0x254e7c);\n  iVar7 = *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7ed8;\n  (*pcVar13)(iVar7,*(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7ef0,0x138,\n             *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7b30);\n  if (iVar7 == 0) {\n    MVar2 = (**(code **)(pcVar13 + 0x254d8c))\n                      (*(int *)(pcVar13 + 0x254070) + -0x7ed8,*(int *)(pcVar13 + 0x254070) + -0x7ef0\n                       ,0x168,*(int *)(pcVar13 + 0x254070) + -0x7b44,pcVar13 + 0x25c034);\n    return MVar2;\n  }\n  if (*(int *)(iVar7 + 100) != -0x54535255) {\n    MVar2 = (**(code **)(pcVar13 + 0x254d8c))\n                      (*(int *)(pcVar13 + 0x254070) + -0x7eb0,*(int *)(pcVar13 + 0x254070) + -0x7ef0\n                       ,0x169,*(int *)(pcVar13 + 0x254070) + -0x7b44);\n    return MVar2;\n  }\n  return *(MagickBooleanType *)(iVar7 + 0x44);\n}\n\n" comment comment comment comment comment (function_definition "MagickBooleanType\nRemapImage(QuantizeInfo *quantize_info,Image *image,Image *remap_image,ExceptionInfo *exception)\n\n{\n  CubeInfo_conflict *pCVar1;\n  MagickBooleanType MVar2;\n  undefined4 uVar3;\n  int iVar4;\n  QuantizeInfo *quantize_info_00;\n  QuantumInfo *quantum_info;\n  Image *image_00;\n  int *piVar5;\n  Image *image_01;\n  undefined *puVar6;\n  ExceptionInfo *exception_00;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  undefined4 *puVar10;\n  int iVar11;\n  int iVar12;\n  code *UNRECOVERED_JUMPTABLE;\n  code *pcVar13;\n  \n  if (image == (Image *)0x0) {\nLAB_001541dc:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0xdd0,PTR_s_t_to_left_003a88e4 + 0x7d40,0xde9,\n               PTR_s_t_to_left_003a88e4 + 0x7f44);\nLAB_00154200:\n    puVar6 = PTR_s_t_to_left_003a88e4 + 0x7f44;\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + 0x7ec4,PTR_s_t_to_left_003a88e4 + 0x7d40,0xded,puVar6);\nLAB_00154224:\n    puVar6 = puVar6 + 0x7f44;\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x294c,PTR_s_t_to_left_003a88e4 + 0x7d40,0xdf0,puVar6);\nLAB_00154244:\n    image_01 = (Image *)0xdef;\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x1cac,PTR_s_t_to_left_003a88e4 + 0x7d40,0xdef,puVar6 + 0x7f44);\n  }\n  else {\n    if (image->signature != 0xabacadab) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                 PTR_s_t_to_left_003a88e4 + 0x7d40,0xdea,PTR_s_t_to_left_003a88e4 + 0x7f44);\n      goto LAB_001541dc;\n    }\n    if (image->debug != MagickFalse) {\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38,0xdec,\n                 PTR_s_t_to_left_003a88e4 + -0x62ac,image->filename);\n    }\n    if (remap_image == (Image *)0x0) goto LAB_00154200;\n    image_01 = (Image *)0xdee;\n    if (remap_image->signature == 0xabacadab) {\n      puVar6 = PTR_s_t_to_left_003a88e4;\n      if (exception != (ExceptionInfo *)0x0) {\n        if (exception->signature == 0xabacadab) {\n          pCVar1 = GetCubeInfo(quantize_info,8,quantize_info->number_colors);\n          if (pCVar1 == (CubeInfo_conflict *)0x0) {\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (exception,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38\n                       ,0xdf5,400,PTR_LAB_003a88e0 + 0x16f8,PTR_LAB_003a88e0 + 0x3e28,\n                       image->filename);\n            return MagickFalse;\n          }\n          MVar2 = ClassifyImageColors(pCVar1,remap_image,exception);\n          if (MVar2 != MagickFalse) {\n            pCVar1->quantize_info->number_colors = pCVar1->colors;\n            MVar2 = AssignImageColors(image,pCVar1,exception);\n          }\n          DestroyCubeInfo(pCVar1);\n          return MVar2;\n        }\n        goto LAB_00154224;\n      }\n      goto LAB_00154244;\n    }\n  }\n  exception_00 = (ExceptionInfo *)(PTR_s_t_to_left_003a88e4 + 0x7f44);\n  image_00 = (Image *)(PTR_s_t_to_left_003a88e4 + 0x7d40);\n  quantize_info_00 = (QuantizeInfo *)(PTR_s_t_to_left_003a88e4 + 0x7ee4);\n  puVar6 = PTR___assert_fail_003a9608;\n  (*(code *)PTR___assert_fail_003a9608)();\n  if (image_00 == (Image *)0x0) {\n    iVar7 = *(int *)(puVar6 + 0x254660) + 0x7f2c;\n    (**(code **)(puVar6 + 0x255384))\n              (*(int *)(puVar6 + 0x25465c) + 0x1e48,*(int *)(puVar6 + 0x254660) + 0x7d40,0xe2d,iVar7\n              );\nLAB_001544c4:\n    (**(code **)(puVar6 + 0x255384))\n              (*(int *)(puVar6 + 0x25465c) + 0x294c,*(int *)(puVar6 + 0x254660) + 0x7d40,0xe32,\n               iVar7 + 0x7f2c);\n  }\n  else {\n    if (image_00->signature != 0xabacadab) goto LAB_00154508;\n    if (image_00->debug != MagickFalse) {\n      (**(code **)(puVar6 + 0x254f5c))\n                (0x8000,*(int *)(puVar6 + 0x254660) + 0x7d40,*(int *)(puVar6 + 0x254660) + 0x7f20,\n                 0xe30,*(int *)(puVar6 + 0x254660) + -0x62ac,image_00->filename);\n    }\n    if (exception_00 != (ExceptionInfo *)0x0) {\n      iVar7 = *(int *)(puVar6 + 0x254660);\n      if (exception_00->signature == 0xabacadab) {\n        if (image_01 == (Image *)0x0) {\n                    /* WARNING: Could not recover jumptable at 0x00154428. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          MVar2 = (**(code **)(puVar6 + 0x254bec))(quantize_info_00,image_00,exception_00);\n          return MVar2;\n        }\n        pCVar1 = GetCubeInfo(quantize_info_00,8,quantize_info_00->number_colors);\n        if (pCVar1 == (CubeInfo_conflict *)0x0) {\n          (**(code **)(puVar6 + 0x254c9c))\n                    (exception_00,*(int *)(puVar6 + 0x254660) + 0x7d40,\n                     *(int *)(puVar6 + 0x254660) + 0x7f20,0xe43,400,\n                     *(int *)(puVar6 + 0x25465c) + 0x16f8,*(int *)(puVar6 + 0x25465c) + 0x3e28,\n                     image_00->filename);\n          return MagickFalse;\n        }\n        MVar2 = ClassifyImageColors(pCVar1,image_01,exception_00);\n        if (MVar2 == MagickFalse) {\nLAB_0015438c:\n          MVar2 = MagickFalse;\n        }\n        else {\n          pCVar1->quantize_info->number_colors = pCVar1->colors;\n          do {\n            MVar2 = AssignImageColors(image_00,pCVar1,exception_00);\n            if (MVar2 == MagickFalse) goto LAB_0015438c;\n            image_00 = (Image *)(**(code **)(puVar6 + 0x2551ec))(image_00);\n          } while (image_00 != (Image *)0x0);\n        }\n        DestroyCubeInfo(pCVar1);\n        return MVar2;\n      }\n      goto LAB_001544c4;\n    }\n  }\n  (**(code **)(puVar6 + 0x255384))\n            (*(int *)(puVar6 + 0x25465c) + 0x1cac,*(int *)(puVar6 + 0x254660) + 0x7d40,0xe31,\n             *(int *)(puVar6 + 0x254660) + 0x7f2c);\nLAB_00154508:\n  UNRECOVERED_JUMPTABLE = *(code **)(puVar6 + 0x255384);\n  iVar7 = *(int *)(puVar6 + 0x25465c) + 0x1e64;\n  (*UNRECOVERED_JUMPTABLE)\n            (iVar7,*(int *)(puVar6 + 0x254660) + 0x7d40,0xe2e,*(int *)(puVar6 + 0x254660) + 0x7f2c);\n  if (iVar7 != 0) {\n    if (*(int *)(iVar7 + 100) == -0x54535255) {\n      iVar4 = *(int *)(iVar7 + 0x3c);\n      iVar8 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc);\n      if (iVar4 != 0) {\n        iVar8 = *(int *)(iVar7 + 0x38);\n        iVar12 = *(int *)(iVar7 + 0x40);\n        if (0 < iVar8) {\n          iVar9 = 0;\n          iVar11 = 0;\n          do {\n            if (*(int *)(iVar4 + iVar11) != 0) {\n              iVar4 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x2549f8))();\n              if (*(char *)(iVar4 + iVar12) != -0x55) {\n                iVar8 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                          (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e50,\n                           *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x10e,iVar8);\n                goto LAB_00154650;\n              }\n              puVar10 = (undefined4 *)(*(int *)(iVar7 + 0x3c) + iVar11);\n              uVar3 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254e68))(*puVar10);\n              iVar4 = *(int *)(iVar7 + 0x3c);\n              iVar8 = *(int *)(iVar7 + 0x38);\n              *puVar10 = uVar3;\n            }\n            iVar9 = iVar9 + 1;\n            iVar11 = iVar9 * 4;\n          } while (iVar9 < iVar8);\n        }\n        MVar2 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254a90))(iVar4);\n        *(MagickBooleanType *)(iVar7 + 0x3c) = MVar2;\n        return MVar2;\n      }\nLAB_00154650:\n      (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e80,\n                 *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x102,iVar8 + -0x7b1c);\n    }\n    (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7eb0,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x101,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c);\n  }\n  pcVar13 = *(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8);\n  quantum_info = (QuantumInfo *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ed8);\n  (*pcVar13)(quantum_info,*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x100,\n             *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c);\n  if (quantum_info == (QuantumInfo *)0x0) {\n    (**(code **)(pcVar13 + 0x254f50))\n              (*(int *)(pcVar13 + 0x254234) + -0x7ed8,*(int *)(pcVar13 + 0x254234) + -0x7ef0,0xd7,\n               *(int *)(pcVar13 + 0x254234) + -0x7b04);\n  }\n  else if (quantum_info->signature == 0xabacadab) {\n    if (quantum_info->pixels != (MemoryInfo **)0x0) {\n      DestroyQuantumPixels(quantum_info);\n    }\n    if (quantum_info->semaphore != (SemaphoreInfo *)0x0) {\n      (**(code **)(pcVar13 + 0x255298))(&quantum_info->semaphore);\n    }\n    UNRECOVERED_JUMPTABLE = *(code **)(pcVar13 + 0x254908);\n    quantum_info->signature = 0x54535254;\n                    /* WARNING: Could not recover jumptable at 0x0015473c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    MVar2 = (*UNRECOVERED_JUMPTABLE)(quantum_info);\n    return MVar2;\n  }\n  iVar4 = 0xd8;\n  UNRECOVERED_JUMPTABLE = *(code **)(pcVar13 + 0x254f50);\n  piVar5 = (int *)(*(int *)(pcVar13 + 0x254234) + -0x7ef0);\n  iVar7 = *(int *)(pcVar13 + 0x254234) + -0x7eb0;\n  (*UNRECOVERED_JUMPTABLE)();\n  if (piVar5 != (int *)0x0) {\n    if (piVar5[0x19] == -0x54535255) {\n      iVar8 = 1;\n      if (iVar4 - 2U < 0x18) {\n        iVar7 = *(int *)(iVar7 + 0x18);\n        iVar8 = *(int *)((iVar4 - 2U) * 4 + *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7dc0);\n        iVar12 = piVar5[0xc];\n        iVar4 = *piVar5;\n      }\n      else {\n        iVar12 = piVar5[0xc];\n        iVar7 = *(int *)(iVar7 + 0x18);\n        iVar4 = *piVar5;\n      }\n      if (iVar12 != 0) {\n        return iVar7 * iVar4 * iVar8 + 7U >> 3;\n      }\n      return (iVar4 + 7U >> 3) * iVar7 * iVar8;\n    }\n    (**(code **)(UNRECOVERED_JUMPTABLE + 0x254e7c))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7eb0,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7ef0,0x139,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7b30,UNRECOVERED_JUMPTABLE + 0x25c124\n              );\n  }\n  pcVar13 = *(code **)(UNRECOVERED_JUMPTABLE + 0x254e7c);\n  iVar7 = *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7ed8;\n  (*pcVar13)(iVar7,*(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7ef0,0x138,\n             *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7b30);\n  if (iVar7 == 0) {\n    MVar2 = (**(code **)(pcVar13 + 0x254d8c))\n                      (*(int *)(pcVar13 + 0x254070) + -0x7ed8,*(int *)(pcVar13 + 0x254070) + -0x7ef0\n                       ,0x168,*(int *)(pcVar13 + 0x254070) + -0x7b44,pcVar13 + 0x25c034);\n    return MVar2;\n  }\n  if (*(int *)(iVar7 + 100) != -0x54535255) {\n    MVar2 = (**(code **)(pcVar13 + 0x254d8c))\n                      (*(int *)(pcVar13 + 0x254070) + -0x7eb0,*(int *)(pcVar13 + 0x254070) + -0x7ef0\n                       ,0x169,*(int *)(pcVar13 + 0x254070) + -0x7b44);\n    return MVar2;\n  }\n  return *(MagickBooleanType *)(iVar7 + 0x44);\n}" type_identifier (function_declarator "RemapImage(QuantizeInfo *quantize_info,Image *image,Image *remap_image,ExceptionInfo *exception)" identifier (parameter_list "(QuantizeInfo *quantize_info,Image *image,Image *remap_image,ExceptionInfo *exception)" ( (parameter_declaration "QuantizeInfo *quantize_info" type_identifier (pointer_declarator "*quantize_info" * identifier)) , (parameter_declaration "Image *image" type_identifier (pointer_declarator "*image" * identifier)) , (parameter_declaration "Image *remap_image" type_identifier (pointer_declarator "*remap_image" * identifier)) , (parameter_declaration "ExceptionInfo *exception" type_identifier (pointer_declarator "*exception" * identifier)) ))) (compound_statement "{\n  CubeInfo_conflict *pCVar1;\n  MagickBooleanType MVar2;\n  undefined4 uVar3;\n  int iVar4;\n  QuantizeInfo *quantize_info_00;\n  QuantumInfo *quantum_info;\n  Image *image_00;\n  int *piVar5;\n  Image *image_01;\n  undefined *puVar6;\n  ExceptionInfo *exception_00;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  undefined4 *puVar10;\n  int iVar11;\n  int iVar12;\n  code *UNRECOVERED_JUMPTABLE;\n  code *pcVar13;\n  \n  if (image == (Image *)0x0) {\nLAB_001541dc:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0xdd0,PTR_s_t_to_left_003a88e4 + 0x7d40,0xde9,\n               PTR_s_t_to_left_003a88e4 + 0x7f44);\nLAB_00154200:\n    puVar6 = PTR_s_t_to_left_003a88e4 + 0x7f44;\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + 0x7ec4,PTR_s_t_to_left_003a88e4 + 0x7d40,0xded,puVar6);\nLAB_00154224:\n    puVar6 = puVar6 + 0x7f44;\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x294c,PTR_s_t_to_left_003a88e4 + 0x7d40,0xdf0,puVar6);\nLAB_00154244:\n    image_01 = (Image *)0xdef;\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x1cac,PTR_s_t_to_left_003a88e4 + 0x7d40,0xdef,puVar6 + 0x7f44);\n  }\n  else {\n    if (image->signature != 0xabacadab) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                 PTR_s_t_to_left_003a88e4 + 0x7d40,0xdea,PTR_s_t_to_left_003a88e4 + 0x7f44);\n      goto LAB_001541dc;\n    }\n    if (image->debug != MagickFalse) {\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38,0xdec,\n                 PTR_s_t_to_left_003a88e4 + -0x62ac,image->filename);\n    }\n    if (remap_image == (Image *)0x0) goto LAB_00154200;\n    image_01 = (Image *)0xdee;\n    if (remap_image->signature == 0xabacadab) {\n      puVar6 = PTR_s_t_to_left_003a88e4;\n      if (exception != (ExceptionInfo *)0x0) {\n        if (exception->signature == 0xabacadab) {\n          pCVar1 = GetCubeInfo(quantize_info,8,quantize_info->number_colors);\n          if (pCVar1 == (CubeInfo_conflict *)0x0) {\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (exception,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38\n                       ,0xdf5,400,PTR_LAB_003a88e0 + 0x16f8,PTR_LAB_003a88e0 + 0x3e28,\n                       image->filename);\n            return MagickFalse;\n          }\n          MVar2 = ClassifyImageColors(pCVar1,remap_image,exception);\n          if (MVar2 != MagickFalse) {\n            pCVar1->quantize_info->number_colors = pCVar1->colors;\n            MVar2 = AssignImageColors(image,pCVar1,exception);\n          }\n          DestroyCubeInfo(pCVar1);\n          return MVar2;\n        }\n        goto LAB_00154224;\n      }\n      goto LAB_00154244;\n    }\n  }\n  exception_00 = (ExceptionInfo *)(PTR_s_t_to_left_003a88e4 + 0x7f44);\n  image_00 = (Image *)(PTR_s_t_to_left_003a88e4 + 0x7d40);\n  quantize_info_00 = (QuantizeInfo *)(PTR_s_t_to_left_003a88e4 + 0x7ee4);\n  puVar6 = PTR___assert_fail_003a9608;\n  (*(code *)PTR___assert_fail_003a9608)();\n  if (image_00 == (Image *)0x0) {\n    iVar7 = *(int *)(puVar6 + 0x254660) + 0x7f2c;\n    (**(code **)(puVar6 + 0x255384))\n              (*(int *)(puVar6 + 0x25465c) + 0x1e48,*(int *)(puVar6 + 0x254660) + 0x7d40,0xe2d,iVar7\n              );\nLAB_001544c4:\n    (**(code **)(puVar6 + 0x255384))\n              (*(int *)(puVar6 + 0x25465c) + 0x294c,*(int *)(puVar6 + 0x254660) + 0x7d40,0xe32,\n               iVar7 + 0x7f2c);\n  }\n  else {\n    if (image_00->signature != 0xabacadab) goto LAB_00154508;\n    if (image_00->debug != MagickFalse) {\n      (**(code **)(puVar6 + 0x254f5c))\n                (0x8000,*(int *)(puVar6 + 0x254660) + 0x7d40,*(int *)(puVar6 + 0x254660) + 0x7f20,\n                 0xe30,*(int *)(puVar6 + 0x254660) + -0x62ac,image_00->filename);\n    }\n    if (exception_00 != (ExceptionInfo *)0x0) {\n      iVar7 = *(int *)(puVar6 + 0x254660);\n      if (exception_00->signature == 0xabacadab) {\n        if (image_01 == (Image *)0x0) {\n                    /* WARNING: Could not recover jumptable at 0x00154428. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          MVar2 = (**(code **)(puVar6 + 0x254bec))(quantize_info_00,image_00,exception_00);\n          return MVar2;\n        }\n        pCVar1 = GetCubeInfo(quantize_info_00,8,quantize_info_00->number_colors);\n        if (pCVar1 == (CubeInfo_conflict *)0x0) {\n          (**(code **)(puVar6 + 0x254c9c))\n                    (exception_00,*(int *)(puVar6 + 0x254660) + 0x7d40,\n                     *(int *)(puVar6 + 0x254660) + 0x7f20,0xe43,400,\n                     *(int *)(puVar6 + 0x25465c) + 0x16f8,*(int *)(puVar6 + 0x25465c) + 0x3e28,\n                     image_00->filename);\n          return MagickFalse;\n        }\n        MVar2 = ClassifyImageColors(pCVar1,image_01,exception_00);\n        if (MVar2 == MagickFalse) {\nLAB_0015438c:\n          MVar2 = MagickFalse;\n        }\n        else {\n          pCVar1->quantize_info->number_colors = pCVar1->colors;\n          do {\n            MVar2 = AssignImageColors(image_00,pCVar1,exception_00);\n            if (MVar2 == MagickFalse) goto LAB_0015438c;\n            image_00 = (Image *)(**(code **)(puVar6 + 0x2551ec))(image_00);\n          } while (image_00 != (Image *)0x0);\n        }\n        DestroyCubeInfo(pCVar1);\n        return MVar2;\n      }\n      goto LAB_001544c4;\n    }\n  }\n  (**(code **)(puVar6 + 0x255384))\n            (*(int *)(puVar6 + 0x25465c) + 0x1cac,*(int *)(puVar6 + 0x254660) + 0x7d40,0xe31,\n             *(int *)(puVar6 + 0x254660) + 0x7f2c);\nLAB_00154508:\n  UNRECOVERED_JUMPTABLE = *(code **)(puVar6 + 0x255384);\n  iVar7 = *(int *)(puVar6 + 0x25465c) + 0x1e64;\n  (*UNRECOVERED_JUMPTABLE)\n            (iVar7,*(int *)(puVar6 + 0x254660) + 0x7d40,0xe2e,*(int *)(puVar6 + 0x254660) + 0x7f2c);\n  if (iVar7 != 0) {\n    if (*(int *)(iVar7 + 100) == -0x54535255) {\n      iVar4 = *(int *)(iVar7 + 0x3c);\n      iVar8 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc);\n      if (iVar4 != 0) {\n        iVar8 = *(int *)(iVar7 + 0x38);\n        iVar12 = *(int *)(iVar7 + 0x40);\n        if (0 < iVar8) {\n          iVar9 = 0;\n          iVar11 = 0;\n          do {\n            if (*(int *)(iVar4 + iVar11) != 0) {\n              iVar4 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x2549f8))();\n              if (*(char *)(iVar4 + iVar12) != -0x55) {\n                iVar8 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                          (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e50,\n                           *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x10e,iVar8);\n                goto LAB_00154650;\n              }\n              puVar10 = (undefined4 *)(*(int *)(iVar7 + 0x3c) + iVar11);\n              uVar3 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254e68))(*puVar10);\n              iVar4 = *(int *)(iVar7 + 0x3c);\n              iVar8 = *(int *)(iVar7 + 0x38);\n              *puVar10 = uVar3;\n            }\n            iVar9 = iVar9 + 1;\n            iVar11 = iVar9 * 4;\n          } while (iVar9 < iVar8);\n        }\n        MVar2 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254a90))(iVar4);\n        *(MagickBooleanType *)(iVar7 + 0x3c) = MVar2;\n        return MVar2;\n      }\nLAB_00154650:\n      (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e80,\n                 *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x102,iVar8 + -0x7b1c);\n    }\n    (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7eb0,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x101,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c);\n  }\n  pcVar13 = *(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8);\n  quantum_info = (QuantumInfo *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ed8);\n  (*pcVar13)(quantum_info,*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x100,\n             *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c);\n  if (quantum_info == (QuantumInfo *)0x0) {\n    (**(code **)(pcVar13 + 0x254f50))\n              (*(int *)(pcVar13 + 0x254234) + -0x7ed8,*(int *)(pcVar13 + 0x254234) + -0x7ef0,0xd7,\n               *(int *)(pcVar13 + 0x254234) + -0x7b04);\n  }\n  else if (quantum_info->signature == 0xabacadab) {\n    if (quantum_info->pixels != (MemoryInfo **)0x0) {\n      DestroyQuantumPixels(quantum_info);\n    }\n    if (quantum_info->semaphore != (SemaphoreInfo *)0x0) {\n      (**(code **)(pcVar13 + 0x255298))(&quantum_info->semaphore);\n    }\n    UNRECOVERED_JUMPTABLE = *(code **)(pcVar13 + 0x254908);\n    quantum_info->signature = 0x54535254;\n                    /* WARNING: Could not recover jumptable at 0x0015473c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    MVar2 = (*UNRECOVERED_JUMPTABLE)(quantum_info);\n    return MVar2;\n  }\n  iVar4 = 0xd8;\n  UNRECOVERED_JUMPTABLE = *(code **)(pcVar13 + 0x254f50);\n  piVar5 = (int *)(*(int *)(pcVar13 + 0x254234) + -0x7ef0);\n  iVar7 = *(int *)(pcVar13 + 0x254234) + -0x7eb0;\n  (*UNRECOVERED_JUMPTABLE)();\n  if (piVar5 != (int *)0x0) {\n    if (piVar5[0x19] == -0x54535255) {\n      iVar8 = 1;\n      if (iVar4 - 2U < 0x18) {\n        iVar7 = *(int *)(iVar7 + 0x18);\n        iVar8 = *(int *)((iVar4 - 2U) * 4 + *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7dc0);\n        iVar12 = piVar5[0xc];\n        iVar4 = *piVar5;\n      }\n      else {\n        iVar12 = piVar5[0xc];\n        iVar7 = *(int *)(iVar7 + 0x18);\n        iVar4 = *piVar5;\n      }\n      if (iVar12 != 0) {\n        return iVar7 * iVar4 * iVar8 + 7U >> 3;\n      }\n      return (iVar4 + 7U >> 3) * iVar7 * iVar8;\n    }\n    (**(code **)(UNRECOVERED_JUMPTABLE + 0x254e7c))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7eb0,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7ef0,0x139,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7b30,UNRECOVERED_JUMPTABLE + 0x25c124\n              );\n  }\n  pcVar13 = *(code **)(UNRECOVERED_JUMPTABLE + 0x254e7c);\n  iVar7 = *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7ed8;\n  (*pcVar13)(iVar7,*(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7ef0,0x138,\n             *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7b30);\n  if (iVar7 == 0) {\n    MVar2 = (**(code **)(pcVar13 + 0x254d8c))\n                      (*(int *)(pcVar13 + 0x254070) + -0x7ed8,*(int *)(pcVar13 + 0x254070) + -0x7ef0\n                       ,0x168,*(int *)(pcVar13 + 0x254070) + -0x7b44,pcVar13 + 0x25c034);\n    return MVar2;\n  }\n  if (*(int *)(iVar7 + 100) != -0x54535255) {\n    MVar2 = (**(code **)(pcVar13 + 0x254d8c))\n                      (*(int *)(pcVar13 + 0x254070) + -0x7eb0,*(int *)(pcVar13 + 0x254070) + -0x7ef0\n                       ,0x169,*(int *)(pcVar13 + 0x254070) + -0x7b44);\n    return MVar2;\n  }\n  return *(MagickBooleanType *)(iVar7 + 0x44);\n}" { (declaration "CubeInfo_conflict *pCVar1;" type_identifier (pointer_declarator "*pCVar1" * identifier) ;) (declaration "MagickBooleanType MVar2;" type_identifier identifier ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "QuantizeInfo *quantize_info_00;" type_identifier (pointer_declarator "*quantize_info_00" * identifier) ;) (declaration "QuantumInfo *quantum_info;" type_identifier (pointer_declarator "*quantum_info" * identifier) ;) (declaration "Image *image_00;" type_identifier (pointer_declarator "*image_00" * identifier) ;) (declaration "int *piVar5;" primitive_type (pointer_declarator "*piVar5" * identifier) ;) (declaration "Image *image_01;" type_identifier (pointer_declarator "*image_01" * identifier) ;) (declaration "undefined *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "ExceptionInfo *exception_00;" type_identifier (pointer_declarator "*exception_00" * identifier) ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "undefined4 *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "code *UNRECOVERED_JUMPTABLE;" type_identifier (pointer_declarator "*UNRECOVERED_JUMPTABLE" * identifier) ;) (declaration "code *pcVar13;" type_identifier (pointer_declarator "*pcVar13" * identifier) ;) (if_statement "if (image == (Image *)0x0) {\nLAB_001541dc:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0xdd0,PTR_s_t_to_left_003a88e4 + 0x7d40,0xde9,\n               PTR_s_t_to_left_003a88e4 + 0x7f44);\nLAB_00154200:\n    puVar6 = PTR_s_t_to_left_003a88e4 + 0x7f44;\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + 0x7ec4,PTR_s_t_to_left_003a88e4 + 0x7d40,0xded,puVar6);\nLAB_00154224:\n    puVar6 = puVar6 + 0x7f44;\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x294c,PTR_s_t_to_left_003a88e4 + 0x7d40,0xdf0,puVar6);\nLAB_00154244:\n    image_01 = (Image *)0xdef;\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x1cac,PTR_s_t_to_left_003a88e4 + 0x7d40,0xdef,puVar6 + 0x7f44);\n  }\n  else {\n    if (image->signature != 0xabacadab) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                 PTR_s_t_to_left_003a88e4 + 0x7d40,0xdea,PTR_s_t_to_left_003a88e4 + 0x7f44);\n      goto LAB_001541dc;\n    }\n    if (image->debug != MagickFalse) {\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38,0xdec,\n                 PTR_s_t_to_left_003a88e4 + -0x62ac,image->filename);\n    }\n    if (remap_image == (Image *)0x0) goto LAB_00154200;\n    image_01 = (Image *)0xdee;\n    if (remap_image->signature == 0xabacadab) {\n      puVar6 = PTR_s_t_to_left_003a88e4;\n      if (exception != (ExceptionInfo *)0x0) {\n        if (exception->signature == 0xabacadab) {\n          pCVar1 = GetCubeInfo(quantize_info,8,quantize_info->number_colors);\n          if (pCVar1 == (CubeInfo_conflict *)0x0) {\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (exception,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38\n                       ,0xdf5,400,PTR_LAB_003a88e0 + 0x16f8,PTR_LAB_003a88e0 + 0x3e28,\n                       image->filename);\n            return MagickFalse;\n          }\n          MVar2 = ClassifyImageColors(pCVar1,remap_image,exception);\n          if (MVar2 != MagickFalse) {\n            pCVar1->quantize_info->number_colors = pCVar1->colors;\n            MVar2 = AssignImageColors(image,pCVar1,exception);\n          }\n          DestroyCubeInfo(pCVar1);\n          return MVar2;\n        }\n        goto LAB_00154224;\n      }\n      goto LAB_00154244;\n    }\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 "{\nLAB_001541dc:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0xdd0,PTR_s_t_to_left_003a88e4 + 0x7d40,0xde9,\n               PTR_s_t_to_left_003a88e4 + 0x7f44);\nLAB_00154200:\n    puVar6 = PTR_s_t_to_left_003a88e4 + 0x7f44;\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + 0x7ec4,PTR_s_t_to_left_003a88e4 + 0x7d40,0xded,puVar6);\nLAB_00154224:\n    puVar6 = puVar6 + 0x7f44;\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x294c,PTR_s_t_to_left_003a88e4 + 0x7d40,0xdf0,puVar6);\nLAB_00154244:\n    image_01 = (Image *)0xdef;\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x1cac,PTR_s_t_to_left_003a88e4 + 0x7d40,0xdef,puVar6 + 0x7f44);\n  }" { (labeled_statement "LAB_001541dc:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0xdd0,PTR_s_t_to_left_003a88e4 + 0x7d40,0xde9,\n               PTR_s_t_to_left_003a88e4 + 0x7f44);" statement_identifier : (expression_statement "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0xdd0,PTR_s_t_to_left_003a88e4 + 0x7d40,0xde9,\n               PTR_s_t_to_left_003a88e4 + 0x7f44);" (call_expression "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0xdd0,PTR_s_t_to_left_003a88e4 + 0x7d40,0xde9,\n               PTR_s_t_to_left_003a88e4 + 0x7f44)" (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_s_t_to_left_003a88e4 + 0x7d40,0xde9,\n               PTR_s_t_to_left_003a88e4 + 0x7f44)" ( (binary_expression "PTR_LAB_003a88e0 + 0xdd0" identifier + number_literal) , (binary_expression "PTR_s_t_to_left_003a88e4 + 0x7d40" identifier + number_literal) , number_literal , (binary_expression "PTR_s_t_to_left_003a88e4 + 0x7f44" identifier + number_literal) ))) ;)) (labeled_statement "LAB_00154200:\n    puVar6 = PTR_s_t_to_left_003a88e4 + 0x7f44;" statement_identifier : (expression_statement "puVar6 = PTR_s_t_to_left_003a88e4 + 0x7f44;" (assignment_expression "puVar6 = PTR_s_t_to_left_003a88e4 + 0x7f44" identifier = (binary_expression "PTR_s_t_to_left_003a88e4 + 0x7f44" identifier + number_literal)) ;)) (expression_statement "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + 0x7ec4,PTR_s_t_to_left_003a88e4 + 0x7d40,0xded,puVar6);" (call_expression "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + 0x7ec4,PTR_s_t_to_left_003a88e4 + 0x7d40,0xded,puVar6)" (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_t_to_left_003a88e4 + 0x7ec4,PTR_s_t_to_left_003a88e4 + 0x7d40,0xded,puVar6)" ( (binary_expression "PTR_s_t_to_left_003a88e4 + 0x7ec4" identifier + number_literal) , (binary_expression "PTR_s_t_to_left_003a88e4 + 0x7d40" identifier + number_literal) , number_literal , identifier ))) ;) (labeled_statement "LAB_00154224:\n    puVar6 = puVar6 + 0x7f44;" statement_identifier : (expression_statement "puVar6 = puVar6 + 0x7f44;" (assignment_expression "puVar6 = puVar6 + 0x7f44" identifier = (binary_expression "puVar6 + 0x7f44" identifier + number_literal)) ;)) (expression_statement "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x294c,PTR_s_t_to_left_003a88e4 + 0x7d40,0xdf0,puVar6);" (call_expression "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x294c,PTR_s_t_to_left_003a88e4 + 0x7d40,0xdf0,puVar6)" (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 + 0x294c,PTR_s_t_to_left_003a88e4 + 0x7d40,0xdf0,puVar6)" ( (binary_expression "PTR_LAB_003a88e0 + 0x294c" identifier + number_literal) , (binary_expression "PTR_s_t_to_left_003a88e4 + 0x7d40" identifier + number_literal) , number_literal , identifier ))) ;) (labeled_statement "LAB_00154244:\n    image_01 = (Image *)0xdef;" statement_identifier : (expression_statement "image_01 = (Image *)0xdef;" (assignment_expression "image_01 = (Image *)0xdef" identifier = (cast_expression "(Image *)0xdef" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x1cac,PTR_s_t_to_left_003a88e4 + 0x7d40,0xdef,puVar6 + 0x7f44);" (call_expression "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x1cac,PTR_s_t_to_left_003a88e4 + 0x7d40,0xdef,puVar6 + 0x7f44)" (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 + 0x1cac,PTR_s_t_to_left_003a88e4 + 0x7d40,0xdef,puVar6 + 0x7f44)" ( (binary_expression "PTR_LAB_003a88e0 + 0x1cac" identifier + number_literal) , (binary_expression "PTR_s_t_to_left_003a88e4 + 0x7d40" identifier + number_literal) , number_literal , (binary_expression "puVar6 + 0x7f44" identifier + number_literal) ))) ;) }) (else_clause "else {\n    if (image->signature != 0xabacadab) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                 PTR_s_t_to_left_003a88e4 + 0x7d40,0xdea,PTR_s_t_to_left_003a88e4 + 0x7f44);\n      goto LAB_001541dc;\n    }\n    if (image->debug != MagickFalse) {\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38,0xdec,\n                 PTR_s_t_to_left_003a88e4 + -0x62ac,image->filename);\n    }\n    if (remap_image == (Image *)0x0) goto LAB_00154200;\n    image_01 = (Image *)0xdee;\n    if (remap_image->signature == 0xabacadab) {\n      puVar6 = PTR_s_t_to_left_003a88e4;\n      if (exception != (ExceptionInfo *)0x0) {\n        if (exception->signature == 0xabacadab) {\n          pCVar1 = GetCubeInfo(quantize_info,8,quantize_info->number_colors);\n          if (pCVar1 == (CubeInfo_conflict *)0x0) {\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (exception,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38\n                       ,0xdf5,400,PTR_LAB_003a88e0 + 0x16f8,PTR_LAB_003a88e0 + 0x3e28,\n                       image->filename);\n            return MagickFalse;\n          }\n          MVar2 = ClassifyImageColors(pCVar1,remap_image,exception);\n          if (MVar2 != MagickFalse) {\n            pCVar1->quantize_info->number_colors = pCVar1->colors;\n            MVar2 = AssignImageColors(image,pCVar1,exception);\n          }\n          DestroyCubeInfo(pCVar1);\n          return MVar2;\n        }\n        goto LAB_00154224;\n      }\n      goto LAB_00154244;\n    }\n  }" else (compound_statement "{\n    if (image->signature != 0xabacadab) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                 PTR_s_t_to_left_003a88e4 + 0x7d40,0xdea,PTR_s_t_to_left_003a88e4 + 0x7f44);\n      goto LAB_001541dc;\n    }\n    if (image->debug != MagickFalse) {\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38,0xdec,\n                 PTR_s_t_to_left_003a88e4 + -0x62ac,image->filename);\n    }\n    if (remap_image == (Image *)0x0) goto LAB_00154200;\n    image_01 = (Image *)0xdee;\n    if (remap_image->signature == 0xabacadab) {\n      puVar6 = PTR_s_t_to_left_003a88e4;\n      if (exception != (ExceptionInfo *)0x0) {\n        if (exception->signature == 0xabacadab) {\n          pCVar1 = GetCubeInfo(quantize_info,8,quantize_info->number_colors);\n          if (pCVar1 == (CubeInfo_conflict *)0x0) {\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (exception,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38\n                       ,0xdf5,400,PTR_LAB_003a88e0 + 0x16f8,PTR_LAB_003a88e0 + 0x3e28,\n                       image->filename);\n            return MagickFalse;\n          }\n          MVar2 = ClassifyImageColors(pCVar1,remap_image,exception);\n          if (MVar2 != MagickFalse) {\n            pCVar1->quantize_info->number_colors = pCVar1->colors;\n            MVar2 = AssignImageColors(image,pCVar1,exception);\n          }\n          DestroyCubeInfo(pCVar1);\n          return MVar2;\n        }\n        goto LAB_00154224;\n      }\n      goto LAB_00154244;\n    }\n  }" { (if_statement "if (image->signature != 0xabacadab) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                 PTR_s_t_to_left_003a88e4 + 0x7d40,0xdea,PTR_s_t_to_left_003a88e4 + 0x7f44);\n      goto LAB_001541dc;\n    }" if (parenthesized_expression "(image->signature != 0xabacadab)" ( (binary_expression "image->signature != 0xabacadab" (field_expression "image->signature" identifier -> field_identifier) != number_literal) )) (compound_statement "{\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                 PTR_s_t_to_left_003a88e4 + 0x7d40,0xdea,PTR_s_t_to_left_003a88e4 + 0x7f44);\n      goto LAB_001541dc;\n    }" { (expression_statement "(*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                 PTR_s_t_to_left_003a88e4 + 0x7d40,0xdea,PTR_s_t_to_left_003a88e4 + 0x7f44);" (call_expression "(*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                 PTR_s_t_to_left_003a88e4 + 0x7d40,0xdea,PTR_s_t_to_left_003a88e4 + 0x7f44)" (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,\n                 PTR_s_t_to_left_003a88e4 + 0x7d40,0xdea,PTR_s_t_to_left_003a88e4 + 0x7f44)" ( (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784" identifier + number_literal) , (binary_expression "PTR_s_t_to_left_003a88e4 + 0x7d40" identifier + number_literal) , number_literal , (binary_expression "PTR_s_t_to_left_003a88e4 + 0x7f44" identifier + number_literal) ))) ;) (goto_statement "goto LAB_001541dc;" goto statement_identifier ;) })) (if_statement "if (image->debug != MagickFalse) {\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38,0xdec,\n                 PTR_s_t_to_left_003a88e4 + -0x62ac,image->filename);\n    }" if (parenthesized_expression "(image->debug != MagickFalse)" ( (binary_expression "image->debug != MagickFalse" (field_expression "image->debug" identifier -> field_identifier) != identifier) )) (compound_statement "{\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38,0xdec,\n                 PTR_s_t_to_left_003a88e4 + -0x62ac,image->filename);\n    }" { (expression_statement "(*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38,0xdec,\n                 PTR_s_t_to_left_003a88e4 + -0x62ac,image->filename);" (call_expression "(*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38,0xdec,\n                 PTR_s_t_to_left_003a88e4 + -0x62ac,image->filename)" (parenthesized_expression "(*(code *)PTR_LogMagickEvent_003a91e0)" ( (pointer_expression "*(code *)PTR_LogMagickEvent_003a91e0" * (cast_expression "(code *)PTR_LogMagickEvent_003a91e0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x8000,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38,0xdec,\n                 PTR_s_t_to_left_003a88e4 + -0x62ac,image->filename)" ( number_literal , (binary_expression "PTR_s_t_to_left_003a88e4 + 0x7d40" identifier + number_literal) , (binary_expression "PTR_s_t_to_left_003a88e4 + 0x7f38" identifier + number_literal) , number_literal , (binary_expression "PTR_s_t_to_left_003a88e4 + -0x62ac" identifier + number_literal) , (field_expression "image->filename" identifier -> field_identifier) ))) ;) })) (if_statement "if (remap_image == (Image *)0x0) goto LAB_00154200;" if (parenthesized_expression "(remap_image == (Image *)0x0)" ( (binary_expression "remap_image == (Image *)0x0" identifier == (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00154200;" goto statement_identifier ;)) (expression_statement "image_01 = (Image *)0xdee;" (assignment_expression "image_01 = (Image *)0xdee" identifier = (cast_expression "(Image *)0xdee" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (remap_image->signature == 0xabacadab) {\n      puVar6 = PTR_s_t_to_left_003a88e4;\n      if (exception != (ExceptionInfo *)0x0) {\n        if (exception->signature == 0xabacadab) {\n          pCVar1 = GetCubeInfo(quantize_info,8,quantize_info->number_colors);\n          if (pCVar1 == (CubeInfo_conflict *)0x0) {\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (exception,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38\n                       ,0xdf5,400,PTR_LAB_003a88e0 + 0x16f8,PTR_LAB_003a88e0 + 0x3e28,\n                       image->filename);\n            return MagickFalse;\n          }\n          MVar2 = ClassifyImageColors(pCVar1,remap_image,exception);\n          if (MVar2 != MagickFalse) {\n            pCVar1->quantize_info->number_colors = pCVar1->colors;\n            MVar2 = AssignImageColors(image,pCVar1,exception);\n          }\n          DestroyCubeInfo(pCVar1);\n          return MVar2;\n        }\n        goto LAB_00154224;\n      }\n      goto LAB_00154244;\n    }" if (parenthesized_expression "(remap_image->signature == 0xabacadab)" ( (binary_expression "remap_image->signature == 0xabacadab" (field_expression "remap_image->signature" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n      puVar6 = PTR_s_t_to_left_003a88e4;\n      if (exception != (ExceptionInfo *)0x0) {\n        if (exception->signature == 0xabacadab) {\n          pCVar1 = GetCubeInfo(quantize_info,8,quantize_info->number_colors);\n          if (pCVar1 == (CubeInfo_conflict *)0x0) {\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (exception,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38\n                       ,0xdf5,400,PTR_LAB_003a88e0 + 0x16f8,PTR_LAB_003a88e0 + 0x3e28,\n                       image->filename);\n            return MagickFalse;\n          }\n          MVar2 = ClassifyImageColors(pCVar1,remap_image,exception);\n          if (MVar2 != MagickFalse) {\n            pCVar1->quantize_info->number_colors = pCVar1->colors;\n            MVar2 = AssignImageColors(image,pCVar1,exception);\n          }\n          DestroyCubeInfo(pCVar1);\n          return MVar2;\n        }\n        goto LAB_00154224;\n      }\n      goto LAB_00154244;\n    }" { (expression_statement "puVar6 = PTR_s_t_to_left_003a88e4;" (assignment_expression "puVar6 = PTR_s_t_to_left_003a88e4" identifier = identifier) ;) (if_statement "if (exception != (ExceptionInfo *)0x0) {\n        if (exception->signature == 0xabacadab) {\n          pCVar1 = GetCubeInfo(quantize_info,8,quantize_info->number_colors);\n          if (pCVar1 == (CubeInfo_conflict *)0x0) {\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (exception,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38\n                       ,0xdf5,400,PTR_LAB_003a88e0 + 0x16f8,PTR_LAB_003a88e0 + 0x3e28,\n                       image->filename);\n            return MagickFalse;\n          }\n          MVar2 = ClassifyImageColors(pCVar1,remap_image,exception);\n          if (MVar2 != MagickFalse) {\n            pCVar1->quantize_info->number_colors = pCVar1->colors;\n            MVar2 = AssignImageColors(image,pCVar1,exception);\n          }\n          DestroyCubeInfo(pCVar1);\n          return MVar2;\n        }\n        goto LAB_00154224;\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        if (exception->signature == 0xabacadab) {\n          pCVar1 = GetCubeInfo(quantize_info,8,quantize_info->number_colors);\n          if (pCVar1 == (CubeInfo_conflict *)0x0) {\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (exception,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38\n                       ,0xdf5,400,PTR_LAB_003a88e0 + 0x16f8,PTR_LAB_003a88e0 + 0x3e28,\n                       image->filename);\n            return MagickFalse;\n          }\n          MVar2 = ClassifyImageColors(pCVar1,remap_image,exception);\n          if (MVar2 != MagickFalse) {\n            pCVar1->quantize_info->number_colors = pCVar1->colors;\n            MVar2 = AssignImageColors(image,pCVar1,exception);\n          }\n          DestroyCubeInfo(pCVar1);\n          return MVar2;\n        }\n        goto LAB_00154224;\n      }" { (if_statement "if (exception->signature == 0xabacadab) {\n          pCVar1 = GetCubeInfo(quantize_info,8,quantize_info->number_colors);\n          if (pCVar1 == (CubeInfo_conflict *)0x0) {\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (exception,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38\n                       ,0xdf5,400,PTR_LAB_003a88e0 + 0x16f8,PTR_LAB_003a88e0 + 0x3e28,\n                       image->filename);\n            return MagickFalse;\n          }\n          MVar2 = ClassifyImageColors(pCVar1,remap_image,exception);\n          if (MVar2 != MagickFalse) {\n            pCVar1->quantize_info->number_colors = pCVar1->colors;\n            MVar2 = AssignImageColors(image,pCVar1,exception);\n          }\n          DestroyCubeInfo(pCVar1);\n          return MVar2;\n        }" if (parenthesized_expression "(exception->signature == 0xabacadab)" ( (binary_expression "exception->signature == 0xabacadab" (field_expression "exception->signature" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n          pCVar1 = GetCubeInfo(quantize_info,8,quantize_info->number_colors);\n          if (pCVar1 == (CubeInfo_conflict *)0x0) {\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (exception,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38\n                       ,0xdf5,400,PTR_LAB_003a88e0 + 0x16f8,PTR_LAB_003a88e0 + 0x3e28,\n                       image->filename);\n            return MagickFalse;\n          }\n          MVar2 = ClassifyImageColors(pCVar1,remap_image,exception);\n          if (MVar2 != MagickFalse) {\n            pCVar1->quantize_info->number_colors = pCVar1->colors;\n            MVar2 = AssignImageColors(image,pCVar1,exception);\n          }\n          DestroyCubeInfo(pCVar1);\n          return MVar2;\n        }" { (expression_statement "pCVar1 = GetCubeInfo(quantize_info,8,quantize_info->number_colors);" (assignment_expression "pCVar1 = GetCubeInfo(quantize_info,8,quantize_info->number_colors)" identifier = (call_expression "GetCubeInfo(quantize_info,8,quantize_info->number_colors)" identifier (argument_list "(quantize_info,8,quantize_info->number_colors)" ( identifier , number_literal , (field_expression "quantize_info->number_colors" identifier -> field_identifier) )))) ;) (if_statement "if (pCVar1 == (CubeInfo_conflict *)0x0) {\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (exception,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38\n                       ,0xdf5,400,PTR_LAB_003a88e0 + 0x16f8,PTR_LAB_003a88e0 + 0x3e28,\n                       image->filename);\n            return MagickFalse;\n          }" if (parenthesized_expression "(pCVar1 == (CubeInfo_conflict *)0x0)" ( (binary_expression "pCVar1 == (CubeInfo_conflict *)0x0" identifier == (cast_expression "(CubeInfo_conflict *)0x0" ( (type_descriptor "CubeInfo_conflict *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (exception,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38\n                       ,0xdf5,400,PTR_LAB_003a88e0 + 0x16f8,PTR_LAB_003a88e0 + 0x3e28,\n                       image->filename);\n            return MagickFalse;\n          }" { (expression_statement "(*(code *)PTR_ThrowMagickException_003a8f20)\n                      (exception,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38\n                       ,0xdf5,400,PTR_LAB_003a88e0 + 0x16f8,PTR_LAB_003a88e0 + 0x3e28,\n                       image->filename);" (call_expression "(*(code *)PTR_ThrowMagickException_003a8f20)\n                      (exception,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38\n                       ,0xdf5,400,PTR_LAB_003a88e0 + 0x16f8,PTR_LAB_003a88e0 + 0x3e28,\n                       image->filename)" (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_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38\n                       ,0xdf5,400,PTR_LAB_003a88e0 + 0x16f8,PTR_LAB_003a88e0 + 0x3e28,\n                       image->filename)" ( identifier , (binary_expression "PTR_s_t_to_left_003a88e4 + 0x7d40" identifier + number_literal) , (binary_expression "PTR_s_t_to_left_003a88e4 + 0x7f38" identifier + number_literal) , number_literal , number_literal , (binary_expression "PTR_LAB_003a88e0 + 0x16f8" identifier + number_literal) , (binary_expression "PTR_LAB_003a88e0 + 0x3e28" identifier + number_literal) , (field_expression "image->filename" identifier -> field_identifier) ))) ;) (return_statement "return MagickFalse;" return identifier ;) })) (expression_statement "MVar2 = ClassifyImageColors(pCVar1,remap_image,exception);" (assignment_expression "MVar2 = ClassifyImageColors(pCVar1,remap_image,exception)" identifier = (call_expression "ClassifyImageColors(pCVar1,remap_image,exception)" identifier (argument_list "(pCVar1,remap_image,exception)" ( identifier , identifier , identifier )))) ;) (if_statement "if (MVar2 != MagickFalse) {\n            pCVar1->quantize_info->number_colors = pCVar1->colors;\n            MVar2 = AssignImageColors(image,pCVar1,exception);\n          }" if (parenthesized_expression "(MVar2 != MagickFalse)" ( (binary_expression "MVar2 != MagickFalse" identifier != identifier) )) (compound_statement "{\n            pCVar1->quantize_info->number_colors = pCVar1->colors;\n            MVar2 = AssignImageColors(image,pCVar1,exception);\n          }" { (expression_statement "pCVar1->quantize_info->number_colors = pCVar1->colors;" (assignment_expression "pCVar1->quantize_info->number_colors = pCVar1->colors" (field_expression "pCVar1->quantize_info->number_colors" (field_expression "pCVar1->quantize_info" identifier -> field_identifier) -> field_identifier) = (field_expression "pCVar1->colors" identifier -> field_identifier)) ;) (expression_statement "MVar2 = AssignImageColors(image,pCVar1,exception);" (assignment_expression "MVar2 = AssignImageColors(image,pCVar1,exception)" identifier = (call_expression "AssignImageColors(image,pCVar1,exception)" identifier (argument_list "(image,pCVar1,exception)" ( identifier , identifier , identifier )))) ;) })) (expression_statement "DestroyCubeInfo(pCVar1);" (call_expression "DestroyCubeInfo(pCVar1)" identifier (argument_list "(pCVar1)" ( identifier ))) ;) (return_statement "return MVar2;" return identifier ;) })) (goto_statement "goto LAB_00154224;" goto statement_identifier ;) })) (goto_statement "goto LAB_00154244;" goto statement_identifier ;) })) }))) (expression_statement "exception_00 = (ExceptionInfo *)(PTR_s_t_to_left_003a88e4 + 0x7f44);" (assignment_expression "exception_00 = (ExceptionInfo *)(PTR_s_t_to_left_003a88e4 + 0x7f44)" identifier = (cast_expression "(ExceptionInfo *)(PTR_s_t_to_left_003a88e4 + 0x7f44)" ( (type_descriptor "ExceptionInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_t_to_left_003a88e4 + 0x7f44)" ( (binary_expression "PTR_s_t_to_left_003a88e4 + 0x7f44" identifier + number_literal) )))) ;) (expression_statement "image_00 = (Image *)(PTR_s_t_to_left_003a88e4 + 0x7d40);" (assignment_expression "image_00 = (Image *)(PTR_s_t_to_left_003a88e4 + 0x7d40)" identifier = (cast_expression "(Image *)(PTR_s_t_to_left_003a88e4 + 0x7d40)" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_t_to_left_003a88e4 + 0x7d40)" ( (binary_expression "PTR_s_t_to_left_003a88e4 + 0x7d40" identifier + number_literal) )))) ;) (expression_statement "quantize_info_00 = (QuantizeInfo *)(PTR_s_t_to_left_003a88e4 + 0x7ee4);" (assignment_expression "quantize_info_00 = (QuantizeInfo *)(PTR_s_t_to_left_003a88e4 + 0x7ee4)" identifier = (cast_expression "(QuantizeInfo *)(PTR_s_t_to_left_003a88e4 + 0x7ee4)" ( (type_descriptor "QuantizeInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_t_to_left_003a88e4 + 0x7ee4)" ( (binary_expression "PTR_s_t_to_left_003a88e4 + 0x7ee4" identifier + number_literal) )))) ;) (expression_statement "puVar6 = PTR___assert_fail_003a9608;" (assignment_expression "puVar6 = PTR___assert_fail_003a9608" identifier = identifier) ;) (expression_statement "(*(code *)PTR___assert_fail_003a9608)();" (call_expression "(*(code *)PTR___assert_fail_003a9608)()" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" ( (pointer_expression "*(code *)PTR___assert_fail_003a9608" * (cast_expression "(code *)PTR___assert_fail_003a9608" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (if_statement "if (image_00 == (Image *)0x0) {\n    iVar7 = *(int *)(puVar6 + 0x254660) + 0x7f2c;\n    (**(code **)(puVar6 + 0x255384))\n              (*(int *)(puVar6 + 0x25465c) + 0x1e48,*(int *)(puVar6 + 0x254660) + 0x7d40,0xe2d,iVar7\n              );\nLAB_001544c4:\n    (**(code **)(puVar6 + 0x255384))\n              (*(int *)(puVar6 + 0x25465c) + 0x294c,*(int *)(puVar6 + 0x254660) + 0x7d40,0xe32,\n               iVar7 + 0x7f2c);\n  }\n  else {\n    if (image_00->signature != 0xabacadab) goto LAB_00154508;\n    if (image_00->debug != MagickFalse) {\n      (**(code **)(puVar6 + 0x254f5c))\n                (0x8000,*(int *)(puVar6 + 0x254660) + 0x7d40,*(int *)(puVar6 + 0x254660) + 0x7f20,\n                 0xe30,*(int *)(puVar6 + 0x254660) + -0x62ac,image_00->filename);\n    }\n    if (exception_00 != (ExceptionInfo *)0x0) {\n      iVar7 = *(int *)(puVar6 + 0x254660);\n      if (exception_00->signature == 0xabacadab) {\n        if (image_01 == (Image *)0x0) {\n                    /* WARNING: Could not recover jumptable at 0x00154428. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          MVar2 = (**(code **)(puVar6 + 0x254bec))(quantize_info_00,image_00,exception_00);\n          return MVar2;\n        }\n        pCVar1 = GetCubeInfo(quantize_info_00,8,quantize_info_00->number_colors);\n        if (pCVar1 == (CubeInfo_conflict *)0x0) {\n          (**(code **)(puVar6 + 0x254c9c))\n                    (exception_00,*(int *)(puVar6 + 0x254660) + 0x7d40,\n                     *(int *)(puVar6 + 0x254660) + 0x7f20,0xe43,400,\n                     *(int *)(puVar6 + 0x25465c) + 0x16f8,*(int *)(puVar6 + 0x25465c) + 0x3e28,\n                     image_00->filename);\n          return MagickFalse;\n        }\n        MVar2 = ClassifyImageColors(pCVar1,image_01,exception_00);\n        if (MVar2 == MagickFalse) {\nLAB_0015438c:\n          MVar2 = MagickFalse;\n        }\n        else {\n          pCVar1->quantize_info->number_colors = pCVar1->colors;\n          do {\n            MVar2 = AssignImageColors(image_00,pCVar1,exception_00);\n            if (MVar2 == MagickFalse) goto LAB_0015438c;\n            image_00 = (Image *)(**(code **)(puVar6 + 0x2551ec))(image_00);\n          } while (image_00 != (Image *)0x0);\n        }\n        DestroyCubeInfo(pCVar1);\n        return MVar2;\n      }\n      goto LAB_001544c4;\n    }\n  }" if (parenthesized_expression "(image_00 == (Image *)0x0)" ( (binary_expression "image_00 == (Image *)0x0" identifier == (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    iVar7 = *(int *)(puVar6 + 0x254660) + 0x7f2c;\n    (**(code **)(puVar6 + 0x255384))\n              (*(int *)(puVar6 + 0x25465c) + 0x1e48,*(int *)(puVar6 + 0x254660) + 0x7d40,0xe2d,iVar7\n              );\nLAB_001544c4:\n    (**(code **)(puVar6 + 0x255384))\n              (*(int *)(puVar6 + 0x25465c) + 0x294c,*(int *)(puVar6 + 0x254660) + 0x7d40,0xe32,\n               iVar7 + 0x7f2c);\n  }" { (expression_statement "iVar7 = *(int *)(puVar6 + 0x254660) + 0x7f2c;" (assignment_expression "iVar7 = *(int *)(puVar6 + 0x254660) + 0x7f2c" identifier = (binary_expression "*(int *)(puVar6 + 0x254660) + 0x7f2c" (pointer_expression "*(int *)(puVar6 + 0x254660)" * (cast_expression "(int *)(puVar6 + 0x254660)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + 0x254660)" ( (binary_expression "puVar6 + 0x254660" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(**(code **)(puVar6 + 0x255384))\n              (*(int *)(puVar6 + 0x25465c) + 0x1e48,*(int *)(puVar6 + 0x254660) + 0x7d40,0xe2d,iVar7\n              );" (call_expression "(**(code **)(puVar6 + 0x255384))\n              (*(int *)(puVar6 + 0x25465c) + 0x1e48,*(int *)(puVar6 + 0x254660) + 0x7d40,0xe2d,iVar7\n              )" (parenthesized_expression "(**(code **)(puVar6 + 0x255384))" ( (pointer_expression "**(code **)(puVar6 + 0x255384)" * (pointer_expression "*(code **)(puVar6 + 0x255384)" * (cast_expression "(code **)(puVar6 + 0x255384)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar6 + 0x255384)" ( (binary_expression "puVar6 + 0x255384" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar6 + 0x25465c) + 0x1e48,*(int *)(puVar6 + 0x254660) + 0x7d40,0xe2d,iVar7\n              )" ( (binary_expression "*(int *)(puVar6 + 0x25465c) + 0x1e48" (pointer_expression "*(int *)(puVar6 + 0x25465c)" * (cast_expression "(int *)(puVar6 + 0x25465c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + 0x25465c)" ( (binary_expression "puVar6 + 0x25465c" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar6 + 0x254660) + 0x7d40" (pointer_expression "*(int *)(puVar6 + 0x254660)" * (cast_expression "(int *)(puVar6 + 0x254660)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + 0x254660)" ( (binary_expression "puVar6 + 0x254660" identifier + number_literal) )))) + number_literal) , number_literal , identifier ))) ;) (labeled_statement "LAB_001544c4:\n    (**(code **)(puVar6 + 0x255384))\n              (*(int *)(puVar6 + 0x25465c) + 0x294c,*(int *)(puVar6 + 0x254660) + 0x7d40,0xe32,\n               iVar7 + 0x7f2c);" statement_identifier : (expression_statement "(**(code **)(puVar6 + 0x255384))\n              (*(int *)(puVar6 + 0x25465c) + 0x294c,*(int *)(puVar6 + 0x254660) + 0x7d40,0xe32,\n               iVar7 + 0x7f2c);" (call_expression "(**(code **)(puVar6 + 0x255384))\n              (*(int *)(puVar6 + 0x25465c) + 0x294c,*(int *)(puVar6 + 0x254660) + 0x7d40,0xe32,\n               iVar7 + 0x7f2c)" (parenthesized_expression "(**(code **)(puVar6 + 0x255384))" ( (pointer_expression "**(code **)(puVar6 + 0x255384)" * (pointer_expression "*(code **)(puVar6 + 0x255384)" * (cast_expression "(code **)(puVar6 + 0x255384)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar6 + 0x255384)" ( (binary_expression "puVar6 + 0x255384" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar6 + 0x25465c) + 0x294c,*(int *)(puVar6 + 0x254660) + 0x7d40,0xe32,\n               iVar7 + 0x7f2c)" ( (binary_expression "*(int *)(puVar6 + 0x25465c) + 0x294c" (pointer_expression "*(int *)(puVar6 + 0x25465c)" * (cast_expression "(int *)(puVar6 + 0x25465c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + 0x25465c)" ( (binary_expression "puVar6 + 0x25465c" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar6 + 0x254660) + 0x7d40" (pointer_expression "*(int *)(puVar6 + 0x254660)" * (cast_expression "(int *)(puVar6 + 0x254660)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + 0x254660)" ( (binary_expression "puVar6 + 0x254660" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "iVar7 + 0x7f2c" identifier + number_literal) ))) ;)) }) (else_clause "else {\n    if (image_00->signature != 0xabacadab) goto LAB_00154508;\n    if (image_00->debug != MagickFalse) {\n      (**(code **)(puVar6 + 0x254f5c))\n                (0x8000,*(int *)(puVar6 + 0x254660) + 0x7d40,*(int *)(puVar6 + 0x254660) + 0x7f20,\n                 0xe30,*(int *)(puVar6 + 0x254660) + -0x62ac,image_00->filename);\n    }\n    if (exception_00 != (ExceptionInfo *)0x0) {\n      iVar7 = *(int *)(puVar6 + 0x254660);\n      if (exception_00->signature == 0xabacadab) {\n        if (image_01 == (Image *)0x0) {\n                    /* WARNING: Could not recover jumptable at 0x00154428. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          MVar2 = (**(code **)(puVar6 + 0x254bec))(quantize_info_00,image_00,exception_00);\n          return MVar2;\n        }\n        pCVar1 = GetCubeInfo(quantize_info_00,8,quantize_info_00->number_colors);\n        if (pCVar1 == (CubeInfo_conflict *)0x0) {\n          (**(code **)(puVar6 + 0x254c9c))\n                    (exception_00,*(int *)(puVar6 + 0x254660) + 0x7d40,\n                     *(int *)(puVar6 + 0x254660) + 0x7f20,0xe43,400,\n                     *(int *)(puVar6 + 0x25465c) + 0x16f8,*(int *)(puVar6 + 0x25465c) + 0x3e28,\n                     image_00->filename);\n          return MagickFalse;\n        }\n        MVar2 = ClassifyImageColors(pCVar1,image_01,exception_00);\n        if (MVar2 == MagickFalse) {\nLAB_0015438c:\n          MVar2 = MagickFalse;\n        }\n        else {\n          pCVar1->quantize_info->number_colors = pCVar1->colors;\n          do {\n            MVar2 = AssignImageColors(image_00,pCVar1,exception_00);\n            if (MVar2 == MagickFalse) goto LAB_0015438c;\n            image_00 = (Image *)(**(code **)(puVar6 + 0x2551ec))(image_00);\n          } while (image_00 != (Image *)0x0);\n        }\n        DestroyCubeInfo(pCVar1);\n        return MVar2;\n      }\n      goto LAB_001544c4;\n    }\n  }" else (compound_statement "{\n    if (image_00->signature != 0xabacadab) goto LAB_00154508;\n    if (image_00->debug != MagickFalse) {\n      (**(code **)(puVar6 + 0x254f5c))\n                (0x8000,*(int *)(puVar6 + 0x254660) + 0x7d40,*(int *)(puVar6 + 0x254660) + 0x7f20,\n                 0xe30,*(int *)(puVar6 + 0x254660) + -0x62ac,image_00->filename);\n    }\n    if (exception_00 != (ExceptionInfo *)0x0) {\n      iVar7 = *(int *)(puVar6 + 0x254660);\n      if (exception_00->signature == 0xabacadab) {\n        if (image_01 == (Image *)0x0) {\n                    /* WARNING: Could not recover jumptable at 0x00154428. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          MVar2 = (**(code **)(puVar6 + 0x254bec))(quantize_info_00,image_00,exception_00);\n          return MVar2;\n        }\n        pCVar1 = GetCubeInfo(quantize_info_00,8,quantize_info_00->number_colors);\n        if (pCVar1 == (CubeInfo_conflict *)0x0) {\n          (**(code **)(puVar6 + 0x254c9c))\n                    (exception_00,*(int *)(puVar6 + 0x254660) + 0x7d40,\n                     *(int *)(puVar6 + 0x254660) + 0x7f20,0xe43,400,\n                     *(int *)(puVar6 + 0x25465c) + 0x16f8,*(int *)(puVar6 + 0x25465c) + 0x3e28,\n                     image_00->filename);\n          return MagickFalse;\n        }\n        MVar2 = ClassifyImageColors(pCVar1,image_01,exception_00);\n        if (MVar2 == MagickFalse) {\nLAB_0015438c:\n          MVar2 = MagickFalse;\n        }\n        else {\n          pCVar1->quantize_info->number_colors = pCVar1->colors;\n          do {\n            MVar2 = AssignImageColors(image_00,pCVar1,exception_00);\n            if (MVar2 == MagickFalse) goto LAB_0015438c;\n            image_00 = (Image *)(**(code **)(puVar6 + 0x2551ec))(image_00);\n          } while (image_00 != (Image *)0x0);\n        }\n        DestroyCubeInfo(pCVar1);\n        return MVar2;\n      }\n      goto LAB_001544c4;\n    }\n  }" { (if_statement "if (image_00->signature != 0xabacadab) goto LAB_00154508;" if (parenthesized_expression "(image_00->signature != 0xabacadab)" ( (binary_expression "image_00->signature != 0xabacadab" (field_expression "image_00->signature" identifier -> field_identifier) != number_literal) )) (goto_statement "goto LAB_00154508;" goto statement_identifier ;)) (if_statement "if (image_00->debug != MagickFalse) {\n      (**(code **)(puVar6 + 0x254f5c))\n                (0x8000,*(int *)(puVar6 + 0x254660) + 0x7d40,*(int *)(puVar6 + 0x254660) + 0x7f20,\n                 0xe30,*(int *)(puVar6 + 0x254660) + -0x62ac,image_00->filename);\n    }" if (parenthesized_expression "(image_00->debug != MagickFalse)" ( (binary_expression "image_00->debug != MagickFalse" (field_expression "image_00->debug" identifier -> field_identifier) != identifier) )) (compound_statement "{\n      (**(code **)(puVar6 + 0x254f5c))\n                (0x8000,*(int *)(puVar6 + 0x254660) + 0x7d40,*(int *)(puVar6 + 0x254660) + 0x7f20,\n                 0xe30,*(int *)(puVar6 + 0x254660) + -0x62ac,image_00->filename);\n    }" { (expression_statement "(**(code **)(puVar6 + 0x254f5c))\n                (0x8000,*(int *)(puVar6 + 0x254660) + 0x7d40,*(int *)(puVar6 + 0x254660) + 0x7f20,\n                 0xe30,*(int *)(puVar6 + 0x254660) + -0x62ac,image_00->filename);" (call_expression "(**(code **)(puVar6 + 0x254f5c))\n                (0x8000,*(int *)(puVar6 + 0x254660) + 0x7d40,*(int *)(puVar6 + 0x254660) + 0x7f20,\n                 0xe30,*(int *)(puVar6 + 0x254660) + -0x62ac,image_00->filename)" (parenthesized_expression "(**(code **)(puVar6 + 0x254f5c))" ( (pointer_expression "**(code **)(puVar6 + 0x254f5c)" * (pointer_expression "*(code **)(puVar6 + 0x254f5c)" * (cast_expression "(code **)(puVar6 + 0x254f5c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar6 + 0x254f5c)" ( (binary_expression "puVar6 + 0x254f5c" identifier + number_literal) ))))) )) (argument_list "(0x8000,*(int *)(puVar6 + 0x254660) + 0x7d40,*(int *)(puVar6 + 0x254660) + 0x7f20,\n                 0xe30,*(int *)(puVar6 + 0x254660) + -0x62ac,image_00->filename)" ( number_literal , (binary_expression "*(int *)(puVar6 + 0x254660) + 0x7d40" (pointer_expression "*(int *)(puVar6 + 0x254660)" * (cast_expression "(int *)(puVar6 + 0x254660)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + 0x254660)" ( (binary_expression "puVar6 + 0x254660" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar6 + 0x254660) + 0x7f20" (pointer_expression "*(int *)(puVar6 + 0x254660)" * (cast_expression "(int *)(puVar6 + 0x254660)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + 0x254660)" ( (binary_expression "puVar6 + 0x254660" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar6 + 0x254660) + -0x62ac" (pointer_expression "*(int *)(puVar6 + 0x254660)" * (cast_expression "(int *)(puVar6 + 0x254660)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + 0x254660)" ( (binary_expression "puVar6 + 0x254660" identifier + number_literal) )))) + number_literal) , (field_expression "image_00->filename" identifier -> field_identifier) ))) ;) })) (if_statement "if (exception_00 != (ExceptionInfo *)0x0) {\n      iVar7 = *(int *)(puVar6 + 0x254660);\n      if (exception_00->signature == 0xabacadab) {\n        if (image_01 == (Image *)0x0) {\n                    /* WARNING: Could not recover jumptable at 0x00154428. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          MVar2 = (**(code **)(puVar6 + 0x254bec))(quantize_info_00,image_00,exception_00);\n          return MVar2;\n        }\n        pCVar1 = GetCubeInfo(quantize_info_00,8,quantize_info_00->number_colors);\n        if (pCVar1 == (CubeInfo_conflict *)0x0) {\n          (**(code **)(puVar6 + 0x254c9c))\n                    (exception_00,*(int *)(puVar6 + 0x254660) + 0x7d40,\n                     *(int *)(puVar6 + 0x254660) + 0x7f20,0xe43,400,\n                     *(int *)(puVar6 + 0x25465c) + 0x16f8,*(int *)(puVar6 + 0x25465c) + 0x3e28,\n                     image_00->filename);\n          return MagickFalse;\n        }\n        MVar2 = ClassifyImageColors(pCVar1,image_01,exception_00);\n        if (MVar2 == MagickFalse) {\nLAB_0015438c:\n          MVar2 = MagickFalse;\n        }\n        else {\n          pCVar1->quantize_info->number_colors = pCVar1->colors;\n          do {\n            MVar2 = AssignImageColors(image_00,pCVar1,exception_00);\n            if (MVar2 == MagickFalse) goto LAB_0015438c;\n            image_00 = (Image *)(**(code **)(puVar6 + 0x2551ec))(image_00);\n          } while (image_00 != (Image *)0x0);\n        }\n        DestroyCubeInfo(pCVar1);\n        return MVar2;\n      }\n      goto LAB_001544c4;\n    }" if (parenthesized_expression "(exception_00 != (ExceptionInfo *)0x0)" ( (binary_expression "exception_00 != (ExceptionInfo *)0x0" identifier != (cast_expression "(ExceptionInfo *)0x0" ( (type_descriptor "ExceptionInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      iVar7 = *(int *)(puVar6 + 0x254660);\n      if (exception_00->signature == 0xabacadab) {\n        if (image_01 == (Image *)0x0) {\n                    /* WARNING: Could not recover jumptable at 0x00154428. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          MVar2 = (**(code **)(puVar6 + 0x254bec))(quantize_info_00,image_00,exception_00);\n          return MVar2;\n        }\n        pCVar1 = GetCubeInfo(quantize_info_00,8,quantize_info_00->number_colors);\n        if (pCVar1 == (CubeInfo_conflict *)0x0) {\n          (**(code **)(puVar6 + 0x254c9c))\n                    (exception_00,*(int *)(puVar6 + 0x254660) + 0x7d40,\n                     *(int *)(puVar6 + 0x254660) + 0x7f20,0xe43,400,\n                     *(int *)(puVar6 + 0x25465c) + 0x16f8,*(int *)(puVar6 + 0x25465c) + 0x3e28,\n                     image_00->filename);\n          return MagickFalse;\n        }\n        MVar2 = ClassifyImageColors(pCVar1,image_01,exception_00);\n        if (MVar2 == MagickFalse) {\nLAB_0015438c:\n          MVar2 = MagickFalse;\n        }\n        else {\n          pCVar1->quantize_info->number_colors = pCVar1->colors;\n          do {\n            MVar2 = AssignImageColors(image_00,pCVar1,exception_00);\n            if (MVar2 == MagickFalse) goto LAB_0015438c;\n            image_00 = (Image *)(**(code **)(puVar6 + 0x2551ec))(image_00);\n          } while (image_00 != (Image *)0x0);\n        }\n        DestroyCubeInfo(pCVar1);\n        return MVar2;\n      }\n      goto LAB_001544c4;\n    }" { (expression_statement "iVar7 = *(int *)(puVar6 + 0x254660);" (assignment_expression "iVar7 = *(int *)(puVar6 + 0x254660)" identifier = (pointer_expression "*(int *)(puVar6 + 0x254660)" * (cast_expression "(int *)(puVar6 + 0x254660)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + 0x254660)" ( (binary_expression "puVar6 + 0x254660" identifier + number_literal) ))))) ;) (if_statement "if (exception_00->signature == 0xabacadab) {\n        if (image_01 == (Image *)0x0) {\n                    /* WARNING: Could not recover jumptable at 0x00154428. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          MVar2 = (**(code **)(puVar6 + 0x254bec))(quantize_info_00,image_00,exception_00);\n          return MVar2;\n        }\n        pCVar1 = GetCubeInfo(quantize_info_00,8,quantize_info_00->number_colors);\n        if (pCVar1 == (CubeInfo_conflict *)0x0) {\n          (**(code **)(puVar6 + 0x254c9c))\n                    (exception_00,*(int *)(puVar6 + 0x254660) + 0x7d40,\n                     *(int *)(puVar6 + 0x254660) + 0x7f20,0xe43,400,\n                     *(int *)(puVar6 + 0x25465c) + 0x16f8,*(int *)(puVar6 + 0x25465c) + 0x3e28,\n                     image_00->filename);\n          return MagickFalse;\n        }\n        MVar2 = ClassifyImageColors(pCVar1,image_01,exception_00);\n        if (MVar2 == MagickFalse) {\nLAB_0015438c:\n          MVar2 = MagickFalse;\n        }\n        else {\n          pCVar1->quantize_info->number_colors = pCVar1->colors;\n          do {\n            MVar2 = AssignImageColors(image_00,pCVar1,exception_00);\n            if (MVar2 == MagickFalse) goto LAB_0015438c;\n            image_00 = (Image *)(**(code **)(puVar6 + 0x2551ec))(image_00);\n          } while (image_00 != (Image *)0x0);\n        }\n        DestroyCubeInfo(pCVar1);\n        return MVar2;\n      }" if (parenthesized_expression "(exception_00->signature == 0xabacadab)" ( (binary_expression "exception_00->signature == 0xabacadab" (field_expression "exception_00->signature" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n        if (image_01 == (Image *)0x0) {\n                    /* WARNING: Could not recover jumptable at 0x00154428. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          MVar2 = (**(code **)(puVar6 + 0x254bec))(quantize_info_00,image_00,exception_00);\n          return MVar2;\n        }\n        pCVar1 = GetCubeInfo(quantize_info_00,8,quantize_info_00->number_colors);\n        if (pCVar1 == (CubeInfo_conflict *)0x0) {\n          (**(code **)(puVar6 + 0x254c9c))\n                    (exception_00,*(int *)(puVar6 + 0x254660) + 0x7d40,\n                     *(int *)(puVar6 + 0x254660) + 0x7f20,0xe43,400,\n                     *(int *)(puVar6 + 0x25465c) + 0x16f8,*(int *)(puVar6 + 0x25465c) + 0x3e28,\n                     image_00->filename);\n          return MagickFalse;\n        }\n        MVar2 = ClassifyImageColors(pCVar1,image_01,exception_00);\n        if (MVar2 == MagickFalse) {\nLAB_0015438c:\n          MVar2 = MagickFalse;\n        }\n        else {\n          pCVar1->quantize_info->number_colors = pCVar1->colors;\n          do {\n            MVar2 = AssignImageColors(image_00,pCVar1,exception_00);\n            if (MVar2 == MagickFalse) goto LAB_0015438c;\n            image_00 = (Image *)(**(code **)(puVar6 + 0x2551ec))(image_00);\n          } while (image_00 != (Image *)0x0);\n        }\n        DestroyCubeInfo(pCVar1);\n        return MVar2;\n      }" { (if_statement "if (image_01 == (Image *)0x0) {\n                    /* WARNING: Could not recover jumptable at 0x00154428. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          MVar2 = (**(code **)(puVar6 + 0x254bec))(quantize_info_00,image_00,exception_00);\n          return MVar2;\n        }" if (parenthesized_expression "(image_01 == (Image *)0x0)" ( (binary_expression "image_01 == (Image *)0x0" identifier == (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Could not recover jumptable at 0x00154428. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          MVar2 = (**(code **)(puVar6 + 0x254bec))(quantize_info_00,image_00,exception_00);\n          return MVar2;\n        }" { comment comment (expression_statement "MVar2 = (**(code **)(puVar6 + 0x254bec))(quantize_info_00,image_00,exception_00);" (assignment_expression "MVar2 = (**(code **)(puVar6 + 0x254bec))(quantize_info_00,image_00,exception_00)" identifier = (call_expression "(**(code **)(puVar6 + 0x254bec))(quantize_info_00,image_00,exception_00)" (parenthesized_expression "(**(code **)(puVar6 + 0x254bec))" ( (pointer_expression "**(code **)(puVar6 + 0x254bec)" * (pointer_expression "*(code **)(puVar6 + 0x254bec)" * (cast_expression "(code **)(puVar6 + 0x254bec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar6 + 0x254bec)" ( (binary_expression "puVar6 + 0x254bec" identifier + number_literal) ))))) )) (argument_list "(quantize_info_00,image_00,exception_00)" ( identifier , identifier , identifier )))) ;) (return_statement "return MVar2;" return identifier ;) })) (expression_statement "pCVar1 = GetCubeInfo(quantize_info_00,8,quantize_info_00->number_colors);" (assignment_expression "pCVar1 = GetCubeInfo(quantize_info_00,8,quantize_info_00->number_colors)" identifier = (call_expression "GetCubeInfo(quantize_info_00,8,quantize_info_00->number_colors)" identifier (argument_list "(quantize_info_00,8,quantize_info_00->number_colors)" ( identifier , number_literal , (field_expression "quantize_info_00->number_colors" identifier -> field_identifier) )))) ;) (if_statement "if (pCVar1 == (CubeInfo_conflict *)0x0) {\n          (**(code **)(puVar6 + 0x254c9c))\n                    (exception_00,*(int *)(puVar6 + 0x254660) + 0x7d40,\n                     *(int *)(puVar6 + 0x254660) + 0x7f20,0xe43,400,\n                     *(int *)(puVar6 + 0x25465c) + 0x16f8,*(int *)(puVar6 + 0x25465c) + 0x3e28,\n                     image_00->filename);\n          return MagickFalse;\n        }" if (parenthesized_expression "(pCVar1 == (CubeInfo_conflict *)0x0)" ( (binary_expression "pCVar1 == (CubeInfo_conflict *)0x0" identifier == (cast_expression "(CubeInfo_conflict *)0x0" ( (type_descriptor "CubeInfo_conflict *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          (**(code **)(puVar6 + 0x254c9c))\n                    (exception_00,*(int *)(puVar6 + 0x254660) + 0x7d40,\n                     *(int *)(puVar6 + 0x254660) + 0x7f20,0xe43,400,\n                     *(int *)(puVar6 + 0x25465c) + 0x16f8,*(int *)(puVar6 + 0x25465c) + 0x3e28,\n                     image_00->filename);\n          return MagickFalse;\n        }" { (expression_statement "(**(code **)(puVar6 + 0x254c9c))\n                    (exception_00,*(int *)(puVar6 + 0x254660) + 0x7d40,\n                     *(int *)(puVar6 + 0x254660) + 0x7f20,0xe43,400,\n                     *(int *)(puVar6 + 0x25465c) + 0x16f8,*(int *)(puVar6 + 0x25465c) + 0x3e28,\n                     image_00->filename);" (call_expression "(**(code **)(puVar6 + 0x254c9c))\n                    (exception_00,*(int *)(puVar6 + 0x254660) + 0x7d40,\n                     *(int *)(puVar6 + 0x254660) + 0x7f20,0xe43,400,\n                     *(int *)(puVar6 + 0x25465c) + 0x16f8,*(int *)(puVar6 + 0x25465c) + 0x3e28,\n                     image_00->filename)" (parenthesized_expression "(**(code **)(puVar6 + 0x254c9c))" ( (pointer_expression "**(code **)(puVar6 + 0x254c9c)" * (pointer_expression "*(code **)(puVar6 + 0x254c9c)" * (cast_expression "(code **)(puVar6 + 0x254c9c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar6 + 0x254c9c)" ( (binary_expression "puVar6 + 0x254c9c" identifier + number_literal) ))))) )) (argument_list "(exception_00,*(int *)(puVar6 + 0x254660) + 0x7d40,\n                     *(int *)(puVar6 + 0x254660) + 0x7f20,0xe43,400,\n                     *(int *)(puVar6 + 0x25465c) + 0x16f8,*(int *)(puVar6 + 0x25465c) + 0x3e28,\n                     image_00->filename)" ( identifier , (binary_expression "*(int *)(puVar6 + 0x254660) + 0x7d40" (pointer_expression "*(int *)(puVar6 + 0x254660)" * (cast_expression "(int *)(puVar6 + 0x254660)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + 0x254660)" ( (binary_expression "puVar6 + 0x254660" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar6 + 0x254660) + 0x7f20" (pointer_expression "*(int *)(puVar6 + 0x254660)" * (cast_expression "(int *)(puVar6 + 0x254660)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + 0x254660)" ( (binary_expression "puVar6 + 0x254660" identifier + number_literal) )))) + number_literal) , number_literal , number_literal , (binary_expression "*(int *)(puVar6 + 0x25465c) + 0x16f8" (pointer_expression "*(int *)(puVar6 + 0x25465c)" * (cast_expression "(int *)(puVar6 + 0x25465c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + 0x25465c)" ( (binary_expression "puVar6 + 0x25465c" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar6 + 0x25465c) + 0x3e28" (pointer_expression "*(int *)(puVar6 + 0x25465c)" * (cast_expression "(int *)(puVar6 + 0x25465c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + 0x25465c)" ( (binary_expression "puVar6 + 0x25465c" identifier + number_literal) )))) + number_literal) , (field_expression "image_00->filename" identifier -> field_identifier) ))) ;) (return_statement "return MagickFalse;" return identifier ;) })) (expression_statement "MVar2 = ClassifyImageColors(pCVar1,image_01,exception_00);" (assignment_expression "MVar2 = ClassifyImageColors(pCVar1,image_01,exception_00)" identifier = (call_expression "ClassifyImageColors(pCVar1,image_01,exception_00)" identifier (argument_list "(pCVar1,image_01,exception_00)" ( identifier , identifier , identifier )))) ;) (if_statement "if (MVar2 == MagickFalse) {\nLAB_0015438c:\n          MVar2 = MagickFalse;\n        }\n        else {\n          pCVar1->quantize_info->number_colors = pCVar1->colors;\n          do {\n            MVar2 = AssignImageColors(image_00,pCVar1,exception_00);\n            if (MVar2 == MagickFalse) goto LAB_0015438c;\n            image_00 = (Image *)(**(code **)(puVar6 + 0x2551ec))(image_00);\n          } while (image_00 != (Image *)0x0);\n        }" if (parenthesized_expression "(MVar2 == MagickFalse)" ( (binary_expression "MVar2 == MagickFalse" identifier == identifier) )) (compound_statement "{\nLAB_0015438c:\n          MVar2 = MagickFalse;\n        }" { (labeled_statement "LAB_0015438c:\n          MVar2 = MagickFalse;" statement_identifier : (expression_statement "MVar2 = MagickFalse;" (assignment_expression "MVar2 = MagickFalse" identifier = identifier) ;)) }) (else_clause "else {\n          pCVar1->quantize_info->number_colors = pCVar1->colors;\n          do {\n            MVar2 = AssignImageColors(image_00,pCVar1,exception_00);\n            if (MVar2 == MagickFalse) goto LAB_0015438c;\n            image_00 = (Image *)(**(code **)(puVar6 + 0x2551ec))(image_00);\n          } while (image_00 != (Image *)0x0);\n        }" else (compound_statement "{\n          pCVar1->quantize_info->number_colors = pCVar1->colors;\n          do {\n            MVar2 = AssignImageColors(image_00,pCVar1,exception_00);\n            if (MVar2 == MagickFalse) goto LAB_0015438c;\n            image_00 = (Image *)(**(code **)(puVar6 + 0x2551ec))(image_00);\n          } while (image_00 != (Image *)0x0);\n        }" { (expression_statement "pCVar1->quantize_info->number_colors = pCVar1->colors;" (assignment_expression "pCVar1->quantize_info->number_colors = pCVar1->colors" (field_expression "pCVar1->quantize_info->number_colors" (field_expression "pCVar1->quantize_info" identifier -> field_identifier) -> field_identifier) = (field_expression "pCVar1->colors" identifier -> field_identifier)) ;) (do_statement "do {\n            MVar2 = AssignImageColors(image_00,pCVar1,exception_00);\n            if (MVar2 == MagickFalse) goto LAB_0015438c;\n            image_00 = (Image *)(**(code **)(puVar6 + 0x2551ec))(image_00);\n          } while (image_00 != (Image *)0x0);" do (compound_statement "{\n            MVar2 = AssignImageColors(image_00,pCVar1,exception_00);\n            if (MVar2 == MagickFalse) goto LAB_0015438c;\n            image_00 = (Image *)(**(code **)(puVar6 + 0x2551ec))(image_00);\n          }" { (expression_statement "MVar2 = AssignImageColors(image_00,pCVar1,exception_00);" (assignment_expression "MVar2 = AssignImageColors(image_00,pCVar1,exception_00)" identifier = (call_expression "AssignImageColors(image_00,pCVar1,exception_00)" identifier (argument_list "(image_00,pCVar1,exception_00)" ( identifier , identifier , identifier )))) ;) (if_statement "if (MVar2 == MagickFalse) goto LAB_0015438c;" if (parenthesized_expression "(MVar2 == MagickFalse)" ( (binary_expression "MVar2 == MagickFalse" identifier == identifier) )) (goto_statement "goto LAB_0015438c;" goto statement_identifier ;)) (expression_statement "image_00 = (Image *)(**(code **)(puVar6 + 0x2551ec))(image_00);" (assignment_expression "image_00 = (Image *)(**(code **)(puVar6 + 0x2551ec))(image_00)" identifier = (cast_expression "(Image *)(**(code **)(puVar6 + 0x2551ec))(image_00)" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar6 + 0x2551ec))(image_00)" (parenthesized_expression "(**(code **)(puVar6 + 0x2551ec))" ( (pointer_expression "**(code **)(puVar6 + 0x2551ec)" * (pointer_expression "*(code **)(puVar6 + 0x2551ec)" * (cast_expression "(code **)(puVar6 + 0x2551ec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar6 + 0x2551ec)" ( (binary_expression "puVar6 + 0x2551ec" identifier + number_literal) ))))) )) (argument_list "(image_00)" ( identifier ))))) ;) }) while (parenthesized_expression "(image_00 != (Image *)0x0)" ( (binary_expression "image_00 != (Image *)0x0" identifier != (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) }))) (expression_statement "DestroyCubeInfo(pCVar1);" (call_expression "DestroyCubeInfo(pCVar1)" identifier (argument_list "(pCVar1)" ( identifier ))) ;) (return_statement "return MVar2;" return identifier ;) })) (goto_statement "goto LAB_001544c4;" goto statement_identifier ;) })) }))) (expression_statement "(**(code **)(puVar6 + 0x255384))\n            (*(int *)(puVar6 + 0x25465c) + 0x1cac,*(int *)(puVar6 + 0x254660) + 0x7d40,0xe31,\n             *(int *)(puVar6 + 0x254660) + 0x7f2c);" (call_expression "(**(code **)(puVar6 + 0x255384))\n            (*(int *)(puVar6 + 0x25465c) + 0x1cac,*(int *)(puVar6 + 0x254660) + 0x7d40,0xe31,\n             *(int *)(puVar6 + 0x254660) + 0x7f2c)" (parenthesized_expression "(**(code **)(puVar6 + 0x255384))" ( (pointer_expression "**(code **)(puVar6 + 0x255384)" * (pointer_expression "*(code **)(puVar6 + 0x255384)" * (cast_expression "(code **)(puVar6 + 0x255384)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar6 + 0x255384)" ( (binary_expression "puVar6 + 0x255384" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar6 + 0x25465c) + 0x1cac,*(int *)(puVar6 + 0x254660) + 0x7d40,0xe31,\n             *(int *)(puVar6 + 0x254660) + 0x7f2c)" ( (binary_expression "*(int *)(puVar6 + 0x25465c) + 0x1cac" (pointer_expression "*(int *)(puVar6 + 0x25465c)" * (cast_expression "(int *)(puVar6 + 0x25465c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + 0x25465c)" ( (binary_expression "puVar6 + 0x25465c" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar6 + 0x254660) + 0x7d40" (pointer_expression "*(int *)(puVar6 + 0x254660)" * (cast_expression "(int *)(puVar6 + 0x254660)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + 0x254660)" ( (binary_expression "puVar6 + 0x254660" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar6 + 0x254660) + 0x7f2c" (pointer_expression "*(int *)(puVar6 + 0x254660)" * (cast_expression "(int *)(puVar6 + 0x254660)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + 0x254660)" ( (binary_expression "puVar6 + 0x254660" identifier + number_literal) )))) + number_literal) ))) ;) (labeled_statement "LAB_00154508:\n  UNRECOVERED_JUMPTABLE = *(code **)(puVar6 + 0x255384);" statement_identifier : (expression_statement "UNRECOVERED_JUMPTABLE = *(code **)(puVar6 + 0x255384);" (assignment_expression "UNRECOVERED_JUMPTABLE = *(code **)(puVar6 + 0x255384)" identifier = (pointer_expression "*(code **)(puVar6 + 0x255384)" * (cast_expression "(code **)(puVar6 + 0x255384)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar6 + 0x255384)" ( (binary_expression "puVar6 + 0x255384" identifier + number_literal) ))))) ;)) (expression_statement "iVar7 = *(int *)(puVar6 + 0x25465c) + 0x1e64;" (assignment_expression "iVar7 = *(int *)(puVar6 + 0x25465c) + 0x1e64" identifier = (binary_expression "*(int *)(puVar6 + 0x25465c) + 0x1e64" (pointer_expression "*(int *)(puVar6 + 0x25465c)" * (cast_expression "(int *)(puVar6 + 0x25465c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + 0x25465c)" ( (binary_expression "puVar6 + 0x25465c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*UNRECOVERED_JUMPTABLE)\n            (iVar7,*(int *)(puVar6 + 0x254660) + 0x7d40,0xe2e,*(int *)(puVar6 + 0x254660) + 0x7f2c);" (call_expression "(*UNRECOVERED_JUMPTABLE)\n            (iVar7,*(int *)(puVar6 + 0x254660) + 0x7d40,0xe2e,*(int *)(puVar6 + 0x254660) + 0x7f2c)" (parenthesized_expression "(*UNRECOVERED_JUMPTABLE)" ( (pointer_expression "*UNRECOVERED_JUMPTABLE" * identifier) )) (argument_list "(iVar7,*(int *)(puVar6 + 0x254660) + 0x7d40,0xe2e,*(int *)(puVar6 + 0x254660) + 0x7f2c)" ( identifier , (binary_expression "*(int *)(puVar6 + 0x254660) + 0x7d40" (pointer_expression "*(int *)(puVar6 + 0x254660)" * (cast_expression "(int *)(puVar6 + 0x254660)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + 0x254660)" ( (binary_expression "puVar6 + 0x254660" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar6 + 0x254660) + 0x7f2c" (pointer_expression "*(int *)(puVar6 + 0x254660)" * (cast_expression "(int *)(puVar6 + 0x254660)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + 0x254660)" ( (binary_expression "puVar6 + 0x254660" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (iVar7 != 0) {\n    if (*(int *)(iVar7 + 100) == -0x54535255) {\n      iVar4 = *(int *)(iVar7 + 0x3c);\n      iVar8 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc);\n      if (iVar4 != 0) {\n        iVar8 = *(int *)(iVar7 + 0x38);\n        iVar12 = *(int *)(iVar7 + 0x40);\n        if (0 < iVar8) {\n          iVar9 = 0;\n          iVar11 = 0;\n          do {\n            if (*(int *)(iVar4 + iVar11) != 0) {\n              iVar4 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x2549f8))();\n              if (*(char *)(iVar4 + iVar12) != -0x55) {\n                iVar8 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                          (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e50,\n                           *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x10e,iVar8);\n                goto LAB_00154650;\n              }\n              puVar10 = (undefined4 *)(*(int *)(iVar7 + 0x3c) + iVar11);\n              uVar3 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254e68))(*puVar10);\n              iVar4 = *(int *)(iVar7 + 0x3c);\n              iVar8 = *(int *)(iVar7 + 0x38);\n              *puVar10 = uVar3;\n            }\n            iVar9 = iVar9 + 1;\n            iVar11 = iVar9 * 4;\n          } while (iVar9 < iVar8);\n        }\n        MVar2 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254a90))(iVar4);\n        *(MagickBooleanType *)(iVar7 + 0x3c) = MVar2;\n        return MVar2;\n      }\nLAB_00154650:\n      (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e80,\n                 *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x102,iVar8 + -0x7b1c);\n    }\n    (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7eb0,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x101,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c);\n  }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n    if (*(int *)(iVar7 + 100) == -0x54535255) {\n      iVar4 = *(int *)(iVar7 + 0x3c);\n      iVar8 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc);\n      if (iVar4 != 0) {\n        iVar8 = *(int *)(iVar7 + 0x38);\n        iVar12 = *(int *)(iVar7 + 0x40);\n        if (0 < iVar8) {\n          iVar9 = 0;\n          iVar11 = 0;\n          do {\n            if (*(int *)(iVar4 + iVar11) != 0) {\n              iVar4 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x2549f8))();\n              if (*(char *)(iVar4 + iVar12) != -0x55) {\n                iVar8 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                          (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e50,\n                           *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x10e,iVar8);\n                goto LAB_00154650;\n              }\n              puVar10 = (undefined4 *)(*(int *)(iVar7 + 0x3c) + iVar11);\n              uVar3 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254e68))(*puVar10);\n              iVar4 = *(int *)(iVar7 + 0x3c);\n              iVar8 = *(int *)(iVar7 + 0x38);\n              *puVar10 = uVar3;\n            }\n            iVar9 = iVar9 + 1;\n            iVar11 = iVar9 * 4;\n          } while (iVar9 < iVar8);\n        }\n        MVar2 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254a90))(iVar4);\n        *(MagickBooleanType *)(iVar7 + 0x3c) = MVar2;\n        return MVar2;\n      }\nLAB_00154650:\n      (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e80,\n                 *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x102,iVar8 + -0x7b1c);\n    }\n    (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7eb0,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x101,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c);\n  }" { (if_statement "if (*(int *)(iVar7 + 100) == -0x54535255) {\n      iVar4 = *(int *)(iVar7 + 0x3c);\n      iVar8 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc);\n      if (iVar4 != 0) {\n        iVar8 = *(int *)(iVar7 + 0x38);\n        iVar12 = *(int *)(iVar7 + 0x40);\n        if (0 < iVar8) {\n          iVar9 = 0;\n          iVar11 = 0;\n          do {\n            if (*(int *)(iVar4 + iVar11) != 0) {\n              iVar4 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x2549f8))();\n              if (*(char *)(iVar4 + iVar12) != -0x55) {\n                iVar8 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                          (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e50,\n                           *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x10e,iVar8);\n                goto LAB_00154650;\n              }\n              puVar10 = (undefined4 *)(*(int *)(iVar7 + 0x3c) + iVar11);\n              uVar3 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254e68))(*puVar10);\n              iVar4 = *(int *)(iVar7 + 0x3c);\n              iVar8 = *(int *)(iVar7 + 0x38);\n              *puVar10 = uVar3;\n            }\n            iVar9 = iVar9 + 1;\n            iVar11 = iVar9 * 4;\n          } while (iVar9 < iVar8);\n        }\n        MVar2 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254a90))(iVar4);\n        *(MagickBooleanType *)(iVar7 + 0x3c) = MVar2;\n        return MVar2;\n      }\nLAB_00154650:\n      (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e80,\n                 *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x102,iVar8 + -0x7b1c);\n    }" if (parenthesized_expression "(*(int *)(iVar7 + 100) == -0x54535255)" ( (binary_expression "*(int *)(iVar7 + 100) == -0x54535255" (pointer_expression "*(int *)(iVar7 + 100)" * (cast_expression "(int *)(iVar7 + 100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 100)" ( (binary_expression "iVar7 + 100" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      iVar4 = *(int *)(iVar7 + 0x3c);\n      iVar8 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc);\n      if (iVar4 != 0) {\n        iVar8 = *(int *)(iVar7 + 0x38);\n        iVar12 = *(int *)(iVar7 + 0x40);\n        if (0 < iVar8) {\n          iVar9 = 0;\n          iVar11 = 0;\n          do {\n            if (*(int *)(iVar4 + iVar11) != 0) {\n              iVar4 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x2549f8))();\n              if (*(char *)(iVar4 + iVar12) != -0x55) {\n                iVar8 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                          (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e50,\n                           *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x10e,iVar8);\n                goto LAB_00154650;\n              }\n              puVar10 = (undefined4 *)(*(int *)(iVar7 + 0x3c) + iVar11);\n              uVar3 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254e68))(*puVar10);\n              iVar4 = *(int *)(iVar7 + 0x3c);\n              iVar8 = *(int *)(iVar7 + 0x38);\n              *puVar10 = uVar3;\n            }\n            iVar9 = iVar9 + 1;\n            iVar11 = iVar9 * 4;\n          } while (iVar9 < iVar8);\n        }\n        MVar2 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254a90))(iVar4);\n        *(MagickBooleanType *)(iVar7 + 0x3c) = MVar2;\n        return MVar2;\n      }\nLAB_00154650:\n      (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e80,\n                 *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x102,iVar8 + -0x7b1c);\n    }" { (expression_statement "iVar4 = *(int *)(iVar7 + 0x3c);" (assignment_expression "iVar4 = *(int *)(iVar7 + 0x3c)" identifier = (pointer_expression "*(int *)(iVar7 + 0x3c)" * (cast_expression "(int *)(iVar7 + 0x3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x3c)" ( (binary_expression "iVar7 + 0x3c" identifier + number_literal) ))))) ;) (expression_statement "iVar8 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc);" (assignment_expression "iVar8 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc)" identifier = (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x2543bc)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x2543bc" identifier + number_literal) ))))) ;) (if_statement "if (iVar4 != 0) {\n        iVar8 = *(int *)(iVar7 + 0x38);\n        iVar12 = *(int *)(iVar7 + 0x40);\n        if (0 < iVar8) {\n          iVar9 = 0;\n          iVar11 = 0;\n          do {\n            if (*(int *)(iVar4 + iVar11) != 0) {\n              iVar4 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x2549f8))();\n              if (*(char *)(iVar4 + iVar12) != -0x55) {\n                iVar8 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                          (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e50,\n                           *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x10e,iVar8);\n                goto LAB_00154650;\n              }\n              puVar10 = (undefined4 *)(*(int *)(iVar7 + 0x3c) + iVar11);\n              uVar3 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254e68))(*puVar10);\n              iVar4 = *(int *)(iVar7 + 0x3c);\n              iVar8 = *(int *)(iVar7 + 0x38);\n              *puVar10 = uVar3;\n            }\n            iVar9 = iVar9 + 1;\n            iVar11 = iVar9 * 4;\n          } while (iVar9 < iVar8);\n        }\n        MVar2 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254a90))(iVar4);\n        *(MagickBooleanType *)(iVar7 + 0x3c) = MVar2;\n        return MVar2;\n      }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n        iVar8 = *(int *)(iVar7 + 0x38);\n        iVar12 = *(int *)(iVar7 + 0x40);\n        if (0 < iVar8) {\n          iVar9 = 0;\n          iVar11 = 0;\n          do {\n            if (*(int *)(iVar4 + iVar11) != 0) {\n              iVar4 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x2549f8))();\n              if (*(char *)(iVar4 + iVar12) != -0x55) {\n                iVar8 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                          (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e50,\n                           *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x10e,iVar8);\n                goto LAB_00154650;\n              }\n              puVar10 = (undefined4 *)(*(int *)(iVar7 + 0x3c) + iVar11);\n              uVar3 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254e68))(*puVar10);\n              iVar4 = *(int *)(iVar7 + 0x3c);\n              iVar8 = *(int *)(iVar7 + 0x38);\n              *puVar10 = uVar3;\n            }\n            iVar9 = iVar9 + 1;\n            iVar11 = iVar9 * 4;\n          } while (iVar9 < iVar8);\n        }\n        MVar2 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254a90))(iVar4);\n        *(MagickBooleanType *)(iVar7 + 0x3c) = MVar2;\n        return MVar2;\n      }" { (expression_statement "iVar8 = *(int *)(iVar7 + 0x38);" (assignment_expression "iVar8 = *(int *)(iVar7 + 0x38)" identifier = (pointer_expression "*(int *)(iVar7 + 0x38)" * (cast_expression "(int *)(iVar7 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x38)" ( (binary_expression "iVar7 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "iVar12 = *(int *)(iVar7 + 0x40);" (assignment_expression "iVar12 = *(int *)(iVar7 + 0x40)" identifier = (pointer_expression "*(int *)(iVar7 + 0x40)" * (cast_expression "(int *)(iVar7 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x40)" ( (binary_expression "iVar7 + 0x40" identifier + number_literal) ))))) ;) (if_statement "if (0 < iVar8) {\n          iVar9 = 0;\n          iVar11 = 0;\n          do {\n            if (*(int *)(iVar4 + iVar11) != 0) {\n              iVar4 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x2549f8))();\n              if (*(char *)(iVar4 + iVar12) != -0x55) {\n                iVar8 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                          (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e50,\n                           *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x10e,iVar8);\n                goto LAB_00154650;\n              }\n              puVar10 = (undefined4 *)(*(int *)(iVar7 + 0x3c) + iVar11);\n              uVar3 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254e68))(*puVar10);\n              iVar4 = *(int *)(iVar7 + 0x3c);\n              iVar8 = *(int *)(iVar7 + 0x38);\n              *puVar10 = uVar3;\n            }\n            iVar9 = iVar9 + 1;\n            iVar11 = iVar9 * 4;\n          } while (iVar9 < iVar8);\n        }" if (parenthesized_expression "(0 < iVar8)" ( (binary_expression "0 < iVar8" number_literal < identifier) )) (compound_statement "{\n          iVar9 = 0;\n          iVar11 = 0;\n          do {\n            if (*(int *)(iVar4 + iVar11) != 0) {\n              iVar4 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x2549f8))();\n              if (*(char *)(iVar4 + iVar12) != -0x55) {\n                iVar8 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                          (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e50,\n                           *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x10e,iVar8);\n                goto LAB_00154650;\n              }\n              puVar10 = (undefined4 *)(*(int *)(iVar7 + 0x3c) + iVar11);\n              uVar3 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254e68))(*puVar10);\n              iVar4 = *(int *)(iVar7 + 0x3c);\n              iVar8 = *(int *)(iVar7 + 0x38);\n              *puVar10 = uVar3;\n            }\n            iVar9 = iVar9 + 1;\n            iVar11 = iVar9 * 4;\n          } while (iVar9 < iVar8);\n        }" { (expression_statement "iVar9 = 0;" (assignment_expression "iVar9 = 0" identifier = number_literal) ;) (expression_statement "iVar11 = 0;" (assignment_expression "iVar11 = 0" identifier = number_literal) ;) (do_statement "do {\n            if (*(int *)(iVar4 + iVar11) != 0) {\n              iVar4 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x2549f8))();\n              if (*(char *)(iVar4 + iVar12) != -0x55) {\n                iVar8 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                          (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e50,\n                           *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x10e,iVar8);\n                goto LAB_00154650;\n              }\n              puVar10 = (undefined4 *)(*(int *)(iVar7 + 0x3c) + iVar11);\n              uVar3 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254e68))(*puVar10);\n              iVar4 = *(int *)(iVar7 + 0x3c);\n              iVar8 = *(int *)(iVar7 + 0x38);\n              *puVar10 = uVar3;\n            }\n            iVar9 = iVar9 + 1;\n            iVar11 = iVar9 * 4;\n          } while (iVar9 < iVar8);" do (compound_statement "{\n            if (*(int *)(iVar4 + iVar11) != 0) {\n              iVar4 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x2549f8))();\n              if (*(char *)(iVar4 + iVar12) != -0x55) {\n                iVar8 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                          (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e50,\n                           *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x10e,iVar8);\n                goto LAB_00154650;\n              }\n              puVar10 = (undefined4 *)(*(int *)(iVar7 + 0x3c) + iVar11);\n              uVar3 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254e68))(*puVar10);\n              iVar4 = *(int *)(iVar7 + 0x3c);\n              iVar8 = *(int *)(iVar7 + 0x38);\n              *puVar10 = uVar3;\n            }\n            iVar9 = iVar9 + 1;\n            iVar11 = iVar9 * 4;\n          }" { (if_statement "if (*(int *)(iVar4 + iVar11) != 0) {\n              iVar4 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x2549f8))();\n              if (*(char *)(iVar4 + iVar12) != -0x55) {\n                iVar8 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                          (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e50,\n                           *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x10e,iVar8);\n                goto LAB_00154650;\n              }\n              puVar10 = (undefined4 *)(*(int *)(iVar7 + 0x3c) + iVar11);\n              uVar3 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254e68))(*puVar10);\n              iVar4 = *(int *)(iVar7 + 0x3c);\n              iVar8 = *(int *)(iVar7 + 0x38);\n              *puVar10 = uVar3;\n            }" if (parenthesized_expression "(*(int *)(iVar4 + iVar11) != 0)" ( (binary_expression "*(int *)(iVar4 + iVar11) != 0" (pointer_expression "*(int *)(iVar4 + iVar11)" * (cast_expression "(int *)(iVar4 + iVar11)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + iVar11)" ( (binary_expression "iVar4 + iVar11" identifier + identifier) )))) != number_literal) )) (compound_statement "{\n              iVar4 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x2549f8))();\n              if (*(char *)(iVar4 + iVar12) != -0x55) {\n                iVar8 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                          (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e50,\n                           *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x10e,iVar8);\n                goto LAB_00154650;\n              }\n              puVar10 = (undefined4 *)(*(int *)(iVar7 + 0x3c) + iVar11);\n              uVar3 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254e68))(*puVar10);\n              iVar4 = *(int *)(iVar7 + 0x3c);\n              iVar8 = *(int *)(iVar7 + 0x38);\n              *puVar10 = uVar3;\n            }" { (expression_statement "iVar4 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x2549f8))();" (assignment_expression "iVar4 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x2549f8))()" identifier = (call_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x2549f8))()" (parenthesized_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x2549f8))" ( (pointer_expression "**(code **)(UNRECOVERED_JUMPTABLE + 0x2549f8)" * (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x2549f8)" * (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x2549f8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x2549f8)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x2549f8" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if (*(char *)(iVar4 + iVar12) != -0x55) {\n                iVar8 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                          (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e50,\n                           *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x10e,iVar8);\n                goto LAB_00154650;\n              }" if (parenthesized_expression "(*(char *)(iVar4 + iVar12) != -0x55)" ( (binary_expression "*(char *)(iVar4 + iVar12) != -0x55" (pointer_expression "*(char *)(iVar4 + iVar12)" * (cast_expression "(char *)(iVar4 + iVar12)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + iVar12)" ( (binary_expression "iVar4 + iVar12" identifier + identifier) )))) != number_literal) )) (compound_statement "{\n                iVar8 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                          (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e50,\n                           *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x10e,iVar8);\n                goto LAB_00154650;\n              }" { (expression_statement "iVar8 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c;" (assignment_expression "iVar8 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c" identifier = (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x2543bc)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x2543bc" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                          (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e50,\n                           *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x10e,iVar8);" (call_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                          (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e50,\n                           *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x10e,iVar8)" (parenthesized_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))" ( (pointer_expression "**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8)" * (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8)" * (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x2550d8)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x2550d8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e50,\n                           *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x10e,iVar8)" ( (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e50" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x2543bc)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x2543bc" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x2543bc)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x2543bc" identifier + number_literal) )))) + number_literal) , number_literal , identifier ))) ;) (goto_statement "goto LAB_00154650;" goto statement_identifier ;) })) (expression_statement "puVar10 = (undefined4 *)(*(int *)(iVar7 + 0x3c) + iVar11);" (assignment_expression "puVar10 = (undefined4 *)(*(int *)(iVar7 + 0x3c) + iVar11)" identifier = (cast_expression "(undefined4 *)(*(int *)(iVar7 + 0x3c) + iVar11)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar7 + 0x3c) + iVar11)" ( (binary_expression "*(int *)(iVar7 + 0x3c) + iVar11" (pointer_expression "*(int *)(iVar7 + 0x3c)" * (cast_expression "(int *)(iVar7 + 0x3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x3c)" ( (binary_expression "iVar7 + 0x3c" identifier + number_literal) )))) + identifier) )))) ;) (expression_statement "uVar3 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254e68))(*puVar10);" (assignment_expression "uVar3 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254e68))(*puVar10)" identifier = (call_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x254e68))(*puVar10)" (parenthesized_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x254e68))" ( (pointer_expression "**(code **)(UNRECOVERED_JUMPTABLE + 0x254e68)" * (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x254e68)" * (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x254e68)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x254e68)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x254e68" identifier + number_literal) ))))) )) (argument_list "(*puVar10)" ( (pointer_expression "*puVar10" * identifier) )))) ;) (expression_statement "iVar4 = *(int *)(iVar7 + 0x3c);" (assignment_expression "iVar4 = *(int *)(iVar7 + 0x3c)" identifier = (pointer_expression "*(int *)(iVar7 + 0x3c)" * (cast_expression "(int *)(iVar7 + 0x3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x3c)" ( (binary_expression "iVar7 + 0x3c" identifier + number_literal) ))))) ;) (expression_statement "iVar8 = *(int *)(iVar7 + 0x38);" (assignment_expression "iVar8 = *(int *)(iVar7 + 0x38)" identifier = (pointer_expression "*(int *)(iVar7 + 0x38)" * (cast_expression "(int *)(iVar7 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x38)" ( (binary_expression "iVar7 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "*puVar10 = uVar3;" (assignment_expression "*puVar10 = uVar3" (pointer_expression "*puVar10" * identifier) = identifier) ;) })) (expression_statement "iVar9 = iVar9 + 1;" (assignment_expression "iVar9 = iVar9 + 1" identifier = (binary_expression "iVar9 + 1" identifier + number_literal)) ;) (expression_statement "iVar11 = iVar9 * 4;" (assignment_expression "iVar11 = iVar9 * 4" identifier = (binary_expression "iVar9 * 4" identifier * number_literal)) ;) }) while (parenthesized_expression "(iVar9 < iVar8)" ( (binary_expression "iVar9 < iVar8" identifier < identifier) )) ;) })) (expression_statement "MVar2 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254a90))(iVar4);" (assignment_expression "MVar2 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254a90))(iVar4)" identifier = (call_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x254a90))(iVar4)" (parenthesized_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x254a90))" ( (pointer_expression "**(code **)(UNRECOVERED_JUMPTABLE + 0x254a90)" * (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x254a90)" * (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x254a90)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x254a90)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x254a90" identifier + number_literal) ))))) )) (argument_list "(iVar4)" ( identifier )))) ;) (expression_statement "*(MagickBooleanType *)(iVar7 + 0x3c) = MVar2;" (assignment_expression "*(MagickBooleanType *)(iVar7 + 0x3c) = MVar2" (pointer_expression "*(MagickBooleanType *)(iVar7 + 0x3c)" * (cast_expression "(MagickBooleanType *)(iVar7 + 0x3c)" ( (type_descriptor "MagickBooleanType *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x3c)" ( (binary_expression "iVar7 + 0x3c" identifier + number_literal) )))) = identifier) ;) (return_statement "return MVar2;" return identifier ;) })) (labeled_statement "LAB_00154650:\n      (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e80,\n                 *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x102,iVar8 + -0x7b1c);" statement_identifier : (expression_statement "(**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e80,\n                 *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x102,iVar8 + -0x7b1c);" (call_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e80,\n                 *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x102,iVar8 + -0x7b1c)" (parenthesized_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))" ( (pointer_expression "**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8)" * (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8)" * (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x2550d8)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x2550d8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e80,\n                 *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x102,iVar8 + -0x7b1c)" ( (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e80" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x2543bc)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x2543bc" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x2543bc)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x2543bc" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "iVar8 + -0x7b1c" identifier + number_literal) ))) ;)) })) (expression_statement "(**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7eb0,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x101,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c);" (call_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7eb0,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x101,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c)" (parenthesized_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))" ( (pointer_expression "**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8)" * (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8)" * (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x2550d8)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x2550d8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7eb0,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x101,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c)" ( (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7eb0" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x2543bc)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x2543bc" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x2543bc)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x2543bc" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x2543bc)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x2543bc" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "pcVar13 = *(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8);" (assignment_expression "pcVar13 = *(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8)" identifier = (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8)" * (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x2550d8)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x2550d8" identifier + number_literal) ))))) ;) (expression_statement "quantum_info = (QuantumInfo *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ed8);" (assignment_expression "quantum_info = (QuantumInfo *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ed8)" identifier = (cast_expression "(QuantumInfo *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ed8)" ( (type_descriptor "QuantumInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ed8)" ( (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ed8" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x2543bc)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x2543bc" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar13)(quantum_info,*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x100,\n             *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c);" (call_expression "(*pcVar13)(quantum_info,*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x100,\n             *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c)" (parenthesized_expression "(*pcVar13)" ( (pointer_expression "*pcVar13" * identifier) )) (argument_list "(quantum_info,*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x100,\n             *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c)" ( identifier , (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x2543bc)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x2543bc" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x2543bc)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x2543bc" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (quantum_info == (QuantumInfo *)0x0) {\n    (**(code **)(pcVar13 + 0x254f50))\n              (*(int *)(pcVar13 + 0x254234) + -0x7ed8,*(int *)(pcVar13 + 0x254234) + -0x7ef0,0xd7,\n               *(int *)(pcVar13 + 0x254234) + -0x7b04);\n  }\n  else if (quantum_info->signature == 0xabacadab) {\n    if (quantum_info->pixels != (MemoryInfo **)0x0) {\n      DestroyQuantumPixels(quantum_info);\n    }\n    if (quantum_info->semaphore != (SemaphoreInfo *)0x0) {\n      (**(code **)(pcVar13 + 0x255298))(&quantum_info->semaphore);\n    }\n    UNRECOVERED_JUMPTABLE = *(code **)(pcVar13 + 0x254908);\n    quantum_info->signature = 0x54535254;\n                    /* WARNING: Could not recover jumptable at 0x0015473c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    MVar2 = (*UNRECOVERED_JUMPTABLE)(quantum_info);\n    return MVar2;\n  }" if (parenthesized_expression "(quantum_info == (QuantumInfo *)0x0)" ( (binary_expression "quantum_info == (QuantumInfo *)0x0" identifier == (cast_expression "(QuantumInfo *)0x0" ( (type_descriptor "QuantumInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    (**(code **)(pcVar13 + 0x254f50))\n              (*(int *)(pcVar13 + 0x254234) + -0x7ed8,*(int *)(pcVar13 + 0x254234) + -0x7ef0,0xd7,\n               *(int *)(pcVar13 + 0x254234) + -0x7b04);\n  }" { (expression_statement "(**(code **)(pcVar13 + 0x254f50))\n              (*(int *)(pcVar13 + 0x254234) + -0x7ed8,*(int *)(pcVar13 + 0x254234) + -0x7ef0,0xd7,\n               *(int *)(pcVar13 + 0x254234) + -0x7b04);" (call_expression "(**(code **)(pcVar13 + 0x254f50))\n              (*(int *)(pcVar13 + 0x254234) + -0x7ed8,*(int *)(pcVar13 + 0x254234) + -0x7ef0,0xd7,\n               *(int *)(pcVar13 + 0x254234) + -0x7b04)" (parenthesized_expression "(**(code **)(pcVar13 + 0x254f50))" ( (pointer_expression "**(code **)(pcVar13 + 0x254f50)" * (pointer_expression "*(code **)(pcVar13 + 0x254f50)" * (cast_expression "(code **)(pcVar13 + 0x254f50)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar13 + 0x254f50)" ( (binary_expression "pcVar13 + 0x254f50" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar13 + 0x254234) + -0x7ed8,*(int *)(pcVar13 + 0x254234) + -0x7ef0,0xd7,\n               *(int *)(pcVar13 + 0x254234) + -0x7b04)" ( (binary_expression "*(int *)(pcVar13 + 0x254234) + -0x7ed8" (pointer_expression "*(int *)(pcVar13 + 0x254234)" * (cast_expression "(int *)(pcVar13 + 0x254234)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x254234)" ( (binary_expression "pcVar13 + 0x254234" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar13 + 0x254234) + -0x7ef0" (pointer_expression "*(int *)(pcVar13 + 0x254234)" * (cast_expression "(int *)(pcVar13 + 0x254234)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x254234)" ( (binary_expression "pcVar13 + 0x254234" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar13 + 0x254234) + -0x7b04" (pointer_expression "*(int *)(pcVar13 + 0x254234)" * (cast_expression "(int *)(pcVar13 + 0x254234)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x254234)" ( (binary_expression "pcVar13 + 0x254234" identifier + number_literal) )))) + number_literal) ))) ;) }) (else_clause "else if (quantum_info->signature == 0xabacadab) {\n    if (quantum_info->pixels != (MemoryInfo **)0x0) {\n      DestroyQuantumPixels(quantum_info);\n    }\n    if (quantum_info->semaphore != (SemaphoreInfo *)0x0) {\n      (**(code **)(pcVar13 + 0x255298))(&quantum_info->semaphore);\n    }\n    UNRECOVERED_JUMPTABLE = *(code **)(pcVar13 + 0x254908);\n    quantum_info->signature = 0x54535254;\n                    /* WARNING: Could not recover jumptable at 0x0015473c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    MVar2 = (*UNRECOVERED_JUMPTABLE)(quantum_info);\n    return MVar2;\n  }" else (if_statement "if (quantum_info->signature == 0xabacadab) {\n    if (quantum_info->pixels != (MemoryInfo **)0x0) {\n      DestroyQuantumPixels(quantum_info);\n    }\n    if (quantum_info->semaphore != (SemaphoreInfo *)0x0) {\n      (**(code **)(pcVar13 + 0x255298))(&quantum_info->semaphore);\n    }\n    UNRECOVERED_JUMPTABLE = *(code **)(pcVar13 + 0x254908);\n    quantum_info->signature = 0x54535254;\n                    /* WARNING: Could not recover jumptable at 0x0015473c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    MVar2 = (*UNRECOVERED_JUMPTABLE)(quantum_info);\n    return MVar2;\n  }" if (parenthesized_expression "(quantum_info->signature == 0xabacadab)" ( (binary_expression "quantum_info->signature == 0xabacadab" (field_expression "quantum_info->signature" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n    if (quantum_info->pixels != (MemoryInfo **)0x0) {\n      DestroyQuantumPixels(quantum_info);\n    }\n    if (quantum_info->semaphore != (SemaphoreInfo *)0x0) {\n      (**(code **)(pcVar13 + 0x255298))(&quantum_info->semaphore);\n    }\n    UNRECOVERED_JUMPTABLE = *(code **)(pcVar13 + 0x254908);\n    quantum_info->signature = 0x54535254;\n                    /* WARNING: Could not recover jumptable at 0x0015473c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    MVar2 = (*UNRECOVERED_JUMPTABLE)(quantum_info);\n    return MVar2;\n  }" { (if_statement "if (quantum_info->pixels != (MemoryInfo **)0x0) {\n      DestroyQuantumPixels(quantum_info);\n    }" if (parenthesized_expression "(quantum_info->pixels != (MemoryInfo **)0x0)" ( (binary_expression "quantum_info->pixels != (MemoryInfo **)0x0" (field_expression "quantum_info->pixels" identifier -> field_identifier) != (cast_expression "(MemoryInfo **)0x0" ( (type_descriptor "MemoryInfo **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n      DestroyQuantumPixels(quantum_info);\n    }" { (expression_statement "DestroyQuantumPixels(quantum_info);" (call_expression "DestroyQuantumPixels(quantum_info)" identifier (argument_list "(quantum_info)" ( identifier ))) ;) })) (if_statement "if (quantum_info->semaphore != (SemaphoreInfo *)0x0) {\n      (**(code **)(pcVar13 + 0x255298))(&quantum_info->semaphore);\n    }" if (parenthesized_expression "(quantum_info->semaphore != (SemaphoreInfo *)0x0)" ( (binary_expression "quantum_info->semaphore != (SemaphoreInfo *)0x0" (field_expression "quantum_info->semaphore" identifier -> field_identifier) != (cast_expression "(SemaphoreInfo *)0x0" ( (type_descriptor "SemaphoreInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      (**(code **)(pcVar13 + 0x255298))(&quantum_info->semaphore);\n    }" { (expression_statement "(**(code **)(pcVar13 + 0x255298))(&quantum_info->semaphore);" (call_expression "(**(code **)(pcVar13 + 0x255298))(&quantum_info->semaphore)" (parenthesized_expression "(**(code **)(pcVar13 + 0x255298))" ( (pointer_expression "**(code **)(pcVar13 + 0x255298)" * (pointer_expression "*(code **)(pcVar13 + 0x255298)" * (cast_expression "(code **)(pcVar13 + 0x255298)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar13 + 0x255298)" ( (binary_expression "pcVar13 + 0x255298" identifier + number_literal) ))))) )) (argument_list "(&quantum_info->semaphore)" ( (pointer_expression "&quantum_info->semaphore" & (field_expression "quantum_info->semaphore" identifier -> field_identifier)) ))) ;) })) (expression_statement "UNRECOVERED_JUMPTABLE = *(code **)(pcVar13 + 0x254908);" (assignment_expression "UNRECOVERED_JUMPTABLE = *(code **)(pcVar13 + 0x254908)" identifier = (pointer_expression "*(code **)(pcVar13 + 0x254908)" * (cast_expression "(code **)(pcVar13 + 0x254908)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar13 + 0x254908)" ( (binary_expression "pcVar13 + 0x254908" identifier + number_literal) ))))) ;) (expression_statement "quantum_info->signature = 0x54535254;" (assignment_expression "quantum_info->signature = 0x54535254" (field_expression "quantum_info->signature" identifier -> field_identifier) = number_literal) ;) comment comment (expression_statement "MVar2 = (*UNRECOVERED_JUMPTABLE)(quantum_info);" (assignment_expression "MVar2 = (*UNRECOVERED_JUMPTABLE)(quantum_info)" identifier = (call_expression "(*UNRECOVERED_JUMPTABLE)(quantum_info)" (parenthesized_expression "(*UNRECOVERED_JUMPTABLE)" ( (pointer_expression "*UNRECOVERED_JUMPTABLE" * identifier) )) (argument_list "(quantum_info)" ( identifier )))) ;) (return_statement "return MVar2;" return identifier ;) })))) (expression_statement "iVar4 = 0xd8;" (assignment_expression "iVar4 = 0xd8" identifier = number_literal) ;) (expression_statement "UNRECOVERED_JUMPTABLE = *(code **)(pcVar13 + 0x254f50);" (assignment_expression "UNRECOVERED_JUMPTABLE = *(code **)(pcVar13 + 0x254f50)" identifier = (pointer_expression "*(code **)(pcVar13 + 0x254f50)" * (cast_expression "(code **)(pcVar13 + 0x254f50)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar13 + 0x254f50)" ( (binary_expression "pcVar13 + 0x254f50" identifier + number_literal) ))))) ;) (expression_statement "piVar5 = (int *)(*(int *)(pcVar13 + 0x254234) + -0x7ef0);" (assignment_expression "piVar5 = (int *)(*(int *)(pcVar13 + 0x254234) + -0x7ef0)" identifier = (cast_expression "(int *)(*(int *)(pcVar13 + 0x254234) + -0x7ef0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar13 + 0x254234) + -0x7ef0)" ( (binary_expression "*(int *)(pcVar13 + 0x254234) + -0x7ef0" (pointer_expression "*(int *)(pcVar13 + 0x254234)" * (cast_expression "(int *)(pcVar13 + 0x254234)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x254234)" ( (binary_expression "pcVar13 + 0x254234" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar7 = *(int *)(pcVar13 + 0x254234) + -0x7eb0;" (assignment_expression "iVar7 = *(int *)(pcVar13 + 0x254234) + -0x7eb0" identifier = (binary_expression "*(int *)(pcVar13 + 0x254234) + -0x7eb0" (pointer_expression "*(int *)(pcVar13 + 0x254234)" * (cast_expression "(int *)(pcVar13 + 0x254234)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x254234)" ( (binary_expression "pcVar13 + 0x254234" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*UNRECOVERED_JUMPTABLE)();" (call_expression "(*UNRECOVERED_JUMPTABLE)()" (parenthesized_expression "(*UNRECOVERED_JUMPTABLE)" ( (pointer_expression "*UNRECOVERED_JUMPTABLE" * identifier) )) (argument_list "()" ( ))) ;) (if_statement "if (piVar5 != (int *)0x0) {\n    if (piVar5[0x19] == -0x54535255) {\n      iVar8 = 1;\n      if (iVar4 - 2U < 0x18) {\n        iVar7 = *(int *)(iVar7 + 0x18);\n        iVar8 = *(int *)((iVar4 - 2U) * 4 + *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7dc0);\n        iVar12 = piVar5[0xc];\n        iVar4 = *piVar5;\n      }\n      else {\n        iVar12 = piVar5[0xc];\n        iVar7 = *(int *)(iVar7 + 0x18);\n        iVar4 = *piVar5;\n      }\n      if (iVar12 != 0) {\n        return iVar7 * iVar4 * iVar8 + 7U >> 3;\n      }\n      return (iVar4 + 7U >> 3) * iVar7 * iVar8;\n    }\n    (**(code **)(UNRECOVERED_JUMPTABLE + 0x254e7c))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7eb0,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7ef0,0x139,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7b30,UNRECOVERED_JUMPTABLE + 0x25c124\n              );\n  }" if (parenthesized_expression "(piVar5 != (int *)0x0)" ( (binary_expression "piVar5 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (piVar5[0x19] == -0x54535255) {\n      iVar8 = 1;\n      if (iVar4 - 2U < 0x18) {\n        iVar7 = *(int *)(iVar7 + 0x18);\n        iVar8 = *(int *)((iVar4 - 2U) * 4 + *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7dc0);\n        iVar12 = piVar5[0xc];\n        iVar4 = *piVar5;\n      }\n      else {\n        iVar12 = piVar5[0xc];\n        iVar7 = *(int *)(iVar7 + 0x18);\n        iVar4 = *piVar5;\n      }\n      if (iVar12 != 0) {\n        return iVar7 * iVar4 * iVar8 + 7U >> 3;\n      }\n      return (iVar4 + 7U >> 3) * iVar7 * iVar8;\n    }\n    (**(code **)(UNRECOVERED_JUMPTABLE + 0x254e7c))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7eb0,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7ef0,0x139,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7b30,UNRECOVERED_JUMPTABLE + 0x25c124\n              );\n  }" { (if_statement "if (piVar5[0x19] == -0x54535255) {\n      iVar8 = 1;\n      if (iVar4 - 2U < 0x18) {\n        iVar7 = *(int *)(iVar7 + 0x18);\n        iVar8 = *(int *)((iVar4 - 2U) * 4 + *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7dc0);\n        iVar12 = piVar5[0xc];\n        iVar4 = *piVar5;\n      }\n      else {\n        iVar12 = piVar5[0xc];\n        iVar7 = *(int *)(iVar7 + 0x18);\n        iVar4 = *piVar5;\n      }\n      if (iVar12 != 0) {\n        return iVar7 * iVar4 * iVar8 + 7U >> 3;\n      }\n      return (iVar4 + 7U >> 3) * iVar7 * iVar8;\n    }" if (parenthesized_expression "(piVar5[0x19] == -0x54535255)" ( (binary_expression "piVar5[0x19] == -0x54535255" (subscript_expression "piVar5[0x19]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n      iVar8 = 1;\n      if (iVar4 - 2U < 0x18) {\n        iVar7 = *(int *)(iVar7 + 0x18);\n        iVar8 = *(int *)((iVar4 - 2U) * 4 + *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7dc0);\n        iVar12 = piVar5[0xc];\n        iVar4 = *piVar5;\n      }\n      else {\n        iVar12 = piVar5[0xc];\n        iVar7 = *(int *)(iVar7 + 0x18);\n        iVar4 = *piVar5;\n      }\n      if (iVar12 != 0) {\n        return iVar7 * iVar4 * iVar8 + 7U >> 3;\n      }\n      return (iVar4 + 7U >> 3) * iVar7 * iVar8;\n    }" { (expression_statement "iVar8 = 1;" (assignment_expression "iVar8 = 1" identifier = number_literal) ;) (if_statement "if (iVar4 - 2U < 0x18) {\n        iVar7 = *(int *)(iVar7 + 0x18);\n        iVar8 = *(int *)((iVar4 - 2U) * 4 + *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7dc0);\n        iVar12 = piVar5[0xc];\n        iVar4 = *piVar5;\n      }\n      else {\n        iVar12 = piVar5[0xc];\n        iVar7 = *(int *)(iVar7 + 0x18);\n        iVar4 = *piVar5;\n      }" if (parenthesized_expression "(iVar4 - 2U < 0x18)" ( (binary_expression "iVar4 - 2U < 0x18" (binary_expression "iVar4 - 2U" identifier - number_literal) < number_literal) )) (compound_statement "{\n        iVar7 = *(int *)(iVar7 + 0x18);\n        iVar8 = *(int *)((iVar4 - 2U) * 4 + *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7dc0);\n        iVar12 = piVar5[0xc];\n        iVar4 = *piVar5;\n      }" { (expression_statement "iVar7 = *(int *)(iVar7 + 0x18);" (assignment_expression "iVar7 = *(int *)(iVar7 + 0x18)" identifier = (pointer_expression "*(int *)(iVar7 + 0x18)" * (cast_expression "(int *)(iVar7 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x18)" ( (binary_expression "iVar7 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "iVar8 = *(int *)((iVar4 - 2U) * 4 + *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7dc0);" (assignment_expression "iVar8 = *(int *)((iVar4 - 2U) * 4 + *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7dc0)" identifier = (pointer_expression "*(int *)((iVar4 - 2U) * 4 + *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7dc0)" * (cast_expression "(int *)((iVar4 - 2U) * 4 + *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7dc0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((iVar4 - 2U) * 4 + *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7dc0)" ( (binary_expression "(iVar4 - 2U) * 4 + *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7dc0" (binary_expression "(iVar4 - 2U) * 4 + *(int *)(UNRECOVERED_JUMPTABLE + 0x254160)" (binary_expression "(iVar4 - 2U) * 4" (parenthesized_expression "(iVar4 - 2U)" ( (binary_expression "iVar4 - 2U" identifier - number_literal) )) * number_literal) + (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x254160)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x254160)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x254160)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x254160" identifier + number_literal) ))))) + number_literal) ))))) ;) (expression_statement "iVar12 = piVar5[0xc];" (assignment_expression "iVar12 = piVar5[0xc]" identifier = (subscript_expression "piVar5[0xc]" identifier [ number_literal ])) ;) (expression_statement "iVar4 = *piVar5;" (assignment_expression "iVar4 = *piVar5" identifier = (pointer_expression "*piVar5" * identifier)) ;) }) (else_clause "else {\n        iVar12 = piVar5[0xc];\n        iVar7 = *(int *)(iVar7 + 0x18);\n        iVar4 = *piVar5;\n      }" else (compound_statement "{\n        iVar12 = piVar5[0xc];\n        iVar7 = *(int *)(iVar7 + 0x18);\n        iVar4 = *piVar5;\n      }" { (expression_statement "iVar12 = piVar5[0xc];" (assignment_expression "iVar12 = piVar5[0xc]" identifier = (subscript_expression "piVar5[0xc]" identifier [ number_literal ])) ;) (expression_statement "iVar7 = *(int *)(iVar7 + 0x18);" (assignment_expression "iVar7 = *(int *)(iVar7 + 0x18)" identifier = (pointer_expression "*(int *)(iVar7 + 0x18)" * (cast_expression "(int *)(iVar7 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x18)" ( (binary_expression "iVar7 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "iVar4 = *piVar5;" (assignment_expression "iVar4 = *piVar5" identifier = (pointer_expression "*piVar5" * identifier)) ;) }))) (if_statement "if (iVar12 != 0) {\n        return iVar7 * iVar4 * iVar8 + 7U >> 3;\n      }" if (parenthesized_expression "(iVar12 != 0)" ( (binary_expression "iVar12 != 0" identifier != number_literal) )) (compound_statement "{\n        return iVar7 * iVar4 * iVar8 + 7U >> 3;\n      }" { (return_statement "return iVar7 * iVar4 * iVar8 + 7U >> 3;" return (binary_expression "iVar7 * iVar4 * iVar8 + 7U >> 3" (binary_expression "iVar7 * iVar4 * iVar8 + 7U" (binary_expression "iVar7 * iVar4 * iVar8" (binary_expression "iVar7 * iVar4" identifier * identifier) * identifier) + number_literal) >> number_literal) ;) })) (return_statement "return (iVar4 + 7U >> 3) * iVar7 * iVar8;" return (binary_expression "(iVar4 + 7U >> 3) * iVar7 * iVar8" (binary_expression "(iVar4 + 7U >> 3) * iVar7" (parenthesized_expression "(iVar4 + 7U >> 3)" ( (binary_expression "iVar4 + 7U >> 3" (binary_expression "iVar4 + 7U" identifier + number_literal) >> number_literal) )) * identifier) * identifier) ;) })) (expression_statement "(**(code **)(UNRECOVERED_JUMPTABLE + 0x254e7c))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7eb0,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7ef0,0x139,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7b30,UNRECOVERED_JUMPTABLE + 0x25c124\n              );" (call_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x254e7c))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7eb0,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7ef0,0x139,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7b30,UNRECOVERED_JUMPTABLE + 0x25c124\n              )" (parenthesized_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x254e7c))" ( (pointer_expression "**(code **)(UNRECOVERED_JUMPTABLE + 0x254e7c)" * (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x254e7c)" * (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x254e7c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x254e7c)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x254e7c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7eb0,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7ef0,0x139,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7b30,UNRECOVERED_JUMPTABLE + 0x25c124\n              )" ( (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7eb0" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x254160)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x254160)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x254160)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x254160" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7ef0" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x254160)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x254160)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x254160)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x254160" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7b30" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x254160)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x254160)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x254160)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x254160" identifier + number_literal) )))) + number_literal) , (binary_expression "UNRECOVERED_JUMPTABLE + 0x25c124" identifier + number_literal) ))) ;) })) (expression_statement "pcVar13 = *(code **)(UNRECOVERED_JUMPTABLE + 0x254e7c);" (assignment_expression "pcVar13 = *(code **)(UNRECOVERED_JUMPTABLE + 0x254e7c)" identifier = (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x254e7c)" * (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x254e7c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x254e7c)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x254e7c" identifier + number_literal) ))))) ;) (expression_statement "iVar7 = *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7ed8;" (assignment_expression "iVar7 = *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7ed8" identifier = (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7ed8" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x254160)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x254160)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x254160)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x254160" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar13)(iVar7,*(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7ef0,0x138,\n             *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7b30);" (call_expression "(*pcVar13)(iVar7,*(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7ef0,0x138,\n             *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7b30)" (parenthesized_expression "(*pcVar13)" ( (pointer_expression "*pcVar13" * identifier) )) (argument_list "(iVar7,*(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7ef0,0x138,\n             *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7b30)" ( identifier , (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7ef0" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x254160)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x254160)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x254160)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x254160" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7b30" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x254160)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x254160)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x254160)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x254160" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (iVar7 == 0) {\n    MVar2 = (**(code **)(pcVar13 + 0x254d8c))\n                      (*(int *)(pcVar13 + 0x254070) + -0x7ed8,*(int *)(pcVar13 + 0x254070) + -0x7ef0\n                       ,0x168,*(int *)(pcVar13 + 0x254070) + -0x7b44,pcVar13 + 0x25c034);\n    return MVar2;\n  }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n    MVar2 = (**(code **)(pcVar13 + 0x254d8c))\n                      (*(int *)(pcVar13 + 0x254070) + -0x7ed8,*(int *)(pcVar13 + 0x254070) + -0x7ef0\n                       ,0x168,*(int *)(pcVar13 + 0x254070) + -0x7b44,pcVar13 + 0x25c034);\n    return MVar2;\n  }" { (expression_statement "MVar2 = (**(code **)(pcVar13 + 0x254d8c))\n                      (*(int *)(pcVar13 + 0x254070) + -0x7ed8,*(int *)(pcVar13 + 0x254070) + -0x7ef0\n                       ,0x168,*(int *)(pcVar13 + 0x254070) + -0x7b44,pcVar13 + 0x25c034);" (assignment_expression "MVar2 = (**(code **)(pcVar13 + 0x254d8c))\n                      (*(int *)(pcVar13 + 0x254070) + -0x7ed8,*(int *)(pcVar13 + 0x254070) + -0x7ef0\n                       ,0x168,*(int *)(pcVar13 + 0x254070) + -0x7b44,pcVar13 + 0x25c034)" identifier = (call_expression "(**(code **)(pcVar13 + 0x254d8c))\n                      (*(int *)(pcVar13 + 0x254070) + -0x7ed8,*(int *)(pcVar13 + 0x254070) + -0x7ef0\n                       ,0x168,*(int *)(pcVar13 + 0x254070) + -0x7b44,pcVar13 + 0x25c034)" (parenthesized_expression "(**(code **)(pcVar13 + 0x254d8c))" ( (pointer_expression "**(code **)(pcVar13 + 0x254d8c)" * (pointer_expression "*(code **)(pcVar13 + 0x254d8c)" * (cast_expression "(code **)(pcVar13 + 0x254d8c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar13 + 0x254d8c)" ( (binary_expression "pcVar13 + 0x254d8c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar13 + 0x254070) + -0x7ed8,*(int *)(pcVar13 + 0x254070) + -0x7ef0\n                       ,0x168,*(int *)(pcVar13 + 0x254070) + -0x7b44,pcVar13 + 0x25c034)" ( (binary_expression "*(int *)(pcVar13 + 0x254070) + -0x7ed8" (pointer_expression "*(int *)(pcVar13 + 0x254070)" * (cast_expression "(int *)(pcVar13 + 0x254070)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x254070)" ( (binary_expression "pcVar13 + 0x254070" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar13 + 0x254070) + -0x7ef0" (pointer_expression "*(int *)(pcVar13 + 0x254070)" * (cast_expression "(int *)(pcVar13 + 0x254070)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x254070)" ( (binary_expression "pcVar13 + 0x254070" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar13 + 0x254070) + -0x7b44" (pointer_expression "*(int *)(pcVar13 + 0x254070)" * (cast_expression "(int *)(pcVar13 + 0x254070)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x254070)" ( (binary_expression "pcVar13 + 0x254070" identifier + number_literal) )))) + number_literal) , (binary_expression "pcVar13 + 0x25c034" identifier + number_literal) )))) ;) (return_statement "return MVar2;" return identifier ;) })) (if_statement "if (*(int *)(iVar7 + 100) != -0x54535255) {\n    MVar2 = (**(code **)(pcVar13 + 0x254d8c))\n                      (*(int *)(pcVar13 + 0x254070) + -0x7eb0,*(int *)(pcVar13 + 0x254070) + -0x7ef0\n                       ,0x169,*(int *)(pcVar13 + 0x254070) + -0x7b44);\n    return MVar2;\n  }" if (parenthesized_expression "(*(int *)(iVar7 + 100) != -0x54535255)" ( (binary_expression "*(int *)(iVar7 + 100) != -0x54535255" (pointer_expression "*(int *)(iVar7 + 100)" * (cast_expression "(int *)(iVar7 + 100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 100)" ( (binary_expression "iVar7 + 100" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    MVar2 = (**(code **)(pcVar13 + 0x254d8c))\n                      (*(int *)(pcVar13 + 0x254070) + -0x7eb0,*(int *)(pcVar13 + 0x254070) + -0x7ef0\n                       ,0x169,*(int *)(pcVar13 + 0x254070) + -0x7b44);\n    return MVar2;\n  }" { (expression_statement "MVar2 = (**(code **)(pcVar13 + 0x254d8c))\n                      (*(int *)(pcVar13 + 0x254070) + -0x7eb0,*(int *)(pcVar13 + 0x254070) + -0x7ef0\n                       ,0x169,*(int *)(pcVar13 + 0x254070) + -0x7b44);" (assignment_expression "MVar2 = (**(code **)(pcVar13 + 0x254d8c))\n                      (*(int *)(pcVar13 + 0x254070) + -0x7eb0,*(int *)(pcVar13 + 0x254070) + -0x7ef0\n                       ,0x169,*(int *)(pcVar13 + 0x254070) + -0x7b44)" identifier = (call_expression "(**(code **)(pcVar13 + 0x254d8c))\n                      (*(int *)(pcVar13 + 0x254070) + -0x7eb0,*(int *)(pcVar13 + 0x254070) + -0x7ef0\n                       ,0x169,*(int *)(pcVar13 + 0x254070) + -0x7b44)" (parenthesized_expression "(**(code **)(pcVar13 + 0x254d8c))" ( (pointer_expression "**(code **)(pcVar13 + 0x254d8c)" * (pointer_expression "*(code **)(pcVar13 + 0x254d8c)" * (cast_expression "(code **)(pcVar13 + 0x254d8c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar13 + 0x254d8c)" ( (binary_expression "pcVar13 + 0x254d8c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar13 + 0x254070) + -0x7eb0,*(int *)(pcVar13 + 0x254070) + -0x7ef0\n                       ,0x169,*(int *)(pcVar13 + 0x254070) + -0x7b44)" ( (binary_expression "*(int *)(pcVar13 + 0x254070) + -0x7eb0" (pointer_expression "*(int *)(pcVar13 + 0x254070)" * (cast_expression "(int *)(pcVar13 + 0x254070)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x254070)" ( (binary_expression "pcVar13 + 0x254070" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar13 + 0x254070) + -0x7ef0" (pointer_expression "*(int *)(pcVar13 + 0x254070)" * (cast_expression "(int *)(pcVar13 + 0x254070)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x254070)" ( (binary_expression "pcVar13 + 0x254070" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar13 + 0x254070) + -0x7b44" (pointer_expression "*(int *)(pcVar13 + 0x254070)" * (cast_expression "(int *)(pcVar13 + 0x254070)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x254070)" ( (binary_expression "pcVar13 + 0x254070" identifier + number_literal) )))) + number_literal) )))) ;) (return_statement "return MVar2;" return identifier ;) })) (return_statement "return *(MagickBooleanType *)(iVar7 + 0x44);" return (pointer_expression "*(MagickBooleanType *)(iVar7 + 0x44)" * (cast_expression "(MagickBooleanType *)(iVar7 + 0x44)" ( (type_descriptor "MagickBooleanType *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x44)" ( (binary_expression "iVar7 + 0x44" identifier + number_literal) )))) ;) })))
(translation_unit "uint RemapImage(undefined4 *param_1,int param_2,int param_3,int param_4)\n\n{\n  uint uVar1;\n  undefined4 uVar2;\n  undefined4 *puVar3;\n  undefined *puVar4;\n  int *piVar5;\n  int iVar6;\n  undefined *puVar7;\n  undefined *puVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  int iVar12;\n  int iVar13;\n  code *UNRECOVERED_JUMPTABLE;\n  code *pcVar14;\n  \n  if (param_2 == 0) {\nLAB_001541dc:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0xdd0,PTR_s_t_to_left_003a88e4 + 0x7d40,0xde9,\n               PTR_s_t_to_left_003a88e4 + 0x7f44);\nLAB_00154200:\n    puVar7 = PTR_s_t_to_left_003a88e4 + 0x7f44;\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + 0x7ec4,PTR_s_t_to_left_003a88e4 + 0x7d40,0xded,puVar7);\nLAB_00154224:\n    puVar7 = puVar7 + 0x7f44;\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x294c,PTR_s_t_to_left_003a88e4 + 0x7d40,0xdf0,puVar7);\nLAB_00154244:\n    iVar6 = 0xdef;\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x1cac,PTR_s_t_to_left_003a88e4 + 0x7d40,0xdef,puVar7 + 0x7f44);\n  }\n  else {\n    if (*(int *)(param_2 + 0x336c) != -0x54535255) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                 PTR_s_t_to_left_003a88e4 + 0x7d40,0xdea,PTR_s_t_to_left_003a88e4 + 0x7f44);\n      goto LAB_001541dc;\n    }\n    if (*(int *)(param_2 + 0x3350) != 0) {\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38,0xdec,\n                 PTR_s_t_to_left_003a88e4 + -0x62ac,param_2 + 0x340);\n    }\n    if (param_3 == 0) goto LAB_00154200;\n    iVar6 = 0xdee;\n    if (*(int *)(param_3 + 0x336c) == -0x54535255) {\n      puVar7 = PTR_s_t_to_left_003a88e4;\n      if (param_4 != 0) {\n        if (*(int *)(param_4 + 0x1c) == -0x54535255) {\n          iVar6 = FUN_001517a0(param_1,8,*param_1);\n          if (iVar6 == 0) {\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38,\n                       0xdf5,400,PTR_LAB_003a88e0 + 0x16f8,PTR_LAB_003a88e0 + 0x3e28,param_2 + 0x340\n                      );\n            return 0;\n          }\n          uVar1 = FUN_0014cab8(iVar6,param_3,param_4);\n          if (uVar1 != 0) {\n            **(undefined4 **)(iVar6 + 0x2f0) = *(undefined4 *)(iVar6 + 4);\n            uVar1 = FUN_00150e48(param_2,iVar6,param_4);\n          }\n          FUN_001508cc(iVar6);\n          return uVar1;\n        }\n        goto LAB_00154224;\n      }\n      goto LAB_00154244;\n    }\n  }\n  puVar8 = PTR_s_t_to_left_003a88e4 + 0x7f44;\n  puVar4 = PTR_s_t_to_left_003a88e4 + 0x7d40;\n  puVar3 = (undefined4 *)(PTR_s_t_to_left_003a88e4 + 0x7ee4);\n  puVar7 = PTR___assert_fail_003a9608;\n  (*(code *)PTR___assert_fail_003a9608)();\n  if (puVar4 == (undefined *)0x0) {\n    iVar9 = *(int *)(puVar7 + 0x254660) + 0x7f2c;\n    (**(code **)(puVar7 + 0x255384))\n              (*(int *)(puVar7 + 0x25465c) + 0x1e48,*(int *)(puVar7 + 0x254660) + 0x7d40,0xe2d,iVar9\n              );\nLAB_001544c4:\n    (**(code **)(puVar7 + 0x255384))\n              (*(int *)(puVar7 + 0x25465c) + 0x294c,*(int *)(puVar7 + 0x254660) + 0x7d40,0xe32,\n               iVar9 + 0x7f2c);\n  }\n  else {\n    if (*(int *)(puVar4 + 0x336c) != -0x54535255) goto LAB_00154508;\n    if (*(int *)(puVar4 + 0x3350) != 0) {\n      (**(code **)(puVar7 + 0x254f5c))\n                (0x8000,*(int *)(puVar7 + 0x254660) + 0x7d40,*(int *)(puVar7 + 0x254660) + 0x7f20,\n                 0xe30,*(int *)(puVar7 + 0x254660) + -0x62ac,puVar4 + 0x340);\n    }\n    if (puVar8 != (undefined *)0x0) {\n      iVar9 = *(int *)(puVar7 + 0x254660);\n      if (*(int *)(puVar8 + 0x1c) == -0x54535255) {\n        if (iVar6 == 0) {\n                    \n                    \n          uVar1 = (**(code **)(puVar7 + 0x254bec))(puVar3,puVar4,puVar8);\n          return uVar1;\n        }\n        iVar9 = FUN_001517a0(puVar3,8,*puVar3);\n        if (iVar9 == 0) {\n          (**(code **)(puVar7 + 0x254c9c))\n                    (puVar8,*(int *)(puVar7 + 0x254660) + 0x7d40,\n                     *(int *)(puVar7 + 0x254660) + 0x7f20,0xe43,400,\n                     *(int *)(puVar7 + 0x25465c) + 0x16f8,*(int *)(puVar7 + 0x25465c) + 0x3e28,\n                     puVar4 + 0x340);\n          return 0;\n        }\n        iVar6 = FUN_0014cab8(iVar9,iVar6,puVar8);\n        if (iVar6 == 0) {\nLAB_0015438c:\n          uVar1 = 0;\n        }\n        else {\n          **(undefined4 **)(iVar9 + 0x2f0) = *(undefined4 *)(iVar9 + 4);\n          do {\n            uVar1 = FUN_00150e48(puVar4,iVar9,puVar8);\n            if (uVar1 == 0) goto LAB_0015438c;\n            puVar4 = (undefined *)(**(code **)(puVar7 + 0x2551ec))(puVar4);\n          } while (puVar4 != (undefined *)0x0);\n        }\n        FUN_001508cc(iVar9);\n        return uVar1;\n      }\n      goto LAB_001544c4;\n    }\n  }\n  (**(code **)(puVar7 + 0x255384))\n            (*(int *)(puVar7 + 0x25465c) + 0x1cac,*(int *)(puVar7 + 0x254660) + 0x7d40,0xe31,\n             *(int *)(puVar7 + 0x254660) + 0x7f2c);\nLAB_00154508:\n  UNRECOVERED_JUMPTABLE = *(code **)(puVar7 + 0x255384);\n  iVar6 = *(int *)(puVar7 + 0x25465c) + 0x1e64;\n  (*UNRECOVERED_JUMPTABLE)\n            (iVar6,*(int *)(puVar7 + 0x254660) + 0x7d40,0xe2e,*(int *)(puVar7 + 0x254660) + 0x7f2c);\n  if (iVar6 != 0) {\n    if (*(int *)(iVar6 + 100) == -0x54535255) {\n      iVar9 = *(int *)(iVar6 + 0x3c);\n      iVar10 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc);\n      if (iVar9 != 0) {\n        iVar10 = *(int *)(iVar6 + 0x38);\n        iVar13 = *(int *)(iVar6 + 0x40);\n        if (0 < iVar10) {\n          iVar11 = 0;\n          iVar12 = 0;\n          do {\n            if (*(int *)(iVar9 + iVar12) != 0) {\n              iVar9 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x2549f8))();\n              if (*(char *)(iVar9 + iVar13) != -0x55) {\n                iVar10 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                          (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e50,\n                           *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x10e,iVar10);\n                goto LAB_00154650;\n              }\n              puVar3 = (undefined4 *)(*(int *)(iVar6 + 0x3c) + iVar12);\n              uVar2 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254e68))(*puVar3);\n              iVar9 = *(int *)(iVar6 + 0x3c);\n              iVar10 = *(int *)(iVar6 + 0x38);\n              *puVar3 = uVar2;\n            }\n            iVar11 = iVar11 + 1;\n            iVar12 = iVar11 * 4;\n          } while (iVar11 < iVar10);\n        }\n        uVar1 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254a90))(iVar9);\n        *(uint *)(iVar6 + 0x3c) = uVar1;\n        return uVar1;\n      }\nLAB_00154650:\n      (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e80,\n                 *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x102,iVar10 + -0x7b1c);\n    }\n    (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7eb0,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x101,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c);\n  }\n  pcVar14 = *(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8);\n  iVar6 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ed8;\n  (*pcVar14)(iVar6,*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x100,\n             *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c);\n  if (iVar6 == 0) {\n    (**(code **)(pcVar14 + 0x254f50))\n              (*(int *)(pcVar14 + 0x254234) + -0x7ed8,*(int *)(pcVar14 + 0x254234) + -0x7ef0,0xd7,\n               *(int *)(pcVar14 + 0x254234) + -0x7b04);\n  }\n  else if (*(int *)(iVar6 + 100) == -0x54535255) {\n    if (*(int *)(iVar6 + 0x3c) != 0) {\n      FUN_00154530();\n    }\n    if (*(int *)(iVar6 + 0x60) != 0) {\n      (**(code **)(pcVar14 + 0x255298))(iVar6 + 0x60);\n    }\n    UNRECOVERED_JUMPTABLE = *(code **)(pcVar14 + 0x254908);\n    *(undefined4 *)(iVar6 + 100) = 0x54535254;\n                    \n                    \n    uVar1 = (*UNRECOVERED_JUMPTABLE)(iVar6);\n    return uVar1;\n  }\n  iVar9 = 0xd8;\n  UNRECOVERED_JUMPTABLE = *(code **)(pcVar14 + 0x254f50);\n  piVar5 = (int *)(*(int *)(pcVar14 + 0x254234) + -0x7ef0);\n  iVar6 = *(int *)(pcVar14 + 0x254234) + -0x7eb0;\n  (*UNRECOVERED_JUMPTABLE)();\n  if (piVar5 != (int *)0x0) {\n    if (piVar5[0x19] == -0x54535255) {\n      iVar10 = 1;\n      if (iVar9 - 2U < 0x18) {\n        iVar6 = *(int *)(iVar6 + 0x18);\n        iVar10 = *(int *)((iVar9 - 2U) * 4 + *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7dc0);\n        iVar13 = piVar5[0xc];\n        iVar9 = *piVar5;\n      }\n      else {\n        iVar13 = piVar5[0xc];\n        iVar6 = *(int *)(iVar6 + 0x18);\n        iVar9 = *piVar5;\n      }\n      if (iVar13 != 0) {\n        return iVar6 * iVar9 * iVar10 + 7U >> 3;\n      }\n      return (iVar9 + 7U >> 3) * iVar6 * iVar10;\n    }\n    (**(code **)(UNRECOVERED_JUMPTABLE + 0x254e7c))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7eb0,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7ef0,0x139,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7b30,UNRECOVERED_JUMPTABLE + 0x25c124\n              );\n  }\n  pcVar14 = *(code **)(UNRECOVERED_JUMPTABLE + 0x254e7c);\n  iVar6 = *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7ed8;\n  (*pcVar14)(iVar6,*(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7ef0,0x138,\n             *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7b30);\n  if (iVar6 == 0) {\n    uVar1 = (**(code **)(pcVar14 + 0x254d8c))\n                      (*(int *)(pcVar14 + 0x254070) + -0x7ed8,*(int *)(pcVar14 + 0x254070) + -0x7ef0\n                       ,0x168,*(int *)(pcVar14 + 0x254070) + -0x7b44,pcVar14 + 0x25c034);\n    return uVar1;\n  }\n  if (*(int *)(iVar6 + 100) != -0x54535255) {\n    uVar1 = (**(code **)(pcVar14 + 0x254d8c))\n                      (*(int *)(pcVar14 + 0x254070) + -0x7eb0,*(int *)(pcVar14 + 0x254070) + -0x7ef0\n                       ,0x169,*(int *)(pcVar14 + 0x254070) + -0x7b44);\n    return uVar1;\n  }\n  return *(uint *)(iVar6 + 0x44);\n}\n\n" (function_definition "uint RemapImage(undefined4 *param_1,int param_2,int param_3,int param_4)\n\n{\n  uint uVar1;\n  undefined4 uVar2;\n  undefined4 *puVar3;\n  undefined *puVar4;\n  int *piVar5;\n  int iVar6;\n  undefined *puVar7;\n  undefined *puVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  int iVar12;\n  int iVar13;\n  code *UNRECOVERED_JUMPTABLE;\n  code *pcVar14;\n  \n  if (param_2 == 0) {\nLAB_001541dc:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0xdd0,PTR_s_t_to_left_003a88e4 + 0x7d40,0xde9,\n               PTR_s_t_to_left_003a88e4 + 0x7f44);\nLAB_00154200:\n    puVar7 = PTR_s_t_to_left_003a88e4 + 0x7f44;\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + 0x7ec4,PTR_s_t_to_left_003a88e4 + 0x7d40,0xded,puVar7);\nLAB_00154224:\n    puVar7 = puVar7 + 0x7f44;\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x294c,PTR_s_t_to_left_003a88e4 + 0x7d40,0xdf0,puVar7);\nLAB_00154244:\n    iVar6 = 0xdef;\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x1cac,PTR_s_t_to_left_003a88e4 + 0x7d40,0xdef,puVar7 + 0x7f44);\n  }\n  else {\n    if (*(int *)(param_2 + 0x336c) != -0x54535255) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                 PTR_s_t_to_left_003a88e4 + 0x7d40,0xdea,PTR_s_t_to_left_003a88e4 + 0x7f44);\n      goto LAB_001541dc;\n    }\n    if (*(int *)(param_2 + 0x3350) != 0) {\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38,0xdec,\n                 PTR_s_t_to_left_003a88e4 + -0x62ac,param_2 + 0x340);\n    }\n    if (param_3 == 0) goto LAB_00154200;\n    iVar6 = 0xdee;\n    if (*(int *)(param_3 + 0x336c) == -0x54535255) {\n      puVar7 = PTR_s_t_to_left_003a88e4;\n      if (param_4 != 0) {\n        if (*(int *)(param_4 + 0x1c) == -0x54535255) {\n          iVar6 = FUN_001517a0(param_1,8,*param_1);\n          if (iVar6 == 0) {\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38,\n                       0xdf5,400,PTR_LAB_003a88e0 + 0x16f8,PTR_LAB_003a88e0 + 0x3e28,param_2 + 0x340\n                      );\n            return 0;\n          }\n          uVar1 = FUN_0014cab8(iVar6,param_3,param_4);\n          if (uVar1 != 0) {\n            **(undefined4 **)(iVar6 + 0x2f0) = *(undefined4 *)(iVar6 + 4);\n            uVar1 = FUN_00150e48(param_2,iVar6,param_4);\n          }\n          FUN_001508cc(iVar6);\n          return uVar1;\n        }\n        goto LAB_00154224;\n      }\n      goto LAB_00154244;\n    }\n  }\n  puVar8 = PTR_s_t_to_left_003a88e4 + 0x7f44;\n  puVar4 = PTR_s_t_to_left_003a88e4 + 0x7d40;\n  puVar3 = (undefined4 *)(PTR_s_t_to_left_003a88e4 + 0x7ee4);\n  puVar7 = PTR___assert_fail_003a9608;\n  (*(code *)PTR___assert_fail_003a9608)();\n  if (puVar4 == (undefined *)0x0) {\n    iVar9 = *(int *)(puVar7 + 0x254660) + 0x7f2c;\n    (**(code **)(puVar7 + 0x255384))\n              (*(int *)(puVar7 + 0x25465c) + 0x1e48,*(int *)(puVar7 + 0x254660) + 0x7d40,0xe2d,iVar9\n              );\nLAB_001544c4:\n    (**(code **)(puVar7 + 0x255384))\n              (*(int *)(puVar7 + 0x25465c) + 0x294c,*(int *)(puVar7 + 0x254660) + 0x7d40,0xe32,\n               iVar9 + 0x7f2c);\n  }\n  else {\n    if (*(int *)(puVar4 + 0x336c) != -0x54535255) goto LAB_00154508;\n    if (*(int *)(puVar4 + 0x3350) != 0) {\n      (**(code **)(puVar7 + 0x254f5c))\n                (0x8000,*(int *)(puVar7 + 0x254660) + 0x7d40,*(int *)(puVar7 + 0x254660) + 0x7f20,\n                 0xe30,*(int *)(puVar7 + 0x254660) + -0x62ac,puVar4 + 0x340);\n    }\n    if (puVar8 != (undefined *)0x0) {\n      iVar9 = *(int *)(puVar7 + 0x254660);\n      if (*(int *)(puVar8 + 0x1c) == -0x54535255) {\n        if (iVar6 == 0) {\n                    \n                    \n          uVar1 = (**(code **)(puVar7 + 0x254bec))(puVar3,puVar4,puVar8);\n          return uVar1;\n        }\n        iVar9 = FUN_001517a0(puVar3,8,*puVar3);\n        if (iVar9 == 0) {\n          (**(code **)(puVar7 + 0x254c9c))\n                    (puVar8,*(int *)(puVar7 + 0x254660) + 0x7d40,\n                     *(int *)(puVar7 + 0x254660) + 0x7f20,0xe43,400,\n                     *(int *)(puVar7 + 0x25465c) + 0x16f8,*(int *)(puVar7 + 0x25465c) + 0x3e28,\n                     puVar4 + 0x340);\n          return 0;\n        }\n        iVar6 = FUN_0014cab8(iVar9,iVar6,puVar8);\n        if (iVar6 == 0) {\nLAB_0015438c:\n          uVar1 = 0;\n        }\n        else {\n          **(undefined4 **)(iVar9 + 0x2f0) = *(undefined4 *)(iVar9 + 4);\n          do {\n            uVar1 = FUN_00150e48(puVar4,iVar9,puVar8);\n            if (uVar1 == 0) goto LAB_0015438c;\n            puVar4 = (undefined *)(**(code **)(puVar7 + 0x2551ec))(puVar4);\n          } while (puVar4 != (undefined *)0x0);\n        }\n        FUN_001508cc(iVar9);\n        return uVar1;\n      }\n      goto LAB_001544c4;\n    }\n  }\n  (**(code **)(puVar7 + 0x255384))\n            (*(int *)(puVar7 + 0x25465c) + 0x1cac,*(int *)(puVar7 + 0x254660) + 0x7d40,0xe31,\n             *(int *)(puVar7 + 0x254660) + 0x7f2c);\nLAB_00154508:\n  UNRECOVERED_JUMPTABLE = *(code **)(puVar7 + 0x255384);\n  iVar6 = *(int *)(puVar7 + 0x25465c) + 0x1e64;\n  (*UNRECOVERED_JUMPTABLE)\n            (iVar6,*(int *)(puVar7 + 0x254660) + 0x7d40,0xe2e,*(int *)(puVar7 + 0x254660) + 0x7f2c);\n  if (iVar6 != 0) {\n    if (*(int *)(iVar6 + 100) == -0x54535255) {\n      iVar9 = *(int *)(iVar6 + 0x3c);\n      iVar10 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc);\n      if (iVar9 != 0) {\n        iVar10 = *(int *)(iVar6 + 0x38);\n        iVar13 = *(int *)(iVar6 + 0x40);\n        if (0 < iVar10) {\n          iVar11 = 0;\n          iVar12 = 0;\n          do {\n            if (*(int *)(iVar9 + iVar12) != 0) {\n              iVar9 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x2549f8))();\n              if (*(char *)(iVar9 + iVar13) != -0x55) {\n                iVar10 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                          (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e50,\n                           *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x10e,iVar10);\n                goto LAB_00154650;\n              }\n              puVar3 = (undefined4 *)(*(int *)(iVar6 + 0x3c) + iVar12);\n              uVar2 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254e68))(*puVar3);\n              iVar9 = *(int *)(iVar6 + 0x3c);\n              iVar10 = *(int *)(iVar6 + 0x38);\n              *puVar3 = uVar2;\n            }\n            iVar11 = iVar11 + 1;\n            iVar12 = iVar11 * 4;\n          } while (iVar11 < iVar10);\n        }\n        uVar1 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254a90))(iVar9);\n        *(uint *)(iVar6 + 0x3c) = uVar1;\n        return uVar1;\n      }\nLAB_00154650:\n      (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e80,\n                 *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x102,iVar10 + -0x7b1c);\n    }\n    (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7eb0,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x101,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c);\n  }\n  pcVar14 = *(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8);\n  iVar6 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ed8;\n  (*pcVar14)(iVar6,*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x100,\n             *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c);\n  if (iVar6 == 0) {\n    (**(code **)(pcVar14 + 0x254f50))\n              (*(int *)(pcVar14 + 0x254234) + -0x7ed8,*(int *)(pcVar14 + 0x254234) + -0x7ef0,0xd7,\n               *(int *)(pcVar14 + 0x254234) + -0x7b04);\n  }\n  else if (*(int *)(iVar6 + 100) == -0x54535255) {\n    if (*(int *)(iVar6 + 0x3c) != 0) {\n      FUN_00154530();\n    }\n    if (*(int *)(iVar6 + 0x60) != 0) {\n      (**(code **)(pcVar14 + 0x255298))(iVar6 + 0x60);\n    }\n    UNRECOVERED_JUMPTABLE = *(code **)(pcVar14 + 0x254908);\n    *(undefined4 *)(iVar6 + 100) = 0x54535254;\n                    \n                    \n    uVar1 = (*UNRECOVERED_JUMPTABLE)(iVar6);\n    return uVar1;\n  }\n  iVar9 = 0xd8;\n  UNRECOVERED_JUMPTABLE = *(code **)(pcVar14 + 0x254f50);\n  piVar5 = (int *)(*(int *)(pcVar14 + 0x254234) + -0x7ef0);\n  iVar6 = *(int *)(pcVar14 + 0x254234) + -0x7eb0;\n  (*UNRECOVERED_JUMPTABLE)();\n  if (piVar5 != (int *)0x0) {\n    if (piVar5[0x19] == -0x54535255) {\n      iVar10 = 1;\n      if (iVar9 - 2U < 0x18) {\n        iVar6 = *(int *)(iVar6 + 0x18);\n        iVar10 = *(int *)((iVar9 - 2U) * 4 + *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7dc0);\n        iVar13 = piVar5[0xc];\n        iVar9 = *piVar5;\n      }\n      else {\n        iVar13 = piVar5[0xc];\n        iVar6 = *(int *)(iVar6 + 0x18);\n        iVar9 = *piVar5;\n      }\n      if (iVar13 != 0) {\n        return iVar6 * iVar9 * iVar10 + 7U >> 3;\n      }\n      return (iVar9 + 7U >> 3) * iVar6 * iVar10;\n    }\n    (**(code **)(UNRECOVERED_JUMPTABLE + 0x254e7c))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7eb0,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7ef0,0x139,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7b30,UNRECOVERED_JUMPTABLE + 0x25c124\n              );\n  }\n  pcVar14 = *(code **)(UNRECOVERED_JUMPTABLE + 0x254e7c);\n  iVar6 = *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7ed8;\n  (*pcVar14)(iVar6,*(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7ef0,0x138,\n             *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7b30);\n  if (iVar6 == 0) {\n    uVar1 = (**(code **)(pcVar14 + 0x254d8c))\n                      (*(int *)(pcVar14 + 0x254070) + -0x7ed8,*(int *)(pcVar14 + 0x254070) + -0x7ef0\n                       ,0x168,*(int *)(pcVar14 + 0x254070) + -0x7b44,pcVar14 + 0x25c034);\n    return uVar1;\n  }\n  if (*(int *)(iVar6 + 100) != -0x54535255) {\n    uVar1 = (**(code **)(pcVar14 + 0x254d8c))\n                      (*(int *)(pcVar14 + 0x254070) + -0x7eb0,*(int *)(pcVar14 + 0x254070) + -0x7ef0\n                       ,0x169,*(int *)(pcVar14 + 0x254070) + -0x7b44);\n    return uVar1;\n  }\n  return *(uint *)(iVar6 + 0x44);\n}" type_identifier (function_declarator "RemapImage(undefined4 *param_1,int param_2,int param_3,int param_4)" identifier (parameter_list "(undefined4 *param_1,int param_2,int param_3,int param_4)" ( (parameter_declaration "undefined4 *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "int param_3" primitive_type identifier) , (parameter_declaration "int param_4" primitive_type identifier) ))) (compound_statement "{\n  uint uVar1;\n  undefined4 uVar2;\n  undefined4 *puVar3;\n  undefined *puVar4;\n  int *piVar5;\n  int iVar6;\n  undefined *puVar7;\n  undefined *puVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  int iVar12;\n  int iVar13;\n  code *UNRECOVERED_JUMPTABLE;\n  code *pcVar14;\n  \n  if (param_2 == 0) {\nLAB_001541dc:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0xdd0,PTR_s_t_to_left_003a88e4 + 0x7d40,0xde9,\n               PTR_s_t_to_left_003a88e4 + 0x7f44);\nLAB_00154200:\n    puVar7 = PTR_s_t_to_left_003a88e4 + 0x7f44;\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + 0x7ec4,PTR_s_t_to_left_003a88e4 + 0x7d40,0xded,puVar7);\nLAB_00154224:\n    puVar7 = puVar7 + 0x7f44;\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x294c,PTR_s_t_to_left_003a88e4 + 0x7d40,0xdf0,puVar7);\nLAB_00154244:\n    iVar6 = 0xdef;\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x1cac,PTR_s_t_to_left_003a88e4 + 0x7d40,0xdef,puVar7 + 0x7f44);\n  }\n  else {\n    if (*(int *)(param_2 + 0x336c) != -0x54535255) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                 PTR_s_t_to_left_003a88e4 + 0x7d40,0xdea,PTR_s_t_to_left_003a88e4 + 0x7f44);\n      goto LAB_001541dc;\n    }\n    if (*(int *)(param_2 + 0x3350) != 0) {\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38,0xdec,\n                 PTR_s_t_to_left_003a88e4 + -0x62ac,param_2 + 0x340);\n    }\n    if (param_3 == 0) goto LAB_00154200;\n    iVar6 = 0xdee;\n    if (*(int *)(param_3 + 0x336c) == -0x54535255) {\n      puVar7 = PTR_s_t_to_left_003a88e4;\n      if (param_4 != 0) {\n        if (*(int *)(param_4 + 0x1c) == -0x54535255) {\n          iVar6 = FUN_001517a0(param_1,8,*param_1);\n          if (iVar6 == 0) {\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38,\n                       0xdf5,400,PTR_LAB_003a88e0 + 0x16f8,PTR_LAB_003a88e0 + 0x3e28,param_2 + 0x340\n                      );\n            return 0;\n          }\n          uVar1 = FUN_0014cab8(iVar6,param_3,param_4);\n          if (uVar1 != 0) {\n            **(undefined4 **)(iVar6 + 0x2f0) = *(undefined4 *)(iVar6 + 4);\n            uVar1 = FUN_00150e48(param_2,iVar6,param_4);\n          }\n          FUN_001508cc(iVar6);\n          return uVar1;\n        }\n        goto LAB_00154224;\n      }\n      goto LAB_00154244;\n    }\n  }\n  puVar8 = PTR_s_t_to_left_003a88e4 + 0x7f44;\n  puVar4 = PTR_s_t_to_left_003a88e4 + 0x7d40;\n  puVar3 = (undefined4 *)(PTR_s_t_to_left_003a88e4 + 0x7ee4);\n  puVar7 = PTR___assert_fail_003a9608;\n  (*(code *)PTR___assert_fail_003a9608)();\n  if (puVar4 == (undefined *)0x0) {\n    iVar9 = *(int *)(puVar7 + 0x254660) + 0x7f2c;\n    (**(code **)(puVar7 + 0x255384))\n              (*(int *)(puVar7 + 0x25465c) + 0x1e48,*(int *)(puVar7 + 0x254660) + 0x7d40,0xe2d,iVar9\n              );\nLAB_001544c4:\n    (**(code **)(puVar7 + 0x255384))\n              (*(int *)(puVar7 + 0x25465c) + 0x294c,*(int *)(puVar7 + 0x254660) + 0x7d40,0xe32,\n               iVar9 + 0x7f2c);\n  }\n  else {\n    if (*(int *)(puVar4 + 0x336c) != -0x54535255) goto LAB_00154508;\n    if (*(int *)(puVar4 + 0x3350) != 0) {\n      (**(code **)(puVar7 + 0x254f5c))\n                (0x8000,*(int *)(puVar7 + 0x254660) + 0x7d40,*(int *)(puVar7 + 0x254660) + 0x7f20,\n                 0xe30,*(int *)(puVar7 + 0x254660) + -0x62ac,puVar4 + 0x340);\n    }\n    if (puVar8 != (undefined *)0x0) {\n      iVar9 = *(int *)(puVar7 + 0x254660);\n      if (*(int *)(puVar8 + 0x1c) == -0x54535255) {\n        if (iVar6 == 0) {\n                    \n                    \n          uVar1 = (**(code **)(puVar7 + 0x254bec))(puVar3,puVar4,puVar8);\n          return uVar1;\n        }\n        iVar9 = FUN_001517a0(puVar3,8,*puVar3);\n        if (iVar9 == 0) {\n          (**(code **)(puVar7 + 0x254c9c))\n                    (puVar8,*(int *)(puVar7 + 0x254660) + 0x7d40,\n                     *(int *)(puVar7 + 0x254660) + 0x7f20,0xe43,400,\n                     *(int *)(puVar7 + 0x25465c) + 0x16f8,*(int *)(puVar7 + 0x25465c) + 0x3e28,\n                     puVar4 + 0x340);\n          return 0;\n        }\n        iVar6 = FUN_0014cab8(iVar9,iVar6,puVar8);\n        if (iVar6 == 0) {\nLAB_0015438c:\n          uVar1 = 0;\n        }\n        else {\n          **(undefined4 **)(iVar9 + 0x2f0) = *(undefined4 *)(iVar9 + 4);\n          do {\n            uVar1 = FUN_00150e48(puVar4,iVar9,puVar8);\n            if (uVar1 == 0) goto LAB_0015438c;\n            puVar4 = (undefined *)(**(code **)(puVar7 + 0x2551ec))(puVar4);\n          } while (puVar4 != (undefined *)0x0);\n        }\n        FUN_001508cc(iVar9);\n        return uVar1;\n      }\n      goto LAB_001544c4;\n    }\n  }\n  (**(code **)(puVar7 + 0x255384))\n            (*(int *)(puVar7 + 0x25465c) + 0x1cac,*(int *)(puVar7 + 0x254660) + 0x7d40,0xe31,\n             *(int *)(puVar7 + 0x254660) + 0x7f2c);\nLAB_00154508:\n  UNRECOVERED_JUMPTABLE = *(code **)(puVar7 + 0x255384);\n  iVar6 = *(int *)(puVar7 + 0x25465c) + 0x1e64;\n  (*UNRECOVERED_JUMPTABLE)\n            (iVar6,*(int *)(puVar7 + 0x254660) + 0x7d40,0xe2e,*(int *)(puVar7 + 0x254660) + 0x7f2c);\n  if (iVar6 != 0) {\n    if (*(int *)(iVar6 + 100) == -0x54535255) {\n      iVar9 = *(int *)(iVar6 + 0x3c);\n      iVar10 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc);\n      if (iVar9 != 0) {\n        iVar10 = *(int *)(iVar6 + 0x38);\n        iVar13 = *(int *)(iVar6 + 0x40);\n        if (0 < iVar10) {\n          iVar11 = 0;\n          iVar12 = 0;\n          do {\n            if (*(int *)(iVar9 + iVar12) != 0) {\n              iVar9 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x2549f8))();\n              if (*(char *)(iVar9 + iVar13) != -0x55) {\n                iVar10 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                          (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e50,\n                           *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x10e,iVar10);\n                goto LAB_00154650;\n              }\n              puVar3 = (undefined4 *)(*(int *)(iVar6 + 0x3c) + iVar12);\n              uVar2 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254e68))(*puVar3);\n              iVar9 = *(int *)(iVar6 + 0x3c);\n              iVar10 = *(int *)(iVar6 + 0x38);\n              *puVar3 = uVar2;\n            }\n            iVar11 = iVar11 + 1;\n            iVar12 = iVar11 * 4;\n          } while (iVar11 < iVar10);\n        }\n        uVar1 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254a90))(iVar9);\n        *(uint *)(iVar6 + 0x3c) = uVar1;\n        return uVar1;\n      }\nLAB_00154650:\n      (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e80,\n                 *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x102,iVar10 + -0x7b1c);\n    }\n    (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7eb0,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x101,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c);\n  }\n  pcVar14 = *(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8);\n  iVar6 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ed8;\n  (*pcVar14)(iVar6,*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x100,\n             *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c);\n  if (iVar6 == 0) {\n    (**(code **)(pcVar14 + 0x254f50))\n              (*(int *)(pcVar14 + 0x254234) + -0x7ed8,*(int *)(pcVar14 + 0x254234) + -0x7ef0,0xd7,\n               *(int *)(pcVar14 + 0x254234) + -0x7b04);\n  }\n  else if (*(int *)(iVar6 + 100) == -0x54535255) {\n    if (*(int *)(iVar6 + 0x3c) != 0) {\n      FUN_00154530();\n    }\n    if (*(int *)(iVar6 + 0x60) != 0) {\n      (**(code **)(pcVar14 + 0x255298))(iVar6 + 0x60);\n    }\n    UNRECOVERED_JUMPTABLE = *(code **)(pcVar14 + 0x254908);\n    *(undefined4 *)(iVar6 + 100) = 0x54535254;\n                    \n                    \n    uVar1 = (*UNRECOVERED_JUMPTABLE)(iVar6);\n    return uVar1;\n  }\n  iVar9 = 0xd8;\n  UNRECOVERED_JUMPTABLE = *(code **)(pcVar14 + 0x254f50);\n  piVar5 = (int *)(*(int *)(pcVar14 + 0x254234) + -0x7ef0);\n  iVar6 = *(int *)(pcVar14 + 0x254234) + -0x7eb0;\n  (*UNRECOVERED_JUMPTABLE)();\n  if (piVar5 != (int *)0x0) {\n    if (piVar5[0x19] == -0x54535255) {\n      iVar10 = 1;\n      if (iVar9 - 2U < 0x18) {\n        iVar6 = *(int *)(iVar6 + 0x18);\n        iVar10 = *(int *)((iVar9 - 2U) * 4 + *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7dc0);\n        iVar13 = piVar5[0xc];\n        iVar9 = *piVar5;\n      }\n      else {\n        iVar13 = piVar5[0xc];\n        iVar6 = *(int *)(iVar6 + 0x18);\n        iVar9 = *piVar5;\n      }\n      if (iVar13 != 0) {\n        return iVar6 * iVar9 * iVar10 + 7U >> 3;\n      }\n      return (iVar9 + 7U >> 3) * iVar6 * iVar10;\n    }\n    (**(code **)(UNRECOVERED_JUMPTABLE + 0x254e7c))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7eb0,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7ef0,0x139,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7b30,UNRECOVERED_JUMPTABLE + 0x25c124\n              );\n  }\n  pcVar14 = *(code **)(UNRECOVERED_JUMPTABLE + 0x254e7c);\n  iVar6 = *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7ed8;\n  (*pcVar14)(iVar6,*(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7ef0,0x138,\n             *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7b30);\n  if (iVar6 == 0) {\n    uVar1 = (**(code **)(pcVar14 + 0x254d8c))\n                      (*(int *)(pcVar14 + 0x254070) + -0x7ed8,*(int *)(pcVar14 + 0x254070) + -0x7ef0\n                       ,0x168,*(int *)(pcVar14 + 0x254070) + -0x7b44,pcVar14 + 0x25c034);\n    return uVar1;\n  }\n  if (*(int *)(iVar6 + 100) != -0x54535255) {\n    uVar1 = (**(code **)(pcVar14 + 0x254d8c))\n                      (*(int *)(pcVar14 + 0x254070) + -0x7eb0,*(int *)(pcVar14 + 0x254070) + -0x7ef0\n                       ,0x169,*(int *)(pcVar14 + 0x254070) + -0x7b44);\n    return uVar1;\n  }\n  return *(uint *)(iVar6 + 0x44);\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (declaration "undefined4 *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "undefined *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "int *piVar5;" primitive_type (pointer_declarator "*piVar5" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "undefined *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "undefined *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "code *UNRECOVERED_JUMPTABLE;" type_identifier (pointer_declarator "*UNRECOVERED_JUMPTABLE" * identifier) ;) (declaration "code *pcVar14;" type_identifier (pointer_declarator "*pcVar14" * identifier) ;) (if_statement "if (param_2 == 0) {\nLAB_001541dc:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0xdd0,PTR_s_t_to_left_003a88e4 + 0x7d40,0xde9,\n               PTR_s_t_to_left_003a88e4 + 0x7f44);\nLAB_00154200:\n    puVar7 = PTR_s_t_to_left_003a88e4 + 0x7f44;\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + 0x7ec4,PTR_s_t_to_left_003a88e4 + 0x7d40,0xded,puVar7);\nLAB_00154224:\n    puVar7 = puVar7 + 0x7f44;\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x294c,PTR_s_t_to_left_003a88e4 + 0x7d40,0xdf0,puVar7);\nLAB_00154244:\n    iVar6 = 0xdef;\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x1cac,PTR_s_t_to_left_003a88e4 + 0x7d40,0xdef,puVar7 + 0x7f44);\n  }\n  else {\n    if (*(int *)(param_2 + 0x336c) != -0x54535255) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                 PTR_s_t_to_left_003a88e4 + 0x7d40,0xdea,PTR_s_t_to_left_003a88e4 + 0x7f44);\n      goto LAB_001541dc;\n    }\n    if (*(int *)(param_2 + 0x3350) != 0) {\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38,0xdec,\n                 PTR_s_t_to_left_003a88e4 + -0x62ac,param_2 + 0x340);\n    }\n    if (param_3 == 0) goto LAB_00154200;\n    iVar6 = 0xdee;\n    if (*(int *)(param_3 + 0x336c) == -0x54535255) {\n      puVar7 = PTR_s_t_to_left_003a88e4;\n      if (param_4 != 0) {\n        if (*(int *)(param_4 + 0x1c) == -0x54535255) {\n          iVar6 = FUN_001517a0(param_1,8,*param_1);\n          if (iVar6 == 0) {\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38,\n                       0xdf5,400,PTR_LAB_003a88e0 + 0x16f8,PTR_LAB_003a88e0 + 0x3e28,param_2 + 0x340\n                      );\n            return 0;\n          }\n          uVar1 = FUN_0014cab8(iVar6,param_3,param_4);\n          if (uVar1 != 0) {\n            **(undefined4 **)(iVar6 + 0x2f0) = *(undefined4 *)(iVar6 + 4);\n            uVar1 = FUN_00150e48(param_2,iVar6,param_4);\n          }\n          FUN_001508cc(iVar6);\n          return uVar1;\n        }\n        goto LAB_00154224;\n      }\n      goto LAB_00154244;\n    }\n  }" if (parenthesized_expression "(param_2 == 0)" ( (binary_expression "param_2 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_001541dc:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0xdd0,PTR_s_t_to_left_003a88e4 + 0x7d40,0xde9,\n               PTR_s_t_to_left_003a88e4 + 0x7f44);\nLAB_00154200:\n    puVar7 = PTR_s_t_to_left_003a88e4 + 0x7f44;\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + 0x7ec4,PTR_s_t_to_left_003a88e4 + 0x7d40,0xded,puVar7);\nLAB_00154224:\n    puVar7 = puVar7 + 0x7f44;\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x294c,PTR_s_t_to_left_003a88e4 + 0x7d40,0xdf0,puVar7);\nLAB_00154244:\n    iVar6 = 0xdef;\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x1cac,PTR_s_t_to_left_003a88e4 + 0x7d40,0xdef,puVar7 + 0x7f44);\n  }" { (labeled_statement "LAB_001541dc:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0xdd0,PTR_s_t_to_left_003a88e4 + 0x7d40,0xde9,\n               PTR_s_t_to_left_003a88e4 + 0x7f44);" statement_identifier : (expression_statement "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0xdd0,PTR_s_t_to_left_003a88e4 + 0x7d40,0xde9,\n               PTR_s_t_to_left_003a88e4 + 0x7f44);" (call_expression "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0xdd0,PTR_s_t_to_left_003a88e4 + 0x7d40,0xde9,\n               PTR_s_t_to_left_003a88e4 + 0x7f44)" (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_s_t_to_left_003a88e4 + 0x7d40,0xde9,\n               PTR_s_t_to_left_003a88e4 + 0x7f44)" ( (binary_expression "PTR_LAB_003a88e0 + 0xdd0" identifier + number_literal) , (binary_expression "PTR_s_t_to_left_003a88e4 + 0x7d40" identifier + number_literal) , number_literal , (binary_expression "PTR_s_t_to_left_003a88e4 + 0x7f44" identifier + number_literal) ))) ;)) (labeled_statement "LAB_00154200:\n    puVar7 = PTR_s_t_to_left_003a88e4 + 0x7f44;" statement_identifier : (expression_statement "puVar7 = PTR_s_t_to_left_003a88e4 + 0x7f44;" (assignment_expression "puVar7 = PTR_s_t_to_left_003a88e4 + 0x7f44" identifier = (binary_expression "PTR_s_t_to_left_003a88e4 + 0x7f44" identifier + number_literal)) ;)) (expression_statement "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + 0x7ec4,PTR_s_t_to_left_003a88e4 + 0x7d40,0xded,puVar7);" (call_expression "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + 0x7ec4,PTR_s_t_to_left_003a88e4 + 0x7d40,0xded,puVar7)" (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_t_to_left_003a88e4 + 0x7ec4,PTR_s_t_to_left_003a88e4 + 0x7d40,0xded,puVar7)" ( (binary_expression "PTR_s_t_to_left_003a88e4 + 0x7ec4" identifier + number_literal) , (binary_expression "PTR_s_t_to_left_003a88e4 + 0x7d40" identifier + number_literal) , number_literal , identifier ))) ;) (labeled_statement "LAB_00154224:\n    puVar7 = puVar7 + 0x7f44;" statement_identifier : (expression_statement "puVar7 = puVar7 + 0x7f44;" (assignment_expression "puVar7 = puVar7 + 0x7f44" identifier = (binary_expression "puVar7 + 0x7f44" identifier + number_literal)) ;)) (expression_statement "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x294c,PTR_s_t_to_left_003a88e4 + 0x7d40,0xdf0,puVar7);" (call_expression "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x294c,PTR_s_t_to_left_003a88e4 + 0x7d40,0xdf0,puVar7)" (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 + 0x294c,PTR_s_t_to_left_003a88e4 + 0x7d40,0xdf0,puVar7)" ( (binary_expression "PTR_LAB_003a88e0 + 0x294c" identifier + number_literal) , (binary_expression "PTR_s_t_to_left_003a88e4 + 0x7d40" identifier + number_literal) , number_literal , identifier ))) ;) (labeled_statement "LAB_00154244:\n    iVar6 = 0xdef;" statement_identifier : (expression_statement "iVar6 = 0xdef;" (assignment_expression "iVar6 = 0xdef" identifier = number_literal) ;)) (expression_statement "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x1cac,PTR_s_t_to_left_003a88e4 + 0x7d40,0xdef,puVar7 + 0x7f44);" (call_expression "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x1cac,PTR_s_t_to_left_003a88e4 + 0x7d40,0xdef,puVar7 + 0x7f44)" (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 + 0x1cac,PTR_s_t_to_left_003a88e4 + 0x7d40,0xdef,puVar7 + 0x7f44)" ( (binary_expression "PTR_LAB_003a88e0 + 0x1cac" identifier + number_literal) , (binary_expression "PTR_s_t_to_left_003a88e4 + 0x7d40" identifier + number_literal) , number_literal , (binary_expression "puVar7 + 0x7f44" identifier + number_literal) ))) ;) }) (else_clause "else {\n    if (*(int *)(param_2 + 0x336c) != -0x54535255) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                 PTR_s_t_to_left_003a88e4 + 0x7d40,0xdea,PTR_s_t_to_left_003a88e4 + 0x7f44);\n      goto LAB_001541dc;\n    }\n    if (*(int *)(param_2 + 0x3350) != 0) {\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38,0xdec,\n                 PTR_s_t_to_left_003a88e4 + -0x62ac,param_2 + 0x340);\n    }\n    if (param_3 == 0) goto LAB_00154200;\n    iVar6 = 0xdee;\n    if (*(int *)(param_3 + 0x336c) == -0x54535255) {\n      puVar7 = PTR_s_t_to_left_003a88e4;\n      if (param_4 != 0) {\n        if (*(int *)(param_4 + 0x1c) == -0x54535255) {\n          iVar6 = FUN_001517a0(param_1,8,*param_1);\n          if (iVar6 == 0) {\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38,\n                       0xdf5,400,PTR_LAB_003a88e0 + 0x16f8,PTR_LAB_003a88e0 + 0x3e28,param_2 + 0x340\n                      );\n            return 0;\n          }\n          uVar1 = FUN_0014cab8(iVar6,param_3,param_4);\n          if (uVar1 != 0) {\n            **(undefined4 **)(iVar6 + 0x2f0) = *(undefined4 *)(iVar6 + 4);\n            uVar1 = FUN_00150e48(param_2,iVar6,param_4);\n          }\n          FUN_001508cc(iVar6);\n          return uVar1;\n        }\n        goto LAB_00154224;\n      }\n      goto LAB_00154244;\n    }\n  }" else (compound_statement "{\n    if (*(int *)(param_2 + 0x336c) != -0x54535255) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                 PTR_s_t_to_left_003a88e4 + 0x7d40,0xdea,PTR_s_t_to_left_003a88e4 + 0x7f44);\n      goto LAB_001541dc;\n    }\n    if (*(int *)(param_2 + 0x3350) != 0) {\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38,0xdec,\n                 PTR_s_t_to_left_003a88e4 + -0x62ac,param_2 + 0x340);\n    }\n    if (param_3 == 0) goto LAB_00154200;\n    iVar6 = 0xdee;\n    if (*(int *)(param_3 + 0x336c) == -0x54535255) {\n      puVar7 = PTR_s_t_to_left_003a88e4;\n      if (param_4 != 0) {\n        if (*(int *)(param_4 + 0x1c) == -0x54535255) {\n          iVar6 = FUN_001517a0(param_1,8,*param_1);\n          if (iVar6 == 0) {\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38,\n                       0xdf5,400,PTR_LAB_003a88e0 + 0x16f8,PTR_LAB_003a88e0 + 0x3e28,param_2 + 0x340\n                      );\n            return 0;\n          }\n          uVar1 = FUN_0014cab8(iVar6,param_3,param_4);\n          if (uVar1 != 0) {\n            **(undefined4 **)(iVar6 + 0x2f0) = *(undefined4 *)(iVar6 + 4);\n            uVar1 = FUN_00150e48(param_2,iVar6,param_4);\n          }\n          FUN_001508cc(iVar6);\n          return uVar1;\n        }\n        goto LAB_00154224;\n      }\n      goto LAB_00154244;\n    }\n  }" { (if_statement "if (*(int *)(param_2 + 0x336c) != -0x54535255) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                 PTR_s_t_to_left_003a88e4 + 0x7d40,0xdea,PTR_s_t_to_left_003a88e4 + 0x7f44);\n      goto LAB_001541dc;\n    }" if (parenthesized_expression "(*(int *)(param_2 + 0x336c) != -0x54535255)" ( (binary_expression "*(int *)(param_2 + 0x336c) != -0x54535255" (pointer_expression "*(int *)(param_2 + 0x336c)" * (cast_expression "(int *)(param_2 + 0x336c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x336c)" ( (binary_expression "param_2 + 0x336c" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                 PTR_s_t_to_left_003a88e4 + 0x7d40,0xdea,PTR_s_t_to_left_003a88e4 + 0x7f44);\n      goto LAB_001541dc;\n    }" { (expression_statement "(*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                 PTR_s_t_to_left_003a88e4 + 0x7d40,0xdea,PTR_s_t_to_left_003a88e4 + 0x7f44);" (call_expression "(*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                 PTR_s_t_to_left_003a88e4 + 0x7d40,0xdea,PTR_s_t_to_left_003a88e4 + 0x7f44)" (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,\n                 PTR_s_t_to_left_003a88e4 + 0x7d40,0xdea,PTR_s_t_to_left_003a88e4 + 0x7f44)" ( (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784" identifier + number_literal) , (binary_expression "PTR_s_t_to_left_003a88e4 + 0x7d40" identifier + number_literal) , number_literal , (binary_expression "PTR_s_t_to_left_003a88e4 + 0x7f44" identifier + number_literal) ))) ;) (goto_statement "goto LAB_001541dc;" goto statement_identifier ;) })) (if_statement "if (*(int *)(param_2 + 0x3350) != 0) {\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38,0xdec,\n                 PTR_s_t_to_left_003a88e4 + -0x62ac,param_2 + 0x340);\n    }" if (parenthesized_expression "(*(int *)(param_2 + 0x3350) != 0)" ( (binary_expression "*(int *)(param_2 + 0x3350) != 0" (pointer_expression "*(int *)(param_2 + 0x3350)" * (cast_expression "(int *)(param_2 + 0x3350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x3350)" ( (binary_expression "param_2 + 0x3350" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38,0xdec,\n                 PTR_s_t_to_left_003a88e4 + -0x62ac,param_2 + 0x340);\n    }" { (expression_statement "(*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38,0xdec,\n                 PTR_s_t_to_left_003a88e4 + -0x62ac,param_2 + 0x340);" (call_expression "(*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38,0xdec,\n                 PTR_s_t_to_left_003a88e4 + -0x62ac,param_2 + 0x340)" (parenthesized_expression "(*(code *)PTR_LogMagickEvent_003a91e0)" ( (pointer_expression "*(code *)PTR_LogMagickEvent_003a91e0" * (cast_expression "(code *)PTR_LogMagickEvent_003a91e0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x8000,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38,0xdec,\n                 PTR_s_t_to_left_003a88e4 + -0x62ac,param_2 + 0x340)" ( number_literal , (binary_expression "PTR_s_t_to_left_003a88e4 + 0x7d40" identifier + number_literal) , (binary_expression "PTR_s_t_to_left_003a88e4 + 0x7f38" identifier + number_literal) , number_literal , (binary_expression "PTR_s_t_to_left_003a88e4 + -0x62ac" identifier + number_literal) , (binary_expression "param_2 + 0x340" identifier + number_literal) ))) ;) })) (if_statement "if (param_3 == 0) goto LAB_00154200;" if (parenthesized_expression "(param_3 == 0)" ( (binary_expression "param_3 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00154200;" goto statement_identifier ;)) (expression_statement "iVar6 = 0xdee;" (assignment_expression "iVar6 = 0xdee" identifier = number_literal) ;) (if_statement "if (*(int *)(param_3 + 0x336c) == -0x54535255) {\n      puVar7 = PTR_s_t_to_left_003a88e4;\n      if (param_4 != 0) {\n        if (*(int *)(param_4 + 0x1c) == -0x54535255) {\n          iVar6 = FUN_001517a0(param_1,8,*param_1);\n          if (iVar6 == 0) {\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38,\n                       0xdf5,400,PTR_LAB_003a88e0 + 0x16f8,PTR_LAB_003a88e0 + 0x3e28,param_2 + 0x340\n                      );\n            return 0;\n          }\n          uVar1 = FUN_0014cab8(iVar6,param_3,param_4);\n          if (uVar1 != 0) {\n            **(undefined4 **)(iVar6 + 0x2f0) = *(undefined4 *)(iVar6 + 4);\n            uVar1 = FUN_00150e48(param_2,iVar6,param_4);\n          }\n          FUN_001508cc(iVar6);\n          return uVar1;\n        }\n        goto LAB_00154224;\n      }\n      goto LAB_00154244;\n    }" if (parenthesized_expression "(*(int *)(param_3 + 0x336c) == -0x54535255)" ( (binary_expression "*(int *)(param_3 + 0x336c) == -0x54535255" (pointer_expression "*(int *)(param_3 + 0x336c)" * (cast_expression "(int *)(param_3 + 0x336c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x336c)" ( (binary_expression "param_3 + 0x336c" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      puVar7 = PTR_s_t_to_left_003a88e4;\n      if (param_4 != 0) {\n        if (*(int *)(param_4 + 0x1c) == -0x54535255) {\n          iVar6 = FUN_001517a0(param_1,8,*param_1);\n          if (iVar6 == 0) {\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38,\n                       0xdf5,400,PTR_LAB_003a88e0 + 0x16f8,PTR_LAB_003a88e0 + 0x3e28,param_2 + 0x340\n                      );\n            return 0;\n          }\n          uVar1 = FUN_0014cab8(iVar6,param_3,param_4);\n          if (uVar1 != 0) {\n            **(undefined4 **)(iVar6 + 0x2f0) = *(undefined4 *)(iVar6 + 4);\n            uVar1 = FUN_00150e48(param_2,iVar6,param_4);\n          }\n          FUN_001508cc(iVar6);\n          return uVar1;\n        }\n        goto LAB_00154224;\n      }\n      goto LAB_00154244;\n    }" { (expression_statement "puVar7 = PTR_s_t_to_left_003a88e4;" (assignment_expression "puVar7 = PTR_s_t_to_left_003a88e4" identifier = identifier) ;) (if_statement "if (param_4 != 0) {\n        if (*(int *)(param_4 + 0x1c) == -0x54535255) {\n          iVar6 = FUN_001517a0(param_1,8,*param_1);\n          if (iVar6 == 0) {\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38,\n                       0xdf5,400,PTR_LAB_003a88e0 + 0x16f8,PTR_LAB_003a88e0 + 0x3e28,param_2 + 0x340\n                      );\n            return 0;\n          }\n          uVar1 = FUN_0014cab8(iVar6,param_3,param_4);\n          if (uVar1 != 0) {\n            **(undefined4 **)(iVar6 + 0x2f0) = *(undefined4 *)(iVar6 + 4);\n            uVar1 = FUN_00150e48(param_2,iVar6,param_4);\n          }\n          FUN_001508cc(iVar6);\n          return uVar1;\n        }\n        goto LAB_00154224;\n      }" if (parenthesized_expression "(param_4 != 0)" ( (binary_expression "param_4 != 0" identifier != number_literal) )) (compound_statement "{\n        if (*(int *)(param_4 + 0x1c) == -0x54535255) {\n          iVar6 = FUN_001517a0(param_1,8,*param_1);\n          if (iVar6 == 0) {\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38,\n                       0xdf5,400,PTR_LAB_003a88e0 + 0x16f8,PTR_LAB_003a88e0 + 0x3e28,param_2 + 0x340\n                      );\n            return 0;\n          }\n          uVar1 = FUN_0014cab8(iVar6,param_3,param_4);\n          if (uVar1 != 0) {\n            **(undefined4 **)(iVar6 + 0x2f0) = *(undefined4 *)(iVar6 + 4);\n            uVar1 = FUN_00150e48(param_2,iVar6,param_4);\n          }\n          FUN_001508cc(iVar6);\n          return uVar1;\n        }\n        goto LAB_00154224;\n      }" { (if_statement "if (*(int *)(param_4 + 0x1c) == -0x54535255) {\n          iVar6 = FUN_001517a0(param_1,8,*param_1);\n          if (iVar6 == 0) {\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38,\n                       0xdf5,400,PTR_LAB_003a88e0 + 0x16f8,PTR_LAB_003a88e0 + 0x3e28,param_2 + 0x340\n                      );\n            return 0;\n          }\n          uVar1 = FUN_0014cab8(iVar6,param_3,param_4);\n          if (uVar1 != 0) {\n            **(undefined4 **)(iVar6 + 0x2f0) = *(undefined4 *)(iVar6 + 4);\n            uVar1 = FUN_00150e48(param_2,iVar6,param_4);\n          }\n          FUN_001508cc(iVar6);\n          return uVar1;\n        }" if (parenthesized_expression "(*(int *)(param_4 + 0x1c) == -0x54535255)" ( (binary_expression "*(int *)(param_4 + 0x1c) == -0x54535255" (pointer_expression "*(int *)(param_4 + 0x1c)" * (cast_expression "(int *)(param_4 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x1c)" ( (binary_expression "param_4 + 0x1c" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n          iVar6 = FUN_001517a0(param_1,8,*param_1);\n          if (iVar6 == 0) {\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38,\n                       0xdf5,400,PTR_LAB_003a88e0 + 0x16f8,PTR_LAB_003a88e0 + 0x3e28,param_2 + 0x340\n                      );\n            return 0;\n          }\n          uVar1 = FUN_0014cab8(iVar6,param_3,param_4);\n          if (uVar1 != 0) {\n            **(undefined4 **)(iVar6 + 0x2f0) = *(undefined4 *)(iVar6 + 4);\n            uVar1 = FUN_00150e48(param_2,iVar6,param_4);\n          }\n          FUN_001508cc(iVar6);\n          return uVar1;\n        }" { (expression_statement "iVar6 = FUN_001517a0(param_1,8,*param_1);" (assignment_expression "iVar6 = FUN_001517a0(param_1,8,*param_1)" identifier = (call_expression "FUN_001517a0(param_1,8,*param_1)" identifier (argument_list "(param_1,8,*param_1)" ( identifier , number_literal , (pointer_expression "*param_1" * identifier) )))) ;) (if_statement "if (iVar6 == 0) {\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38,\n                       0xdf5,400,PTR_LAB_003a88e0 + 0x16f8,PTR_LAB_003a88e0 + 0x3e28,param_2 + 0x340\n                      );\n            return 0;\n          }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38,\n                       0xdf5,400,PTR_LAB_003a88e0 + 0x16f8,PTR_LAB_003a88e0 + 0x3e28,param_2 + 0x340\n                      );\n            return 0;\n          }" { (expression_statement "(*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38,\n                       0xdf5,400,PTR_LAB_003a88e0 + 0x16f8,PTR_LAB_003a88e0 + 0x3e28,param_2 + 0x340\n                      );" (call_expression "(*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38,\n                       0xdf5,400,PTR_LAB_003a88e0 + 0x16f8,PTR_LAB_003a88e0 + 0x3e28,param_2 + 0x340\n                      )" (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_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38,\n                       0xdf5,400,PTR_LAB_003a88e0 + 0x16f8,PTR_LAB_003a88e0 + 0x3e28,param_2 + 0x340\n                      )" ( identifier , (binary_expression "PTR_s_t_to_left_003a88e4 + 0x7d40" identifier + number_literal) , (binary_expression "PTR_s_t_to_left_003a88e4 + 0x7f38" identifier + number_literal) , number_literal , number_literal , (binary_expression "PTR_LAB_003a88e0 + 0x16f8" identifier + number_literal) , (binary_expression "PTR_LAB_003a88e0 + 0x3e28" identifier + number_literal) , (binary_expression "param_2 + 0x340" identifier + number_literal) ))) ;) (return_statement "return 0;" return number_literal ;) })) (expression_statement "uVar1 = FUN_0014cab8(iVar6,param_3,param_4);" (assignment_expression "uVar1 = FUN_0014cab8(iVar6,param_3,param_4)" identifier = (call_expression "FUN_0014cab8(iVar6,param_3,param_4)" identifier (argument_list "(iVar6,param_3,param_4)" ( identifier , identifier , identifier )))) ;) (if_statement "if (uVar1 != 0) {\n            **(undefined4 **)(iVar6 + 0x2f0) = *(undefined4 *)(iVar6 + 4);\n            uVar1 = FUN_00150e48(param_2,iVar6,param_4);\n          }" if (parenthesized_expression "(uVar1 != 0)" ( (binary_expression "uVar1 != 0" identifier != number_literal) )) (compound_statement "{\n            **(undefined4 **)(iVar6 + 0x2f0) = *(undefined4 *)(iVar6 + 4);\n            uVar1 = FUN_00150e48(param_2,iVar6,param_4);\n          }" { (expression_statement "**(undefined4 **)(iVar6 + 0x2f0) = *(undefined4 *)(iVar6 + 4);" (assignment_expression "**(undefined4 **)(iVar6 + 0x2f0) = *(undefined4 *)(iVar6 + 4)" (pointer_expression "**(undefined4 **)(iVar6 + 0x2f0)" * (pointer_expression "*(undefined4 **)(iVar6 + 0x2f0)" * (cast_expression "(undefined4 **)(iVar6 + 0x2f0)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + 0x2f0)" ( (binary_expression "iVar6 + 0x2f0" identifier + number_literal) ))))) = (pointer_expression "*(undefined4 *)(iVar6 + 4)" * (cast_expression "(undefined4 *)(iVar6 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 4)" ( (binary_expression "iVar6 + 4" identifier + number_literal) ))))) ;) (expression_statement "uVar1 = FUN_00150e48(param_2,iVar6,param_4);" (assignment_expression "uVar1 = FUN_00150e48(param_2,iVar6,param_4)" identifier = (call_expression "FUN_00150e48(param_2,iVar6,param_4)" identifier (argument_list "(param_2,iVar6,param_4)" ( identifier , identifier , identifier )))) ;) })) (expression_statement "FUN_001508cc(iVar6);" (call_expression "FUN_001508cc(iVar6)" identifier (argument_list "(iVar6)" ( identifier ))) ;) (return_statement "return uVar1;" return identifier ;) })) (goto_statement "goto LAB_00154224;" goto statement_identifier ;) })) (goto_statement "goto LAB_00154244;" goto statement_identifier ;) })) }))) (expression_statement "puVar8 = PTR_s_t_to_left_003a88e4 + 0x7f44;" (assignment_expression "puVar8 = PTR_s_t_to_left_003a88e4 + 0x7f44" identifier = (binary_expression "PTR_s_t_to_left_003a88e4 + 0x7f44" identifier + number_literal)) ;) (expression_statement "puVar4 = PTR_s_t_to_left_003a88e4 + 0x7d40;" (assignment_expression "puVar4 = PTR_s_t_to_left_003a88e4 + 0x7d40" identifier = (binary_expression "PTR_s_t_to_left_003a88e4 + 0x7d40" identifier + number_literal)) ;) (expression_statement "puVar3 = (undefined4 *)(PTR_s_t_to_left_003a88e4 + 0x7ee4);" (assignment_expression "puVar3 = (undefined4 *)(PTR_s_t_to_left_003a88e4 + 0x7ee4)" identifier = (cast_expression "(undefined4 *)(PTR_s_t_to_left_003a88e4 + 0x7ee4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_t_to_left_003a88e4 + 0x7ee4)" ( (binary_expression "PTR_s_t_to_left_003a88e4 + 0x7ee4" identifier + number_literal) )))) ;) (expression_statement "puVar7 = PTR___assert_fail_003a9608;" (assignment_expression "puVar7 = PTR___assert_fail_003a9608" identifier = identifier) ;) (expression_statement "(*(code *)PTR___assert_fail_003a9608)();" (call_expression "(*(code *)PTR___assert_fail_003a9608)()" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" ( (pointer_expression "*(code *)PTR___assert_fail_003a9608" * (cast_expression "(code *)PTR___assert_fail_003a9608" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (if_statement "if (puVar4 == (undefined *)0x0) {\n    iVar9 = *(int *)(puVar7 + 0x254660) + 0x7f2c;\n    (**(code **)(puVar7 + 0x255384))\n              (*(int *)(puVar7 + 0x25465c) + 0x1e48,*(int *)(puVar7 + 0x254660) + 0x7d40,0xe2d,iVar9\n              );\nLAB_001544c4:\n    (**(code **)(puVar7 + 0x255384))\n              (*(int *)(puVar7 + 0x25465c) + 0x294c,*(int *)(puVar7 + 0x254660) + 0x7d40,0xe32,\n               iVar9 + 0x7f2c);\n  }\n  else {\n    if (*(int *)(puVar4 + 0x336c) != -0x54535255) goto LAB_00154508;\n    if (*(int *)(puVar4 + 0x3350) != 0) {\n      (**(code **)(puVar7 + 0x254f5c))\n                (0x8000,*(int *)(puVar7 + 0x254660) + 0x7d40,*(int *)(puVar7 + 0x254660) + 0x7f20,\n                 0xe30,*(int *)(puVar7 + 0x254660) + -0x62ac,puVar4 + 0x340);\n    }\n    if (puVar8 != (undefined *)0x0) {\n      iVar9 = *(int *)(puVar7 + 0x254660);\n      if (*(int *)(puVar8 + 0x1c) == -0x54535255) {\n        if (iVar6 == 0) {\n                    \n                    \n          uVar1 = (**(code **)(puVar7 + 0x254bec))(puVar3,puVar4,puVar8);\n          return uVar1;\n        }\n        iVar9 = FUN_001517a0(puVar3,8,*puVar3);\n        if (iVar9 == 0) {\n          (**(code **)(puVar7 + 0x254c9c))\n                    (puVar8,*(int *)(puVar7 + 0x254660) + 0x7d40,\n                     *(int *)(puVar7 + 0x254660) + 0x7f20,0xe43,400,\n                     *(int *)(puVar7 + 0x25465c) + 0x16f8,*(int *)(puVar7 + 0x25465c) + 0x3e28,\n                     puVar4 + 0x340);\n          return 0;\n        }\n        iVar6 = FUN_0014cab8(iVar9,iVar6,puVar8);\n        if (iVar6 == 0) {\nLAB_0015438c:\n          uVar1 = 0;\n        }\n        else {\n          **(undefined4 **)(iVar9 + 0x2f0) = *(undefined4 *)(iVar9 + 4);\n          do {\n            uVar1 = FUN_00150e48(puVar4,iVar9,puVar8);\n            if (uVar1 == 0) goto LAB_0015438c;\n            puVar4 = (undefined *)(**(code **)(puVar7 + 0x2551ec))(puVar4);\n          } while (puVar4 != (undefined *)0x0);\n        }\n        FUN_001508cc(iVar9);\n        return uVar1;\n      }\n      goto LAB_001544c4;\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 "{\n    iVar9 = *(int *)(puVar7 + 0x254660) + 0x7f2c;\n    (**(code **)(puVar7 + 0x255384))\n              (*(int *)(puVar7 + 0x25465c) + 0x1e48,*(int *)(puVar7 + 0x254660) + 0x7d40,0xe2d,iVar9\n              );\nLAB_001544c4:\n    (**(code **)(puVar7 + 0x255384))\n              (*(int *)(puVar7 + 0x25465c) + 0x294c,*(int *)(puVar7 + 0x254660) + 0x7d40,0xe32,\n               iVar9 + 0x7f2c);\n  }" { (expression_statement "iVar9 = *(int *)(puVar7 + 0x254660) + 0x7f2c;" (assignment_expression "iVar9 = *(int *)(puVar7 + 0x254660) + 0x7f2c" identifier = (binary_expression "*(int *)(puVar7 + 0x254660) + 0x7f2c" (pointer_expression "*(int *)(puVar7 + 0x254660)" * (cast_expression "(int *)(puVar7 + 0x254660)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 0x254660)" ( (binary_expression "puVar7 + 0x254660" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(**(code **)(puVar7 + 0x255384))\n              (*(int *)(puVar7 + 0x25465c) + 0x1e48,*(int *)(puVar7 + 0x254660) + 0x7d40,0xe2d,iVar9\n              );" (call_expression "(**(code **)(puVar7 + 0x255384))\n              (*(int *)(puVar7 + 0x25465c) + 0x1e48,*(int *)(puVar7 + 0x254660) + 0x7d40,0xe2d,iVar9\n              )" (parenthesized_expression "(**(code **)(puVar7 + 0x255384))" ( (pointer_expression "**(code **)(puVar7 + 0x255384)" * (pointer_expression "*(code **)(puVar7 + 0x255384)" * (cast_expression "(code **)(puVar7 + 0x255384)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + 0x255384)" ( (binary_expression "puVar7 + 0x255384" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar7 + 0x25465c) + 0x1e48,*(int *)(puVar7 + 0x254660) + 0x7d40,0xe2d,iVar9\n              )" ( (binary_expression "*(int *)(puVar7 + 0x25465c) + 0x1e48" (pointer_expression "*(int *)(puVar7 + 0x25465c)" * (cast_expression "(int *)(puVar7 + 0x25465c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 0x25465c)" ( (binary_expression "puVar7 + 0x25465c" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar7 + 0x254660) + 0x7d40" (pointer_expression "*(int *)(puVar7 + 0x254660)" * (cast_expression "(int *)(puVar7 + 0x254660)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 0x254660)" ( (binary_expression "puVar7 + 0x254660" identifier + number_literal) )))) + number_literal) , number_literal , identifier ))) ;) (labeled_statement "LAB_001544c4:\n    (**(code **)(puVar7 + 0x255384))\n              (*(int *)(puVar7 + 0x25465c) + 0x294c,*(int *)(puVar7 + 0x254660) + 0x7d40,0xe32,\n               iVar9 + 0x7f2c);" statement_identifier : (expression_statement "(**(code **)(puVar7 + 0x255384))\n              (*(int *)(puVar7 + 0x25465c) + 0x294c,*(int *)(puVar7 + 0x254660) + 0x7d40,0xe32,\n               iVar9 + 0x7f2c);" (call_expression "(**(code **)(puVar7 + 0x255384))\n              (*(int *)(puVar7 + 0x25465c) + 0x294c,*(int *)(puVar7 + 0x254660) + 0x7d40,0xe32,\n               iVar9 + 0x7f2c)" (parenthesized_expression "(**(code **)(puVar7 + 0x255384))" ( (pointer_expression "**(code **)(puVar7 + 0x255384)" * (pointer_expression "*(code **)(puVar7 + 0x255384)" * (cast_expression "(code **)(puVar7 + 0x255384)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + 0x255384)" ( (binary_expression "puVar7 + 0x255384" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar7 + 0x25465c) + 0x294c,*(int *)(puVar7 + 0x254660) + 0x7d40,0xe32,\n               iVar9 + 0x7f2c)" ( (binary_expression "*(int *)(puVar7 + 0x25465c) + 0x294c" (pointer_expression "*(int *)(puVar7 + 0x25465c)" * (cast_expression "(int *)(puVar7 + 0x25465c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 0x25465c)" ( (binary_expression "puVar7 + 0x25465c" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar7 + 0x254660) + 0x7d40" (pointer_expression "*(int *)(puVar7 + 0x254660)" * (cast_expression "(int *)(puVar7 + 0x254660)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 0x254660)" ( (binary_expression "puVar7 + 0x254660" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "iVar9 + 0x7f2c" identifier + number_literal) ))) ;)) }) (else_clause "else {\n    if (*(int *)(puVar4 + 0x336c) != -0x54535255) goto LAB_00154508;\n    if (*(int *)(puVar4 + 0x3350) != 0) {\n      (**(code **)(puVar7 + 0x254f5c))\n                (0x8000,*(int *)(puVar7 + 0x254660) + 0x7d40,*(int *)(puVar7 + 0x254660) + 0x7f20,\n                 0xe30,*(int *)(puVar7 + 0x254660) + -0x62ac,puVar4 + 0x340);\n    }\n    if (puVar8 != (undefined *)0x0) {\n      iVar9 = *(int *)(puVar7 + 0x254660);\n      if (*(int *)(puVar8 + 0x1c) == -0x54535255) {\n        if (iVar6 == 0) {\n                    \n                    \n          uVar1 = (**(code **)(puVar7 + 0x254bec))(puVar3,puVar4,puVar8);\n          return uVar1;\n        }\n        iVar9 = FUN_001517a0(puVar3,8,*puVar3);\n        if (iVar9 == 0) {\n          (**(code **)(puVar7 + 0x254c9c))\n                    (puVar8,*(int *)(puVar7 + 0x254660) + 0x7d40,\n                     *(int *)(puVar7 + 0x254660) + 0x7f20,0xe43,400,\n                     *(int *)(puVar7 + 0x25465c) + 0x16f8,*(int *)(puVar7 + 0x25465c) + 0x3e28,\n                     puVar4 + 0x340);\n          return 0;\n        }\n        iVar6 = FUN_0014cab8(iVar9,iVar6,puVar8);\n        if (iVar6 == 0) {\nLAB_0015438c:\n          uVar1 = 0;\n        }\n        else {\n          **(undefined4 **)(iVar9 + 0x2f0) = *(undefined4 *)(iVar9 + 4);\n          do {\n            uVar1 = FUN_00150e48(puVar4,iVar9,puVar8);\n            if (uVar1 == 0) goto LAB_0015438c;\n            puVar4 = (undefined *)(**(code **)(puVar7 + 0x2551ec))(puVar4);\n          } while (puVar4 != (undefined *)0x0);\n        }\n        FUN_001508cc(iVar9);\n        return uVar1;\n      }\n      goto LAB_001544c4;\n    }\n  }" else (compound_statement "{\n    if (*(int *)(puVar4 + 0x336c) != -0x54535255) goto LAB_00154508;\n    if (*(int *)(puVar4 + 0x3350) != 0) {\n      (**(code **)(puVar7 + 0x254f5c))\n                (0x8000,*(int *)(puVar7 + 0x254660) + 0x7d40,*(int *)(puVar7 + 0x254660) + 0x7f20,\n                 0xe30,*(int *)(puVar7 + 0x254660) + -0x62ac,puVar4 + 0x340);\n    }\n    if (puVar8 != (undefined *)0x0) {\n      iVar9 = *(int *)(puVar7 + 0x254660);\n      if (*(int *)(puVar8 + 0x1c) == -0x54535255) {\n        if (iVar6 == 0) {\n                    \n                    \n          uVar1 = (**(code **)(puVar7 + 0x254bec))(puVar3,puVar4,puVar8);\n          return uVar1;\n        }\n        iVar9 = FUN_001517a0(puVar3,8,*puVar3);\n        if (iVar9 == 0) {\n          (**(code **)(puVar7 + 0x254c9c))\n                    (puVar8,*(int *)(puVar7 + 0x254660) + 0x7d40,\n                     *(int *)(puVar7 + 0x254660) + 0x7f20,0xe43,400,\n                     *(int *)(puVar7 + 0x25465c) + 0x16f8,*(int *)(puVar7 + 0x25465c) + 0x3e28,\n                     puVar4 + 0x340);\n          return 0;\n        }\n        iVar6 = FUN_0014cab8(iVar9,iVar6,puVar8);\n        if (iVar6 == 0) {\nLAB_0015438c:\n          uVar1 = 0;\n        }\n        else {\n          **(undefined4 **)(iVar9 + 0x2f0) = *(undefined4 *)(iVar9 + 4);\n          do {\n            uVar1 = FUN_00150e48(puVar4,iVar9,puVar8);\n            if (uVar1 == 0) goto LAB_0015438c;\n            puVar4 = (undefined *)(**(code **)(puVar7 + 0x2551ec))(puVar4);\n          } while (puVar4 != (undefined *)0x0);\n        }\n        FUN_001508cc(iVar9);\n        return uVar1;\n      }\n      goto LAB_001544c4;\n    }\n  }" { (if_statement "if (*(int *)(puVar4 + 0x336c) != -0x54535255) goto LAB_00154508;" 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_00154508;" goto statement_identifier ;)) (if_statement "if (*(int *)(puVar4 + 0x3350) != 0) {\n      (**(code **)(puVar7 + 0x254f5c))\n                (0x8000,*(int *)(puVar7 + 0x254660) + 0x7d40,*(int *)(puVar7 + 0x254660) + 0x7f20,\n                 0xe30,*(int *)(puVar7 + 0x254660) + -0x62ac,puVar4 + 0x340);\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 **)(puVar7 + 0x254f5c))\n                (0x8000,*(int *)(puVar7 + 0x254660) + 0x7d40,*(int *)(puVar7 + 0x254660) + 0x7f20,\n                 0xe30,*(int *)(puVar7 + 0x254660) + -0x62ac,puVar4 + 0x340);\n    }" { (expression_statement "(**(code **)(puVar7 + 0x254f5c))\n                (0x8000,*(int *)(puVar7 + 0x254660) + 0x7d40,*(int *)(puVar7 + 0x254660) + 0x7f20,\n                 0xe30,*(int *)(puVar7 + 0x254660) + -0x62ac,puVar4 + 0x340);" (call_expression "(**(code **)(puVar7 + 0x254f5c))\n                (0x8000,*(int *)(puVar7 + 0x254660) + 0x7d40,*(int *)(puVar7 + 0x254660) + 0x7f20,\n                 0xe30,*(int *)(puVar7 + 0x254660) + -0x62ac,puVar4 + 0x340)" (parenthesized_expression "(**(code **)(puVar7 + 0x254f5c))" ( (pointer_expression "**(code **)(puVar7 + 0x254f5c)" * (pointer_expression "*(code **)(puVar7 + 0x254f5c)" * (cast_expression "(code **)(puVar7 + 0x254f5c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + 0x254f5c)" ( (binary_expression "puVar7 + 0x254f5c" identifier + number_literal) ))))) )) (argument_list "(0x8000,*(int *)(puVar7 + 0x254660) + 0x7d40,*(int *)(puVar7 + 0x254660) + 0x7f20,\n                 0xe30,*(int *)(puVar7 + 0x254660) + -0x62ac,puVar4 + 0x340)" ( number_literal , (binary_expression "*(int *)(puVar7 + 0x254660) + 0x7d40" (pointer_expression "*(int *)(puVar7 + 0x254660)" * (cast_expression "(int *)(puVar7 + 0x254660)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 0x254660)" ( (binary_expression "puVar7 + 0x254660" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar7 + 0x254660) + 0x7f20" (pointer_expression "*(int *)(puVar7 + 0x254660)" * (cast_expression "(int *)(puVar7 + 0x254660)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 0x254660)" ( (binary_expression "puVar7 + 0x254660" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar7 + 0x254660) + -0x62ac" (pointer_expression "*(int *)(puVar7 + 0x254660)" * (cast_expression "(int *)(puVar7 + 0x254660)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 0x254660)" ( (binary_expression "puVar7 + 0x254660" identifier + number_literal) )))) + number_literal) , (binary_expression "puVar4 + 0x340" identifier + number_literal) ))) ;) })) (if_statement "if (puVar8 != (undefined *)0x0) {\n      iVar9 = *(int *)(puVar7 + 0x254660);\n      if (*(int *)(puVar8 + 0x1c) == -0x54535255) {\n        if (iVar6 == 0) {\n                    \n                    \n          uVar1 = (**(code **)(puVar7 + 0x254bec))(puVar3,puVar4,puVar8);\n          return uVar1;\n        }\n        iVar9 = FUN_001517a0(puVar3,8,*puVar3);\n        if (iVar9 == 0) {\n          (**(code **)(puVar7 + 0x254c9c))\n                    (puVar8,*(int *)(puVar7 + 0x254660) + 0x7d40,\n                     *(int *)(puVar7 + 0x254660) + 0x7f20,0xe43,400,\n                     *(int *)(puVar7 + 0x25465c) + 0x16f8,*(int *)(puVar7 + 0x25465c) + 0x3e28,\n                     puVar4 + 0x340);\n          return 0;\n        }\n        iVar6 = FUN_0014cab8(iVar9,iVar6,puVar8);\n        if (iVar6 == 0) {\nLAB_0015438c:\n          uVar1 = 0;\n        }\n        else {\n          **(undefined4 **)(iVar9 + 0x2f0) = *(undefined4 *)(iVar9 + 4);\n          do {\n            uVar1 = FUN_00150e48(puVar4,iVar9,puVar8);\n            if (uVar1 == 0) goto LAB_0015438c;\n            puVar4 = (undefined *)(**(code **)(puVar7 + 0x2551ec))(puVar4);\n          } while (puVar4 != (undefined *)0x0);\n        }\n        FUN_001508cc(iVar9);\n        return uVar1;\n      }\n      goto LAB_001544c4;\n    }" if (parenthesized_expression "(puVar8 != (undefined *)0x0)" ( (binary_expression "puVar8 != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      iVar9 = *(int *)(puVar7 + 0x254660);\n      if (*(int *)(puVar8 + 0x1c) == -0x54535255) {\n        if (iVar6 == 0) {\n                    \n                    \n          uVar1 = (**(code **)(puVar7 + 0x254bec))(puVar3,puVar4,puVar8);\n          return uVar1;\n        }\n        iVar9 = FUN_001517a0(puVar3,8,*puVar3);\n        if (iVar9 == 0) {\n          (**(code **)(puVar7 + 0x254c9c))\n                    (puVar8,*(int *)(puVar7 + 0x254660) + 0x7d40,\n                     *(int *)(puVar7 + 0x254660) + 0x7f20,0xe43,400,\n                     *(int *)(puVar7 + 0x25465c) + 0x16f8,*(int *)(puVar7 + 0x25465c) + 0x3e28,\n                     puVar4 + 0x340);\n          return 0;\n        }\n        iVar6 = FUN_0014cab8(iVar9,iVar6,puVar8);\n        if (iVar6 == 0) {\nLAB_0015438c:\n          uVar1 = 0;\n        }\n        else {\n          **(undefined4 **)(iVar9 + 0x2f0) = *(undefined4 *)(iVar9 + 4);\n          do {\n            uVar1 = FUN_00150e48(puVar4,iVar9,puVar8);\n            if (uVar1 == 0) goto LAB_0015438c;\n            puVar4 = (undefined *)(**(code **)(puVar7 + 0x2551ec))(puVar4);\n          } while (puVar4 != (undefined *)0x0);\n        }\n        FUN_001508cc(iVar9);\n        return uVar1;\n      }\n      goto LAB_001544c4;\n    }" { (expression_statement "iVar9 = *(int *)(puVar7 + 0x254660);" (assignment_expression "iVar9 = *(int *)(puVar7 + 0x254660)" identifier = (pointer_expression "*(int *)(puVar7 + 0x254660)" * (cast_expression "(int *)(puVar7 + 0x254660)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 0x254660)" ( (binary_expression "puVar7 + 0x254660" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(puVar8 + 0x1c) == -0x54535255) {\n        if (iVar6 == 0) {\n                    \n                    \n          uVar1 = (**(code **)(puVar7 + 0x254bec))(puVar3,puVar4,puVar8);\n          return uVar1;\n        }\n        iVar9 = FUN_001517a0(puVar3,8,*puVar3);\n        if (iVar9 == 0) {\n          (**(code **)(puVar7 + 0x254c9c))\n                    (puVar8,*(int *)(puVar7 + 0x254660) + 0x7d40,\n                     *(int *)(puVar7 + 0x254660) + 0x7f20,0xe43,400,\n                     *(int *)(puVar7 + 0x25465c) + 0x16f8,*(int *)(puVar7 + 0x25465c) + 0x3e28,\n                     puVar4 + 0x340);\n          return 0;\n        }\n        iVar6 = FUN_0014cab8(iVar9,iVar6,puVar8);\n        if (iVar6 == 0) {\nLAB_0015438c:\n          uVar1 = 0;\n        }\n        else {\n          **(undefined4 **)(iVar9 + 0x2f0) = *(undefined4 *)(iVar9 + 4);\n          do {\n            uVar1 = FUN_00150e48(puVar4,iVar9,puVar8);\n            if (uVar1 == 0) goto LAB_0015438c;\n            puVar4 = (undefined *)(**(code **)(puVar7 + 0x2551ec))(puVar4);\n          } while (puVar4 != (undefined *)0x0);\n        }\n        FUN_001508cc(iVar9);\n        return uVar1;\n      }" if (parenthesized_expression "(*(int *)(puVar8 + 0x1c) == -0x54535255)" ( (binary_expression "*(int *)(puVar8 + 0x1c) == -0x54535255" (pointer_expression "*(int *)(puVar8 + 0x1c)" * (cast_expression "(int *)(puVar8 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 0x1c)" ( (binary_expression "puVar8 + 0x1c" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n        if (iVar6 == 0) {\n                    \n                    \n          uVar1 = (**(code **)(puVar7 + 0x254bec))(puVar3,puVar4,puVar8);\n          return uVar1;\n        }\n        iVar9 = FUN_001517a0(puVar3,8,*puVar3);\n        if (iVar9 == 0) {\n          (**(code **)(puVar7 + 0x254c9c))\n                    (puVar8,*(int *)(puVar7 + 0x254660) + 0x7d40,\n                     *(int *)(puVar7 + 0x254660) + 0x7f20,0xe43,400,\n                     *(int *)(puVar7 + 0x25465c) + 0x16f8,*(int *)(puVar7 + 0x25465c) + 0x3e28,\n                     puVar4 + 0x340);\n          return 0;\n        }\n        iVar6 = FUN_0014cab8(iVar9,iVar6,puVar8);\n        if (iVar6 == 0) {\nLAB_0015438c:\n          uVar1 = 0;\n        }\n        else {\n          **(undefined4 **)(iVar9 + 0x2f0) = *(undefined4 *)(iVar9 + 4);\n          do {\n            uVar1 = FUN_00150e48(puVar4,iVar9,puVar8);\n            if (uVar1 == 0) goto LAB_0015438c;\n            puVar4 = (undefined *)(**(code **)(puVar7 + 0x2551ec))(puVar4);\n          } while (puVar4 != (undefined *)0x0);\n        }\n        FUN_001508cc(iVar9);\n        return uVar1;\n      }" { (if_statement "if (iVar6 == 0) {\n                    \n                    \n          uVar1 = (**(code **)(puVar7 + 0x254bec))(puVar3,puVar4,puVar8);\n          return uVar1;\n        }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n                    \n                    \n          uVar1 = (**(code **)(puVar7 + 0x254bec))(puVar3,puVar4,puVar8);\n          return uVar1;\n        }" { (expression_statement "uVar1 = (**(code **)(puVar7 + 0x254bec))(puVar3,puVar4,puVar8);" (assignment_expression "uVar1 = (**(code **)(puVar7 + 0x254bec))(puVar3,puVar4,puVar8)" identifier = (call_expression "(**(code **)(puVar7 + 0x254bec))(puVar3,puVar4,puVar8)" (parenthesized_expression "(**(code **)(puVar7 + 0x254bec))" ( (pointer_expression "**(code **)(puVar7 + 0x254bec)" * (pointer_expression "*(code **)(puVar7 + 0x254bec)" * (cast_expression "(code **)(puVar7 + 0x254bec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + 0x254bec)" ( (binary_expression "puVar7 + 0x254bec" identifier + number_literal) ))))) )) (argument_list "(puVar3,puVar4,puVar8)" ( identifier , identifier , identifier )))) ;) (return_statement "return uVar1;" return identifier ;) })) (expression_statement "iVar9 = FUN_001517a0(puVar3,8,*puVar3);" (assignment_expression "iVar9 = FUN_001517a0(puVar3,8,*puVar3)" identifier = (call_expression "FUN_001517a0(puVar3,8,*puVar3)" identifier (argument_list "(puVar3,8,*puVar3)" ( identifier , number_literal , (pointer_expression "*puVar3" * identifier) )))) ;) (if_statement "if (iVar9 == 0) {\n          (**(code **)(puVar7 + 0x254c9c))\n                    (puVar8,*(int *)(puVar7 + 0x254660) + 0x7d40,\n                     *(int *)(puVar7 + 0x254660) + 0x7f20,0xe43,400,\n                     *(int *)(puVar7 + 0x25465c) + 0x16f8,*(int *)(puVar7 + 0x25465c) + 0x3e28,\n                     puVar4 + 0x340);\n          return 0;\n        }" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (compound_statement "{\n          (**(code **)(puVar7 + 0x254c9c))\n                    (puVar8,*(int *)(puVar7 + 0x254660) + 0x7d40,\n                     *(int *)(puVar7 + 0x254660) + 0x7f20,0xe43,400,\n                     *(int *)(puVar7 + 0x25465c) + 0x16f8,*(int *)(puVar7 + 0x25465c) + 0x3e28,\n                     puVar4 + 0x340);\n          return 0;\n        }" { (expression_statement "(**(code **)(puVar7 + 0x254c9c))\n                    (puVar8,*(int *)(puVar7 + 0x254660) + 0x7d40,\n                     *(int *)(puVar7 + 0x254660) + 0x7f20,0xe43,400,\n                     *(int *)(puVar7 + 0x25465c) + 0x16f8,*(int *)(puVar7 + 0x25465c) + 0x3e28,\n                     puVar4 + 0x340);" (call_expression "(**(code **)(puVar7 + 0x254c9c))\n                    (puVar8,*(int *)(puVar7 + 0x254660) + 0x7d40,\n                     *(int *)(puVar7 + 0x254660) + 0x7f20,0xe43,400,\n                     *(int *)(puVar7 + 0x25465c) + 0x16f8,*(int *)(puVar7 + 0x25465c) + 0x3e28,\n                     puVar4 + 0x340)" (parenthesized_expression "(**(code **)(puVar7 + 0x254c9c))" ( (pointer_expression "**(code **)(puVar7 + 0x254c9c)" * (pointer_expression "*(code **)(puVar7 + 0x254c9c)" * (cast_expression "(code **)(puVar7 + 0x254c9c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + 0x254c9c)" ( (binary_expression "puVar7 + 0x254c9c" identifier + number_literal) ))))) )) (argument_list "(puVar8,*(int *)(puVar7 + 0x254660) + 0x7d40,\n                     *(int *)(puVar7 + 0x254660) + 0x7f20,0xe43,400,\n                     *(int *)(puVar7 + 0x25465c) + 0x16f8,*(int *)(puVar7 + 0x25465c) + 0x3e28,\n                     puVar4 + 0x340)" ( identifier , (binary_expression "*(int *)(puVar7 + 0x254660) + 0x7d40" (pointer_expression "*(int *)(puVar7 + 0x254660)" * (cast_expression "(int *)(puVar7 + 0x254660)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 0x254660)" ( (binary_expression "puVar7 + 0x254660" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar7 + 0x254660) + 0x7f20" (pointer_expression "*(int *)(puVar7 + 0x254660)" * (cast_expression "(int *)(puVar7 + 0x254660)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 0x254660)" ( (binary_expression "puVar7 + 0x254660" identifier + number_literal) )))) + number_literal) , number_literal , number_literal , (binary_expression "*(int *)(puVar7 + 0x25465c) + 0x16f8" (pointer_expression "*(int *)(puVar7 + 0x25465c)" * (cast_expression "(int *)(puVar7 + 0x25465c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 0x25465c)" ( (binary_expression "puVar7 + 0x25465c" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar7 + 0x25465c) + 0x3e28" (pointer_expression "*(int *)(puVar7 + 0x25465c)" * (cast_expression "(int *)(puVar7 + 0x25465c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 0x25465c)" ( (binary_expression "puVar7 + 0x25465c" identifier + number_literal) )))) + number_literal) , (binary_expression "puVar4 + 0x340" identifier + number_literal) ))) ;) (return_statement "return 0;" return number_literal ;) })) (expression_statement "iVar6 = FUN_0014cab8(iVar9,iVar6,puVar8);" (assignment_expression "iVar6 = FUN_0014cab8(iVar9,iVar6,puVar8)" identifier = (call_expression "FUN_0014cab8(iVar9,iVar6,puVar8)" identifier (argument_list "(iVar9,iVar6,puVar8)" ( identifier , identifier , identifier )))) ;) (if_statement "if (iVar6 == 0) {\nLAB_0015438c:\n          uVar1 = 0;\n        }\n        else {\n          **(undefined4 **)(iVar9 + 0x2f0) = *(undefined4 *)(iVar9 + 4);\n          do {\n            uVar1 = FUN_00150e48(puVar4,iVar9,puVar8);\n            if (uVar1 == 0) goto LAB_0015438c;\n            puVar4 = (undefined *)(**(code **)(puVar7 + 0x2551ec))(puVar4);\n          } while (puVar4 != (undefined *)0x0);\n        }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0015438c:\n          uVar1 = 0;\n        }" { (labeled_statement "LAB_0015438c:\n          uVar1 = 0;" statement_identifier : (expression_statement "uVar1 = 0;" (assignment_expression "uVar1 = 0" identifier = number_literal) ;)) }) (else_clause "else {\n          **(undefined4 **)(iVar9 + 0x2f0) = *(undefined4 *)(iVar9 + 4);\n          do {\n            uVar1 = FUN_00150e48(puVar4,iVar9,puVar8);\n            if (uVar1 == 0) goto LAB_0015438c;\n            puVar4 = (undefined *)(**(code **)(puVar7 + 0x2551ec))(puVar4);\n          } while (puVar4 != (undefined *)0x0);\n        }" else (compound_statement "{\n          **(undefined4 **)(iVar9 + 0x2f0) = *(undefined4 *)(iVar9 + 4);\n          do {\n            uVar1 = FUN_00150e48(puVar4,iVar9,puVar8);\n            if (uVar1 == 0) goto LAB_0015438c;\n            puVar4 = (undefined *)(**(code **)(puVar7 + 0x2551ec))(puVar4);\n          } while (puVar4 != (undefined *)0x0);\n        }" { (expression_statement "**(undefined4 **)(iVar9 + 0x2f0) = *(undefined4 *)(iVar9 + 4);" (assignment_expression "**(undefined4 **)(iVar9 + 0x2f0) = *(undefined4 *)(iVar9 + 4)" (pointer_expression "**(undefined4 **)(iVar9 + 0x2f0)" * (pointer_expression "*(undefined4 **)(iVar9 + 0x2f0)" * (cast_expression "(undefined4 **)(iVar9 + 0x2f0)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar9 + 0x2f0)" ( (binary_expression "iVar9 + 0x2f0" identifier + number_literal) ))))) = (pointer_expression "*(undefined4 *)(iVar9 + 4)" * (cast_expression "(undefined4 *)(iVar9 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 4)" ( (binary_expression "iVar9 + 4" identifier + number_literal) ))))) ;) (do_statement "do {\n            uVar1 = FUN_00150e48(puVar4,iVar9,puVar8);\n            if (uVar1 == 0) goto LAB_0015438c;\n            puVar4 = (undefined *)(**(code **)(puVar7 + 0x2551ec))(puVar4);\n          } while (puVar4 != (undefined *)0x0);" do (compound_statement "{\n            uVar1 = FUN_00150e48(puVar4,iVar9,puVar8);\n            if (uVar1 == 0) goto LAB_0015438c;\n            puVar4 = (undefined *)(**(code **)(puVar7 + 0x2551ec))(puVar4);\n          }" { (expression_statement "uVar1 = FUN_00150e48(puVar4,iVar9,puVar8);" (assignment_expression "uVar1 = FUN_00150e48(puVar4,iVar9,puVar8)" identifier = (call_expression "FUN_00150e48(puVar4,iVar9,puVar8)" identifier (argument_list "(puVar4,iVar9,puVar8)" ( identifier , identifier , identifier )))) ;) (if_statement "if (uVar1 == 0) goto LAB_0015438c;" if (parenthesized_expression "(uVar1 == 0)" ( (binary_expression "uVar1 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0015438c;" goto statement_identifier ;)) (expression_statement "puVar4 = (undefined *)(**(code **)(puVar7 + 0x2551ec))(puVar4);" (assignment_expression "puVar4 = (undefined *)(**(code **)(puVar7 + 0x2551ec))(puVar4)" identifier = (cast_expression "(undefined *)(**(code **)(puVar7 + 0x2551ec))(puVar4)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar7 + 0x2551ec))(puVar4)" (parenthesized_expression "(**(code **)(puVar7 + 0x2551ec))" ( (pointer_expression "**(code **)(puVar7 + 0x2551ec)" * (pointer_expression "*(code **)(puVar7 + 0x2551ec)" * (cast_expression "(code **)(puVar7 + 0x2551ec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + 0x2551ec)" ( (binary_expression "puVar7 + 0x2551ec" identifier + number_literal) ))))) )) (argument_list "(puVar4)" ( identifier ))))) ;) }) while (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)) )) ;) }))) (expression_statement "FUN_001508cc(iVar9);" (call_expression "FUN_001508cc(iVar9)" identifier (argument_list "(iVar9)" ( identifier ))) ;) (return_statement "return uVar1;" return identifier ;) })) (goto_statement "goto LAB_001544c4;" goto statement_identifier ;) })) }))) (expression_statement "(**(code **)(puVar7 + 0x255384))\n            (*(int *)(puVar7 + 0x25465c) + 0x1cac,*(int *)(puVar7 + 0x254660) + 0x7d40,0xe31,\n             *(int *)(puVar7 + 0x254660) + 0x7f2c);" (call_expression "(**(code **)(puVar7 + 0x255384))\n            (*(int *)(puVar7 + 0x25465c) + 0x1cac,*(int *)(puVar7 + 0x254660) + 0x7d40,0xe31,\n             *(int *)(puVar7 + 0x254660) + 0x7f2c)" (parenthesized_expression "(**(code **)(puVar7 + 0x255384))" ( (pointer_expression "**(code **)(puVar7 + 0x255384)" * (pointer_expression "*(code **)(puVar7 + 0x255384)" * (cast_expression "(code **)(puVar7 + 0x255384)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + 0x255384)" ( (binary_expression "puVar7 + 0x255384" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar7 + 0x25465c) + 0x1cac,*(int *)(puVar7 + 0x254660) + 0x7d40,0xe31,\n             *(int *)(puVar7 + 0x254660) + 0x7f2c)" ( (binary_expression "*(int *)(puVar7 + 0x25465c) + 0x1cac" (pointer_expression "*(int *)(puVar7 + 0x25465c)" * (cast_expression "(int *)(puVar7 + 0x25465c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 0x25465c)" ( (binary_expression "puVar7 + 0x25465c" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar7 + 0x254660) + 0x7d40" (pointer_expression "*(int *)(puVar7 + 0x254660)" * (cast_expression "(int *)(puVar7 + 0x254660)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 0x254660)" ( (binary_expression "puVar7 + 0x254660" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar7 + 0x254660) + 0x7f2c" (pointer_expression "*(int *)(puVar7 + 0x254660)" * (cast_expression "(int *)(puVar7 + 0x254660)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 0x254660)" ( (binary_expression "puVar7 + 0x254660" identifier + number_literal) )))) + number_literal) ))) ;) (labeled_statement "LAB_00154508:\n  UNRECOVERED_JUMPTABLE = *(code **)(puVar7 + 0x255384);" statement_identifier : (expression_statement "UNRECOVERED_JUMPTABLE = *(code **)(puVar7 + 0x255384);" (assignment_expression "UNRECOVERED_JUMPTABLE = *(code **)(puVar7 + 0x255384)" identifier = (pointer_expression "*(code **)(puVar7 + 0x255384)" * (cast_expression "(code **)(puVar7 + 0x255384)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + 0x255384)" ( (binary_expression "puVar7 + 0x255384" identifier + number_literal) ))))) ;)) (expression_statement "iVar6 = *(int *)(puVar7 + 0x25465c) + 0x1e64;" (assignment_expression "iVar6 = *(int *)(puVar7 + 0x25465c) + 0x1e64" identifier = (binary_expression "*(int *)(puVar7 + 0x25465c) + 0x1e64" (pointer_expression "*(int *)(puVar7 + 0x25465c)" * (cast_expression "(int *)(puVar7 + 0x25465c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 0x25465c)" ( (binary_expression "puVar7 + 0x25465c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*UNRECOVERED_JUMPTABLE)\n            (iVar6,*(int *)(puVar7 + 0x254660) + 0x7d40,0xe2e,*(int *)(puVar7 + 0x254660) + 0x7f2c);" (call_expression "(*UNRECOVERED_JUMPTABLE)\n            (iVar6,*(int *)(puVar7 + 0x254660) + 0x7d40,0xe2e,*(int *)(puVar7 + 0x254660) + 0x7f2c)" (parenthesized_expression "(*UNRECOVERED_JUMPTABLE)" ( (pointer_expression "*UNRECOVERED_JUMPTABLE" * identifier) )) (argument_list "(iVar6,*(int *)(puVar7 + 0x254660) + 0x7d40,0xe2e,*(int *)(puVar7 + 0x254660) + 0x7f2c)" ( identifier , (binary_expression "*(int *)(puVar7 + 0x254660) + 0x7d40" (pointer_expression "*(int *)(puVar7 + 0x254660)" * (cast_expression "(int *)(puVar7 + 0x254660)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 0x254660)" ( (binary_expression "puVar7 + 0x254660" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar7 + 0x254660) + 0x7f2c" (pointer_expression "*(int *)(puVar7 + 0x254660)" * (cast_expression "(int *)(puVar7 + 0x254660)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 0x254660)" ( (binary_expression "puVar7 + 0x254660" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (iVar6 != 0) {\n    if (*(int *)(iVar6 + 100) == -0x54535255) {\n      iVar9 = *(int *)(iVar6 + 0x3c);\n      iVar10 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc);\n      if (iVar9 != 0) {\n        iVar10 = *(int *)(iVar6 + 0x38);\n        iVar13 = *(int *)(iVar6 + 0x40);\n        if (0 < iVar10) {\n          iVar11 = 0;\n          iVar12 = 0;\n          do {\n            if (*(int *)(iVar9 + iVar12) != 0) {\n              iVar9 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x2549f8))();\n              if (*(char *)(iVar9 + iVar13) != -0x55) {\n                iVar10 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                          (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e50,\n                           *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x10e,iVar10);\n                goto LAB_00154650;\n              }\n              puVar3 = (undefined4 *)(*(int *)(iVar6 + 0x3c) + iVar12);\n              uVar2 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254e68))(*puVar3);\n              iVar9 = *(int *)(iVar6 + 0x3c);\n              iVar10 = *(int *)(iVar6 + 0x38);\n              *puVar3 = uVar2;\n            }\n            iVar11 = iVar11 + 1;\n            iVar12 = iVar11 * 4;\n          } while (iVar11 < iVar10);\n        }\n        uVar1 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254a90))(iVar9);\n        *(uint *)(iVar6 + 0x3c) = uVar1;\n        return uVar1;\n      }\nLAB_00154650:\n      (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e80,\n                 *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x102,iVar10 + -0x7b1c);\n    }\n    (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7eb0,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x101,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c);\n  }" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (compound_statement "{\n    if (*(int *)(iVar6 + 100) == -0x54535255) {\n      iVar9 = *(int *)(iVar6 + 0x3c);\n      iVar10 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc);\n      if (iVar9 != 0) {\n        iVar10 = *(int *)(iVar6 + 0x38);\n        iVar13 = *(int *)(iVar6 + 0x40);\n        if (0 < iVar10) {\n          iVar11 = 0;\n          iVar12 = 0;\n          do {\n            if (*(int *)(iVar9 + iVar12) != 0) {\n              iVar9 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x2549f8))();\n              if (*(char *)(iVar9 + iVar13) != -0x55) {\n                iVar10 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                          (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e50,\n                           *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x10e,iVar10);\n                goto LAB_00154650;\n              }\n              puVar3 = (undefined4 *)(*(int *)(iVar6 + 0x3c) + iVar12);\n              uVar2 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254e68))(*puVar3);\n              iVar9 = *(int *)(iVar6 + 0x3c);\n              iVar10 = *(int *)(iVar6 + 0x38);\n              *puVar3 = uVar2;\n            }\n            iVar11 = iVar11 + 1;\n            iVar12 = iVar11 * 4;\n          } while (iVar11 < iVar10);\n        }\n        uVar1 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254a90))(iVar9);\n        *(uint *)(iVar6 + 0x3c) = uVar1;\n        return uVar1;\n      }\nLAB_00154650:\n      (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e80,\n                 *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x102,iVar10 + -0x7b1c);\n    }\n    (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7eb0,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x101,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c);\n  }" { (if_statement "if (*(int *)(iVar6 + 100) == -0x54535255) {\n      iVar9 = *(int *)(iVar6 + 0x3c);\n      iVar10 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc);\n      if (iVar9 != 0) {\n        iVar10 = *(int *)(iVar6 + 0x38);\n        iVar13 = *(int *)(iVar6 + 0x40);\n        if (0 < iVar10) {\n          iVar11 = 0;\n          iVar12 = 0;\n          do {\n            if (*(int *)(iVar9 + iVar12) != 0) {\n              iVar9 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x2549f8))();\n              if (*(char *)(iVar9 + iVar13) != -0x55) {\n                iVar10 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                          (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e50,\n                           *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x10e,iVar10);\n                goto LAB_00154650;\n              }\n              puVar3 = (undefined4 *)(*(int *)(iVar6 + 0x3c) + iVar12);\n              uVar2 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254e68))(*puVar3);\n              iVar9 = *(int *)(iVar6 + 0x3c);\n              iVar10 = *(int *)(iVar6 + 0x38);\n              *puVar3 = uVar2;\n            }\n            iVar11 = iVar11 + 1;\n            iVar12 = iVar11 * 4;\n          } while (iVar11 < iVar10);\n        }\n        uVar1 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254a90))(iVar9);\n        *(uint *)(iVar6 + 0x3c) = uVar1;\n        return uVar1;\n      }\nLAB_00154650:\n      (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e80,\n                 *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x102,iVar10 + -0x7b1c);\n    }" if (parenthesized_expression "(*(int *)(iVar6 + 100) == -0x54535255)" ( (binary_expression "*(int *)(iVar6 + 100) == -0x54535255" (pointer_expression "*(int *)(iVar6 + 100)" * (cast_expression "(int *)(iVar6 + 100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 100)" ( (binary_expression "iVar6 + 100" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      iVar9 = *(int *)(iVar6 + 0x3c);\n      iVar10 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc);\n      if (iVar9 != 0) {\n        iVar10 = *(int *)(iVar6 + 0x38);\n        iVar13 = *(int *)(iVar6 + 0x40);\n        if (0 < iVar10) {\n          iVar11 = 0;\n          iVar12 = 0;\n          do {\n            if (*(int *)(iVar9 + iVar12) != 0) {\n              iVar9 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x2549f8))();\n              if (*(char *)(iVar9 + iVar13) != -0x55) {\n                iVar10 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                          (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e50,\n                           *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x10e,iVar10);\n                goto LAB_00154650;\n              }\n              puVar3 = (undefined4 *)(*(int *)(iVar6 + 0x3c) + iVar12);\n              uVar2 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254e68))(*puVar3);\n              iVar9 = *(int *)(iVar6 + 0x3c);\n              iVar10 = *(int *)(iVar6 + 0x38);\n              *puVar3 = uVar2;\n            }\n            iVar11 = iVar11 + 1;\n            iVar12 = iVar11 * 4;\n          } while (iVar11 < iVar10);\n        }\n        uVar1 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254a90))(iVar9);\n        *(uint *)(iVar6 + 0x3c) = uVar1;\n        return uVar1;\n      }\nLAB_00154650:\n      (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e80,\n                 *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x102,iVar10 + -0x7b1c);\n    }" { (expression_statement "iVar9 = *(int *)(iVar6 + 0x3c);" (assignment_expression "iVar9 = *(int *)(iVar6 + 0x3c)" identifier = (pointer_expression "*(int *)(iVar6 + 0x3c)" * (cast_expression "(int *)(iVar6 + 0x3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x3c)" ( (binary_expression "iVar6 + 0x3c" identifier + number_literal) ))))) ;) (expression_statement "iVar10 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc);" (assignment_expression "iVar10 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc)" identifier = (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x2543bc)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x2543bc" identifier + number_literal) ))))) ;) (if_statement "if (iVar9 != 0) {\n        iVar10 = *(int *)(iVar6 + 0x38);\n        iVar13 = *(int *)(iVar6 + 0x40);\n        if (0 < iVar10) {\n          iVar11 = 0;\n          iVar12 = 0;\n          do {\n            if (*(int *)(iVar9 + iVar12) != 0) {\n              iVar9 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x2549f8))();\n              if (*(char *)(iVar9 + iVar13) != -0x55) {\n                iVar10 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                          (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e50,\n                           *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x10e,iVar10);\n                goto LAB_00154650;\n              }\n              puVar3 = (undefined4 *)(*(int *)(iVar6 + 0x3c) + iVar12);\n              uVar2 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254e68))(*puVar3);\n              iVar9 = *(int *)(iVar6 + 0x3c);\n              iVar10 = *(int *)(iVar6 + 0x38);\n              *puVar3 = uVar2;\n            }\n            iVar11 = iVar11 + 1;\n            iVar12 = iVar11 * 4;\n          } while (iVar11 < iVar10);\n        }\n        uVar1 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254a90))(iVar9);\n        *(uint *)(iVar6 + 0x3c) = uVar1;\n        return uVar1;\n      }" if (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) (compound_statement "{\n        iVar10 = *(int *)(iVar6 + 0x38);\n        iVar13 = *(int *)(iVar6 + 0x40);\n        if (0 < iVar10) {\n          iVar11 = 0;\n          iVar12 = 0;\n          do {\n            if (*(int *)(iVar9 + iVar12) != 0) {\n              iVar9 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x2549f8))();\n              if (*(char *)(iVar9 + iVar13) != -0x55) {\n                iVar10 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                          (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e50,\n                           *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x10e,iVar10);\n                goto LAB_00154650;\n              }\n              puVar3 = (undefined4 *)(*(int *)(iVar6 + 0x3c) + iVar12);\n              uVar2 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254e68))(*puVar3);\n              iVar9 = *(int *)(iVar6 + 0x3c);\n              iVar10 = *(int *)(iVar6 + 0x38);\n              *puVar3 = uVar2;\n            }\n            iVar11 = iVar11 + 1;\n            iVar12 = iVar11 * 4;\n          } while (iVar11 < iVar10);\n        }\n        uVar1 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254a90))(iVar9);\n        *(uint *)(iVar6 + 0x3c) = uVar1;\n        return uVar1;\n      }" { (expression_statement "iVar10 = *(int *)(iVar6 + 0x38);" (assignment_expression "iVar10 = *(int *)(iVar6 + 0x38)" identifier = (pointer_expression "*(int *)(iVar6 + 0x38)" * (cast_expression "(int *)(iVar6 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x38)" ( (binary_expression "iVar6 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "iVar13 = *(int *)(iVar6 + 0x40);" (assignment_expression "iVar13 = *(int *)(iVar6 + 0x40)" identifier = (pointer_expression "*(int *)(iVar6 + 0x40)" * (cast_expression "(int *)(iVar6 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x40)" ( (binary_expression "iVar6 + 0x40" identifier + number_literal) ))))) ;) (if_statement "if (0 < iVar10) {\n          iVar11 = 0;\n          iVar12 = 0;\n          do {\n            if (*(int *)(iVar9 + iVar12) != 0) {\n              iVar9 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x2549f8))();\n              if (*(char *)(iVar9 + iVar13) != -0x55) {\n                iVar10 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                          (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e50,\n                           *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x10e,iVar10);\n                goto LAB_00154650;\n              }\n              puVar3 = (undefined4 *)(*(int *)(iVar6 + 0x3c) + iVar12);\n              uVar2 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254e68))(*puVar3);\n              iVar9 = *(int *)(iVar6 + 0x3c);\n              iVar10 = *(int *)(iVar6 + 0x38);\n              *puVar3 = uVar2;\n            }\n            iVar11 = iVar11 + 1;\n            iVar12 = iVar11 * 4;\n          } while (iVar11 < iVar10);\n        }" if (parenthesized_expression "(0 < iVar10)" ( (binary_expression "0 < iVar10" number_literal < identifier) )) (compound_statement "{\n          iVar11 = 0;\n          iVar12 = 0;\n          do {\n            if (*(int *)(iVar9 + iVar12) != 0) {\n              iVar9 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x2549f8))();\n              if (*(char *)(iVar9 + iVar13) != -0x55) {\n                iVar10 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                          (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e50,\n                           *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x10e,iVar10);\n                goto LAB_00154650;\n              }\n              puVar3 = (undefined4 *)(*(int *)(iVar6 + 0x3c) + iVar12);\n              uVar2 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254e68))(*puVar3);\n              iVar9 = *(int *)(iVar6 + 0x3c);\n              iVar10 = *(int *)(iVar6 + 0x38);\n              *puVar3 = uVar2;\n            }\n            iVar11 = iVar11 + 1;\n            iVar12 = iVar11 * 4;\n          } while (iVar11 < iVar10);\n        }" { (expression_statement "iVar11 = 0;" (assignment_expression "iVar11 = 0" identifier = number_literal) ;) (expression_statement "iVar12 = 0;" (assignment_expression "iVar12 = 0" identifier = number_literal) ;) (do_statement "do {\n            if (*(int *)(iVar9 + iVar12) != 0) {\n              iVar9 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x2549f8))();\n              if (*(char *)(iVar9 + iVar13) != -0x55) {\n                iVar10 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                          (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e50,\n                           *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x10e,iVar10);\n                goto LAB_00154650;\n              }\n              puVar3 = (undefined4 *)(*(int *)(iVar6 + 0x3c) + iVar12);\n              uVar2 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254e68))(*puVar3);\n              iVar9 = *(int *)(iVar6 + 0x3c);\n              iVar10 = *(int *)(iVar6 + 0x38);\n              *puVar3 = uVar2;\n            }\n            iVar11 = iVar11 + 1;\n            iVar12 = iVar11 * 4;\n          } while (iVar11 < iVar10);" do (compound_statement "{\n            if (*(int *)(iVar9 + iVar12) != 0) {\n              iVar9 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x2549f8))();\n              if (*(char *)(iVar9 + iVar13) != -0x55) {\n                iVar10 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                          (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e50,\n                           *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x10e,iVar10);\n                goto LAB_00154650;\n              }\n              puVar3 = (undefined4 *)(*(int *)(iVar6 + 0x3c) + iVar12);\n              uVar2 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254e68))(*puVar3);\n              iVar9 = *(int *)(iVar6 + 0x3c);\n              iVar10 = *(int *)(iVar6 + 0x38);\n              *puVar3 = uVar2;\n            }\n            iVar11 = iVar11 + 1;\n            iVar12 = iVar11 * 4;\n          }" { (if_statement "if (*(int *)(iVar9 + iVar12) != 0) {\n              iVar9 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x2549f8))();\n              if (*(char *)(iVar9 + iVar13) != -0x55) {\n                iVar10 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                          (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e50,\n                           *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x10e,iVar10);\n                goto LAB_00154650;\n              }\n              puVar3 = (undefined4 *)(*(int *)(iVar6 + 0x3c) + iVar12);\n              uVar2 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254e68))(*puVar3);\n              iVar9 = *(int *)(iVar6 + 0x3c);\n              iVar10 = *(int *)(iVar6 + 0x38);\n              *puVar3 = uVar2;\n            }" if (parenthesized_expression "(*(int *)(iVar9 + iVar12) != 0)" ( (binary_expression "*(int *)(iVar9 + iVar12) != 0" (pointer_expression "*(int *)(iVar9 + iVar12)" * (cast_expression "(int *)(iVar9 + iVar12)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + iVar12)" ( (binary_expression "iVar9 + iVar12" identifier + identifier) )))) != number_literal) )) (compound_statement "{\n              iVar9 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x2549f8))();\n              if (*(char *)(iVar9 + iVar13) != -0x55) {\n                iVar10 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                          (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e50,\n                           *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x10e,iVar10);\n                goto LAB_00154650;\n              }\n              puVar3 = (undefined4 *)(*(int *)(iVar6 + 0x3c) + iVar12);\n              uVar2 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254e68))(*puVar3);\n              iVar9 = *(int *)(iVar6 + 0x3c);\n              iVar10 = *(int *)(iVar6 + 0x38);\n              *puVar3 = uVar2;\n            }" { (expression_statement "iVar9 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x2549f8))();" (assignment_expression "iVar9 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x2549f8))()" identifier = (call_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x2549f8))()" (parenthesized_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x2549f8))" ( (pointer_expression "**(code **)(UNRECOVERED_JUMPTABLE + 0x2549f8)" * (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x2549f8)" * (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x2549f8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x2549f8)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x2549f8" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if (*(char *)(iVar9 + iVar13) != -0x55) {\n                iVar10 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                          (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e50,\n                           *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x10e,iVar10);\n                goto LAB_00154650;\n              }" if (parenthesized_expression "(*(char *)(iVar9 + iVar13) != -0x55)" ( (binary_expression "*(char *)(iVar9 + iVar13) != -0x55" (pointer_expression "*(char *)(iVar9 + iVar13)" * (cast_expression "(char *)(iVar9 + iVar13)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + iVar13)" ( (binary_expression "iVar9 + iVar13" identifier + identifier) )))) != number_literal) )) (compound_statement "{\n                iVar10 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                          (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e50,\n                           *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x10e,iVar10);\n                goto LAB_00154650;\n              }" { (expression_statement "iVar10 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c;" (assignment_expression "iVar10 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c" identifier = (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x2543bc)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x2543bc" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                          (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e50,\n                           *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x10e,iVar10);" (call_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                          (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e50,\n                           *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x10e,iVar10)" (parenthesized_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))" ( (pointer_expression "**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8)" * (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8)" * (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x2550d8)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x2550d8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e50,\n                           *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x10e,iVar10)" ( (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e50" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x2543bc)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x2543bc" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x2543bc)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x2543bc" identifier + number_literal) )))) + number_literal) , number_literal , identifier ))) ;) (goto_statement "goto LAB_00154650;" goto statement_identifier ;) })) (expression_statement "puVar3 = (undefined4 *)(*(int *)(iVar6 + 0x3c) + iVar12);" (assignment_expression "puVar3 = (undefined4 *)(*(int *)(iVar6 + 0x3c) + iVar12)" identifier = (cast_expression "(undefined4 *)(*(int *)(iVar6 + 0x3c) + iVar12)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar6 + 0x3c) + iVar12)" ( (binary_expression "*(int *)(iVar6 + 0x3c) + iVar12" (pointer_expression "*(int *)(iVar6 + 0x3c)" * (cast_expression "(int *)(iVar6 + 0x3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x3c)" ( (binary_expression "iVar6 + 0x3c" identifier + number_literal) )))) + identifier) )))) ;) (expression_statement "uVar2 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254e68))(*puVar3);" (assignment_expression "uVar2 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254e68))(*puVar3)" identifier = (call_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x254e68))(*puVar3)" (parenthesized_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x254e68))" ( (pointer_expression "**(code **)(UNRECOVERED_JUMPTABLE + 0x254e68)" * (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x254e68)" * (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x254e68)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x254e68)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x254e68" identifier + number_literal) ))))) )) (argument_list "(*puVar3)" ( (pointer_expression "*puVar3" * identifier) )))) ;) (expression_statement "iVar9 = *(int *)(iVar6 + 0x3c);" (assignment_expression "iVar9 = *(int *)(iVar6 + 0x3c)" identifier = (pointer_expression "*(int *)(iVar6 + 0x3c)" * (cast_expression "(int *)(iVar6 + 0x3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x3c)" ( (binary_expression "iVar6 + 0x3c" identifier + number_literal) ))))) ;) (expression_statement "iVar10 = *(int *)(iVar6 + 0x38);" (assignment_expression "iVar10 = *(int *)(iVar6 + 0x38)" identifier = (pointer_expression "*(int *)(iVar6 + 0x38)" * (cast_expression "(int *)(iVar6 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x38)" ( (binary_expression "iVar6 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "*puVar3 = uVar2;" (assignment_expression "*puVar3 = uVar2" (pointer_expression "*puVar3" * identifier) = identifier) ;) })) (expression_statement "iVar11 = iVar11 + 1;" (assignment_expression "iVar11 = iVar11 + 1" identifier = (binary_expression "iVar11 + 1" identifier + number_literal)) ;) (expression_statement "iVar12 = iVar11 * 4;" (assignment_expression "iVar12 = iVar11 * 4" identifier = (binary_expression "iVar11 * 4" identifier * number_literal)) ;) }) while (parenthesized_expression "(iVar11 < iVar10)" ( (binary_expression "iVar11 < iVar10" identifier < identifier) )) ;) })) (expression_statement "uVar1 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254a90))(iVar9);" (assignment_expression "uVar1 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254a90))(iVar9)" identifier = (call_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x254a90))(iVar9)" (parenthesized_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x254a90))" ( (pointer_expression "**(code **)(UNRECOVERED_JUMPTABLE + 0x254a90)" * (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x254a90)" * (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x254a90)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x254a90)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x254a90" identifier + number_literal) ))))) )) (argument_list "(iVar9)" ( identifier )))) ;) (expression_statement "*(uint *)(iVar6 + 0x3c) = uVar1;" (assignment_expression "*(uint *)(iVar6 + 0x3c) = uVar1" (pointer_expression "*(uint *)(iVar6 + 0x3c)" * (cast_expression "(uint *)(iVar6 + 0x3c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x3c)" ( (binary_expression "iVar6 + 0x3c" identifier + number_literal) )))) = identifier) ;) (return_statement "return uVar1;" return identifier ;) })) (labeled_statement "LAB_00154650:\n      (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e80,\n                 *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x102,iVar10 + -0x7b1c);" statement_identifier : (expression_statement "(**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e80,\n                 *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x102,iVar10 + -0x7b1c);" (call_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e80,\n                 *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x102,iVar10 + -0x7b1c)" (parenthesized_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))" ( (pointer_expression "**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8)" * (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8)" * (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x2550d8)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x2550d8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e80,\n                 *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x102,iVar10 + -0x7b1c)" ( (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e80" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x2543bc)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x2543bc" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x2543bc)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x2543bc" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "iVar10 + -0x7b1c" identifier + number_literal) ))) ;)) })) (expression_statement "(**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7eb0,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x101,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c);" (call_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7eb0,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x101,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c)" (parenthesized_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))" ( (pointer_expression "**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8)" * (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8)" * (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x2550d8)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x2550d8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7eb0,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x101,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c)" ( (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7eb0" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x2543bc)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x2543bc" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x2543bc)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x2543bc" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x2543bc)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x2543bc" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "pcVar14 = *(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8);" (assignment_expression "pcVar14 = *(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8)" identifier = (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8)" * (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x2550d8)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x2550d8" identifier + number_literal) ))))) ;) (expression_statement "iVar6 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ed8;" (assignment_expression "iVar6 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ed8" identifier = (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ed8" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x2543bc)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x2543bc" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar14)(iVar6,*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x100,\n             *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c);" (call_expression "(*pcVar14)(iVar6,*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x100,\n             *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c)" (parenthesized_expression "(*pcVar14)" ( (pointer_expression "*pcVar14" * identifier) )) (argument_list "(iVar6,*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x100,\n             *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c)" ( identifier , (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x2543bc)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x2543bc" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x2543bc)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x2543bc" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (iVar6 == 0) {\n    (**(code **)(pcVar14 + 0x254f50))\n              (*(int *)(pcVar14 + 0x254234) + -0x7ed8,*(int *)(pcVar14 + 0x254234) + -0x7ef0,0xd7,\n               *(int *)(pcVar14 + 0x254234) + -0x7b04);\n  }\n  else if (*(int *)(iVar6 + 100) == -0x54535255) {\n    if (*(int *)(iVar6 + 0x3c) != 0) {\n      FUN_00154530();\n    }\n    if (*(int *)(iVar6 + 0x60) != 0) {\n      (**(code **)(pcVar14 + 0x255298))(iVar6 + 0x60);\n    }\n    UNRECOVERED_JUMPTABLE = *(code **)(pcVar14 + 0x254908);\n    *(undefined4 *)(iVar6 + 100) = 0x54535254;\n                    \n                    \n    uVar1 = (*UNRECOVERED_JUMPTABLE)(iVar6);\n    return uVar1;\n  }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n    (**(code **)(pcVar14 + 0x254f50))\n              (*(int *)(pcVar14 + 0x254234) + -0x7ed8,*(int *)(pcVar14 + 0x254234) + -0x7ef0,0xd7,\n               *(int *)(pcVar14 + 0x254234) + -0x7b04);\n  }" { (expression_statement "(**(code **)(pcVar14 + 0x254f50))\n              (*(int *)(pcVar14 + 0x254234) + -0x7ed8,*(int *)(pcVar14 + 0x254234) + -0x7ef0,0xd7,\n               *(int *)(pcVar14 + 0x254234) + -0x7b04);" (call_expression "(**(code **)(pcVar14 + 0x254f50))\n              (*(int *)(pcVar14 + 0x254234) + -0x7ed8,*(int *)(pcVar14 + 0x254234) + -0x7ef0,0xd7,\n               *(int *)(pcVar14 + 0x254234) + -0x7b04)" (parenthesized_expression "(**(code **)(pcVar14 + 0x254f50))" ( (pointer_expression "**(code **)(pcVar14 + 0x254f50)" * (pointer_expression "*(code **)(pcVar14 + 0x254f50)" * (cast_expression "(code **)(pcVar14 + 0x254f50)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar14 + 0x254f50)" ( (binary_expression "pcVar14 + 0x254f50" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar14 + 0x254234) + -0x7ed8,*(int *)(pcVar14 + 0x254234) + -0x7ef0,0xd7,\n               *(int *)(pcVar14 + 0x254234) + -0x7b04)" ( (binary_expression "*(int *)(pcVar14 + 0x254234) + -0x7ed8" (pointer_expression "*(int *)(pcVar14 + 0x254234)" * (cast_expression "(int *)(pcVar14 + 0x254234)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x254234)" ( (binary_expression "pcVar14 + 0x254234" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar14 + 0x254234) + -0x7ef0" (pointer_expression "*(int *)(pcVar14 + 0x254234)" * (cast_expression "(int *)(pcVar14 + 0x254234)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x254234)" ( (binary_expression "pcVar14 + 0x254234" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar14 + 0x254234) + -0x7b04" (pointer_expression "*(int *)(pcVar14 + 0x254234)" * (cast_expression "(int *)(pcVar14 + 0x254234)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x254234)" ( (binary_expression "pcVar14 + 0x254234" identifier + number_literal) )))) + number_literal) ))) ;) }) (else_clause "else if (*(int *)(iVar6 + 100) == -0x54535255) {\n    if (*(int *)(iVar6 + 0x3c) != 0) {\n      FUN_00154530();\n    }\n    if (*(int *)(iVar6 + 0x60) != 0) {\n      (**(code **)(pcVar14 + 0x255298))(iVar6 + 0x60);\n    }\n    UNRECOVERED_JUMPTABLE = *(code **)(pcVar14 + 0x254908);\n    *(undefined4 *)(iVar6 + 100) = 0x54535254;\n                    \n                    \n    uVar1 = (*UNRECOVERED_JUMPTABLE)(iVar6);\n    return uVar1;\n  }" else (if_statement "if (*(int *)(iVar6 + 100) == -0x54535255) {\n    if (*(int *)(iVar6 + 0x3c) != 0) {\n      FUN_00154530();\n    }\n    if (*(int *)(iVar6 + 0x60) != 0) {\n      (**(code **)(pcVar14 + 0x255298))(iVar6 + 0x60);\n    }\n    UNRECOVERED_JUMPTABLE = *(code **)(pcVar14 + 0x254908);\n    *(undefined4 *)(iVar6 + 100) = 0x54535254;\n                    \n                    \n    uVar1 = (*UNRECOVERED_JUMPTABLE)(iVar6);\n    return uVar1;\n  }" if (parenthesized_expression "(*(int *)(iVar6 + 100) == -0x54535255)" ( (binary_expression "*(int *)(iVar6 + 100) == -0x54535255" (pointer_expression "*(int *)(iVar6 + 100)" * (cast_expression "(int *)(iVar6 + 100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 100)" ( (binary_expression "iVar6 + 100" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    if (*(int *)(iVar6 + 0x3c) != 0) {\n      FUN_00154530();\n    }\n    if (*(int *)(iVar6 + 0x60) != 0) {\n      (**(code **)(pcVar14 + 0x255298))(iVar6 + 0x60);\n    }\n    UNRECOVERED_JUMPTABLE = *(code **)(pcVar14 + 0x254908);\n    *(undefined4 *)(iVar6 + 100) = 0x54535254;\n                    \n                    \n    uVar1 = (*UNRECOVERED_JUMPTABLE)(iVar6);\n    return uVar1;\n  }" { (if_statement "if (*(int *)(iVar6 + 0x3c) != 0) {\n      FUN_00154530();\n    }" if (parenthesized_expression "(*(int *)(iVar6 + 0x3c) != 0)" ( (binary_expression "*(int *)(iVar6 + 0x3c) != 0" (pointer_expression "*(int *)(iVar6 + 0x3c)" * (cast_expression "(int *)(iVar6 + 0x3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x3c)" ( (binary_expression "iVar6 + 0x3c" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      FUN_00154530();\n    }" { (expression_statement "FUN_00154530();" (call_expression "FUN_00154530()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (*(int *)(iVar6 + 0x60) != 0) {\n      (**(code **)(pcVar14 + 0x255298))(iVar6 + 0x60);\n    }" if (parenthesized_expression "(*(int *)(iVar6 + 0x60) != 0)" ( (binary_expression "*(int *)(iVar6 + 0x60) != 0" (pointer_expression "*(int *)(iVar6 + 0x60)" * (cast_expression "(int *)(iVar6 + 0x60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x60)" ( (binary_expression "iVar6 + 0x60" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      (**(code **)(pcVar14 + 0x255298))(iVar6 + 0x60);\n    }" { (expression_statement "(**(code **)(pcVar14 + 0x255298))(iVar6 + 0x60);" (call_expression "(**(code **)(pcVar14 + 0x255298))(iVar6 + 0x60)" (parenthesized_expression "(**(code **)(pcVar14 + 0x255298))" ( (pointer_expression "**(code **)(pcVar14 + 0x255298)" * (pointer_expression "*(code **)(pcVar14 + 0x255298)" * (cast_expression "(code **)(pcVar14 + 0x255298)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar14 + 0x255298)" ( (binary_expression "pcVar14 + 0x255298" identifier + number_literal) ))))) )) (argument_list "(iVar6 + 0x60)" ( (binary_expression "iVar6 + 0x60" identifier + number_literal) ))) ;) })) (expression_statement "UNRECOVERED_JUMPTABLE = *(code **)(pcVar14 + 0x254908);" (assignment_expression "UNRECOVERED_JUMPTABLE = *(code **)(pcVar14 + 0x254908)" identifier = (pointer_expression "*(code **)(pcVar14 + 0x254908)" * (cast_expression "(code **)(pcVar14 + 0x254908)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar14 + 0x254908)" ( (binary_expression "pcVar14 + 0x254908" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(iVar6 + 100) = 0x54535254;" (assignment_expression "*(undefined4 *)(iVar6 + 100) = 0x54535254" (pointer_expression "*(undefined4 *)(iVar6 + 100)" * (cast_expression "(undefined4 *)(iVar6 + 100)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 100)" ( (binary_expression "iVar6 + 100" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar1 = (*UNRECOVERED_JUMPTABLE)(iVar6);" (assignment_expression "uVar1 = (*UNRECOVERED_JUMPTABLE)(iVar6)" identifier = (call_expression "(*UNRECOVERED_JUMPTABLE)(iVar6)" (parenthesized_expression "(*UNRECOVERED_JUMPTABLE)" ( (pointer_expression "*UNRECOVERED_JUMPTABLE" * identifier) )) (argument_list "(iVar6)" ( identifier )))) ;) (return_statement "return uVar1;" return identifier ;) })))) (expression_statement "iVar9 = 0xd8;" (assignment_expression "iVar9 = 0xd8" identifier = number_literal) ;) (expression_statement "UNRECOVERED_JUMPTABLE = *(code **)(pcVar14 + 0x254f50);" (assignment_expression "UNRECOVERED_JUMPTABLE = *(code **)(pcVar14 + 0x254f50)" identifier = (pointer_expression "*(code **)(pcVar14 + 0x254f50)" * (cast_expression "(code **)(pcVar14 + 0x254f50)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar14 + 0x254f50)" ( (binary_expression "pcVar14 + 0x254f50" identifier + number_literal) ))))) ;) (expression_statement "piVar5 = (int *)(*(int *)(pcVar14 + 0x254234) + -0x7ef0);" (assignment_expression "piVar5 = (int *)(*(int *)(pcVar14 + 0x254234) + -0x7ef0)" identifier = (cast_expression "(int *)(*(int *)(pcVar14 + 0x254234) + -0x7ef0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar14 + 0x254234) + -0x7ef0)" ( (binary_expression "*(int *)(pcVar14 + 0x254234) + -0x7ef0" (pointer_expression "*(int *)(pcVar14 + 0x254234)" * (cast_expression "(int *)(pcVar14 + 0x254234)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x254234)" ( (binary_expression "pcVar14 + 0x254234" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar6 = *(int *)(pcVar14 + 0x254234) + -0x7eb0;" (assignment_expression "iVar6 = *(int *)(pcVar14 + 0x254234) + -0x7eb0" identifier = (binary_expression "*(int *)(pcVar14 + 0x254234) + -0x7eb0" (pointer_expression "*(int *)(pcVar14 + 0x254234)" * (cast_expression "(int *)(pcVar14 + 0x254234)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x254234)" ( (binary_expression "pcVar14 + 0x254234" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*UNRECOVERED_JUMPTABLE)();" (call_expression "(*UNRECOVERED_JUMPTABLE)()" (parenthesized_expression "(*UNRECOVERED_JUMPTABLE)" ( (pointer_expression "*UNRECOVERED_JUMPTABLE" * identifier) )) (argument_list "()" ( ))) ;) (if_statement "if (piVar5 != (int *)0x0) {\n    if (piVar5[0x19] == -0x54535255) {\n      iVar10 = 1;\n      if (iVar9 - 2U < 0x18) {\n        iVar6 = *(int *)(iVar6 + 0x18);\n        iVar10 = *(int *)((iVar9 - 2U) * 4 + *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7dc0);\n        iVar13 = piVar5[0xc];\n        iVar9 = *piVar5;\n      }\n      else {\n        iVar13 = piVar5[0xc];\n        iVar6 = *(int *)(iVar6 + 0x18);\n        iVar9 = *piVar5;\n      }\n      if (iVar13 != 0) {\n        return iVar6 * iVar9 * iVar10 + 7U >> 3;\n      }\n      return (iVar9 + 7U >> 3) * iVar6 * iVar10;\n    }\n    (**(code **)(UNRECOVERED_JUMPTABLE + 0x254e7c))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7eb0,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7ef0,0x139,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7b30,UNRECOVERED_JUMPTABLE + 0x25c124\n              );\n  }" if (parenthesized_expression "(piVar5 != (int *)0x0)" ( (binary_expression "piVar5 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (piVar5[0x19] == -0x54535255) {\n      iVar10 = 1;\n      if (iVar9 - 2U < 0x18) {\n        iVar6 = *(int *)(iVar6 + 0x18);\n        iVar10 = *(int *)((iVar9 - 2U) * 4 + *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7dc0);\n        iVar13 = piVar5[0xc];\n        iVar9 = *piVar5;\n      }\n      else {\n        iVar13 = piVar5[0xc];\n        iVar6 = *(int *)(iVar6 + 0x18);\n        iVar9 = *piVar5;\n      }\n      if (iVar13 != 0) {\n        return iVar6 * iVar9 * iVar10 + 7U >> 3;\n      }\n      return (iVar9 + 7U >> 3) * iVar6 * iVar10;\n    }\n    (**(code **)(UNRECOVERED_JUMPTABLE + 0x254e7c))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7eb0,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7ef0,0x139,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7b30,UNRECOVERED_JUMPTABLE + 0x25c124\n              );\n  }" { (if_statement "if (piVar5[0x19] == -0x54535255) {\n      iVar10 = 1;\n      if (iVar9 - 2U < 0x18) {\n        iVar6 = *(int *)(iVar6 + 0x18);\n        iVar10 = *(int *)((iVar9 - 2U) * 4 + *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7dc0);\n        iVar13 = piVar5[0xc];\n        iVar9 = *piVar5;\n      }\n      else {\n        iVar13 = piVar5[0xc];\n        iVar6 = *(int *)(iVar6 + 0x18);\n        iVar9 = *piVar5;\n      }\n      if (iVar13 != 0) {\n        return iVar6 * iVar9 * iVar10 + 7U >> 3;\n      }\n      return (iVar9 + 7U >> 3) * iVar6 * iVar10;\n    }" if (parenthesized_expression "(piVar5[0x19] == -0x54535255)" ( (binary_expression "piVar5[0x19] == -0x54535255" (subscript_expression "piVar5[0x19]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n      iVar10 = 1;\n      if (iVar9 - 2U < 0x18) {\n        iVar6 = *(int *)(iVar6 + 0x18);\n        iVar10 = *(int *)((iVar9 - 2U) * 4 + *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7dc0);\n        iVar13 = piVar5[0xc];\n        iVar9 = *piVar5;\n      }\n      else {\n        iVar13 = piVar5[0xc];\n        iVar6 = *(int *)(iVar6 + 0x18);\n        iVar9 = *piVar5;\n      }\n      if (iVar13 != 0) {\n        return iVar6 * iVar9 * iVar10 + 7U >> 3;\n      }\n      return (iVar9 + 7U >> 3) * iVar6 * iVar10;\n    }" { (expression_statement "iVar10 = 1;" (assignment_expression "iVar10 = 1" identifier = number_literal) ;) (if_statement "if (iVar9 - 2U < 0x18) {\n        iVar6 = *(int *)(iVar6 + 0x18);\n        iVar10 = *(int *)((iVar9 - 2U) * 4 + *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7dc0);\n        iVar13 = piVar5[0xc];\n        iVar9 = *piVar5;\n      }\n      else {\n        iVar13 = piVar5[0xc];\n        iVar6 = *(int *)(iVar6 + 0x18);\n        iVar9 = *piVar5;\n      }" if (parenthesized_expression "(iVar9 - 2U < 0x18)" ( (binary_expression "iVar9 - 2U < 0x18" (binary_expression "iVar9 - 2U" identifier - number_literal) < number_literal) )) (compound_statement "{\n        iVar6 = *(int *)(iVar6 + 0x18);\n        iVar10 = *(int *)((iVar9 - 2U) * 4 + *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7dc0);\n        iVar13 = piVar5[0xc];\n        iVar9 = *piVar5;\n      }" { (expression_statement "iVar6 = *(int *)(iVar6 + 0x18);" (assignment_expression "iVar6 = *(int *)(iVar6 + 0x18)" identifier = (pointer_expression "*(int *)(iVar6 + 0x18)" * (cast_expression "(int *)(iVar6 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x18)" ( (binary_expression "iVar6 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "iVar10 = *(int *)((iVar9 - 2U) * 4 + *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7dc0);" (assignment_expression "iVar10 = *(int *)((iVar9 - 2U) * 4 + *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7dc0)" identifier = (pointer_expression "*(int *)((iVar9 - 2U) * 4 + *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7dc0)" * (cast_expression "(int *)((iVar9 - 2U) * 4 + *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7dc0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((iVar9 - 2U) * 4 + *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7dc0)" ( (binary_expression "(iVar9 - 2U) * 4 + *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7dc0" (binary_expression "(iVar9 - 2U) * 4 + *(int *)(UNRECOVERED_JUMPTABLE + 0x254160)" (binary_expression "(iVar9 - 2U) * 4" (parenthesized_expression "(iVar9 - 2U)" ( (binary_expression "iVar9 - 2U" identifier - number_literal) )) * number_literal) + (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x254160)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x254160)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x254160)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x254160" identifier + number_literal) ))))) + number_literal) ))))) ;) (expression_statement "iVar13 = piVar5[0xc];" (assignment_expression "iVar13 = piVar5[0xc]" identifier = (subscript_expression "piVar5[0xc]" identifier [ number_literal ])) ;) (expression_statement "iVar9 = *piVar5;" (assignment_expression "iVar9 = *piVar5" identifier = (pointer_expression "*piVar5" * identifier)) ;) }) (else_clause "else {\n        iVar13 = piVar5[0xc];\n        iVar6 = *(int *)(iVar6 + 0x18);\n        iVar9 = *piVar5;\n      }" else (compound_statement "{\n        iVar13 = piVar5[0xc];\n        iVar6 = *(int *)(iVar6 + 0x18);\n        iVar9 = *piVar5;\n      }" { (expression_statement "iVar13 = piVar5[0xc];" (assignment_expression "iVar13 = piVar5[0xc]" identifier = (subscript_expression "piVar5[0xc]" identifier [ number_literal ])) ;) (expression_statement "iVar6 = *(int *)(iVar6 + 0x18);" (assignment_expression "iVar6 = *(int *)(iVar6 + 0x18)" identifier = (pointer_expression "*(int *)(iVar6 + 0x18)" * (cast_expression "(int *)(iVar6 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x18)" ( (binary_expression "iVar6 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "iVar9 = *piVar5;" (assignment_expression "iVar9 = *piVar5" identifier = (pointer_expression "*piVar5" * identifier)) ;) }))) (if_statement "if (iVar13 != 0) {\n        return iVar6 * iVar9 * iVar10 + 7U >> 3;\n      }" if (parenthesized_expression "(iVar13 != 0)" ( (binary_expression "iVar13 != 0" identifier != number_literal) )) (compound_statement "{\n        return iVar6 * iVar9 * iVar10 + 7U >> 3;\n      }" { (return_statement "return iVar6 * iVar9 * iVar10 + 7U >> 3;" return (binary_expression "iVar6 * iVar9 * iVar10 + 7U >> 3" (binary_expression "iVar6 * iVar9 * iVar10 + 7U" (binary_expression "iVar6 * iVar9 * iVar10" (binary_expression "iVar6 * iVar9" identifier * identifier) * identifier) + number_literal) >> number_literal) ;) })) (return_statement "return (iVar9 + 7U >> 3) * iVar6 * iVar10;" return (binary_expression "(iVar9 + 7U >> 3) * iVar6 * iVar10" (binary_expression "(iVar9 + 7U >> 3) * iVar6" (parenthesized_expression "(iVar9 + 7U >> 3)" ( (binary_expression "iVar9 + 7U >> 3" (binary_expression "iVar9 + 7U" identifier + number_literal) >> number_literal) )) * identifier) * identifier) ;) })) (expression_statement "(**(code **)(UNRECOVERED_JUMPTABLE + 0x254e7c))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7eb0,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7ef0,0x139,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7b30,UNRECOVERED_JUMPTABLE + 0x25c124\n              );" (call_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x254e7c))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7eb0,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7ef0,0x139,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7b30,UNRECOVERED_JUMPTABLE + 0x25c124\n              )" (parenthesized_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x254e7c))" ( (pointer_expression "**(code **)(UNRECOVERED_JUMPTABLE + 0x254e7c)" * (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x254e7c)" * (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x254e7c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x254e7c)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x254e7c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7eb0,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7ef0,0x139,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7b30,UNRECOVERED_JUMPTABLE + 0x25c124\n              )" ( (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7eb0" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x254160)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x254160)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x254160)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x254160" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7ef0" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x254160)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x254160)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x254160)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x254160" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7b30" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x254160)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x254160)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x254160)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x254160" identifier + number_literal) )))) + number_literal) , (binary_expression "UNRECOVERED_JUMPTABLE + 0x25c124" identifier + number_literal) ))) ;) })) (expression_statement "pcVar14 = *(code **)(UNRECOVERED_JUMPTABLE + 0x254e7c);" (assignment_expression "pcVar14 = *(code **)(UNRECOVERED_JUMPTABLE + 0x254e7c)" identifier = (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x254e7c)" * (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x254e7c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x254e7c)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x254e7c" identifier + number_literal) ))))) ;) (expression_statement "iVar6 = *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7ed8;" (assignment_expression "iVar6 = *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7ed8" identifier = (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7ed8" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x254160)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x254160)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x254160)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x254160" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar14)(iVar6,*(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7ef0,0x138,\n             *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7b30);" (call_expression "(*pcVar14)(iVar6,*(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7ef0,0x138,\n             *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7b30)" (parenthesized_expression "(*pcVar14)" ( (pointer_expression "*pcVar14" * identifier) )) (argument_list "(iVar6,*(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7ef0,0x138,\n             *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7b30)" ( identifier , (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7ef0" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x254160)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x254160)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x254160)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x254160" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7b30" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x254160)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x254160)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x254160)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x254160" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (iVar6 == 0) {\n    uVar1 = (**(code **)(pcVar14 + 0x254d8c))\n                      (*(int *)(pcVar14 + 0x254070) + -0x7ed8,*(int *)(pcVar14 + 0x254070) + -0x7ef0\n                       ,0x168,*(int *)(pcVar14 + 0x254070) + -0x7b44,pcVar14 + 0x25c034);\n    return uVar1;\n  }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n    uVar1 = (**(code **)(pcVar14 + 0x254d8c))\n                      (*(int *)(pcVar14 + 0x254070) + -0x7ed8,*(int *)(pcVar14 + 0x254070) + -0x7ef0\n                       ,0x168,*(int *)(pcVar14 + 0x254070) + -0x7b44,pcVar14 + 0x25c034);\n    return uVar1;\n  }" { (expression_statement "uVar1 = (**(code **)(pcVar14 + 0x254d8c))\n                      (*(int *)(pcVar14 + 0x254070) + -0x7ed8,*(int *)(pcVar14 + 0x254070) + -0x7ef0\n                       ,0x168,*(int *)(pcVar14 + 0x254070) + -0x7b44,pcVar14 + 0x25c034);" (assignment_expression "uVar1 = (**(code **)(pcVar14 + 0x254d8c))\n                      (*(int *)(pcVar14 + 0x254070) + -0x7ed8,*(int *)(pcVar14 + 0x254070) + -0x7ef0\n                       ,0x168,*(int *)(pcVar14 + 0x254070) + -0x7b44,pcVar14 + 0x25c034)" identifier = (call_expression "(**(code **)(pcVar14 + 0x254d8c))\n                      (*(int *)(pcVar14 + 0x254070) + -0x7ed8,*(int *)(pcVar14 + 0x254070) + -0x7ef0\n                       ,0x168,*(int *)(pcVar14 + 0x254070) + -0x7b44,pcVar14 + 0x25c034)" (parenthesized_expression "(**(code **)(pcVar14 + 0x254d8c))" ( (pointer_expression "**(code **)(pcVar14 + 0x254d8c)" * (pointer_expression "*(code **)(pcVar14 + 0x254d8c)" * (cast_expression "(code **)(pcVar14 + 0x254d8c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar14 + 0x254d8c)" ( (binary_expression "pcVar14 + 0x254d8c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar14 + 0x254070) + -0x7ed8,*(int *)(pcVar14 + 0x254070) + -0x7ef0\n                       ,0x168,*(int *)(pcVar14 + 0x254070) + -0x7b44,pcVar14 + 0x25c034)" ( (binary_expression "*(int *)(pcVar14 + 0x254070) + -0x7ed8" (pointer_expression "*(int *)(pcVar14 + 0x254070)" * (cast_expression "(int *)(pcVar14 + 0x254070)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x254070)" ( (binary_expression "pcVar14 + 0x254070" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar14 + 0x254070) + -0x7ef0" (pointer_expression "*(int *)(pcVar14 + 0x254070)" * (cast_expression "(int *)(pcVar14 + 0x254070)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x254070)" ( (binary_expression "pcVar14 + 0x254070" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar14 + 0x254070) + -0x7b44" (pointer_expression "*(int *)(pcVar14 + 0x254070)" * (cast_expression "(int *)(pcVar14 + 0x254070)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x254070)" ( (binary_expression "pcVar14 + 0x254070" identifier + number_literal) )))) + number_literal) , (binary_expression "pcVar14 + 0x25c034" identifier + number_literal) )))) ;) (return_statement "return uVar1;" return identifier ;) })) (if_statement "if (*(int *)(iVar6 + 100) != -0x54535255) {\n    uVar1 = (**(code **)(pcVar14 + 0x254d8c))\n                      (*(int *)(pcVar14 + 0x254070) + -0x7eb0,*(int *)(pcVar14 + 0x254070) + -0x7ef0\n                       ,0x169,*(int *)(pcVar14 + 0x254070) + -0x7b44);\n    return uVar1;\n  }" if (parenthesized_expression "(*(int *)(iVar6 + 100) != -0x54535255)" ( (binary_expression "*(int *)(iVar6 + 100) != -0x54535255" (pointer_expression "*(int *)(iVar6 + 100)" * (cast_expression "(int *)(iVar6 + 100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 100)" ( (binary_expression "iVar6 + 100" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    uVar1 = (**(code **)(pcVar14 + 0x254d8c))\n                      (*(int *)(pcVar14 + 0x254070) + -0x7eb0,*(int *)(pcVar14 + 0x254070) + -0x7ef0\n                       ,0x169,*(int *)(pcVar14 + 0x254070) + -0x7b44);\n    return uVar1;\n  }" { (expression_statement "uVar1 = (**(code **)(pcVar14 + 0x254d8c))\n                      (*(int *)(pcVar14 + 0x254070) + -0x7eb0,*(int *)(pcVar14 + 0x254070) + -0x7ef0\n                       ,0x169,*(int *)(pcVar14 + 0x254070) + -0x7b44);" (assignment_expression "uVar1 = (**(code **)(pcVar14 + 0x254d8c))\n                      (*(int *)(pcVar14 + 0x254070) + -0x7eb0,*(int *)(pcVar14 + 0x254070) + -0x7ef0\n                       ,0x169,*(int *)(pcVar14 + 0x254070) + -0x7b44)" identifier = (call_expression "(**(code **)(pcVar14 + 0x254d8c))\n                      (*(int *)(pcVar14 + 0x254070) + -0x7eb0,*(int *)(pcVar14 + 0x254070) + -0x7ef0\n                       ,0x169,*(int *)(pcVar14 + 0x254070) + -0x7b44)" (parenthesized_expression "(**(code **)(pcVar14 + 0x254d8c))" ( (pointer_expression "**(code **)(pcVar14 + 0x254d8c)" * (pointer_expression "*(code **)(pcVar14 + 0x254d8c)" * (cast_expression "(code **)(pcVar14 + 0x254d8c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar14 + 0x254d8c)" ( (binary_expression "pcVar14 + 0x254d8c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar14 + 0x254070) + -0x7eb0,*(int *)(pcVar14 + 0x254070) + -0x7ef0\n                       ,0x169,*(int *)(pcVar14 + 0x254070) + -0x7b44)" ( (binary_expression "*(int *)(pcVar14 + 0x254070) + -0x7eb0" (pointer_expression "*(int *)(pcVar14 + 0x254070)" * (cast_expression "(int *)(pcVar14 + 0x254070)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x254070)" ( (binary_expression "pcVar14 + 0x254070" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar14 + 0x254070) + -0x7ef0" (pointer_expression "*(int *)(pcVar14 + 0x254070)" * (cast_expression "(int *)(pcVar14 + 0x254070)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x254070)" ( (binary_expression "pcVar14 + 0x254070" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar14 + 0x254070) + -0x7b44" (pointer_expression "*(int *)(pcVar14 + 0x254070)" * (cast_expression "(int *)(pcVar14 + 0x254070)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x254070)" ( (binary_expression "pcVar14 + 0x254070" identifier + number_literal) )))) + number_literal) )))) ;) (return_statement "return uVar1;" return identifier ;) })) (return_statement "return *(uint *)(iVar6 + 0x44);" return (pointer_expression "*(uint *)(iVar6 + 0x44)" * (cast_expression "(uint *)(iVar6 + 0x44)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x44)" ( (binary_expression "iVar6 + 0x44" identifier + number_literal) )))) ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE 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 IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (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) ))) ;)) (labeled_statement statement_identifier : (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 , IDENT ))) ;) (labeled_statement statement_identifier : (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 , IDENT ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_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 , (binary_expression IDENT + LIT) ))) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_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 = 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 = (call_expression IDENT (argument_list ( IDENT , LIT , (pointer_expression * IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , LIT , LIT , (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) ))) ;) (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT )))) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (return_statement return IDENT ;) })) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;) })) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (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) ))) ;)) }) (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 , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression IDENT + LIT) ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression 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 , IDENT , IDENT )))) ;) (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT , (pointer_expression * 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 , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression IDENT + LIT) ))) ;) (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_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 ( IDENT ))))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) ;) }))) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (return_statement return IDENT ;) })) (goto_statement goto statement_identifier ;) })) }))) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (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 (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + 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 ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , IDENT ))) ;) (goto_statement goto statement_identifier ;) })) (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) )))) + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT < IDENT) )) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (return_statement return 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) ))) ;)) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (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 (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression 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 * (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 * IDENT) )) (argument_list ( IDENT )))) ;) (return_statement return IDENT ;) })))) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (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 = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT - LIT) )) * LIT) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) }) (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 *)) ) (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 { (return_statement return (binary_expression (binary_expression (binary_expression (binary_expression IDENT * IDENT) * IDENT) + LIT) >> LIT) ;) })) (return_statement return (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) >> 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 ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression IDENT + LIT) ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_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) , (binary_expression IDENT + LIT) )))) ;) (return_statement return IDENT ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (return_statement return IDENT ;) })) (return_statement return (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) })))
(function_definition "uint RemapImage(undefined4 *param_1,int param_2,int param_3,int param_4)\n\n{\n  uint uVar1;\n  undefined4 uVar2;\n  undefined4 *puVar3;\n  undefined *puVar4;\n  int *piVar5;\n  int iVar6;\n  undefined *puVar7;\n  undefined *puVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  int iVar12;\n  int iVar13;\n  code *UNRECOVERED_JUMPTABLE;\n  code *pcVar14;\n  \n  if (param_2 == 0) {\nLAB_001541dc:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0xdd0,PTR_s_t_to_left_003a88e4 + 0x7d40,0xde9,\n               PTR_s_t_to_left_003a88e4 + 0x7f44);\nLAB_00154200:\n    puVar7 = PTR_s_t_to_left_003a88e4 + 0x7f44;\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + 0x7ec4,PTR_s_t_to_left_003a88e4 + 0x7d40,0xded,puVar7);\nLAB_00154224:\n    puVar7 = puVar7 + 0x7f44;\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x294c,PTR_s_t_to_left_003a88e4 + 0x7d40,0xdf0,puVar7);\nLAB_00154244:\n    iVar6 = 0xdef;\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x1cac,PTR_s_t_to_left_003a88e4 + 0x7d40,0xdef,puVar7 + 0x7f44);\n  }\n  else {\n    if (*(int *)(param_2 + 0x336c) != -0x54535255) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                 PTR_s_t_to_left_003a88e4 + 0x7d40,0xdea,PTR_s_t_to_left_003a88e4 + 0x7f44);\n      goto LAB_001541dc;\n    }\n    if (*(int *)(param_2 + 0x3350) != 0) {\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38,0xdec,\n                 PTR_s_t_to_left_003a88e4 + -0x62ac,param_2 + 0x340);\n    }\n    if (param_3 == 0) goto LAB_00154200;\n    iVar6 = 0xdee;\n    if (*(int *)(param_3 + 0x336c) == -0x54535255) {\n      puVar7 = PTR_s_t_to_left_003a88e4;\n      if (param_4 != 0) {\n        if (*(int *)(param_4 + 0x1c) == -0x54535255) {\n          iVar6 = FUN_001517a0(param_1,8,*param_1);\n          if (iVar6 == 0) {\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38,\n                       0xdf5,400,PTR_LAB_003a88e0 + 0x16f8,PTR_LAB_003a88e0 + 0x3e28,param_2 + 0x340\n                      );\n            return 0;\n          }\n          uVar1 = FUN_0014cab8(iVar6,param_3,param_4);\n          if (uVar1 != 0) {\n            **(undefined4 **)(iVar6 + 0x2f0) = *(undefined4 *)(iVar6 + 4);\n            uVar1 = FUN_00150e48(param_2,iVar6,param_4);\n          }\n          FUN_001508cc(iVar6);\n          return uVar1;\n        }\n        goto LAB_00154224;\n      }\n      goto LAB_00154244;\n    }\n  }\n  puVar8 = PTR_s_t_to_left_003a88e4 + 0x7f44;\n  puVar4 = PTR_s_t_to_left_003a88e4 + 0x7d40;\n  puVar3 = (undefined4 *)(PTR_s_t_to_left_003a88e4 + 0x7ee4);\n  puVar7 = PTR___assert_fail_003a9608;\n  (*(code *)PTR___assert_fail_003a9608)();\n  if (puVar4 == (undefined *)0x0) {\n    iVar9 = *(int *)(puVar7 + 0x254660) + 0x7f2c;\n    (**(code **)(puVar7 + 0x255384))\n              (*(int *)(puVar7 + 0x25465c) + 0x1e48,*(int *)(puVar7 + 0x254660) + 0x7d40,0xe2d,iVar9\n              );\nLAB_001544c4:\n    (**(code **)(puVar7 + 0x255384))\n              (*(int *)(puVar7 + 0x25465c) + 0x294c,*(int *)(puVar7 + 0x254660) + 0x7d40,0xe32,\n               iVar9 + 0x7f2c);\n  }\n  else {\n    if (*(int *)(puVar4 + 0x336c) != -0x54535255) goto LAB_00154508;\n    if (*(int *)(puVar4 + 0x3350) != 0) {\n      (**(code **)(puVar7 + 0x254f5c))\n                (0x8000,*(int *)(puVar7 + 0x254660) + 0x7d40,*(int *)(puVar7 + 0x254660) + 0x7f20,\n                 0xe30,*(int *)(puVar7 + 0x254660) + -0x62ac,puVar4 + 0x340);\n    }\n    if (puVar8 != (undefined *)0x0) {\n      iVar9 = *(int *)(puVar7 + 0x254660);\n      if (*(int *)(puVar8 + 0x1c) == -0x54535255) {\n        if (iVar6 == 0) {\n                    \n                    \n          uVar1 = (**(code **)(puVar7 + 0x254bec))(puVar3,puVar4,puVar8);\n          return uVar1;\n        }\n        iVar9 = FUN_001517a0(puVar3,8,*puVar3);\n        if (iVar9 == 0) {\n          (**(code **)(puVar7 + 0x254c9c))\n                    (puVar8,*(int *)(puVar7 + 0x254660) + 0x7d40,\n                     *(int *)(puVar7 + 0x254660) + 0x7f20,0xe43,400,\n                     *(int *)(puVar7 + 0x25465c) + 0x16f8,*(int *)(puVar7 + 0x25465c) + 0x3e28,\n                     puVar4 + 0x340);\n          return 0;\n        }\n        iVar6 = FUN_0014cab8(iVar9,iVar6,puVar8);\n        if (iVar6 == 0) {\nLAB_0015438c:\n          uVar1 = 0;\n        }\n        else {\n          **(undefined4 **)(iVar9 + 0x2f0) = *(undefined4 *)(iVar9 + 4);\n          do {\n            uVar1 = FUN_00150e48(puVar4,iVar9,puVar8);\n            if (uVar1 == 0) goto LAB_0015438c;\n            puVar4 = (undefined *)(**(code **)(puVar7 + 0x2551ec))(puVar4);\n          } while (puVar4 != (undefined *)0x0);\n        }\n        FUN_001508cc(iVar9);\n        return uVar1;\n      }\n      goto LAB_001544c4;\n    }\n  }\n  (**(code **)(puVar7 + 0x255384))\n            (*(int *)(puVar7 + 0x25465c) + 0x1cac,*(int *)(puVar7 + 0x254660) + 0x7d40,0xe31,\n             *(int *)(puVar7 + 0x254660) + 0x7f2c);\nLAB_00154508:\n  UNRECOVERED_JUMPTABLE = *(code **)(puVar7 + 0x255384);\n  iVar6 = *(int *)(puVar7 + 0x25465c) + 0x1e64;\n  (*UNRECOVERED_JUMPTABLE)\n            (iVar6,*(int *)(puVar7 + 0x254660) + 0x7d40,0xe2e,*(int *)(puVar7 + 0x254660) + 0x7f2c);\n  if (iVar6 != 0) {\n    if (*(int *)(iVar6 + 100) == -0x54535255) {\n      iVar9 = *(int *)(iVar6 + 0x3c);\n      iVar10 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc);\n      if (iVar9 != 0) {\n        iVar10 = *(int *)(iVar6 + 0x38);\n        iVar13 = *(int *)(iVar6 + 0x40);\n        if (0 < iVar10) {\n          iVar11 = 0;\n          iVar12 = 0;\n          do {\n            if (*(int *)(iVar9 + iVar12) != 0) {\n              iVar9 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x2549f8))();\n              if (*(char *)(iVar9 + iVar13) != -0x55) {\n                iVar10 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                          (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e50,\n                           *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x10e,iVar10);\n                goto LAB_00154650;\n              }\n              puVar3 = (undefined4 *)(*(int *)(iVar6 + 0x3c) + iVar12);\n              uVar2 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254e68))(*puVar3);\n              iVar9 = *(int *)(iVar6 + 0x3c);\n              iVar10 = *(int *)(iVar6 + 0x38);\n              *puVar3 = uVar2;\n            }\n            iVar11 = iVar11 + 1;\n            iVar12 = iVar11 * 4;\n          } while (iVar11 < iVar10);\n        }\n        uVar1 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254a90))(iVar9);\n        *(uint *)(iVar6 + 0x3c) = uVar1;\n        return uVar1;\n      }\nLAB_00154650:\n      (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e80,\n                 *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x102,iVar10 + -0x7b1c);\n    }\n    (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7eb0,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x101,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c);\n  }\n  pcVar14 = *(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8);\n  iVar6 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ed8;\n  (*pcVar14)(iVar6,*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x100,\n             *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c);\n  if (iVar6 == 0) {\n    (**(code **)(pcVar14 + 0x254f50))\n              (*(int *)(pcVar14 + 0x254234) + -0x7ed8,*(int *)(pcVar14 + 0x254234) + -0x7ef0,0xd7,\n               *(int *)(pcVar14 + 0x254234) + -0x7b04);\n  }\n  else if (*(int *)(iVar6 + 100) == -0x54535255) {\n    if (*(int *)(iVar6 + 0x3c) != 0) {\n      FUN_00154530();\n    }\n    if (*(int *)(iVar6 + 0x60) != 0) {\n      (**(code **)(pcVar14 + 0x255298))(iVar6 + 0x60);\n    }\n    UNRECOVERED_JUMPTABLE = *(code **)(pcVar14 + 0x254908);\n    *(undefined4 *)(iVar6 + 100) = 0x54535254;\n                    \n                    \n    uVar1 = (*UNRECOVERED_JUMPTABLE)(iVar6);\n    return uVar1;\n  }\n  iVar9 = 0xd8;\n  UNRECOVERED_JUMPTABLE = *(code **)(pcVar14 + 0x254f50);\n  piVar5 = (int *)(*(int *)(pcVar14 + 0x254234) + -0x7ef0);\n  iVar6 = *(int *)(pcVar14 + 0x254234) + -0x7eb0;\n  (*UNRECOVERED_JUMPTABLE)();\n  if (piVar5 != (int *)0x0) {\n    if (piVar5[0x19] == -0x54535255) {\n      iVar10 = 1;\n      if (iVar9 - 2U < 0x18) {\n        iVar6 = *(int *)(iVar6 + 0x18);\n        iVar10 = *(int *)((iVar9 - 2U) * 4 + *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7dc0);\n        iVar13 = piVar5[0xc];\n        iVar9 = *piVar5;\n      }\n      else {\n        iVar13 = piVar5[0xc];\n        iVar6 = *(int *)(iVar6 + 0x18);\n        iVar9 = *piVar5;\n      }\n      if (iVar13 != 0) {\n        return iVar6 * iVar9 * iVar10 + 7U >> 3;\n      }\n      return (iVar9 + 7U >> 3) * iVar6 * iVar10;\n    }\n    (**(code **)(UNRECOVERED_JUMPTABLE + 0x254e7c))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7eb0,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7ef0,0x139,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7b30,UNRECOVERED_JUMPTABLE + 0x25c124\n              );\n  }\n  pcVar14 = *(code **)(UNRECOVERED_JUMPTABLE + 0x254e7c);\n  iVar6 = *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7ed8;\n  (*pcVar14)(iVar6,*(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7ef0,0x138,\n             *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7b30);\n  if (iVar6 == 0) {\n    uVar1 = (**(code **)(pcVar14 + 0x254d8c))\n                      (*(int *)(pcVar14 + 0x254070) + -0x7ed8,*(int *)(pcVar14 + 0x254070) + -0x7ef0\n                       ,0x168,*(int *)(pcVar14 + 0x254070) + -0x7b44,pcVar14 + 0x25c034);\n    return uVar1;\n  }\n  if (*(int *)(iVar6 + 100) != -0x54535255) {\n    uVar1 = (**(code **)(pcVar14 + 0x254d8c))\n                      (*(int *)(pcVar14 + 0x254070) + -0x7eb0,*(int *)(pcVar14 + 0x254070) + -0x7ef0\n                       ,0x169,*(int *)(pcVar14 + 0x254070) + -0x7b44);\n    return uVar1;\n  }\n  return *(uint *)(iVar6 + 0x44);\n}" (type_identifier "uint") (function_declarator "RemapImage(undefined4 *param_1,int param_2,int param_3,int param_4)" (identifier "RemapImage") (parameter_list "(undefined4 *param_1,int param_2,int param_3,int param_4)" (( "(") (parameter_declaration "undefined4 *param_1" (type_identifier "undefined4") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "int param_2" (primitive_type "int") (identifier "param_2")) (, ",") (parameter_declaration "int param_3" (primitive_type "int") (identifier "param_3")) (, ",") (parameter_declaration "int param_4" (primitive_type "int") (identifier "param_4")) () ")"))) (compound_statement "{\n  uint uVar1;\n  undefined4 uVar2;\n  undefined4 *puVar3;\n  undefined *puVar4;\n  int *piVar5;\n  int iVar6;\n  undefined *puVar7;\n  undefined *puVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  int iVar12;\n  int iVar13;\n  code *UNRECOVERED_JUMPTABLE;\n  code *pcVar14;\n  \n  if (param_2 == 0) {\nLAB_001541dc:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0xdd0,PTR_s_t_to_left_003a88e4 + 0x7d40,0xde9,\n               PTR_s_t_to_left_003a88e4 + 0x7f44);\nLAB_00154200:\n    puVar7 = PTR_s_t_to_left_003a88e4 + 0x7f44;\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + 0x7ec4,PTR_s_t_to_left_003a88e4 + 0x7d40,0xded,puVar7);\nLAB_00154224:\n    puVar7 = puVar7 + 0x7f44;\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x294c,PTR_s_t_to_left_003a88e4 + 0x7d40,0xdf0,puVar7);\nLAB_00154244:\n    iVar6 = 0xdef;\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x1cac,PTR_s_t_to_left_003a88e4 + 0x7d40,0xdef,puVar7 + 0x7f44);\n  }\n  else {\n    if (*(int *)(param_2 + 0x336c) != -0x54535255) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                 PTR_s_t_to_left_003a88e4 + 0x7d40,0xdea,PTR_s_t_to_left_003a88e4 + 0x7f44);\n      goto LAB_001541dc;\n    }\n    if (*(int *)(param_2 + 0x3350) != 0) {\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38,0xdec,\n                 PTR_s_t_to_left_003a88e4 + -0x62ac,param_2 + 0x340);\n    }\n    if (param_3 == 0) goto LAB_00154200;\n    iVar6 = 0xdee;\n    if (*(int *)(param_3 + 0x336c) == -0x54535255) {\n      puVar7 = PTR_s_t_to_left_003a88e4;\n      if (param_4 != 0) {\n        if (*(int *)(param_4 + 0x1c) == -0x54535255) {\n          iVar6 = FUN_001517a0(param_1,8,*param_1);\n          if (iVar6 == 0) {\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38,\n                       0xdf5,400,PTR_LAB_003a88e0 + 0x16f8,PTR_LAB_003a88e0 + 0x3e28,param_2 + 0x340\n                      );\n            return 0;\n          }\n          uVar1 = FUN_0014cab8(iVar6,param_3,param_4);\n          if (uVar1 != 0) {\n            **(undefined4 **)(iVar6 + 0x2f0) = *(undefined4 *)(iVar6 + 4);\n            uVar1 = FUN_00150e48(param_2,iVar6,param_4);\n          }\n          FUN_001508cc(iVar6);\n          return uVar1;\n        }\n        goto LAB_00154224;\n      }\n      goto LAB_00154244;\n    }\n  }\n  puVar8 = PTR_s_t_to_left_003a88e4 + 0x7f44;\n  puVar4 = PTR_s_t_to_left_003a88e4 + 0x7d40;\n  puVar3 = (undefined4 *)(PTR_s_t_to_left_003a88e4 + 0x7ee4);\n  puVar7 = PTR___assert_fail_003a9608;\n  (*(code *)PTR___assert_fail_003a9608)();\n  if (puVar4 == (undefined *)0x0) {\n    iVar9 = *(int *)(puVar7 + 0x254660) + 0x7f2c;\n    (**(code **)(puVar7 + 0x255384))\n              (*(int *)(puVar7 + 0x25465c) + 0x1e48,*(int *)(puVar7 + 0x254660) + 0x7d40,0xe2d,iVar9\n              );\nLAB_001544c4:\n    (**(code **)(puVar7 + 0x255384))\n              (*(int *)(puVar7 + 0x25465c) + 0x294c,*(int *)(puVar7 + 0x254660) + 0x7d40,0xe32,\n               iVar9 + 0x7f2c);\n  }\n  else {\n    if (*(int *)(puVar4 + 0x336c) != -0x54535255) goto LAB_00154508;\n    if (*(int *)(puVar4 + 0x3350) != 0) {\n      (**(code **)(puVar7 + 0x254f5c))\n                (0x8000,*(int *)(puVar7 + 0x254660) + 0x7d40,*(int *)(puVar7 + 0x254660) + 0x7f20,\n                 0xe30,*(int *)(puVar7 + 0x254660) + -0x62ac,puVar4 + 0x340);\n    }\n    if (puVar8 != (undefined *)0x0) {\n      iVar9 = *(int *)(puVar7 + 0x254660);\n      if (*(int *)(puVar8 + 0x1c) == -0x54535255) {\n        if (iVar6 == 0) {\n                    \n                    \n          uVar1 = (**(code **)(puVar7 + 0x254bec))(puVar3,puVar4,puVar8);\n          return uVar1;\n        }\n        iVar9 = FUN_001517a0(puVar3,8,*puVar3);\n        if (iVar9 == 0) {\n          (**(code **)(puVar7 + 0x254c9c))\n                    (puVar8,*(int *)(puVar7 + 0x254660) + 0x7d40,\n                     *(int *)(puVar7 + 0x254660) + 0x7f20,0xe43,400,\n                     *(int *)(puVar7 + 0x25465c) + 0x16f8,*(int *)(puVar7 + 0x25465c) + 0x3e28,\n                     puVar4 + 0x340);\n          return 0;\n        }\n        iVar6 = FUN_0014cab8(iVar9,iVar6,puVar8);\n        if (iVar6 == 0) {\nLAB_0015438c:\n          uVar1 = 0;\n        }\n        else {\n          **(undefined4 **)(iVar9 + 0x2f0) = *(undefined4 *)(iVar9 + 4);\n          do {\n            uVar1 = FUN_00150e48(puVar4,iVar9,puVar8);\n            if (uVar1 == 0) goto LAB_0015438c;\n            puVar4 = (undefined *)(**(code **)(puVar7 + 0x2551ec))(puVar4);\n          } while (puVar4 != (undefined *)0x0);\n        }\n        FUN_001508cc(iVar9);\n        return uVar1;\n      }\n      goto LAB_001544c4;\n    }\n  }\n  (**(code **)(puVar7 + 0x255384))\n            (*(int *)(puVar7 + 0x25465c) + 0x1cac,*(int *)(puVar7 + 0x254660) + 0x7d40,0xe31,\n             *(int *)(puVar7 + 0x254660) + 0x7f2c);\nLAB_00154508:\n  UNRECOVERED_JUMPTABLE = *(code **)(puVar7 + 0x255384);\n  iVar6 = *(int *)(puVar7 + 0x25465c) + 0x1e64;\n  (*UNRECOVERED_JUMPTABLE)\n            (iVar6,*(int *)(puVar7 + 0x254660) + 0x7d40,0xe2e,*(int *)(puVar7 + 0x254660) + 0x7f2c);\n  if (iVar6 != 0) {\n    if (*(int *)(iVar6 + 100) == -0x54535255) {\n      iVar9 = *(int *)(iVar6 + 0x3c);\n      iVar10 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc);\n      if (iVar9 != 0) {\n        iVar10 = *(int *)(iVar6 + 0x38);\n        iVar13 = *(int *)(iVar6 + 0x40);\n        if (0 < iVar10) {\n          iVar11 = 0;\n          iVar12 = 0;\n          do {\n            if (*(int *)(iVar9 + iVar12) != 0) {\n              iVar9 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x2549f8))();\n              if (*(char *)(iVar9 + iVar13) != -0x55) {\n                iVar10 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                          (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e50,\n                           *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x10e,iVar10);\n                goto LAB_00154650;\n              }\n              puVar3 = (undefined4 *)(*(int *)(iVar6 + 0x3c) + iVar12);\n              uVar2 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254e68))(*puVar3);\n              iVar9 = *(int *)(iVar6 + 0x3c);\n              iVar10 = *(int *)(iVar6 + 0x38);\n              *puVar3 = uVar2;\n            }\n            iVar11 = iVar11 + 1;\n            iVar12 = iVar11 * 4;\n          } while (iVar11 < iVar10);\n        }\n        uVar1 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254a90))(iVar9);\n        *(uint *)(iVar6 + 0x3c) = uVar1;\n        return uVar1;\n      }\nLAB_00154650:\n      (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e80,\n                 *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x102,iVar10 + -0x7b1c);\n    }\n    (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7eb0,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x101,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c);\n  }\n  pcVar14 = *(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8);\n  iVar6 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ed8;\n  (*pcVar14)(iVar6,*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x100,\n             *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c);\n  if (iVar6 == 0) {\n    (**(code **)(pcVar14 + 0x254f50))\n              (*(int *)(pcVar14 + 0x254234) + -0x7ed8,*(int *)(pcVar14 + 0x254234) + -0x7ef0,0xd7,\n               *(int *)(pcVar14 + 0x254234) + -0x7b04);\n  }\n  else if (*(int *)(iVar6 + 100) == -0x54535255) {\n    if (*(int *)(iVar6 + 0x3c) != 0) {\n      FUN_00154530();\n    }\n    if (*(int *)(iVar6 + 0x60) != 0) {\n      (**(code **)(pcVar14 + 0x255298))(iVar6 + 0x60);\n    }\n    UNRECOVERED_JUMPTABLE = *(code **)(pcVar14 + 0x254908);\n    *(undefined4 *)(iVar6 + 100) = 0x54535254;\n                    \n                    \n    uVar1 = (*UNRECOVERED_JUMPTABLE)(iVar6);\n    return uVar1;\n  }\n  iVar9 = 0xd8;\n  UNRECOVERED_JUMPTABLE = *(code **)(pcVar14 + 0x254f50);\n  piVar5 = (int *)(*(int *)(pcVar14 + 0x254234) + -0x7ef0);\n  iVar6 = *(int *)(pcVar14 + 0x254234) + -0x7eb0;\n  (*UNRECOVERED_JUMPTABLE)();\n  if (piVar5 != (int *)0x0) {\n    if (piVar5[0x19] == -0x54535255) {\n      iVar10 = 1;\n      if (iVar9 - 2U < 0x18) {\n        iVar6 = *(int *)(iVar6 + 0x18);\n        iVar10 = *(int *)((iVar9 - 2U) * 4 + *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7dc0);\n        iVar13 = piVar5[0xc];\n        iVar9 = *piVar5;\n      }\n      else {\n        iVar13 = piVar5[0xc];\n        iVar6 = *(int *)(iVar6 + 0x18);\n        iVar9 = *piVar5;\n      }\n      if (iVar13 != 0) {\n        return iVar6 * iVar9 * iVar10 + 7U >> 3;\n      }\n      return (iVar9 + 7U >> 3) * iVar6 * iVar10;\n    }\n    (**(code **)(UNRECOVERED_JUMPTABLE + 0x254e7c))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7eb0,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7ef0,0x139,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7b30,UNRECOVERED_JUMPTABLE + 0x25c124\n              );\n  }\n  pcVar14 = *(code **)(UNRECOVERED_JUMPTABLE + 0x254e7c);\n  iVar6 = *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7ed8;\n  (*pcVar14)(iVar6,*(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7ef0,0x138,\n             *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7b30);\n  if (iVar6 == 0) {\n    uVar1 = (**(code **)(pcVar14 + 0x254d8c))\n                      (*(int *)(pcVar14 + 0x254070) + -0x7ed8,*(int *)(pcVar14 + 0x254070) + -0x7ef0\n                       ,0x168,*(int *)(pcVar14 + 0x254070) + -0x7b44,pcVar14 + 0x25c034);\n    return uVar1;\n  }\n  if (*(int *)(iVar6 + 100) != -0x54535255) {\n    uVar1 = (**(code **)(pcVar14 + 0x254d8c))\n                      (*(int *)(pcVar14 + 0x254070) + -0x7eb0,*(int *)(pcVar14 + 0x254070) + -0x7ef0\n                       ,0x169,*(int *)(pcVar14 + 0x254070) + -0x7b44);\n    return uVar1;\n  }\n  return *(uint *)(iVar6 + 0x44);\n}" ({ "{") (declaration "uint uVar1;" (type_identifier "uint") (identifier "uVar1") (; ";")) (declaration "undefined4 uVar2;" (type_identifier "undefined4") (identifier "uVar2") (; ";")) (declaration "undefined4 *puVar3;" (type_identifier "undefined4") (pointer_declarator "*puVar3" (* "*") (identifier "puVar3")) (; ";")) (declaration "undefined *puVar4;" (type_identifier "undefined") (pointer_declarator "*puVar4" (* "*") (identifier "puVar4")) (; ";")) (declaration "int *piVar5;" (primitive_type "int") (pointer_declarator "*piVar5" (* "*") (identifier "piVar5")) (; ";")) (declaration "int iVar6;" (primitive_type "int") (identifier "iVar6") (; ";")) (declaration "undefined *puVar7;" (type_identifier "undefined") (pointer_declarator "*puVar7" (* "*") (identifier "puVar7")) (; ";")) (declaration "undefined *puVar8;" (type_identifier "undefined") (pointer_declarator "*puVar8" (* "*") (identifier "puVar8")) (; ";")) (declaration "int iVar9;" (primitive_type "int") (identifier "iVar9") (; ";")) (declaration "int iVar10;" (primitive_type "int") (identifier "iVar10") (; ";")) (declaration "int iVar11;" (primitive_type "int") (identifier "iVar11") (; ";")) (declaration "int iVar12;" (primitive_type "int") (identifier "iVar12") (; ";")) (declaration "int iVar13;" (primitive_type "int") (identifier "iVar13") (; ";")) (declaration "code *UNRECOVERED_JUMPTABLE;" (type_identifier "code") (pointer_declarator "*UNRECOVERED_JUMPTABLE" (* "*") (identifier "UNRECOVERED_JUMPTABLE")) (; ";")) (declaration "code *pcVar14;" (type_identifier "code") (pointer_declarator "*pcVar14" (* "*") (identifier "pcVar14")) (; ";")) (if_statement "if (param_2 == 0) {\nLAB_001541dc:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0xdd0,PTR_s_t_to_left_003a88e4 + 0x7d40,0xde9,\n               PTR_s_t_to_left_003a88e4 + 0x7f44);\nLAB_00154200:\n    puVar7 = PTR_s_t_to_left_003a88e4 + 0x7f44;\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + 0x7ec4,PTR_s_t_to_left_003a88e4 + 0x7d40,0xded,puVar7);\nLAB_00154224:\n    puVar7 = puVar7 + 0x7f44;\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x294c,PTR_s_t_to_left_003a88e4 + 0x7d40,0xdf0,puVar7);\nLAB_00154244:\n    iVar6 = 0xdef;\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x1cac,PTR_s_t_to_left_003a88e4 + 0x7d40,0xdef,puVar7 + 0x7f44);\n  }\n  else {\n    if (*(int *)(param_2 + 0x336c) != -0x54535255) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                 PTR_s_t_to_left_003a88e4 + 0x7d40,0xdea,PTR_s_t_to_left_003a88e4 + 0x7f44);\n      goto LAB_001541dc;\n    }\n    if (*(int *)(param_2 + 0x3350) != 0) {\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38,0xdec,\n                 PTR_s_t_to_left_003a88e4 + -0x62ac,param_2 + 0x340);\n    }\n    if (param_3 == 0) goto LAB_00154200;\n    iVar6 = 0xdee;\n    if (*(int *)(param_3 + 0x336c) == -0x54535255) {\n      puVar7 = PTR_s_t_to_left_003a88e4;\n      if (param_4 != 0) {\n        if (*(int *)(param_4 + 0x1c) == -0x54535255) {\n          iVar6 = FUN_001517a0(param_1,8,*param_1);\n          if (iVar6 == 0) {\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38,\n                       0xdf5,400,PTR_LAB_003a88e0 + 0x16f8,PTR_LAB_003a88e0 + 0x3e28,param_2 + 0x340\n                      );\n            return 0;\n          }\n          uVar1 = FUN_0014cab8(iVar6,param_3,param_4);\n          if (uVar1 != 0) {\n            **(undefined4 **)(iVar6 + 0x2f0) = *(undefined4 *)(iVar6 + 4);\n            uVar1 = FUN_00150e48(param_2,iVar6,param_4);\n          }\n          FUN_001508cc(iVar6);\n          return uVar1;\n        }\n        goto LAB_00154224;\n      }\n      goto LAB_00154244;\n    }\n  }" (if "if") (parenthesized_expression "(param_2 == 0)" (( "(") (binary_expression "param_2 == 0" (identifier "param_2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_001541dc:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0xdd0,PTR_s_t_to_left_003a88e4 + 0x7d40,0xde9,\n               PTR_s_t_to_left_003a88e4 + 0x7f44);\nLAB_00154200:\n    puVar7 = PTR_s_t_to_left_003a88e4 + 0x7f44;\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + 0x7ec4,PTR_s_t_to_left_003a88e4 + 0x7d40,0xded,puVar7);\nLAB_00154224:\n    puVar7 = puVar7 + 0x7f44;\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x294c,PTR_s_t_to_left_003a88e4 + 0x7d40,0xdf0,puVar7);\nLAB_00154244:\n    iVar6 = 0xdef;\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x1cac,PTR_s_t_to_left_003a88e4 + 0x7d40,0xdef,puVar7 + 0x7f44);\n  }" ({ "{") (labeled_statement "LAB_001541dc:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0xdd0,PTR_s_t_to_left_003a88e4 + 0x7d40,0xde9,\n               PTR_s_t_to_left_003a88e4 + 0x7f44);" (statement_identifier "LAB_001541dc") (: ":") (expression_statement "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0xdd0,PTR_s_t_to_left_003a88e4 + 0x7d40,0xde9,\n               PTR_s_t_to_left_003a88e4 + 0x7f44);" (call_expression "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0xdd0,PTR_s_t_to_left_003a88e4 + 0x7d40,0xde9,\n               PTR_s_t_to_left_003a88e4 + 0x7f44)" (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_s_t_to_left_003a88e4 + 0x7d40,0xde9,\n               PTR_s_t_to_left_003a88e4 + 0x7f44)" (( "(") (binary_expression "PTR_LAB_003a88e0 + 0xdd0" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0xdd0")) (, ",") (binary_expression "PTR_s_t_to_left_003a88e4 + 0x7d40" (identifier "PTR_s_t_to_left_003a88e4") (+ "+") (number_literal "0x7d40")) (, ",") (number_literal "0xde9") (, ",") (binary_expression "PTR_s_t_to_left_003a88e4 + 0x7f44" (identifier "PTR_s_t_to_left_003a88e4") (+ "+") (number_literal "0x7f44")) () ")"))) (; ";"))) (labeled_statement "LAB_00154200:\n    puVar7 = PTR_s_t_to_left_003a88e4 + 0x7f44;" (statement_identifier "LAB_00154200") (: ":") (expression_statement "puVar7 = PTR_s_t_to_left_003a88e4 + 0x7f44;" (assignment_expression "puVar7 = PTR_s_t_to_left_003a88e4 + 0x7f44" (identifier "puVar7") (= "=") (binary_expression "PTR_s_t_to_left_003a88e4 + 0x7f44" (identifier "PTR_s_t_to_left_003a88e4") (+ "+") (number_literal "0x7f44"))) (; ";"))) (expression_statement "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + 0x7ec4,PTR_s_t_to_left_003a88e4 + 0x7d40,0xded,puVar7);" (call_expression "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + 0x7ec4,PTR_s_t_to_left_003a88e4 + 0x7d40,0xded,puVar7)" (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_t_to_left_003a88e4 + 0x7ec4,PTR_s_t_to_left_003a88e4 + 0x7d40,0xded,puVar7)" (( "(") (binary_expression "PTR_s_t_to_left_003a88e4 + 0x7ec4" (identifier "PTR_s_t_to_left_003a88e4") (+ "+") (number_literal "0x7ec4")) (, ",") (binary_expression "PTR_s_t_to_left_003a88e4 + 0x7d40" (identifier "PTR_s_t_to_left_003a88e4") (+ "+") (number_literal "0x7d40")) (, ",") (number_literal "0xded") (, ",") (identifier "puVar7") () ")"))) (; ";")) (labeled_statement "LAB_00154224:\n    puVar7 = puVar7 + 0x7f44;" (statement_identifier "LAB_00154224") (: ":") (expression_statement "puVar7 = puVar7 + 0x7f44;" (assignment_expression "puVar7 = puVar7 + 0x7f44" (identifier "puVar7") (= "=") (binary_expression "puVar7 + 0x7f44" (identifier "puVar7") (+ "+") (number_literal "0x7f44"))) (; ";"))) (expression_statement "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x294c,PTR_s_t_to_left_003a88e4 + 0x7d40,0xdf0,puVar7);" (call_expression "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x294c,PTR_s_t_to_left_003a88e4 + 0x7d40,0xdf0,puVar7)" (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 + 0x294c,PTR_s_t_to_left_003a88e4 + 0x7d40,0xdf0,puVar7)" (( "(") (binary_expression "PTR_LAB_003a88e0 + 0x294c" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0x294c")) (, ",") (binary_expression "PTR_s_t_to_left_003a88e4 + 0x7d40" (identifier "PTR_s_t_to_left_003a88e4") (+ "+") (number_literal "0x7d40")) (, ",") (number_literal "0xdf0") (, ",") (identifier "puVar7") () ")"))) (; ";")) (labeled_statement "LAB_00154244:\n    iVar6 = 0xdef;" (statement_identifier "LAB_00154244") (: ":") (expression_statement "iVar6 = 0xdef;" (assignment_expression "iVar6 = 0xdef" (identifier "iVar6") (= "=") (number_literal "0xdef")) (; ";"))) (expression_statement "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x1cac,PTR_s_t_to_left_003a88e4 + 0x7d40,0xdef,puVar7 + 0x7f44);" (call_expression "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x1cac,PTR_s_t_to_left_003a88e4 + 0x7d40,0xdef,puVar7 + 0x7f44)" (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 + 0x1cac,PTR_s_t_to_left_003a88e4 + 0x7d40,0xdef,puVar7 + 0x7f44)" (( "(") (binary_expression "PTR_LAB_003a88e0 + 0x1cac" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0x1cac")) (, ",") (binary_expression "PTR_s_t_to_left_003a88e4 + 0x7d40" (identifier "PTR_s_t_to_left_003a88e4") (+ "+") (number_literal "0x7d40")) (, ",") (number_literal "0xdef") (, ",") (binary_expression "puVar7 + 0x7f44" (identifier "puVar7") (+ "+") (number_literal "0x7f44")) () ")"))) (; ";")) (} "}")) (else_clause "else {\n    if (*(int *)(param_2 + 0x336c) != -0x54535255) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                 PTR_s_t_to_left_003a88e4 + 0x7d40,0xdea,PTR_s_t_to_left_003a88e4 + 0x7f44);\n      goto LAB_001541dc;\n    }\n    if (*(int *)(param_2 + 0x3350) != 0) {\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38,0xdec,\n                 PTR_s_t_to_left_003a88e4 + -0x62ac,param_2 + 0x340);\n    }\n    if (param_3 == 0) goto LAB_00154200;\n    iVar6 = 0xdee;\n    if (*(int *)(param_3 + 0x336c) == -0x54535255) {\n      puVar7 = PTR_s_t_to_left_003a88e4;\n      if (param_4 != 0) {\n        if (*(int *)(param_4 + 0x1c) == -0x54535255) {\n          iVar6 = FUN_001517a0(param_1,8,*param_1);\n          if (iVar6 == 0) {\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38,\n                       0xdf5,400,PTR_LAB_003a88e0 + 0x16f8,PTR_LAB_003a88e0 + 0x3e28,param_2 + 0x340\n                      );\n            return 0;\n          }\n          uVar1 = FUN_0014cab8(iVar6,param_3,param_4);\n          if (uVar1 != 0) {\n            **(undefined4 **)(iVar6 + 0x2f0) = *(undefined4 *)(iVar6 + 4);\n            uVar1 = FUN_00150e48(param_2,iVar6,param_4);\n          }\n          FUN_001508cc(iVar6);\n          return uVar1;\n        }\n        goto LAB_00154224;\n      }\n      goto LAB_00154244;\n    }\n  }" (else "else") (compound_statement "{\n    if (*(int *)(param_2 + 0x336c) != -0x54535255) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                 PTR_s_t_to_left_003a88e4 + 0x7d40,0xdea,PTR_s_t_to_left_003a88e4 + 0x7f44);\n      goto LAB_001541dc;\n    }\n    if (*(int *)(param_2 + 0x3350) != 0) {\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38,0xdec,\n                 PTR_s_t_to_left_003a88e4 + -0x62ac,param_2 + 0x340);\n    }\n    if (param_3 == 0) goto LAB_00154200;\n    iVar6 = 0xdee;\n    if (*(int *)(param_3 + 0x336c) == -0x54535255) {\n      puVar7 = PTR_s_t_to_left_003a88e4;\n      if (param_4 != 0) {\n        if (*(int *)(param_4 + 0x1c) == -0x54535255) {\n          iVar6 = FUN_001517a0(param_1,8,*param_1);\n          if (iVar6 == 0) {\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38,\n                       0xdf5,400,PTR_LAB_003a88e0 + 0x16f8,PTR_LAB_003a88e0 + 0x3e28,param_2 + 0x340\n                      );\n            return 0;\n          }\n          uVar1 = FUN_0014cab8(iVar6,param_3,param_4);\n          if (uVar1 != 0) {\n            **(undefined4 **)(iVar6 + 0x2f0) = *(undefined4 *)(iVar6 + 4);\n            uVar1 = FUN_00150e48(param_2,iVar6,param_4);\n          }\n          FUN_001508cc(iVar6);\n          return uVar1;\n        }\n        goto LAB_00154224;\n      }\n      goto LAB_00154244;\n    }\n  }" ({ "{") (if_statement "if (*(int *)(param_2 + 0x336c) != -0x54535255) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                 PTR_s_t_to_left_003a88e4 + 0x7d40,0xdea,PTR_s_t_to_left_003a88e4 + 0x7f44);\n      goto LAB_001541dc;\n    }" (if "if") (parenthesized_expression "(*(int *)(param_2 + 0x336c) != -0x54535255)" (( "(") (binary_expression "*(int *)(param_2 + 0x336c) != -0x54535255" (pointer_expression "*(int *)(param_2 + 0x336c)" (* "*") (cast_expression "(int *)(param_2 + 0x336c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x336c)" (( "(") (binary_expression "param_2 + 0x336c" (identifier "param_2") (+ "+") (number_literal "0x336c")) () ")")))) (!= "!=") (number_literal "-0x54535255")) () ")")) (compound_statement "{\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                 PTR_s_t_to_left_003a88e4 + 0x7d40,0xdea,PTR_s_t_to_left_003a88e4 + 0x7f44);\n      goto LAB_001541dc;\n    }" ({ "{") (expression_statement "(*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                 PTR_s_t_to_left_003a88e4 + 0x7d40,0xdea,PTR_s_t_to_left_003a88e4 + 0x7f44);" (call_expression "(*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                 PTR_s_t_to_left_003a88e4 + 0x7d40,0xdea,PTR_s_t_to_left_003a88e4 + 0x7f44)" (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,\n                 PTR_s_t_to_left_003a88e4 + 0x7d40,0xdea,PTR_s_t_to_left_003a88e4 + 0x7f44)" (( "(") (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_s_t_to_left_003a88e4 + 0x7d40" (identifier "PTR_s_t_to_left_003a88e4") (+ "+") (number_literal "0x7d40")) (, ",") (number_literal "0xdea") (, ",") (binary_expression "PTR_s_t_to_left_003a88e4 + 0x7f44" (identifier "PTR_s_t_to_left_003a88e4") (+ "+") (number_literal "0x7f44")) () ")"))) (; ";")) (goto_statement "goto LAB_001541dc;" (goto "goto") (statement_identifier "LAB_001541dc") (; ";")) (} "}"))) (if_statement "if (*(int *)(param_2 + 0x3350) != 0) {\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38,0xdec,\n                 PTR_s_t_to_left_003a88e4 + -0x62ac,param_2 + 0x340);\n    }" (if "if") (parenthesized_expression "(*(int *)(param_2 + 0x3350) != 0)" (( "(") (binary_expression "*(int *)(param_2 + 0x3350) != 0" (pointer_expression "*(int *)(param_2 + 0x3350)" (* "*") (cast_expression "(int *)(param_2 + 0x3350)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x3350)" (( "(") (binary_expression "param_2 + 0x3350" (identifier "param_2") (+ "+") (number_literal "0x3350")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38,0xdec,\n                 PTR_s_t_to_left_003a88e4 + -0x62ac,param_2 + 0x340);\n    }" ({ "{") (expression_statement "(*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38,0xdec,\n                 PTR_s_t_to_left_003a88e4 + -0x62ac,param_2 + 0x340);" (call_expression "(*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38,0xdec,\n                 PTR_s_t_to_left_003a88e4 + -0x62ac,param_2 + 0x340)" (parenthesized_expression "(*(code *)PTR_LogMagickEvent_003a91e0)" (( "(") (pointer_expression "*(code *)PTR_LogMagickEvent_003a91e0" (* "*") (cast_expression "(code *)PTR_LogMagickEvent_003a91e0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_LogMagickEvent_003a91e0"))) () ")")) (argument_list "(0x8000,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38,0xdec,\n                 PTR_s_t_to_left_003a88e4 + -0x62ac,param_2 + 0x340)" (( "(") (number_literal "0x8000") (, ",") (binary_expression "PTR_s_t_to_left_003a88e4 + 0x7d40" (identifier "PTR_s_t_to_left_003a88e4") (+ "+") (number_literal "0x7d40")) (, ",") (binary_expression "PTR_s_t_to_left_003a88e4 + 0x7f38" (identifier "PTR_s_t_to_left_003a88e4") (+ "+") (number_literal "0x7f38")) (, ",") (number_literal "0xdec") (, ",") (binary_expression "PTR_s_t_to_left_003a88e4 + -0x62ac" (identifier "PTR_s_t_to_left_003a88e4") (+ "+") (number_literal "-0x62ac")) (, ",") (binary_expression "param_2 + 0x340" (identifier "param_2") (+ "+") (number_literal "0x340")) () ")"))) (; ";")) (} "}"))) (if_statement "if (param_3 == 0) goto LAB_00154200;" (if "if") (parenthesized_expression "(param_3 == 0)" (( "(") (binary_expression "param_3 == 0" (identifier "param_3") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00154200;" (goto "goto") (statement_identifier "LAB_00154200") (; ";"))) (expression_statement "iVar6 = 0xdee;" (assignment_expression "iVar6 = 0xdee" (identifier "iVar6") (= "=") (number_literal "0xdee")) (; ";")) (if_statement "if (*(int *)(param_3 + 0x336c) == -0x54535255) {\n      puVar7 = PTR_s_t_to_left_003a88e4;\n      if (param_4 != 0) {\n        if (*(int *)(param_4 + 0x1c) == -0x54535255) {\n          iVar6 = FUN_001517a0(param_1,8,*param_1);\n          if (iVar6 == 0) {\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38,\n                       0xdf5,400,PTR_LAB_003a88e0 + 0x16f8,PTR_LAB_003a88e0 + 0x3e28,param_2 + 0x340\n                      );\n            return 0;\n          }\n          uVar1 = FUN_0014cab8(iVar6,param_3,param_4);\n          if (uVar1 != 0) {\n            **(undefined4 **)(iVar6 + 0x2f0) = *(undefined4 *)(iVar6 + 4);\n            uVar1 = FUN_00150e48(param_2,iVar6,param_4);\n          }\n          FUN_001508cc(iVar6);\n          return uVar1;\n        }\n        goto LAB_00154224;\n      }\n      goto LAB_00154244;\n    }" (if "if") (parenthesized_expression "(*(int *)(param_3 + 0x336c) == -0x54535255)" (( "(") (binary_expression "*(int *)(param_3 + 0x336c) == -0x54535255" (pointer_expression "*(int *)(param_3 + 0x336c)" (* "*") (cast_expression "(int *)(param_3 + 0x336c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0x336c)" (( "(") (binary_expression "param_3 + 0x336c" (identifier "param_3") (+ "+") (number_literal "0x336c")) () ")")))) (== "==") (number_literal "-0x54535255")) () ")")) (compound_statement "{\n      puVar7 = PTR_s_t_to_left_003a88e4;\n      if (param_4 != 0) {\n        if (*(int *)(param_4 + 0x1c) == -0x54535255) {\n          iVar6 = FUN_001517a0(param_1,8,*param_1);\n          if (iVar6 == 0) {\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38,\n                       0xdf5,400,PTR_LAB_003a88e0 + 0x16f8,PTR_LAB_003a88e0 + 0x3e28,param_2 + 0x340\n                      );\n            return 0;\n          }\n          uVar1 = FUN_0014cab8(iVar6,param_3,param_4);\n          if (uVar1 != 0) {\n            **(undefined4 **)(iVar6 + 0x2f0) = *(undefined4 *)(iVar6 + 4);\n            uVar1 = FUN_00150e48(param_2,iVar6,param_4);\n          }\n          FUN_001508cc(iVar6);\n          return uVar1;\n        }\n        goto LAB_00154224;\n      }\n      goto LAB_00154244;\n    }" ({ "{") (expression_statement "puVar7 = PTR_s_t_to_left_003a88e4;" (assignment_expression "puVar7 = PTR_s_t_to_left_003a88e4" (identifier "puVar7") (= "=") (identifier "PTR_s_t_to_left_003a88e4")) (; ";")) (if_statement "if (param_4 != 0) {\n        if (*(int *)(param_4 + 0x1c) == -0x54535255) {\n          iVar6 = FUN_001517a0(param_1,8,*param_1);\n          if (iVar6 == 0) {\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38,\n                       0xdf5,400,PTR_LAB_003a88e0 + 0x16f8,PTR_LAB_003a88e0 + 0x3e28,param_2 + 0x340\n                      );\n            return 0;\n          }\n          uVar1 = FUN_0014cab8(iVar6,param_3,param_4);\n          if (uVar1 != 0) {\n            **(undefined4 **)(iVar6 + 0x2f0) = *(undefined4 *)(iVar6 + 4);\n            uVar1 = FUN_00150e48(param_2,iVar6,param_4);\n          }\n          FUN_001508cc(iVar6);\n          return uVar1;\n        }\n        goto LAB_00154224;\n      }" (if "if") (parenthesized_expression "(param_4 != 0)" (( "(") (binary_expression "param_4 != 0" (identifier "param_4") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        if (*(int *)(param_4 + 0x1c) == -0x54535255) {\n          iVar6 = FUN_001517a0(param_1,8,*param_1);\n          if (iVar6 == 0) {\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38,\n                       0xdf5,400,PTR_LAB_003a88e0 + 0x16f8,PTR_LAB_003a88e0 + 0x3e28,param_2 + 0x340\n                      );\n            return 0;\n          }\n          uVar1 = FUN_0014cab8(iVar6,param_3,param_4);\n          if (uVar1 != 0) {\n            **(undefined4 **)(iVar6 + 0x2f0) = *(undefined4 *)(iVar6 + 4);\n            uVar1 = FUN_00150e48(param_2,iVar6,param_4);\n          }\n          FUN_001508cc(iVar6);\n          return uVar1;\n        }\n        goto LAB_00154224;\n      }" ({ "{") (if_statement "if (*(int *)(param_4 + 0x1c) == -0x54535255) {\n          iVar6 = FUN_001517a0(param_1,8,*param_1);\n          if (iVar6 == 0) {\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38,\n                       0xdf5,400,PTR_LAB_003a88e0 + 0x16f8,PTR_LAB_003a88e0 + 0x3e28,param_2 + 0x340\n                      );\n            return 0;\n          }\n          uVar1 = FUN_0014cab8(iVar6,param_3,param_4);\n          if (uVar1 != 0) {\n            **(undefined4 **)(iVar6 + 0x2f0) = *(undefined4 *)(iVar6 + 4);\n            uVar1 = FUN_00150e48(param_2,iVar6,param_4);\n          }\n          FUN_001508cc(iVar6);\n          return uVar1;\n        }" (if "if") (parenthesized_expression "(*(int *)(param_4 + 0x1c) == -0x54535255)" (( "(") (binary_expression "*(int *)(param_4 + 0x1c) == -0x54535255" (pointer_expression "*(int *)(param_4 + 0x1c)" (* "*") (cast_expression "(int *)(param_4 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x1c)" (( "(") (binary_expression "param_4 + 0x1c" (identifier "param_4") (+ "+") (number_literal "0x1c")) () ")")))) (== "==") (number_literal "-0x54535255")) () ")")) (compound_statement "{\n          iVar6 = FUN_001517a0(param_1,8,*param_1);\n          if (iVar6 == 0) {\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38,\n                       0xdf5,400,PTR_LAB_003a88e0 + 0x16f8,PTR_LAB_003a88e0 + 0x3e28,param_2 + 0x340\n                      );\n            return 0;\n          }\n          uVar1 = FUN_0014cab8(iVar6,param_3,param_4);\n          if (uVar1 != 0) {\n            **(undefined4 **)(iVar6 + 0x2f0) = *(undefined4 *)(iVar6 + 4);\n            uVar1 = FUN_00150e48(param_2,iVar6,param_4);\n          }\n          FUN_001508cc(iVar6);\n          return uVar1;\n        }" ({ "{") (expression_statement "iVar6 = FUN_001517a0(param_1,8,*param_1);" (assignment_expression "iVar6 = FUN_001517a0(param_1,8,*param_1)" (identifier "iVar6") (= "=") (call_expression "FUN_001517a0(param_1,8,*param_1)" (identifier "FUN_001517a0") (argument_list "(param_1,8,*param_1)" (( "(") (identifier "param_1") (, ",") (number_literal "8") (, ",") (pointer_expression "*param_1" (* "*") (identifier "param_1")) () ")")))) (; ";")) (if_statement "if (iVar6 == 0) {\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38,\n                       0xdf5,400,PTR_LAB_003a88e0 + 0x16f8,PTR_LAB_003a88e0 + 0x3e28,param_2 + 0x340\n                      );\n            return 0;\n          }" (if "if") (parenthesized_expression "(iVar6 == 0)" (( "(") (binary_expression "iVar6 == 0" (identifier "iVar6") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38,\n                       0xdf5,400,PTR_LAB_003a88e0 + 0x16f8,PTR_LAB_003a88e0 + 0x3e28,param_2 + 0x340\n                      );\n            return 0;\n          }" ({ "{") (expression_statement "(*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38,\n                       0xdf5,400,PTR_LAB_003a88e0 + 0x16f8,PTR_LAB_003a88e0 + 0x3e28,param_2 + 0x340\n                      );" (call_expression "(*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38,\n                       0xdf5,400,PTR_LAB_003a88e0 + 0x16f8,PTR_LAB_003a88e0 + 0x3e28,param_2 + 0x340\n                      )" (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_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38,\n                       0xdf5,400,PTR_LAB_003a88e0 + 0x16f8,PTR_LAB_003a88e0 + 0x3e28,param_2 + 0x340\n                      )" (( "(") (identifier "param_4") (, ",") (binary_expression "PTR_s_t_to_left_003a88e4 + 0x7d40" (identifier "PTR_s_t_to_left_003a88e4") (+ "+") (number_literal "0x7d40")) (, ",") (binary_expression "PTR_s_t_to_left_003a88e4 + 0x7f38" (identifier "PTR_s_t_to_left_003a88e4") (+ "+") (number_literal "0x7f38")) (, ",") (number_literal "0xdf5") (, ",") (number_literal "400") (, ",") (binary_expression "PTR_LAB_003a88e0 + 0x16f8" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0x16f8")) (, ",") (binary_expression "PTR_LAB_003a88e0 + 0x3e28" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0x3e28")) (, ",") (binary_expression "param_2 + 0x340" (identifier "param_2") (+ "+") (number_literal "0x340")) () ")"))) (; ";")) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (expression_statement "uVar1 = FUN_0014cab8(iVar6,param_3,param_4);" (assignment_expression "uVar1 = FUN_0014cab8(iVar6,param_3,param_4)" (identifier "uVar1") (= "=") (call_expression "FUN_0014cab8(iVar6,param_3,param_4)" (identifier "FUN_0014cab8") (argument_list "(iVar6,param_3,param_4)" (( "(") (identifier "iVar6") (, ",") (identifier "param_3") (, ",") (identifier "param_4") () ")")))) (; ";")) (if_statement "if (uVar1 != 0) {\n            **(undefined4 **)(iVar6 + 0x2f0) = *(undefined4 *)(iVar6 + 4);\n            uVar1 = FUN_00150e48(param_2,iVar6,param_4);\n          }" (if "if") (parenthesized_expression "(uVar1 != 0)" (( "(") (binary_expression "uVar1 != 0" (identifier "uVar1") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            **(undefined4 **)(iVar6 + 0x2f0) = *(undefined4 *)(iVar6 + 4);\n            uVar1 = FUN_00150e48(param_2,iVar6,param_4);\n          }" ({ "{") (expression_statement "**(undefined4 **)(iVar6 + 0x2f0) = *(undefined4 *)(iVar6 + 4);" (assignment_expression "**(undefined4 **)(iVar6 + 0x2f0) = *(undefined4 *)(iVar6 + 4)" (pointer_expression "**(undefined4 **)(iVar6 + 0x2f0)" (* "*") (pointer_expression "*(undefined4 **)(iVar6 + 0x2f0)" (* "*") (cast_expression "(undefined4 **)(iVar6 + 0x2f0)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar6 + 0x2f0)" (( "(") (binary_expression "iVar6 + 0x2f0" (identifier "iVar6") (+ "+") (number_literal "0x2f0")) () ")"))))) (= "=") (pointer_expression "*(undefined4 *)(iVar6 + 4)" (* "*") (cast_expression "(undefined4 *)(iVar6 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 4)" (( "(") (binary_expression "iVar6 + 4" (identifier "iVar6") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "uVar1 = FUN_00150e48(param_2,iVar6,param_4);" (assignment_expression "uVar1 = FUN_00150e48(param_2,iVar6,param_4)" (identifier "uVar1") (= "=") (call_expression "FUN_00150e48(param_2,iVar6,param_4)" (identifier "FUN_00150e48") (argument_list "(param_2,iVar6,param_4)" (( "(") (identifier "param_2") (, ",") (identifier "iVar6") (, ",") (identifier "param_4") () ")")))) (; ";")) (} "}"))) (expression_statement "FUN_001508cc(iVar6);" (call_expression "FUN_001508cc(iVar6)" (identifier "FUN_001508cc") (argument_list "(iVar6)" (( "(") (identifier "iVar6") () ")"))) (; ";")) (return_statement "return uVar1;" (return "return") (identifier "uVar1") (; ";")) (} "}"))) (goto_statement "goto LAB_00154224;" (goto "goto") (statement_identifier "LAB_00154224") (; ";")) (} "}"))) (goto_statement "goto LAB_00154244;" (goto "goto") (statement_identifier "LAB_00154244") (; ";")) (} "}"))) (} "}")))) (expression_statement "puVar8 = PTR_s_t_to_left_003a88e4 + 0x7f44;" (assignment_expression "puVar8 = PTR_s_t_to_left_003a88e4 + 0x7f44" (identifier "puVar8") (= "=") (binary_expression "PTR_s_t_to_left_003a88e4 + 0x7f44" (identifier "PTR_s_t_to_left_003a88e4") (+ "+") (number_literal "0x7f44"))) (; ";")) (expression_statement "puVar4 = PTR_s_t_to_left_003a88e4 + 0x7d40;" (assignment_expression "puVar4 = PTR_s_t_to_left_003a88e4 + 0x7d40" (identifier "puVar4") (= "=") (binary_expression "PTR_s_t_to_left_003a88e4 + 0x7d40" (identifier "PTR_s_t_to_left_003a88e4") (+ "+") (number_literal "0x7d40"))) (; ";")) (expression_statement "puVar3 = (undefined4 *)(PTR_s_t_to_left_003a88e4 + 0x7ee4);" (assignment_expression "puVar3 = (undefined4 *)(PTR_s_t_to_left_003a88e4 + 0x7ee4)" (identifier "puVar3") (= "=") (cast_expression "(undefined4 *)(PTR_s_t_to_left_003a88e4 + 0x7ee4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_s_t_to_left_003a88e4 + 0x7ee4)" (( "(") (binary_expression "PTR_s_t_to_left_003a88e4 + 0x7ee4" (identifier "PTR_s_t_to_left_003a88e4") (+ "+") (number_literal "0x7ee4")) () ")")))) (; ";")) (expression_statement "puVar7 = PTR___assert_fail_003a9608;" (assignment_expression "puVar7 = PTR___assert_fail_003a9608" (identifier "puVar7") (= "=") (identifier "PTR___assert_fail_003a9608")) (; ";")) (expression_statement "(*(code *)PTR___assert_fail_003a9608)();" (call_expression "(*(code *)PTR___assert_fail_003a9608)()" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" (( "(") (pointer_expression "*(code *)PTR___assert_fail_003a9608" (* "*") (cast_expression "(code *)PTR___assert_fail_003a9608" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___assert_fail_003a9608"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (puVar4 == (undefined *)0x0) {\n    iVar9 = *(int *)(puVar7 + 0x254660) + 0x7f2c;\n    (**(code **)(puVar7 + 0x255384))\n              (*(int *)(puVar7 + 0x25465c) + 0x1e48,*(int *)(puVar7 + 0x254660) + 0x7d40,0xe2d,iVar9\n              );\nLAB_001544c4:\n    (**(code **)(puVar7 + 0x255384))\n              (*(int *)(puVar7 + 0x25465c) + 0x294c,*(int *)(puVar7 + 0x254660) + 0x7d40,0xe32,\n               iVar9 + 0x7f2c);\n  }\n  else {\n    if (*(int *)(puVar4 + 0x336c) != -0x54535255) goto LAB_00154508;\n    if (*(int *)(puVar4 + 0x3350) != 0) {\n      (**(code **)(puVar7 + 0x254f5c))\n                (0x8000,*(int *)(puVar7 + 0x254660) + 0x7d40,*(int *)(puVar7 + 0x254660) + 0x7f20,\n                 0xe30,*(int *)(puVar7 + 0x254660) + -0x62ac,puVar4 + 0x340);\n    }\n    if (puVar8 != (undefined *)0x0) {\n      iVar9 = *(int *)(puVar7 + 0x254660);\n      if (*(int *)(puVar8 + 0x1c) == -0x54535255) {\n        if (iVar6 == 0) {\n                    \n                    \n          uVar1 = (**(code **)(puVar7 + 0x254bec))(puVar3,puVar4,puVar8);\n          return uVar1;\n        }\n        iVar9 = FUN_001517a0(puVar3,8,*puVar3);\n        if (iVar9 == 0) {\n          (**(code **)(puVar7 + 0x254c9c))\n                    (puVar8,*(int *)(puVar7 + 0x254660) + 0x7d40,\n                     *(int *)(puVar7 + 0x254660) + 0x7f20,0xe43,400,\n                     *(int *)(puVar7 + 0x25465c) + 0x16f8,*(int *)(puVar7 + 0x25465c) + 0x3e28,\n                     puVar4 + 0x340);\n          return 0;\n        }\n        iVar6 = FUN_0014cab8(iVar9,iVar6,puVar8);\n        if (iVar6 == 0) {\nLAB_0015438c:\n          uVar1 = 0;\n        }\n        else {\n          **(undefined4 **)(iVar9 + 0x2f0) = *(undefined4 *)(iVar9 + 4);\n          do {\n            uVar1 = FUN_00150e48(puVar4,iVar9,puVar8);\n            if (uVar1 == 0) goto LAB_0015438c;\n            puVar4 = (undefined *)(**(code **)(puVar7 + 0x2551ec))(puVar4);\n          } while (puVar4 != (undefined *)0x0);\n        }\n        FUN_001508cc(iVar9);\n        return uVar1;\n      }\n      goto LAB_001544c4;\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 "{\n    iVar9 = *(int *)(puVar7 + 0x254660) + 0x7f2c;\n    (**(code **)(puVar7 + 0x255384))\n              (*(int *)(puVar7 + 0x25465c) + 0x1e48,*(int *)(puVar7 + 0x254660) + 0x7d40,0xe2d,iVar9\n              );\nLAB_001544c4:\n    (**(code **)(puVar7 + 0x255384))\n              (*(int *)(puVar7 + 0x25465c) + 0x294c,*(int *)(puVar7 + 0x254660) + 0x7d40,0xe32,\n               iVar9 + 0x7f2c);\n  }" ({ "{") (expression_statement "iVar9 = *(int *)(puVar7 + 0x254660) + 0x7f2c;" (assignment_expression "iVar9 = *(int *)(puVar7 + 0x254660) + 0x7f2c" (identifier "iVar9") (= "=") (binary_expression "*(int *)(puVar7 + 0x254660) + 0x7f2c" (pointer_expression "*(int *)(puVar7 + 0x254660)" (* "*") (cast_expression "(int *)(puVar7 + 0x254660)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar7 + 0x254660)" (( "(") (binary_expression "puVar7 + 0x254660" (identifier "puVar7") (+ "+") (number_literal "0x254660")) () ")")))) (+ "+") (number_literal "0x7f2c"))) (; ";")) (expression_statement "(**(code **)(puVar7 + 0x255384))\n              (*(int *)(puVar7 + 0x25465c) + 0x1e48,*(int *)(puVar7 + 0x254660) + 0x7d40,0xe2d,iVar9\n              );" (call_expression "(**(code **)(puVar7 + 0x255384))\n              (*(int *)(puVar7 + 0x25465c) + 0x1e48,*(int *)(puVar7 + 0x254660) + 0x7d40,0xe2d,iVar9\n              )" (parenthesized_expression "(**(code **)(puVar7 + 0x255384))" (( "(") (pointer_expression "**(code **)(puVar7 + 0x255384)" (* "*") (pointer_expression "*(code **)(puVar7 + 0x255384)" (* "*") (cast_expression "(code **)(puVar7 + 0x255384)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar7 + 0x255384)" (( "(") (binary_expression "puVar7 + 0x255384" (identifier "puVar7") (+ "+") (number_literal "0x255384")) () ")"))))) () ")")) (argument_list "(*(int *)(puVar7 + 0x25465c) + 0x1e48,*(int *)(puVar7 + 0x254660) + 0x7d40,0xe2d,iVar9\n              )" (( "(") (binary_expression "*(int *)(puVar7 + 0x25465c) + 0x1e48" (pointer_expression "*(int *)(puVar7 + 0x25465c)" (* "*") (cast_expression "(int *)(puVar7 + 0x25465c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar7 + 0x25465c)" (( "(") (binary_expression "puVar7 + 0x25465c" (identifier "puVar7") (+ "+") (number_literal "0x25465c")) () ")")))) (+ "+") (number_literal "0x1e48")) (, ",") (binary_expression "*(int *)(puVar7 + 0x254660) + 0x7d40" (pointer_expression "*(int *)(puVar7 + 0x254660)" (* "*") (cast_expression "(int *)(puVar7 + 0x254660)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar7 + 0x254660)" (( "(") (binary_expression "puVar7 + 0x254660" (identifier "puVar7") (+ "+") (number_literal "0x254660")) () ")")))) (+ "+") (number_literal "0x7d40")) (, ",") (number_literal "0xe2d") (, ",") (identifier "iVar9") () ")"))) (; ";")) (labeled_statement "LAB_001544c4:\n    (**(code **)(puVar7 + 0x255384))\n              (*(int *)(puVar7 + 0x25465c) + 0x294c,*(int *)(puVar7 + 0x254660) + 0x7d40,0xe32,\n               iVar9 + 0x7f2c);" (statement_identifier "LAB_001544c4") (: ":") (expression_statement "(**(code **)(puVar7 + 0x255384))\n              (*(int *)(puVar7 + 0x25465c) + 0x294c,*(int *)(puVar7 + 0x254660) + 0x7d40,0xe32,\n               iVar9 + 0x7f2c);" (call_expression "(**(code **)(puVar7 + 0x255384))\n              (*(int *)(puVar7 + 0x25465c) + 0x294c,*(int *)(puVar7 + 0x254660) + 0x7d40,0xe32,\n               iVar9 + 0x7f2c)" (parenthesized_expression "(**(code **)(puVar7 + 0x255384))" (( "(") (pointer_expression "**(code **)(puVar7 + 0x255384)" (* "*") (pointer_expression "*(code **)(puVar7 + 0x255384)" (* "*") (cast_expression "(code **)(puVar7 + 0x255384)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar7 + 0x255384)" (( "(") (binary_expression "puVar7 + 0x255384" (identifier "puVar7") (+ "+") (number_literal "0x255384")) () ")"))))) () ")")) (argument_list "(*(int *)(puVar7 + 0x25465c) + 0x294c,*(int *)(puVar7 + 0x254660) + 0x7d40,0xe32,\n               iVar9 + 0x7f2c)" (( "(") (binary_expression "*(int *)(puVar7 + 0x25465c) + 0x294c" (pointer_expression "*(int *)(puVar7 + 0x25465c)" (* "*") (cast_expression "(int *)(puVar7 + 0x25465c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar7 + 0x25465c)" (( "(") (binary_expression "puVar7 + 0x25465c" (identifier "puVar7") (+ "+") (number_literal "0x25465c")) () ")")))) (+ "+") (number_literal "0x294c")) (, ",") (binary_expression "*(int *)(puVar7 + 0x254660) + 0x7d40" (pointer_expression "*(int *)(puVar7 + 0x254660)" (* "*") (cast_expression "(int *)(puVar7 + 0x254660)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar7 + 0x254660)" (( "(") (binary_expression "puVar7 + 0x254660" (identifier "puVar7") (+ "+") (number_literal "0x254660")) () ")")))) (+ "+") (number_literal "0x7d40")) (, ",") (number_literal "0xe32") (, ",") (binary_expression "iVar9 + 0x7f2c" (identifier "iVar9") (+ "+") (number_literal "0x7f2c")) () ")"))) (; ";"))) (} "}")) (else_clause "else {\n    if (*(int *)(puVar4 + 0x336c) != -0x54535255) goto LAB_00154508;\n    if (*(int *)(puVar4 + 0x3350) != 0) {\n      (**(code **)(puVar7 + 0x254f5c))\n                (0x8000,*(int *)(puVar7 + 0x254660) + 0x7d40,*(int *)(puVar7 + 0x254660) + 0x7f20,\n                 0xe30,*(int *)(puVar7 + 0x254660) + -0x62ac,puVar4 + 0x340);\n    }\n    if (puVar8 != (undefined *)0x0) {\n      iVar9 = *(int *)(puVar7 + 0x254660);\n      if (*(int *)(puVar8 + 0x1c) == -0x54535255) {\n        if (iVar6 == 0) {\n                    \n                    \n          uVar1 = (**(code **)(puVar7 + 0x254bec))(puVar3,puVar4,puVar8);\n          return uVar1;\n        }\n        iVar9 = FUN_001517a0(puVar3,8,*puVar3);\n        if (iVar9 == 0) {\n          (**(code **)(puVar7 + 0x254c9c))\n                    (puVar8,*(int *)(puVar7 + 0x254660) + 0x7d40,\n                     *(int *)(puVar7 + 0x254660) + 0x7f20,0xe43,400,\n                     *(int *)(puVar7 + 0x25465c) + 0x16f8,*(int *)(puVar7 + 0x25465c) + 0x3e28,\n                     puVar4 + 0x340);\n          return 0;\n        }\n        iVar6 = FUN_0014cab8(iVar9,iVar6,puVar8);\n        if (iVar6 == 0) {\nLAB_0015438c:\n          uVar1 = 0;\n        }\n        else {\n          **(undefined4 **)(iVar9 + 0x2f0) = *(undefined4 *)(iVar9 + 4);\n          do {\n            uVar1 = FUN_00150e48(puVar4,iVar9,puVar8);\n            if (uVar1 == 0) goto LAB_0015438c;\n            puVar4 = (undefined *)(**(code **)(puVar7 + 0x2551ec))(puVar4);\n          } while (puVar4 != (undefined *)0x0);\n        }\n        FUN_001508cc(iVar9);\n        return uVar1;\n      }\n      goto LAB_001544c4;\n    }\n  }" (else "else") (compound_statement "{\n    if (*(int *)(puVar4 + 0x336c) != -0x54535255) goto LAB_00154508;\n    if (*(int *)(puVar4 + 0x3350) != 0) {\n      (**(code **)(puVar7 + 0x254f5c))\n                (0x8000,*(int *)(puVar7 + 0x254660) + 0x7d40,*(int *)(puVar7 + 0x254660) + 0x7f20,\n                 0xe30,*(int *)(puVar7 + 0x254660) + -0x62ac,puVar4 + 0x340);\n    }\n    if (puVar8 != (undefined *)0x0) {\n      iVar9 = *(int *)(puVar7 + 0x254660);\n      if (*(int *)(puVar8 + 0x1c) == -0x54535255) {\n        if (iVar6 == 0) {\n                    \n                    \n          uVar1 = (**(code **)(puVar7 + 0x254bec))(puVar3,puVar4,puVar8);\n          return uVar1;\n        }\n        iVar9 = FUN_001517a0(puVar3,8,*puVar3);\n        if (iVar9 == 0) {\n          (**(code **)(puVar7 + 0x254c9c))\n                    (puVar8,*(int *)(puVar7 + 0x254660) + 0x7d40,\n                     *(int *)(puVar7 + 0x254660) + 0x7f20,0xe43,400,\n                     *(int *)(puVar7 + 0x25465c) + 0x16f8,*(int *)(puVar7 + 0x25465c) + 0x3e28,\n                     puVar4 + 0x340);\n          return 0;\n        }\n        iVar6 = FUN_0014cab8(iVar9,iVar6,puVar8);\n        if (iVar6 == 0) {\nLAB_0015438c:\n          uVar1 = 0;\n        }\n        else {\n          **(undefined4 **)(iVar9 + 0x2f0) = *(undefined4 *)(iVar9 + 4);\n          do {\n            uVar1 = FUN_00150e48(puVar4,iVar9,puVar8);\n            if (uVar1 == 0) goto LAB_0015438c;\n            puVar4 = (undefined *)(**(code **)(puVar7 + 0x2551ec))(puVar4);\n          } while (puVar4 != (undefined *)0x0);\n        }\n        FUN_001508cc(iVar9);\n        return uVar1;\n      }\n      goto LAB_001544c4;\n    }\n  }" ({ "{") (if_statement "if (*(int *)(puVar4 + 0x336c) != -0x54535255) goto LAB_00154508;" (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_00154508;" (goto "goto") (statement_identifier "LAB_00154508") (; ";"))) (if_statement "if (*(int *)(puVar4 + 0x3350) != 0) {\n      (**(code **)(puVar7 + 0x254f5c))\n                (0x8000,*(int *)(puVar7 + 0x254660) + 0x7d40,*(int *)(puVar7 + 0x254660) + 0x7f20,\n                 0xe30,*(int *)(puVar7 + 0x254660) + -0x62ac,puVar4 + 0x340);\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 **)(puVar7 + 0x254f5c))\n                (0x8000,*(int *)(puVar7 + 0x254660) + 0x7d40,*(int *)(puVar7 + 0x254660) + 0x7f20,\n                 0xe30,*(int *)(puVar7 + 0x254660) + -0x62ac,puVar4 + 0x340);\n    }" ({ "{") (expression_statement "(**(code **)(puVar7 + 0x254f5c))\n                (0x8000,*(int *)(puVar7 + 0x254660) + 0x7d40,*(int *)(puVar7 + 0x254660) + 0x7f20,\n                 0xe30,*(int *)(puVar7 + 0x254660) + -0x62ac,puVar4 + 0x340);" (call_expression "(**(code **)(puVar7 + 0x254f5c))\n                (0x8000,*(int *)(puVar7 + 0x254660) + 0x7d40,*(int *)(puVar7 + 0x254660) + 0x7f20,\n                 0xe30,*(int *)(puVar7 + 0x254660) + -0x62ac,puVar4 + 0x340)" (parenthesized_expression "(**(code **)(puVar7 + 0x254f5c))" (( "(") (pointer_expression "**(code **)(puVar7 + 0x254f5c)" (* "*") (pointer_expression "*(code **)(puVar7 + 0x254f5c)" (* "*") (cast_expression "(code **)(puVar7 + 0x254f5c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar7 + 0x254f5c)" (( "(") (binary_expression "puVar7 + 0x254f5c" (identifier "puVar7") (+ "+") (number_literal "0x254f5c")) () ")"))))) () ")")) (argument_list "(0x8000,*(int *)(puVar7 + 0x254660) + 0x7d40,*(int *)(puVar7 + 0x254660) + 0x7f20,\n                 0xe30,*(int *)(puVar7 + 0x254660) + -0x62ac,puVar4 + 0x340)" (( "(") (number_literal "0x8000") (, ",") (binary_expression "*(int *)(puVar7 + 0x254660) + 0x7d40" (pointer_expression "*(int *)(puVar7 + 0x254660)" (* "*") (cast_expression "(int *)(puVar7 + 0x254660)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar7 + 0x254660)" (( "(") (binary_expression "puVar7 + 0x254660" (identifier "puVar7") (+ "+") (number_literal "0x254660")) () ")")))) (+ "+") (number_literal "0x7d40")) (, ",") (binary_expression "*(int *)(puVar7 + 0x254660) + 0x7f20" (pointer_expression "*(int *)(puVar7 + 0x254660)" (* "*") (cast_expression "(int *)(puVar7 + 0x254660)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar7 + 0x254660)" (( "(") (binary_expression "puVar7 + 0x254660" (identifier "puVar7") (+ "+") (number_literal "0x254660")) () ")")))) (+ "+") (number_literal "0x7f20")) (, ",") (number_literal "0xe30") (, ",") (binary_expression "*(int *)(puVar7 + 0x254660) + -0x62ac" (pointer_expression "*(int *)(puVar7 + 0x254660)" (* "*") (cast_expression "(int *)(puVar7 + 0x254660)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar7 + 0x254660)" (( "(") (binary_expression "puVar7 + 0x254660" (identifier "puVar7") (+ "+") (number_literal "0x254660")) () ")")))) (+ "+") (number_literal "-0x62ac")) (, ",") (binary_expression "puVar4 + 0x340" (identifier "puVar4") (+ "+") (number_literal "0x340")) () ")"))) (; ";")) (} "}"))) (if_statement "if (puVar8 != (undefined *)0x0) {\n      iVar9 = *(int *)(puVar7 + 0x254660);\n      if (*(int *)(puVar8 + 0x1c) == -0x54535255) {\n        if (iVar6 == 0) {\n                    \n                    \n          uVar1 = (**(code **)(puVar7 + 0x254bec))(puVar3,puVar4,puVar8);\n          return uVar1;\n        }\n        iVar9 = FUN_001517a0(puVar3,8,*puVar3);\n        if (iVar9 == 0) {\n          (**(code **)(puVar7 + 0x254c9c))\n                    (puVar8,*(int *)(puVar7 + 0x254660) + 0x7d40,\n                     *(int *)(puVar7 + 0x254660) + 0x7f20,0xe43,400,\n                     *(int *)(puVar7 + 0x25465c) + 0x16f8,*(int *)(puVar7 + 0x25465c) + 0x3e28,\n                     puVar4 + 0x340);\n          return 0;\n        }\n        iVar6 = FUN_0014cab8(iVar9,iVar6,puVar8);\n        if (iVar6 == 0) {\nLAB_0015438c:\n          uVar1 = 0;\n        }\n        else {\n          **(undefined4 **)(iVar9 + 0x2f0) = *(undefined4 *)(iVar9 + 4);\n          do {\n            uVar1 = FUN_00150e48(puVar4,iVar9,puVar8);\n            if (uVar1 == 0) goto LAB_0015438c;\n            puVar4 = (undefined *)(**(code **)(puVar7 + 0x2551ec))(puVar4);\n          } while (puVar4 != (undefined *)0x0);\n        }\n        FUN_001508cc(iVar9);\n        return uVar1;\n      }\n      goto LAB_001544c4;\n    }" (if "if") (parenthesized_expression "(puVar8 != (undefined *)0x0)" (( "(") (binary_expression "puVar8 != (undefined *)0x0" (identifier "puVar8") (!= "!=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      iVar9 = *(int *)(puVar7 + 0x254660);\n      if (*(int *)(puVar8 + 0x1c) == -0x54535255) {\n        if (iVar6 == 0) {\n                    \n                    \n          uVar1 = (**(code **)(puVar7 + 0x254bec))(puVar3,puVar4,puVar8);\n          return uVar1;\n        }\n        iVar9 = FUN_001517a0(puVar3,8,*puVar3);\n        if (iVar9 == 0) {\n          (**(code **)(puVar7 + 0x254c9c))\n                    (puVar8,*(int *)(puVar7 + 0x254660) + 0x7d40,\n                     *(int *)(puVar7 + 0x254660) + 0x7f20,0xe43,400,\n                     *(int *)(puVar7 + 0x25465c) + 0x16f8,*(int *)(puVar7 + 0x25465c) + 0x3e28,\n                     puVar4 + 0x340);\n          return 0;\n        }\n        iVar6 = FUN_0014cab8(iVar9,iVar6,puVar8);\n        if (iVar6 == 0) {\nLAB_0015438c:\n          uVar1 = 0;\n        }\n        else {\n          **(undefined4 **)(iVar9 + 0x2f0) = *(undefined4 *)(iVar9 + 4);\n          do {\n            uVar1 = FUN_00150e48(puVar4,iVar9,puVar8);\n            if (uVar1 == 0) goto LAB_0015438c;\n            puVar4 = (undefined *)(**(code **)(puVar7 + 0x2551ec))(puVar4);\n          } while (puVar4 != (undefined *)0x0);\n        }\n        FUN_001508cc(iVar9);\n        return uVar1;\n      }\n      goto LAB_001544c4;\n    }" ({ "{") (expression_statement "iVar9 = *(int *)(puVar7 + 0x254660);" (assignment_expression "iVar9 = *(int *)(puVar7 + 0x254660)" (identifier "iVar9") (= "=") (pointer_expression "*(int *)(puVar7 + 0x254660)" (* "*") (cast_expression "(int *)(puVar7 + 0x254660)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar7 + 0x254660)" (( "(") (binary_expression "puVar7 + 0x254660" (identifier "puVar7") (+ "+") (number_literal "0x254660")) () ")"))))) (; ";")) (if_statement "if (*(int *)(puVar8 + 0x1c) == -0x54535255) {\n        if (iVar6 == 0) {\n                    \n                    \n          uVar1 = (**(code **)(puVar7 + 0x254bec))(puVar3,puVar4,puVar8);\n          return uVar1;\n        }\n        iVar9 = FUN_001517a0(puVar3,8,*puVar3);\n        if (iVar9 == 0) {\n          (**(code **)(puVar7 + 0x254c9c))\n                    (puVar8,*(int *)(puVar7 + 0x254660) + 0x7d40,\n                     *(int *)(puVar7 + 0x254660) + 0x7f20,0xe43,400,\n                     *(int *)(puVar7 + 0x25465c) + 0x16f8,*(int *)(puVar7 + 0x25465c) + 0x3e28,\n                     puVar4 + 0x340);\n          return 0;\n        }\n        iVar6 = FUN_0014cab8(iVar9,iVar6,puVar8);\n        if (iVar6 == 0) {\nLAB_0015438c:\n          uVar1 = 0;\n        }\n        else {\n          **(undefined4 **)(iVar9 + 0x2f0) = *(undefined4 *)(iVar9 + 4);\n          do {\n            uVar1 = FUN_00150e48(puVar4,iVar9,puVar8);\n            if (uVar1 == 0) goto LAB_0015438c;\n            puVar4 = (undefined *)(**(code **)(puVar7 + 0x2551ec))(puVar4);\n          } while (puVar4 != (undefined *)0x0);\n        }\n        FUN_001508cc(iVar9);\n        return uVar1;\n      }" (if "if") (parenthesized_expression "(*(int *)(puVar8 + 0x1c) == -0x54535255)" (( "(") (binary_expression "*(int *)(puVar8 + 0x1c) == -0x54535255" (pointer_expression "*(int *)(puVar8 + 0x1c)" (* "*") (cast_expression "(int *)(puVar8 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar8 + 0x1c)" (( "(") (binary_expression "puVar8 + 0x1c" (identifier "puVar8") (+ "+") (number_literal "0x1c")) () ")")))) (== "==") (number_literal "-0x54535255")) () ")")) (compound_statement "{\n        if (iVar6 == 0) {\n                    \n                    \n          uVar1 = (**(code **)(puVar7 + 0x254bec))(puVar3,puVar4,puVar8);\n          return uVar1;\n        }\n        iVar9 = FUN_001517a0(puVar3,8,*puVar3);\n        if (iVar9 == 0) {\n          (**(code **)(puVar7 + 0x254c9c))\n                    (puVar8,*(int *)(puVar7 + 0x254660) + 0x7d40,\n                     *(int *)(puVar7 + 0x254660) + 0x7f20,0xe43,400,\n                     *(int *)(puVar7 + 0x25465c) + 0x16f8,*(int *)(puVar7 + 0x25465c) + 0x3e28,\n                     puVar4 + 0x340);\n          return 0;\n        }\n        iVar6 = FUN_0014cab8(iVar9,iVar6,puVar8);\n        if (iVar6 == 0) {\nLAB_0015438c:\n          uVar1 = 0;\n        }\n        else {\n          **(undefined4 **)(iVar9 + 0x2f0) = *(undefined4 *)(iVar9 + 4);\n          do {\n            uVar1 = FUN_00150e48(puVar4,iVar9,puVar8);\n            if (uVar1 == 0) goto LAB_0015438c;\n            puVar4 = (undefined *)(**(code **)(puVar7 + 0x2551ec))(puVar4);\n          } while (puVar4 != (undefined *)0x0);\n        }\n        FUN_001508cc(iVar9);\n        return uVar1;\n      }" ({ "{") (if_statement "if (iVar6 == 0) {\n                    \n                    \n          uVar1 = (**(code **)(puVar7 + 0x254bec))(puVar3,puVar4,puVar8);\n          return uVar1;\n        }" (if "if") (parenthesized_expression "(iVar6 == 0)" (( "(") (binary_expression "iVar6 == 0" (identifier "iVar6") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n                    \n          uVar1 = (**(code **)(puVar7 + 0x254bec))(puVar3,puVar4,puVar8);\n          return uVar1;\n        }" ({ "{") (expression_statement "uVar1 = (**(code **)(puVar7 + 0x254bec))(puVar3,puVar4,puVar8);" (assignment_expression "uVar1 = (**(code **)(puVar7 + 0x254bec))(puVar3,puVar4,puVar8)" (identifier "uVar1") (= "=") (call_expression "(**(code **)(puVar7 + 0x254bec))(puVar3,puVar4,puVar8)" (parenthesized_expression "(**(code **)(puVar7 + 0x254bec))" (( "(") (pointer_expression "**(code **)(puVar7 + 0x254bec)" (* "*") (pointer_expression "*(code **)(puVar7 + 0x254bec)" (* "*") (cast_expression "(code **)(puVar7 + 0x254bec)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar7 + 0x254bec)" (( "(") (binary_expression "puVar7 + 0x254bec" (identifier "puVar7") (+ "+") (number_literal "0x254bec")) () ")"))))) () ")")) (argument_list "(puVar3,puVar4,puVar8)" (( "(") (identifier "puVar3") (, ",") (identifier "puVar4") (, ",") (identifier "puVar8") () ")")))) (; ";")) (return_statement "return uVar1;" (return "return") (identifier "uVar1") (; ";")) (} "}"))) (expression_statement "iVar9 = FUN_001517a0(puVar3,8,*puVar3);" (assignment_expression "iVar9 = FUN_001517a0(puVar3,8,*puVar3)" (identifier "iVar9") (= "=") (call_expression "FUN_001517a0(puVar3,8,*puVar3)" (identifier "FUN_001517a0") (argument_list "(puVar3,8,*puVar3)" (( "(") (identifier "puVar3") (, ",") (number_literal "8") (, ",") (pointer_expression "*puVar3" (* "*") (identifier "puVar3")) () ")")))) (; ";")) (if_statement "if (iVar9 == 0) {\n          (**(code **)(puVar7 + 0x254c9c))\n                    (puVar8,*(int *)(puVar7 + 0x254660) + 0x7d40,\n                     *(int *)(puVar7 + 0x254660) + 0x7f20,0xe43,400,\n                     *(int *)(puVar7 + 0x25465c) + 0x16f8,*(int *)(puVar7 + 0x25465c) + 0x3e28,\n                     puVar4 + 0x340);\n          return 0;\n        }" (if "if") (parenthesized_expression "(iVar9 == 0)" (( "(") (binary_expression "iVar9 == 0" (identifier "iVar9") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          (**(code **)(puVar7 + 0x254c9c))\n                    (puVar8,*(int *)(puVar7 + 0x254660) + 0x7d40,\n                     *(int *)(puVar7 + 0x254660) + 0x7f20,0xe43,400,\n                     *(int *)(puVar7 + 0x25465c) + 0x16f8,*(int *)(puVar7 + 0x25465c) + 0x3e28,\n                     puVar4 + 0x340);\n          return 0;\n        }" ({ "{") (expression_statement "(**(code **)(puVar7 + 0x254c9c))\n                    (puVar8,*(int *)(puVar7 + 0x254660) + 0x7d40,\n                     *(int *)(puVar7 + 0x254660) + 0x7f20,0xe43,400,\n                     *(int *)(puVar7 + 0x25465c) + 0x16f8,*(int *)(puVar7 + 0x25465c) + 0x3e28,\n                     puVar4 + 0x340);" (call_expression "(**(code **)(puVar7 + 0x254c9c))\n                    (puVar8,*(int *)(puVar7 + 0x254660) + 0x7d40,\n                     *(int *)(puVar7 + 0x254660) + 0x7f20,0xe43,400,\n                     *(int *)(puVar7 + 0x25465c) + 0x16f8,*(int *)(puVar7 + 0x25465c) + 0x3e28,\n                     puVar4 + 0x340)" (parenthesized_expression "(**(code **)(puVar7 + 0x254c9c))" (( "(") (pointer_expression "**(code **)(puVar7 + 0x254c9c)" (* "*") (pointer_expression "*(code **)(puVar7 + 0x254c9c)" (* "*") (cast_expression "(code **)(puVar7 + 0x254c9c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar7 + 0x254c9c)" (( "(") (binary_expression "puVar7 + 0x254c9c" (identifier "puVar7") (+ "+") (number_literal "0x254c9c")) () ")"))))) () ")")) (argument_list "(puVar8,*(int *)(puVar7 + 0x254660) + 0x7d40,\n                     *(int *)(puVar7 + 0x254660) + 0x7f20,0xe43,400,\n                     *(int *)(puVar7 + 0x25465c) + 0x16f8,*(int *)(puVar7 + 0x25465c) + 0x3e28,\n                     puVar4 + 0x340)" (( "(") (identifier "puVar8") (, ",") (binary_expression "*(int *)(puVar7 + 0x254660) + 0x7d40" (pointer_expression "*(int *)(puVar7 + 0x254660)" (* "*") (cast_expression "(int *)(puVar7 + 0x254660)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar7 + 0x254660)" (( "(") (binary_expression "puVar7 + 0x254660" (identifier "puVar7") (+ "+") (number_literal "0x254660")) () ")")))) (+ "+") (number_literal "0x7d40")) (, ",") (binary_expression "*(int *)(puVar7 + 0x254660) + 0x7f20" (pointer_expression "*(int *)(puVar7 + 0x254660)" (* "*") (cast_expression "(int *)(puVar7 + 0x254660)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar7 + 0x254660)" (( "(") (binary_expression "puVar7 + 0x254660" (identifier "puVar7") (+ "+") (number_literal "0x254660")) () ")")))) (+ "+") (number_literal "0x7f20")) (, ",") (number_literal "0xe43") (, ",") (number_literal "400") (, ",") (binary_expression "*(int *)(puVar7 + 0x25465c) + 0x16f8" (pointer_expression "*(int *)(puVar7 + 0x25465c)" (* "*") (cast_expression "(int *)(puVar7 + 0x25465c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar7 + 0x25465c)" (( "(") (binary_expression "puVar7 + 0x25465c" (identifier "puVar7") (+ "+") (number_literal "0x25465c")) () ")")))) (+ "+") (number_literal "0x16f8")) (, ",") (binary_expression "*(int *)(puVar7 + 0x25465c) + 0x3e28" (pointer_expression "*(int *)(puVar7 + 0x25465c)" (* "*") (cast_expression "(int *)(puVar7 + 0x25465c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar7 + 0x25465c)" (( "(") (binary_expression "puVar7 + 0x25465c" (identifier "puVar7") (+ "+") (number_literal "0x25465c")) () ")")))) (+ "+") (number_literal "0x3e28")) (, ",") (binary_expression "puVar4 + 0x340" (identifier "puVar4") (+ "+") (number_literal "0x340")) () ")"))) (; ";")) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (expression_statement "iVar6 = FUN_0014cab8(iVar9,iVar6,puVar8);" (assignment_expression "iVar6 = FUN_0014cab8(iVar9,iVar6,puVar8)" (identifier "iVar6") (= "=") (call_expression "FUN_0014cab8(iVar9,iVar6,puVar8)" (identifier "FUN_0014cab8") (argument_list "(iVar9,iVar6,puVar8)" (( "(") (identifier "iVar9") (, ",") (identifier "iVar6") (, ",") (identifier "puVar8") () ")")))) (; ";")) (if_statement "if (iVar6 == 0) {\nLAB_0015438c:\n          uVar1 = 0;\n        }\n        else {\n          **(undefined4 **)(iVar9 + 0x2f0) = *(undefined4 *)(iVar9 + 4);\n          do {\n            uVar1 = FUN_00150e48(puVar4,iVar9,puVar8);\n            if (uVar1 == 0) goto LAB_0015438c;\n            puVar4 = (undefined *)(**(code **)(puVar7 + 0x2551ec))(puVar4);\n          } while (puVar4 != (undefined *)0x0);\n        }" (if "if") (parenthesized_expression "(iVar6 == 0)" (( "(") (binary_expression "iVar6 == 0" (identifier "iVar6") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0015438c:\n          uVar1 = 0;\n        }" ({ "{") (labeled_statement "LAB_0015438c:\n          uVar1 = 0;" (statement_identifier "LAB_0015438c") (: ":") (expression_statement "uVar1 = 0;" (assignment_expression "uVar1 = 0" (identifier "uVar1") (= "=") (number_literal "0")) (; ";"))) (} "}")) (else_clause "else {\n          **(undefined4 **)(iVar9 + 0x2f0) = *(undefined4 *)(iVar9 + 4);\n          do {\n            uVar1 = FUN_00150e48(puVar4,iVar9,puVar8);\n            if (uVar1 == 0) goto LAB_0015438c;\n            puVar4 = (undefined *)(**(code **)(puVar7 + 0x2551ec))(puVar4);\n          } while (puVar4 != (undefined *)0x0);\n        }" (else "else") (compound_statement "{\n          **(undefined4 **)(iVar9 + 0x2f0) = *(undefined4 *)(iVar9 + 4);\n          do {\n            uVar1 = FUN_00150e48(puVar4,iVar9,puVar8);\n            if (uVar1 == 0) goto LAB_0015438c;\n            puVar4 = (undefined *)(**(code **)(puVar7 + 0x2551ec))(puVar4);\n          } while (puVar4 != (undefined *)0x0);\n        }" ({ "{") (expression_statement "**(undefined4 **)(iVar9 + 0x2f0) = *(undefined4 *)(iVar9 + 4);" (assignment_expression "**(undefined4 **)(iVar9 + 0x2f0) = *(undefined4 *)(iVar9 + 4)" (pointer_expression "**(undefined4 **)(iVar9 + 0x2f0)" (* "*") (pointer_expression "*(undefined4 **)(iVar9 + 0x2f0)" (* "*") (cast_expression "(undefined4 **)(iVar9 + 0x2f0)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar9 + 0x2f0)" (( "(") (binary_expression "iVar9 + 0x2f0" (identifier "iVar9") (+ "+") (number_literal "0x2f0")) () ")"))))) (= "=") (pointer_expression "*(undefined4 *)(iVar9 + 4)" (* "*") (cast_expression "(undefined4 *)(iVar9 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 4)" (( "(") (binary_expression "iVar9 + 4" (identifier "iVar9") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (do_statement "do {\n            uVar1 = FUN_00150e48(puVar4,iVar9,puVar8);\n            if (uVar1 == 0) goto LAB_0015438c;\n            puVar4 = (undefined *)(**(code **)(puVar7 + 0x2551ec))(puVar4);\n          } while (puVar4 != (undefined *)0x0);" (do "do") (compound_statement "{\n            uVar1 = FUN_00150e48(puVar4,iVar9,puVar8);\n            if (uVar1 == 0) goto LAB_0015438c;\n            puVar4 = (undefined *)(**(code **)(puVar7 + 0x2551ec))(puVar4);\n          }" ({ "{") (expression_statement "uVar1 = FUN_00150e48(puVar4,iVar9,puVar8);" (assignment_expression "uVar1 = FUN_00150e48(puVar4,iVar9,puVar8)" (identifier "uVar1") (= "=") (call_expression "FUN_00150e48(puVar4,iVar9,puVar8)" (identifier "FUN_00150e48") (argument_list "(puVar4,iVar9,puVar8)" (( "(") (identifier "puVar4") (, ",") (identifier "iVar9") (, ",") (identifier "puVar8") () ")")))) (; ";")) (if_statement "if (uVar1 == 0) goto LAB_0015438c;" (if "if") (parenthesized_expression "(uVar1 == 0)" (( "(") (binary_expression "uVar1 == 0" (identifier "uVar1") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0015438c;" (goto "goto") (statement_identifier "LAB_0015438c") (; ";"))) (expression_statement "puVar4 = (undefined *)(**(code **)(puVar7 + 0x2551ec))(puVar4);" (assignment_expression "puVar4 = (undefined *)(**(code **)(puVar7 + 0x2551ec))(puVar4)" (identifier "puVar4") (= "=") (cast_expression "(undefined *)(**(code **)(puVar7 + 0x2551ec))(puVar4)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(puVar7 + 0x2551ec))(puVar4)" (parenthesized_expression "(**(code **)(puVar7 + 0x2551ec))" (( "(") (pointer_expression "**(code **)(puVar7 + 0x2551ec)" (* "*") (pointer_expression "*(code **)(puVar7 + 0x2551ec)" (* "*") (cast_expression "(code **)(puVar7 + 0x2551ec)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar7 + 0x2551ec)" (( "(") (binary_expression "puVar7 + 0x2551ec" (identifier "puVar7") (+ "+") (number_literal "0x2551ec")) () ")"))))) () ")")) (argument_list "(puVar4)" (( "(") (identifier "puVar4") () ")"))))) (; ";")) (} "}")) (while "while") (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"))) () ")")) (; ";")) (} "}")))) (expression_statement "FUN_001508cc(iVar9);" (call_expression "FUN_001508cc(iVar9)" (identifier "FUN_001508cc") (argument_list "(iVar9)" (( "(") (identifier "iVar9") () ")"))) (; ";")) (return_statement "return uVar1;" (return "return") (identifier "uVar1") (; ";")) (} "}"))) (goto_statement "goto LAB_001544c4;" (goto "goto") (statement_identifier "LAB_001544c4") (; ";")) (} "}"))) (} "}")))) (expression_statement "(**(code **)(puVar7 + 0x255384))\n            (*(int *)(puVar7 + 0x25465c) + 0x1cac,*(int *)(puVar7 + 0x254660) + 0x7d40,0xe31,\n             *(int *)(puVar7 + 0x254660) + 0x7f2c);" (call_expression "(**(code **)(puVar7 + 0x255384))\n            (*(int *)(puVar7 + 0x25465c) + 0x1cac,*(int *)(puVar7 + 0x254660) + 0x7d40,0xe31,\n             *(int *)(puVar7 + 0x254660) + 0x7f2c)" (parenthesized_expression "(**(code **)(puVar7 + 0x255384))" (( "(") (pointer_expression "**(code **)(puVar7 + 0x255384)" (* "*") (pointer_expression "*(code **)(puVar7 + 0x255384)" (* "*") (cast_expression "(code **)(puVar7 + 0x255384)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar7 + 0x255384)" (( "(") (binary_expression "puVar7 + 0x255384" (identifier "puVar7") (+ "+") (number_literal "0x255384")) () ")"))))) () ")")) (argument_list "(*(int *)(puVar7 + 0x25465c) + 0x1cac,*(int *)(puVar7 + 0x254660) + 0x7d40,0xe31,\n             *(int *)(puVar7 + 0x254660) + 0x7f2c)" (( "(") (binary_expression "*(int *)(puVar7 + 0x25465c) + 0x1cac" (pointer_expression "*(int *)(puVar7 + 0x25465c)" (* "*") (cast_expression "(int *)(puVar7 + 0x25465c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar7 + 0x25465c)" (( "(") (binary_expression "puVar7 + 0x25465c" (identifier "puVar7") (+ "+") (number_literal "0x25465c")) () ")")))) (+ "+") (number_literal "0x1cac")) (, ",") (binary_expression "*(int *)(puVar7 + 0x254660) + 0x7d40" (pointer_expression "*(int *)(puVar7 + 0x254660)" (* "*") (cast_expression "(int *)(puVar7 + 0x254660)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar7 + 0x254660)" (( "(") (binary_expression "puVar7 + 0x254660" (identifier "puVar7") (+ "+") (number_literal "0x254660")) () ")")))) (+ "+") (number_literal "0x7d40")) (, ",") (number_literal "0xe31") (, ",") (binary_expression "*(int *)(puVar7 + 0x254660) + 0x7f2c" (pointer_expression "*(int *)(puVar7 + 0x254660)" (* "*") (cast_expression "(int *)(puVar7 + 0x254660)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar7 + 0x254660)" (( "(") (binary_expression "puVar7 + 0x254660" (identifier "puVar7") (+ "+") (number_literal "0x254660")) () ")")))) (+ "+") (number_literal "0x7f2c")) () ")"))) (; ";")) (labeled_statement "LAB_00154508:\n  UNRECOVERED_JUMPTABLE = *(code **)(puVar7 + 0x255384);" (statement_identifier "LAB_00154508") (: ":") (expression_statement "UNRECOVERED_JUMPTABLE = *(code **)(puVar7 + 0x255384);" (assignment_expression "UNRECOVERED_JUMPTABLE = *(code **)(puVar7 + 0x255384)" (identifier "UNRECOVERED_JUMPTABLE") (= "=") (pointer_expression "*(code **)(puVar7 + 0x255384)" (* "*") (cast_expression "(code **)(puVar7 + 0x255384)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar7 + 0x255384)" (( "(") (binary_expression "puVar7 + 0x255384" (identifier "puVar7") (+ "+") (number_literal "0x255384")) () ")"))))) (; ";"))) (expression_statement "iVar6 = *(int *)(puVar7 + 0x25465c) + 0x1e64;" (assignment_expression "iVar6 = *(int *)(puVar7 + 0x25465c) + 0x1e64" (identifier "iVar6") (= "=") (binary_expression "*(int *)(puVar7 + 0x25465c) + 0x1e64" (pointer_expression "*(int *)(puVar7 + 0x25465c)" (* "*") (cast_expression "(int *)(puVar7 + 0x25465c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar7 + 0x25465c)" (( "(") (binary_expression "puVar7 + 0x25465c" (identifier "puVar7") (+ "+") (number_literal "0x25465c")) () ")")))) (+ "+") (number_literal "0x1e64"))) (; ";")) (expression_statement "(*UNRECOVERED_JUMPTABLE)\n            (iVar6,*(int *)(puVar7 + 0x254660) + 0x7d40,0xe2e,*(int *)(puVar7 + 0x254660) + 0x7f2c);" (call_expression "(*UNRECOVERED_JUMPTABLE)\n            (iVar6,*(int *)(puVar7 + 0x254660) + 0x7d40,0xe2e,*(int *)(puVar7 + 0x254660) + 0x7f2c)" (parenthesized_expression "(*UNRECOVERED_JUMPTABLE)" (( "(") (pointer_expression "*UNRECOVERED_JUMPTABLE" (* "*") (identifier "UNRECOVERED_JUMPTABLE")) () ")")) (argument_list "(iVar6,*(int *)(puVar7 + 0x254660) + 0x7d40,0xe2e,*(int *)(puVar7 + 0x254660) + 0x7f2c)" (( "(") (identifier "iVar6") (, ",") (binary_expression "*(int *)(puVar7 + 0x254660) + 0x7d40" (pointer_expression "*(int *)(puVar7 + 0x254660)" (* "*") (cast_expression "(int *)(puVar7 + 0x254660)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar7 + 0x254660)" (( "(") (binary_expression "puVar7 + 0x254660" (identifier "puVar7") (+ "+") (number_literal "0x254660")) () ")")))) (+ "+") (number_literal "0x7d40")) (, ",") (number_literal "0xe2e") (, ",") (binary_expression "*(int *)(puVar7 + 0x254660) + 0x7f2c" (pointer_expression "*(int *)(puVar7 + 0x254660)" (* "*") (cast_expression "(int *)(puVar7 + 0x254660)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar7 + 0x254660)" (( "(") (binary_expression "puVar7 + 0x254660" (identifier "puVar7") (+ "+") (number_literal "0x254660")) () ")")))) (+ "+") (number_literal "0x7f2c")) () ")"))) (; ";")) (if_statement "if (iVar6 != 0) {\n    if (*(int *)(iVar6 + 100) == -0x54535255) {\n      iVar9 = *(int *)(iVar6 + 0x3c);\n      iVar10 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc);\n      if (iVar9 != 0) {\n        iVar10 = *(int *)(iVar6 + 0x38);\n        iVar13 = *(int *)(iVar6 + 0x40);\n        if (0 < iVar10) {\n          iVar11 = 0;\n          iVar12 = 0;\n          do {\n            if (*(int *)(iVar9 + iVar12) != 0) {\n              iVar9 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x2549f8))();\n              if (*(char *)(iVar9 + iVar13) != -0x55) {\n                iVar10 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                          (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e50,\n                           *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x10e,iVar10);\n                goto LAB_00154650;\n              }\n              puVar3 = (undefined4 *)(*(int *)(iVar6 + 0x3c) + iVar12);\n              uVar2 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254e68))(*puVar3);\n              iVar9 = *(int *)(iVar6 + 0x3c);\n              iVar10 = *(int *)(iVar6 + 0x38);\n              *puVar3 = uVar2;\n            }\n            iVar11 = iVar11 + 1;\n            iVar12 = iVar11 * 4;\n          } while (iVar11 < iVar10);\n        }\n        uVar1 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254a90))(iVar9);\n        *(uint *)(iVar6 + 0x3c) = uVar1;\n        return uVar1;\n      }\nLAB_00154650:\n      (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e80,\n                 *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x102,iVar10 + -0x7b1c);\n    }\n    (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7eb0,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x101,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c);\n  }" (if "if") (parenthesized_expression "(iVar6 != 0)" (( "(") (binary_expression "iVar6 != 0" (identifier "iVar6") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    if (*(int *)(iVar6 + 100) == -0x54535255) {\n      iVar9 = *(int *)(iVar6 + 0x3c);\n      iVar10 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc);\n      if (iVar9 != 0) {\n        iVar10 = *(int *)(iVar6 + 0x38);\n        iVar13 = *(int *)(iVar6 + 0x40);\n        if (0 < iVar10) {\n          iVar11 = 0;\n          iVar12 = 0;\n          do {\n            if (*(int *)(iVar9 + iVar12) != 0) {\n              iVar9 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x2549f8))();\n              if (*(char *)(iVar9 + iVar13) != -0x55) {\n                iVar10 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                          (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e50,\n                           *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x10e,iVar10);\n                goto LAB_00154650;\n              }\n              puVar3 = (undefined4 *)(*(int *)(iVar6 + 0x3c) + iVar12);\n              uVar2 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254e68))(*puVar3);\n              iVar9 = *(int *)(iVar6 + 0x3c);\n              iVar10 = *(int *)(iVar6 + 0x38);\n              *puVar3 = uVar2;\n            }\n            iVar11 = iVar11 + 1;\n            iVar12 = iVar11 * 4;\n          } while (iVar11 < iVar10);\n        }\n        uVar1 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254a90))(iVar9);\n        *(uint *)(iVar6 + 0x3c) = uVar1;\n        return uVar1;\n      }\nLAB_00154650:\n      (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e80,\n                 *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x102,iVar10 + -0x7b1c);\n    }\n    (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7eb0,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x101,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c);\n  }" ({ "{") (if_statement "if (*(int *)(iVar6 + 100) == -0x54535255) {\n      iVar9 = *(int *)(iVar6 + 0x3c);\n      iVar10 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc);\n      if (iVar9 != 0) {\n        iVar10 = *(int *)(iVar6 + 0x38);\n        iVar13 = *(int *)(iVar6 + 0x40);\n        if (0 < iVar10) {\n          iVar11 = 0;\n          iVar12 = 0;\n          do {\n            if (*(int *)(iVar9 + iVar12) != 0) {\n              iVar9 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x2549f8))();\n              if (*(char *)(iVar9 + iVar13) != -0x55) {\n                iVar10 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                          (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e50,\n                           *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x10e,iVar10);\n                goto LAB_00154650;\n              }\n              puVar3 = (undefined4 *)(*(int *)(iVar6 + 0x3c) + iVar12);\n              uVar2 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254e68))(*puVar3);\n              iVar9 = *(int *)(iVar6 + 0x3c);\n              iVar10 = *(int *)(iVar6 + 0x38);\n              *puVar3 = uVar2;\n            }\n            iVar11 = iVar11 + 1;\n            iVar12 = iVar11 * 4;\n          } while (iVar11 < iVar10);\n        }\n        uVar1 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254a90))(iVar9);\n        *(uint *)(iVar6 + 0x3c) = uVar1;\n        return uVar1;\n      }\nLAB_00154650:\n      (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e80,\n                 *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x102,iVar10 + -0x7b1c);\n    }" (if "if") (parenthesized_expression "(*(int *)(iVar6 + 100) == -0x54535255)" (( "(") (binary_expression "*(int *)(iVar6 + 100) == -0x54535255" (pointer_expression "*(int *)(iVar6 + 100)" (* "*") (cast_expression "(int *)(iVar6 + 100)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 100)" (( "(") (binary_expression "iVar6 + 100" (identifier "iVar6") (+ "+") (number_literal "100")) () ")")))) (== "==") (number_literal "-0x54535255")) () ")")) (compound_statement "{\n      iVar9 = *(int *)(iVar6 + 0x3c);\n      iVar10 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc);\n      if (iVar9 != 0) {\n        iVar10 = *(int *)(iVar6 + 0x38);\n        iVar13 = *(int *)(iVar6 + 0x40);\n        if (0 < iVar10) {\n          iVar11 = 0;\n          iVar12 = 0;\n          do {\n            if (*(int *)(iVar9 + iVar12) != 0) {\n              iVar9 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x2549f8))();\n              if (*(char *)(iVar9 + iVar13) != -0x55) {\n                iVar10 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                          (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e50,\n                           *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x10e,iVar10);\n                goto LAB_00154650;\n              }\n              puVar3 = (undefined4 *)(*(int *)(iVar6 + 0x3c) + iVar12);\n              uVar2 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254e68))(*puVar3);\n              iVar9 = *(int *)(iVar6 + 0x3c);\n              iVar10 = *(int *)(iVar6 + 0x38);\n              *puVar3 = uVar2;\n            }\n            iVar11 = iVar11 + 1;\n            iVar12 = iVar11 * 4;\n          } while (iVar11 < iVar10);\n        }\n        uVar1 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254a90))(iVar9);\n        *(uint *)(iVar6 + 0x3c) = uVar1;\n        return uVar1;\n      }\nLAB_00154650:\n      (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e80,\n                 *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x102,iVar10 + -0x7b1c);\n    }" ({ "{") (expression_statement "iVar9 = *(int *)(iVar6 + 0x3c);" (assignment_expression "iVar9 = *(int *)(iVar6 + 0x3c)" (identifier "iVar9") (= "=") (pointer_expression "*(int *)(iVar6 + 0x3c)" (* "*") (cast_expression "(int *)(iVar6 + 0x3c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x3c)" (( "(") (binary_expression "iVar6 + 0x3c" (identifier "iVar6") (+ "+") (number_literal "0x3c")) () ")"))))) (; ";")) (expression_statement "iVar10 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc);" (assignment_expression "iVar10 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc)" (identifier "iVar10") (= "=") (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc)" (* "*") (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x2543bc)" (( "(") (binary_expression "UNRECOVERED_JUMPTABLE + 0x2543bc" (identifier "UNRECOVERED_JUMPTABLE") (+ "+") (number_literal "0x2543bc")) () ")"))))) (; ";")) (if_statement "if (iVar9 != 0) {\n        iVar10 = *(int *)(iVar6 + 0x38);\n        iVar13 = *(int *)(iVar6 + 0x40);\n        if (0 < iVar10) {\n          iVar11 = 0;\n          iVar12 = 0;\n          do {\n            if (*(int *)(iVar9 + iVar12) != 0) {\n              iVar9 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x2549f8))();\n              if (*(char *)(iVar9 + iVar13) != -0x55) {\n                iVar10 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                          (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e50,\n                           *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x10e,iVar10);\n                goto LAB_00154650;\n              }\n              puVar3 = (undefined4 *)(*(int *)(iVar6 + 0x3c) + iVar12);\n              uVar2 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254e68))(*puVar3);\n              iVar9 = *(int *)(iVar6 + 0x3c);\n              iVar10 = *(int *)(iVar6 + 0x38);\n              *puVar3 = uVar2;\n            }\n            iVar11 = iVar11 + 1;\n            iVar12 = iVar11 * 4;\n          } while (iVar11 < iVar10);\n        }\n        uVar1 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254a90))(iVar9);\n        *(uint *)(iVar6 + 0x3c) = uVar1;\n        return uVar1;\n      }" (if "if") (parenthesized_expression "(iVar9 != 0)" (( "(") (binary_expression "iVar9 != 0" (identifier "iVar9") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        iVar10 = *(int *)(iVar6 + 0x38);\n        iVar13 = *(int *)(iVar6 + 0x40);\n        if (0 < iVar10) {\n          iVar11 = 0;\n          iVar12 = 0;\n          do {\n            if (*(int *)(iVar9 + iVar12) != 0) {\n              iVar9 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x2549f8))();\n              if (*(char *)(iVar9 + iVar13) != -0x55) {\n                iVar10 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                          (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e50,\n                           *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x10e,iVar10);\n                goto LAB_00154650;\n              }\n              puVar3 = (undefined4 *)(*(int *)(iVar6 + 0x3c) + iVar12);\n              uVar2 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254e68))(*puVar3);\n              iVar9 = *(int *)(iVar6 + 0x3c);\n              iVar10 = *(int *)(iVar6 + 0x38);\n              *puVar3 = uVar2;\n            }\n            iVar11 = iVar11 + 1;\n            iVar12 = iVar11 * 4;\n          } while (iVar11 < iVar10);\n        }\n        uVar1 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254a90))(iVar9);\n        *(uint *)(iVar6 + 0x3c) = uVar1;\n        return uVar1;\n      }" ({ "{") (expression_statement "iVar10 = *(int *)(iVar6 + 0x38);" (assignment_expression "iVar10 = *(int *)(iVar6 + 0x38)" (identifier "iVar10") (= "=") (pointer_expression "*(int *)(iVar6 + 0x38)" (* "*") (cast_expression "(int *)(iVar6 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x38)" (( "(") (binary_expression "iVar6 + 0x38" (identifier "iVar6") (+ "+") (number_literal "0x38")) () ")"))))) (; ";")) (expression_statement "iVar13 = *(int *)(iVar6 + 0x40);" (assignment_expression "iVar13 = *(int *)(iVar6 + 0x40)" (identifier "iVar13") (= "=") (pointer_expression "*(int *)(iVar6 + 0x40)" (* "*") (cast_expression "(int *)(iVar6 + 0x40)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x40)" (( "(") (binary_expression "iVar6 + 0x40" (identifier "iVar6") (+ "+") (number_literal "0x40")) () ")"))))) (; ";")) (if_statement "if (0 < iVar10) {\n          iVar11 = 0;\n          iVar12 = 0;\n          do {\n            if (*(int *)(iVar9 + iVar12) != 0) {\n              iVar9 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x2549f8))();\n              if (*(char *)(iVar9 + iVar13) != -0x55) {\n                iVar10 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                          (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e50,\n                           *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x10e,iVar10);\n                goto LAB_00154650;\n              }\n              puVar3 = (undefined4 *)(*(int *)(iVar6 + 0x3c) + iVar12);\n              uVar2 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254e68))(*puVar3);\n              iVar9 = *(int *)(iVar6 + 0x3c);\n              iVar10 = *(int *)(iVar6 + 0x38);\n              *puVar3 = uVar2;\n            }\n            iVar11 = iVar11 + 1;\n            iVar12 = iVar11 * 4;\n          } while (iVar11 < iVar10);\n        }" (if "if") (parenthesized_expression "(0 < iVar10)" (( "(") (binary_expression "0 < iVar10" (number_literal "0") (< "<") (identifier "iVar10")) () ")")) (compound_statement "{\n          iVar11 = 0;\n          iVar12 = 0;\n          do {\n            if (*(int *)(iVar9 + iVar12) != 0) {\n              iVar9 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x2549f8))();\n              if (*(char *)(iVar9 + iVar13) != -0x55) {\n                iVar10 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                          (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e50,\n                           *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x10e,iVar10);\n                goto LAB_00154650;\n              }\n              puVar3 = (undefined4 *)(*(int *)(iVar6 + 0x3c) + iVar12);\n              uVar2 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254e68))(*puVar3);\n              iVar9 = *(int *)(iVar6 + 0x3c);\n              iVar10 = *(int *)(iVar6 + 0x38);\n              *puVar3 = uVar2;\n            }\n            iVar11 = iVar11 + 1;\n            iVar12 = iVar11 * 4;\n          } while (iVar11 < iVar10);\n        }" ({ "{") (expression_statement "iVar11 = 0;" (assignment_expression "iVar11 = 0" (identifier "iVar11") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar12 = 0;" (assignment_expression "iVar12 = 0" (identifier "iVar12") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n            if (*(int *)(iVar9 + iVar12) != 0) {\n              iVar9 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x2549f8))();\n              if (*(char *)(iVar9 + iVar13) != -0x55) {\n                iVar10 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                          (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e50,\n                           *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x10e,iVar10);\n                goto LAB_00154650;\n              }\n              puVar3 = (undefined4 *)(*(int *)(iVar6 + 0x3c) + iVar12);\n              uVar2 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254e68))(*puVar3);\n              iVar9 = *(int *)(iVar6 + 0x3c);\n              iVar10 = *(int *)(iVar6 + 0x38);\n              *puVar3 = uVar2;\n            }\n            iVar11 = iVar11 + 1;\n            iVar12 = iVar11 * 4;\n          } while (iVar11 < iVar10);" (do "do") (compound_statement "{\n            if (*(int *)(iVar9 + iVar12) != 0) {\n              iVar9 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x2549f8))();\n              if (*(char *)(iVar9 + iVar13) != -0x55) {\n                iVar10 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                          (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e50,\n                           *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x10e,iVar10);\n                goto LAB_00154650;\n              }\n              puVar3 = (undefined4 *)(*(int *)(iVar6 + 0x3c) + iVar12);\n              uVar2 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254e68))(*puVar3);\n              iVar9 = *(int *)(iVar6 + 0x3c);\n              iVar10 = *(int *)(iVar6 + 0x38);\n              *puVar3 = uVar2;\n            }\n            iVar11 = iVar11 + 1;\n            iVar12 = iVar11 * 4;\n          }" ({ "{") (if_statement "if (*(int *)(iVar9 + iVar12) != 0) {\n              iVar9 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x2549f8))();\n              if (*(char *)(iVar9 + iVar13) != -0x55) {\n                iVar10 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                          (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e50,\n                           *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x10e,iVar10);\n                goto LAB_00154650;\n              }\n              puVar3 = (undefined4 *)(*(int *)(iVar6 + 0x3c) + iVar12);\n              uVar2 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254e68))(*puVar3);\n              iVar9 = *(int *)(iVar6 + 0x3c);\n              iVar10 = *(int *)(iVar6 + 0x38);\n              *puVar3 = uVar2;\n            }" (if "if") (parenthesized_expression "(*(int *)(iVar9 + iVar12) != 0)" (( "(") (binary_expression "*(int *)(iVar9 + iVar12) != 0" (pointer_expression "*(int *)(iVar9 + iVar12)" (* "*") (cast_expression "(int *)(iVar9 + iVar12)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + iVar12)" (( "(") (binary_expression "iVar9 + iVar12" (identifier "iVar9") (+ "+") (identifier "iVar12")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              iVar9 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x2549f8))();\n              if (*(char *)(iVar9 + iVar13) != -0x55) {\n                iVar10 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                          (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e50,\n                           *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x10e,iVar10);\n                goto LAB_00154650;\n              }\n              puVar3 = (undefined4 *)(*(int *)(iVar6 + 0x3c) + iVar12);\n              uVar2 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254e68))(*puVar3);\n              iVar9 = *(int *)(iVar6 + 0x3c);\n              iVar10 = *(int *)(iVar6 + 0x38);\n              *puVar3 = uVar2;\n            }" ({ "{") (expression_statement "iVar9 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x2549f8))();" (assignment_expression "iVar9 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x2549f8))()" (identifier "iVar9") (= "=") (call_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x2549f8))()" (parenthesized_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x2549f8))" (( "(") (pointer_expression "**(code **)(UNRECOVERED_JUMPTABLE + 0x2549f8)" (* "*") (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x2549f8)" (* "*") (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x2549f8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x2549f8)" (( "(") (binary_expression "UNRECOVERED_JUMPTABLE + 0x2549f8" (identifier "UNRECOVERED_JUMPTABLE") (+ "+") (number_literal "0x2549f8")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (*(char *)(iVar9 + iVar13) != -0x55) {\n                iVar10 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                          (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e50,\n                           *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x10e,iVar10);\n                goto LAB_00154650;\n              }" (if "if") (parenthesized_expression "(*(char *)(iVar9 + iVar13) != -0x55)" (( "(") (binary_expression "*(char *)(iVar9 + iVar13) != -0x55" (pointer_expression "*(char *)(iVar9 + iVar13)" (* "*") (cast_expression "(char *)(iVar9 + iVar13)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + iVar13)" (( "(") (binary_expression "iVar9 + iVar13" (identifier "iVar9") (+ "+") (identifier "iVar13")) () ")")))) (!= "!=") (number_literal "-0x55")) () ")")) (compound_statement "{\n                iVar10 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c;\n                (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                          (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e50,\n                           *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x10e,iVar10);\n                goto LAB_00154650;\n              }" ({ "{") (expression_statement "iVar10 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c;" (assignment_expression "iVar10 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c" (identifier "iVar10") (= "=") (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc)" (* "*") (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x2543bc)" (( "(") (binary_expression "UNRECOVERED_JUMPTABLE + 0x2543bc" (identifier "UNRECOVERED_JUMPTABLE") (+ "+") (number_literal "0x2543bc")) () ")")))) (+ "+") (number_literal "-0x7b1c"))) (; ";")) (expression_statement "(**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                          (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e50,\n                           *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x10e,iVar10);" (call_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                          (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e50,\n                           *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x10e,iVar10)" (parenthesized_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))" (( "(") (pointer_expression "**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8)" (* "*") (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8)" (* "*") (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x2550d8)" (( "(") (binary_expression "UNRECOVERED_JUMPTABLE + 0x2550d8" (identifier "UNRECOVERED_JUMPTABLE") (+ "+") (number_literal "0x2550d8")) () ")"))))) () ")")) (argument_list "(*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e50,\n                           *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x10e,iVar10)" (( "(") (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e50" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc)" (* "*") (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x2543bc)" (( "(") (binary_expression "UNRECOVERED_JUMPTABLE + 0x2543bc" (identifier "UNRECOVERED_JUMPTABLE") (+ "+") (number_literal "0x2543bc")) () ")")))) (+ "+") (number_literal "-0x7e50")) (, ",") (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc)" (* "*") (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x2543bc)" (( "(") (binary_expression "UNRECOVERED_JUMPTABLE + 0x2543bc" (identifier "UNRECOVERED_JUMPTABLE") (+ "+") (number_literal "0x2543bc")) () ")")))) (+ "+") (number_literal "-0x7ef0")) (, ",") (number_literal "0x10e") (, ",") (identifier "iVar10") () ")"))) (; ";")) (goto_statement "goto LAB_00154650;" (goto "goto") (statement_identifier "LAB_00154650") (; ";")) (} "}"))) (expression_statement "puVar3 = (undefined4 *)(*(int *)(iVar6 + 0x3c) + iVar12);" (assignment_expression "puVar3 = (undefined4 *)(*(int *)(iVar6 + 0x3c) + iVar12)" (identifier "puVar3") (= "=") (cast_expression "(undefined4 *)(*(int *)(iVar6 + 0x3c) + iVar12)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar6 + 0x3c) + iVar12)" (( "(") (binary_expression "*(int *)(iVar6 + 0x3c) + iVar12" (pointer_expression "*(int *)(iVar6 + 0x3c)" (* "*") (cast_expression "(int *)(iVar6 + 0x3c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x3c)" (( "(") (binary_expression "iVar6 + 0x3c" (identifier "iVar6") (+ "+") (number_literal "0x3c")) () ")")))) (+ "+") (identifier "iVar12")) () ")")))) (; ";")) (expression_statement "uVar2 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254e68))(*puVar3);" (assignment_expression "uVar2 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254e68))(*puVar3)" (identifier "uVar2") (= "=") (call_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x254e68))(*puVar3)" (parenthesized_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x254e68))" (( "(") (pointer_expression "**(code **)(UNRECOVERED_JUMPTABLE + 0x254e68)" (* "*") (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x254e68)" (* "*") (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x254e68)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x254e68)" (( "(") (binary_expression "UNRECOVERED_JUMPTABLE + 0x254e68" (identifier "UNRECOVERED_JUMPTABLE") (+ "+") (number_literal "0x254e68")) () ")"))))) () ")")) (argument_list "(*puVar3)" (( "(") (pointer_expression "*puVar3" (* "*") (identifier "puVar3")) () ")")))) (; ";")) (expression_statement "iVar9 = *(int *)(iVar6 + 0x3c);" (assignment_expression "iVar9 = *(int *)(iVar6 + 0x3c)" (identifier "iVar9") (= "=") (pointer_expression "*(int *)(iVar6 + 0x3c)" (* "*") (cast_expression "(int *)(iVar6 + 0x3c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x3c)" (( "(") (binary_expression "iVar6 + 0x3c" (identifier "iVar6") (+ "+") (number_literal "0x3c")) () ")"))))) (; ";")) (expression_statement "iVar10 = *(int *)(iVar6 + 0x38);" (assignment_expression "iVar10 = *(int *)(iVar6 + 0x38)" (identifier "iVar10") (= "=") (pointer_expression "*(int *)(iVar6 + 0x38)" (* "*") (cast_expression "(int *)(iVar6 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x38)" (( "(") (binary_expression "iVar6 + 0x38" (identifier "iVar6") (+ "+") (number_literal "0x38")) () ")"))))) (; ";")) (expression_statement "*puVar3 = uVar2;" (assignment_expression "*puVar3 = uVar2" (pointer_expression "*puVar3" (* "*") (identifier "puVar3")) (= "=") (identifier "uVar2")) (; ";")) (} "}"))) (expression_statement "iVar11 = iVar11 + 1;" (assignment_expression "iVar11 = iVar11 + 1" (identifier "iVar11") (= "=") (binary_expression "iVar11 + 1" (identifier "iVar11") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar12 = iVar11 * 4;" (assignment_expression "iVar12 = iVar11 * 4" (identifier "iVar12") (= "=") (binary_expression "iVar11 * 4" (identifier "iVar11") (* "*") (number_literal "4"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar11 < iVar10)" (( "(") (binary_expression "iVar11 < iVar10" (identifier "iVar11") (< "<") (identifier "iVar10")) () ")")) (; ";")) (} "}"))) (expression_statement "uVar1 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254a90))(iVar9);" (assignment_expression "uVar1 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254a90))(iVar9)" (identifier "uVar1") (= "=") (call_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x254a90))(iVar9)" (parenthesized_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x254a90))" (( "(") (pointer_expression "**(code **)(UNRECOVERED_JUMPTABLE + 0x254a90)" (* "*") (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x254a90)" (* "*") (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x254a90)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x254a90)" (( "(") (binary_expression "UNRECOVERED_JUMPTABLE + 0x254a90" (identifier "UNRECOVERED_JUMPTABLE") (+ "+") (number_literal "0x254a90")) () ")"))))) () ")")) (argument_list "(iVar9)" (( "(") (identifier "iVar9") () ")")))) (; ";")) (expression_statement "*(uint *)(iVar6 + 0x3c) = uVar1;" (assignment_expression "*(uint *)(iVar6 + 0x3c) = uVar1" (pointer_expression "*(uint *)(iVar6 + 0x3c)" (* "*") (cast_expression "(uint *)(iVar6 + 0x3c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x3c)" (( "(") (binary_expression "iVar6 + 0x3c" (identifier "iVar6") (+ "+") (number_literal "0x3c")) () ")")))) (= "=") (identifier "uVar1")) (; ";")) (return_statement "return uVar1;" (return "return") (identifier "uVar1") (; ";")) (} "}"))) (labeled_statement "LAB_00154650:\n      (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e80,\n                 *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x102,iVar10 + -0x7b1c);" (statement_identifier "LAB_00154650") (: ":") (expression_statement "(**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e80,\n                 *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x102,iVar10 + -0x7b1c);" (call_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n                (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e80,\n                 *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x102,iVar10 + -0x7b1c)" (parenthesized_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))" (( "(") (pointer_expression "**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8)" (* "*") (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8)" (* "*") (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x2550d8)" (( "(") (binary_expression "UNRECOVERED_JUMPTABLE + 0x2550d8" (identifier "UNRECOVERED_JUMPTABLE") (+ "+") (number_literal "0x2550d8")) () ")"))))) () ")")) (argument_list "(*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e80,\n                 *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x102,iVar10 + -0x7b1c)" (( "(") (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e80" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc)" (* "*") (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x2543bc)" (( "(") (binary_expression "UNRECOVERED_JUMPTABLE + 0x2543bc" (identifier "UNRECOVERED_JUMPTABLE") (+ "+") (number_literal "0x2543bc")) () ")")))) (+ "+") (number_literal "-0x7e80")) (, ",") (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc)" (* "*") (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x2543bc)" (( "(") (binary_expression "UNRECOVERED_JUMPTABLE + 0x2543bc" (identifier "UNRECOVERED_JUMPTABLE") (+ "+") (number_literal "0x2543bc")) () ")")))) (+ "+") (number_literal "-0x7ef0")) (, ",") (number_literal "0x102") (, ",") (binary_expression "iVar10 + -0x7b1c" (identifier "iVar10") (+ "+") (number_literal "-0x7b1c")) () ")"))) (; ";"))) (} "}"))) (expression_statement "(**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7eb0,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x101,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c);" (call_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7eb0,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x101,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c)" (parenthesized_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))" (( "(") (pointer_expression "**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8)" (* "*") (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8)" (* "*") (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x2550d8)" (( "(") (binary_expression "UNRECOVERED_JUMPTABLE + 0x2550d8" (identifier "UNRECOVERED_JUMPTABLE") (+ "+") (number_literal "0x2550d8")) () ")"))))) () ")")) (argument_list "(*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7eb0,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x101,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c)" (( "(") (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7eb0" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc)" (* "*") (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x2543bc)" (( "(") (binary_expression "UNRECOVERED_JUMPTABLE + 0x2543bc" (identifier "UNRECOVERED_JUMPTABLE") (+ "+") (number_literal "0x2543bc")) () ")")))) (+ "+") (number_literal "-0x7eb0")) (, ",") (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc)" (* "*") (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x2543bc)" (( "(") (binary_expression "UNRECOVERED_JUMPTABLE + 0x2543bc" (identifier "UNRECOVERED_JUMPTABLE") (+ "+") (number_literal "0x2543bc")) () ")")))) (+ "+") (number_literal "-0x7ef0")) (, ",") (number_literal "0x101") (, ",") (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc)" (* "*") (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x2543bc)" (( "(") (binary_expression "UNRECOVERED_JUMPTABLE + 0x2543bc" (identifier "UNRECOVERED_JUMPTABLE") (+ "+") (number_literal "0x2543bc")) () ")")))) (+ "+") (number_literal "-0x7b1c")) () ")"))) (; ";")) (} "}"))) (expression_statement "pcVar14 = *(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8);" (assignment_expression "pcVar14 = *(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8)" (identifier "pcVar14") (= "=") (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8)" (* "*") (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x2550d8)" (( "(") (binary_expression "UNRECOVERED_JUMPTABLE + 0x2550d8" (identifier "UNRECOVERED_JUMPTABLE") (+ "+") (number_literal "0x2550d8")) () ")"))))) (; ";")) (expression_statement "iVar6 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ed8;" (assignment_expression "iVar6 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ed8" (identifier "iVar6") (= "=") (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ed8" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc)" (* "*") (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x2543bc)" (( "(") (binary_expression "UNRECOVERED_JUMPTABLE + 0x2543bc" (identifier "UNRECOVERED_JUMPTABLE") (+ "+") (number_literal "0x2543bc")) () ")")))) (+ "+") (number_literal "-0x7ed8"))) (; ";")) (expression_statement "(*pcVar14)(iVar6,*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x100,\n             *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c);" (call_expression "(*pcVar14)(iVar6,*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x100,\n             *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c)" (parenthesized_expression "(*pcVar14)" (( "(") (pointer_expression "*pcVar14" (* "*") (identifier "pcVar14")) () ")")) (argument_list "(iVar6,*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x100,\n             *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c)" (( "(") (identifier "iVar6") (, ",") (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc)" (* "*") (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x2543bc)" (( "(") (binary_expression "UNRECOVERED_JUMPTABLE + 0x2543bc" (identifier "UNRECOVERED_JUMPTABLE") (+ "+") (number_literal "0x2543bc")) () ")")))) (+ "+") (number_literal "-0x7ef0")) (, ",") (number_literal "0x100") (, ",") (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc)" (* "*") (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x2543bc)" (( "(") (binary_expression "UNRECOVERED_JUMPTABLE + 0x2543bc" (identifier "UNRECOVERED_JUMPTABLE") (+ "+") (number_literal "0x2543bc")) () ")")))) (+ "+") (number_literal "-0x7b1c")) () ")"))) (; ";")) (if_statement "if (iVar6 == 0) {\n    (**(code **)(pcVar14 + 0x254f50))\n              (*(int *)(pcVar14 + 0x254234) + -0x7ed8,*(int *)(pcVar14 + 0x254234) + -0x7ef0,0xd7,\n               *(int *)(pcVar14 + 0x254234) + -0x7b04);\n  }\n  else if (*(int *)(iVar6 + 100) == -0x54535255) {\n    if (*(int *)(iVar6 + 0x3c) != 0) {\n      FUN_00154530();\n    }\n    if (*(int *)(iVar6 + 0x60) != 0) {\n      (**(code **)(pcVar14 + 0x255298))(iVar6 + 0x60);\n    }\n    UNRECOVERED_JUMPTABLE = *(code **)(pcVar14 + 0x254908);\n    *(undefined4 *)(iVar6 + 100) = 0x54535254;\n                    \n                    \n    uVar1 = (*UNRECOVERED_JUMPTABLE)(iVar6);\n    return uVar1;\n  }" (if "if") (parenthesized_expression "(iVar6 == 0)" (( "(") (binary_expression "iVar6 == 0" (identifier "iVar6") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    (**(code **)(pcVar14 + 0x254f50))\n              (*(int *)(pcVar14 + 0x254234) + -0x7ed8,*(int *)(pcVar14 + 0x254234) + -0x7ef0,0xd7,\n               *(int *)(pcVar14 + 0x254234) + -0x7b04);\n  }" ({ "{") (expression_statement "(**(code **)(pcVar14 + 0x254f50))\n              (*(int *)(pcVar14 + 0x254234) + -0x7ed8,*(int *)(pcVar14 + 0x254234) + -0x7ef0,0xd7,\n               *(int *)(pcVar14 + 0x254234) + -0x7b04);" (call_expression "(**(code **)(pcVar14 + 0x254f50))\n              (*(int *)(pcVar14 + 0x254234) + -0x7ed8,*(int *)(pcVar14 + 0x254234) + -0x7ef0,0xd7,\n               *(int *)(pcVar14 + 0x254234) + -0x7b04)" (parenthesized_expression "(**(code **)(pcVar14 + 0x254f50))" (( "(") (pointer_expression "**(code **)(pcVar14 + 0x254f50)" (* "*") (pointer_expression "*(code **)(pcVar14 + 0x254f50)" (* "*") (cast_expression "(code **)(pcVar14 + 0x254f50)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar14 + 0x254f50)" (( "(") (binary_expression "pcVar14 + 0x254f50" (identifier "pcVar14") (+ "+") (number_literal "0x254f50")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar14 + 0x254234) + -0x7ed8,*(int *)(pcVar14 + 0x254234) + -0x7ef0,0xd7,\n               *(int *)(pcVar14 + 0x254234) + -0x7b04)" (( "(") (binary_expression "*(int *)(pcVar14 + 0x254234) + -0x7ed8" (pointer_expression "*(int *)(pcVar14 + 0x254234)" (* "*") (cast_expression "(int *)(pcVar14 + 0x254234)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar14 + 0x254234)" (( "(") (binary_expression "pcVar14 + 0x254234" (identifier "pcVar14") (+ "+") (number_literal "0x254234")) () ")")))) (+ "+") (number_literal "-0x7ed8")) (, ",") (binary_expression "*(int *)(pcVar14 + 0x254234) + -0x7ef0" (pointer_expression "*(int *)(pcVar14 + 0x254234)" (* "*") (cast_expression "(int *)(pcVar14 + 0x254234)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar14 + 0x254234)" (( "(") (binary_expression "pcVar14 + 0x254234" (identifier "pcVar14") (+ "+") (number_literal "0x254234")) () ")")))) (+ "+") (number_literal "-0x7ef0")) (, ",") (number_literal "0xd7") (, ",") (binary_expression "*(int *)(pcVar14 + 0x254234) + -0x7b04" (pointer_expression "*(int *)(pcVar14 + 0x254234)" (* "*") (cast_expression "(int *)(pcVar14 + 0x254234)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar14 + 0x254234)" (( "(") (binary_expression "pcVar14 + 0x254234" (identifier "pcVar14") (+ "+") (number_literal "0x254234")) () ")")))) (+ "+") (number_literal "-0x7b04")) () ")"))) (; ";")) (} "}")) (else_clause "else if (*(int *)(iVar6 + 100) == -0x54535255) {\n    if (*(int *)(iVar6 + 0x3c) != 0) {\n      FUN_00154530();\n    }\n    if (*(int *)(iVar6 + 0x60) != 0) {\n      (**(code **)(pcVar14 + 0x255298))(iVar6 + 0x60);\n    }\n    UNRECOVERED_JUMPTABLE = *(code **)(pcVar14 + 0x254908);\n    *(undefined4 *)(iVar6 + 100) = 0x54535254;\n                    \n                    \n    uVar1 = (*UNRECOVERED_JUMPTABLE)(iVar6);\n    return uVar1;\n  }" (else "else") (if_statement "if (*(int *)(iVar6 + 100) == -0x54535255) {\n    if (*(int *)(iVar6 + 0x3c) != 0) {\n      FUN_00154530();\n    }\n    if (*(int *)(iVar6 + 0x60) != 0) {\n      (**(code **)(pcVar14 + 0x255298))(iVar6 + 0x60);\n    }\n    UNRECOVERED_JUMPTABLE = *(code **)(pcVar14 + 0x254908);\n    *(undefined4 *)(iVar6 + 100) = 0x54535254;\n                    \n                    \n    uVar1 = (*UNRECOVERED_JUMPTABLE)(iVar6);\n    return uVar1;\n  }" (if "if") (parenthesized_expression "(*(int *)(iVar6 + 100) == -0x54535255)" (( "(") (binary_expression "*(int *)(iVar6 + 100) == -0x54535255" (pointer_expression "*(int *)(iVar6 + 100)" (* "*") (cast_expression "(int *)(iVar6 + 100)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 100)" (( "(") (binary_expression "iVar6 + 100" (identifier "iVar6") (+ "+") (number_literal "100")) () ")")))) (== "==") (number_literal "-0x54535255")) () ")")) (compound_statement "{\n    if (*(int *)(iVar6 + 0x3c) != 0) {\n      FUN_00154530();\n    }\n    if (*(int *)(iVar6 + 0x60) != 0) {\n      (**(code **)(pcVar14 + 0x255298))(iVar6 + 0x60);\n    }\n    UNRECOVERED_JUMPTABLE = *(code **)(pcVar14 + 0x254908);\n    *(undefined4 *)(iVar6 + 100) = 0x54535254;\n                    \n                    \n    uVar1 = (*UNRECOVERED_JUMPTABLE)(iVar6);\n    return uVar1;\n  }" ({ "{") (if_statement "if (*(int *)(iVar6 + 0x3c) != 0) {\n      FUN_00154530();\n    }" (if "if") (parenthesized_expression "(*(int *)(iVar6 + 0x3c) != 0)" (( "(") (binary_expression "*(int *)(iVar6 + 0x3c) != 0" (pointer_expression "*(int *)(iVar6 + 0x3c)" (* "*") (cast_expression "(int *)(iVar6 + 0x3c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x3c)" (( "(") (binary_expression "iVar6 + 0x3c" (identifier "iVar6") (+ "+") (number_literal "0x3c")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      FUN_00154530();\n    }" ({ "{") (expression_statement "FUN_00154530();" (call_expression "FUN_00154530()" (identifier "FUN_00154530") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (if_statement "if (*(int *)(iVar6 + 0x60) != 0) {\n      (**(code **)(pcVar14 + 0x255298))(iVar6 + 0x60);\n    }" (if "if") (parenthesized_expression "(*(int *)(iVar6 + 0x60) != 0)" (( "(") (binary_expression "*(int *)(iVar6 + 0x60) != 0" (pointer_expression "*(int *)(iVar6 + 0x60)" (* "*") (cast_expression "(int *)(iVar6 + 0x60)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x60)" (( "(") (binary_expression "iVar6 + 0x60" (identifier "iVar6") (+ "+") (number_literal "0x60")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      (**(code **)(pcVar14 + 0x255298))(iVar6 + 0x60);\n    }" ({ "{") (expression_statement "(**(code **)(pcVar14 + 0x255298))(iVar6 + 0x60);" (call_expression "(**(code **)(pcVar14 + 0x255298))(iVar6 + 0x60)" (parenthesized_expression "(**(code **)(pcVar14 + 0x255298))" (( "(") (pointer_expression "**(code **)(pcVar14 + 0x255298)" (* "*") (pointer_expression "*(code **)(pcVar14 + 0x255298)" (* "*") (cast_expression "(code **)(pcVar14 + 0x255298)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar14 + 0x255298)" (( "(") (binary_expression "pcVar14 + 0x255298" (identifier "pcVar14") (+ "+") (number_literal "0x255298")) () ")"))))) () ")")) (argument_list "(iVar6 + 0x60)" (( "(") (binary_expression "iVar6 + 0x60" (identifier "iVar6") (+ "+") (number_literal "0x60")) () ")"))) (; ";")) (} "}"))) (expression_statement "UNRECOVERED_JUMPTABLE = *(code **)(pcVar14 + 0x254908);" (assignment_expression "UNRECOVERED_JUMPTABLE = *(code **)(pcVar14 + 0x254908)" (identifier "UNRECOVERED_JUMPTABLE") (= "=") (pointer_expression "*(code **)(pcVar14 + 0x254908)" (* "*") (cast_expression "(code **)(pcVar14 + 0x254908)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar14 + 0x254908)" (( "(") (binary_expression "pcVar14 + 0x254908" (identifier "pcVar14") (+ "+") (number_literal "0x254908")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(iVar6 + 100) = 0x54535254;" (assignment_expression "*(undefined4 *)(iVar6 + 100) = 0x54535254" (pointer_expression "*(undefined4 *)(iVar6 + 100)" (* "*") (cast_expression "(undefined4 *)(iVar6 + 100)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 100)" (( "(") (binary_expression "iVar6 + 100" (identifier "iVar6") (+ "+") (number_literal "100")) () ")")))) (= "=") (number_literal "0x54535254")) (; ";")) (expression_statement "uVar1 = (*UNRECOVERED_JUMPTABLE)(iVar6);" (assignment_expression "uVar1 = (*UNRECOVERED_JUMPTABLE)(iVar6)" (identifier "uVar1") (= "=") (call_expression "(*UNRECOVERED_JUMPTABLE)(iVar6)" (parenthesized_expression "(*UNRECOVERED_JUMPTABLE)" (( "(") (pointer_expression "*UNRECOVERED_JUMPTABLE" (* "*") (identifier "UNRECOVERED_JUMPTABLE")) () ")")) (argument_list "(iVar6)" (( "(") (identifier "iVar6") () ")")))) (; ";")) (return_statement "return uVar1;" (return "return") (identifier "uVar1") (; ";")) (} "}"))))) (expression_statement "iVar9 = 0xd8;" (assignment_expression "iVar9 = 0xd8" (identifier "iVar9") (= "=") (number_literal "0xd8")) (; ";")) (expression_statement "UNRECOVERED_JUMPTABLE = *(code **)(pcVar14 + 0x254f50);" (assignment_expression "UNRECOVERED_JUMPTABLE = *(code **)(pcVar14 + 0x254f50)" (identifier "UNRECOVERED_JUMPTABLE") (= "=") (pointer_expression "*(code **)(pcVar14 + 0x254f50)" (* "*") (cast_expression "(code **)(pcVar14 + 0x254f50)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar14 + 0x254f50)" (( "(") (binary_expression "pcVar14 + 0x254f50" (identifier "pcVar14") (+ "+") (number_literal "0x254f50")) () ")"))))) (; ";")) (expression_statement "piVar5 = (int *)(*(int *)(pcVar14 + 0x254234) + -0x7ef0);" (assignment_expression "piVar5 = (int *)(*(int *)(pcVar14 + 0x254234) + -0x7ef0)" (identifier "piVar5") (= "=") (cast_expression "(int *)(*(int *)(pcVar14 + 0x254234) + -0x7ef0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar14 + 0x254234) + -0x7ef0)" (( "(") (binary_expression "*(int *)(pcVar14 + 0x254234) + -0x7ef0" (pointer_expression "*(int *)(pcVar14 + 0x254234)" (* "*") (cast_expression "(int *)(pcVar14 + 0x254234)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar14 + 0x254234)" (( "(") (binary_expression "pcVar14 + 0x254234" (identifier "pcVar14") (+ "+") (number_literal "0x254234")) () ")")))) (+ "+") (number_literal "-0x7ef0")) () ")")))) (; ";")) (expression_statement "iVar6 = *(int *)(pcVar14 + 0x254234) + -0x7eb0;" (assignment_expression "iVar6 = *(int *)(pcVar14 + 0x254234) + -0x7eb0" (identifier "iVar6") (= "=") (binary_expression "*(int *)(pcVar14 + 0x254234) + -0x7eb0" (pointer_expression "*(int *)(pcVar14 + 0x254234)" (* "*") (cast_expression "(int *)(pcVar14 + 0x254234)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar14 + 0x254234)" (( "(") (binary_expression "pcVar14 + 0x254234" (identifier "pcVar14") (+ "+") (number_literal "0x254234")) () ")")))) (+ "+") (number_literal "-0x7eb0"))) (; ";")) (expression_statement "(*UNRECOVERED_JUMPTABLE)();" (call_expression "(*UNRECOVERED_JUMPTABLE)()" (parenthesized_expression "(*UNRECOVERED_JUMPTABLE)" (( "(") (pointer_expression "*UNRECOVERED_JUMPTABLE" (* "*") (identifier "UNRECOVERED_JUMPTABLE")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (piVar5 != (int *)0x0) {\n    if (piVar5[0x19] == -0x54535255) {\n      iVar10 = 1;\n      if (iVar9 - 2U < 0x18) {\n        iVar6 = *(int *)(iVar6 + 0x18);\n        iVar10 = *(int *)((iVar9 - 2U) * 4 + *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7dc0);\n        iVar13 = piVar5[0xc];\n        iVar9 = *piVar5;\n      }\n      else {\n        iVar13 = piVar5[0xc];\n        iVar6 = *(int *)(iVar6 + 0x18);\n        iVar9 = *piVar5;\n      }\n      if (iVar13 != 0) {\n        return iVar6 * iVar9 * iVar10 + 7U >> 3;\n      }\n      return (iVar9 + 7U >> 3) * iVar6 * iVar10;\n    }\n    (**(code **)(UNRECOVERED_JUMPTABLE + 0x254e7c))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7eb0,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7ef0,0x139,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7b30,UNRECOVERED_JUMPTABLE + 0x25c124\n              );\n  }" (if "if") (parenthesized_expression "(piVar5 != (int *)0x0)" (( "(") (binary_expression "piVar5 != (int *)0x0" (identifier "piVar5") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    if (piVar5[0x19] == -0x54535255) {\n      iVar10 = 1;\n      if (iVar9 - 2U < 0x18) {\n        iVar6 = *(int *)(iVar6 + 0x18);\n        iVar10 = *(int *)((iVar9 - 2U) * 4 + *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7dc0);\n        iVar13 = piVar5[0xc];\n        iVar9 = *piVar5;\n      }\n      else {\n        iVar13 = piVar5[0xc];\n        iVar6 = *(int *)(iVar6 + 0x18);\n        iVar9 = *piVar5;\n      }\n      if (iVar13 != 0) {\n        return iVar6 * iVar9 * iVar10 + 7U >> 3;\n      }\n      return (iVar9 + 7U >> 3) * iVar6 * iVar10;\n    }\n    (**(code **)(UNRECOVERED_JUMPTABLE + 0x254e7c))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7eb0,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7ef0,0x139,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7b30,UNRECOVERED_JUMPTABLE + 0x25c124\n              );\n  }" ({ "{") (if_statement "if (piVar5[0x19] == -0x54535255) {\n      iVar10 = 1;\n      if (iVar9 - 2U < 0x18) {\n        iVar6 = *(int *)(iVar6 + 0x18);\n        iVar10 = *(int *)((iVar9 - 2U) * 4 + *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7dc0);\n        iVar13 = piVar5[0xc];\n        iVar9 = *piVar5;\n      }\n      else {\n        iVar13 = piVar5[0xc];\n        iVar6 = *(int *)(iVar6 + 0x18);\n        iVar9 = *piVar5;\n      }\n      if (iVar13 != 0) {\n        return iVar6 * iVar9 * iVar10 + 7U >> 3;\n      }\n      return (iVar9 + 7U >> 3) * iVar6 * iVar10;\n    }" (if "if") (parenthesized_expression "(piVar5[0x19] == -0x54535255)" (( "(") (binary_expression "piVar5[0x19] == -0x54535255" (subscript_expression "piVar5[0x19]" (identifier "piVar5") ([ "[") (number_literal "0x19") (] "]")) (== "==") (number_literal "-0x54535255")) () ")")) (compound_statement "{\n      iVar10 = 1;\n      if (iVar9 - 2U < 0x18) {\n        iVar6 = *(int *)(iVar6 + 0x18);\n        iVar10 = *(int *)((iVar9 - 2U) * 4 + *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7dc0);\n        iVar13 = piVar5[0xc];\n        iVar9 = *piVar5;\n      }\n      else {\n        iVar13 = piVar5[0xc];\n        iVar6 = *(int *)(iVar6 + 0x18);\n        iVar9 = *piVar5;\n      }\n      if (iVar13 != 0) {\n        return iVar6 * iVar9 * iVar10 + 7U >> 3;\n      }\n      return (iVar9 + 7U >> 3) * iVar6 * iVar10;\n    }" ({ "{") (expression_statement "iVar10 = 1;" (assignment_expression "iVar10 = 1" (identifier "iVar10") (= "=") (number_literal "1")) (; ";")) (if_statement "if (iVar9 - 2U < 0x18) {\n        iVar6 = *(int *)(iVar6 + 0x18);\n        iVar10 = *(int *)((iVar9 - 2U) * 4 + *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7dc0);\n        iVar13 = piVar5[0xc];\n        iVar9 = *piVar5;\n      }\n      else {\n        iVar13 = piVar5[0xc];\n        iVar6 = *(int *)(iVar6 + 0x18);\n        iVar9 = *piVar5;\n      }" (if "if") (parenthesized_expression "(iVar9 - 2U < 0x18)" (( "(") (binary_expression "iVar9 - 2U < 0x18" (binary_expression "iVar9 - 2U" (identifier "iVar9") (- "-") (number_literal "2U")) (< "<") (number_literal "0x18")) () ")")) (compound_statement "{\n        iVar6 = *(int *)(iVar6 + 0x18);\n        iVar10 = *(int *)((iVar9 - 2U) * 4 + *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7dc0);\n        iVar13 = piVar5[0xc];\n        iVar9 = *piVar5;\n      }" ({ "{") (expression_statement "iVar6 = *(int *)(iVar6 + 0x18);" (assignment_expression "iVar6 = *(int *)(iVar6 + 0x18)" (identifier "iVar6") (= "=") (pointer_expression "*(int *)(iVar6 + 0x18)" (* "*") (cast_expression "(int *)(iVar6 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x18)" (( "(") (binary_expression "iVar6 + 0x18" (identifier "iVar6") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (expression_statement "iVar10 = *(int *)((iVar9 - 2U) * 4 + *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7dc0);" (assignment_expression "iVar10 = *(int *)((iVar9 - 2U) * 4 + *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7dc0)" (identifier "iVar10") (= "=") (pointer_expression "*(int *)((iVar9 - 2U) * 4 + *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7dc0)" (* "*") (cast_expression "(int *)((iVar9 - 2U) * 4 + *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7dc0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((iVar9 - 2U) * 4 + *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7dc0)" (( "(") (binary_expression "(iVar9 - 2U) * 4 + *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7dc0" (binary_expression "(iVar9 - 2U) * 4 + *(int *)(UNRECOVERED_JUMPTABLE + 0x254160)" (binary_expression "(iVar9 - 2U) * 4" (parenthesized_expression "(iVar9 - 2U)" (( "(") (binary_expression "iVar9 - 2U" (identifier "iVar9") (- "-") (number_literal "2U")) () ")")) (* "*") (number_literal "4")) (+ "+") (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x254160)" (* "*") (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x254160)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x254160)" (( "(") (binary_expression "UNRECOVERED_JUMPTABLE + 0x254160" (identifier "UNRECOVERED_JUMPTABLE") (+ "+") (number_literal "0x254160")) () ")"))))) (+ "+") (number_literal "-0x7dc0")) () ")"))))) (; ";")) (expression_statement "iVar13 = piVar5[0xc];" (assignment_expression "iVar13 = piVar5[0xc]" (identifier "iVar13") (= "=") (subscript_expression "piVar5[0xc]" (identifier "piVar5") ([ "[") (number_literal "0xc") (] "]"))) (; ";")) (expression_statement "iVar9 = *piVar5;" (assignment_expression "iVar9 = *piVar5" (identifier "iVar9") (= "=") (pointer_expression "*piVar5" (* "*") (identifier "piVar5"))) (; ";")) (} "}")) (else_clause "else {\n        iVar13 = piVar5[0xc];\n        iVar6 = *(int *)(iVar6 + 0x18);\n        iVar9 = *piVar5;\n      }" (else "else") (compound_statement "{\n        iVar13 = piVar5[0xc];\n        iVar6 = *(int *)(iVar6 + 0x18);\n        iVar9 = *piVar5;\n      }" ({ "{") (expression_statement "iVar13 = piVar5[0xc];" (assignment_expression "iVar13 = piVar5[0xc]" (identifier "iVar13") (= "=") (subscript_expression "piVar5[0xc]" (identifier "piVar5") ([ "[") (number_literal "0xc") (] "]"))) (; ";")) (expression_statement "iVar6 = *(int *)(iVar6 + 0x18);" (assignment_expression "iVar6 = *(int *)(iVar6 + 0x18)" (identifier "iVar6") (= "=") (pointer_expression "*(int *)(iVar6 + 0x18)" (* "*") (cast_expression "(int *)(iVar6 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x18)" (( "(") (binary_expression "iVar6 + 0x18" (identifier "iVar6") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (expression_statement "iVar9 = *piVar5;" (assignment_expression "iVar9 = *piVar5" (identifier "iVar9") (= "=") (pointer_expression "*piVar5" (* "*") (identifier "piVar5"))) (; ";")) (} "}")))) (if_statement "if (iVar13 != 0) {\n        return iVar6 * iVar9 * iVar10 + 7U >> 3;\n      }" (if "if") (parenthesized_expression "(iVar13 != 0)" (( "(") (binary_expression "iVar13 != 0" (identifier "iVar13") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        return iVar6 * iVar9 * iVar10 + 7U >> 3;\n      }" ({ "{") (return_statement "return iVar6 * iVar9 * iVar10 + 7U >> 3;" (return "return") (binary_expression "iVar6 * iVar9 * iVar10 + 7U >> 3" (binary_expression "iVar6 * iVar9 * iVar10 + 7U" (binary_expression "iVar6 * iVar9 * iVar10" (binary_expression "iVar6 * iVar9" (identifier "iVar6") (* "*") (identifier "iVar9")) (* "*") (identifier "iVar10")) (+ "+") (number_literal "7U")) (>> ">>") (number_literal "3")) (; ";")) (} "}"))) (return_statement "return (iVar9 + 7U >> 3) * iVar6 * iVar10;" (return "return") (binary_expression "(iVar9 + 7U >> 3) * iVar6 * iVar10" (binary_expression "(iVar9 + 7U >> 3) * iVar6" (parenthesized_expression "(iVar9 + 7U >> 3)" (( "(") (binary_expression "iVar9 + 7U >> 3" (binary_expression "iVar9 + 7U" (identifier "iVar9") (+ "+") (number_literal "7U")) (>> ">>") (number_literal "3")) () ")")) (* "*") (identifier "iVar6")) (* "*") (identifier "iVar10")) (; ";")) (} "}"))) (expression_statement "(**(code **)(UNRECOVERED_JUMPTABLE + 0x254e7c))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7eb0,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7ef0,0x139,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7b30,UNRECOVERED_JUMPTABLE + 0x25c124\n              );" (call_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x254e7c))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7eb0,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7ef0,0x139,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7b30,UNRECOVERED_JUMPTABLE + 0x25c124\n              )" (parenthesized_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x254e7c))" (( "(") (pointer_expression "**(code **)(UNRECOVERED_JUMPTABLE + 0x254e7c)" (* "*") (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x254e7c)" (* "*") (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x254e7c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x254e7c)" (( "(") (binary_expression "UNRECOVERED_JUMPTABLE + 0x254e7c" (identifier "UNRECOVERED_JUMPTABLE") (+ "+") (number_literal "0x254e7c")) () ")"))))) () ")")) (argument_list "(*(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7eb0,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7ef0,0x139,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7b30,UNRECOVERED_JUMPTABLE + 0x25c124\n              )" (( "(") (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7eb0" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x254160)" (* "*") (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x254160)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x254160)" (( "(") (binary_expression "UNRECOVERED_JUMPTABLE + 0x254160" (identifier "UNRECOVERED_JUMPTABLE") (+ "+") (number_literal "0x254160")) () ")")))) (+ "+") (number_literal "-0x7eb0")) (, ",") (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7ef0" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x254160)" (* "*") (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x254160)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x254160)" (( "(") (binary_expression "UNRECOVERED_JUMPTABLE + 0x254160" (identifier "UNRECOVERED_JUMPTABLE") (+ "+") (number_literal "0x254160")) () ")")))) (+ "+") (number_literal "-0x7ef0")) (, ",") (number_literal "0x139") (, ",") (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7b30" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x254160)" (* "*") (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x254160)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x254160)" (( "(") (binary_expression "UNRECOVERED_JUMPTABLE + 0x254160" (identifier "UNRECOVERED_JUMPTABLE") (+ "+") (number_literal "0x254160")) () ")")))) (+ "+") (number_literal "-0x7b30")) (, ",") (binary_expression "UNRECOVERED_JUMPTABLE + 0x25c124" (identifier "UNRECOVERED_JUMPTABLE") (+ "+") (number_literal "0x25c124")) () ")"))) (; ";")) (} "}"))) (expression_statement "pcVar14 = *(code **)(UNRECOVERED_JUMPTABLE + 0x254e7c);" (assignment_expression "pcVar14 = *(code **)(UNRECOVERED_JUMPTABLE + 0x254e7c)" (identifier "pcVar14") (= "=") (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x254e7c)" (* "*") (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x254e7c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x254e7c)" (( "(") (binary_expression "UNRECOVERED_JUMPTABLE + 0x254e7c" (identifier "UNRECOVERED_JUMPTABLE") (+ "+") (number_literal "0x254e7c")) () ")"))))) (; ";")) (expression_statement "iVar6 = *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7ed8;" (assignment_expression "iVar6 = *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7ed8" (identifier "iVar6") (= "=") (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7ed8" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x254160)" (* "*") (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x254160)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x254160)" (( "(") (binary_expression "UNRECOVERED_JUMPTABLE + 0x254160" (identifier "UNRECOVERED_JUMPTABLE") (+ "+") (number_literal "0x254160")) () ")")))) (+ "+") (number_literal "-0x7ed8"))) (; ";")) (expression_statement "(*pcVar14)(iVar6,*(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7ef0,0x138,\n             *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7b30);" (call_expression "(*pcVar14)(iVar6,*(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7ef0,0x138,\n             *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7b30)" (parenthesized_expression "(*pcVar14)" (( "(") (pointer_expression "*pcVar14" (* "*") (identifier "pcVar14")) () ")")) (argument_list "(iVar6,*(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7ef0,0x138,\n             *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7b30)" (( "(") (identifier "iVar6") (, ",") (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7ef0" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x254160)" (* "*") (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x254160)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x254160)" (( "(") (binary_expression "UNRECOVERED_JUMPTABLE + 0x254160" (identifier "UNRECOVERED_JUMPTABLE") (+ "+") (number_literal "0x254160")) () ")")))) (+ "+") (number_literal "-0x7ef0")) (, ",") (number_literal "0x138") (, ",") (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7b30" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x254160)" (* "*") (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x254160)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x254160)" (( "(") (binary_expression "UNRECOVERED_JUMPTABLE + 0x254160" (identifier "UNRECOVERED_JUMPTABLE") (+ "+") (number_literal "0x254160")) () ")")))) (+ "+") (number_literal "-0x7b30")) () ")"))) (; ";")) (if_statement "if (iVar6 == 0) {\n    uVar1 = (**(code **)(pcVar14 + 0x254d8c))\n                      (*(int *)(pcVar14 + 0x254070) + -0x7ed8,*(int *)(pcVar14 + 0x254070) + -0x7ef0\n                       ,0x168,*(int *)(pcVar14 + 0x254070) + -0x7b44,pcVar14 + 0x25c034);\n    return uVar1;\n  }" (if "if") (parenthesized_expression "(iVar6 == 0)" (( "(") (binary_expression "iVar6 == 0" (identifier "iVar6") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    uVar1 = (**(code **)(pcVar14 + 0x254d8c))\n                      (*(int *)(pcVar14 + 0x254070) + -0x7ed8,*(int *)(pcVar14 + 0x254070) + -0x7ef0\n                       ,0x168,*(int *)(pcVar14 + 0x254070) + -0x7b44,pcVar14 + 0x25c034);\n    return uVar1;\n  }" ({ "{") (expression_statement "uVar1 = (**(code **)(pcVar14 + 0x254d8c))\n                      (*(int *)(pcVar14 + 0x254070) + -0x7ed8,*(int *)(pcVar14 + 0x254070) + -0x7ef0\n                       ,0x168,*(int *)(pcVar14 + 0x254070) + -0x7b44,pcVar14 + 0x25c034);" (assignment_expression "uVar1 = (**(code **)(pcVar14 + 0x254d8c))\n                      (*(int *)(pcVar14 + 0x254070) + -0x7ed8,*(int *)(pcVar14 + 0x254070) + -0x7ef0\n                       ,0x168,*(int *)(pcVar14 + 0x254070) + -0x7b44,pcVar14 + 0x25c034)" (identifier "uVar1") (= "=") (call_expression "(**(code **)(pcVar14 + 0x254d8c))\n                      (*(int *)(pcVar14 + 0x254070) + -0x7ed8,*(int *)(pcVar14 + 0x254070) + -0x7ef0\n                       ,0x168,*(int *)(pcVar14 + 0x254070) + -0x7b44,pcVar14 + 0x25c034)" (parenthesized_expression "(**(code **)(pcVar14 + 0x254d8c))" (( "(") (pointer_expression "**(code **)(pcVar14 + 0x254d8c)" (* "*") (pointer_expression "*(code **)(pcVar14 + 0x254d8c)" (* "*") (cast_expression "(code **)(pcVar14 + 0x254d8c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar14 + 0x254d8c)" (( "(") (binary_expression "pcVar14 + 0x254d8c" (identifier "pcVar14") (+ "+") (number_literal "0x254d8c")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar14 + 0x254070) + -0x7ed8,*(int *)(pcVar14 + 0x254070) + -0x7ef0\n                       ,0x168,*(int *)(pcVar14 + 0x254070) + -0x7b44,pcVar14 + 0x25c034)" (( "(") (binary_expression "*(int *)(pcVar14 + 0x254070) + -0x7ed8" (pointer_expression "*(int *)(pcVar14 + 0x254070)" (* "*") (cast_expression "(int *)(pcVar14 + 0x254070)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar14 + 0x254070)" (( "(") (binary_expression "pcVar14 + 0x254070" (identifier "pcVar14") (+ "+") (number_literal "0x254070")) () ")")))) (+ "+") (number_literal "-0x7ed8")) (, ",") (binary_expression "*(int *)(pcVar14 + 0x254070) + -0x7ef0" (pointer_expression "*(int *)(pcVar14 + 0x254070)" (* "*") (cast_expression "(int *)(pcVar14 + 0x254070)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar14 + 0x254070)" (( "(") (binary_expression "pcVar14 + 0x254070" (identifier "pcVar14") (+ "+") (number_literal "0x254070")) () ")")))) (+ "+") (number_literal "-0x7ef0")) (, ",") (number_literal "0x168") (, ",") (binary_expression "*(int *)(pcVar14 + 0x254070) + -0x7b44" (pointer_expression "*(int *)(pcVar14 + 0x254070)" (* "*") (cast_expression "(int *)(pcVar14 + 0x254070)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar14 + 0x254070)" (( "(") (binary_expression "pcVar14 + 0x254070" (identifier "pcVar14") (+ "+") (number_literal "0x254070")) () ")")))) (+ "+") (number_literal "-0x7b44")) (, ",") (binary_expression "pcVar14 + 0x25c034" (identifier "pcVar14") (+ "+") (number_literal "0x25c034")) () ")")))) (; ";")) (return_statement "return uVar1;" (return "return") (identifier "uVar1") (; ";")) (} "}"))) (if_statement "if (*(int *)(iVar6 + 100) != -0x54535255) {\n    uVar1 = (**(code **)(pcVar14 + 0x254d8c))\n                      (*(int *)(pcVar14 + 0x254070) + -0x7eb0,*(int *)(pcVar14 + 0x254070) + -0x7ef0\n                       ,0x169,*(int *)(pcVar14 + 0x254070) + -0x7b44);\n    return uVar1;\n  }" (if "if") (parenthesized_expression "(*(int *)(iVar6 + 100) != -0x54535255)" (( "(") (binary_expression "*(int *)(iVar6 + 100) != -0x54535255" (pointer_expression "*(int *)(iVar6 + 100)" (* "*") (cast_expression "(int *)(iVar6 + 100)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 100)" (( "(") (binary_expression "iVar6 + 100" (identifier "iVar6") (+ "+") (number_literal "100")) () ")")))) (!= "!=") (number_literal "-0x54535255")) () ")")) (compound_statement "{\n    uVar1 = (**(code **)(pcVar14 + 0x254d8c))\n                      (*(int *)(pcVar14 + 0x254070) + -0x7eb0,*(int *)(pcVar14 + 0x254070) + -0x7ef0\n                       ,0x169,*(int *)(pcVar14 + 0x254070) + -0x7b44);\n    return uVar1;\n  }" ({ "{") (expression_statement "uVar1 = (**(code **)(pcVar14 + 0x254d8c))\n                      (*(int *)(pcVar14 + 0x254070) + -0x7eb0,*(int *)(pcVar14 + 0x254070) + -0x7ef0\n                       ,0x169,*(int *)(pcVar14 + 0x254070) + -0x7b44);" (assignment_expression "uVar1 = (**(code **)(pcVar14 + 0x254d8c))\n                      (*(int *)(pcVar14 + 0x254070) + -0x7eb0,*(int *)(pcVar14 + 0x254070) + -0x7ef0\n                       ,0x169,*(int *)(pcVar14 + 0x254070) + -0x7b44)" (identifier "uVar1") (= "=") (call_expression "(**(code **)(pcVar14 + 0x254d8c))\n                      (*(int *)(pcVar14 + 0x254070) + -0x7eb0,*(int *)(pcVar14 + 0x254070) + -0x7ef0\n                       ,0x169,*(int *)(pcVar14 + 0x254070) + -0x7b44)" (parenthesized_expression "(**(code **)(pcVar14 + 0x254d8c))" (( "(") (pointer_expression "**(code **)(pcVar14 + 0x254d8c)" (* "*") (pointer_expression "*(code **)(pcVar14 + 0x254d8c)" (* "*") (cast_expression "(code **)(pcVar14 + 0x254d8c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar14 + 0x254d8c)" (( "(") (binary_expression "pcVar14 + 0x254d8c" (identifier "pcVar14") (+ "+") (number_literal "0x254d8c")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar14 + 0x254070) + -0x7eb0,*(int *)(pcVar14 + 0x254070) + -0x7ef0\n                       ,0x169,*(int *)(pcVar14 + 0x254070) + -0x7b44)" (( "(") (binary_expression "*(int *)(pcVar14 + 0x254070) + -0x7eb0" (pointer_expression "*(int *)(pcVar14 + 0x254070)" (* "*") (cast_expression "(int *)(pcVar14 + 0x254070)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar14 + 0x254070)" (( "(") (binary_expression "pcVar14 + 0x254070" (identifier "pcVar14") (+ "+") (number_literal "0x254070")) () ")")))) (+ "+") (number_literal "-0x7eb0")) (, ",") (binary_expression "*(int *)(pcVar14 + 0x254070) + -0x7ef0" (pointer_expression "*(int *)(pcVar14 + 0x254070)" (* "*") (cast_expression "(int *)(pcVar14 + 0x254070)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar14 + 0x254070)" (( "(") (binary_expression "pcVar14 + 0x254070" (identifier "pcVar14") (+ "+") (number_literal "0x254070")) () ")")))) (+ "+") (number_literal "-0x7ef0")) (, ",") (number_literal "0x169") (, ",") (binary_expression "*(int *)(pcVar14 + 0x254070) + -0x7b44" (pointer_expression "*(int *)(pcVar14 + 0x254070)" (* "*") (cast_expression "(int *)(pcVar14 + 0x254070)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar14 + 0x254070)" (( "(") (binary_expression "pcVar14 + 0x254070" (identifier "pcVar14") (+ "+") (number_literal "0x254070")) () ")")))) (+ "+") (number_literal "-0x7b44")) () ")")))) (; ";")) (return_statement "return uVar1;" (return "return") (identifier "uVar1") (; ";")) (} "}"))) (return_statement "return *(uint *)(iVar6 + 0x44);" (return "return") (pointer_expression "*(uint *)(iVar6 + 0x44)" (* "*") (cast_expression "(uint *)(iVar6 + 0x44)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x44)" (( "(") (binary_expression "iVar6 + 0x44" (identifier "iVar6") (+ "+") (number_literal "0x44")) () ")")))) (; ";")) (} "}")))

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

type_1
function_1(type_2 *quantize_info,type_3 *var_1,type_3 *var_7,type_4 *var_8)

{
  type_5 *var_10;
  type_1 var_12;
  type_6 uVar3;
  int var_20;
  type_2 *quantize_info_00;
  type_7 *var_25;
  type_3 *var_15;
  int *var_28;
  type_3 *var_18;
  type_8 *var_4;
  type_4 *var_17;
  int var_16;
  int var_21;
  int var_24;
  type_6 *puVar10;
  int var_22;
  int var_23;
  type_9 *var_19;
  type_9 *var_26;
  
  if (var_1 == (type_3 *)0x0) {
LAB_001541dc:
    (*(type_9 *)PTR___assert_fail_003a9608)
              (var_2 + 0xdd0,var_3 + 0x7d40,0xde9,
               var_3 + 0x7f44);
LAB_00154200:
    var_4 = var_3 + 0x7f44;
    (*(type_9 *)PTR___assert_fail_003a9608)
              (var_3 + 0x7ec4,var_3 + 0x7d40,0xded,var_4);
LAB_00154224:
    var_4 = var_4 + 0x7f44;
    (*(type_9 *)PTR___assert_fail_003a9608)
              (var_2 + 0x294c,var_3 + 0x7d40,0xdf0,var_4);
LAB_00154244:
    var_18 = (type_3 *)0xdef;
    (*(type_9 *)PTR___assert_fail_003a9608)
              (var_2 + 0x1cac,var_3 + 0x7d40,0xdef,var_4 + 0x7f44);
  }
  else {
    if (var_1->signature != 0xabacadab) {
      (*(type_9 *)PTR___assert_fail_003a9608)
                (var_5 + -0x3784,
                 var_3 + 0x7d40,0xdea,var_3 + 0x7f44);
      goto LAB_001541dc;
    }
    if (var_1->debug != var_6) {
      (*(type_9 *)PTR_LogMagickEvent_003a91e0)
                (0x8000,var_3 + 0x7d40,var_3 + 0x7f38,0xdec,
                 var_3 + -0x62ac,var_1->filename);
    }
    if (var_7 == (type_3 *)0x0) goto LAB_00154200;
    var_18 = (type_3 *)0xdee;
    if (var_7->signature == 0xabacadab) {
      var_4 = var_3;
      if (var_8 != (type_4 *)0x0) {
        if (var_8->signature == 0xabacadab) {
          var_10 = var_9(quantize_info,8,quantize_info->number_colors);
          if (var_10 == (type_5 *)0x0) {
            (*(type_9 *)PTR_ThrowMagickException_003a8f20)
                      (var_8,var_3 + 0x7d40,var_3 + 0x7f38
                       ,0xdf5,400,var_2 + 0x16f8,var_2 + 0x3e28,
                       var_1->filename);
            return var_6;
          }
          var_12 = var_11(var_10,var_7,var_8);
          if (var_12 != var_6) {
            var_10->quantize_info->number_colors = var_10->colors;
            var_12 = var_13(var_1,var_10,var_8);
          }
          var_14(var_10);
          return var_12;
        }
        goto LAB_00154224;
      }
      goto LAB_00154244;
    }
  }
  var_17 = (type_4 *)(var_3 + 0x7f44);
  var_15 = (type_3 *)(var_3 + 0x7d40);
  quantize_info_00 = (type_2 *)(var_3 + 0x7ee4);
  var_4 = PTR___assert_fail_003a9608;
  (*(type_9 *)PTR___assert_fail_003a9608)();
  if (var_15 == (type_3 *)0x0) {
    var_16 = *(int *)(var_4 + 0x254660) + 0x7f2c;
    (**(type_9 **)(var_4 + 0x255384))
              (*(int *)(var_4 + 0x25465c) + 0x1e48,*(int *)(var_4 + 0x254660) + 0x7d40,0xe2d,var_16
              );
LAB_001544c4:
    (**(type_9 **)(var_4 + 0x255384))
              (*(int *)(var_4 + 0x25465c) + 0x294c,*(int *)(var_4 + 0x254660) + 0x7d40,0xe32,
               var_16 + 0x7f2c);
  }
  else {
    if (var_15->signature != 0xabacadab) goto LAB_00154508;
    if (var_15->debug != var_6) {
      (**(type_9 **)(var_4 + 0x254f5c))
                (0x8000,*(int *)(var_4 + 0x254660) + 0x7d40,*(int *)(var_4 + 0x254660) + 0x7f20,
                 0xe30,*(int *)(var_4 + 0x254660) + -0x62ac,var_15->filename);
    }
    if (var_17 != (type_4 *)0x0) {
      var_16 = *(int *)(var_4 + 0x254660);
      if (var_17->signature == 0xabacadab) {
        if (var_18 == (type_3 *)0x0) {
                    /* WARNING: Could not recover jumptable at 0x00154428. Too many branches */
                    /* WARNING: Treating indirect jump as call */
          var_12 = (**(type_9 **)(var_4 + 0x254bec))(quantize_info_00,var_15,var_17);
          return var_12;
        }
        var_10 = var_9(quantize_info_00,8,quantize_info_00->number_colors);
        if (var_10 == (type_5 *)0x0) {
          (**(type_9 **)(var_4 + 0x254c9c))
                    (var_17,*(int *)(var_4 + 0x254660) + 0x7d40,
                     *(int *)(var_4 + 0x254660) + 0x7f20,0xe43,400,
                     *(int *)(var_4 + 0x25465c) + 0x16f8,*(int *)(var_4 + 0x25465c) + 0x3e28,
                     var_15->filename);
          return var_6;
        }
        var_12 = var_11(var_10,var_18,var_17);
        if (var_12 == var_6) {
LAB_0015438c:
          var_12 = var_6;
        }
        else {
          var_10->quantize_info->number_colors = var_10->colors;
          do {
            var_12 = var_13(var_15,var_10,var_17);
            if (var_12 == var_6) goto LAB_0015438c;
            var_15 = (type_3 *)(**(type_9 **)(var_4 + 0x2551ec))(var_15);
          } while (var_15 != (type_3 *)0x0);
        }
        var_14(var_10);
        return var_12;
      }
      goto LAB_001544c4;
    }
  }
  (**(type_9 **)(var_4 + 0x255384))
            (*(int *)(var_4 + 0x25465c) + 0x1cac,*(int *)(var_4 + 0x254660) + 0x7d40,0xe31,
             *(int *)(var_4 + 0x254660) + 0x7f2c);
LAB_00154508:
  var_19 = *(type_9 **)(var_4 + 0x255384);
  var_16 = *(int *)(var_4 + 0x25465c) + 0x1e64;
  (*var_19)
            (var_16,*(int *)(var_4 + 0x254660) + 0x7d40,0xe2e,*(int *)(var_4 + 0x254660) + 0x7f2c);
  if (var_16 != 0) {
    if (*(int *)(var_16 + 100) == -0x54535255) {
      var_20 = *(int *)(var_16 + 0x3c);
      var_21 = *(int *)(var_19 + 0x2543bc);
      if (var_20 != 0) {
        var_21 = *(int *)(var_16 + 0x38);
        var_23 = *(int *)(var_16 + 0x40);
        if (0 < var_21) {
          var_24 = 0;
          var_22 = 0;
          do {
            if (*(int *)(var_20 + var_22) != 0) {
              var_20 = (**(type_9 **)(var_19 + 0x2549f8))();
              if (*(char *)(var_20 + var_23) != -0x55) {
                var_21 = *(int *)(var_19 + 0x2543bc) + -0x7b1c;
                (**(type_9 **)(var_19 + 0x2550d8))
                          (*(int *)(var_19 + 0x2543bc) + -0x7e50,
                           *(int *)(var_19 + 0x2543bc) + -0x7ef0,0x10e,var_21);
                goto LAB_00154650;
              }
              puVar10 = (type_6 *)(*(int *)(var_16 + 0x3c) + var_22);
              uVar3 = (**(type_9 **)(var_19 + 0x254e68))(*puVar10);
              var_20 = *(int *)(var_16 + 0x3c);
              var_21 = *(int *)(var_16 + 0x38);
              *puVar10 = uVar3;
            }
            var_24 = var_24 + 1;
            var_22 = var_24 * 4;
          } while (var_24 < var_21);
        }
        var_12 = (**(type_9 **)(var_19 + 0x254a90))(var_20);
        *(type_1 *)(var_16 + 0x3c) = var_12;
        return var_12;
      }
LAB_00154650:
      (**(type_9 **)(var_19 + 0x2550d8))
                (*(int *)(var_19 + 0x2543bc) + -0x7e80,
                 *(int *)(var_19 + 0x2543bc) + -0x7ef0,0x102,var_21 + -0x7b1c);
    }
    (**(type_9 **)(var_19 + 0x2550d8))
              (*(int *)(var_19 + 0x2543bc) + -0x7eb0,
               *(int *)(var_19 + 0x2543bc) + -0x7ef0,0x101,
               *(int *)(var_19 + 0x2543bc) + -0x7b1c);
  }
  var_26 = *(type_9 **)(var_19 + 0x2550d8);
  var_25 = (type_7 *)(*(int *)(var_19 + 0x2543bc) + -0x7ed8);
  (*var_26)(var_25,*(int *)(var_19 + 0x2543bc) + -0x7ef0,0x100,
             *(int *)(var_19 + 0x2543bc) + -0x7b1c);
  if (var_25 == (type_7 *)0x0) {
    (**(type_9 **)(var_26 + 0x254f50))
              (*(int *)(var_26 + 0x254234) + -0x7ed8,*(int *)(var_26 + 0x254234) + -0x7ef0,0xd7,
               *(int *)(var_26 + 0x254234) + -0x7b04);
  }
  else if (var_25->signature == 0xabacadab) {
    if (var_25->pixels != (type_10 **)0x0) {
      var_27(var_25);
    }
    if (var_25->semaphore != (type_11 *)0x0) {
      (**(type_9 **)(var_26 + 0x255298))(&var_25->semaphore);
    }
    var_19 = *(type_9 **)(var_26 + 0x254908);
    var_25->signature = 0x54535254;
                    /* WARNING: Could not recover jumptable at 0x0015473c. Too many branches */
                    /* WARNING: Treating indirect jump as call */
    var_12 = (*var_19)(var_25);
    return var_12;
  }
  var_20 = 0xd8;
  var_19 = *(type_9 **)(var_26 + 0x254f50);
  var_28 = (int *)(*(int *)(var_26 + 0x254234) + -0x7ef0);
  var_16 = *(int *)(var_26 + 0x254234) + -0x7eb0;
  (*var_19)();
  if (var_28 != (int *)0x0) {
    if (var_28[0x19] == -0x54535255) {
      var_21 = 1;
      if (var_20 - 2U < 0x18) {
        var_16 = *(int *)(var_16 + 0x18);
        var_21 = *(int *)((var_20 - 2U) * 4 + *(int *)(var_19 + 0x254160) + -0x7dc0);
        var_23 = var_28[0xc];
        var_20 = *var_28;
      }
      else {
        var_23 = var_28[0xc];
        var_16 = *(int *)(var_16 + 0x18);
        var_20 = *var_28;
      }
      if (var_23 != 0) {
        return var_16 * var_20 * var_21 + 7U >> 3;
      }
      return (var_20 + 7U >> 3) * var_16 * var_21;
    }
    (**(type_9 **)(var_19 + 0x254e7c))
              (*(int *)(var_19 + 0x254160) + -0x7eb0,
               *(int *)(var_19 + 0x254160) + -0x7ef0,0x139,
               *(int *)(var_19 + 0x254160) + -0x7b30,var_19 + 0x25c124
              );
  }
  var_26 = *(type_9 **)(var_19 + 0x254e7c);
  var_16 = *(int *)(var_19 + 0x254160) + -0x7ed8;
  (*var_26)(var_16,*(int *)(var_19 + 0x254160) + -0x7ef0,0x138,
             *(int *)(var_19 + 0x254160) + -0x7b30);
  if (var_16 == 0) {
    var_12 = (**(type_9 **)(var_26 + 0x254d8c))
                      (*(int *)(var_26 + 0x254070) + -0x7ed8,*(int *)(var_26 + 0x254070) + -0x7ef0
                       ,0x168,*(int *)(var_26 + 0x254070) + -0x7b44,var_26 + 0x25c034);
    return var_12;
  }
  if (*(int *)(var_16 + 100) != -0x54535255) {
    var_12 = (**(type_9 **)(var_26 + 0x254d8c))
                      (*(int *)(var_26 + 0x254070) + -0x7eb0,*(int *)(var_26 + 0x254070) + -0x7ef0
                       ,0x169,*(int *)(var_26 + 0x254070) + -0x7b44);
    return var_12;
  }
  return *(type_1 *)(var_16 + 0x44);
}


(translation_unit (function_definition type: (type_identifier) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (identifier)))) body: (compound_statement (declaration type: (type_identifier) 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: (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: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (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)))))) (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: (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 (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) (identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_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) (binary_expression left: (identifier) right: (number_literal)))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (number_literal) (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (number_literal) (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (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: (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: (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal) (pointer_expression argument: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (number_literal) (number_literal) (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal))))) (return_statement (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (pointer_expression argument: (cast_expression 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: (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: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (return_statement (identifier)))) (goto_statement label: (statement_identifier)))) (goto_statement label: (statement_identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (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: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_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))))))) 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) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (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) (identifier) (identifier))))) (return_statement (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal) (pointer_expression argument: (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) (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal))))) (return_statement (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (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: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (pointer_expression argument: (cast_expression 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: (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))))))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (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))))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (return_statement (identifier)))) (goto_statement label: (statement_identifier))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_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 (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (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: (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)))) (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: (identifier))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal) (identifier)))) (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: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor 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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_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))))) (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))) (return_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: (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) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (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 (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (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: (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: (identifier))) arguments: (argument_list (identifier))))) (return_statement (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (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: (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 (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: (number_literal))) (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier))))) 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: (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: (identifier))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (return_statement (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier)) right: (number_literal)) right: (number_literal))))) (return_statement (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))) right: (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)) (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 (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor 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)) (binary_expression left: (identifier) right: (number_literal)))))) (return_statement (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (return_statement (identifier)))) (return_statement (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)))))))))

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

{
  uint uVar1;
  undefined4 uVar2;
  undefined4 *puVar3;
  undefined *puVar4;
  int *piVar5;
  int iVar6;
  undefined *puVar7;
  undefined *puVar8;
  int iVar9;
  int iVar10;
  int iVar11;
  int iVar12;
  int iVar13;
  code *UNRECOVERED_JUMPTABLE;
  code *pcVar14;
  
  if (param_2 == 0) {
LAB_001541dc:
    (*(code *)PTR___assert_fail_003a9608)
              (PTR_LAB_003a88e0 + 0xdd0,PTR_s_t_to_left_003a88e4 + 0x7d40,0xde9,
               PTR_s_t_to_left_003a88e4 + 0x7f44);
LAB_00154200:
    puVar7 = PTR_s_t_to_left_003a88e4 + 0x7f44;
    (*(code *)PTR___assert_fail_003a9608)
              (PTR_s_t_to_left_003a88e4 + 0x7ec4,PTR_s_t_to_left_003a88e4 + 0x7d40,0xded,puVar7);
LAB_00154224:
    puVar7 = puVar7 + 0x7f44;
    (*(code *)PTR___assert_fail_003a9608)
              (PTR_LAB_003a88e0 + 0x294c,PTR_s_t_to_left_003a88e4 + 0x7d40,0xdf0,puVar7);
LAB_00154244:
    iVar6 = 0xdef;
    (*(code *)PTR___assert_fail_003a9608)
              (PTR_LAB_003a88e0 + 0x1cac,PTR_s_t_to_left_003a88e4 + 0x7d40,0xdef,puVar7 + 0x7f44);
  }
  else {
    if (*(int *)(param_2 + 0x336c) != -0x54535255) {
      (*(code *)PTR___assert_fail_003a9608)
                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,
                 PTR_s_t_to_left_003a88e4 + 0x7d40,0xdea,PTR_s_t_to_left_003a88e4 + 0x7f44);
      goto LAB_001541dc;
    }
    if (*(int *)(param_2 + 0x3350) != 0) {
      (*(code *)PTR_LogMagickEvent_003a91e0)
                (0x8000,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38,0xdec,
                 PTR_s_t_to_left_003a88e4 + -0x62ac,param_2 + 0x340);
    }
    if (param_3 == 0) goto LAB_00154200;
    iVar6 = 0xdee;
    if (*(int *)(param_3 + 0x336c) == -0x54535255) {
      puVar7 = PTR_s_t_to_left_003a88e4;
      if (param_4 != 0) {
        if (*(int *)(param_4 + 0x1c) == -0x54535255) {
          iVar6 = FUN_001517a0(param_1,8,*param_1);
          if (iVar6 == 0) {
            (*(code *)PTR_ThrowMagickException_003a8f20)
                      (param_4,PTR_s_t_to_left_003a88e4 + 0x7d40,PTR_s_t_to_left_003a88e4 + 0x7f38,
                       0xdf5,400,PTR_LAB_003a88e0 + 0x16f8,PTR_LAB_003a88e0 + 0x3e28,param_2 + 0x340
                      );
            return 0;
          }
          uVar1 = FUN_0014cab8(iVar6,param_3,param_4);
          if (uVar1 != 0) {
            **(undefined4 **)(iVar6 + 0x2f0) = *(undefined4 *)(iVar6 + 4);
            uVar1 = FUN_00150e48(param_2,iVar6,param_4);
          }
          FUN_001508cc(iVar6);
          return uVar1;
        }
        goto LAB_00154224;
      }
      goto LAB_00154244;
    }
  }
  puVar8 = PTR_s_t_to_left_003a88e4 + 0x7f44;
  puVar4 = PTR_s_t_to_left_003a88e4 + 0x7d40;
  puVar3 = (undefined4 *)(PTR_s_t_to_left_003a88e4 + 0x7ee4);
  puVar7 = PTR___assert_fail_003a9608;
  (*(code *)PTR___assert_fail_003a9608)();
  if (puVar4 == (undefined *)0x0) {
    iVar9 = *(int *)(puVar7 + 0x254660) + 0x7f2c;
    (**(code **)(puVar7 + 0x255384))
              (*(int *)(puVar7 + 0x25465c) + 0x1e48,*(int *)(puVar7 + 0x254660) + 0x7d40,0xe2d,iVar9
              );
LAB_001544c4:
    (**(code **)(puVar7 + 0x255384))
              (*(int *)(puVar7 + 0x25465c) + 0x294c,*(int *)(puVar7 + 0x254660) + 0x7d40,0xe32,
               iVar9 + 0x7f2c);
  }
  else {
    if (*(int *)(puVar4 + 0x336c) != -0x54535255) goto LAB_00154508;
    if (*(int *)(puVar4 + 0x3350) != 0) {
      (**(code **)(puVar7 + 0x254f5c))
                (0x8000,*(int *)(puVar7 + 0x254660) + 0x7d40,*(int *)(puVar7 + 0x254660) + 0x7f20,
                 0xe30,*(int *)(puVar7 + 0x254660) + -0x62ac,puVar4 + 0x340);
    }
    if (puVar8 != (undefined *)0x0) {
      iVar9 = *(int *)(puVar7 + 0x254660);
      if (*(int *)(puVar8 + 0x1c) == -0x54535255) {
        if (iVar6 == 0) {
                    /* WARNING: Could not recover jumptable at 0x00154428. Too many branches */
                    /* WARNING: Treating indirect jump as call */
          uVar1 = (**(code **)(puVar7 + 0x254bec))(puVar3,puVar4,puVar8);
          return uVar1;
        }
        iVar9 = FUN_001517a0(puVar3,8,*puVar3);
        if (iVar9 == 0) {
          (**(code **)(puVar7 + 0x254c9c))
                    (puVar8,*(int *)(puVar7 + 0x254660) + 0x7d40,
                     *(int *)(puVar7 + 0x254660) + 0x7f20,0xe43,400,
                     *(int *)(puVar7 + 0x25465c) + 0x16f8,*(int *)(puVar7 + 0x25465c) + 0x3e28,
                     puVar4 + 0x340);
          return 0;
        }
        iVar6 = FUN_0014cab8(iVar9,iVar6,puVar8);
        if (iVar6 == 0) {
LAB_0015438c:
          uVar1 = 0;
        }
        else {
          **(undefined4 **)(iVar9 + 0x2f0) = *(undefined4 *)(iVar9 + 4);
          do {
            uVar1 = FUN_00150e48(puVar4,iVar9,puVar8);
            if (uVar1 == 0) goto LAB_0015438c;
            puVar4 = (undefined *)(**(code **)(puVar7 + 0x2551ec))(puVar4);
          } while (puVar4 != (undefined *)0x0);
        }
        FUN_001508cc(iVar9);
        return uVar1;
      }
      goto LAB_001544c4;
    }
  }
  (**(code **)(puVar7 + 0x255384))
            (*(int *)(puVar7 + 0x25465c) + 0x1cac,*(int *)(puVar7 + 0x254660) + 0x7d40,0xe31,
             *(int *)(puVar7 + 0x254660) + 0x7f2c);
LAB_00154508:
  UNRECOVERED_JUMPTABLE = *(code **)(puVar7 + 0x255384);
  iVar6 = *(int *)(puVar7 + 0x25465c) + 0x1e64;
  (*UNRECOVERED_JUMPTABLE)
            (iVar6,*(int *)(puVar7 + 0x254660) + 0x7d40,0xe2e,*(int *)(puVar7 + 0x254660) + 0x7f2c);
  if (iVar6 != 0) {
    if (*(int *)(iVar6 + 100) == -0x54535255) {
      iVar9 = *(int *)(iVar6 + 0x3c);
      iVar10 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc);
      if (iVar9 != 0) {
        iVar10 = *(int *)(iVar6 + 0x38);
        iVar13 = *(int *)(iVar6 + 0x40);
        if (0 < iVar10) {
          iVar11 = 0;
          iVar12 = 0;
          do {
            if (*(int *)(iVar9 + iVar12) != 0) {
              iVar9 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x2549f8))();
              if (*(char *)(iVar9 + iVar13) != -0x55) {
                iVar10 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c;
                (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))
                          (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e50,
                           *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x10e,iVar10);
                goto LAB_00154650;
              }
              puVar3 = (undefined4 *)(*(int *)(iVar6 + 0x3c) + iVar12);
              uVar2 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254e68))(*puVar3);
              iVar9 = *(int *)(iVar6 + 0x3c);
              iVar10 = *(int *)(iVar6 + 0x38);
              *puVar3 = uVar2;
            }
            iVar11 = iVar11 + 1;
            iVar12 = iVar11 * 4;
          } while (iVar11 < iVar10);
        }
        uVar1 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x254a90))(iVar9);
        *(uint *)(iVar6 + 0x3c) = uVar1;
        return uVar1;
      }
LAB_00154650:
      (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))
                (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7e80,
                 *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x102,iVar10 + -0x7b1c);
    }
    (**(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8))
              (*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7eb0,
               *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x101,
               *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c);
  }
  pcVar14 = *(code **)(UNRECOVERED_JUMPTABLE + 0x2550d8);
  iVar6 = *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ed8;
  (*pcVar14)(iVar6,*(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7ef0,0x100,
             *(int *)(UNRECOVERED_JUMPTABLE + 0x2543bc) + -0x7b1c);
  if (iVar6 == 0) {
    (**(code **)(pcVar14 + 0x254f50))
              (*(int *)(pcVar14 + 0x254234) + -0x7ed8,*(int *)(pcVar14 + 0x254234) + -0x7ef0,0xd7,
               *(int *)(pcVar14 + 0x254234) + -0x7b04);
  }
  else if (*(int *)(iVar6 + 100) == -0x54535255) {
    if (*(int *)(iVar6 + 0x3c) != 0) {
      FUN_00154530();
    }
    if (*(int *)(iVar6 + 0x60) != 0) {
      (**(code **)(pcVar14 + 0x255298))(iVar6 + 0x60);
    }
    UNRECOVERED_JUMPTABLE = *(code **)(pcVar14 + 0x254908);
    *(undefined4 *)(iVar6 + 100) = 0x54535254;
                    /* WARNING: Could not recover jumptable at 0x0015473c. Too many branches */
                    /* WARNING: Treating indirect jump as call */
    uVar1 = (*UNRECOVERED_JUMPTABLE)(iVar6);
    return uVar1;
  }
  iVar9 = 0xd8;
  UNRECOVERED_JUMPTABLE = *(code **)(pcVar14 + 0x254f50);
  piVar5 = (int *)(*(int *)(pcVar14 + 0x254234) + -0x7ef0);
  iVar6 = *(int *)(pcVar14 + 0x254234) + -0x7eb0;
  (*UNRECOVERED_JUMPTABLE)();
  if (piVar5 != (int *)0x0) {
    if (piVar5[0x19] == -0x54535255) {
      iVar10 = 1;
      if (iVar9 - 2U < 0x18) {
        iVar6 = *(int *)(iVar6 + 0x18);
        iVar10 = *(int *)((iVar9 - 2U) * 4 + *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7dc0);
        iVar13 = piVar5[0xc];
        iVar9 = *piVar5;
      }
      else {
        iVar13 = piVar5[0xc];
        iVar6 = *(int *)(iVar6 + 0x18);
        iVar9 = *piVar5;
      }
      if (iVar13 != 0) {
        return iVar6 * iVar9 * iVar10 + 7U >> 3;
      }
      return (iVar9 + 7U >> 3) * iVar6 * iVar10;
    }
    (**(code **)(UNRECOVERED_JUMPTABLE + 0x254e7c))
              (*(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7eb0,
               *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7ef0,0x139,
               *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7b30,UNRECOVERED_JUMPTABLE + 0x25c124
              );
  }
  pcVar14 = *(code **)(UNRECOVERED_JUMPTABLE + 0x254e7c);
  iVar6 = *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7ed8;
  (*pcVar14)(iVar6,*(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7ef0,0x138,
             *(int *)(UNRECOVERED_JUMPTABLE + 0x254160) + -0x7b30);
  if (iVar6 == 0) {
    uVar1 = (**(code **)(pcVar14 + 0x254d8c))
                      (*(int *)(pcVar14 + 0x254070) + -0x7ed8,*(int *)(pcVar14 + 0x254070) + -0x7ef0
                       ,0x168,*(int *)(pcVar14 + 0x254070) + -0x7b44,pcVar14 + 0x25c034);
    return uVar1;
  }
  if (*(int *)(iVar6 + 100) != -0x54535255) {
    uVar1 = (**(code **)(pcVar14 + 0x254d8c))
                      (*(int *)(pcVar14 + 0x254070) + -0x7eb0,*(int *)(pcVar14 + 0x254070) + -0x7ef0
                       ,0x169,*(int *)(pcVar14 + 0x254070) + -0x7b44);
    return uVar1;
  }
  return *(uint *)(iVar6 + 0x44);
}

