
/* 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 */

char * GetImageViewException(ImageView *image_view,ExceptionType *severity)

{
  bool bVar1;
  char *pcVar2;
  ExceptionInfo *pEVar3;
  undefined4 uVar4;
  undefined4 *puVar5;
  int iVar6;
  int extraout_v1;
  int extraout_v1_00;
  int extraout_v1_01;
  int extraout_v1_02;
  int extraout_v1_03;
  int iVar7;
  undefined *puVar8;
  int iVar9;
  undefined4 uVar10;
  undefined *puVar11;
  undefined4 uVar12;
  undefined4 unaff_s0;
  int *piVar13;
  int iVar14;
  int iVar15;
  undefined *puVar16;
  code *pcVar17;
  code *pcVar18;
  undefined8 uVar19;
  undefined4 uStack_c0;
  undefined4 uStack_bc;
  int iStack_b4;
  int iStack_b0;
  undefined4 uStack_ac;
  undefined4 uStack_a8;
  char *pcStack_a4;
  undefined4 *puStack_a0;
  int iStack_9c;
  undefined4 uStack_98;
  ImageView *pIStack_94;
  
  puVar16 = PTR_AcquireQuantumMemory_003a950c;
  if (image_view == (ImageView *)0x0) {
    (*(code *)PTR___assert_fail_003a9608)
              (PTR_s_t_to_left_003a88e4 + -0x50dc,PTR_s_t_to_left_003a88e4 + -0x5168,0x194,
               PTR_s_t_to_left_003a88e4 + -0x4f04);
LAB_000fece8:
    unaff_s0 = (*(code *)PTR_AcquireExceptionInfo_003a8eec)();
    puVar5 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();
    image_view = (ImageView *)(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar5);
    puVar11 = (undefined *)0x19b;
    (*(code *)PTR_ThrowMagickException_003a8f20)
              (unaff_s0,PTR_s_t_to_left_003a88e4 + -0x5168,PTR_s_t_to_left_003a88e4 + -0x4f1c,0x19b)
    ;
    (*(code *)PTR_DestroyString_003a9074)(image_view);
    (*(code *)PTR_CatchException_003a92b0)(unaff_s0);
    (*(code *)PTR_DestroyExceptionInfo_003a8d50)(unaff_s0);
    (*(code *)PTR_MagickCoreTerminus_003a98ec)();
    (*(code *)PTR__exit_003a9660)(1);
LAB_000fedb0:
    puVar11 = puVar11 + -0x4f04;
    (*(code *)PTR___assert_fail_003a9608)
              (PTR_s_t_to_left_003a88e4 + -0x50b4,PTR_s_t_to_left_003a88e4 + -0x5168,0x196,puVar11);
  }
  else {
    puVar11 = PTR_s_t_to_left_003a88e4;
    if (image_view->signature == 0xabacadab) {
      if (severity != (ExceptionType *)0x0) {
        *severity = image_view->exception->severity;
        pcVar2 = (char *)(*(code *)puVar16)(0x2000,1);
        if (pcVar2 != (char *)0x0) {
          pEVar3 = image_view->exception;
          *pcVar2 = '\0';
          if (pEVar3->reason != (char *)0x0) {
            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)(pEVar3->severity);
            (*(code *)PTR_CopyMagickString_003a983c)(pcVar2,uVar4,0x1000);
            pEVar3 = image_view->exception;
          }
          if (pEVar3->description != (char *)0x0) {
            (*(code *)PTR_ConcatenateMagickString_003a9898)
                      (pcVar2,PTR_s_t_to_left_003a88e4 + -0x5090,0x1000);
            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)
                              (image_view->exception->severity,image_view->exception->description);
            (*(code *)PTR_ConcatenateMagickString_003a9898)(pcVar2,uVar4,0x1000);
            (*(code *)PTR_ConcatenateMagickString_003a9898)
                      (pcVar2,PTR_s_courses_003a88ec + -0x6e0,0x1000);
          }
          return pcVar2;
        }
        goto LAB_000fece8;
      }
      goto LAB_000fedb0;
    }
  }
  puVar8 = PTR_s_t_to_left_003a88e4 + -0x5168;
  pcVar2 = PTR_s_t_to_left_003a88e4 + -0x512c;
  puVar16 = PTR___assert_fail_003a9608;
  (*(code *)PTR___assert_fail_003a9608)(pcVar2,puVar8,0x195,puVar11 + -0x4f04);
  if (puVar8 == (undefined *)0x0) {
    (**(code **)(puVar16 + 0x2aa818))
              (*(int *)(puVar16 + 0x2a9af4) + -0x5150,*(int *)(puVar16 + 0x2a9af4) + -0x5168,0x1c4,
               *(int *)(puVar16 + 0x2a9af4) + -0x4f30);
  }
  else if (*(int *)(puVar8 + 0x24) == -0x54535255) {
    uVar12 = *(undefined4 *)(puVar8 + 8);
    uVar10 = *(undefined4 *)(puVar8 + 0xc);
    uVar4 = *(undefined4 *)(puVar8 + 0x10);
    *(undefined4 *)pcVar2 = *(undefined4 *)(puVar8 + 4);
    *(undefined4 *)(pcVar2 + 4) = uVar12;
    *(undefined4 *)(pcVar2 + 8) = uVar10;
    *(undefined4 *)(pcVar2 + 0xc) = uVar4;
    return pcVar2;
  }
  pcVar17 = *(code **)(puVar16 + 0x2aa818);
  iVar7 = *(int *)(puVar16 + 0x2a9af4) + -0x512c;
  (*pcVar17)(iVar7,*(int *)(puVar16 + 0x2a9af4) + -0x5168,0x1c5,
             *(int *)(puVar16 + 0x2a9af4) + -0x4f30);
  if (iVar7 == 0) {
    (**(code **)(pcVar17 + 0x2aa774))
              (*(int *)(pcVar17 + 0x2a9a50) + -0x5150,*(int *)(pcVar17 + 0x2a9a50) + -0x5168,0x1e1,
               *(int *)(pcVar17 + 0x2a9a50) + -0x4f44);
  }
  else if (*(int *)(iVar7 + 0x24) == -0x54535255) {
    return *(char **)(iVar7 + 0x14);
  }
  uVar4 = 0x1e2;
  pcVar18 = *(code **)(pcVar17 + 0x2aa774);
  iVar9 = *(int *)(pcVar17 + 0x2a9a50) + -0x5168;
  iVar7 = *(int *)(pcVar17 + 0x2a9a50) + -0x512c;
  (*pcVar18)();
  piVar13 = *(int **)(pcVar18 + 0x2aa318);
  iStack_9c = *piVar13;
  uStack_98 = unaff_s0;
  pIStack_94 = image_view;
  if (iVar7 == 0) {
    (**(code **)(pcVar18 + 0x2aa6f0))
              (*(int *)(pcVar18 + 0x2a99cc) + -0x50fc,*(int *)(pcVar18 + 0x2a99cc) + -0x5168,0x225,
               *(int *)(pcVar18 + 0x2a99cc) + -0x4f5c);
  }
  else if (*(int *)(iVar7 + 0x24) == -0x54535255) {
    if (iVar9 == 0) {
      pcVar2 = (char *)0x0;
    }
    else {
      uVar10 = *(undefined4 *)(iVar7 + 0x14);
      iVar14 = *(int *)(iVar7 + 8);
      iVar15 = *(int *)(iVar7 + 0x10);
      uStack_bc = 0;
      uStack_c0 = 0;
      iVar6 = (**(code **)(pcVar18 + 0x2aa59c))(uVar10);
      if (((iVar6 == 4) || (iVar6 = (**(code **)(pcVar18 + 0x2aa59c))(uVar10), iVar6 == 3)) &&
         ((iVar6 = (**(code **)(pcVar18 + 0x2aa59c))(uVar10), iVar6 == 4 ||
          (iVar6 = (**(code **)(pcVar18 + 0x2aa59c))(uVar10), iVar6 == 3)))) {
        iVar14 = iVar14 - iVar15;
        (**(code **)(pcVar18 + 0x2aa224))(7);
        iVar6 = iVar14;
        if (iVar14 < 0) {
          iVar6 = iVar14 + 0x3f;
        }
        iVar6 = iVar6 >> 6;
        if (extraout_v1 < iVar6) {
          (**(code **)(pcVar18 + 0x2aa224))(7);
          bVar1 = extraout_v1_02 < 2;
        }
        else {
          bVar1 = iVar14 < 0x80;
        }
        iVar14 = 1;
        if ((bool)(bVar1 ^ 1)) {
          (**(code **)(pcVar18 + 0x2aa224))(7);
          if (extraout_v1_01 < iVar6) {
            (**(code **)(pcVar18 + 0x2aa224))(7);
            iVar6 = extraout_v1_03;
          }
          goto LAB_000feff4;
        }
        iVar15 = *(int *)(pcVar18 + 0x2a9b7c);
      }
      else {
        uVar19 = (**(code **)(pcVar18 + 0x2aa224))(7);
        if ((int)((ulonglong)uVar19 >> 0x20) == 0) {
          pcVar17 = *(code **)(pcVar18 + 0x2aa224);
          if ((uint)uVar19 < 2) {
            uVar19 = (*pcVar17)(7);
            if ((int)((ulonglong)uVar19 >> 0x20) != 0) goto LAB_000fefdc;
            pcVar17 = *(code **)(pcVar18 + 0x2aa224);
            if ((uint)uVar19 < 2) {
              iVar6 = 1;
              goto LAB_000feff4;
            }
          }
        }
        else {
LAB_000fefdc:
          pcVar17 = *(code **)(pcVar18 + 0x2aa224);
        }
        uVar19 = (*pcVar17)(7);
        if (((int)((ulonglong)uVar19 >> 0x20) == 0) && ((uint)uVar19 < 2)) {
          (**(code **)(pcVar18 + 0x2aa224))(7);
          iVar6 = extraout_v1_00;
        }
        else {
          iVar6 = 2;
        }
LAB_000feff4:
        iVar15 = *(int *)(pcVar18 + 0x2a9b7c);
        iVar14 = iVar6;
      }
      pcStack_a4 = (char *)0x1;
      puStack_a0 = &uStack_c0;
      iStack_b4 = iVar7;
      iStack_b0 = iVar9;
      uStack_ac = uVar4;
      uStack_a8 = uVar10;
      (**(code **)(pcVar18 + 0x2aa280))(iVar15 + -0x2298,&iStack_b4,iVar14,0);
      pcVar2 = pcStack_a4;
    }
    iVar7 = iStack_9c;
    if (iStack_9c == *piVar13) {
      return pcVar2;
    }
    goto LAB_000ff1d4;
  }
  iVar7 = *(int *)(pcVar18 + 0x2a99d0) + 0x3930;
  (**(code **)(pcVar18 + 0x2aa6f0))
            (iVar7,*(int *)(pcVar18 + 0x2a99cc) + -0x5168,0x226,
             *(int *)(pcVar18 + 0x2a99cc) + -0x4f5c);
LAB_000ff1d4:
  pcVar17 = *(code **)(pcVar18 + 0x2aa14c);
  (*pcVar17)();
  if (iVar7 == 0) {
    (**(code **)(pcVar17 + 0x2aa428))
              (*(int *)(pcVar17 + 0x2a9704) + -0x5150,*(int *)(pcVar17 + 0x2a9704) + -0x5168,0x271,
               *(int *)(pcVar17 + 0x2a9704) + -0x4f7c,pcVar17 + 0x2b16d0);
  }
  else if (*(int *)(iVar7 + 0x24) == -0x54535255) {
                    /* WARNING: Could not recover jumptable at 0x000ff218. Too many branches */
                    /* WARNING: Treating indirect jump as call */
    pcVar2 = (char *)(**(code **)(pcVar17 + 0x2a9da0))(*(undefined4 *)(iVar7 + 0x18));
    return pcVar2;
  }
  pcVar18 = *(code **)(pcVar17 + 0x2aa428);
  iVar7 = *(int *)(pcVar17 + 0x2a9704) + -0x512c;
  (*pcVar18)(iVar7,*(int *)(pcVar17 + 0x2a9704) + -0x5168,0x272,
             *(int *)(pcVar17 + 0x2a9704) + -0x4f7c);
  if (iVar7 == 0) {
    (**(code **)(pcVar18 + 0x2aa3a0))
              (*(int *)(pcVar18 + 0x2a967c) + -0x5150,*(int *)(pcVar18 + 0x2a967c) + -0x5168,0x28f,
               *(int *)(pcVar18 + 0x2a967c) + -0x4f98,pcVar18 + 0x2b1648);
  }
  else if (*(int *)(iVar7 + 0x24) == -0x54535255) {
                    /* WARNING: Could not recover jumptable at 0x000ff2a0. Too many branches */
                    /* WARNING: Treating indirect jump as call */
    pcVar2 = (char *)(**(code **)(pcVar18 + 0x2a9a8c))(*(undefined4 *)(iVar7 + 0x18));
    return pcVar2;
  }
  iVar7 = *(int *)(pcVar18 + 0x2a967c) + -0x512c;
  (**(code **)(pcVar18 + 0x2aa3a0))
            (iVar7,*(int *)(pcVar18 + 0x2a967c) + -0x5168,0x290,
             *(int *)(pcVar18 + 0x2a967c) + -0x4f98);
  if (iVar7 == 0) {
    return (char *)0x0;
  }
  return (char *)(uint)(*(int *)(iVar7 + 0x24) == -0x54535255);
}



undefined4 * GetImageViewException(int param_1,undefined4 *param_2)

{
  bool bVar1;
  undefined4 *puVar2;
  undefined4 *puVar3;
  undefined4 uVar4;
  int iVar5;
  int extraout_v1;
  int extraout_v1_00;
  int extraout_v1_01;
  int extraout_v1_02;
  int extraout_v1_03;
  int iVar6;
  undefined *puVar7;
  int iVar8;
  undefined4 uVar9;
  undefined *puVar10;
  undefined4 uVar11;
  undefined4 unaff_s0;
  int *piVar12;
  int iVar13;
  int iVar14;
  undefined *puVar15;
  code *pcVar16;
  code *pcVar17;
  undefined8 uVar18;
  undefined4 uStack_c0;
  undefined4 uStack_bc;
  int iStack_b4;
  int iStack_b0;
  undefined4 uStack_ac;
  undefined4 uStack_a8;
  undefined4 *puStack_a4;
  undefined4 *puStack_a0;
  int iStack_9c;
  undefined4 uStack_98;
  int iStack_94;
  
  puVar15 = PTR_AcquireQuantumMemory_003a950c;
  if (param_1 == 0) {
    (*(code *)PTR___assert_fail_003a9608)
              (PTR_s_t_to_left_003a88e4 + -0x50dc,PTR_s_t_to_left_003a88e4 + -0x5168,0x194,
               PTR_s_t_to_left_003a88e4 + -0x4f04);
LAB_000fece8:
    unaff_s0 = (*(code *)PTR_AcquireExceptionInfo_003a8eec)();
    puVar2 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();
    param_1 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar2);
    puVar10 = (undefined *)0x19b;
    (*(code *)PTR_ThrowMagickException_003a8f20)
              (unaff_s0,PTR_s_t_to_left_003a88e4 + -0x5168,PTR_s_t_to_left_003a88e4 + -0x4f1c,0x19b)
    ;
    (*(code *)PTR_DestroyString_003a9074)(param_1);
    (*(code *)PTR_CatchException_003a92b0)(unaff_s0);
    (*(code *)PTR_DestroyExceptionInfo_003a8d50)(unaff_s0);
    (*(code *)PTR_MagickCoreTerminus_003a98ec)();
    (*(code *)PTR__exit_003a9660)(1);
LAB_000fedb0:
    puVar10 = puVar10 + -0x4f04;
    (*(code *)PTR___assert_fail_003a9608)
              (PTR_s_t_to_left_003a88e4 + -0x50b4,PTR_s_t_to_left_003a88e4 + -0x5168,0x196,puVar10);
  }
  else {
    puVar10 = PTR_s_t_to_left_003a88e4;
    if (*(int *)(param_1 + 0x24) == -0x54535255) {
      if (param_2 != (undefined4 *)0x0) {
        *param_2 = **(undefined4 **)(param_1 + 0x1c);
        puVar2 = (undefined4 *)(*(code *)puVar15)(0x2000,1);
        if (puVar2 != (undefined4 *)0x0) {
          puVar3 = *(undefined4 **)(param_1 + 0x1c);
          *(undefined1 *)puVar2 = 0;
          if (puVar3[2] != 0) {
            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)(*puVar3);
            (*(code *)PTR_CopyMagickString_003a983c)(puVar2,uVar4,0x1000);
            puVar3 = *(undefined4 **)(param_1 + 0x1c);
          }
          if (puVar3[3] != 0) {
            (*(code *)PTR_ConcatenateMagickString_003a9898)
                      (puVar2,PTR_s_t_to_left_003a88e4 + -0x5090,0x1000);
            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)
                              (**(undefined4 **)(param_1 + 0x1c),
                               (*(undefined4 **)(param_1 + 0x1c))[3]);
            (*(code *)PTR_ConcatenateMagickString_003a9898)(puVar2,uVar4,0x1000);
            (*(code *)PTR_ConcatenateMagickString_003a9898)
                      (puVar2,PTR_s_courses_003a88ec + -0x6e0,0x1000);
          }
          return puVar2;
        }
        goto LAB_000fece8;
      }
      goto LAB_000fedb0;
    }
  }
  puVar7 = PTR_s_t_to_left_003a88e4 + -0x5168;
  puVar2 = (undefined4 *)(PTR_s_t_to_left_003a88e4 + -0x512c);
  puVar15 = PTR___assert_fail_003a9608;
  (*(code *)PTR___assert_fail_003a9608)(puVar2,puVar7,0x195,puVar10 + -0x4f04);
  if (puVar7 == (undefined *)0x0) {
    (**(code **)(puVar15 + 0x2aa818))
              (*(int *)(puVar15 + 0x2a9af4) + -0x5150,*(int *)(puVar15 + 0x2a9af4) + -0x5168,0x1c4,
               *(int *)(puVar15 + 0x2a9af4) + -0x4f30);
  }
  else if (*(int *)(puVar7 + 0x24) == -0x54535255) {
    uVar11 = *(undefined4 *)(puVar7 + 8);
    uVar9 = *(undefined4 *)(puVar7 + 0xc);
    uVar4 = *(undefined4 *)(puVar7 + 0x10);
    *puVar2 = *(undefined4 *)(puVar7 + 4);
    puVar2[1] = uVar11;
    puVar2[2] = uVar9;
    puVar2[3] = uVar4;
    return puVar2;
  }
  pcVar16 = *(code **)(puVar15 + 0x2aa818);
  iVar6 = *(int *)(puVar15 + 0x2a9af4) + -0x512c;
  (*pcVar16)(iVar6,*(int *)(puVar15 + 0x2a9af4) + -0x5168,0x1c5,
             *(int *)(puVar15 + 0x2a9af4) + -0x4f30);
  if (iVar6 == 0) {
    (**(code **)(pcVar16 + 0x2aa774))
              (*(int *)(pcVar16 + 0x2a9a50) + -0x5150,*(int *)(pcVar16 + 0x2a9a50) + -0x5168,0x1e1,
               *(int *)(pcVar16 + 0x2a9a50) + -0x4f44);
  }
  else if (*(int *)(iVar6 + 0x24) == -0x54535255) {
    return *(undefined4 **)(iVar6 + 0x14);
  }
  uVar4 = 0x1e2;
  pcVar17 = *(code **)(pcVar16 + 0x2aa774);
  iVar8 = *(int *)(pcVar16 + 0x2a9a50) + -0x5168;
  iVar6 = *(int *)(pcVar16 + 0x2a9a50) + -0x512c;
  (*pcVar17)();
  piVar12 = *(int **)(pcVar17 + 0x2aa318);
  iStack_9c = *piVar12;
  uStack_98 = unaff_s0;
  iStack_94 = param_1;
  if (iVar6 == 0) {
    (**(code **)(pcVar17 + 0x2aa6f0))
              (*(int *)(pcVar17 + 0x2a99cc) + -0x50fc,*(int *)(pcVar17 + 0x2a99cc) + -0x5168,0x225,
               *(int *)(pcVar17 + 0x2a99cc) + -0x4f5c);
  }
  else if (*(int *)(iVar6 + 0x24) == -0x54535255) {
    if (iVar8 == 0) {
      puVar2 = (undefined4 *)0x0;
    }
    else {
      uVar9 = *(undefined4 *)(iVar6 + 0x14);
      iVar13 = *(int *)(iVar6 + 8);
      iVar14 = *(int *)(iVar6 + 0x10);
      uStack_bc = 0;
      uStack_c0 = 0;
      iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9);
      if (((iVar5 == 4) || (iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3)) &&
         ((iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 4 ||
          (iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3)))) {
        iVar13 = iVar13 - iVar14;
        (**(code **)(pcVar17 + 0x2aa224))(7);
        iVar5 = iVar13;
        if (iVar13 < 0) {
          iVar5 = iVar13 + 0x3f;
        }
        iVar5 = iVar5 >> 6;
        if (extraout_v1 < iVar5) {
          (**(code **)(pcVar17 + 0x2aa224))(7);
          bVar1 = extraout_v1_02 < 2;
        }
        else {
          bVar1 = iVar13 < 0x80;
        }
        iVar13 = 1;
        if ((bool)(bVar1 ^ 1)) {
          (**(code **)(pcVar17 + 0x2aa224))(7);
          if (extraout_v1_01 < iVar5) {
            (**(code **)(pcVar17 + 0x2aa224))(7);
            iVar5 = extraout_v1_03;
          }
          goto LAB_000feff4;
        }
        iVar14 = *(int *)(pcVar17 + 0x2a9b7c);
      }
      else {
        uVar18 = (**(code **)(pcVar17 + 0x2aa224))(7);
        if ((int)((ulonglong)uVar18 >> 0x20) == 0) {
          pcVar16 = *(code **)(pcVar17 + 0x2aa224);
          if ((uint)uVar18 < 2) {
            uVar18 = (*pcVar16)(7);
            if ((int)((ulonglong)uVar18 >> 0x20) != 0) goto LAB_000fefdc;
            pcVar16 = *(code **)(pcVar17 + 0x2aa224);
            if ((uint)uVar18 < 2) {
              iVar5 = 1;
              goto LAB_000feff4;
            }
          }
        }
        else {
LAB_000fefdc:
          pcVar16 = *(code **)(pcVar17 + 0x2aa224);
        }
        uVar18 = (*pcVar16)(7);
        if (((int)((ulonglong)uVar18 >> 0x20) == 0) && ((uint)uVar18 < 2)) {
          (**(code **)(pcVar17 + 0x2aa224))(7);
          iVar5 = extraout_v1_00;
        }
        else {
          iVar5 = 2;
        }
LAB_000feff4:
        iVar14 = *(int *)(pcVar17 + 0x2a9b7c);
        iVar13 = iVar5;
      }
      puStack_a4 = (undefined4 *)0x1;
      puStack_a0 = &uStack_c0;
      iStack_b4 = iVar6;
      iStack_b0 = iVar8;
      uStack_ac = uVar4;
      uStack_a8 = uVar9;
      (**(code **)(pcVar17 + 0x2aa280))(iVar14 + -0x2298,&iStack_b4,iVar13,0);
      puVar2 = puStack_a4;
    }
    iVar6 = iStack_9c;
    if (iStack_9c == *piVar12) {
      return puVar2;
    }
    goto LAB_000ff1d4;
  }
  iVar6 = *(int *)(pcVar17 + 0x2a99d0) + 0x3930;
  (**(code **)(pcVar17 + 0x2aa6f0))
            (iVar6,*(int *)(pcVar17 + 0x2a99cc) + -0x5168,0x226,
             *(int *)(pcVar17 + 0x2a99cc) + -0x4f5c);
LAB_000ff1d4:
  pcVar16 = *(code **)(pcVar17 + 0x2aa14c);
  (*pcVar16)();
  if (iVar6 == 0) {
    (**(code **)(pcVar16 + 0x2aa428))
              (*(int *)(pcVar16 + 0x2a9704) + -0x5150,*(int *)(pcVar16 + 0x2a9704) + -0x5168,0x271,
               *(int *)(pcVar16 + 0x2a9704) + -0x4f7c,pcVar16 + 0x2b16d0);
  }
  else if (*(int *)(iVar6 + 0x24) == -0x54535255) {
                    /* WARNING: Could not recover jumptable at 0x000ff218. Too many branches */
                    /* WARNING: Treating indirect jump as call */
    puVar2 = (undefined4 *)(**(code **)(pcVar16 + 0x2a9da0))(*(undefined4 *)(iVar6 + 0x18));
    return puVar2;
  }
  pcVar17 = *(code **)(pcVar16 + 0x2aa428);
  iVar6 = *(int *)(pcVar16 + 0x2a9704) + -0x512c;
  (*pcVar17)(iVar6,*(int *)(pcVar16 + 0x2a9704) + -0x5168,0x272,
             *(int *)(pcVar16 + 0x2a9704) + -0x4f7c);
  if (iVar6 == 0) {
    (**(code **)(pcVar17 + 0x2aa3a0))
              (*(int *)(pcVar17 + 0x2a967c) + -0x5150,*(int *)(pcVar17 + 0x2a967c) + -0x5168,0x28f,
               *(int *)(pcVar17 + 0x2a967c) + -0x4f98,pcVar17 + 0x2b1648);
  }
  else if (*(int *)(iVar6 + 0x24) == -0x54535255) {
                    /* WARNING: Could not recover jumptable at 0x000ff2a0. Too many branches */
                    /* WARNING: Treating indirect jump as call */
    puVar2 = (undefined4 *)(**(code **)(pcVar17 + 0x2a9a8c))(*(undefined4 *)(iVar6 + 0x18));
    return puVar2;
  }
  iVar6 = *(int *)(pcVar17 + 0x2a967c) + -0x512c;
  (**(code **)(pcVar17 + 0x2aa3a0))
            (iVar6,*(int *)(pcVar17 + 0x2a967c) + -0x5168,0x290,
             *(int *)(pcVar17 + 0x2a967c) + -0x4f98);
  if (iVar6 == 0) {
    return (undefined4 *)0x0;
  }
  return (undefined4 *)(uint)(*(int *)(iVar6 + 0x24) == -0x54535255);
}


lui gp,0x2b
addiu gp,gp,0x1d18
addu gp,gp,t9
addiu sp,sp,-0x38
sw gp,0x20(sp)
sw ra,0x34(sp)
sw s1,0x30(sp)
beq a0,zero,0x000fecc4
_sw s0,0x2c(sp)
or s1,a0,zero
lw a0,0x24(a0)
lui v0,0xabac
ori v0,v0,0xadab
bne a0,v0,0x000fedd0
_lw a3,-0x7fcc(gp)
beq a1,zero,0x000fedb0
_or v1,a1,zero
lw v0,0x1c(s1)
li a1,0x1
lw t9,-0x73a4(gp)
li a0,0x2000
lw v0,0x0(v0)
jalr t9
_sw v0,0x0(v1)
lw gp,0x20(sp)
beq v0,zero,0x000fece8
_or s0,v0,zero
lw v0,0x1c(s1)
sb zero,0x0(s0)
lw a1,0x8(v0)
beq a1,zero,0x000fec40
_lw t9,-0x75e0(gp)
jalr t9
_lw a0,0x0(v0)
li a2,0x1000
lw gp,0x20(sp)
or a1,v0,zero
lw t9,-0x7074(gp)
jalr t9
_or a0,s0,zero
lw gp,0x20(sp)
lw v0,0x1c(s1)
lw v0,0xc(v0)
beq v0,zero,0x000fecac
_li a2,0x1000
lw a1,-0x7fcc(gp)
lw t9,-0x7018(gp)
or a0,s0,zero
jalr t9
_addiu a1,a1,-0x5090
lw gp,0x20(sp)
lw v0,0x1c(s1)
lw t9,-0x75e0(gp)
lw a1,0xc(v0)
jalr t9
_lw a0,0x0(v0)
li a2,0x1000
lw gp,0x20(sp)
or a0,s0,zero
lw t9,-0x7018(gp)
jalr t9
_or a1,v0,zero
li a2,0x1000
lw gp,0x20(sp)
or a0,s0,zero
lw a1,-0x7fc4(gp)
lw t9,-0x7018(gp)
jalr t9
_addiu a1,a1,-0x6e0
lw ra,0x34(sp)
or v0,s0,zero
lw s1,0x30(sp)
lw s0,0x2c(sp)
jr ra
_addiu sp,sp,0x38
lw a3,-0x7fcc(gp)
li a2,0x194
lw a1,-0x7fcc(gp)
lw a0,-0x7fcc(gp)
lw t9,-0x72a8(gp)
addiu a3,a3,-0x4f04
addiu a1,a1,-0x5168
jalr t9
_addiu a0,a0,-0x50dc
lw t9,-0x79c4(gp)
jalr t9
_nop
lw gp,0x20(sp)
lw t9,-0x6f00(gp)
jalr t9
_or s0,v0,zero
lw gp,0x20(sp)
lw t9,-0x74c4(gp)
jalr t9
_lw a0,0x0(v0)
li a3,0x19b
lw gp,0x20(sp)
or s1,v0,zero
sw v0,0x1c(sp)
or a0,s0,zero
lw v0,-0x7fd0(gp)
lw a2,-0x7fcc(gp)
lw a1,-0x7fcc(gp)
addiu v0,v0,0x3e28
lw t9,-0x7990(gp)
addiu a2,a2,-0x4f1c
sw v0,0x18(sp)
addiu a1,a1,-0x5168
lw v0,-0x7fd0(gp)
addiu v0,v0,0x16f8
sw v0,0x14(sp)
li v0,0x2bc
jalr t9
_sw v0,0x10(sp)
lw gp,0x20(sp)
lw t9,-0x783c(gp)
jalr t9
_or a0,s1,zero
lw gp,0x20(sp)
lw t9,-0x7600(gp)
jalr t9
_or a0,s0,zero
lw gp,0x20(sp)
lw t9,-0x7b60(gp)
jalr t9
_or a0,s0,zero
lw gp,0x20(sp)
lw t9,-0x6fc4(gp)
jalr t9
_nop
lw gp,0x20(sp)
lw t9,-0x7250(gp)
jalr t9
_li a0,0x1
li a2,0x196
lw a1,-0x7fcc(gp)
lw a0,-0x7fcc(gp)
lw t9,-0x72a8(gp)
addiu a3,a3,-0x4f04
addiu a1,a1,-0x5168
jalr t9
_addiu a0,a0,-0x50b4
li a2,0x195
lw a1,-0x7fcc(gp)
lw a0,-0x7fcc(gp)
lw t9,-0x72a8(gp)
addiu a3,a3,-0x4f04
addiu a1,a1,-0x5168
jalr t9
_addiu a0,a0,-0x512c
(translation_unit "undefined4 * GetImageViewException(int param_1,undefined4 *param_2)\n\n{\n  bool bVar1;\n  undefined4 *puVar2;\n  undefined4 *puVar3;\n  undefined4 uVar4;\n  int iVar5;\n  int extraout_v1;\n  int extraout_v1_00;\n  int extraout_v1_01;\n  int extraout_v1_02;\n  int extraout_v1_03;\n  int iVar6;\n  undefined *puVar7;\n  int iVar8;\n  undefined4 uVar9;\n  undefined *puVar10;\n  undefined4 uVar11;\n  undefined4 unaff_s0;\n  int *piVar12;\n  int iVar13;\n  int iVar14;\n  undefined *puVar15;\n  code *pcVar16;\n  code *pcVar17;\n  undefined8 uVar18;\n  undefined4 uStack_c0;\n  undefined4 uStack_bc;\n  int iStack_b4;\n  int iStack_b0;\n  undefined4 uStack_ac;\n  undefined4 uStack_a8;\n  undefined4 *puStack_a4;\n  undefined4 *puStack_a0;\n  int iStack_9c;\n  undefined4 uStack_98;\n  int iStack_94;\n  \n  puVar15 = PTR_AcquireQuantumMemory_003a950c;\n  if (param_1 == 0) {\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x50dc,PTR_s_t_to_left_003a88e4 + -0x5168,0x194,\n               PTR_s_t_to_left_003a88e4 + -0x4f04);\nLAB_000fece8:\n    unaff_s0 = (*(code *)PTR_AcquireExceptionInfo_003a8eec)();\n    puVar2 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n    param_1 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar2);\n    puVar10 = (undefined *)0x19b;\n    (*(code *)PTR_ThrowMagickException_003a8f20)\n              (unaff_s0,PTR_s_t_to_left_003a88e4 + -0x5168,PTR_s_t_to_left_003a88e4 + -0x4f1c,0x19b)\n    ;\n    (*(code *)PTR_DestroyString_003a9074)(param_1);\n    (*(code *)PTR_CatchException_003a92b0)(unaff_s0);\n    (*(code *)PTR_DestroyExceptionInfo_003a8d50)(unaff_s0);\n    (*(code *)PTR_MagickCoreTerminus_003a98ec)();\n    (*(code *)PTR__exit_003a9660)(1);\nLAB_000fedb0:\n    puVar10 = puVar10 + -0x4f04;\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x50b4,PTR_s_t_to_left_003a88e4 + -0x5168,0x196,puVar10);\n  }\n  else {\n    puVar10 = PTR_s_t_to_left_003a88e4;\n    if (*(int *)(param_1 + 0x24) == -0x54535255) {\n      if (param_2 != (undefined4 *)0x0) {\n        *param_2 = **(undefined4 **)(param_1 + 0x1c);\n        puVar2 = (undefined4 *)(*(code *)puVar15)(0x2000,1);\n        if (puVar2 != (undefined4 *)0x0) {\n          puVar3 = *(undefined4 **)(param_1 + 0x1c);\n          *(undefined1 *)puVar2 = 0;\n          if (puVar3[2] != 0) {\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)(*puVar3);\n            (*(code *)PTR_CopyMagickString_003a983c)(puVar2,uVar4,0x1000);\n            puVar3 = *(undefined4 **)(param_1 + 0x1c);\n          }\n          if (puVar3[3] != 0) {\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (puVar2,PTR_s_t_to_left_003a88e4 + -0x5090,0x1000);\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)\n                              (**(undefined4 **)(param_1 + 0x1c),\n                               (*(undefined4 **)(param_1 + 0x1c))[3]);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)(puVar2,uVar4,0x1000);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (puVar2,PTR_s_courses_003a88ec + -0x6e0,0x1000);\n          }\n          return puVar2;\n        }\n        goto LAB_000fece8;\n      }\n      goto LAB_000fedb0;\n    }\n  }\n  puVar7 = PTR_s_t_to_left_003a88e4 + -0x5168;\n  puVar2 = (undefined4 *)(PTR_s_t_to_left_003a88e4 + -0x512c);\n  puVar15 = PTR___assert_fail_003a9608;\n  (*(code *)PTR___assert_fail_003a9608)(puVar2,puVar7,0x195,puVar10 + -0x4f04);\n  if (puVar7 == (undefined *)0x0) {\n    (**(code **)(puVar15 + 0x2aa818))\n              (*(int *)(puVar15 + 0x2a9af4) + -0x5150,*(int *)(puVar15 + 0x2a9af4) + -0x5168,0x1c4,\n               *(int *)(puVar15 + 0x2a9af4) + -0x4f30);\n  }\n  else if (*(int *)(puVar7 + 0x24) == -0x54535255) {\n    uVar11 = *(undefined4 *)(puVar7 + 8);\n    uVar9 = *(undefined4 *)(puVar7 + 0xc);\n    uVar4 = *(undefined4 *)(puVar7 + 0x10);\n    *puVar2 = *(undefined4 *)(puVar7 + 4);\n    puVar2[1] = uVar11;\n    puVar2[2] = uVar9;\n    puVar2[3] = uVar4;\n    return puVar2;\n  }\n  pcVar16 = *(code **)(puVar15 + 0x2aa818);\n  iVar6 = *(int *)(puVar15 + 0x2a9af4) + -0x512c;\n  (*pcVar16)(iVar6,*(int *)(puVar15 + 0x2a9af4) + -0x5168,0x1c5,\n             *(int *)(puVar15 + 0x2a9af4) + -0x4f30);\n  if (iVar6 == 0) {\n    (**(code **)(pcVar16 + 0x2aa774))\n              (*(int *)(pcVar16 + 0x2a9a50) + -0x5150,*(int *)(pcVar16 + 0x2a9a50) + -0x5168,0x1e1,\n               *(int *)(pcVar16 + 0x2a9a50) + -0x4f44);\n  }\n  else if (*(int *)(iVar6 + 0x24) == -0x54535255) {\n    return *(undefined4 **)(iVar6 + 0x14);\n  }\n  uVar4 = 0x1e2;\n  pcVar17 = *(code **)(pcVar16 + 0x2aa774);\n  iVar8 = *(int *)(pcVar16 + 0x2a9a50) + -0x5168;\n  iVar6 = *(int *)(pcVar16 + 0x2a9a50) + -0x512c;\n  (*pcVar17)();\n  piVar12 = *(int **)(pcVar17 + 0x2aa318);\n  iStack_9c = *piVar12;\n  uStack_98 = unaff_s0;\n  iStack_94 = param_1;\n  if (iVar6 == 0) {\n    (**(code **)(pcVar17 + 0x2aa6f0))\n              (*(int *)(pcVar17 + 0x2a99cc) + -0x50fc,*(int *)(pcVar17 + 0x2a99cc) + -0x5168,0x225,\n               *(int *)(pcVar17 + 0x2a99cc) + -0x4f5c);\n  }\n  else if (*(int *)(iVar6 + 0x24) == -0x54535255) {\n    if (iVar8 == 0) {\n      puVar2 = (undefined4 *)0x0;\n    }\n    else {\n      uVar9 = *(undefined4 *)(iVar6 + 0x14);\n      iVar13 = *(int *)(iVar6 + 8);\n      iVar14 = *(int *)(iVar6 + 0x10);\n      uStack_bc = 0;\n      uStack_c0 = 0;\n      iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9);\n      if (((iVar5 == 4) || (iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3)) &&\n         ((iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 4 ||\n          (iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3)))) {\n        iVar13 = iVar13 - iVar14;\n        (**(code **)(pcVar17 + 0x2aa224))(7);\n        iVar5 = iVar13;\n        if (iVar13 < 0) {\n          iVar5 = iVar13 + 0x3f;\n        }\n        iVar5 = iVar5 >> 6;\n        if (extraout_v1 < iVar5) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          bVar1 = extraout_v1_02 < 2;\n        }\n        else {\n          bVar1 = iVar13 < 0x80;\n        }\n        iVar13 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          if (extraout_v1_01 < iVar5) {\n            (**(code **)(pcVar17 + 0x2aa224))(7);\n            iVar5 = extraout_v1_03;\n          }\n          goto LAB_000feff4;\n        }\n        iVar14 = *(int *)(pcVar17 + 0x2a9b7c);\n      }\n      else {\n        uVar18 = (**(code **)(pcVar17 + 0x2aa224))(7);\n        if ((int)((ulonglong)uVar18 >> 0x20) == 0) {\n          pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n          if ((uint)uVar18 < 2) {\n            uVar18 = (*pcVar16)(7);\n            if ((int)((ulonglong)uVar18 >> 0x20) != 0) goto LAB_000fefdc;\n            pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n            if ((uint)uVar18 < 2) {\n              iVar5 = 1;\n              goto LAB_000feff4;\n            }\n          }\n        }\n        else {\nLAB_000fefdc:\n          pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n        }\n        uVar18 = (*pcVar16)(7);\n        if (((int)((ulonglong)uVar18 >> 0x20) == 0) && ((uint)uVar18 < 2)) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          iVar5 = extraout_v1_00;\n        }\n        else {\n          iVar5 = 2;\n        }\nLAB_000feff4:\n        iVar14 = *(int *)(pcVar17 + 0x2a9b7c);\n        iVar13 = iVar5;\n      }\n      puStack_a4 = (undefined4 *)0x1;\n      puStack_a0 = &uStack_c0;\n      iStack_b4 = iVar6;\n      iStack_b0 = iVar8;\n      uStack_ac = uVar4;\n      uStack_a8 = uVar9;\n      (**(code **)(pcVar17 + 0x2aa280))(iVar14 + -0x2298,&iStack_b4,iVar13,0);\n      puVar2 = puStack_a4;\n    }\n    iVar6 = iStack_9c;\n    if (iStack_9c == *piVar12) {\n      return puVar2;\n    }\n    goto LAB_000ff1d4;\n  }\n  iVar6 = *(int *)(pcVar17 + 0x2a99d0) + 0x3930;\n  (**(code **)(pcVar17 + 0x2aa6f0))\n            (iVar6,*(int *)(pcVar17 + 0x2a99cc) + -0x5168,0x226,\n             *(int *)(pcVar17 + 0x2a99cc) + -0x4f5c);\nLAB_000ff1d4:\n  pcVar16 = *(code **)(pcVar17 + 0x2aa14c);\n  (*pcVar16)();\n  if (iVar6 == 0) {\n    (**(code **)(pcVar16 + 0x2aa428))\n              (*(int *)(pcVar16 + 0x2a9704) + -0x5150,*(int *)(pcVar16 + 0x2a9704) + -0x5168,0x271,\n               *(int *)(pcVar16 + 0x2a9704) + -0x4f7c,pcVar16 + 0x2b16d0);\n  }\n  else if (*(int *)(iVar6 + 0x24) == -0x54535255) {\n                    /* WARNING: Could not recover jumptable at 0x000ff218. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    puVar2 = (undefined4 *)(**(code **)(pcVar16 + 0x2a9da0))(*(undefined4 *)(iVar6 + 0x18));\n    return puVar2;\n  }\n  pcVar17 = *(code **)(pcVar16 + 0x2aa428);\n  iVar6 = *(int *)(pcVar16 + 0x2a9704) + -0x512c;\n  (*pcVar17)(iVar6,*(int *)(pcVar16 + 0x2a9704) + -0x5168,0x272,\n             *(int *)(pcVar16 + 0x2a9704) + -0x4f7c);\n  if (iVar6 == 0) {\n    (**(code **)(pcVar17 + 0x2aa3a0))\n              (*(int *)(pcVar17 + 0x2a967c) + -0x5150,*(int *)(pcVar17 + 0x2a967c) + -0x5168,0x28f,\n               *(int *)(pcVar17 + 0x2a967c) + -0x4f98,pcVar17 + 0x2b1648);\n  }\n  else if (*(int *)(iVar6 + 0x24) == -0x54535255) {\n                    /* WARNING: Could not recover jumptable at 0x000ff2a0. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    puVar2 = (undefined4 *)(**(code **)(pcVar17 + 0x2a9a8c))(*(undefined4 *)(iVar6 + 0x18));\n    return puVar2;\n  }\n  iVar6 = *(int *)(pcVar17 + 0x2a967c) + -0x512c;\n  (**(code **)(pcVar17 + 0x2aa3a0))\n            (iVar6,*(int *)(pcVar17 + 0x2a967c) + -0x5168,0x290,\n             *(int *)(pcVar17 + 0x2a967c) + -0x4f98);\n  if (iVar6 == 0) {\n    return (undefined4 *)0x0;\n  }\n  return (undefined4 *)(uint)(*(int *)(iVar6 + 0x24) == -0x54535255);\n}\n\n" (function_definition "undefined4 * GetImageViewException(int param_1,undefined4 *param_2)\n\n{\n  bool bVar1;\n  undefined4 *puVar2;\n  undefined4 *puVar3;\n  undefined4 uVar4;\n  int iVar5;\n  int extraout_v1;\n  int extraout_v1_00;\n  int extraout_v1_01;\n  int extraout_v1_02;\n  int extraout_v1_03;\n  int iVar6;\n  undefined *puVar7;\n  int iVar8;\n  undefined4 uVar9;\n  undefined *puVar10;\n  undefined4 uVar11;\n  undefined4 unaff_s0;\n  int *piVar12;\n  int iVar13;\n  int iVar14;\n  undefined *puVar15;\n  code *pcVar16;\n  code *pcVar17;\n  undefined8 uVar18;\n  undefined4 uStack_c0;\n  undefined4 uStack_bc;\n  int iStack_b4;\n  int iStack_b0;\n  undefined4 uStack_ac;\n  undefined4 uStack_a8;\n  undefined4 *puStack_a4;\n  undefined4 *puStack_a0;\n  int iStack_9c;\n  undefined4 uStack_98;\n  int iStack_94;\n  \n  puVar15 = PTR_AcquireQuantumMemory_003a950c;\n  if (param_1 == 0) {\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x50dc,PTR_s_t_to_left_003a88e4 + -0x5168,0x194,\n               PTR_s_t_to_left_003a88e4 + -0x4f04);\nLAB_000fece8:\n    unaff_s0 = (*(code *)PTR_AcquireExceptionInfo_003a8eec)();\n    puVar2 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n    param_1 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar2);\n    puVar10 = (undefined *)0x19b;\n    (*(code *)PTR_ThrowMagickException_003a8f20)\n              (unaff_s0,PTR_s_t_to_left_003a88e4 + -0x5168,PTR_s_t_to_left_003a88e4 + -0x4f1c,0x19b)\n    ;\n    (*(code *)PTR_DestroyString_003a9074)(param_1);\n    (*(code *)PTR_CatchException_003a92b0)(unaff_s0);\n    (*(code *)PTR_DestroyExceptionInfo_003a8d50)(unaff_s0);\n    (*(code *)PTR_MagickCoreTerminus_003a98ec)();\n    (*(code *)PTR__exit_003a9660)(1);\nLAB_000fedb0:\n    puVar10 = puVar10 + -0x4f04;\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x50b4,PTR_s_t_to_left_003a88e4 + -0x5168,0x196,puVar10);\n  }\n  else {\n    puVar10 = PTR_s_t_to_left_003a88e4;\n    if (*(int *)(param_1 + 0x24) == -0x54535255) {\n      if (param_2 != (undefined4 *)0x0) {\n        *param_2 = **(undefined4 **)(param_1 + 0x1c);\n        puVar2 = (undefined4 *)(*(code *)puVar15)(0x2000,1);\n        if (puVar2 != (undefined4 *)0x0) {\n          puVar3 = *(undefined4 **)(param_1 + 0x1c);\n          *(undefined1 *)puVar2 = 0;\n          if (puVar3[2] != 0) {\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)(*puVar3);\n            (*(code *)PTR_CopyMagickString_003a983c)(puVar2,uVar4,0x1000);\n            puVar3 = *(undefined4 **)(param_1 + 0x1c);\n          }\n          if (puVar3[3] != 0) {\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (puVar2,PTR_s_t_to_left_003a88e4 + -0x5090,0x1000);\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)\n                              (**(undefined4 **)(param_1 + 0x1c),\n                               (*(undefined4 **)(param_1 + 0x1c))[3]);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)(puVar2,uVar4,0x1000);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (puVar2,PTR_s_courses_003a88ec + -0x6e0,0x1000);\n          }\n          return puVar2;\n        }\n        goto LAB_000fece8;\n      }\n      goto LAB_000fedb0;\n    }\n  }\n  puVar7 = PTR_s_t_to_left_003a88e4 + -0x5168;\n  puVar2 = (undefined4 *)(PTR_s_t_to_left_003a88e4 + -0x512c);\n  puVar15 = PTR___assert_fail_003a9608;\n  (*(code *)PTR___assert_fail_003a9608)(puVar2,puVar7,0x195,puVar10 + -0x4f04);\n  if (puVar7 == (undefined *)0x0) {\n    (**(code **)(puVar15 + 0x2aa818))\n              (*(int *)(puVar15 + 0x2a9af4) + -0x5150,*(int *)(puVar15 + 0x2a9af4) + -0x5168,0x1c4,\n               *(int *)(puVar15 + 0x2a9af4) + -0x4f30);\n  }\n  else if (*(int *)(puVar7 + 0x24) == -0x54535255) {\n    uVar11 = *(undefined4 *)(puVar7 + 8);\n    uVar9 = *(undefined4 *)(puVar7 + 0xc);\n    uVar4 = *(undefined4 *)(puVar7 + 0x10);\n    *puVar2 = *(undefined4 *)(puVar7 + 4);\n    puVar2[1] = uVar11;\n    puVar2[2] = uVar9;\n    puVar2[3] = uVar4;\n    return puVar2;\n  }\n  pcVar16 = *(code **)(puVar15 + 0x2aa818);\n  iVar6 = *(int *)(puVar15 + 0x2a9af4) + -0x512c;\n  (*pcVar16)(iVar6,*(int *)(puVar15 + 0x2a9af4) + -0x5168,0x1c5,\n             *(int *)(puVar15 + 0x2a9af4) + -0x4f30);\n  if (iVar6 == 0) {\n    (**(code **)(pcVar16 + 0x2aa774))\n              (*(int *)(pcVar16 + 0x2a9a50) + -0x5150,*(int *)(pcVar16 + 0x2a9a50) + -0x5168,0x1e1,\n               *(int *)(pcVar16 + 0x2a9a50) + -0x4f44);\n  }\n  else if (*(int *)(iVar6 + 0x24) == -0x54535255) {\n    return *(undefined4 **)(iVar6 + 0x14);\n  }\n  uVar4 = 0x1e2;\n  pcVar17 = *(code **)(pcVar16 + 0x2aa774);\n  iVar8 = *(int *)(pcVar16 + 0x2a9a50) + -0x5168;\n  iVar6 = *(int *)(pcVar16 + 0x2a9a50) + -0x512c;\n  (*pcVar17)();\n  piVar12 = *(int **)(pcVar17 + 0x2aa318);\n  iStack_9c = *piVar12;\n  uStack_98 = unaff_s0;\n  iStack_94 = param_1;\n  if (iVar6 == 0) {\n    (**(code **)(pcVar17 + 0x2aa6f0))\n              (*(int *)(pcVar17 + 0x2a99cc) + -0x50fc,*(int *)(pcVar17 + 0x2a99cc) + -0x5168,0x225,\n               *(int *)(pcVar17 + 0x2a99cc) + -0x4f5c);\n  }\n  else if (*(int *)(iVar6 + 0x24) == -0x54535255) {\n    if (iVar8 == 0) {\n      puVar2 = (undefined4 *)0x0;\n    }\n    else {\n      uVar9 = *(undefined4 *)(iVar6 + 0x14);\n      iVar13 = *(int *)(iVar6 + 8);\n      iVar14 = *(int *)(iVar6 + 0x10);\n      uStack_bc = 0;\n      uStack_c0 = 0;\n      iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9);\n      if (((iVar5 == 4) || (iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3)) &&\n         ((iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 4 ||\n          (iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3)))) {\n        iVar13 = iVar13 - iVar14;\n        (**(code **)(pcVar17 + 0x2aa224))(7);\n        iVar5 = iVar13;\n        if (iVar13 < 0) {\n          iVar5 = iVar13 + 0x3f;\n        }\n        iVar5 = iVar5 >> 6;\n        if (extraout_v1 < iVar5) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          bVar1 = extraout_v1_02 < 2;\n        }\n        else {\n          bVar1 = iVar13 < 0x80;\n        }\n        iVar13 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          if (extraout_v1_01 < iVar5) {\n            (**(code **)(pcVar17 + 0x2aa224))(7);\n            iVar5 = extraout_v1_03;\n          }\n          goto LAB_000feff4;\n        }\n        iVar14 = *(int *)(pcVar17 + 0x2a9b7c);\n      }\n      else {\n        uVar18 = (**(code **)(pcVar17 + 0x2aa224))(7);\n        if ((int)((ulonglong)uVar18 >> 0x20) == 0) {\n          pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n          if ((uint)uVar18 < 2) {\n            uVar18 = (*pcVar16)(7);\n            if ((int)((ulonglong)uVar18 >> 0x20) != 0) goto LAB_000fefdc;\n            pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n            if ((uint)uVar18 < 2) {\n              iVar5 = 1;\n              goto LAB_000feff4;\n            }\n          }\n        }\n        else {\nLAB_000fefdc:\n          pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n        }\n        uVar18 = (*pcVar16)(7);\n        if (((int)((ulonglong)uVar18 >> 0x20) == 0) && ((uint)uVar18 < 2)) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          iVar5 = extraout_v1_00;\n        }\n        else {\n          iVar5 = 2;\n        }\nLAB_000feff4:\n        iVar14 = *(int *)(pcVar17 + 0x2a9b7c);\n        iVar13 = iVar5;\n      }\n      puStack_a4 = (undefined4 *)0x1;\n      puStack_a0 = &uStack_c0;\n      iStack_b4 = iVar6;\n      iStack_b0 = iVar8;\n      uStack_ac = uVar4;\n      uStack_a8 = uVar9;\n      (**(code **)(pcVar17 + 0x2aa280))(iVar14 + -0x2298,&iStack_b4,iVar13,0);\n      puVar2 = puStack_a4;\n    }\n    iVar6 = iStack_9c;\n    if (iStack_9c == *piVar12) {\n      return puVar2;\n    }\n    goto LAB_000ff1d4;\n  }\n  iVar6 = *(int *)(pcVar17 + 0x2a99d0) + 0x3930;\n  (**(code **)(pcVar17 + 0x2aa6f0))\n            (iVar6,*(int *)(pcVar17 + 0x2a99cc) + -0x5168,0x226,\n             *(int *)(pcVar17 + 0x2a99cc) + -0x4f5c);\nLAB_000ff1d4:\n  pcVar16 = *(code **)(pcVar17 + 0x2aa14c);\n  (*pcVar16)();\n  if (iVar6 == 0) {\n    (**(code **)(pcVar16 + 0x2aa428))\n              (*(int *)(pcVar16 + 0x2a9704) + -0x5150,*(int *)(pcVar16 + 0x2a9704) + -0x5168,0x271,\n               *(int *)(pcVar16 + 0x2a9704) + -0x4f7c,pcVar16 + 0x2b16d0);\n  }\n  else if (*(int *)(iVar6 + 0x24) == -0x54535255) {\n                    /* WARNING: Could not recover jumptable at 0x000ff218. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    puVar2 = (undefined4 *)(**(code **)(pcVar16 + 0x2a9da0))(*(undefined4 *)(iVar6 + 0x18));\n    return puVar2;\n  }\n  pcVar17 = *(code **)(pcVar16 + 0x2aa428);\n  iVar6 = *(int *)(pcVar16 + 0x2a9704) + -0x512c;\n  (*pcVar17)(iVar6,*(int *)(pcVar16 + 0x2a9704) + -0x5168,0x272,\n             *(int *)(pcVar16 + 0x2a9704) + -0x4f7c);\n  if (iVar6 == 0) {\n    (**(code **)(pcVar17 + 0x2aa3a0))\n              (*(int *)(pcVar17 + 0x2a967c) + -0x5150,*(int *)(pcVar17 + 0x2a967c) + -0x5168,0x28f,\n               *(int *)(pcVar17 + 0x2a967c) + -0x4f98,pcVar17 + 0x2b1648);\n  }\n  else if (*(int *)(iVar6 + 0x24) == -0x54535255) {\n                    /* WARNING: Could not recover jumptable at 0x000ff2a0. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    puVar2 = (undefined4 *)(**(code **)(pcVar17 + 0x2a9a8c))(*(undefined4 *)(iVar6 + 0x18));\n    return puVar2;\n  }\n  iVar6 = *(int *)(pcVar17 + 0x2a967c) + -0x512c;\n  (**(code **)(pcVar17 + 0x2aa3a0))\n            (iVar6,*(int *)(pcVar17 + 0x2a967c) + -0x5168,0x290,\n             *(int *)(pcVar17 + 0x2a967c) + -0x4f98);\n  if (iVar6 == 0) {\n    return (undefined4 *)0x0;\n  }\n  return (undefined4 *)(uint)(*(int *)(iVar6 + 0x24) == -0x54535255);\n}" type_identifier (pointer_declarator "* GetImageViewException(int param_1,undefined4 *param_2)" * (function_declarator "GetImageViewException(int param_1,undefined4 *param_2)" identifier (parameter_list "(int param_1,undefined4 *param_2)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "undefined4 *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) )))) (compound_statement "{\n  bool bVar1;\n  undefined4 *puVar2;\n  undefined4 *puVar3;\n  undefined4 uVar4;\n  int iVar5;\n  int extraout_v1;\n  int extraout_v1_00;\n  int extraout_v1_01;\n  int extraout_v1_02;\n  int extraout_v1_03;\n  int iVar6;\n  undefined *puVar7;\n  int iVar8;\n  undefined4 uVar9;\n  undefined *puVar10;\n  undefined4 uVar11;\n  undefined4 unaff_s0;\n  int *piVar12;\n  int iVar13;\n  int iVar14;\n  undefined *puVar15;\n  code *pcVar16;\n  code *pcVar17;\n  undefined8 uVar18;\n  undefined4 uStack_c0;\n  undefined4 uStack_bc;\n  int iStack_b4;\n  int iStack_b0;\n  undefined4 uStack_ac;\n  undefined4 uStack_a8;\n  undefined4 *puStack_a4;\n  undefined4 *puStack_a0;\n  int iStack_9c;\n  undefined4 uStack_98;\n  int iStack_94;\n  \n  puVar15 = PTR_AcquireQuantumMemory_003a950c;\n  if (param_1 == 0) {\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x50dc,PTR_s_t_to_left_003a88e4 + -0x5168,0x194,\n               PTR_s_t_to_left_003a88e4 + -0x4f04);\nLAB_000fece8:\n    unaff_s0 = (*(code *)PTR_AcquireExceptionInfo_003a8eec)();\n    puVar2 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n    param_1 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar2);\n    puVar10 = (undefined *)0x19b;\n    (*(code *)PTR_ThrowMagickException_003a8f20)\n              (unaff_s0,PTR_s_t_to_left_003a88e4 + -0x5168,PTR_s_t_to_left_003a88e4 + -0x4f1c,0x19b)\n    ;\n    (*(code *)PTR_DestroyString_003a9074)(param_1);\n    (*(code *)PTR_CatchException_003a92b0)(unaff_s0);\n    (*(code *)PTR_DestroyExceptionInfo_003a8d50)(unaff_s0);\n    (*(code *)PTR_MagickCoreTerminus_003a98ec)();\n    (*(code *)PTR__exit_003a9660)(1);\nLAB_000fedb0:\n    puVar10 = puVar10 + -0x4f04;\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x50b4,PTR_s_t_to_left_003a88e4 + -0x5168,0x196,puVar10);\n  }\n  else {\n    puVar10 = PTR_s_t_to_left_003a88e4;\n    if (*(int *)(param_1 + 0x24) == -0x54535255) {\n      if (param_2 != (undefined4 *)0x0) {\n        *param_2 = **(undefined4 **)(param_1 + 0x1c);\n        puVar2 = (undefined4 *)(*(code *)puVar15)(0x2000,1);\n        if (puVar2 != (undefined4 *)0x0) {\n          puVar3 = *(undefined4 **)(param_1 + 0x1c);\n          *(undefined1 *)puVar2 = 0;\n          if (puVar3[2] != 0) {\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)(*puVar3);\n            (*(code *)PTR_CopyMagickString_003a983c)(puVar2,uVar4,0x1000);\n            puVar3 = *(undefined4 **)(param_1 + 0x1c);\n          }\n          if (puVar3[3] != 0) {\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (puVar2,PTR_s_t_to_left_003a88e4 + -0x5090,0x1000);\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)\n                              (**(undefined4 **)(param_1 + 0x1c),\n                               (*(undefined4 **)(param_1 + 0x1c))[3]);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)(puVar2,uVar4,0x1000);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (puVar2,PTR_s_courses_003a88ec + -0x6e0,0x1000);\n          }\n          return puVar2;\n        }\n        goto LAB_000fece8;\n      }\n      goto LAB_000fedb0;\n    }\n  }\n  puVar7 = PTR_s_t_to_left_003a88e4 + -0x5168;\n  puVar2 = (undefined4 *)(PTR_s_t_to_left_003a88e4 + -0x512c);\n  puVar15 = PTR___assert_fail_003a9608;\n  (*(code *)PTR___assert_fail_003a9608)(puVar2,puVar7,0x195,puVar10 + -0x4f04);\n  if (puVar7 == (undefined *)0x0) {\n    (**(code **)(puVar15 + 0x2aa818))\n              (*(int *)(puVar15 + 0x2a9af4) + -0x5150,*(int *)(puVar15 + 0x2a9af4) + -0x5168,0x1c4,\n               *(int *)(puVar15 + 0x2a9af4) + -0x4f30);\n  }\n  else if (*(int *)(puVar7 + 0x24) == -0x54535255) {\n    uVar11 = *(undefined4 *)(puVar7 + 8);\n    uVar9 = *(undefined4 *)(puVar7 + 0xc);\n    uVar4 = *(undefined4 *)(puVar7 + 0x10);\n    *puVar2 = *(undefined4 *)(puVar7 + 4);\n    puVar2[1] = uVar11;\n    puVar2[2] = uVar9;\n    puVar2[3] = uVar4;\n    return puVar2;\n  }\n  pcVar16 = *(code **)(puVar15 + 0x2aa818);\n  iVar6 = *(int *)(puVar15 + 0x2a9af4) + -0x512c;\n  (*pcVar16)(iVar6,*(int *)(puVar15 + 0x2a9af4) + -0x5168,0x1c5,\n             *(int *)(puVar15 + 0x2a9af4) + -0x4f30);\n  if (iVar6 == 0) {\n    (**(code **)(pcVar16 + 0x2aa774))\n              (*(int *)(pcVar16 + 0x2a9a50) + -0x5150,*(int *)(pcVar16 + 0x2a9a50) + -0x5168,0x1e1,\n               *(int *)(pcVar16 + 0x2a9a50) + -0x4f44);\n  }\n  else if (*(int *)(iVar6 + 0x24) == -0x54535255) {\n    return *(undefined4 **)(iVar6 + 0x14);\n  }\n  uVar4 = 0x1e2;\n  pcVar17 = *(code **)(pcVar16 + 0x2aa774);\n  iVar8 = *(int *)(pcVar16 + 0x2a9a50) + -0x5168;\n  iVar6 = *(int *)(pcVar16 + 0x2a9a50) + -0x512c;\n  (*pcVar17)();\n  piVar12 = *(int **)(pcVar17 + 0x2aa318);\n  iStack_9c = *piVar12;\n  uStack_98 = unaff_s0;\n  iStack_94 = param_1;\n  if (iVar6 == 0) {\n    (**(code **)(pcVar17 + 0x2aa6f0))\n              (*(int *)(pcVar17 + 0x2a99cc) + -0x50fc,*(int *)(pcVar17 + 0x2a99cc) + -0x5168,0x225,\n               *(int *)(pcVar17 + 0x2a99cc) + -0x4f5c);\n  }\n  else if (*(int *)(iVar6 + 0x24) == -0x54535255) {\n    if (iVar8 == 0) {\n      puVar2 = (undefined4 *)0x0;\n    }\n    else {\n      uVar9 = *(undefined4 *)(iVar6 + 0x14);\n      iVar13 = *(int *)(iVar6 + 8);\n      iVar14 = *(int *)(iVar6 + 0x10);\n      uStack_bc = 0;\n      uStack_c0 = 0;\n      iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9);\n      if (((iVar5 == 4) || (iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3)) &&\n         ((iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 4 ||\n          (iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3)))) {\n        iVar13 = iVar13 - iVar14;\n        (**(code **)(pcVar17 + 0x2aa224))(7);\n        iVar5 = iVar13;\n        if (iVar13 < 0) {\n          iVar5 = iVar13 + 0x3f;\n        }\n        iVar5 = iVar5 >> 6;\n        if (extraout_v1 < iVar5) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          bVar1 = extraout_v1_02 < 2;\n        }\n        else {\n          bVar1 = iVar13 < 0x80;\n        }\n        iVar13 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          if (extraout_v1_01 < iVar5) {\n            (**(code **)(pcVar17 + 0x2aa224))(7);\n            iVar5 = extraout_v1_03;\n          }\n          goto LAB_000feff4;\n        }\n        iVar14 = *(int *)(pcVar17 + 0x2a9b7c);\n      }\n      else {\n        uVar18 = (**(code **)(pcVar17 + 0x2aa224))(7);\n        if ((int)((ulonglong)uVar18 >> 0x20) == 0) {\n          pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n          if ((uint)uVar18 < 2) {\n            uVar18 = (*pcVar16)(7);\n            if ((int)((ulonglong)uVar18 >> 0x20) != 0) goto LAB_000fefdc;\n            pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n            if ((uint)uVar18 < 2) {\n              iVar5 = 1;\n              goto LAB_000feff4;\n            }\n          }\n        }\n        else {\nLAB_000fefdc:\n          pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n        }\n        uVar18 = (*pcVar16)(7);\n        if (((int)((ulonglong)uVar18 >> 0x20) == 0) && ((uint)uVar18 < 2)) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          iVar5 = extraout_v1_00;\n        }\n        else {\n          iVar5 = 2;\n        }\nLAB_000feff4:\n        iVar14 = *(int *)(pcVar17 + 0x2a9b7c);\n        iVar13 = iVar5;\n      }\n      puStack_a4 = (undefined4 *)0x1;\n      puStack_a0 = &uStack_c0;\n      iStack_b4 = iVar6;\n      iStack_b0 = iVar8;\n      uStack_ac = uVar4;\n      uStack_a8 = uVar9;\n      (**(code **)(pcVar17 + 0x2aa280))(iVar14 + -0x2298,&iStack_b4,iVar13,0);\n      puVar2 = puStack_a4;\n    }\n    iVar6 = iStack_9c;\n    if (iStack_9c == *piVar12) {\n      return puVar2;\n    }\n    goto LAB_000ff1d4;\n  }\n  iVar6 = *(int *)(pcVar17 + 0x2a99d0) + 0x3930;\n  (**(code **)(pcVar17 + 0x2aa6f0))\n            (iVar6,*(int *)(pcVar17 + 0x2a99cc) + -0x5168,0x226,\n             *(int *)(pcVar17 + 0x2a99cc) + -0x4f5c);\nLAB_000ff1d4:\n  pcVar16 = *(code **)(pcVar17 + 0x2aa14c);\n  (*pcVar16)();\n  if (iVar6 == 0) {\n    (**(code **)(pcVar16 + 0x2aa428))\n              (*(int *)(pcVar16 + 0x2a9704) + -0x5150,*(int *)(pcVar16 + 0x2a9704) + -0x5168,0x271,\n               *(int *)(pcVar16 + 0x2a9704) + -0x4f7c,pcVar16 + 0x2b16d0);\n  }\n  else if (*(int *)(iVar6 + 0x24) == -0x54535255) {\n                    /* WARNING: Could not recover jumptable at 0x000ff218. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    puVar2 = (undefined4 *)(**(code **)(pcVar16 + 0x2a9da0))(*(undefined4 *)(iVar6 + 0x18));\n    return puVar2;\n  }\n  pcVar17 = *(code **)(pcVar16 + 0x2aa428);\n  iVar6 = *(int *)(pcVar16 + 0x2a9704) + -0x512c;\n  (*pcVar17)(iVar6,*(int *)(pcVar16 + 0x2a9704) + -0x5168,0x272,\n             *(int *)(pcVar16 + 0x2a9704) + -0x4f7c);\n  if (iVar6 == 0) {\n    (**(code **)(pcVar17 + 0x2aa3a0))\n              (*(int *)(pcVar17 + 0x2a967c) + -0x5150,*(int *)(pcVar17 + 0x2a967c) + -0x5168,0x28f,\n               *(int *)(pcVar17 + 0x2a967c) + -0x4f98,pcVar17 + 0x2b1648);\n  }\n  else if (*(int *)(iVar6 + 0x24) == -0x54535255) {\n                    /* WARNING: Could not recover jumptable at 0x000ff2a0. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    puVar2 = (undefined4 *)(**(code **)(pcVar17 + 0x2a9a8c))(*(undefined4 *)(iVar6 + 0x18));\n    return puVar2;\n  }\n  iVar6 = *(int *)(pcVar17 + 0x2a967c) + -0x512c;\n  (**(code **)(pcVar17 + 0x2aa3a0))\n            (iVar6,*(int *)(pcVar17 + 0x2a967c) + -0x5168,0x290,\n             *(int *)(pcVar17 + 0x2a967c) + -0x4f98);\n  if (iVar6 == 0) {\n    return (undefined4 *)0x0;\n  }\n  return (undefined4 *)(uint)(*(int *)(iVar6 + 0x24) == -0x54535255);\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "undefined4 *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined4 *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "int extraout_v1;" primitive_type identifier ;) (declaration "int extraout_v1_00;" primitive_type identifier ;) (declaration "int extraout_v1_01;" primitive_type identifier ;) (declaration "int extraout_v1_02;" primitive_type identifier ;) (declaration "int extraout_v1_03;" primitive_type identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "undefined *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "undefined4 uVar9;" type_identifier identifier ;) (declaration "undefined *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "undefined4 uVar11;" type_identifier identifier ;) (declaration "undefined4 unaff_s0;" type_identifier identifier ;) (declaration "int *piVar12;" primitive_type (pointer_declarator "*piVar12" * identifier) ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "undefined *puVar15;" type_identifier (pointer_declarator "*puVar15" * identifier) ;) (declaration "code *pcVar16;" type_identifier (pointer_declarator "*pcVar16" * identifier) ;) (declaration "code *pcVar17;" type_identifier (pointer_declarator "*pcVar17" * identifier) ;) (declaration "undefined8 uVar18;" type_identifier identifier ;) (declaration "undefined4 uStack_c0;" type_identifier identifier ;) (declaration "undefined4 uStack_bc;" type_identifier identifier ;) (declaration "int iStack_b4;" primitive_type identifier ;) (declaration "int iStack_b0;" primitive_type identifier ;) (declaration "undefined4 uStack_ac;" type_identifier identifier ;) (declaration "undefined4 uStack_a8;" type_identifier identifier ;) (declaration "undefined4 *puStack_a4;" type_identifier (pointer_declarator "*puStack_a4" * identifier) ;) (declaration "undefined4 *puStack_a0;" type_identifier (pointer_declarator "*puStack_a0" * identifier) ;) (declaration "int iStack_9c;" primitive_type identifier ;) (declaration "undefined4 uStack_98;" type_identifier identifier ;) (declaration "int iStack_94;" primitive_type identifier ;) (expression_statement "puVar15 = PTR_AcquireQuantumMemory_003a950c;" (assignment_expression "puVar15 = PTR_AcquireQuantumMemory_003a950c" identifier = identifier) ;) (if_statement "if (param_1 == 0) {\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x50dc,PTR_s_t_to_left_003a88e4 + -0x5168,0x194,\n               PTR_s_t_to_left_003a88e4 + -0x4f04);\nLAB_000fece8:\n    unaff_s0 = (*(code *)PTR_AcquireExceptionInfo_003a8eec)();\n    puVar2 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n    param_1 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar2);\n    puVar10 = (undefined *)0x19b;\n    (*(code *)PTR_ThrowMagickException_003a8f20)\n              (unaff_s0,PTR_s_t_to_left_003a88e4 + -0x5168,PTR_s_t_to_left_003a88e4 + -0x4f1c,0x19b)\n    ;\n    (*(code *)PTR_DestroyString_003a9074)(param_1);\n    (*(code *)PTR_CatchException_003a92b0)(unaff_s0);\n    (*(code *)PTR_DestroyExceptionInfo_003a8d50)(unaff_s0);\n    (*(code *)PTR_MagickCoreTerminus_003a98ec)();\n    (*(code *)PTR__exit_003a9660)(1);\nLAB_000fedb0:\n    puVar10 = puVar10 + -0x4f04;\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x50b4,PTR_s_t_to_left_003a88e4 + -0x5168,0x196,puVar10);\n  }\n  else {\n    puVar10 = PTR_s_t_to_left_003a88e4;\n    if (*(int *)(param_1 + 0x24) == -0x54535255) {\n      if (param_2 != (undefined4 *)0x0) {\n        *param_2 = **(undefined4 **)(param_1 + 0x1c);\n        puVar2 = (undefined4 *)(*(code *)puVar15)(0x2000,1);\n        if (puVar2 != (undefined4 *)0x0) {\n          puVar3 = *(undefined4 **)(param_1 + 0x1c);\n          *(undefined1 *)puVar2 = 0;\n          if (puVar3[2] != 0) {\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)(*puVar3);\n            (*(code *)PTR_CopyMagickString_003a983c)(puVar2,uVar4,0x1000);\n            puVar3 = *(undefined4 **)(param_1 + 0x1c);\n          }\n          if (puVar3[3] != 0) {\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (puVar2,PTR_s_t_to_left_003a88e4 + -0x5090,0x1000);\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)\n                              (**(undefined4 **)(param_1 + 0x1c),\n                               (*(undefined4 **)(param_1 + 0x1c))[3]);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)(puVar2,uVar4,0x1000);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (puVar2,PTR_s_courses_003a88ec + -0x6e0,0x1000);\n          }\n          return puVar2;\n        }\n        goto LAB_000fece8;\n      }\n      goto LAB_000fedb0;\n    }\n  }" if (parenthesized_expression "(param_1 == 0)" ( (binary_expression "param_1 == 0" identifier == number_literal) )) (compound_statement "{\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x50dc,PTR_s_t_to_left_003a88e4 + -0x5168,0x194,\n               PTR_s_t_to_left_003a88e4 + -0x4f04);\nLAB_000fece8:\n    unaff_s0 = (*(code *)PTR_AcquireExceptionInfo_003a8eec)();\n    puVar2 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n    param_1 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar2);\n    puVar10 = (undefined *)0x19b;\n    (*(code *)PTR_ThrowMagickException_003a8f20)\n              (unaff_s0,PTR_s_t_to_left_003a88e4 + -0x5168,PTR_s_t_to_left_003a88e4 + -0x4f1c,0x19b)\n    ;\n    (*(code *)PTR_DestroyString_003a9074)(param_1);\n    (*(code *)PTR_CatchException_003a92b0)(unaff_s0);\n    (*(code *)PTR_DestroyExceptionInfo_003a8d50)(unaff_s0);\n    (*(code *)PTR_MagickCoreTerminus_003a98ec)();\n    (*(code *)PTR__exit_003a9660)(1);\nLAB_000fedb0:\n    puVar10 = puVar10 + -0x4f04;\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x50b4,PTR_s_t_to_left_003a88e4 + -0x5168,0x196,puVar10);\n  }" { (expression_statement "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x50dc,PTR_s_t_to_left_003a88e4 + -0x5168,0x194,\n               PTR_s_t_to_left_003a88e4 + -0x4f04);" (call_expression "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x50dc,PTR_s_t_to_left_003a88e4 + -0x5168,0x194,\n               PTR_s_t_to_left_003a88e4 + -0x4f04)" (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 + -0x50dc,PTR_s_t_to_left_003a88e4 + -0x5168,0x194,\n               PTR_s_t_to_left_003a88e4 + -0x4f04)" ( (binary_expression "PTR_s_t_to_left_003a88e4 + -0x50dc" identifier + number_literal) , (binary_expression "PTR_s_t_to_left_003a88e4 + -0x5168" identifier + number_literal) , number_literal , (binary_expression "PTR_s_t_to_left_003a88e4 + -0x4f04" identifier + number_literal) ))) ;) (labeled_statement "LAB_000fece8:\n    unaff_s0 = (*(code *)PTR_AcquireExceptionInfo_003a8eec)();" statement_identifier : (expression_statement "unaff_s0 = (*(code *)PTR_AcquireExceptionInfo_003a8eec)();" (assignment_expression "unaff_s0 = (*(code *)PTR_AcquireExceptionInfo_003a8eec)()" identifier = (call_expression "(*(code *)PTR_AcquireExceptionInfo_003a8eec)()" (parenthesized_expression "(*(code *)PTR_AcquireExceptionInfo_003a8eec)" ( (pointer_expression "*(code *)PTR_AcquireExceptionInfo_003a8eec" * (cast_expression "(code *)PTR_AcquireExceptionInfo_003a8eec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;)) (expression_statement "puVar2 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();" (assignment_expression "puVar2 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)()" identifier = (cast_expression "(undefined4 *)(*(code *)PTR___errno_location_003a99b0)()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_003a99b0)()" (parenthesized_expression "(*(code *)PTR___errno_location_003a99b0)" ( (pointer_expression "*(code *)PTR___errno_location_003a99b0" * (cast_expression "(code *)PTR___errno_location_003a99b0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "param_1 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar2);" (assignment_expression "param_1 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar2)" identifier = (call_expression "(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar2)" (parenthesized_expression "(*(code *)PTR_GetExceptionMessage_003a93ec)" ( (pointer_expression "*(code *)PTR_GetExceptionMessage_003a93ec" * (cast_expression "(code *)PTR_GetExceptionMessage_003a93ec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*puVar2)" ( (pointer_expression "*puVar2" * identifier) )))) ;) (expression_statement "puVar10 = (undefined *)0x19b;" (assignment_expression "puVar10 = (undefined *)0x19b" identifier = (cast_expression "(undefined *)0x19b" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(*(code *)PTR_ThrowMagickException_003a8f20)\n              (unaff_s0,PTR_s_t_to_left_003a88e4 + -0x5168,PTR_s_t_to_left_003a88e4 + -0x4f1c,0x19b)\n    ;" (call_expression "(*(code *)PTR_ThrowMagickException_003a8f20)\n              (unaff_s0,PTR_s_t_to_left_003a88e4 + -0x5168,PTR_s_t_to_left_003a88e4 + -0x4f1c,0x19b)" (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 "(unaff_s0,PTR_s_t_to_left_003a88e4 + -0x5168,PTR_s_t_to_left_003a88e4 + -0x4f1c,0x19b)" ( identifier , (binary_expression "PTR_s_t_to_left_003a88e4 + -0x5168" identifier + number_literal) , (binary_expression "PTR_s_t_to_left_003a88e4 + -0x4f1c" identifier + number_literal) , number_literal ))) ;) (expression_statement "(*(code *)PTR_DestroyString_003a9074)(param_1);" (call_expression "(*(code *)PTR_DestroyString_003a9074)(param_1)" (parenthesized_expression "(*(code *)PTR_DestroyString_003a9074)" ( (pointer_expression "*(code *)PTR_DestroyString_003a9074" * (cast_expression "(code *)PTR_DestroyString_003a9074" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1)" ( identifier ))) ;) (expression_statement "(*(code *)PTR_CatchException_003a92b0)(unaff_s0);" (call_expression "(*(code *)PTR_CatchException_003a92b0)(unaff_s0)" (parenthesized_expression "(*(code *)PTR_CatchException_003a92b0)" ( (pointer_expression "*(code *)PTR_CatchException_003a92b0" * (cast_expression "(code *)PTR_CatchException_003a92b0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s0)" ( identifier ))) ;) (expression_statement "(*(code *)PTR_DestroyExceptionInfo_003a8d50)(unaff_s0);" (call_expression "(*(code *)PTR_DestroyExceptionInfo_003a8d50)(unaff_s0)" (parenthesized_expression "(*(code *)PTR_DestroyExceptionInfo_003a8d50)" ( (pointer_expression "*(code *)PTR_DestroyExceptionInfo_003a8d50" * (cast_expression "(code *)PTR_DestroyExceptionInfo_003a8d50" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s0)" ( identifier ))) ;) (expression_statement "(*(code *)PTR_MagickCoreTerminus_003a98ec)();" (call_expression "(*(code *)PTR_MagickCoreTerminus_003a98ec)()" (parenthesized_expression "(*(code *)PTR_MagickCoreTerminus_003a98ec)" ( (pointer_expression "*(code *)PTR_MagickCoreTerminus_003a98ec" * (cast_expression "(code *)PTR_MagickCoreTerminus_003a98ec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "(*(code *)PTR__exit_003a9660)(1);" (call_expression "(*(code *)PTR__exit_003a9660)(1)" (parenthesized_expression "(*(code *)PTR__exit_003a9660)" ( (pointer_expression "*(code *)PTR__exit_003a9660" * (cast_expression "(code *)PTR__exit_003a9660" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(1)" ( number_literal ))) ;) (labeled_statement "LAB_000fedb0:\n    puVar10 = puVar10 + -0x4f04;" statement_identifier : (expression_statement "puVar10 = puVar10 + -0x4f04;" (assignment_expression "puVar10 = puVar10 + -0x4f04" identifier = (binary_expression "puVar10 + -0x4f04" identifier + number_literal)) ;)) (expression_statement "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x50b4,PTR_s_t_to_left_003a88e4 + -0x5168,0x196,puVar10);" (call_expression "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x50b4,PTR_s_t_to_left_003a88e4 + -0x5168,0x196,puVar10)" (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 + -0x50b4,PTR_s_t_to_left_003a88e4 + -0x5168,0x196,puVar10)" ( (binary_expression "PTR_s_t_to_left_003a88e4 + -0x50b4" identifier + number_literal) , (binary_expression "PTR_s_t_to_left_003a88e4 + -0x5168" identifier + number_literal) , number_literal , identifier ))) ;) }) (else_clause "else {\n    puVar10 = PTR_s_t_to_left_003a88e4;\n    if (*(int *)(param_1 + 0x24) == -0x54535255) {\n      if (param_2 != (undefined4 *)0x0) {\n        *param_2 = **(undefined4 **)(param_1 + 0x1c);\n        puVar2 = (undefined4 *)(*(code *)puVar15)(0x2000,1);\n        if (puVar2 != (undefined4 *)0x0) {\n          puVar3 = *(undefined4 **)(param_1 + 0x1c);\n          *(undefined1 *)puVar2 = 0;\n          if (puVar3[2] != 0) {\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)(*puVar3);\n            (*(code *)PTR_CopyMagickString_003a983c)(puVar2,uVar4,0x1000);\n            puVar3 = *(undefined4 **)(param_1 + 0x1c);\n          }\n          if (puVar3[3] != 0) {\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (puVar2,PTR_s_t_to_left_003a88e4 + -0x5090,0x1000);\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)\n                              (**(undefined4 **)(param_1 + 0x1c),\n                               (*(undefined4 **)(param_1 + 0x1c))[3]);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)(puVar2,uVar4,0x1000);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (puVar2,PTR_s_courses_003a88ec + -0x6e0,0x1000);\n          }\n          return puVar2;\n        }\n        goto LAB_000fece8;\n      }\n      goto LAB_000fedb0;\n    }\n  }" else (compound_statement "{\n    puVar10 = PTR_s_t_to_left_003a88e4;\n    if (*(int *)(param_1 + 0x24) == -0x54535255) {\n      if (param_2 != (undefined4 *)0x0) {\n        *param_2 = **(undefined4 **)(param_1 + 0x1c);\n        puVar2 = (undefined4 *)(*(code *)puVar15)(0x2000,1);\n        if (puVar2 != (undefined4 *)0x0) {\n          puVar3 = *(undefined4 **)(param_1 + 0x1c);\n          *(undefined1 *)puVar2 = 0;\n          if (puVar3[2] != 0) {\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)(*puVar3);\n            (*(code *)PTR_CopyMagickString_003a983c)(puVar2,uVar4,0x1000);\n            puVar3 = *(undefined4 **)(param_1 + 0x1c);\n          }\n          if (puVar3[3] != 0) {\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (puVar2,PTR_s_t_to_left_003a88e4 + -0x5090,0x1000);\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)\n                              (**(undefined4 **)(param_1 + 0x1c),\n                               (*(undefined4 **)(param_1 + 0x1c))[3]);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)(puVar2,uVar4,0x1000);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (puVar2,PTR_s_courses_003a88ec + -0x6e0,0x1000);\n          }\n          return puVar2;\n        }\n        goto LAB_000fece8;\n      }\n      goto LAB_000fedb0;\n    }\n  }" { (expression_statement "puVar10 = PTR_s_t_to_left_003a88e4;" (assignment_expression "puVar10 = PTR_s_t_to_left_003a88e4" identifier = identifier) ;) (if_statement "if (*(int *)(param_1 + 0x24) == -0x54535255) {\n      if (param_2 != (undefined4 *)0x0) {\n        *param_2 = **(undefined4 **)(param_1 + 0x1c);\n        puVar2 = (undefined4 *)(*(code *)puVar15)(0x2000,1);\n        if (puVar2 != (undefined4 *)0x0) {\n          puVar3 = *(undefined4 **)(param_1 + 0x1c);\n          *(undefined1 *)puVar2 = 0;\n          if (puVar3[2] != 0) {\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)(*puVar3);\n            (*(code *)PTR_CopyMagickString_003a983c)(puVar2,uVar4,0x1000);\n            puVar3 = *(undefined4 **)(param_1 + 0x1c);\n          }\n          if (puVar3[3] != 0) {\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (puVar2,PTR_s_t_to_left_003a88e4 + -0x5090,0x1000);\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)\n                              (**(undefined4 **)(param_1 + 0x1c),\n                               (*(undefined4 **)(param_1 + 0x1c))[3]);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)(puVar2,uVar4,0x1000);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (puVar2,PTR_s_courses_003a88ec + -0x6e0,0x1000);\n          }\n          return puVar2;\n        }\n        goto LAB_000fece8;\n      }\n      goto LAB_000fedb0;\n    }" if (parenthesized_expression "(*(int *)(param_1 + 0x24) == -0x54535255)" ( (binary_expression "*(int *)(param_1 + 0x24) == -0x54535255" (pointer_expression "*(int *)(param_1 + 0x24)" * (cast_expression "(int *)(param_1 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x24)" ( (binary_expression "param_1 + 0x24" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      if (param_2 != (undefined4 *)0x0) {\n        *param_2 = **(undefined4 **)(param_1 + 0x1c);\n        puVar2 = (undefined4 *)(*(code *)puVar15)(0x2000,1);\n        if (puVar2 != (undefined4 *)0x0) {\n          puVar3 = *(undefined4 **)(param_1 + 0x1c);\n          *(undefined1 *)puVar2 = 0;\n          if (puVar3[2] != 0) {\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)(*puVar3);\n            (*(code *)PTR_CopyMagickString_003a983c)(puVar2,uVar4,0x1000);\n            puVar3 = *(undefined4 **)(param_1 + 0x1c);\n          }\n          if (puVar3[3] != 0) {\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (puVar2,PTR_s_t_to_left_003a88e4 + -0x5090,0x1000);\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)\n                              (**(undefined4 **)(param_1 + 0x1c),\n                               (*(undefined4 **)(param_1 + 0x1c))[3]);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)(puVar2,uVar4,0x1000);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (puVar2,PTR_s_courses_003a88ec + -0x6e0,0x1000);\n          }\n          return puVar2;\n        }\n        goto LAB_000fece8;\n      }\n      goto LAB_000fedb0;\n    }" { (if_statement "if (param_2 != (undefined4 *)0x0) {\n        *param_2 = **(undefined4 **)(param_1 + 0x1c);\n        puVar2 = (undefined4 *)(*(code *)puVar15)(0x2000,1);\n        if (puVar2 != (undefined4 *)0x0) {\n          puVar3 = *(undefined4 **)(param_1 + 0x1c);\n          *(undefined1 *)puVar2 = 0;\n          if (puVar3[2] != 0) {\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)(*puVar3);\n            (*(code *)PTR_CopyMagickString_003a983c)(puVar2,uVar4,0x1000);\n            puVar3 = *(undefined4 **)(param_1 + 0x1c);\n          }\n          if (puVar3[3] != 0) {\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (puVar2,PTR_s_t_to_left_003a88e4 + -0x5090,0x1000);\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)\n                              (**(undefined4 **)(param_1 + 0x1c),\n                               (*(undefined4 **)(param_1 + 0x1c))[3]);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)(puVar2,uVar4,0x1000);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (puVar2,PTR_s_courses_003a88ec + -0x6e0,0x1000);\n          }\n          return puVar2;\n        }\n        goto LAB_000fece8;\n      }" if (parenthesized_expression "(param_2 != (undefined4 *)0x0)" ( (binary_expression "param_2 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        *param_2 = **(undefined4 **)(param_1 + 0x1c);\n        puVar2 = (undefined4 *)(*(code *)puVar15)(0x2000,1);\n        if (puVar2 != (undefined4 *)0x0) {\n          puVar3 = *(undefined4 **)(param_1 + 0x1c);\n          *(undefined1 *)puVar2 = 0;\n          if (puVar3[2] != 0) {\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)(*puVar3);\n            (*(code *)PTR_CopyMagickString_003a983c)(puVar2,uVar4,0x1000);\n            puVar3 = *(undefined4 **)(param_1 + 0x1c);\n          }\n          if (puVar3[3] != 0) {\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (puVar2,PTR_s_t_to_left_003a88e4 + -0x5090,0x1000);\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)\n                              (**(undefined4 **)(param_1 + 0x1c),\n                               (*(undefined4 **)(param_1 + 0x1c))[3]);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)(puVar2,uVar4,0x1000);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (puVar2,PTR_s_courses_003a88ec + -0x6e0,0x1000);\n          }\n          return puVar2;\n        }\n        goto LAB_000fece8;\n      }" { (expression_statement "*param_2 = **(undefined4 **)(param_1 + 0x1c);" (assignment_expression "*param_2 = **(undefined4 **)(param_1 + 0x1c)" (pointer_expression "*param_2" * identifier) = (pointer_expression "**(undefined4 **)(param_1 + 0x1c)" * (pointer_expression "*(undefined4 **)(param_1 + 0x1c)" * (cast_expression "(undefined4 **)(param_1 + 0x1c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x1c)" ( (binary_expression "param_1 + 0x1c" identifier + number_literal) )))))) ;) (expression_statement "puVar2 = (undefined4 *)(*(code *)puVar15)(0x2000,1);" (assignment_expression "puVar2 = (undefined4 *)(*(code *)puVar15)(0x2000,1)" identifier = (cast_expression "(undefined4 *)(*(code *)puVar15)(0x2000,1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)puVar15)(0x2000,1)" (parenthesized_expression "(*(code *)puVar15)" ( (pointer_expression "*(code *)puVar15" * (cast_expression "(code *)puVar15" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x2000,1)" ( number_literal , number_literal ))))) ;) (if_statement "if (puVar2 != (undefined4 *)0x0) {\n          puVar3 = *(undefined4 **)(param_1 + 0x1c);\n          *(undefined1 *)puVar2 = 0;\n          if (puVar3[2] != 0) {\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)(*puVar3);\n            (*(code *)PTR_CopyMagickString_003a983c)(puVar2,uVar4,0x1000);\n            puVar3 = *(undefined4 **)(param_1 + 0x1c);\n          }\n          if (puVar3[3] != 0) {\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (puVar2,PTR_s_t_to_left_003a88e4 + -0x5090,0x1000);\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)\n                              (**(undefined4 **)(param_1 + 0x1c),\n                               (*(undefined4 **)(param_1 + 0x1c))[3]);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)(puVar2,uVar4,0x1000);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (puVar2,PTR_s_courses_003a88ec + -0x6e0,0x1000);\n          }\n          return puVar2;\n        }" if (parenthesized_expression "(puVar2 != (undefined4 *)0x0)" ( (binary_expression "puVar2 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          puVar3 = *(undefined4 **)(param_1 + 0x1c);\n          *(undefined1 *)puVar2 = 0;\n          if (puVar3[2] != 0) {\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)(*puVar3);\n            (*(code *)PTR_CopyMagickString_003a983c)(puVar2,uVar4,0x1000);\n            puVar3 = *(undefined4 **)(param_1 + 0x1c);\n          }\n          if (puVar3[3] != 0) {\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (puVar2,PTR_s_t_to_left_003a88e4 + -0x5090,0x1000);\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)\n                              (**(undefined4 **)(param_1 + 0x1c),\n                               (*(undefined4 **)(param_1 + 0x1c))[3]);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)(puVar2,uVar4,0x1000);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (puVar2,PTR_s_courses_003a88ec + -0x6e0,0x1000);\n          }\n          return puVar2;\n        }" { (expression_statement "puVar3 = *(undefined4 **)(param_1 + 0x1c);" (assignment_expression "puVar3 = *(undefined4 **)(param_1 + 0x1c)" identifier = (pointer_expression "*(undefined4 **)(param_1 + 0x1c)" * (cast_expression "(undefined4 **)(param_1 + 0x1c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x1c)" ( (binary_expression "param_1 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined1 *)puVar2 = 0;" (assignment_expression "*(undefined1 *)puVar2 = 0" (pointer_expression "*(undefined1 *)puVar2" * (cast_expression "(undefined1 *)puVar2" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = number_literal) ;) (if_statement "if (puVar3[2] != 0) {\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)(*puVar3);\n            (*(code *)PTR_CopyMagickString_003a983c)(puVar2,uVar4,0x1000);\n            puVar3 = *(undefined4 **)(param_1 + 0x1c);\n          }" if (parenthesized_expression "(puVar3[2] != 0)" ( (binary_expression "puVar3[2] != 0" (subscript_expression "puVar3[2]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)(*puVar3);\n            (*(code *)PTR_CopyMagickString_003a983c)(puVar2,uVar4,0x1000);\n            puVar3 = *(undefined4 **)(param_1 + 0x1c);\n          }" { (expression_statement "uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)(*puVar3);" (assignment_expression "uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)(*puVar3)" identifier = (call_expression "(*(code *)PTR_GetLocaleExceptionMessage_003a92d0)(*puVar3)" (parenthesized_expression "(*(code *)PTR_GetLocaleExceptionMessage_003a92d0)" ( (pointer_expression "*(code *)PTR_GetLocaleExceptionMessage_003a92d0" * (cast_expression "(code *)PTR_GetLocaleExceptionMessage_003a92d0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*puVar3)" ( (pointer_expression "*puVar3" * identifier) )))) ;) (expression_statement "(*(code *)PTR_CopyMagickString_003a983c)(puVar2,uVar4,0x1000);" (call_expression "(*(code *)PTR_CopyMagickString_003a983c)(puVar2,uVar4,0x1000)" (parenthesized_expression "(*(code *)PTR_CopyMagickString_003a983c)" ( (pointer_expression "*(code *)PTR_CopyMagickString_003a983c" * (cast_expression "(code *)PTR_CopyMagickString_003a983c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar2,uVar4,0x1000)" ( identifier , identifier , number_literal ))) ;) (expression_statement "puVar3 = *(undefined4 **)(param_1 + 0x1c);" (assignment_expression "puVar3 = *(undefined4 **)(param_1 + 0x1c)" identifier = (pointer_expression "*(undefined4 **)(param_1 + 0x1c)" * (cast_expression "(undefined4 **)(param_1 + 0x1c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x1c)" ( (binary_expression "param_1 + 0x1c" identifier + number_literal) ))))) ;) })) (if_statement "if (puVar3[3] != 0) {\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (puVar2,PTR_s_t_to_left_003a88e4 + -0x5090,0x1000);\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)\n                              (**(undefined4 **)(param_1 + 0x1c),\n                               (*(undefined4 **)(param_1 + 0x1c))[3]);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)(puVar2,uVar4,0x1000);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (puVar2,PTR_s_courses_003a88ec + -0x6e0,0x1000);\n          }" if (parenthesized_expression "(puVar3[3] != 0)" ( (binary_expression "puVar3[3] != 0" (subscript_expression "puVar3[3]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (puVar2,PTR_s_t_to_left_003a88e4 + -0x5090,0x1000);\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)\n                              (**(undefined4 **)(param_1 + 0x1c),\n                               (*(undefined4 **)(param_1 + 0x1c))[3]);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)(puVar2,uVar4,0x1000);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (puVar2,PTR_s_courses_003a88ec + -0x6e0,0x1000);\n          }" { (expression_statement "(*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (puVar2,PTR_s_t_to_left_003a88e4 + -0x5090,0x1000);" (call_expression "(*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (puVar2,PTR_s_t_to_left_003a88e4 + -0x5090,0x1000)" (parenthesized_expression "(*(code *)PTR_ConcatenateMagickString_003a9898)" ( (pointer_expression "*(code *)PTR_ConcatenateMagickString_003a9898" * (cast_expression "(code *)PTR_ConcatenateMagickString_003a9898" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar2,PTR_s_t_to_left_003a88e4 + -0x5090,0x1000)" ( identifier , (binary_expression "PTR_s_t_to_left_003a88e4 + -0x5090" identifier + number_literal) , number_literal ))) ;) (expression_statement "uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)\n                              (**(undefined4 **)(param_1 + 0x1c),\n                               (*(undefined4 **)(param_1 + 0x1c))[3]);" (assignment_expression "uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)\n                              (**(undefined4 **)(param_1 + 0x1c),\n                               (*(undefined4 **)(param_1 + 0x1c))[3])" identifier = (call_expression "(*(code *)PTR_GetLocaleExceptionMessage_003a92d0)\n                              (**(undefined4 **)(param_1 + 0x1c),\n                               (*(undefined4 **)(param_1 + 0x1c))[3])" (parenthesized_expression "(*(code *)PTR_GetLocaleExceptionMessage_003a92d0)" ( (pointer_expression "*(code *)PTR_GetLocaleExceptionMessage_003a92d0" * (cast_expression "(code *)PTR_GetLocaleExceptionMessage_003a92d0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(**(undefined4 **)(param_1 + 0x1c),\n                               (*(undefined4 **)(param_1 + 0x1c))[3])" ( (pointer_expression "**(undefined4 **)(param_1 + 0x1c)" * (pointer_expression "*(undefined4 **)(param_1 + 0x1c)" * (cast_expression "(undefined4 **)(param_1 + 0x1c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x1c)" ( (binary_expression "param_1 + 0x1c" identifier + number_literal) ))))) , (subscript_expression "(*(undefined4 **)(param_1 + 0x1c))[3]" (parenthesized_expression "(*(undefined4 **)(param_1 + 0x1c))" ( (pointer_expression "*(undefined4 **)(param_1 + 0x1c)" * (cast_expression "(undefined4 **)(param_1 + 0x1c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x1c)" ( (binary_expression "param_1 + 0x1c" identifier + number_literal) )))) )) [ number_literal ]) )))) ;) (expression_statement "(*(code *)PTR_ConcatenateMagickString_003a9898)(puVar2,uVar4,0x1000);" (call_expression "(*(code *)PTR_ConcatenateMagickString_003a9898)(puVar2,uVar4,0x1000)" (parenthesized_expression "(*(code *)PTR_ConcatenateMagickString_003a9898)" ( (pointer_expression "*(code *)PTR_ConcatenateMagickString_003a9898" * (cast_expression "(code *)PTR_ConcatenateMagickString_003a9898" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar2,uVar4,0x1000)" ( identifier , identifier , number_literal ))) ;) (expression_statement "(*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (puVar2,PTR_s_courses_003a88ec + -0x6e0,0x1000);" (call_expression "(*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (puVar2,PTR_s_courses_003a88ec + -0x6e0,0x1000)" (parenthesized_expression "(*(code *)PTR_ConcatenateMagickString_003a9898)" ( (pointer_expression "*(code *)PTR_ConcatenateMagickString_003a9898" * (cast_expression "(code *)PTR_ConcatenateMagickString_003a9898" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar2,PTR_s_courses_003a88ec + -0x6e0,0x1000)" ( identifier , (binary_expression "PTR_s_courses_003a88ec + -0x6e0" identifier + number_literal) , number_literal ))) ;) })) (return_statement "return puVar2;" return identifier ;) })) (goto_statement "goto LAB_000fece8;" goto statement_identifier ;) })) (goto_statement "goto LAB_000fedb0;" goto statement_identifier ;) })) }))) (expression_statement "puVar7 = PTR_s_t_to_left_003a88e4 + -0x5168;" (assignment_expression "puVar7 = PTR_s_t_to_left_003a88e4 + -0x5168" identifier = (binary_expression "PTR_s_t_to_left_003a88e4 + -0x5168" identifier + number_literal)) ;) (expression_statement "puVar2 = (undefined4 *)(PTR_s_t_to_left_003a88e4 + -0x512c);" (assignment_expression "puVar2 = (undefined4 *)(PTR_s_t_to_left_003a88e4 + -0x512c)" identifier = (cast_expression "(undefined4 *)(PTR_s_t_to_left_003a88e4 + -0x512c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_t_to_left_003a88e4 + -0x512c)" ( (binary_expression "PTR_s_t_to_left_003a88e4 + -0x512c" identifier + number_literal) )))) ;) (expression_statement "puVar15 = PTR___assert_fail_003a9608;" (assignment_expression "puVar15 = PTR___assert_fail_003a9608" identifier = identifier) ;) (expression_statement "(*(code *)PTR___assert_fail_003a9608)(puVar2,puVar7,0x195,puVar10 + -0x4f04);" (call_expression "(*(code *)PTR___assert_fail_003a9608)(puVar2,puVar7,0x195,puVar10 + -0x4f04)" (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 "(puVar2,puVar7,0x195,puVar10 + -0x4f04)" ( identifier , identifier , number_literal , (binary_expression "puVar10 + -0x4f04" identifier + number_literal) ))) ;) (if_statement "if (puVar7 == (undefined *)0x0) {\n    (**(code **)(puVar15 + 0x2aa818))\n              (*(int *)(puVar15 + 0x2a9af4) + -0x5150,*(int *)(puVar15 + 0x2a9af4) + -0x5168,0x1c4,\n               *(int *)(puVar15 + 0x2a9af4) + -0x4f30);\n  }\n  else if (*(int *)(puVar7 + 0x24) == -0x54535255) {\n    uVar11 = *(undefined4 *)(puVar7 + 8);\n    uVar9 = *(undefined4 *)(puVar7 + 0xc);\n    uVar4 = *(undefined4 *)(puVar7 + 0x10);\n    *puVar2 = *(undefined4 *)(puVar7 + 4);\n    puVar2[1] = uVar11;\n    puVar2[2] = uVar9;\n    puVar2[3] = uVar4;\n    return puVar2;\n  }" if (parenthesized_expression "(puVar7 == (undefined *)0x0)" ( (binary_expression "puVar7 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    (**(code **)(puVar15 + 0x2aa818))\n              (*(int *)(puVar15 + 0x2a9af4) + -0x5150,*(int *)(puVar15 + 0x2a9af4) + -0x5168,0x1c4,\n               *(int *)(puVar15 + 0x2a9af4) + -0x4f30);\n  }" { (expression_statement "(**(code **)(puVar15 + 0x2aa818))\n              (*(int *)(puVar15 + 0x2a9af4) + -0x5150,*(int *)(puVar15 + 0x2a9af4) + -0x5168,0x1c4,\n               *(int *)(puVar15 + 0x2a9af4) + -0x4f30);" (call_expression "(**(code **)(puVar15 + 0x2aa818))\n              (*(int *)(puVar15 + 0x2a9af4) + -0x5150,*(int *)(puVar15 + 0x2a9af4) + -0x5168,0x1c4,\n               *(int *)(puVar15 + 0x2a9af4) + -0x4f30)" (parenthesized_expression "(**(code **)(puVar15 + 0x2aa818))" ( (pointer_expression "**(code **)(puVar15 + 0x2aa818)" * (pointer_expression "*(code **)(puVar15 + 0x2aa818)" * (cast_expression "(code **)(puVar15 + 0x2aa818)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + 0x2aa818)" ( (binary_expression "puVar15 + 0x2aa818" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar15 + 0x2a9af4) + -0x5150,*(int *)(puVar15 + 0x2a9af4) + -0x5168,0x1c4,\n               *(int *)(puVar15 + 0x2a9af4) + -0x4f30)" ( (binary_expression "*(int *)(puVar15 + 0x2a9af4) + -0x5150" (pointer_expression "*(int *)(puVar15 + 0x2a9af4)" * (cast_expression "(int *)(puVar15 + 0x2a9af4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x2a9af4)" ( (binary_expression "puVar15 + 0x2a9af4" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar15 + 0x2a9af4) + -0x5168" (pointer_expression "*(int *)(puVar15 + 0x2a9af4)" * (cast_expression "(int *)(puVar15 + 0x2a9af4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x2a9af4)" ( (binary_expression "puVar15 + 0x2a9af4" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar15 + 0x2a9af4) + -0x4f30" (pointer_expression "*(int *)(puVar15 + 0x2a9af4)" * (cast_expression "(int *)(puVar15 + 0x2a9af4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x2a9af4)" ( (binary_expression "puVar15 + 0x2a9af4" identifier + number_literal) )))) + number_literal) ))) ;) }) (else_clause "else if (*(int *)(puVar7 + 0x24) == -0x54535255) {\n    uVar11 = *(undefined4 *)(puVar7 + 8);\n    uVar9 = *(undefined4 *)(puVar7 + 0xc);\n    uVar4 = *(undefined4 *)(puVar7 + 0x10);\n    *puVar2 = *(undefined4 *)(puVar7 + 4);\n    puVar2[1] = uVar11;\n    puVar2[2] = uVar9;\n    puVar2[3] = uVar4;\n    return puVar2;\n  }" else (if_statement "if (*(int *)(puVar7 + 0x24) == -0x54535255) {\n    uVar11 = *(undefined4 *)(puVar7 + 8);\n    uVar9 = *(undefined4 *)(puVar7 + 0xc);\n    uVar4 = *(undefined4 *)(puVar7 + 0x10);\n    *puVar2 = *(undefined4 *)(puVar7 + 4);\n    puVar2[1] = uVar11;\n    puVar2[2] = uVar9;\n    puVar2[3] = uVar4;\n    return puVar2;\n  }" if (parenthesized_expression "(*(int *)(puVar7 + 0x24) == -0x54535255)" ( (binary_expression "*(int *)(puVar7 + 0x24) == -0x54535255" (pointer_expression "*(int *)(puVar7 + 0x24)" * (cast_expression "(int *)(puVar7 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 0x24)" ( (binary_expression "puVar7 + 0x24" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    uVar11 = *(undefined4 *)(puVar7 + 8);\n    uVar9 = *(undefined4 *)(puVar7 + 0xc);\n    uVar4 = *(undefined4 *)(puVar7 + 0x10);\n    *puVar2 = *(undefined4 *)(puVar7 + 4);\n    puVar2[1] = uVar11;\n    puVar2[2] = uVar9;\n    puVar2[3] = uVar4;\n    return puVar2;\n  }" { (expression_statement "uVar11 = *(undefined4 *)(puVar7 + 8);" (assignment_expression "uVar11 = *(undefined4 *)(puVar7 + 8)" identifier = (pointer_expression "*(undefined4 *)(puVar7 + 8)" * (cast_expression "(undefined4 *)(puVar7 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 8)" ( (binary_expression "puVar7 + 8" identifier + number_literal) ))))) ;) (expression_statement "uVar9 = *(undefined4 *)(puVar7 + 0xc);" (assignment_expression "uVar9 = *(undefined4 *)(puVar7 + 0xc)" identifier = (pointer_expression "*(undefined4 *)(puVar7 + 0xc)" * (cast_expression "(undefined4 *)(puVar7 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 0xc)" ( (binary_expression "puVar7 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "uVar4 = *(undefined4 *)(puVar7 + 0x10);" (assignment_expression "uVar4 = *(undefined4 *)(puVar7 + 0x10)" identifier = (pointer_expression "*(undefined4 *)(puVar7 + 0x10)" * (cast_expression "(undefined4 *)(puVar7 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 0x10)" ( (binary_expression "puVar7 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "*puVar2 = *(undefined4 *)(puVar7 + 4);" (assignment_expression "*puVar2 = *(undefined4 *)(puVar7 + 4)" (pointer_expression "*puVar2" * identifier) = (pointer_expression "*(undefined4 *)(puVar7 + 4)" * (cast_expression "(undefined4 *)(puVar7 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 4)" ( (binary_expression "puVar7 + 4" identifier + number_literal) ))))) ;) (expression_statement "puVar2[1] = uVar11;" (assignment_expression "puVar2[1] = uVar11" (subscript_expression "puVar2[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar2[2] = uVar9;" (assignment_expression "puVar2[2] = uVar9" (subscript_expression "puVar2[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar2[3] = uVar4;" (assignment_expression "puVar2[3] = uVar4" (subscript_expression "puVar2[3]" identifier [ number_literal ]) = identifier) ;) (return_statement "return puVar2;" return identifier ;) })))) (expression_statement "pcVar16 = *(code **)(puVar15 + 0x2aa818);" (assignment_expression "pcVar16 = *(code **)(puVar15 + 0x2aa818)" identifier = (pointer_expression "*(code **)(puVar15 + 0x2aa818)" * (cast_expression "(code **)(puVar15 + 0x2aa818)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + 0x2aa818)" ( (binary_expression "puVar15 + 0x2aa818" identifier + number_literal) ))))) ;) (expression_statement "iVar6 = *(int *)(puVar15 + 0x2a9af4) + -0x512c;" (assignment_expression "iVar6 = *(int *)(puVar15 + 0x2a9af4) + -0x512c" identifier = (binary_expression "*(int *)(puVar15 + 0x2a9af4) + -0x512c" (pointer_expression "*(int *)(puVar15 + 0x2a9af4)" * (cast_expression "(int *)(puVar15 + 0x2a9af4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x2a9af4)" ( (binary_expression "puVar15 + 0x2a9af4" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar16)(iVar6,*(int *)(puVar15 + 0x2a9af4) + -0x5168,0x1c5,\n             *(int *)(puVar15 + 0x2a9af4) + -0x4f30);" (call_expression "(*pcVar16)(iVar6,*(int *)(puVar15 + 0x2a9af4) + -0x5168,0x1c5,\n             *(int *)(puVar15 + 0x2a9af4) + -0x4f30)" (parenthesized_expression "(*pcVar16)" ( (pointer_expression "*pcVar16" * identifier) )) (argument_list "(iVar6,*(int *)(puVar15 + 0x2a9af4) + -0x5168,0x1c5,\n             *(int *)(puVar15 + 0x2a9af4) + -0x4f30)" ( identifier , (binary_expression "*(int *)(puVar15 + 0x2a9af4) + -0x5168" (pointer_expression "*(int *)(puVar15 + 0x2a9af4)" * (cast_expression "(int *)(puVar15 + 0x2a9af4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x2a9af4)" ( (binary_expression "puVar15 + 0x2a9af4" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar15 + 0x2a9af4) + -0x4f30" (pointer_expression "*(int *)(puVar15 + 0x2a9af4)" * (cast_expression "(int *)(puVar15 + 0x2a9af4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x2a9af4)" ( (binary_expression "puVar15 + 0x2a9af4" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (iVar6 == 0) {\n    (**(code **)(pcVar16 + 0x2aa774))\n              (*(int *)(pcVar16 + 0x2a9a50) + -0x5150,*(int *)(pcVar16 + 0x2a9a50) + -0x5168,0x1e1,\n               *(int *)(pcVar16 + 0x2a9a50) + -0x4f44);\n  }\n  else if (*(int *)(iVar6 + 0x24) == -0x54535255) {\n    return *(undefined4 **)(iVar6 + 0x14);\n  }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n    (**(code **)(pcVar16 + 0x2aa774))\n              (*(int *)(pcVar16 + 0x2a9a50) + -0x5150,*(int *)(pcVar16 + 0x2a9a50) + -0x5168,0x1e1,\n               *(int *)(pcVar16 + 0x2a9a50) + -0x4f44);\n  }" { (expression_statement "(**(code **)(pcVar16 + 0x2aa774))\n              (*(int *)(pcVar16 + 0x2a9a50) + -0x5150,*(int *)(pcVar16 + 0x2a9a50) + -0x5168,0x1e1,\n               *(int *)(pcVar16 + 0x2a9a50) + -0x4f44);" (call_expression "(**(code **)(pcVar16 + 0x2aa774))\n              (*(int *)(pcVar16 + 0x2a9a50) + -0x5150,*(int *)(pcVar16 + 0x2a9a50) + -0x5168,0x1e1,\n               *(int *)(pcVar16 + 0x2a9a50) + -0x4f44)" (parenthesized_expression "(**(code **)(pcVar16 + 0x2aa774))" ( (pointer_expression "**(code **)(pcVar16 + 0x2aa774)" * (pointer_expression "*(code **)(pcVar16 + 0x2aa774)" * (cast_expression "(code **)(pcVar16 + 0x2aa774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + 0x2aa774)" ( (binary_expression "pcVar16 + 0x2aa774" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar16 + 0x2a9a50) + -0x5150,*(int *)(pcVar16 + 0x2a9a50) + -0x5168,0x1e1,\n               *(int *)(pcVar16 + 0x2a9a50) + -0x4f44)" ( (binary_expression "*(int *)(pcVar16 + 0x2a9a50) + -0x5150" (pointer_expression "*(int *)(pcVar16 + 0x2a9a50)" * (cast_expression "(int *)(pcVar16 + 0x2a9a50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x2a9a50)" ( (binary_expression "pcVar16 + 0x2a9a50" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar16 + 0x2a9a50) + -0x5168" (pointer_expression "*(int *)(pcVar16 + 0x2a9a50)" * (cast_expression "(int *)(pcVar16 + 0x2a9a50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x2a9a50)" ( (binary_expression "pcVar16 + 0x2a9a50" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar16 + 0x2a9a50) + -0x4f44" (pointer_expression "*(int *)(pcVar16 + 0x2a9a50)" * (cast_expression "(int *)(pcVar16 + 0x2a9a50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x2a9a50)" ( (binary_expression "pcVar16 + 0x2a9a50" identifier + number_literal) )))) + number_literal) ))) ;) }) (else_clause "else if (*(int *)(iVar6 + 0x24) == -0x54535255) {\n    return *(undefined4 **)(iVar6 + 0x14);\n  }" else (if_statement "if (*(int *)(iVar6 + 0x24) == -0x54535255) {\n    return *(undefined4 **)(iVar6 + 0x14);\n  }" if (parenthesized_expression "(*(int *)(iVar6 + 0x24) == -0x54535255)" ( (binary_expression "*(int *)(iVar6 + 0x24) == -0x54535255" (pointer_expression "*(int *)(iVar6 + 0x24)" * (cast_expression "(int *)(iVar6 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x24)" ( (binary_expression "iVar6 + 0x24" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    return *(undefined4 **)(iVar6 + 0x14);\n  }" { (return_statement "return *(undefined4 **)(iVar6 + 0x14);" return (pointer_expression "*(undefined4 **)(iVar6 + 0x14)" * (cast_expression "(undefined4 **)(iVar6 + 0x14)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + 0x14)" ( (binary_expression "iVar6 + 0x14" identifier + number_literal) )))) ;) })))) (expression_statement "uVar4 = 0x1e2;" (assignment_expression "uVar4 = 0x1e2" identifier = number_literal) ;) (expression_statement "pcVar17 = *(code **)(pcVar16 + 0x2aa774);" (assignment_expression "pcVar17 = *(code **)(pcVar16 + 0x2aa774)" identifier = (pointer_expression "*(code **)(pcVar16 + 0x2aa774)" * (cast_expression "(code **)(pcVar16 + 0x2aa774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + 0x2aa774)" ( (binary_expression "pcVar16 + 0x2aa774" identifier + number_literal) ))))) ;) (expression_statement "iVar8 = *(int *)(pcVar16 + 0x2a9a50) + -0x5168;" (assignment_expression "iVar8 = *(int *)(pcVar16 + 0x2a9a50) + -0x5168" identifier = (binary_expression "*(int *)(pcVar16 + 0x2a9a50) + -0x5168" (pointer_expression "*(int *)(pcVar16 + 0x2a9a50)" * (cast_expression "(int *)(pcVar16 + 0x2a9a50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x2a9a50)" ( (binary_expression "pcVar16 + 0x2a9a50" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "iVar6 = *(int *)(pcVar16 + 0x2a9a50) + -0x512c;" (assignment_expression "iVar6 = *(int *)(pcVar16 + 0x2a9a50) + -0x512c" identifier = (binary_expression "*(int *)(pcVar16 + 0x2a9a50) + -0x512c" (pointer_expression "*(int *)(pcVar16 + 0x2a9a50)" * (cast_expression "(int *)(pcVar16 + 0x2a9a50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x2a9a50)" ( (binary_expression "pcVar16 + 0x2a9a50" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar17)();" (call_expression "(*pcVar17)()" (parenthesized_expression "(*pcVar17)" ( (pointer_expression "*pcVar17" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "piVar12 = *(int **)(pcVar17 + 0x2aa318);" (assignment_expression "piVar12 = *(int **)(pcVar17 + 0x2aa318)" identifier = (pointer_expression "*(int **)(pcVar17 + 0x2aa318)" * (cast_expression "(int **)(pcVar17 + 0x2aa318)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x2aa318)" ( (binary_expression "pcVar17 + 0x2aa318" identifier + number_literal) ))))) ;) (expression_statement "iStack_9c = *piVar12;" (assignment_expression "iStack_9c = *piVar12" identifier = (pointer_expression "*piVar12" * identifier)) ;) (expression_statement "uStack_98 = unaff_s0;" (assignment_expression "uStack_98 = unaff_s0" identifier = identifier) ;) (expression_statement "iStack_94 = param_1;" (assignment_expression "iStack_94 = param_1" identifier = identifier) ;) (if_statement "if (iVar6 == 0) {\n    (**(code **)(pcVar17 + 0x2aa6f0))\n              (*(int *)(pcVar17 + 0x2a99cc) + -0x50fc,*(int *)(pcVar17 + 0x2a99cc) + -0x5168,0x225,\n               *(int *)(pcVar17 + 0x2a99cc) + -0x4f5c);\n  }\n  else if (*(int *)(iVar6 + 0x24) == -0x54535255) {\n    if (iVar8 == 0) {\n      puVar2 = (undefined4 *)0x0;\n    }\n    else {\n      uVar9 = *(undefined4 *)(iVar6 + 0x14);\n      iVar13 = *(int *)(iVar6 + 8);\n      iVar14 = *(int *)(iVar6 + 0x10);\n      uStack_bc = 0;\n      uStack_c0 = 0;\n      iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9);\n      if (((iVar5 == 4) || (iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3)) &&\n         ((iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 4 ||\n          (iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3)))) {\n        iVar13 = iVar13 - iVar14;\n        (**(code **)(pcVar17 + 0x2aa224))(7);\n        iVar5 = iVar13;\n        if (iVar13 < 0) {\n          iVar5 = iVar13 + 0x3f;\n        }\n        iVar5 = iVar5 >> 6;\n        if (extraout_v1 < iVar5) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          bVar1 = extraout_v1_02 < 2;\n        }\n        else {\n          bVar1 = iVar13 < 0x80;\n        }\n        iVar13 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          if (extraout_v1_01 < iVar5) {\n            (**(code **)(pcVar17 + 0x2aa224))(7);\n            iVar5 = extraout_v1_03;\n          }\n          goto LAB_000feff4;\n        }\n        iVar14 = *(int *)(pcVar17 + 0x2a9b7c);\n      }\n      else {\n        uVar18 = (**(code **)(pcVar17 + 0x2aa224))(7);\n        if ((int)((ulonglong)uVar18 >> 0x20) == 0) {\n          pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n          if ((uint)uVar18 < 2) {\n            uVar18 = (*pcVar16)(7);\n            if ((int)((ulonglong)uVar18 >> 0x20) != 0) goto LAB_000fefdc;\n            pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n            if ((uint)uVar18 < 2) {\n              iVar5 = 1;\n              goto LAB_000feff4;\n            }\n          }\n        }\n        else {\nLAB_000fefdc:\n          pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n        }\n        uVar18 = (*pcVar16)(7);\n        if (((int)((ulonglong)uVar18 >> 0x20) == 0) && ((uint)uVar18 < 2)) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          iVar5 = extraout_v1_00;\n        }\n        else {\n          iVar5 = 2;\n        }\nLAB_000feff4:\n        iVar14 = *(int *)(pcVar17 + 0x2a9b7c);\n        iVar13 = iVar5;\n      }\n      puStack_a4 = (undefined4 *)0x1;\n      puStack_a0 = &uStack_c0;\n      iStack_b4 = iVar6;\n      iStack_b0 = iVar8;\n      uStack_ac = uVar4;\n      uStack_a8 = uVar9;\n      (**(code **)(pcVar17 + 0x2aa280))(iVar14 + -0x2298,&iStack_b4,iVar13,0);\n      puVar2 = puStack_a4;\n    }\n    iVar6 = iStack_9c;\n    if (iStack_9c == *piVar12) {\n      return puVar2;\n    }\n    goto LAB_000ff1d4;\n  }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n    (**(code **)(pcVar17 + 0x2aa6f0))\n              (*(int *)(pcVar17 + 0x2a99cc) + -0x50fc,*(int *)(pcVar17 + 0x2a99cc) + -0x5168,0x225,\n               *(int *)(pcVar17 + 0x2a99cc) + -0x4f5c);\n  }" { (expression_statement "(**(code **)(pcVar17 + 0x2aa6f0))\n              (*(int *)(pcVar17 + 0x2a99cc) + -0x50fc,*(int *)(pcVar17 + 0x2a99cc) + -0x5168,0x225,\n               *(int *)(pcVar17 + 0x2a99cc) + -0x4f5c);" (call_expression "(**(code **)(pcVar17 + 0x2aa6f0))\n              (*(int *)(pcVar17 + 0x2a99cc) + -0x50fc,*(int *)(pcVar17 + 0x2a99cc) + -0x5168,0x225,\n               *(int *)(pcVar17 + 0x2a99cc) + -0x4f5c)" (parenthesized_expression "(**(code **)(pcVar17 + 0x2aa6f0))" ( (pointer_expression "**(code **)(pcVar17 + 0x2aa6f0)" * (pointer_expression "*(code **)(pcVar17 + 0x2aa6f0)" * (cast_expression "(code **)(pcVar17 + 0x2aa6f0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x2aa6f0)" ( (binary_expression "pcVar17 + 0x2aa6f0" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar17 + 0x2a99cc) + -0x50fc,*(int *)(pcVar17 + 0x2a99cc) + -0x5168,0x225,\n               *(int *)(pcVar17 + 0x2a99cc) + -0x4f5c)" ( (binary_expression "*(int *)(pcVar17 + 0x2a99cc) + -0x50fc" (pointer_expression "*(int *)(pcVar17 + 0x2a99cc)" * (cast_expression "(int *)(pcVar17 + 0x2a99cc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x2a99cc)" ( (binary_expression "pcVar17 + 0x2a99cc" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar17 + 0x2a99cc) + -0x5168" (pointer_expression "*(int *)(pcVar17 + 0x2a99cc)" * (cast_expression "(int *)(pcVar17 + 0x2a99cc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x2a99cc)" ( (binary_expression "pcVar17 + 0x2a99cc" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar17 + 0x2a99cc) + -0x4f5c" (pointer_expression "*(int *)(pcVar17 + 0x2a99cc)" * (cast_expression "(int *)(pcVar17 + 0x2a99cc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x2a99cc)" ( (binary_expression "pcVar17 + 0x2a99cc" identifier + number_literal) )))) + number_literal) ))) ;) }) (else_clause "else if (*(int *)(iVar6 + 0x24) == -0x54535255) {\n    if (iVar8 == 0) {\n      puVar2 = (undefined4 *)0x0;\n    }\n    else {\n      uVar9 = *(undefined4 *)(iVar6 + 0x14);\n      iVar13 = *(int *)(iVar6 + 8);\n      iVar14 = *(int *)(iVar6 + 0x10);\n      uStack_bc = 0;\n      uStack_c0 = 0;\n      iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9);\n      if (((iVar5 == 4) || (iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3)) &&\n         ((iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 4 ||\n          (iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3)))) {\n        iVar13 = iVar13 - iVar14;\n        (**(code **)(pcVar17 + 0x2aa224))(7);\n        iVar5 = iVar13;\n        if (iVar13 < 0) {\n          iVar5 = iVar13 + 0x3f;\n        }\n        iVar5 = iVar5 >> 6;\n        if (extraout_v1 < iVar5) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          bVar1 = extraout_v1_02 < 2;\n        }\n        else {\n          bVar1 = iVar13 < 0x80;\n        }\n        iVar13 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          if (extraout_v1_01 < iVar5) {\n            (**(code **)(pcVar17 + 0x2aa224))(7);\n            iVar5 = extraout_v1_03;\n          }\n          goto LAB_000feff4;\n        }\n        iVar14 = *(int *)(pcVar17 + 0x2a9b7c);\n      }\n      else {\n        uVar18 = (**(code **)(pcVar17 + 0x2aa224))(7);\n        if ((int)((ulonglong)uVar18 >> 0x20) == 0) {\n          pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n          if ((uint)uVar18 < 2) {\n            uVar18 = (*pcVar16)(7);\n            if ((int)((ulonglong)uVar18 >> 0x20) != 0) goto LAB_000fefdc;\n            pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n            if ((uint)uVar18 < 2) {\n              iVar5 = 1;\n              goto LAB_000feff4;\n            }\n          }\n        }\n        else {\nLAB_000fefdc:\n          pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n        }\n        uVar18 = (*pcVar16)(7);\n        if (((int)((ulonglong)uVar18 >> 0x20) == 0) && ((uint)uVar18 < 2)) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          iVar5 = extraout_v1_00;\n        }\n        else {\n          iVar5 = 2;\n        }\nLAB_000feff4:\n        iVar14 = *(int *)(pcVar17 + 0x2a9b7c);\n        iVar13 = iVar5;\n      }\n      puStack_a4 = (undefined4 *)0x1;\n      puStack_a0 = &uStack_c0;\n      iStack_b4 = iVar6;\n      iStack_b0 = iVar8;\n      uStack_ac = uVar4;\n      uStack_a8 = uVar9;\n      (**(code **)(pcVar17 + 0x2aa280))(iVar14 + -0x2298,&iStack_b4,iVar13,0);\n      puVar2 = puStack_a4;\n    }\n    iVar6 = iStack_9c;\n    if (iStack_9c == *piVar12) {\n      return puVar2;\n    }\n    goto LAB_000ff1d4;\n  }" else (if_statement "if (*(int *)(iVar6 + 0x24) == -0x54535255) {\n    if (iVar8 == 0) {\n      puVar2 = (undefined4 *)0x0;\n    }\n    else {\n      uVar9 = *(undefined4 *)(iVar6 + 0x14);\n      iVar13 = *(int *)(iVar6 + 8);\n      iVar14 = *(int *)(iVar6 + 0x10);\n      uStack_bc = 0;\n      uStack_c0 = 0;\n      iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9);\n      if (((iVar5 == 4) || (iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3)) &&\n         ((iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 4 ||\n          (iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3)))) {\n        iVar13 = iVar13 - iVar14;\n        (**(code **)(pcVar17 + 0x2aa224))(7);\n        iVar5 = iVar13;\n        if (iVar13 < 0) {\n          iVar5 = iVar13 + 0x3f;\n        }\n        iVar5 = iVar5 >> 6;\n        if (extraout_v1 < iVar5) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          bVar1 = extraout_v1_02 < 2;\n        }\n        else {\n          bVar1 = iVar13 < 0x80;\n        }\n        iVar13 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          if (extraout_v1_01 < iVar5) {\n            (**(code **)(pcVar17 + 0x2aa224))(7);\n            iVar5 = extraout_v1_03;\n          }\n          goto LAB_000feff4;\n        }\n        iVar14 = *(int *)(pcVar17 + 0x2a9b7c);\n      }\n      else {\n        uVar18 = (**(code **)(pcVar17 + 0x2aa224))(7);\n        if ((int)((ulonglong)uVar18 >> 0x20) == 0) {\n          pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n          if ((uint)uVar18 < 2) {\n            uVar18 = (*pcVar16)(7);\n            if ((int)((ulonglong)uVar18 >> 0x20) != 0) goto LAB_000fefdc;\n            pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n            if ((uint)uVar18 < 2) {\n              iVar5 = 1;\n              goto LAB_000feff4;\n            }\n          }\n        }\n        else {\nLAB_000fefdc:\n          pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n        }\n        uVar18 = (*pcVar16)(7);\n        if (((int)((ulonglong)uVar18 >> 0x20) == 0) && ((uint)uVar18 < 2)) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          iVar5 = extraout_v1_00;\n        }\n        else {\n          iVar5 = 2;\n        }\nLAB_000feff4:\n        iVar14 = *(int *)(pcVar17 + 0x2a9b7c);\n        iVar13 = iVar5;\n      }\n      puStack_a4 = (undefined4 *)0x1;\n      puStack_a0 = &uStack_c0;\n      iStack_b4 = iVar6;\n      iStack_b0 = iVar8;\n      uStack_ac = uVar4;\n      uStack_a8 = uVar9;\n      (**(code **)(pcVar17 + 0x2aa280))(iVar14 + -0x2298,&iStack_b4,iVar13,0);\n      puVar2 = puStack_a4;\n    }\n    iVar6 = iStack_9c;\n    if (iStack_9c == *piVar12) {\n      return puVar2;\n    }\n    goto LAB_000ff1d4;\n  }" if (parenthesized_expression "(*(int *)(iVar6 + 0x24) == -0x54535255)" ( (binary_expression "*(int *)(iVar6 + 0x24) == -0x54535255" (pointer_expression "*(int *)(iVar6 + 0x24)" * (cast_expression "(int *)(iVar6 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x24)" ( (binary_expression "iVar6 + 0x24" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    if (iVar8 == 0) {\n      puVar2 = (undefined4 *)0x0;\n    }\n    else {\n      uVar9 = *(undefined4 *)(iVar6 + 0x14);\n      iVar13 = *(int *)(iVar6 + 8);\n      iVar14 = *(int *)(iVar6 + 0x10);\n      uStack_bc = 0;\n      uStack_c0 = 0;\n      iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9);\n      if (((iVar5 == 4) || (iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3)) &&\n         ((iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 4 ||\n          (iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3)))) {\n        iVar13 = iVar13 - iVar14;\n        (**(code **)(pcVar17 + 0x2aa224))(7);\n        iVar5 = iVar13;\n        if (iVar13 < 0) {\n          iVar5 = iVar13 + 0x3f;\n        }\n        iVar5 = iVar5 >> 6;\n        if (extraout_v1 < iVar5) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          bVar1 = extraout_v1_02 < 2;\n        }\n        else {\n          bVar1 = iVar13 < 0x80;\n        }\n        iVar13 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          if (extraout_v1_01 < iVar5) {\n            (**(code **)(pcVar17 + 0x2aa224))(7);\n            iVar5 = extraout_v1_03;\n          }\n          goto LAB_000feff4;\n        }\n        iVar14 = *(int *)(pcVar17 + 0x2a9b7c);\n      }\n      else {\n        uVar18 = (**(code **)(pcVar17 + 0x2aa224))(7);\n        if ((int)((ulonglong)uVar18 >> 0x20) == 0) {\n          pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n          if ((uint)uVar18 < 2) {\n            uVar18 = (*pcVar16)(7);\n            if ((int)((ulonglong)uVar18 >> 0x20) != 0) goto LAB_000fefdc;\n            pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n            if ((uint)uVar18 < 2) {\n              iVar5 = 1;\n              goto LAB_000feff4;\n            }\n          }\n        }\n        else {\nLAB_000fefdc:\n          pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n        }\n        uVar18 = (*pcVar16)(7);\n        if (((int)((ulonglong)uVar18 >> 0x20) == 0) && ((uint)uVar18 < 2)) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          iVar5 = extraout_v1_00;\n        }\n        else {\n          iVar5 = 2;\n        }\nLAB_000feff4:\n        iVar14 = *(int *)(pcVar17 + 0x2a9b7c);\n        iVar13 = iVar5;\n      }\n      puStack_a4 = (undefined4 *)0x1;\n      puStack_a0 = &uStack_c0;\n      iStack_b4 = iVar6;\n      iStack_b0 = iVar8;\n      uStack_ac = uVar4;\n      uStack_a8 = uVar9;\n      (**(code **)(pcVar17 + 0x2aa280))(iVar14 + -0x2298,&iStack_b4,iVar13,0);\n      puVar2 = puStack_a4;\n    }\n    iVar6 = iStack_9c;\n    if (iStack_9c == *piVar12) {\n      return puVar2;\n    }\n    goto LAB_000ff1d4;\n  }" { (if_statement "if (iVar8 == 0) {\n      puVar2 = (undefined4 *)0x0;\n    }\n    else {\n      uVar9 = *(undefined4 *)(iVar6 + 0x14);\n      iVar13 = *(int *)(iVar6 + 8);\n      iVar14 = *(int *)(iVar6 + 0x10);\n      uStack_bc = 0;\n      uStack_c0 = 0;\n      iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9);\n      if (((iVar5 == 4) || (iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3)) &&\n         ((iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 4 ||\n          (iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3)))) {\n        iVar13 = iVar13 - iVar14;\n        (**(code **)(pcVar17 + 0x2aa224))(7);\n        iVar5 = iVar13;\n        if (iVar13 < 0) {\n          iVar5 = iVar13 + 0x3f;\n        }\n        iVar5 = iVar5 >> 6;\n        if (extraout_v1 < iVar5) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          bVar1 = extraout_v1_02 < 2;\n        }\n        else {\n          bVar1 = iVar13 < 0x80;\n        }\n        iVar13 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          if (extraout_v1_01 < iVar5) {\n            (**(code **)(pcVar17 + 0x2aa224))(7);\n            iVar5 = extraout_v1_03;\n          }\n          goto LAB_000feff4;\n        }\n        iVar14 = *(int *)(pcVar17 + 0x2a9b7c);\n      }\n      else {\n        uVar18 = (**(code **)(pcVar17 + 0x2aa224))(7);\n        if ((int)((ulonglong)uVar18 >> 0x20) == 0) {\n          pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n          if ((uint)uVar18 < 2) {\n            uVar18 = (*pcVar16)(7);\n            if ((int)((ulonglong)uVar18 >> 0x20) != 0) goto LAB_000fefdc;\n            pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n            if ((uint)uVar18 < 2) {\n              iVar5 = 1;\n              goto LAB_000feff4;\n            }\n          }\n        }\n        else {\nLAB_000fefdc:\n          pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n        }\n        uVar18 = (*pcVar16)(7);\n        if (((int)((ulonglong)uVar18 >> 0x20) == 0) && ((uint)uVar18 < 2)) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          iVar5 = extraout_v1_00;\n        }\n        else {\n          iVar5 = 2;\n        }\nLAB_000feff4:\n        iVar14 = *(int *)(pcVar17 + 0x2a9b7c);\n        iVar13 = iVar5;\n      }\n      puStack_a4 = (undefined4 *)0x1;\n      puStack_a0 = &uStack_c0;\n      iStack_b4 = iVar6;\n      iStack_b0 = iVar8;\n      uStack_ac = uVar4;\n      uStack_a8 = uVar9;\n      (**(code **)(pcVar17 + 0x2aa280))(iVar14 + -0x2298,&iStack_b4,iVar13,0);\n      puVar2 = puStack_a4;\n    }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n      puVar2 = (undefined4 *)0x0;\n    }" { (expression_statement "puVar2 = (undefined4 *)0x0;" (assignment_expression "puVar2 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n      uVar9 = *(undefined4 *)(iVar6 + 0x14);\n      iVar13 = *(int *)(iVar6 + 8);\n      iVar14 = *(int *)(iVar6 + 0x10);\n      uStack_bc = 0;\n      uStack_c0 = 0;\n      iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9);\n      if (((iVar5 == 4) || (iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3)) &&\n         ((iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 4 ||\n          (iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3)))) {\n        iVar13 = iVar13 - iVar14;\n        (**(code **)(pcVar17 + 0x2aa224))(7);\n        iVar5 = iVar13;\n        if (iVar13 < 0) {\n          iVar5 = iVar13 + 0x3f;\n        }\n        iVar5 = iVar5 >> 6;\n        if (extraout_v1 < iVar5) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          bVar1 = extraout_v1_02 < 2;\n        }\n        else {\n          bVar1 = iVar13 < 0x80;\n        }\n        iVar13 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          if (extraout_v1_01 < iVar5) {\n            (**(code **)(pcVar17 + 0x2aa224))(7);\n            iVar5 = extraout_v1_03;\n          }\n          goto LAB_000feff4;\n        }\n        iVar14 = *(int *)(pcVar17 + 0x2a9b7c);\n      }\n      else {\n        uVar18 = (**(code **)(pcVar17 + 0x2aa224))(7);\n        if ((int)((ulonglong)uVar18 >> 0x20) == 0) {\n          pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n          if ((uint)uVar18 < 2) {\n            uVar18 = (*pcVar16)(7);\n            if ((int)((ulonglong)uVar18 >> 0x20) != 0) goto LAB_000fefdc;\n            pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n            if ((uint)uVar18 < 2) {\n              iVar5 = 1;\n              goto LAB_000feff4;\n            }\n          }\n        }\n        else {\nLAB_000fefdc:\n          pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n        }\n        uVar18 = (*pcVar16)(7);\n        if (((int)((ulonglong)uVar18 >> 0x20) == 0) && ((uint)uVar18 < 2)) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          iVar5 = extraout_v1_00;\n        }\n        else {\n          iVar5 = 2;\n        }\nLAB_000feff4:\n        iVar14 = *(int *)(pcVar17 + 0x2a9b7c);\n        iVar13 = iVar5;\n      }\n      puStack_a4 = (undefined4 *)0x1;\n      puStack_a0 = &uStack_c0;\n      iStack_b4 = iVar6;\n      iStack_b0 = iVar8;\n      uStack_ac = uVar4;\n      uStack_a8 = uVar9;\n      (**(code **)(pcVar17 + 0x2aa280))(iVar14 + -0x2298,&iStack_b4,iVar13,0);\n      puVar2 = puStack_a4;\n    }" else (compound_statement "{\n      uVar9 = *(undefined4 *)(iVar6 + 0x14);\n      iVar13 = *(int *)(iVar6 + 8);\n      iVar14 = *(int *)(iVar6 + 0x10);\n      uStack_bc = 0;\n      uStack_c0 = 0;\n      iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9);\n      if (((iVar5 == 4) || (iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3)) &&\n         ((iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 4 ||\n          (iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3)))) {\n        iVar13 = iVar13 - iVar14;\n        (**(code **)(pcVar17 + 0x2aa224))(7);\n        iVar5 = iVar13;\n        if (iVar13 < 0) {\n          iVar5 = iVar13 + 0x3f;\n        }\n        iVar5 = iVar5 >> 6;\n        if (extraout_v1 < iVar5) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          bVar1 = extraout_v1_02 < 2;\n        }\n        else {\n          bVar1 = iVar13 < 0x80;\n        }\n        iVar13 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          if (extraout_v1_01 < iVar5) {\n            (**(code **)(pcVar17 + 0x2aa224))(7);\n            iVar5 = extraout_v1_03;\n          }\n          goto LAB_000feff4;\n        }\n        iVar14 = *(int *)(pcVar17 + 0x2a9b7c);\n      }\n      else {\n        uVar18 = (**(code **)(pcVar17 + 0x2aa224))(7);\n        if ((int)((ulonglong)uVar18 >> 0x20) == 0) {\n          pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n          if ((uint)uVar18 < 2) {\n            uVar18 = (*pcVar16)(7);\n            if ((int)((ulonglong)uVar18 >> 0x20) != 0) goto LAB_000fefdc;\n            pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n            if ((uint)uVar18 < 2) {\n              iVar5 = 1;\n              goto LAB_000feff4;\n            }\n          }\n        }\n        else {\nLAB_000fefdc:\n          pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n        }\n        uVar18 = (*pcVar16)(7);\n        if (((int)((ulonglong)uVar18 >> 0x20) == 0) && ((uint)uVar18 < 2)) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          iVar5 = extraout_v1_00;\n        }\n        else {\n          iVar5 = 2;\n        }\nLAB_000feff4:\n        iVar14 = *(int *)(pcVar17 + 0x2a9b7c);\n        iVar13 = iVar5;\n      }\n      puStack_a4 = (undefined4 *)0x1;\n      puStack_a0 = &uStack_c0;\n      iStack_b4 = iVar6;\n      iStack_b0 = iVar8;\n      uStack_ac = uVar4;\n      uStack_a8 = uVar9;\n      (**(code **)(pcVar17 + 0x2aa280))(iVar14 + -0x2298,&iStack_b4,iVar13,0);\n      puVar2 = puStack_a4;\n    }" { (expression_statement "uVar9 = *(undefined4 *)(iVar6 + 0x14);" (assignment_expression "uVar9 = *(undefined4 *)(iVar6 + 0x14)" identifier = (pointer_expression "*(undefined4 *)(iVar6 + 0x14)" * (cast_expression "(undefined4 *)(iVar6 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x14)" ( (binary_expression "iVar6 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "iVar13 = *(int *)(iVar6 + 8);" (assignment_expression "iVar13 = *(int *)(iVar6 + 8)" identifier = (pointer_expression "*(int *)(iVar6 + 8)" * (cast_expression "(int *)(iVar6 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 8)" ( (binary_expression "iVar6 + 8" identifier + number_literal) ))))) ;) (expression_statement "iVar14 = *(int *)(iVar6 + 0x10);" (assignment_expression "iVar14 = *(int *)(iVar6 + 0x10)" identifier = (pointer_expression "*(int *)(iVar6 + 0x10)" * (cast_expression "(int *)(iVar6 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x10)" ( (binary_expression "iVar6 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "uStack_bc = 0;" (assignment_expression "uStack_bc = 0" identifier = number_literal) ;) (expression_statement "uStack_c0 = 0;" (assignment_expression "uStack_c0 = 0" identifier = number_literal) ;) (expression_statement "iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9);" (assignment_expression "iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9)" identifier = (call_expression "(**(code **)(pcVar17 + 0x2aa59c))(uVar9)" (parenthesized_expression "(**(code **)(pcVar17 + 0x2aa59c))" ( (pointer_expression "**(code **)(pcVar17 + 0x2aa59c)" * (pointer_expression "*(code **)(pcVar17 + 0x2aa59c)" * (cast_expression "(code **)(pcVar17 + 0x2aa59c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x2aa59c)" ( (binary_expression "pcVar17 + 0x2aa59c" identifier + number_literal) ))))) )) (argument_list "(uVar9)" ( identifier )))) ;) (if_statement "if (((iVar5 == 4) || (iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3)) &&\n         ((iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 4 ||\n          (iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3)))) {\n        iVar13 = iVar13 - iVar14;\n        (**(code **)(pcVar17 + 0x2aa224))(7);\n        iVar5 = iVar13;\n        if (iVar13 < 0) {\n          iVar5 = iVar13 + 0x3f;\n        }\n        iVar5 = iVar5 >> 6;\n        if (extraout_v1 < iVar5) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          bVar1 = extraout_v1_02 < 2;\n        }\n        else {\n          bVar1 = iVar13 < 0x80;\n        }\n        iVar13 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          if (extraout_v1_01 < iVar5) {\n            (**(code **)(pcVar17 + 0x2aa224))(7);\n            iVar5 = extraout_v1_03;\n          }\n          goto LAB_000feff4;\n        }\n        iVar14 = *(int *)(pcVar17 + 0x2a9b7c);\n      }\n      else {\n        uVar18 = (**(code **)(pcVar17 + 0x2aa224))(7);\n        if ((int)((ulonglong)uVar18 >> 0x20) == 0) {\n          pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n          if ((uint)uVar18 < 2) {\n            uVar18 = (*pcVar16)(7);\n            if ((int)((ulonglong)uVar18 >> 0x20) != 0) goto LAB_000fefdc;\n            pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n            if ((uint)uVar18 < 2) {\n              iVar5 = 1;\n              goto LAB_000feff4;\n            }\n          }\n        }\n        else {\nLAB_000fefdc:\n          pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n        }\n        uVar18 = (*pcVar16)(7);\n        if (((int)((ulonglong)uVar18 >> 0x20) == 0) && ((uint)uVar18 < 2)) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          iVar5 = extraout_v1_00;\n        }\n        else {\n          iVar5 = 2;\n        }\nLAB_000feff4:\n        iVar14 = *(int *)(pcVar17 + 0x2a9b7c);\n        iVar13 = iVar5;\n      }" if (parenthesized_expression "(((iVar5 == 4) || (iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3)) &&\n         ((iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 4 ||\n          (iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3))))" ( (binary_expression "((iVar5 == 4) || (iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3)) &&\n         ((iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 4 ||\n          (iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3)))" (parenthesized_expression "((iVar5 == 4) || (iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3))" ( (binary_expression "(iVar5 == 4) || (iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3)" (parenthesized_expression "(iVar5 == 4)" ( (binary_expression "iVar5 == 4" identifier == number_literal) )) || (parenthesized_expression "(iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3)" ( (comma_expression "iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3" (assignment_expression "iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9)" identifier = (call_expression "(**(code **)(pcVar17 + 0x2aa59c))(uVar9)" (parenthesized_expression "(**(code **)(pcVar17 + 0x2aa59c))" ( (pointer_expression "**(code **)(pcVar17 + 0x2aa59c)" * (pointer_expression "*(code **)(pcVar17 + 0x2aa59c)" * (cast_expression "(code **)(pcVar17 + 0x2aa59c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x2aa59c)" ( (binary_expression "pcVar17 + 0x2aa59c" identifier + number_literal) ))))) )) (argument_list "(uVar9)" ( identifier )))) , (binary_expression "iVar5 == 3" identifier == number_literal)) ))) )) && (parenthesized_expression "((iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 4 ||\n          (iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3)))" ( (parenthesized_expression "(iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 4 ||\n          (iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3))" ( (comma_expression "iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 4 ||\n          (iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3)" (assignment_expression "iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9)" identifier = (call_expression "(**(code **)(pcVar17 + 0x2aa59c))(uVar9)" (parenthesized_expression "(**(code **)(pcVar17 + 0x2aa59c))" ( (pointer_expression "**(code **)(pcVar17 + 0x2aa59c)" * (pointer_expression "*(code **)(pcVar17 + 0x2aa59c)" * (cast_expression "(code **)(pcVar17 + 0x2aa59c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x2aa59c)" ( (binary_expression "pcVar17 + 0x2aa59c" identifier + number_literal) ))))) )) (argument_list "(uVar9)" ( identifier )))) , (binary_expression "iVar5 == 4 ||\n          (iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3)" (binary_expression "iVar5 == 4" identifier == number_literal) || (parenthesized_expression "(iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3)" ( (comma_expression "iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3" (assignment_expression "iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9)" identifier = (call_expression "(**(code **)(pcVar17 + 0x2aa59c))(uVar9)" (parenthesized_expression "(**(code **)(pcVar17 + 0x2aa59c))" ( (pointer_expression "**(code **)(pcVar17 + 0x2aa59c)" * (pointer_expression "*(code **)(pcVar17 + 0x2aa59c)" * (cast_expression "(code **)(pcVar17 + 0x2aa59c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x2aa59c)" ( (binary_expression "pcVar17 + 0x2aa59c" identifier + number_literal) ))))) )) (argument_list "(uVar9)" ( identifier )))) , (binary_expression "iVar5 == 3" identifier == number_literal)) )))) )) ))) )) (compound_statement "{\n        iVar13 = iVar13 - iVar14;\n        (**(code **)(pcVar17 + 0x2aa224))(7);\n        iVar5 = iVar13;\n        if (iVar13 < 0) {\n          iVar5 = iVar13 + 0x3f;\n        }\n        iVar5 = iVar5 >> 6;\n        if (extraout_v1 < iVar5) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          bVar1 = extraout_v1_02 < 2;\n        }\n        else {\n          bVar1 = iVar13 < 0x80;\n        }\n        iVar13 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          if (extraout_v1_01 < iVar5) {\n            (**(code **)(pcVar17 + 0x2aa224))(7);\n            iVar5 = extraout_v1_03;\n          }\n          goto LAB_000feff4;\n        }\n        iVar14 = *(int *)(pcVar17 + 0x2a9b7c);\n      }" { (expression_statement "iVar13 = iVar13 - iVar14;" (assignment_expression "iVar13 = iVar13 - iVar14" identifier = (binary_expression "iVar13 - iVar14" identifier - identifier)) ;) (expression_statement "(**(code **)(pcVar17 + 0x2aa224))(7);" (call_expression "(**(code **)(pcVar17 + 0x2aa224))(7)" (parenthesized_expression "(**(code **)(pcVar17 + 0x2aa224))" ( (pointer_expression "**(code **)(pcVar17 + 0x2aa224)" * (pointer_expression "*(code **)(pcVar17 + 0x2aa224)" * (cast_expression "(code **)(pcVar17 + 0x2aa224)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x2aa224)" ( (binary_expression "pcVar17 + 0x2aa224" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "iVar5 = iVar13;" (assignment_expression "iVar5 = iVar13" identifier = identifier) ;) (if_statement "if (iVar13 < 0) {\n          iVar5 = iVar13 + 0x3f;\n        }" if (parenthesized_expression "(iVar13 < 0)" ( (binary_expression "iVar13 < 0" identifier < number_literal) )) (compound_statement "{\n          iVar5 = iVar13 + 0x3f;\n        }" { (expression_statement "iVar5 = iVar13 + 0x3f;" (assignment_expression "iVar5 = iVar13 + 0x3f" identifier = (binary_expression "iVar13 + 0x3f" identifier + number_literal)) ;) })) (expression_statement "iVar5 = iVar5 >> 6;" (assignment_expression "iVar5 = iVar5 >> 6" identifier = (binary_expression "iVar5 >> 6" identifier >> number_literal)) ;) (if_statement "if (extraout_v1 < iVar5) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          bVar1 = extraout_v1_02 < 2;\n        }\n        else {\n          bVar1 = iVar13 < 0x80;\n        }" if (parenthesized_expression "(extraout_v1 < iVar5)" ( (binary_expression "extraout_v1 < iVar5" identifier < identifier) )) (compound_statement "{\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          bVar1 = extraout_v1_02 < 2;\n        }" { (expression_statement "(**(code **)(pcVar17 + 0x2aa224))(7);" (call_expression "(**(code **)(pcVar17 + 0x2aa224))(7)" (parenthesized_expression "(**(code **)(pcVar17 + 0x2aa224))" ( (pointer_expression "**(code **)(pcVar17 + 0x2aa224)" * (pointer_expression "*(code **)(pcVar17 + 0x2aa224)" * (cast_expression "(code **)(pcVar17 + 0x2aa224)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x2aa224)" ( (binary_expression "pcVar17 + 0x2aa224" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "bVar1 = extraout_v1_02 < 2;" (assignment_expression "bVar1 = extraout_v1_02 < 2" identifier = (binary_expression "extraout_v1_02 < 2" identifier < number_literal)) ;) }) (else_clause "else {\n          bVar1 = iVar13 < 0x80;\n        }" else (compound_statement "{\n          bVar1 = iVar13 < 0x80;\n        }" { (expression_statement "bVar1 = iVar13 < 0x80;" (assignment_expression "bVar1 = iVar13 < 0x80" identifier = (binary_expression "iVar13 < 0x80" identifier < number_literal)) ;) }))) (expression_statement "iVar13 = 1;" (assignment_expression "iVar13 = 1" identifier = number_literal) ;) (if_statement "if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          if (extraout_v1_01 < iVar5) {\n            (**(code **)(pcVar17 + 0x2aa224))(7);\n            iVar5 = extraout_v1_03;\n          }\n          goto LAB_000feff4;\n        }" if (parenthesized_expression "((bool)(bVar1 ^ 1))" ( (cast_expression "(bool)(bVar1 ^ 1)" ( (type_descriptor "bool" primitive_type) ) (parenthesized_expression "(bVar1 ^ 1)" ( (binary_expression "bVar1 ^ 1" identifier ^ number_literal) ))) )) (compound_statement "{\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          if (extraout_v1_01 < iVar5) {\n            (**(code **)(pcVar17 + 0x2aa224))(7);\n            iVar5 = extraout_v1_03;\n          }\n          goto LAB_000feff4;\n        }" { (expression_statement "(**(code **)(pcVar17 + 0x2aa224))(7);" (call_expression "(**(code **)(pcVar17 + 0x2aa224))(7)" (parenthesized_expression "(**(code **)(pcVar17 + 0x2aa224))" ( (pointer_expression "**(code **)(pcVar17 + 0x2aa224)" * (pointer_expression "*(code **)(pcVar17 + 0x2aa224)" * (cast_expression "(code **)(pcVar17 + 0x2aa224)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x2aa224)" ( (binary_expression "pcVar17 + 0x2aa224" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (if_statement "if (extraout_v1_01 < iVar5) {\n            (**(code **)(pcVar17 + 0x2aa224))(7);\n            iVar5 = extraout_v1_03;\n          }" if (parenthesized_expression "(extraout_v1_01 < iVar5)" ( (binary_expression "extraout_v1_01 < iVar5" identifier < identifier) )) (compound_statement "{\n            (**(code **)(pcVar17 + 0x2aa224))(7);\n            iVar5 = extraout_v1_03;\n          }" { (expression_statement "(**(code **)(pcVar17 + 0x2aa224))(7);" (call_expression "(**(code **)(pcVar17 + 0x2aa224))(7)" (parenthesized_expression "(**(code **)(pcVar17 + 0x2aa224))" ( (pointer_expression "**(code **)(pcVar17 + 0x2aa224)" * (pointer_expression "*(code **)(pcVar17 + 0x2aa224)" * (cast_expression "(code **)(pcVar17 + 0x2aa224)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x2aa224)" ( (binary_expression "pcVar17 + 0x2aa224" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "iVar5 = extraout_v1_03;" (assignment_expression "iVar5 = extraout_v1_03" identifier = identifier) ;) })) (goto_statement "goto LAB_000feff4;" goto statement_identifier ;) })) (expression_statement "iVar14 = *(int *)(pcVar17 + 0x2a9b7c);" (assignment_expression "iVar14 = *(int *)(pcVar17 + 0x2a9b7c)" identifier = (pointer_expression "*(int *)(pcVar17 + 0x2a9b7c)" * (cast_expression "(int *)(pcVar17 + 0x2a9b7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x2a9b7c)" ( (binary_expression "pcVar17 + 0x2a9b7c" identifier + number_literal) ))))) ;) }) (else_clause "else {\n        uVar18 = (**(code **)(pcVar17 + 0x2aa224))(7);\n        if ((int)((ulonglong)uVar18 >> 0x20) == 0) {\n          pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n          if ((uint)uVar18 < 2) {\n            uVar18 = (*pcVar16)(7);\n            if ((int)((ulonglong)uVar18 >> 0x20) != 0) goto LAB_000fefdc;\n            pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n            if ((uint)uVar18 < 2) {\n              iVar5 = 1;\n              goto LAB_000feff4;\n            }\n          }\n        }\n        else {\nLAB_000fefdc:\n          pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n        }\n        uVar18 = (*pcVar16)(7);\n        if (((int)((ulonglong)uVar18 >> 0x20) == 0) && ((uint)uVar18 < 2)) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          iVar5 = extraout_v1_00;\n        }\n        else {\n          iVar5 = 2;\n        }\nLAB_000feff4:\n        iVar14 = *(int *)(pcVar17 + 0x2a9b7c);\n        iVar13 = iVar5;\n      }" else (compound_statement "{\n        uVar18 = (**(code **)(pcVar17 + 0x2aa224))(7);\n        if ((int)((ulonglong)uVar18 >> 0x20) == 0) {\n          pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n          if ((uint)uVar18 < 2) {\n            uVar18 = (*pcVar16)(7);\n            if ((int)((ulonglong)uVar18 >> 0x20) != 0) goto LAB_000fefdc;\n            pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n            if ((uint)uVar18 < 2) {\n              iVar5 = 1;\n              goto LAB_000feff4;\n            }\n          }\n        }\n        else {\nLAB_000fefdc:\n          pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n        }\n        uVar18 = (*pcVar16)(7);\n        if (((int)((ulonglong)uVar18 >> 0x20) == 0) && ((uint)uVar18 < 2)) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          iVar5 = extraout_v1_00;\n        }\n        else {\n          iVar5 = 2;\n        }\nLAB_000feff4:\n        iVar14 = *(int *)(pcVar17 + 0x2a9b7c);\n        iVar13 = iVar5;\n      }" { (expression_statement "uVar18 = (**(code **)(pcVar17 + 0x2aa224))(7);" (assignment_expression "uVar18 = (**(code **)(pcVar17 + 0x2aa224))(7)" identifier = (call_expression "(**(code **)(pcVar17 + 0x2aa224))(7)" (parenthesized_expression "(**(code **)(pcVar17 + 0x2aa224))" ( (pointer_expression "**(code **)(pcVar17 + 0x2aa224)" * (pointer_expression "*(code **)(pcVar17 + 0x2aa224)" * (cast_expression "(code **)(pcVar17 + 0x2aa224)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x2aa224)" ( (binary_expression "pcVar17 + 0x2aa224" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if ((int)((ulonglong)uVar18 >> 0x20) == 0) {\n          pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n          if ((uint)uVar18 < 2) {\n            uVar18 = (*pcVar16)(7);\n            if ((int)((ulonglong)uVar18 >> 0x20) != 0) goto LAB_000fefdc;\n            pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n            if ((uint)uVar18 < 2) {\n              iVar5 = 1;\n              goto LAB_000feff4;\n            }\n          }\n        }\n        else {\nLAB_000fefdc:\n          pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n        }" if (parenthesized_expression "((int)((ulonglong)uVar18 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar18 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar18 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar18 >> 0x20)" ( (binary_expression "(ulonglong)uVar18 >> 0x20" (cast_expression "(ulonglong)uVar18" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) (compound_statement "{\n          pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n          if ((uint)uVar18 < 2) {\n            uVar18 = (*pcVar16)(7);\n            if ((int)((ulonglong)uVar18 >> 0x20) != 0) goto LAB_000fefdc;\n            pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n            if ((uint)uVar18 < 2) {\n              iVar5 = 1;\n              goto LAB_000feff4;\n            }\n          }\n        }" { (expression_statement "pcVar16 = *(code **)(pcVar17 + 0x2aa224);" (assignment_expression "pcVar16 = *(code **)(pcVar17 + 0x2aa224)" identifier = (pointer_expression "*(code **)(pcVar17 + 0x2aa224)" * (cast_expression "(code **)(pcVar17 + 0x2aa224)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x2aa224)" ( (binary_expression "pcVar17 + 0x2aa224" identifier + number_literal) ))))) ;) (if_statement "if ((uint)uVar18 < 2) {\n            uVar18 = (*pcVar16)(7);\n            if ((int)((ulonglong)uVar18 >> 0x20) != 0) goto LAB_000fefdc;\n            pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n            if ((uint)uVar18 < 2) {\n              iVar5 = 1;\n              goto LAB_000feff4;\n            }\n          }" if (parenthesized_expression "((uint)uVar18 < 2)" ( (binary_expression "(uint)uVar18 < 2" (cast_expression "(uint)uVar18" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) )) (compound_statement "{\n            uVar18 = (*pcVar16)(7);\n            if ((int)((ulonglong)uVar18 >> 0x20) != 0) goto LAB_000fefdc;\n            pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n            if ((uint)uVar18 < 2) {\n              iVar5 = 1;\n              goto LAB_000feff4;\n            }\n          }" { (expression_statement "uVar18 = (*pcVar16)(7);" (assignment_expression "uVar18 = (*pcVar16)(7)" identifier = (call_expression "(*pcVar16)(7)" (parenthesized_expression "(*pcVar16)" ( (pointer_expression "*pcVar16" * identifier) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if ((int)((ulonglong)uVar18 >> 0x20) != 0) goto LAB_000fefdc;" if (parenthesized_expression "((int)((ulonglong)uVar18 >> 0x20) != 0)" ( (binary_expression "(int)((ulonglong)uVar18 >> 0x20) != 0" (cast_expression "(int)((ulonglong)uVar18 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar18 >> 0x20)" ( (binary_expression "(ulonglong)uVar18 >> 0x20" (cast_expression "(ulonglong)uVar18" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) != number_literal) )) (goto_statement "goto LAB_000fefdc;" goto statement_identifier ;)) (expression_statement "pcVar16 = *(code **)(pcVar17 + 0x2aa224);" (assignment_expression "pcVar16 = *(code **)(pcVar17 + 0x2aa224)" identifier = (pointer_expression "*(code **)(pcVar17 + 0x2aa224)" * (cast_expression "(code **)(pcVar17 + 0x2aa224)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x2aa224)" ( (binary_expression "pcVar17 + 0x2aa224" identifier + number_literal) ))))) ;) (if_statement "if ((uint)uVar18 < 2) {\n              iVar5 = 1;\n              goto LAB_000feff4;\n            }" if (parenthesized_expression "((uint)uVar18 < 2)" ( (binary_expression "(uint)uVar18 < 2" (cast_expression "(uint)uVar18" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) )) (compound_statement "{\n              iVar5 = 1;\n              goto LAB_000feff4;\n            }" { (expression_statement "iVar5 = 1;" (assignment_expression "iVar5 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_000feff4;" goto statement_identifier ;) })) })) }) (else_clause "else {\nLAB_000fefdc:\n          pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n        }" else (compound_statement "{\nLAB_000fefdc:\n          pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n        }" { (labeled_statement "LAB_000fefdc:\n          pcVar16 = *(code **)(pcVar17 + 0x2aa224);" statement_identifier : (expression_statement "pcVar16 = *(code **)(pcVar17 + 0x2aa224);" (assignment_expression "pcVar16 = *(code **)(pcVar17 + 0x2aa224)" identifier = (pointer_expression "*(code **)(pcVar17 + 0x2aa224)" * (cast_expression "(code **)(pcVar17 + 0x2aa224)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x2aa224)" ( (binary_expression "pcVar17 + 0x2aa224" identifier + number_literal) ))))) ;)) }))) (expression_statement "uVar18 = (*pcVar16)(7);" (assignment_expression "uVar18 = (*pcVar16)(7)" identifier = (call_expression "(*pcVar16)(7)" (parenthesized_expression "(*pcVar16)" ( (pointer_expression "*pcVar16" * identifier) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if (((int)((ulonglong)uVar18 >> 0x20) == 0) && ((uint)uVar18 < 2)) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          iVar5 = extraout_v1_00;\n        }\n        else {\n          iVar5 = 2;\n        }" if (parenthesized_expression "(((int)((ulonglong)uVar18 >> 0x20) == 0) && ((uint)uVar18 < 2))" ( (binary_expression "((int)((ulonglong)uVar18 >> 0x20) == 0) && ((uint)uVar18 < 2)" (parenthesized_expression "((int)((ulonglong)uVar18 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar18 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar18 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar18 >> 0x20)" ( (binary_expression "(ulonglong)uVar18 >> 0x20" (cast_expression "(ulonglong)uVar18" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) && (parenthesized_expression "((uint)uVar18 < 2)" ( (binary_expression "(uint)uVar18 < 2" (cast_expression "(uint)uVar18" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) ))) )) (compound_statement "{\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          iVar5 = extraout_v1_00;\n        }" { (expression_statement "(**(code **)(pcVar17 + 0x2aa224))(7);" (call_expression "(**(code **)(pcVar17 + 0x2aa224))(7)" (parenthesized_expression "(**(code **)(pcVar17 + 0x2aa224))" ( (pointer_expression "**(code **)(pcVar17 + 0x2aa224)" * (pointer_expression "*(code **)(pcVar17 + 0x2aa224)" * (cast_expression "(code **)(pcVar17 + 0x2aa224)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x2aa224)" ( (binary_expression "pcVar17 + 0x2aa224" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "iVar5 = extraout_v1_00;" (assignment_expression "iVar5 = extraout_v1_00" identifier = identifier) ;) }) (else_clause "else {\n          iVar5 = 2;\n        }" else (compound_statement "{\n          iVar5 = 2;\n        }" { (expression_statement "iVar5 = 2;" (assignment_expression "iVar5 = 2" identifier = number_literal) ;) }))) (labeled_statement "LAB_000feff4:\n        iVar14 = *(int *)(pcVar17 + 0x2a9b7c);" statement_identifier : (expression_statement "iVar14 = *(int *)(pcVar17 + 0x2a9b7c);" (assignment_expression "iVar14 = *(int *)(pcVar17 + 0x2a9b7c)" identifier = (pointer_expression "*(int *)(pcVar17 + 0x2a9b7c)" * (cast_expression "(int *)(pcVar17 + 0x2a9b7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x2a9b7c)" ( (binary_expression "pcVar17 + 0x2a9b7c" identifier + number_literal) ))))) ;)) (expression_statement "iVar13 = iVar5;" (assignment_expression "iVar13 = iVar5" identifier = identifier) ;) }))) (expression_statement "puStack_a4 = (undefined4 *)0x1;" (assignment_expression "puStack_a4 = (undefined4 *)0x1" identifier = (cast_expression "(undefined4 *)0x1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puStack_a0 = &uStack_c0;" (assignment_expression "puStack_a0 = &uStack_c0" identifier = (pointer_expression "&uStack_c0" & identifier)) ;) (expression_statement "iStack_b4 = iVar6;" (assignment_expression "iStack_b4 = iVar6" identifier = identifier) ;) (expression_statement "iStack_b0 = iVar8;" (assignment_expression "iStack_b0 = iVar8" identifier = identifier) ;) (expression_statement "uStack_ac = uVar4;" (assignment_expression "uStack_ac = uVar4" identifier = identifier) ;) (expression_statement "uStack_a8 = uVar9;" (assignment_expression "uStack_a8 = uVar9" identifier = identifier) ;) (expression_statement "(**(code **)(pcVar17 + 0x2aa280))(iVar14 + -0x2298,&iStack_b4,iVar13,0);" (call_expression "(**(code **)(pcVar17 + 0x2aa280))(iVar14 + -0x2298,&iStack_b4,iVar13,0)" (parenthesized_expression "(**(code **)(pcVar17 + 0x2aa280))" ( (pointer_expression "**(code **)(pcVar17 + 0x2aa280)" * (pointer_expression "*(code **)(pcVar17 + 0x2aa280)" * (cast_expression "(code **)(pcVar17 + 0x2aa280)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x2aa280)" ( (binary_expression "pcVar17 + 0x2aa280" identifier + number_literal) ))))) )) (argument_list "(iVar14 + -0x2298,&iStack_b4,iVar13,0)" ( (binary_expression "iVar14 + -0x2298" identifier + number_literal) , (pointer_expression "&iStack_b4" & identifier) , identifier , number_literal ))) ;) (expression_statement "puVar2 = puStack_a4;" (assignment_expression "puVar2 = puStack_a4" identifier = identifier) ;) }))) (expression_statement "iVar6 = iStack_9c;" (assignment_expression "iVar6 = iStack_9c" identifier = identifier) ;) (if_statement "if (iStack_9c == *piVar12) {\n      return puVar2;\n    }" if (parenthesized_expression "(iStack_9c == *piVar12)" ( (binary_expression "iStack_9c == *piVar12" identifier == (pointer_expression "*piVar12" * identifier)) )) (compound_statement "{\n      return puVar2;\n    }" { (return_statement "return puVar2;" return identifier ;) })) (goto_statement "goto LAB_000ff1d4;" goto statement_identifier ;) })))) (expression_statement "iVar6 = *(int *)(pcVar17 + 0x2a99d0) + 0x3930;" (assignment_expression "iVar6 = *(int *)(pcVar17 + 0x2a99d0) + 0x3930" identifier = (binary_expression "*(int *)(pcVar17 + 0x2a99d0) + 0x3930" (pointer_expression "*(int *)(pcVar17 + 0x2a99d0)" * (cast_expression "(int *)(pcVar17 + 0x2a99d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x2a99d0)" ( (binary_expression "pcVar17 + 0x2a99d0" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(**(code **)(pcVar17 + 0x2aa6f0))\n            (iVar6,*(int *)(pcVar17 + 0x2a99cc) + -0x5168,0x226,\n             *(int *)(pcVar17 + 0x2a99cc) + -0x4f5c);" (call_expression "(**(code **)(pcVar17 + 0x2aa6f0))\n            (iVar6,*(int *)(pcVar17 + 0x2a99cc) + -0x5168,0x226,\n             *(int *)(pcVar17 + 0x2a99cc) + -0x4f5c)" (parenthesized_expression "(**(code **)(pcVar17 + 0x2aa6f0))" ( (pointer_expression "**(code **)(pcVar17 + 0x2aa6f0)" * (pointer_expression "*(code **)(pcVar17 + 0x2aa6f0)" * (cast_expression "(code **)(pcVar17 + 0x2aa6f0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x2aa6f0)" ( (binary_expression "pcVar17 + 0x2aa6f0" identifier + number_literal) ))))) )) (argument_list "(iVar6,*(int *)(pcVar17 + 0x2a99cc) + -0x5168,0x226,\n             *(int *)(pcVar17 + 0x2a99cc) + -0x4f5c)" ( identifier , (binary_expression "*(int *)(pcVar17 + 0x2a99cc) + -0x5168" (pointer_expression "*(int *)(pcVar17 + 0x2a99cc)" * (cast_expression "(int *)(pcVar17 + 0x2a99cc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x2a99cc)" ( (binary_expression "pcVar17 + 0x2a99cc" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar17 + 0x2a99cc) + -0x4f5c" (pointer_expression "*(int *)(pcVar17 + 0x2a99cc)" * (cast_expression "(int *)(pcVar17 + 0x2a99cc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x2a99cc)" ( (binary_expression "pcVar17 + 0x2a99cc" identifier + number_literal) )))) + number_literal) ))) ;) (labeled_statement "LAB_000ff1d4:\n  pcVar16 = *(code **)(pcVar17 + 0x2aa14c);" statement_identifier : (expression_statement "pcVar16 = *(code **)(pcVar17 + 0x2aa14c);" (assignment_expression "pcVar16 = *(code **)(pcVar17 + 0x2aa14c)" identifier = (pointer_expression "*(code **)(pcVar17 + 0x2aa14c)" * (cast_expression "(code **)(pcVar17 + 0x2aa14c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x2aa14c)" ( (binary_expression "pcVar17 + 0x2aa14c" identifier + number_literal) ))))) ;)) (expression_statement "(*pcVar16)();" (call_expression "(*pcVar16)()" (parenthesized_expression "(*pcVar16)" ( (pointer_expression "*pcVar16" * identifier) )) (argument_list "()" ( ))) ;) (if_statement "if (iVar6 == 0) {\n    (**(code **)(pcVar16 + 0x2aa428))\n              (*(int *)(pcVar16 + 0x2a9704) + -0x5150,*(int *)(pcVar16 + 0x2a9704) + -0x5168,0x271,\n               *(int *)(pcVar16 + 0x2a9704) + -0x4f7c,pcVar16 + 0x2b16d0);\n  }\n  else if (*(int *)(iVar6 + 0x24) == -0x54535255) {\n                    /* WARNING: Could not recover jumptable at 0x000ff218. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    puVar2 = (undefined4 *)(**(code **)(pcVar16 + 0x2a9da0))(*(undefined4 *)(iVar6 + 0x18));\n    return puVar2;\n  }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n    (**(code **)(pcVar16 + 0x2aa428))\n              (*(int *)(pcVar16 + 0x2a9704) + -0x5150,*(int *)(pcVar16 + 0x2a9704) + -0x5168,0x271,\n               *(int *)(pcVar16 + 0x2a9704) + -0x4f7c,pcVar16 + 0x2b16d0);\n  }" { (expression_statement "(**(code **)(pcVar16 + 0x2aa428))\n              (*(int *)(pcVar16 + 0x2a9704) + -0x5150,*(int *)(pcVar16 + 0x2a9704) + -0x5168,0x271,\n               *(int *)(pcVar16 + 0x2a9704) + -0x4f7c,pcVar16 + 0x2b16d0);" (call_expression "(**(code **)(pcVar16 + 0x2aa428))\n              (*(int *)(pcVar16 + 0x2a9704) + -0x5150,*(int *)(pcVar16 + 0x2a9704) + -0x5168,0x271,\n               *(int *)(pcVar16 + 0x2a9704) + -0x4f7c,pcVar16 + 0x2b16d0)" (parenthesized_expression "(**(code **)(pcVar16 + 0x2aa428))" ( (pointer_expression "**(code **)(pcVar16 + 0x2aa428)" * (pointer_expression "*(code **)(pcVar16 + 0x2aa428)" * (cast_expression "(code **)(pcVar16 + 0x2aa428)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + 0x2aa428)" ( (binary_expression "pcVar16 + 0x2aa428" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar16 + 0x2a9704) + -0x5150,*(int *)(pcVar16 + 0x2a9704) + -0x5168,0x271,\n               *(int *)(pcVar16 + 0x2a9704) + -0x4f7c,pcVar16 + 0x2b16d0)" ( (binary_expression "*(int *)(pcVar16 + 0x2a9704) + -0x5150" (pointer_expression "*(int *)(pcVar16 + 0x2a9704)" * (cast_expression "(int *)(pcVar16 + 0x2a9704)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x2a9704)" ( (binary_expression "pcVar16 + 0x2a9704" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar16 + 0x2a9704) + -0x5168" (pointer_expression "*(int *)(pcVar16 + 0x2a9704)" * (cast_expression "(int *)(pcVar16 + 0x2a9704)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x2a9704)" ( (binary_expression "pcVar16 + 0x2a9704" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar16 + 0x2a9704) + -0x4f7c" (pointer_expression "*(int *)(pcVar16 + 0x2a9704)" * (cast_expression "(int *)(pcVar16 + 0x2a9704)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x2a9704)" ( (binary_expression "pcVar16 + 0x2a9704" identifier + number_literal) )))) + number_literal) , (binary_expression "pcVar16 + 0x2b16d0" identifier + number_literal) ))) ;) }) (else_clause "else if (*(int *)(iVar6 + 0x24) == -0x54535255) {\n                    /* WARNING: Could not recover jumptable at 0x000ff218. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    puVar2 = (undefined4 *)(**(code **)(pcVar16 + 0x2a9da0))(*(undefined4 *)(iVar6 + 0x18));\n    return puVar2;\n  }" else (if_statement "if (*(int *)(iVar6 + 0x24) == -0x54535255) {\n                    /* WARNING: Could not recover jumptable at 0x000ff218. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    puVar2 = (undefined4 *)(**(code **)(pcVar16 + 0x2a9da0))(*(undefined4 *)(iVar6 + 0x18));\n    return puVar2;\n  }" if (parenthesized_expression "(*(int *)(iVar6 + 0x24) == -0x54535255)" ( (binary_expression "*(int *)(iVar6 + 0x24) == -0x54535255" (pointer_expression "*(int *)(iVar6 + 0x24)" * (cast_expression "(int *)(iVar6 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x24)" ( (binary_expression "iVar6 + 0x24" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                    /* WARNING: Could not recover jumptable at 0x000ff218. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    puVar2 = (undefined4 *)(**(code **)(pcVar16 + 0x2a9da0))(*(undefined4 *)(iVar6 + 0x18));\n    return puVar2;\n  }" { comment comment (expression_statement "puVar2 = (undefined4 *)(**(code **)(pcVar16 + 0x2a9da0))(*(undefined4 *)(iVar6 + 0x18));" (assignment_expression "puVar2 = (undefined4 *)(**(code **)(pcVar16 + 0x2a9da0))(*(undefined4 *)(iVar6 + 0x18))" identifier = (cast_expression "(undefined4 *)(**(code **)(pcVar16 + 0x2a9da0))(*(undefined4 *)(iVar6 + 0x18))" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar16 + 0x2a9da0))(*(undefined4 *)(iVar6 + 0x18))" (parenthesized_expression "(**(code **)(pcVar16 + 0x2a9da0))" ( (pointer_expression "**(code **)(pcVar16 + 0x2a9da0)" * (pointer_expression "*(code **)(pcVar16 + 0x2a9da0)" * (cast_expression "(code **)(pcVar16 + 0x2a9da0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + 0x2a9da0)" ( (binary_expression "pcVar16 + 0x2a9da0" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar6 + 0x18))" ( (pointer_expression "*(undefined4 *)(iVar6 + 0x18)" * (cast_expression "(undefined4 *)(iVar6 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x18)" ( (binary_expression "iVar6 + 0x18" identifier + number_literal) )))) ))))) ;) (return_statement "return puVar2;" return identifier ;) })))) (expression_statement "pcVar17 = *(code **)(pcVar16 + 0x2aa428);" (assignment_expression "pcVar17 = *(code **)(pcVar16 + 0x2aa428)" identifier = (pointer_expression "*(code **)(pcVar16 + 0x2aa428)" * (cast_expression "(code **)(pcVar16 + 0x2aa428)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + 0x2aa428)" ( (binary_expression "pcVar16 + 0x2aa428" identifier + number_literal) ))))) ;) (expression_statement "iVar6 = *(int *)(pcVar16 + 0x2a9704) + -0x512c;" (assignment_expression "iVar6 = *(int *)(pcVar16 + 0x2a9704) + -0x512c" identifier = (binary_expression "*(int *)(pcVar16 + 0x2a9704) + -0x512c" (pointer_expression "*(int *)(pcVar16 + 0x2a9704)" * (cast_expression "(int *)(pcVar16 + 0x2a9704)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x2a9704)" ( (binary_expression "pcVar16 + 0x2a9704" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar17)(iVar6,*(int *)(pcVar16 + 0x2a9704) + -0x5168,0x272,\n             *(int *)(pcVar16 + 0x2a9704) + -0x4f7c);" (call_expression "(*pcVar17)(iVar6,*(int *)(pcVar16 + 0x2a9704) + -0x5168,0x272,\n             *(int *)(pcVar16 + 0x2a9704) + -0x4f7c)" (parenthesized_expression "(*pcVar17)" ( (pointer_expression "*pcVar17" * identifier) )) (argument_list "(iVar6,*(int *)(pcVar16 + 0x2a9704) + -0x5168,0x272,\n             *(int *)(pcVar16 + 0x2a9704) + -0x4f7c)" ( identifier , (binary_expression "*(int *)(pcVar16 + 0x2a9704) + -0x5168" (pointer_expression "*(int *)(pcVar16 + 0x2a9704)" * (cast_expression "(int *)(pcVar16 + 0x2a9704)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x2a9704)" ( (binary_expression "pcVar16 + 0x2a9704" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar16 + 0x2a9704) + -0x4f7c" (pointer_expression "*(int *)(pcVar16 + 0x2a9704)" * (cast_expression "(int *)(pcVar16 + 0x2a9704)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x2a9704)" ( (binary_expression "pcVar16 + 0x2a9704" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (iVar6 == 0) {\n    (**(code **)(pcVar17 + 0x2aa3a0))\n              (*(int *)(pcVar17 + 0x2a967c) + -0x5150,*(int *)(pcVar17 + 0x2a967c) + -0x5168,0x28f,\n               *(int *)(pcVar17 + 0x2a967c) + -0x4f98,pcVar17 + 0x2b1648);\n  }\n  else if (*(int *)(iVar6 + 0x24) == -0x54535255) {\n                    /* WARNING: Could not recover jumptable at 0x000ff2a0. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    puVar2 = (undefined4 *)(**(code **)(pcVar17 + 0x2a9a8c))(*(undefined4 *)(iVar6 + 0x18));\n    return puVar2;\n  }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n    (**(code **)(pcVar17 + 0x2aa3a0))\n              (*(int *)(pcVar17 + 0x2a967c) + -0x5150,*(int *)(pcVar17 + 0x2a967c) + -0x5168,0x28f,\n               *(int *)(pcVar17 + 0x2a967c) + -0x4f98,pcVar17 + 0x2b1648);\n  }" { (expression_statement "(**(code **)(pcVar17 + 0x2aa3a0))\n              (*(int *)(pcVar17 + 0x2a967c) + -0x5150,*(int *)(pcVar17 + 0x2a967c) + -0x5168,0x28f,\n               *(int *)(pcVar17 + 0x2a967c) + -0x4f98,pcVar17 + 0x2b1648);" (call_expression "(**(code **)(pcVar17 + 0x2aa3a0))\n              (*(int *)(pcVar17 + 0x2a967c) + -0x5150,*(int *)(pcVar17 + 0x2a967c) + -0x5168,0x28f,\n               *(int *)(pcVar17 + 0x2a967c) + -0x4f98,pcVar17 + 0x2b1648)" (parenthesized_expression "(**(code **)(pcVar17 + 0x2aa3a0))" ( (pointer_expression "**(code **)(pcVar17 + 0x2aa3a0)" * (pointer_expression "*(code **)(pcVar17 + 0x2aa3a0)" * (cast_expression "(code **)(pcVar17 + 0x2aa3a0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x2aa3a0)" ( (binary_expression "pcVar17 + 0x2aa3a0" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar17 + 0x2a967c) + -0x5150,*(int *)(pcVar17 + 0x2a967c) + -0x5168,0x28f,\n               *(int *)(pcVar17 + 0x2a967c) + -0x4f98,pcVar17 + 0x2b1648)" ( (binary_expression "*(int *)(pcVar17 + 0x2a967c) + -0x5150" (pointer_expression "*(int *)(pcVar17 + 0x2a967c)" * (cast_expression "(int *)(pcVar17 + 0x2a967c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x2a967c)" ( (binary_expression "pcVar17 + 0x2a967c" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar17 + 0x2a967c) + -0x5168" (pointer_expression "*(int *)(pcVar17 + 0x2a967c)" * (cast_expression "(int *)(pcVar17 + 0x2a967c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x2a967c)" ( (binary_expression "pcVar17 + 0x2a967c" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar17 + 0x2a967c) + -0x4f98" (pointer_expression "*(int *)(pcVar17 + 0x2a967c)" * (cast_expression "(int *)(pcVar17 + 0x2a967c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x2a967c)" ( (binary_expression "pcVar17 + 0x2a967c" identifier + number_literal) )))) + number_literal) , (binary_expression "pcVar17 + 0x2b1648" identifier + number_literal) ))) ;) }) (else_clause "else if (*(int *)(iVar6 + 0x24) == -0x54535255) {\n                    /* WARNING: Could not recover jumptable at 0x000ff2a0. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    puVar2 = (undefined4 *)(**(code **)(pcVar17 + 0x2a9a8c))(*(undefined4 *)(iVar6 + 0x18));\n    return puVar2;\n  }" else (if_statement "if (*(int *)(iVar6 + 0x24) == -0x54535255) {\n                    /* WARNING: Could not recover jumptable at 0x000ff2a0. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    puVar2 = (undefined4 *)(**(code **)(pcVar17 + 0x2a9a8c))(*(undefined4 *)(iVar6 + 0x18));\n    return puVar2;\n  }" if (parenthesized_expression "(*(int *)(iVar6 + 0x24) == -0x54535255)" ( (binary_expression "*(int *)(iVar6 + 0x24) == -0x54535255" (pointer_expression "*(int *)(iVar6 + 0x24)" * (cast_expression "(int *)(iVar6 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x24)" ( (binary_expression "iVar6 + 0x24" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                    /* WARNING: Could not recover jumptable at 0x000ff2a0. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    puVar2 = (undefined4 *)(**(code **)(pcVar17 + 0x2a9a8c))(*(undefined4 *)(iVar6 + 0x18));\n    return puVar2;\n  }" { comment comment (expression_statement "puVar2 = (undefined4 *)(**(code **)(pcVar17 + 0x2a9a8c))(*(undefined4 *)(iVar6 + 0x18));" (assignment_expression "puVar2 = (undefined4 *)(**(code **)(pcVar17 + 0x2a9a8c))(*(undefined4 *)(iVar6 + 0x18))" identifier = (cast_expression "(undefined4 *)(**(code **)(pcVar17 + 0x2a9a8c))(*(undefined4 *)(iVar6 + 0x18))" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar17 + 0x2a9a8c))(*(undefined4 *)(iVar6 + 0x18))" (parenthesized_expression "(**(code **)(pcVar17 + 0x2a9a8c))" ( (pointer_expression "**(code **)(pcVar17 + 0x2a9a8c)" * (pointer_expression "*(code **)(pcVar17 + 0x2a9a8c)" * (cast_expression "(code **)(pcVar17 + 0x2a9a8c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x2a9a8c)" ( (binary_expression "pcVar17 + 0x2a9a8c" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar6 + 0x18))" ( (pointer_expression "*(undefined4 *)(iVar6 + 0x18)" * (cast_expression "(undefined4 *)(iVar6 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x18)" ( (binary_expression "iVar6 + 0x18" identifier + number_literal) )))) ))))) ;) (return_statement "return puVar2;" return identifier ;) })))) (expression_statement "iVar6 = *(int *)(pcVar17 + 0x2a967c) + -0x512c;" (assignment_expression "iVar6 = *(int *)(pcVar17 + 0x2a967c) + -0x512c" identifier = (binary_expression "*(int *)(pcVar17 + 0x2a967c) + -0x512c" (pointer_expression "*(int *)(pcVar17 + 0x2a967c)" * (cast_expression "(int *)(pcVar17 + 0x2a967c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x2a967c)" ( (binary_expression "pcVar17 + 0x2a967c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(**(code **)(pcVar17 + 0x2aa3a0))\n            (iVar6,*(int *)(pcVar17 + 0x2a967c) + -0x5168,0x290,\n             *(int *)(pcVar17 + 0x2a967c) + -0x4f98);" (call_expression "(**(code **)(pcVar17 + 0x2aa3a0))\n            (iVar6,*(int *)(pcVar17 + 0x2a967c) + -0x5168,0x290,\n             *(int *)(pcVar17 + 0x2a967c) + -0x4f98)" (parenthesized_expression "(**(code **)(pcVar17 + 0x2aa3a0))" ( (pointer_expression "**(code **)(pcVar17 + 0x2aa3a0)" * (pointer_expression "*(code **)(pcVar17 + 0x2aa3a0)" * (cast_expression "(code **)(pcVar17 + 0x2aa3a0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x2aa3a0)" ( (binary_expression "pcVar17 + 0x2aa3a0" identifier + number_literal) ))))) )) (argument_list "(iVar6,*(int *)(pcVar17 + 0x2a967c) + -0x5168,0x290,\n             *(int *)(pcVar17 + 0x2a967c) + -0x4f98)" ( identifier , (binary_expression "*(int *)(pcVar17 + 0x2a967c) + -0x5168" (pointer_expression "*(int *)(pcVar17 + 0x2a967c)" * (cast_expression "(int *)(pcVar17 + 0x2a967c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x2a967c)" ( (binary_expression "pcVar17 + 0x2a967c" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar17 + 0x2a967c) + -0x4f98" (pointer_expression "*(int *)(pcVar17 + 0x2a967c)" * (cast_expression "(int *)(pcVar17 + 0x2a967c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x2a967c)" ( (binary_expression "pcVar17 + 0x2a967c" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (iVar6 == 0) {\n    return (undefined4 *)0x0;\n  }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n    return (undefined4 *)0x0;\n  }" { (return_statement "return (undefined4 *)0x0;" return (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) (return_statement "return (undefined4 *)(uint)(*(int *)(iVar6 + 0x24) == -0x54535255);" return (cast_expression "(undefined4 *)(uint)(*(int *)(iVar6 + 0x24) == -0x54535255)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(*(int *)(iVar6 + 0x24) == -0x54535255)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar6 + 0x24) == -0x54535255)" ( (binary_expression "*(int *)(iVar6 + 0x24) == -0x54535255" (pointer_expression "*(int *)(iVar6 + 0x24)" * (cast_expression "(int *)(iVar6 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x24)" ( (binary_expression "iVar6 + 0x24" identifier + number_literal) )))) == 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\nchar * GetImageViewException(ImageView *image_view,ExceptionType *severity)\n\n{\n  bool bVar1;\n  char *pcVar2;\n  ExceptionInfo *pEVar3;\n  undefined4 uVar4;\n  undefined4 *puVar5;\n  int iVar6;\n  int extraout_v1;\n  int extraout_v1_00;\n  int extraout_v1_01;\n  int extraout_v1_02;\n  int extraout_v1_03;\n  int iVar7;\n  undefined *puVar8;\n  int iVar9;\n  undefined4 uVar10;\n  undefined *puVar11;\n  undefined4 uVar12;\n  undefined4 unaff_s0;\n  int *piVar13;\n  int iVar14;\n  int iVar15;\n  undefined *puVar16;\n  code *pcVar17;\n  code *pcVar18;\n  undefined8 uVar19;\n  undefined4 uStack_c0;\n  undefined4 uStack_bc;\n  int iStack_b4;\n  int iStack_b0;\n  undefined4 uStack_ac;\n  undefined4 uStack_a8;\n  char *pcStack_a4;\n  undefined4 *puStack_a0;\n  int iStack_9c;\n  undefined4 uStack_98;\n  ImageView *pIStack_94;\n  \n  puVar16 = PTR_AcquireQuantumMemory_003a950c;\n  if (image_view == (ImageView *)0x0) {\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x50dc,PTR_s_t_to_left_003a88e4 + -0x5168,0x194,\n               PTR_s_t_to_left_003a88e4 + -0x4f04);\nLAB_000fece8:\n    unaff_s0 = (*(code *)PTR_AcquireExceptionInfo_003a8eec)();\n    puVar5 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n    image_view = (ImageView *)(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar5);\n    puVar11 = (undefined *)0x19b;\n    (*(code *)PTR_ThrowMagickException_003a8f20)\n              (unaff_s0,PTR_s_t_to_left_003a88e4 + -0x5168,PTR_s_t_to_left_003a88e4 + -0x4f1c,0x19b)\n    ;\n    (*(code *)PTR_DestroyString_003a9074)(image_view);\n    (*(code *)PTR_CatchException_003a92b0)(unaff_s0);\n    (*(code *)PTR_DestroyExceptionInfo_003a8d50)(unaff_s0);\n    (*(code *)PTR_MagickCoreTerminus_003a98ec)();\n    (*(code *)PTR__exit_003a9660)(1);\nLAB_000fedb0:\n    puVar11 = puVar11 + -0x4f04;\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x50b4,PTR_s_t_to_left_003a88e4 + -0x5168,0x196,puVar11);\n  }\n  else {\n    puVar11 = PTR_s_t_to_left_003a88e4;\n    if (image_view->signature == 0xabacadab) {\n      if (severity != (ExceptionType *)0x0) {\n        *severity = image_view->exception->severity;\n        pcVar2 = (char *)(*(code *)puVar16)(0x2000,1);\n        if (pcVar2 != (char *)0x0) {\n          pEVar3 = image_view->exception;\n          *pcVar2 = '\0';\n          if (pEVar3->reason != (char *)0x0) {\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)(pEVar3->severity);\n            (*(code *)PTR_CopyMagickString_003a983c)(pcVar2,uVar4,0x1000);\n            pEVar3 = image_view->exception;\n          }\n          if (pEVar3->description != (char *)0x0) {\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (pcVar2,PTR_s_t_to_left_003a88e4 + -0x5090,0x1000);\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)\n                              (image_view->exception->severity,image_view->exception->description);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)(pcVar2,uVar4,0x1000);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (pcVar2,PTR_s_courses_003a88ec + -0x6e0,0x1000);\n          }\n          return pcVar2;\n        }\n        goto LAB_000fece8;\n      }\n      goto LAB_000fedb0;\n    }\n  }\n  puVar8 = PTR_s_t_to_left_003a88e4 + -0x5168;\n  pcVar2 = PTR_s_t_to_left_003a88e4 + -0x512c;\n  puVar16 = PTR___assert_fail_003a9608;\n  (*(code *)PTR___assert_fail_003a9608)(pcVar2,puVar8,0x195,puVar11 + -0x4f04);\n  if (puVar8 == (undefined *)0x0) {\n    (**(code **)(puVar16 + 0x2aa818))\n              (*(int *)(puVar16 + 0x2a9af4) + -0x5150,*(int *)(puVar16 + 0x2a9af4) + -0x5168,0x1c4,\n               *(int *)(puVar16 + 0x2a9af4) + -0x4f30);\n  }\n  else if (*(int *)(puVar8 + 0x24) == -0x54535255) {\n    uVar12 = *(undefined4 *)(puVar8 + 8);\n    uVar10 = *(undefined4 *)(puVar8 + 0xc);\n    uVar4 = *(undefined4 *)(puVar8 + 0x10);\n    *(undefined4 *)pcVar2 = *(undefined4 *)(puVar8 + 4);\n    *(undefined4 *)(pcVar2 + 4) = uVar12;\n    *(undefined4 *)(pcVar2 + 8) = uVar10;\n    *(undefined4 *)(pcVar2 + 0xc) = uVar4;\n    return pcVar2;\n  }\n  pcVar17 = *(code **)(puVar16 + 0x2aa818);\n  iVar7 = *(int *)(puVar16 + 0x2a9af4) + -0x512c;\n  (*pcVar17)(iVar7,*(int *)(puVar16 + 0x2a9af4) + -0x5168,0x1c5,\n             *(int *)(puVar16 + 0x2a9af4) + -0x4f30);\n  if (iVar7 == 0) {\n    (**(code **)(pcVar17 + 0x2aa774))\n              (*(int *)(pcVar17 + 0x2a9a50) + -0x5150,*(int *)(pcVar17 + 0x2a9a50) + -0x5168,0x1e1,\n               *(int *)(pcVar17 + 0x2a9a50) + -0x4f44);\n  }\n  else if (*(int *)(iVar7 + 0x24) == -0x54535255) {\n    return *(char **)(iVar7 + 0x14);\n  }\n  uVar4 = 0x1e2;\n  pcVar18 = *(code **)(pcVar17 + 0x2aa774);\n  iVar9 = *(int *)(pcVar17 + 0x2a9a50) + -0x5168;\n  iVar7 = *(int *)(pcVar17 + 0x2a9a50) + -0x512c;\n  (*pcVar18)();\n  piVar13 = *(int **)(pcVar18 + 0x2aa318);\n  iStack_9c = *piVar13;\n  uStack_98 = unaff_s0;\n  pIStack_94 = image_view;\n  if (iVar7 == 0) {\n    (**(code **)(pcVar18 + 0x2aa6f0))\n              (*(int *)(pcVar18 + 0x2a99cc) + -0x50fc,*(int *)(pcVar18 + 0x2a99cc) + -0x5168,0x225,\n               *(int *)(pcVar18 + 0x2a99cc) + -0x4f5c);\n  }\n  else if (*(int *)(iVar7 + 0x24) == -0x54535255) {\n    if (iVar9 == 0) {\n      pcVar2 = (char *)0x0;\n    }\n    else {\n      uVar10 = *(undefined4 *)(iVar7 + 0x14);\n      iVar14 = *(int *)(iVar7 + 8);\n      iVar15 = *(int *)(iVar7 + 0x10);\n      uStack_bc = 0;\n      uStack_c0 = 0;\n      iVar6 = (**(code **)(pcVar18 + 0x2aa59c))(uVar10);\n      if (((iVar6 == 4) || (iVar6 = (**(code **)(pcVar18 + 0x2aa59c))(uVar10), iVar6 == 3)) &&\n         ((iVar6 = (**(code **)(pcVar18 + 0x2aa59c))(uVar10), iVar6 == 4 ||\n          (iVar6 = (**(code **)(pcVar18 + 0x2aa59c))(uVar10), iVar6 == 3)))) {\n        iVar14 = iVar14 - iVar15;\n        (**(code **)(pcVar18 + 0x2aa224))(7);\n        iVar6 = iVar14;\n        if (iVar14 < 0) {\n          iVar6 = iVar14 + 0x3f;\n        }\n        iVar6 = iVar6 >> 6;\n        if (extraout_v1 < iVar6) {\n          (**(code **)(pcVar18 + 0x2aa224))(7);\n          bVar1 = extraout_v1_02 < 2;\n        }\n        else {\n          bVar1 = iVar14 < 0x80;\n        }\n        iVar14 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar18 + 0x2aa224))(7);\n          if (extraout_v1_01 < iVar6) {\n            (**(code **)(pcVar18 + 0x2aa224))(7);\n            iVar6 = extraout_v1_03;\n          }\n          goto LAB_000feff4;\n        }\n        iVar15 = *(int *)(pcVar18 + 0x2a9b7c);\n      }\n      else {\n        uVar19 = (**(code **)(pcVar18 + 0x2aa224))(7);\n        if ((int)((ulonglong)uVar19 >> 0x20) == 0) {\n          pcVar17 = *(code **)(pcVar18 + 0x2aa224);\n          if ((uint)uVar19 < 2) {\n            uVar19 = (*pcVar17)(7);\n            if ((int)((ulonglong)uVar19 >> 0x20) != 0) goto LAB_000fefdc;\n            pcVar17 = *(code **)(pcVar18 + 0x2aa224);\n            if ((uint)uVar19 < 2) {\n              iVar6 = 1;\n              goto LAB_000feff4;\n            }\n          }\n        }\n        else {\nLAB_000fefdc:\n          pcVar17 = *(code **)(pcVar18 + 0x2aa224);\n        }\n        uVar19 = (*pcVar17)(7);\n        if (((int)((ulonglong)uVar19 >> 0x20) == 0) && ((uint)uVar19 < 2)) {\n          (**(code **)(pcVar18 + 0x2aa224))(7);\n          iVar6 = extraout_v1_00;\n        }\n        else {\n          iVar6 = 2;\n        }\nLAB_000feff4:\n        iVar15 = *(int *)(pcVar18 + 0x2a9b7c);\n        iVar14 = iVar6;\n      }\n      pcStack_a4 = (char *)0x1;\n      puStack_a0 = &uStack_c0;\n      iStack_b4 = iVar7;\n      iStack_b0 = iVar9;\n      uStack_ac = uVar4;\n      uStack_a8 = uVar10;\n      (**(code **)(pcVar18 + 0x2aa280))(iVar15 + -0x2298,&iStack_b4,iVar14,0);\n      pcVar2 = pcStack_a4;\n    }\n    iVar7 = iStack_9c;\n    if (iStack_9c == *piVar13) {\n      return pcVar2;\n    }\n    goto LAB_000ff1d4;\n  }\n  iVar7 = *(int *)(pcVar18 + 0x2a99d0) + 0x3930;\n  (**(code **)(pcVar18 + 0x2aa6f0))\n            (iVar7,*(int *)(pcVar18 + 0x2a99cc) + -0x5168,0x226,\n             *(int *)(pcVar18 + 0x2a99cc) + -0x4f5c);\nLAB_000ff1d4:\n  pcVar17 = *(code **)(pcVar18 + 0x2aa14c);\n  (*pcVar17)();\n  if (iVar7 == 0) {\n    (**(code **)(pcVar17 + 0x2aa428))\n              (*(int *)(pcVar17 + 0x2a9704) + -0x5150,*(int *)(pcVar17 + 0x2a9704) + -0x5168,0x271,\n               *(int *)(pcVar17 + 0x2a9704) + -0x4f7c,pcVar17 + 0x2b16d0);\n  }\n  else if (*(int *)(iVar7 + 0x24) == -0x54535255) {\n                    /* WARNING: Could not recover jumptable at 0x000ff218. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    pcVar2 = (char *)(**(code **)(pcVar17 + 0x2a9da0))(*(undefined4 *)(iVar7 + 0x18));\n    return pcVar2;\n  }\n  pcVar18 = *(code **)(pcVar17 + 0x2aa428);\n  iVar7 = *(int *)(pcVar17 + 0x2a9704) + -0x512c;\n  (*pcVar18)(iVar7,*(int *)(pcVar17 + 0x2a9704) + -0x5168,0x272,\n             *(int *)(pcVar17 + 0x2a9704) + -0x4f7c);\n  if (iVar7 == 0) {\n    (**(code **)(pcVar18 + 0x2aa3a0))\n              (*(int *)(pcVar18 + 0x2a967c) + -0x5150,*(int *)(pcVar18 + 0x2a967c) + -0x5168,0x28f,\n               *(int *)(pcVar18 + 0x2a967c) + -0x4f98,pcVar18 + 0x2b1648);\n  }\n  else if (*(int *)(iVar7 + 0x24) == -0x54535255) {\n                    /* WARNING: Could not recover jumptable at 0x000ff2a0. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    pcVar2 = (char *)(**(code **)(pcVar18 + 0x2a9a8c))(*(undefined4 *)(iVar7 + 0x18));\n    return pcVar2;\n  }\n  iVar7 = *(int *)(pcVar18 + 0x2a967c) + -0x512c;\n  (**(code **)(pcVar18 + 0x2aa3a0))\n            (iVar7,*(int *)(pcVar18 + 0x2a967c) + -0x5168,0x290,\n             *(int *)(pcVar18 + 0x2a967c) + -0x4f98);\n  if (iVar7 == 0) {\n    return (char *)0x0;\n  }\n  return (char *)(uint)(*(int *)(iVar7 + 0x24) == -0x54535255);\n}\n\n" comment comment comment comment comment (function_definition "char * GetImageViewException(ImageView *image_view,ExceptionType *severity)\n\n{\n  bool bVar1;\n  char *pcVar2;\n  ExceptionInfo *pEVar3;\n  undefined4 uVar4;\n  undefined4 *puVar5;\n  int iVar6;\n  int extraout_v1;\n  int extraout_v1_00;\n  int extraout_v1_01;\n  int extraout_v1_02;\n  int extraout_v1_03;\n  int iVar7;\n  undefined *puVar8;\n  int iVar9;\n  undefined4 uVar10;\n  undefined *puVar11;\n  undefined4 uVar12;\n  undefined4 unaff_s0;\n  int *piVar13;\n  int iVar14;\n  int iVar15;\n  undefined *puVar16;\n  code *pcVar17;\n  code *pcVar18;\n  undefined8 uVar19;\n  undefined4 uStack_c0;\n  undefined4 uStack_bc;\n  int iStack_b4;\n  int iStack_b0;\n  undefined4 uStack_ac;\n  undefined4 uStack_a8;\n  char *pcStack_a4;\n  undefined4 *puStack_a0;\n  int iStack_9c;\n  undefined4 uStack_98;\n  ImageView *pIStack_94;\n  \n  puVar16 = PTR_AcquireQuantumMemory_003a950c;\n  if (image_view == (ImageView *)0x0) {\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x50dc,PTR_s_t_to_left_003a88e4 + -0x5168,0x194,\n               PTR_s_t_to_left_003a88e4 + -0x4f04);\nLAB_000fece8:\n    unaff_s0 = (*(code *)PTR_AcquireExceptionInfo_003a8eec)();\n    puVar5 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n    image_view = (ImageView *)(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar5);\n    puVar11 = (undefined *)0x19b;\n    (*(code *)PTR_ThrowMagickException_003a8f20)\n              (unaff_s0,PTR_s_t_to_left_003a88e4 + -0x5168,PTR_s_t_to_left_003a88e4 + -0x4f1c,0x19b)\n    ;\n    (*(code *)PTR_DestroyString_003a9074)(image_view);\n    (*(code *)PTR_CatchException_003a92b0)(unaff_s0);\n    (*(code *)PTR_DestroyExceptionInfo_003a8d50)(unaff_s0);\n    (*(code *)PTR_MagickCoreTerminus_003a98ec)();\n    (*(code *)PTR__exit_003a9660)(1);\nLAB_000fedb0:\n    puVar11 = puVar11 + -0x4f04;\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x50b4,PTR_s_t_to_left_003a88e4 + -0x5168,0x196,puVar11);\n  }\n  else {\n    puVar11 = PTR_s_t_to_left_003a88e4;\n    if (image_view->signature == 0xabacadab) {\n      if (severity != (ExceptionType *)0x0) {\n        *severity = image_view->exception->severity;\n        pcVar2 = (char *)(*(code *)puVar16)(0x2000,1);\n        if (pcVar2 != (char *)0x0) {\n          pEVar3 = image_view->exception;\n          *pcVar2 = '\0';\n          if (pEVar3->reason != (char *)0x0) {\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)(pEVar3->severity);\n            (*(code *)PTR_CopyMagickString_003a983c)(pcVar2,uVar4,0x1000);\n            pEVar3 = image_view->exception;\n          }\n          if (pEVar3->description != (char *)0x0) {\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (pcVar2,PTR_s_t_to_left_003a88e4 + -0x5090,0x1000);\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)\n                              (image_view->exception->severity,image_view->exception->description);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)(pcVar2,uVar4,0x1000);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (pcVar2,PTR_s_courses_003a88ec + -0x6e0,0x1000);\n          }\n          return pcVar2;\n        }\n        goto LAB_000fece8;\n      }\n      goto LAB_000fedb0;\n    }\n  }\n  puVar8 = PTR_s_t_to_left_003a88e4 + -0x5168;\n  pcVar2 = PTR_s_t_to_left_003a88e4 + -0x512c;\n  puVar16 = PTR___assert_fail_003a9608;\n  (*(code *)PTR___assert_fail_003a9608)(pcVar2,puVar8,0x195,puVar11 + -0x4f04);\n  if (puVar8 == (undefined *)0x0) {\n    (**(code **)(puVar16 + 0x2aa818))\n              (*(int *)(puVar16 + 0x2a9af4) + -0x5150,*(int *)(puVar16 + 0x2a9af4) + -0x5168,0x1c4,\n               *(int *)(puVar16 + 0x2a9af4) + -0x4f30);\n  }\n  else if (*(int *)(puVar8 + 0x24) == -0x54535255) {\n    uVar12 = *(undefined4 *)(puVar8 + 8);\n    uVar10 = *(undefined4 *)(puVar8 + 0xc);\n    uVar4 = *(undefined4 *)(puVar8 + 0x10);\n    *(undefined4 *)pcVar2 = *(undefined4 *)(puVar8 + 4);\n    *(undefined4 *)(pcVar2 + 4) = uVar12;\n    *(undefined4 *)(pcVar2 + 8) = uVar10;\n    *(undefined4 *)(pcVar2 + 0xc) = uVar4;\n    return pcVar2;\n  }\n  pcVar17 = *(code **)(puVar16 + 0x2aa818);\n  iVar7 = *(int *)(puVar16 + 0x2a9af4) + -0x512c;\n  (*pcVar17)(iVar7,*(int *)(puVar16 + 0x2a9af4) + -0x5168,0x1c5,\n             *(int *)(puVar16 + 0x2a9af4) + -0x4f30);\n  if (iVar7 == 0) {\n    (**(code **)(pcVar17 + 0x2aa774))\n              (*(int *)(pcVar17 + 0x2a9a50) + -0x5150,*(int *)(pcVar17 + 0x2a9a50) + -0x5168,0x1e1,\n               *(int *)(pcVar17 + 0x2a9a50) + -0x4f44);\n  }\n  else if (*(int *)(iVar7 + 0x24) == -0x54535255) {\n    return *(char **)(iVar7 + 0x14);\n  }\n  uVar4 = 0x1e2;\n  pcVar18 = *(code **)(pcVar17 + 0x2aa774);\n  iVar9 = *(int *)(pcVar17 + 0x2a9a50) + -0x5168;\n  iVar7 = *(int *)(pcVar17 + 0x2a9a50) + -0x512c;\n  (*pcVar18)();\n  piVar13 = *(int **)(pcVar18 + 0x2aa318);\n  iStack_9c = *piVar13;\n  uStack_98 = unaff_s0;\n  pIStack_94 = image_view;\n  if (iVar7 == 0) {\n    (**(code **)(pcVar18 + 0x2aa6f0))\n              (*(int *)(pcVar18 + 0x2a99cc) + -0x50fc,*(int *)(pcVar18 + 0x2a99cc) + -0x5168,0x225,\n               *(int *)(pcVar18 + 0x2a99cc) + -0x4f5c);\n  }\n  else if (*(int *)(iVar7 + 0x24) == -0x54535255) {\n    if (iVar9 == 0) {\n      pcVar2 = (char *)0x0;\n    }\n    else {\n      uVar10 = *(undefined4 *)(iVar7 + 0x14);\n      iVar14 = *(int *)(iVar7 + 8);\n      iVar15 = *(int *)(iVar7 + 0x10);\n      uStack_bc = 0;\n      uStack_c0 = 0;\n      iVar6 = (**(code **)(pcVar18 + 0x2aa59c))(uVar10);\n      if (((iVar6 == 4) || (iVar6 = (**(code **)(pcVar18 + 0x2aa59c))(uVar10), iVar6 == 3)) &&\n         ((iVar6 = (**(code **)(pcVar18 + 0x2aa59c))(uVar10), iVar6 == 4 ||\n          (iVar6 = (**(code **)(pcVar18 + 0x2aa59c))(uVar10), iVar6 == 3)))) {\n        iVar14 = iVar14 - iVar15;\n        (**(code **)(pcVar18 + 0x2aa224))(7);\n        iVar6 = iVar14;\n        if (iVar14 < 0) {\n          iVar6 = iVar14 + 0x3f;\n        }\n        iVar6 = iVar6 >> 6;\n        if (extraout_v1 < iVar6) {\n          (**(code **)(pcVar18 + 0x2aa224))(7);\n          bVar1 = extraout_v1_02 < 2;\n        }\n        else {\n          bVar1 = iVar14 < 0x80;\n        }\n        iVar14 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar18 + 0x2aa224))(7);\n          if (extraout_v1_01 < iVar6) {\n            (**(code **)(pcVar18 + 0x2aa224))(7);\n            iVar6 = extraout_v1_03;\n          }\n          goto LAB_000feff4;\n        }\n        iVar15 = *(int *)(pcVar18 + 0x2a9b7c);\n      }\n      else {\n        uVar19 = (**(code **)(pcVar18 + 0x2aa224))(7);\n        if ((int)((ulonglong)uVar19 >> 0x20) == 0) {\n          pcVar17 = *(code **)(pcVar18 + 0x2aa224);\n          if ((uint)uVar19 < 2) {\n            uVar19 = (*pcVar17)(7);\n            if ((int)((ulonglong)uVar19 >> 0x20) != 0) goto LAB_000fefdc;\n            pcVar17 = *(code **)(pcVar18 + 0x2aa224);\n            if ((uint)uVar19 < 2) {\n              iVar6 = 1;\n              goto LAB_000feff4;\n            }\n          }\n        }\n        else {\nLAB_000fefdc:\n          pcVar17 = *(code **)(pcVar18 + 0x2aa224);\n        }\n        uVar19 = (*pcVar17)(7);\n        if (((int)((ulonglong)uVar19 >> 0x20) == 0) && ((uint)uVar19 < 2)) {\n          (**(code **)(pcVar18 + 0x2aa224))(7);\n          iVar6 = extraout_v1_00;\n        }\n        else {\n          iVar6 = 2;\n        }\nLAB_000feff4:\n        iVar15 = *(int *)(pcVar18 + 0x2a9b7c);\n        iVar14 = iVar6;\n      }\n      pcStack_a4 = (char *)0x1;\n      puStack_a0 = &uStack_c0;\n      iStack_b4 = iVar7;\n      iStack_b0 = iVar9;\n      uStack_ac = uVar4;\n      uStack_a8 = uVar10;\n      (**(code **)(pcVar18 + 0x2aa280))(iVar15 + -0x2298,&iStack_b4,iVar14,0);\n      pcVar2 = pcStack_a4;\n    }\n    iVar7 = iStack_9c;\n    if (iStack_9c == *piVar13) {\n      return pcVar2;\n    }\n    goto LAB_000ff1d4;\n  }\n  iVar7 = *(int *)(pcVar18 + 0x2a99d0) + 0x3930;\n  (**(code **)(pcVar18 + 0x2aa6f0))\n            (iVar7,*(int *)(pcVar18 + 0x2a99cc) + -0x5168,0x226,\n             *(int *)(pcVar18 + 0x2a99cc) + -0x4f5c);\nLAB_000ff1d4:\n  pcVar17 = *(code **)(pcVar18 + 0x2aa14c);\n  (*pcVar17)();\n  if (iVar7 == 0) {\n    (**(code **)(pcVar17 + 0x2aa428))\n              (*(int *)(pcVar17 + 0x2a9704) + -0x5150,*(int *)(pcVar17 + 0x2a9704) + -0x5168,0x271,\n               *(int *)(pcVar17 + 0x2a9704) + -0x4f7c,pcVar17 + 0x2b16d0);\n  }\n  else if (*(int *)(iVar7 + 0x24) == -0x54535255) {\n                    /* WARNING: Could not recover jumptable at 0x000ff218. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    pcVar2 = (char *)(**(code **)(pcVar17 + 0x2a9da0))(*(undefined4 *)(iVar7 + 0x18));\n    return pcVar2;\n  }\n  pcVar18 = *(code **)(pcVar17 + 0x2aa428);\n  iVar7 = *(int *)(pcVar17 + 0x2a9704) + -0x512c;\n  (*pcVar18)(iVar7,*(int *)(pcVar17 + 0x2a9704) + -0x5168,0x272,\n             *(int *)(pcVar17 + 0x2a9704) + -0x4f7c);\n  if (iVar7 == 0) {\n    (**(code **)(pcVar18 + 0x2aa3a0))\n              (*(int *)(pcVar18 + 0x2a967c) + -0x5150,*(int *)(pcVar18 + 0x2a967c) + -0x5168,0x28f,\n               *(int *)(pcVar18 + 0x2a967c) + -0x4f98,pcVar18 + 0x2b1648);\n  }\n  else if (*(int *)(iVar7 + 0x24) == -0x54535255) {\n                    /* WARNING: Could not recover jumptable at 0x000ff2a0. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    pcVar2 = (char *)(**(code **)(pcVar18 + 0x2a9a8c))(*(undefined4 *)(iVar7 + 0x18));\n    return pcVar2;\n  }\n  iVar7 = *(int *)(pcVar18 + 0x2a967c) + -0x512c;\n  (**(code **)(pcVar18 + 0x2aa3a0))\n            (iVar7,*(int *)(pcVar18 + 0x2a967c) + -0x5168,0x290,\n             *(int *)(pcVar18 + 0x2a967c) + -0x4f98);\n  if (iVar7 == 0) {\n    return (char *)0x0;\n  }\n  return (char *)(uint)(*(int *)(iVar7 + 0x24) == -0x54535255);\n}" primitive_type (pointer_declarator "* GetImageViewException(ImageView *image_view,ExceptionType *severity)" * (function_declarator "GetImageViewException(ImageView *image_view,ExceptionType *severity)" identifier (parameter_list "(ImageView *image_view,ExceptionType *severity)" ( (parameter_declaration "ImageView *image_view" type_identifier (pointer_declarator "*image_view" * identifier)) , (parameter_declaration "ExceptionType *severity" type_identifier (pointer_declarator "*severity" * identifier)) )))) (compound_statement "{\n  bool bVar1;\n  char *pcVar2;\n  ExceptionInfo *pEVar3;\n  undefined4 uVar4;\n  undefined4 *puVar5;\n  int iVar6;\n  int extraout_v1;\n  int extraout_v1_00;\n  int extraout_v1_01;\n  int extraout_v1_02;\n  int extraout_v1_03;\n  int iVar7;\n  undefined *puVar8;\n  int iVar9;\n  undefined4 uVar10;\n  undefined *puVar11;\n  undefined4 uVar12;\n  undefined4 unaff_s0;\n  int *piVar13;\n  int iVar14;\n  int iVar15;\n  undefined *puVar16;\n  code *pcVar17;\n  code *pcVar18;\n  undefined8 uVar19;\n  undefined4 uStack_c0;\n  undefined4 uStack_bc;\n  int iStack_b4;\n  int iStack_b0;\n  undefined4 uStack_ac;\n  undefined4 uStack_a8;\n  char *pcStack_a4;\n  undefined4 *puStack_a0;\n  int iStack_9c;\n  undefined4 uStack_98;\n  ImageView *pIStack_94;\n  \n  puVar16 = PTR_AcquireQuantumMemory_003a950c;\n  if (image_view == (ImageView *)0x0) {\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x50dc,PTR_s_t_to_left_003a88e4 + -0x5168,0x194,\n               PTR_s_t_to_left_003a88e4 + -0x4f04);\nLAB_000fece8:\n    unaff_s0 = (*(code *)PTR_AcquireExceptionInfo_003a8eec)();\n    puVar5 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n    image_view = (ImageView *)(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar5);\n    puVar11 = (undefined *)0x19b;\n    (*(code *)PTR_ThrowMagickException_003a8f20)\n              (unaff_s0,PTR_s_t_to_left_003a88e4 + -0x5168,PTR_s_t_to_left_003a88e4 + -0x4f1c,0x19b)\n    ;\n    (*(code *)PTR_DestroyString_003a9074)(image_view);\n    (*(code *)PTR_CatchException_003a92b0)(unaff_s0);\n    (*(code *)PTR_DestroyExceptionInfo_003a8d50)(unaff_s0);\n    (*(code *)PTR_MagickCoreTerminus_003a98ec)();\n    (*(code *)PTR__exit_003a9660)(1);\nLAB_000fedb0:\n    puVar11 = puVar11 + -0x4f04;\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x50b4,PTR_s_t_to_left_003a88e4 + -0x5168,0x196,puVar11);\n  }\n  else {\n    puVar11 = PTR_s_t_to_left_003a88e4;\n    if (image_view->signature == 0xabacadab) {\n      if (severity != (ExceptionType *)0x0) {\n        *severity = image_view->exception->severity;\n        pcVar2 = (char *)(*(code *)puVar16)(0x2000,1);\n        if (pcVar2 != (char *)0x0) {\n          pEVar3 = image_view->exception;\n          *pcVar2 = '\0';\n          if (pEVar3->reason != (char *)0x0) {\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)(pEVar3->severity);\n            (*(code *)PTR_CopyMagickString_003a983c)(pcVar2,uVar4,0x1000);\n            pEVar3 = image_view->exception;\n          }\n          if (pEVar3->description != (char *)0x0) {\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (pcVar2,PTR_s_t_to_left_003a88e4 + -0x5090,0x1000);\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)\n                              (image_view->exception->severity,image_view->exception->description);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)(pcVar2,uVar4,0x1000);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (pcVar2,PTR_s_courses_003a88ec + -0x6e0,0x1000);\n          }\n          return pcVar2;\n        }\n        goto LAB_000fece8;\n      }\n      goto LAB_000fedb0;\n    }\n  }\n  puVar8 = PTR_s_t_to_left_003a88e4 + -0x5168;\n  pcVar2 = PTR_s_t_to_left_003a88e4 + -0x512c;\n  puVar16 = PTR___assert_fail_003a9608;\n  (*(code *)PTR___assert_fail_003a9608)(pcVar2,puVar8,0x195,puVar11 + -0x4f04);\n  if (puVar8 == (undefined *)0x0) {\n    (**(code **)(puVar16 + 0x2aa818))\n              (*(int *)(puVar16 + 0x2a9af4) + -0x5150,*(int *)(puVar16 + 0x2a9af4) + -0x5168,0x1c4,\n               *(int *)(puVar16 + 0x2a9af4) + -0x4f30);\n  }\n  else if (*(int *)(puVar8 + 0x24) == -0x54535255) {\n    uVar12 = *(undefined4 *)(puVar8 + 8);\n    uVar10 = *(undefined4 *)(puVar8 + 0xc);\n    uVar4 = *(undefined4 *)(puVar8 + 0x10);\n    *(undefined4 *)pcVar2 = *(undefined4 *)(puVar8 + 4);\n    *(undefined4 *)(pcVar2 + 4) = uVar12;\n    *(undefined4 *)(pcVar2 + 8) = uVar10;\n    *(undefined4 *)(pcVar2 + 0xc) = uVar4;\n    return pcVar2;\n  }\n  pcVar17 = *(code **)(puVar16 + 0x2aa818);\n  iVar7 = *(int *)(puVar16 + 0x2a9af4) + -0x512c;\n  (*pcVar17)(iVar7,*(int *)(puVar16 + 0x2a9af4) + -0x5168,0x1c5,\n             *(int *)(puVar16 + 0x2a9af4) + -0x4f30);\n  if (iVar7 == 0) {\n    (**(code **)(pcVar17 + 0x2aa774))\n              (*(int *)(pcVar17 + 0x2a9a50) + -0x5150,*(int *)(pcVar17 + 0x2a9a50) + -0x5168,0x1e1,\n               *(int *)(pcVar17 + 0x2a9a50) + -0x4f44);\n  }\n  else if (*(int *)(iVar7 + 0x24) == -0x54535255) {\n    return *(char **)(iVar7 + 0x14);\n  }\n  uVar4 = 0x1e2;\n  pcVar18 = *(code **)(pcVar17 + 0x2aa774);\n  iVar9 = *(int *)(pcVar17 + 0x2a9a50) + -0x5168;\n  iVar7 = *(int *)(pcVar17 + 0x2a9a50) + -0x512c;\n  (*pcVar18)();\n  piVar13 = *(int **)(pcVar18 + 0x2aa318);\n  iStack_9c = *piVar13;\n  uStack_98 = unaff_s0;\n  pIStack_94 = image_view;\n  if (iVar7 == 0) {\n    (**(code **)(pcVar18 + 0x2aa6f0))\n              (*(int *)(pcVar18 + 0x2a99cc) + -0x50fc,*(int *)(pcVar18 + 0x2a99cc) + -0x5168,0x225,\n               *(int *)(pcVar18 + 0x2a99cc) + -0x4f5c);\n  }\n  else if (*(int *)(iVar7 + 0x24) == -0x54535255) {\n    if (iVar9 == 0) {\n      pcVar2 = (char *)0x0;\n    }\n    else {\n      uVar10 = *(undefined4 *)(iVar7 + 0x14);\n      iVar14 = *(int *)(iVar7 + 8);\n      iVar15 = *(int *)(iVar7 + 0x10);\n      uStack_bc = 0;\n      uStack_c0 = 0;\n      iVar6 = (**(code **)(pcVar18 + 0x2aa59c))(uVar10);\n      if (((iVar6 == 4) || (iVar6 = (**(code **)(pcVar18 + 0x2aa59c))(uVar10), iVar6 == 3)) &&\n         ((iVar6 = (**(code **)(pcVar18 + 0x2aa59c))(uVar10), iVar6 == 4 ||\n          (iVar6 = (**(code **)(pcVar18 + 0x2aa59c))(uVar10), iVar6 == 3)))) {\n        iVar14 = iVar14 - iVar15;\n        (**(code **)(pcVar18 + 0x2aa224))(7);\n        iVar6 = iVar14;\n        if (iVar14 < 0) {\n          iVar6 = iVar14 + 0x3f;\n        }\n        iVar6 = iVar6 >> 6;\n        if (extraout_v1 < iVar6) {\n          (**(code **)(pcVar18 + 0x2aa224))(7);\n          bVar1 = extraout_v1_02 < 2;\n        }\n        else {\n          bVar1 = iVar14 < 0x80;\n        }\n        iVar14 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar18 + 0x2aa224))(7);\n          if (extraout_v1_01 < iVar6) {\n            (**(code **)(pcVar18 + 0x2aa224))(7);\n            iVar6 = extraout_v1_03;\n          }\n          goto LAB_000feff4;\n        }\n        iVar15 = *(int *)(pcVar18 + 0x2a9b7c);\n      }\n      else {\n        uVar19 = (**(code **)(pcVar18 + 0x2aa224))(7);\n        if ((int)((ulonglong)uVar19 >> 0x20) == 0) {\n          pcVar17 = *(code **)(pcVar18 + 0x2aa224);\n          if ((uint)uVar19 < 2) {\n            uVar19 = (*pcVar17)(7);\n            if ((int)((ulonglong)uVar19 >> 0x20) != 0) goto LAB_000fefdc;\n            pcVar17 = *(code **)(pcVar18 + 0x2aa224);\n            if ((uint)uVar19 < 2) {\n              iVar6 = 1;\n              goto LAB_000feff4;\n            }\n          }\n        }\n        else {\nLAB_000fefdc:\n          pcVar17 = *(code **)(pcVar18 + 0x2aa224);\n        }\n        uVar19 = (*pcVar17)(7);\n        if (((int)((ulonglong)uVar19 >> 0x20) == 0) && ((uint)uVar19 < 2)) {\n          (**(code **)(pcVar18 + 0x2aa224))(7);\n          iVar6 = extraout_v1_00;\n        }\n        else {\n          iVar6 = 2;\n        }\nLAB_000feff4:\n        iVar15 = *(int *)(pcVar18 + 0x2a9b7c);\n        iVar14 = iVar6;\n      }\n      pcStack_a4 = (char *)0x1;\n      puStack_a0 = &uStack_c0;\n      iStack_b4 = iVar7;\n      iStack_b0 = iVar9;\n      uStack_ac = uVar4;\n      uStack_a8 = uVar10;\n      (**(code **)(pcVar18 + 0x2aa280))(iVar15 + -0x2298,&iStack_b4,iVar14,0);\n      pcVar2 = pcStack_a4;\n    }\n    iVar7 = iStack_9c;\n    if (iStack_9c == *piVar13) {\n      return pcVar2;\n    }\n    goto LAB_000ff1d4;\n  }\n  iVar7 = *(int *)(pcVar18 + 0x2a99d0) + 0x3930;\n  (**(code **)(pcVar18 + 0x2aa6f0))\n            (iVar7,*(int *)(pcVar18 + 0x2a99cc) + -0x5168,0x226,\n             *(int *)(pcVar18 + 0x2a99cc) + -0x4f5c);\nLAB_000ff1d4:\n  pcVar17 = *(code **)(pcVar18 + 0x2aa14c);\n  (*pcVar17)();\n  if (iVar7 == 0) {\n    (**(code **)(pcVar17 + 0x2aa428))\n              (*(int *)(pcVar17 + 0x2a9704) + -0x5150,*(int *)(pcVar17 + 0x2a9704) + -0x5168,0x271,\n               *(int *)(pcVar17 + 0x2a9704) + -0x4f7c,pcVar17 + 0x2b16d0);\n  }\n  else if (*(int *)(iVar7 + 0x24) == -0x54535255) {\n                    /* WARNING: Could not recover jumptable at 0x000ff218. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    pcVar2 = (char *)(**(code **)(pcVar17 + 0x2a9da0))(*(undefined4 *)(iVar7 + 0x18));\n    return pcVar2;\n  }\n  pcVar18 = *(code **)(pcVar17 + 0x2aa428);\n  iVar7 = *(int *)(pcVar17 + 0x2a9704) + -0x512c;\n  (*pcVar18)(iVar7,*(int *)(pcVar17 + 0x2a9704) + -0x5168,0x272,\n             *(int *)(pcVar17 + 0x2a9704) + -0x4f7c);\n  if (iVar7 == 0) {\n    (**(code **)(pcVar18 + 0x2aa3a0))\n              (*(int *)(pcVar18 + 0x2a967c) + -0x5150,*(int *)(pcVar18 + 0x2a967c) + -0x5168,0x28f,\n               *(int *)(pcVar18 + 0x2a967c) + -0x4f98,pcVar18 + 0x2b1648);\n  }\n  else if (*(int *)(iVar7 + 0x24) == -0x54535255) {\n                    /* WARNING: Could not recover jumptable at 0x000ff2a0. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    pcVar2 = (char *)(**(code **)(pcVar18 + 0x2a9a8c))(*(undefined4 *)(iVar7 + 0x18));\n    return pcVar2;\n  }\n  iVar7 = *(int *)(pcVar18 + 0x2a967c) + -0x512c;\n  (**(code **)(pcVar18 + 0x2aa3a0))\n            (iVar7,*(int *)(pcVar18 + 0x2a967c) + -0x5168,0x290,\n             *(int *)(pcVar18 + 0x2a967c) + -0x4f98);\n  if (iVar7 == 0) {\n    return (char *)0x0;\n  }\n  return (char *)(uint)(*(int *)(iVar7 + 0x24) == -0x54535255);\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "char *pcVar2;" primitive_type (pointer_declarator "*pcVar2" * identifier) ;) (declaration "ExceptionInfo *pEVar3;" type_identifier (pointer_declarator "*pEVar3" * identifier) ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "undefined4 *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int extraout_v1;" primitive_type identifier ;) (declaration "int extraout_v1_00;" primitive_type identifier ;) (declaration "int extraout_v1_01;" primitive_type identifier ;) (declaration "int extraout_v1_02;" primitive_type identifier ;) (declaration "int extraout_v1_03;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "undefined *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "undefined4 uVar10;" type_identifier identifier ;) (declaration "undefined *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "undefined4 uVar12;" type_identifier identifier ;) (declaration "undefined4 unaff_s0;" type_identifier identifier ;) (declaration "int *piVar13;" primitive_type (pointer_declarator "*piVar13" * identifier) ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "undefined *puVar16;" type_identifier (pointer_declarator "*puVar16" * identifier) ;) (declaration "code *pcVar17;" type_identifier (pointer_declarator "*pcVar17" * identifier) ;) (declaration "code *pcVar18;" type_identifier (pointer_declarator "*pcVar18" * identifier) ;) (declaration "undefined8 uVar19;" type_identifier identifier ;) (declaration "undefined4 uStack_c0;" type_identifier identifier ;) (declaration "undefined4 uStack_bc;" type_identifier identifier ;) (declaration "int iStack_b4;" primitive_type identifier ;) (declaration "int iStack_b0;" primitive_type identifier ;) (declaration "undefined4 uStack_ac;" type_identifier identifier ;) (declaration "undefined4 uStack_a8;" type_identifier identifier ;) (declaration "char *pcStack_a4;" primitive_type (pointer_declarator "*pcStack_a4" * identifier) ;) (declaration "undefined4 *puStack_a0;" type_identifier (pointer_declarator "*puStack_a0" * identifier) ;) (declaration "int iStack_9c;" primitive_type identifier ;) (declaration "undefined4 uStack_98;" type_identifier identifier ;) (declaration "ImageView *pIStack_94;" type_identifier (pointer_declarator "*pIStack_94" * identifier) ;) (expression_statement "puVar16 = PTR_AcquireQuantumMemory_003a950c;" (assignment_expression "puVar16 = PTR_AcquireQuantumMemory_003a950c" identifier = identifier) ;) (if_statement "if (image_view == (ImageView *)0x0) {\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x50dc,PTR_s_t_to_left_003a88e4 + -0x5168,0x194,\n               PTR_s_t_to_left_003a88e4 + -0x4f04);\nLAB_000fece8:\n    unaff_s0 = (*(code *)PTR_AcquireExceptionInfo_003a8eec)();\n    puVar5 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n    image_view = (ImageView *)(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar5);\n    puVar11 = (undefined *)0x19b;\n    (*(code *)PTR_ThrowMagickException_003a8f20)\n              (unaff_s0,PTR_s_t_to_left_003a88e4 + -0x5168,PTR_s_t_to_left_003a88e4 + -0x4f1c,0x19b)\n    ;\n    (*(code *)PTR_DestroyString_003a9074)(image_view);\n    (*(code *)PTR_CatchException_003a92b0)(unaff_s0);\n    (*(code *)PTR_DestroyExceptionInfo_003a8d50)(unaff_s0);\n    (*(code *)PTR_MagickCoreTerminus_003a98ec)();\n    (*(code *)PTR__exit_003a9660)(1);\nLAB_000fedb0:\n    puVar11 = puVar11 + -0x4f04;\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x50b4,PTR_s_t_to_left_003a88e4 + -0x5168,0x196,puVar11);\n  }\n  else {\n    puVar11 = PTR_s_t_to_left_003a88e4;\n    if (image_view->signature == 0xabacadab) {\n      if (severity != (ExceptionType *)0x0) {\n        *severity = image_view->exception->severity;\n        pcVar2 = (char *)(*(code *)puVar16)(0x2000,1);\n        if (pcVar2 != (char *)0x0) {\n          pEVar3 = image_view->exception;\n          *pcVar2 = '\0';\n          if (pEVar3->reason != (char *)0x0) {\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)(pEVar3->severity);\n            (*(code *)PTR_CopyMagickString_003a983c)(pcVar2,uVar4,0x1000);\n            pEVar3 = image_view->exception;\n          }\n          if (pEVar3->description != (char *)0x0) {\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (pcVar2,PTR_s_t_to_left_003a88e4 + -0x5090,0x1000);\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)\n                              (image_view->exception->severity,image_view->exception->description);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)(pcVar2,uVar4,0x1000);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (pcVar2,PTR_s_courses_003a88ec + -0x6e0,0x1000);\n          }\n          return pcVar2;\n        }\n        goto LAB_000fece8;\n      }\n      goto LAB_000fedb0;\n    }\n  }" if (parenthesized_expression "(image_view == (ImageView *)0x0)" ( (binary_expression "image_view == (ImageView *)0x0" identifier == (cast_expression "(ImageView *)0x0" ( (type_descriptor "ImageView *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x50dc,PTR_s_t_to_left_003a88e4 + -0x5168,0x194,\n               PTR_s_t_to_left_003a88e4 + -0x4f04);\nLAB_000fece8:\n    unaff_s0 = (*(code *)PTR_AcquireExceptionInfo_003a8eec)();\n    puVar5 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n    image_view = (ImageView *)(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar5);\n    puVar11 = (undefined *)0x19b;\n    (*(code *)PTR_ThrowMagickException_003a8f20)\n              (unaff_s0,PTR_s_t_to_left_003a88e4 + -0x5168,PTR_s_t_to_left_003a88e4 + -0x4f1c,0x19b)\n    ;\n    (*(code *)PTR_DestroyString_003a9074)(image_view);\n    (*(code *)PTR_CatchException_003a92b0)(unaff_s0);\n    (*(code *)PTR_DestroyExceptionInfo_003a8d50)(unaff_s0);\n    (*(code *)PTR_MagickCoreTerminus_003a98ec)();\n    (*(code *)PTR__exit_003a9660)(1);\nLAB_000fedb0:\n    puVar11 = puVar11 + -0x4f04;\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x50b4,PTR_s_t_to_left_003a88e4 + -0x5168,0x196,puVar11);\n  }" { (expression_statement "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x50dc,PTR_s_t_to_left_003a88e4 + -0x5168,0x194,\n               PTR_s_t_to_left_003a88e4 + -0x4f04);" (call_expression "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x50dc,PTR_s_t_to_left_003a88e4 + -0x5168,0x194,\n               PTR_s_t_to_left_003a88e4 + -0x4f04)" (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 + -0x50dc,PTR_s_t_to_left_003a88e4 + -0x5168,0x194,\n               PTR_s_t_to_left_003a88e4 + -0x4f04)" ( (binary_expression "PTR_s_t_to_left_003a88e4 + -0x50dc" identifier + number_literal) , (binary_expression "PTR_s_t_to_left_003a88e4 + -0x5168" identifier + number_literal) , number_literal , (binary_expression "PTR_s_t_to_left_003a88e4 + -0x4f04" identifier + number_literal) ))) ;) (labeled_statement "LAB_000fece8:\n    unaff_s0 = (*(code *)PTR_AcquireExceptionInfo_003a8eec)();" statement_identifier : (expression_statement "unaff_s0 = (*(code *)PTR_AcquireExceptionInfo_003a8eec)();" (assignment_expression "unaff_s0 = (*(code *)PTR_AcquireExceptionInfo_003a8eec)()" identifier = (call_expression "(*(code *)PTR_AcquireExceptionInfo_003a8eec)()" (parenthesized_expression "(*(code *)PTR_AcquireExceptionInfo_003a8eec)" ( (pointer_expression "*(code *)PTR_AcquireExceptionInfo_003a8eec" * (cast_expression "(code *)PTR_AcquireExceptionInfo_003a8eec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;)) (expression_statement "puVar5 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();" (assignment_expression "puVar5 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)()" identifier = (cast_expression "(undefined4 *)(*(code *)PTR___errno_location_003a99b0)()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_003a99b0)()" (parenthesized_expression "(*(code *)PTR___errno_location_003a99b0)" ( (pointer_expression "*(code *)PTR___errno_location_003a99b0" * (cast_expression "(code *)PTR___errno_location_003a99b0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "image_view = (ImageView *)(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar5);" (assignment_expression "image_view = (ImageView *)(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar5)" identifier = (cast_expression "(ImageView *)(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar5)" ( (type_descriptor "ImageView *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar5)" (parenthesized_expression "(*(code *)PTR_GetExceptionMessage_003a93ec)" ( (pointer_expression "*(code *)PTR_GetExceptionMessage_003a93ec" * (cast_expression "(code *)PTR_GetExceptionMessage_003a93ec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*puVar5)" ( (pointer_expression "*puVar5" * identifier) ))))) ;) (expression_statement "puVar11 = (undefined *)0x19b;" (assignment_expression "puVar11 = (undefined *)0x19b" identifier = (cast_expression "(undefined *)0x19b" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(*(code *)PTR_ThrowMagickException_003a8f20)\n              (unaff_s0,PTR_s_t_to_left_003a88e4 + -0x5168,PTR_s_t_to_left_003a88e4 + -0x4f1c,0x19b)\n    ;" (call_expression "(*(code *)PTR_ThrowMagickException_003a8f20)\n              (unaff_s0,PTR_s_t_to_left_003a88e4 + -0x5168,PTR_s_t_to_left_003a88e4 + -0x4f1c,0x19b)" (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 "(unaff_s0,PTR_s_t_to_left_003a88e4 + -0x5168,PTR_s_t_to_left_003a88e4 + -0x4f1c,0x19b)" ( identifier , (binary_expression "PTR_s_t_to_left_003a88e4 + -0x5168" identifier + number_literal) , (binary_expression "PTR_s_t_to_left_003a88e4 + -0x4f1c" identifier + number_literal) , number_literal ))) ;) (expression_statement "(*(code *)PTR_DestroyString_003a9074)(image_view);" (call_expression "(*(code *)PTR_DestroyString_003a9074)(image_view)" (parenthesized_expression "(*(code *)PTR_DestroyString_003a9074)" ( (pointer_expression "*(code *)PTR_DestroyString_003a9074" * (cast_expression "(code *)PTR_DestroyString_003a9074" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(image_view)" ( identifier ))) ;) (expression_statement "(*(code *)PTR_CatchException_003a92b0)(unaff_s0);" (call_expression "(*(code *)PTR_CatchException_003a92b0)(unaff_s0)" (parenthesized_expression "(*(code *)PTR_CatchException_003a92b0)" ( (pointer_expression "*(code *)PTR_CatchException_003a92b0" * (cast_expression "(code *)PTR_CatchException_003a92b0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s0)" ( identifier ))) ;) (expression_statement "(*(code *)PTR_DestroyExceptionInfo_003a8d50)(unaff_s0);" (call_expression "(*(code *)PTR_DestroyExceptionInfo_003a8d50)(unaff_s0)" (parenthesized_expression "(*(code *)PTR_DestroyExceptionInfo_003a8d50)" ( (pointer_expression "*(code *)PTR_DestroyExceptionInfo_003a8d50" * (cast_expression "(code *)PTR_DestroyExceptionInfo_003a8d50" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s0)" ( identifier ))) ;) (expression_statement "(*(code *)PTR_MagickCoreTerminus_003a98ec)();" (call_expression "(*(code *)PTR_MagickCoreTerminus_003a98ec)()" (parenthesized_expression "(*(code *)PTR_MagickCoreTerminus_003a98ec)" ( (pointer_expression "*(code *)PTR_MagickCoreTerminus_003a98ec" * (cast_expression "(code *)PTR_MagickCoreTerminus_003a98ec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "(*(code *)PTR__exit_003a9660)(1);" (call_expression "(*(code *)PTR__exit_003a9660)(1)" (parenthesized_expression "(*(code *)PTR__exit_003a9660)" ( (pointer_expression "*(code *)PTR__exit_003a9660" * (cast_expression "(code *)PTR__exit_003a9660" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(1)" ( number_literal ))) ;) (labeled_statement "LAB_000fedb0:\n    puVar11 = puVar11 + -0x4f04;" statement_identifier : (expression_statement "puVar11 = puVar11 + -0x4f04;" (assignment_expression "puVar11 = puVar11 + -0x4f04" identifier = (binary_expression "puVar11 + -0x4f04" identifier + number_literal)) ;)) (expression_statement "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x50b4,PTR_s_t_to_left_003a88e4 + -0x5168,0x196,puVar11);" (call_expression "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x50b4,PTR_s_t_to_left_003a88e4 + -0x5168,0x196,puVar11)" (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 + -0x50b4,PTR_s_t_to_left_003a88e4 + -0x5168,0x196,puVar11)" ( (binary_expression "PTR_s_t_to_left_003a88e4 + -0x50b4" identifier + number_literal) , (binary_expression "PTR_s_t_to_left_003a88e4 + -0x5168" identifier + number_literal) , number_literal , identifier ))) ;) }) (else_clause "else {\n    puVar11 = PTR_s_t_to_left_003a88e4;\n    if (image_view->signature == 0xabacadab) {\n      if (severity != (ExceptionType *)0x0) {\n        *severity = image_view->exception->severity;\n        pcVar2 = (char *)(*(code *)puVar16)(0x2000,1);\n        if (pcVar2 != (char *)0x0) {\n          pEVar3 = image_view->exception;\n          *pcVar2 = '\0';\n          if (pEVar3->reason != (char *)0x0) {\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)(pEVar3->severity);\n            (*(code *)PTR_CopyMagickString_003a983c)(pcVar2,uVar4,0x1000);\n            pEVar3 = image_view->exception;\n          }\n          if (pEVar3->description != (char *)0x0) {\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (pcVar2,PTR_s_t_to_left_003a88e4 + -0x5090,0x1000);\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)\n                              (image_view->exception->severity,image_view->exception->description);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)(pcVar2,uVar4,0x1000);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (pcVar2,PTR_s_courses_003a88ec + -0x6e0,0x1000);\n          }\n          return pcVar2;\n        }\n        goto LAB_000fece8;\n      }\n      goto LAB_000fedb0;\n    }\n  }" else (compound_statement "{\n    puVar11 = PTR_s_t_to_left_003a88e4;\n    if (image_view->signature == 0xabacadab) {\n      if (severity != (ExceptionType *)0x0) {\n        *severity = image_view->exception->severity;\n        pcVar2 = (char *)(*(code *)puVar16)(0x2000,1);\n        if (pcVar2 != (char *)0x0) {\n          pEVar3 = image_view->exception;\n          *pcVar2 = '\0';\n          if (pEVar3->reason != (char *)0x0) {\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)(pEVar3->severity);\n            (*(code *)PTR_CopyMagickString_003a983c)(pcVar2,uVar4,0x1000);\n            pEVar3 = image_view->exception;\n          }\n          if (pEVar3->description != (char *)0x0) {\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (pcVar2,PTR_s_t_to_left_003a88e4 + -0x5090,0x1000);\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)\n                              (image_view->exception->severity,image_view->exception->description);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)(pcVar2,uVar4,0x1000);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (pcVar2,PTR_s_courses_003a88ec + -0x6e0,0x1000);\n          }\n          return pcVar2;\n        }\n        goto LAB_000fece8;\n      }\n      goto LAB_000fedb0;\n    }\n  }" { (expression_statement "puVar11 = PTR_s_t_to_left_003a88e4;" (assignment_expression "puVar11 = PTR_s_t_to_left_003a88e4" identifier = identifier) ;) (if_statement "if (image_view->signature == 0xabacadab) {\n      if (severity != (ExceptionType *)0x0) {\n        *severity = image_view->exception->severity;\n        pcVar2 = (char *)(*(code *)puVar16)(0x2000,1);\n        if (pcVar2 != (char *)0x0) {\n          pEVar3 = image_view->exception;\n          *pcVar2 = '\0';\n          if (pEVar3->reason != (char *)0x0) {\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)(pEVar3->severity);\n            (*(code *)PTR_CopyMagickString_003a983c)(pcVar2,uVar4,0x1000);\n            pEVar3 = image_view->exception;\n          }\n          if (pEVar3->description != (char *)0x0) {\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (pcVar2,PTR_s_t_to_left_003a88e4 + -0x5090,0x1000);\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)\n                              (image_view->exception->severity,image_view->exception->description);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)(pcVar2,uVar4,0x1000);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (pcVar2,PTR_s_courses_003a88ec + -0x6e0,0x1000);\n          }\n          return pcVar2;\n        }\n        goto LAB_000fece8;\n      }\n      goto LAB_000fedb0;\n    }" if (parenthesized_expression "(image_view->signature == 0xabacadab)" ( (binary_expression "image_view->signature == 0xabacadab" (field_expression "image_view->signature" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n      if (severity != (ExceptionType *)0x0) {\n        *severity = image_view->exception->severity;\n        pcVar2 = (char *)(*(code *)puVar16)(0x2000,1);\n        if (pcVar2 != (char *)0x0) {\n          pEVar3 = image_view->exception;\n          *pcVar2 = '\0';\n          if (pEVar3->reason != (char *)0x0) {\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)(pEVar3->severity);\n            (*(code *)PTR_CopyMagickString_003a983c)(pcVar2,uVar4,0x1000);\n            pEVar3 = image_view->exception;\n          }\n          if (pEVar3->description != (char *)0x0) {\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (pcVar2,PTR_s_t_to_left_003a88e4 + -0x5090,0x1000);\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)\n                              (image_view->exception->severity,image_view->exception->description);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)(pcVar2,uVar4,0x1000);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (pcVar2,PTR_s_courses_003a88ec + -0x6e0,0x1000);\n          }\n          return pcVar2;\n        }\n        goto LAB_000fece8;\n      }\n      goto LAB_000fedb0;\n    }" { (if_statement "if (severity != (ExceptionType *)0x0) {\n        *severity = image_view->exception->severity;\n        pcVar2 = (char *)(*(code *)puVar16)(0x2000,1);\n        if (pcVar2 != (char *)0x0) {\n          pEVar3 = image_view->exception;\n          *pcVar2 = '\0';\n          if (pEVar3->reason != (char *)0x0) {\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)(pEVar3->severity);\n            (*(code *)PTR_CopyMagickString_003a983c)(pcVar2,uVar4,0x1000);\n            pEVar3 = image_view->exception;\n          }\n          if (pEVar3->description != (char *)0x0) {\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (pcVar2,PTR_s_t_to_left_003a88e4 + -0x5090,0x1000);\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)\n                              (image_view->exception->severity,image_view->exception->description);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)(pcVar2,uVar4,0x1000);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (pcVar2,PTR_s_courses_003a88ec + -0x6e0,0x1000);\n          }\n          return pcVar2;\n        }\n        goto LAB_000fece8;\n      }" if (parenthesized_expression "(severity != (ExceptionType *)0x0)" ( (binary_expression "severity != (ExceptionType *)0x0" identifier != (cast_expression "(ExceptionType *)0x0" ( (type_descriptor "ExceptionType *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        *severity = image_view->exception->severity;\n        pcVar2 = (char *)(*(code *)puVar16)(0x2000,1);\n        if (pcVar2 != (char *)0x0) {\n          pEVar3 = image_view->exception;\n          *pcVar2 = '\0';\n          if (pEVar3->reason != (char *)0x0) {\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)(pEVar3->severity);\n            (*(code *)PTR_CopyMagickString_003a983c)(pcVar2,uVar4,0x1000);\n            pEVar3 = image_view->exception;\n          }\n          if (pEVar3->description != (char *)0x0) {\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (pcVar2,PTR_s_t_to_left_003a88e4 + -0x5090,0x1000);\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)\n                              (image_view->exception->severity,image_view->exception->description);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)(pcVar2,uVar4,0x1000);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (pcVar2,PTR_s_courses_003a88ec + -0x6e0,0x1000);\n          }\n          return pcVar2;\n        }\n        goto LAB_000fece8;\n      }" { (expression_statement "*severity = image_view->exception->severity;" (assignment_expression "*severity = image_view->exception->severity" (pointer_expression "*severity" * identifier) = (field_expression "image_view->exception->severity" (field_expression "image_view->exception" identifier -> field_identifier) -> field_identifier)) ;) (expression_statement "pcVar2 = (char *)(*(code *)puVar16)(0x2000,1);" (assignment_expression "pcVar2 = (char *)(*(code *)puVar16)(0x2000,1)" identifier = (cast_expression "(char *)(*(code *)puVar16)(0x2000,1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)puVar16)(0x2000,1)" (parenthesized_expression "(*(code *)puVar16)" ( (pointer_expression "*(code *)puVar16" * (cast_expression "(code *)puVar16" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x2000,1)" ( number_literal , number_literal ))))) ;) (if_statement "if (pcVar2 != (char *)0x0) {\n          pEVar3 = image_view->exception;\n          *pcVar2 = '\0';\n          if (pEVar3->reason != (char *)0x0) {\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)(pEVar3->severity);\n            (*(code *)PTR_CopyMagickString_003a983c)(pcVar2,uVar4,0x1000);\n            pEVar3 = image_view->exception;\n          }\n          if (pEVar3->description != (char *)0x0) {\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (pcVar2,PTR_s_t_to_left_003a88e4 + -0x5090,0x1000);\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)\n                              (image_view->exception->severity,image_view->exception->description);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)(pcVar2,uVar4,0x1000);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (pcVar2,PTR_s_courses_003a88ec + -0x6e0,0x1000);\n          }\n          return pcVar2;\n        }" if (parenthesized_expression "(pcVar2 != (char *)0x0)" ( (binary_expression "pcVar2 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          pEVar3 = image_view->exception;\n          *pcVar2 = '\0';\n          if (pEVar3->reason != (char *)0x0) {\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)(pEVar3->severity);\n            (*(code *)PTR_CopyMagickString_003a983c)(pcVar2,uVar4,0x1000);\n            pEVar3 = image_view->exception;\n          }\n          if (pEVar3->description != (char *)0x0) {\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (pcVar2,PTR_s_t_to_left_003a88e4 + -0x5090,0x1000);\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)\n                              (image_view->exception->severity,image_view->exception->description);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)(pcVar2,uVar4,0x1000);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (pcVar2,PTR_s_courses_003a88ec + -0x6e0,0x1000);\n          }\n          return pcVar2;\n        }" { (expression_statement "pEVar3 = image_view->exception;" (assignment_expression "pEVar3 = image_view->exception" identifier = (field_expression "image_view->exception" identifier -> field_identifier)) ;) (expression_statement "*pcVar2 = '\0';" (assignment_expression "*pcVar2 = '\0'" (pointer_expression "*pcVar2" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if (pEVar3->reason != (char *)0x0) {\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)(pEVar3->severity);\n            (*(code *)PTR_CopyMagickString_003a983c)(pcVar2,uVar4,0x1000);\n            pEVar3 = image_view->exception;\n          }" if (parenthesized_expression "(pEVar3->reason != (char *)0x0)" ( (binary_expression "pEVar3->reason != (char *)0x0" (field_expression "pEVar3->reason" identifier -> field_identifier) != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)(pEVar3->severity);\n            (*(code *)PTR_CopyMagickString_003a983c)(pcVar2,uVar4,0x1000);\n            pEVar3 = image_view->exception;\n          }" { (expression_statement "uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)(pEVar3->severity);" (assignment_expression "uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)(pEVar3->severity)" identifier = (call_expression "(*(code *)PTR_GetLocaleExceptionMessage_003a92d0)(pEVar3->severity)" (parenthesized_expression "(*(code *)PTR_GetLocaleExceptionMessage_003a92d0)" ( (pointer_expression "*(code *)PTR_GetLocaleExceptionMessage_003a92d0" * (cast_expression "(code *)PTR_GetLocaleExceptionMessage_003a92d0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pEVar3->severity)" ( (field_expression "pEVar3->severity" identifier -> field_identifier) )))) ;) (expression_statement "(*(code *)PTR_CopyMagickString_003a983c)(pcVar2,uVar4,0x1000);" (call_expression "(*(code *)PTR_CopyMagickString_003a983c)(pcVar2,uVar4,0x1000)" (parenthesized_expression "(*(code *)PTR_CopyMagickString_003a983c)" ( (pointer_expression "*(code *)PTR_CopyMagickString_003a983c" * (cast_expression "(code *)PTR_CopyMagickString_003a983c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar2,uVar4,0x1000)" ( identifier , identifier , number_literal ))) ;) (expression_statement "pEVar3 = image_view->exception;" (assignment_expression "pEVar3 = image_view->exception" identifier = (field_expression "image_view->exception" identifier -> field_identifier)) ;) })) (if_statement "if (pEVar3->description != (char *)0x0) {\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (pcVar2,PTR_s_t_to_left_003a88e4 + -0x5090,0x1000);\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)\n                              (image_view->exception->severity,image_view->exception->description);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)(pcVar2,uVar4,0x1000);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (pcVar2,PTR_s_courses_003a88ec + -0x6e0,0x1000);\n          }" if (parenthesized_expression "(pEVar3->description != (char *)0x0)" ( (binary_expression "pEVar3->description != (char *)0x0" (field_expression "pEVar3->description" identifier -> field_identifier) != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (pcVar2,PTR_s_t_to_left_003a88e4 + -0x5090,0x1000);\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)\n                              (image_view->exception->severity,image_view->exception->description);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)(pcVar2,uVar4,0x1000);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (pcVar2,PTR_s_courses_003a88ec + -0x6e0,0x1000);\n          }" { (expression_statement "(*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (pcVar2,PTR_s_t_to_left_003a88e4 + -0x5090,0x1000);" (call_expression "(*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (pcVar2,PTR_s_t_to_left_003a88e4 + -0x5090,0x1000)" (parenthesized_expression "(*(code *)PTR_ConcatenateMagickString_003a9898)" ( (pointer_expression "*(code *)PTR_ConcatenateMagickString_003a9898" * (cast_expression "(code *)PTR_ConcatenateMagickString_003a9898" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar2,PTR_s_t_to_left_003a88e4 + -0x5090,0x1000)" ( identifier , (binary_expression "PTR_s_t_to_left_003a88e4 + -0x5090" identifier + number_literal) , number_literal ))) ;) (expression_statement "uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)\n                              (image_view->exception->severity,image_view->exception->description);" (assignment_expression "uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)\n                              (image_view->exception->severity,image_view->exception->description)" identifier = (call_expression "(*(code *)PTR_GetLocaleExceptionMessage_003a92d0)\n                              (image_view->exception->severity,image_view->exception->description)" (parenthesized_expression "(*(code *)PTR_GetLocaleExceptionMessage_003a92d0)" ( (pointer_expression "*(code *)PTR_GetLocaleExceptionMessage_003a92d0" * (cast_expression "(code *)PTR_GetLocaleExceptionMessage_003a92d0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(image_view->exception->severity,image_view->exception->description)" ( (field_expression "image_view->exception->severity" (field_expression "image_view->exception" identifier -> field_identifier) -> field_identifier) , (field_expression "image_view->exception->description" (field_expression "image_view->exception" identifier -> field_identifier) -> field_identifier) )))) ;) (expression_statement "(*(code *)PTR_ConcatenateMagickString_003a9898)(pcVar2,uVar4,0x1000);" (call_expression "(*(code *)PTR_ConcatenateMagickString_003a9898)(pcVar2,uVar4,0x1000)" (parenthesized_expression "(*(code *)PTR_ConcatenateMagickString_003a9898)" ( (pointer_expression "*(code *)PTR_ConcatenateMagickString_003a9898" * (cast_expression "(code *)PTR_ConcatenateMagickString_003a9898" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar2,uVar4,0x1000)" ( identifier , identifier , number_literal ))) ;) (expression_statement "(*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (pcVar2,PTR_s_courses_003a88ec + -0x6e0,0x1000);" (call_expression "(*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (pcVar2,PTR_s_courses_003a88ec + -0x6e0,0x1000)" (parenthesized_expression "(*(code *)PTR_ConcatenateMagickString_003a9898)" ( (pointer_expression "*(code *)PTR_ConcatenateMagickString_003a9898" * (cast_expression "(code *)PTR_ConcatenateMagickString_003a9898" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar2,PTR_s_courses_003a88ec + -0x6e0,0x1000)" ( identifier , (binary_expression "PTR_s_courses_003a88ec + -0x6e0" identifier + number_literal) , number_literal ))) ;) })) (return_statement "return pcVar2;" return identifier ;) })) (goto_statement "goto LAB_000fece8;" goto statement_identifier ;) })) (goto_statement "goto LAB_000fedb0;" goto statement_identifier ;) })) }))) (expression_statement "puVar8 = PTR_s_t_to_left_003a88e4 + -0x5168;" (assignment_expression "puVar8 = PTR_s_t_to_left_003a88e4 + -0x5168" identifier = (binary_expression "PTR_s_t_to_left_003a88e4 + -0x5168" identifier + number_literal)) ;) (expression_statement "pcVar2 = PTR_s_t_to_left_003a88e4 + -0x512c;" (assignment_expression "pcVar2 = PTR_s_t_to_left_003a88e4 + -0x512c" identifier = (binary_expression "PTR_s_t_to_left_003a88e4 + -0x512c" identifier + number_literal)) ;) (expression_statement "puVar16 = PTR___assert_fail_003a9608;" (assignment_expression "puVar16 = PTR___assert_fail_003a9608" identifier = identifier) ;) (expression_statement "(*(code *)PTR___assert_fail_003a9608)(pcVar2,puVar8,0x195,puVar11 + -0x4f04);" (call_expression "(*(code *)PTR___assert_fail_003a9608)(pcVar2,puVar8,0x195,puVar11 + -0x4f04)" (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 "(pcVar2,puVar8,0x195,puVar11 + -0x4f04)" ( identifier , identifier , number_literal , (binary_expression "puVar11 + -0x4f04" identifier + number_literal) ))) ;) (if_statement "if (puVar8 == (undefined *)0x0) {\n    (**(code **)(puVar16 + 0x2aa818))\n              (*(int *)(puVar16 + 0x2a9af4) + -0x5150,*(int *)(puVar16 + 0x2a9af4) + -0x5168,0x1c4,\n               *(int *)(puVar16 + 0x2a9af4) + -0x4f30);\n  }\n  else if (*(int *)(puVar8 + 0x24) == -0x54535255) {\n    uVar12 = *(undefined4 *)(puVar8 + 8);\n    uVar10 = *(undefined4 *)(puVar8 + 0xc);\n    uVar4 = *(undefined4 *)(puVar8 + 0x10);\n    *(undefined4 *)pcVar2 = *(undefined4 *)(puVar8 + 4);\n    *(undefined4 *)(pcVar2 + 4) = uVar12;\n    *(undefined4 *)(pcVar2 + 8) = uVar10;\n    *(undefined4 *)(pcVar2 + 0xc) = uVar4;\n    return pcVar2;\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    (**(code **)(puVar16 + 0x2aa818))\n              (*(int *)(puVar16 + 0x2a9af4) + -0x5150,*(int *)(puVar16 + 0x2a9af4) + -0x5168,0x1c4,\n               *(int *)(puVar16 + 0x2a9af4) + -0x4f30);\n  }" { (expression_statement "(**(code **)(puVar16 + 0x2aa818))\n              (*(int *)(puVar16 + 0x2a9af4) + -0x5150,*(int *)(puVar16 + 0x2a9af4) + -0x5168,0x1c4,\n               *(int *)(puVar16 + 0x2a9af4) + -0x4f30);" (call_expression "(**(code **)(puVar16 + 0x2aa818))\n              (*(int *)(puVar16 + 0x2a9af4) + -0x5150,*(int *)(puVar16 + 0x2a9af4) + -0x5168,0x1c4,\n               *(int *)(puVar16 + 0x2a9af4) + -0x4f30)" (parenthesized_expression "(**(code **)(puVar16 + 0x2aa818))" ( (pointer_expression "**(code **)(puVar16 + 0x2aa818)" * (pointer_expression "*(code **)(puVar16 + 0x2aa818)" * (cast_expression "(code **)(puVar16 + 0x2aa818)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + 0x2aa818)" ( (binary_expression "puVar16 + 0x2aa818" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar16 + 0x2a9af4) + -0x5150,*(int *)(puVar16 + 0x2a9af4) + -0x5168,0x1c4,\n               *(int *)(puVar16 + 0x2a9af4) + -0x4f30)" ( (binary_expression "*(int *)(puVar16 + 0x2a9af4) + -0x5150" (pointer_expression "*(int *)(puVar16 + 0x2a9af4)" * (cast_expression "(int *)(puVar16 + 0x2a9af4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + 0x2a9af4)" ( (binary_expression "puVar16 + 0x2a9af4" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar16 + 0x2a9af4) + -0x5168" (pointer_expression "*(int *)(puVar16 + 0x2a9af4)" * (cast_expression "(int *)(puVar16 + 0x2a9af4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + 0x2a9af4)" ( (binary_expression "puVar16 + 0x2a9af4" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar16 + 0x2a9af4) + -0x4f30" (pointer_expression "*(int *)(puVar16 + 0x2a9af4)" * (cast_expression "(int *)(puVar16 + 0x2a9af4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + 0x2a9af4)" ( (binary_expression "puVar16 + 0x2a9af4" identifier + number_literal) )))) + number_literal) ))) ;) }) (else_clause "else if (*(int *)(puVar8 + 0x24) == -0x54535255) {\n    uVar12 = *(undefined4 *)(puVar8 + 8);\n    uVar10 = *(undefined4 *)(puVar8 + 0xc);\n    uVar4 = *(undefined4 *)(puVar8 + 0x10);\n    *(undefined4 *)pcVar2 = *(undefined4 *)(puVar8 + 4);\n    *(undefined4 *)(pcVar2 + 4) = uVar12;\n    *(undefined4 *)(pcVar2 + 8) = uVar10;\n    *(undefined4 *)(pcVar2 + 0xc) = uVar4;\n    return pcVar2;\n  }" else (if_statement "if (*(int *)(puVar8 + 0x24) == -0x54535255) {\n    uVar12 = *(undefined4 *)(puVar8 + 8);\n    uVar10 = *(undefined4 *)(puVar8 + 0xc);\n    uVar4 = *(undefined4 *)(puVar8 + 0x10);\n    *(undefined4 *)pcVar2 = *(undefined4 *)(puVar8 + 4);\n    *(undefined4 *)(pcVar2 + 4) = uVar12;\n    *(undefined4 *)(pcVar2 + 8) = uVar10;\n    *(undefined4 *)(pcVar2 + 0xc) = uVar4;\n    return pcVar2;\n  }" if (parenthesized_expression "(*(int *)(puVar8 + 0x24) == -0x54535255)" ( (binary_expression "*(int *)(puVar8 + 0x24) == -0x54535255" (pointer_expression "*(int *)(puVar8 + 0x24)" * (cast_expression "(int *)(puVar8 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 0x24)" ( (binary_expression "puVar8 + 0x24" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    uVar12 = *(undefined4 *)(puVar8 + 8);\n    uVar10 = *(undefined4 *)(puVar8 + 0xc);\n    uVar4 = *(undefined4 *)(puVar8 + 0x10);\n    *(undefined4 *)pcVar2 = *(undefined4 *)(puVar8 + 4);\n    *(undefined4 *)(pcVar2 + 4) = uVar12;\n    *(undefined4 *)(pcVar2 + 8) = uVar10;\n    *(undefined4 *)(pcVar2 + 0xc) = uVar4;\n    return pcVar2;\n  }" { (expression_statement "uVar12 = *(undefined4 *)(puVar8 + 8);" (assignment_expression "uVar12 = *(undefined4 *)(puVar8 + 8)" identifier = (pointer_expression "*(undefined4 *)(puVar8 + 8)" * (cast_expression "(undefined4 *)(puVar8 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 8)" ( (binary_expression "puVar8 + 8" identifier + number_literal) ))))) ;) (expression_statement "uVar10 = *(undefined4 *)(puVar8 + 0xc);" (assignment_expression "uVar10 = *(undefined4 *)(puVar8 + 0xc)" identifier = (pointer_expression "*(undefined4 *)(puVar8 + 0xc)" * (cast_expression "(undefined4 *)(puVar8 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 0xc)" ( (binary_expression "puVar8 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "uVar4 = *(undefined4 *)(puVar8 + 0x10);" (assignment_expression "uVar4 = *(undefined4 *)(puVar8 + 0x10)" identifier = (pointer_expression "*(undefined4 *)(puVar8 + 0x10)" * (cast_expression "(undefined4 *)(puVar8 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 0x10)" ( (binary_expression "puVar8 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)pcVar2 = *(undefined4 *)(puVar8 + 4);" (assignment_expression "*(undefined4 *)pcVar2 = *(undefined4 *)(puVar8 + 4)" (pointer_expression "*(undefined4 *)pcVar2" * (cast_expression "(undefined4 *)pcVar2" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (pointer_expression "*(undefined4 *)(puVar8 + 4)" * (cast_expression "(undefined4 *)(puVar8 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 4)" ( (binary_expression "puVar8 + 4" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(pcVar2 + 4) = uVar12;" (assignment_expression "*(undefined4 *)(pcVar2 + 4) = uVar12" (pointer_expression "*(undefined4 *)(pcVar2 + 4)" * (cast_expression "(undefined4 *)(pcVar2 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar2 + 4)" ( (binary_expression "pcVar2 + 4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(pcVar2 + 8) = uVar10;" (assignment_expression "*(undefined4 *)(pcVar2 + 8) = uVar10" (pointer_expression "*(undefined4 *)(pcVar2 + 8)" * (cast_expression "(undefined4 *)(pcVar2 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar2 + 8)" ( (binary_expression "pcVar2 + 8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(pcVar2 + 0xc) = uVar4;" (assignment_expression "*(undefined4 *)(pcVar2 + 0xc) = uVar4" (pointer_expression "*(undefined4 *)(pcVar2 + 0xc)" * (cast_expression "(undefined4 *)(pcVar2 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar2 + 0xc)" ( (binary_expression "pcVar2 + 0xc" identifier + number_literal) )))) = identifier) ;) (return_statement "return pcVar2;" return identifier ;) })))) (expression_statement "pcVar17 = *(code **)(puVar16 + 0x2aa818);" (assignment_expression "pcVar17 = *(code **)(puVar16 + 0x2aa818)" identifier = (pointer_expression "*(code **)(puVar16 + 0x2aa818)" * (cast_expression "(code **)(puVar16 + 0x2aa818)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + 0x2aa818)" ( (binary_expression "puVar16 + 0x2aa818" identifier + number_literal) ))))) ;) (expression_statement "iVar7 = *(int *)(puVar16 + 0x2a9af4) + -0x512c;" (assignment_expression "iVar7 = *(int *)(puVar16 + 0x2a9af4) + -0x512c" identifier = (binary_expression "*(int *)(puVar16 + 0x2a9af4) + -0x512c" (pointer_expression "*(int *)(puVar16 + 0x2a9af4)" * (cast_expression "(int *)(puVar16 + 0x2a9af4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + 0x2a9af4)" ( (binary_expression "puVar16 + 0x2a9af4" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar17)(iVar7,*(int *)(puVar16 + 0x2a9af4) + -0x5168,0x1c5,\n             *(int *)(puVar16 + 0x2a9af4) + -0x4f30);" (call_expression "(*pcVar17)(iVar7,*(int *)(puVar16 + 0x2a9af4) + -0x5168,0x1c5,\n             *(int *)(puVar16 + 0x2a9af4) + -0x4f30)" (parenthesized_expression "(*pcVar17)" ( (pointer_expression "*pcVar17" * identifier) )) (argument_list "(iVar7,*(int *)(puVar16 + 0x2a9af4) + -0x5168,0x1c5,\n             *(int *)(puVar16 + 0x2a9af4) + -0x4f30)" ( identifier , (binary_expression "*(int *)(puVar16 + 0x2a9af4) + -0x5168" (pointer_expression "*(int *)(puVar16 + 0x2a9af4)" * (cast_expression "(int *)(puVar16 + 0x2a9af4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + 0x2a9af4)" ( (binary_expression "puVar16 + 0x2a9af4" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar16 + 0x2a9af4) + -0x4f30" (pointer_expression "*(int *)(puVar16 + 0x2a9af4)" * (cast_expression "(int *)(puVar16 + 0x2a9af4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + 0x2a9af4)" ( (binary_expression "puVar16 + 0x2a9af4" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (iVar7 == 0) {\n    (**(code **)(pcVar17 + 0x2aa774))\n              (*(int *)(pcVar17 + 0x2a9a50) + -0x5150,*(int *)(pcVar17 + 0x2a9a50) + -0x5168,0x1e1,\n               *(int *)(pcVar17 + 0x2a9a50) + -0x4f44);\n  }\n  else if (*(int *)(iVar7 + 0x24) == -0x54535255) {\n    return *(char **)(iVar7 + 0x14);\n  }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n    (**(code **)(pcVar17 + 0x2aa774))\n              (*(int *)(pcVar17 + 0x2a9a50) + -0x5150,*(int *)(pcVar17 + 0x2a9a50) + -0x5168,0x1e1,\n               *(int *)(pcVar17 + 0x2a9a50) + -0x4f44);\n  }" { (expression_statement "(**(code **)(pcVar17 + 0x2aa774))\n              (*(int *)(pcVar17 + 0x2a9a50) + -0x5150,*(int *)(pcVar17 + 0x2a9a50) + -0x5168,0x1e1,\n               *(int *)(pcVar17 + 0x2a9a50) + -0x4f44);" (call_expression "(**(code **)(pcVar17 + 0x2aa774))\n              (*(int *)(pcVar17 + 0x2a9a50) + -0x5150,*(int *)(pcVar17 + 0x2a9a50) + -0x5168,0x1e1,\n               *(int *)(pcVar17 + 0x2a9a50) + -0x4f44)" (parenthesized_expression "(**(code **)(pcVar17 + 0x2aa774))" ( (pointer_expression "**(code **)(pcVar17 + 0x2aa774)" * (pointer_expression "*(code **)(pcVar17 + 0x2aa774)" * (cast_expression "(code **)(pcVar17 + 0x2aa774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x2aa774)" ( (binary_expression "pcVar17 + 0x2aa774" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar17 + 0x2a9a50) + -0x5150,*(int *)(pcVar17 + 0x2a9a50) + -0x5168,0x1e1,\n               *(int *)(pcVar17 + 0x2a9a50) + -0x4f44)" ( (binary_expression "*(int *)(pcVar17 + 0x2a9a50) + -0x5150" (pointer_expression "*(int *)(pcVar17 + 0x2a9a50)" * (cast_expression "(int *)(pcVar17 + 0x2a9a50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x2a9a50)" ( (binary_expression "pcVar17 + 0x2a9a50" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar17 + 0x2a9a50) + -0x5168" (pointer_expression "*(int *)(pcVar17 + 0x2a9a50)" * (cast_expression "(int *)(pcVar17 + 0x2a9a50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x2a9a50)" ( (binary_expression "pcVar17 + 0x2a9a50" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar17 + 0x2a9a50) + -0x4f44" (pointer_expression "*(int *)(pcVar17 + 0x2a9a50)" * (cast_expression "(int *)(pcVar17 + 0x2a9a50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x2a9a50)" ( (binary_expression "pcVar17 + 0x2a9a50" identifier + number_literal) )))) + number_literal) ))) ;) }) (else_clause "else if (*(int *)(iVar7 + 0x24) == -0x54535255) {\n    return *(char **)(iVar7 + 0x14);\n  }" else (if_statement "if (*(int *)(iVar7 + 0x24) == -0x54535255) {\n    return *(char **)(iVar7 + 0x14);\n  }" if (parenthesized_expression "(*(int *)(iVar7 + 0x24) == -0x54535255)" ( (binary_expression "*(int *)(iVar7 + 0x24) == -0x54535255" (pointer_expression "*(int *)(iVar7 + 0x24)" * (cast_expression "(int *)(iVar7 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x24)" ( (binary_expression "iVar7 + 0x24" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    return *(char **)(iVar7 + 0x14);\n  }" { (return_statement "return *(char **)(iVar7 + 0x14);" return (pointer_expression "*(char **)(iVar7 + 0x14)" * (cast_expression "(char **)(iVar7 + 0x14)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 0x14)" ( (binary_expression "iVar7 + 0x14" identifier + number_literal) )))) ;) })))) (expression_statement "uVar4 = 0x1e2;" (assignment_expression "uVar4 = 0x1e2" identifier = number_literal) ;) (expression_statement "pcVar18 = *(code **)(pcVar17 + 0x2aa774);" (assignment_expression "pcVar18 = *(code **)(pcVar17 + 0x2aa774)" identifier = (pointer_expression "*(code **)(pcVar17 + 0x2aa774)" * (cast_expression "(code **)(pcVar17 + 0x2aa774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x2aa774)" ( (binary_expression "pcVar17 + 0x2aa774" identifier + number_literal) ))))) ;) (expression_statement "iVar9 = *(int *)(pcVar17 + 0x2a9a50) + -0x5168;" (assignment_expression "iVar9 = *(int *)(pcVar17 + 0x2a9a50) + -0x5168" identifier = (binary_expression "*(int *)(pcVar17 + 0x2a9a50) + -0x5168" (pointer_expression "*(int *)(pcVar17 + 0x2a9a50)" * (cast_expression "(int *)(pcVar17 + 0x2a9a50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x2a9a50)" ( (binary_expression "pcVar17 + 0x2a9a50" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "iVar7 = *(int *)(pcVar17 + 0x2a9a50) + -0x512c;" (assignment_expression "iVar7 = *(int *)(pcVar17 + 0x2a9a50) + -0x512c" identifier = (binary_expression "*(int *)(pcVar17 + 0x2a9a50) + -0x512c" (pointer_expression "*(int *)(pcVar17 + 0x2a9a50)" * (cast_expression "(int *)(pcVar17 + 0x2a9a50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x2a9a50)" ( (binary_expression "pcVar17 + 0x2a9a50" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar18)();" (call_expression "(*pcVar18)()" (parenthesized_expression "(*pcVar18)" ( (pointer_expression "*pcVar18" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "piVar13 = *(int **)(pcVar18 + 0x2aa318);" (assignment_expression "piVar13 = *(int **)(pcVar18 + 0x2aa318)" identifier = (pointer_expression "*(int **)(pcVar18 + 0x2aa318)" * (cast_expression "(int **)(pcVar18 + 0x2aa318)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar18 + 0x2aa318)" ( (binary_expression "pcVar18 + 0x2aa318" identifier + number_literal) ))))) ;) (expression_statement "iStack_9c = *piVar13;" (assignment_expression "iStack_9c = *piVar13" identifier = (pointer_expression "*piVar13" * identifier)) ;) (expression_statement "uStack_98 = unaff_s0;" (assignment_expression "uStack_98 = unaff_s0" identifier = identifier) ;) (expression_statement "pIStack_94 = image_view;" (assignment_expression "pIStack_94 = image_view" identifier = identifier) ;) (if_statement "if (iVar7 == 0) {\n    (**(code **)(pcVar18 + 0x2aa6f0))\n              (*(int *)(pcVar18 + 0x2a99cc) + -0x50fc,*(int *)(pcVar18 + 0x2a99cc) + -0x5168,0x225,\n               *(int *)(pcVar18 + 0x2a99cc) + -0x4f5c);\n  }\n  else if (*(int *)(iVar7 + 0x24) == -0x54535255) {\n    if (iVar9 == 0) {\n      pcVar2 = (char *)0x0;\n    }\n    else {\n      uVar10 = *(undefined4 *)(iVar7 + 0x14);\n      iVar14 = *(int *)(iVar7 + 8);\n      iVar15 = *(int *)(iVar7 + 0x10);\n      uStack_bc = 0;\n      uStack_c0 = 0;\n      iVar6 = (**(code **)(pcVar18 + 0x2aa59c))(uVar10);\n      if (((iVar6 == 4) || (iVar6 = (**(code **)(pcVar18 + 0x2aa59c))(uVar10), iVar6 == 3)) &&\n         ((iVar6 = (**(code **)(pcVar18 + 0x2aa59c))(uVar10), iVar6 == 4 ||\n          (iVar6 = (**(code **)(pcVar18 + 0x2aa59c))(uVar10), iVar6 == 3)))) {\n        iVar14 = iVar14 - iVar15;\n        (**(code **)(pcVar18 + 0x2aa224))(7);\n        iVar6 = iVar14;\n        if (iVar14 < 0) {\n          iVar6 = iVar14 + 0x3f;\n        }\n        iVar6 = iVar6 >> 6;\n        if (extraout_v1 < iVar6) {\n          (**(code **)(pcVar18 + 0x2aa224))(7);\n          bVar1 = extraout_v1_02 < 2;\n        }\n        else {\n          bVar1 = iVar14 < 0x80;\n        }\n        iVar14 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar18 + 0x2aa224))(7);\n          if (extraout_v1_01 < iVar6) {\n            (**(code **)(pcVar18 + 0x2aa224))(7);\n            iVar6 = extraout_v1_03;\n          }\n          goto LAB_000feff4;\n        }\n        iVar15 = *(int *)(pcVar18 + 0x2a9b7c);\n      }\n      else {\n        uVar19 = (**(code **)(pcVar18 + 0x2aa224))(7);\n        if ((int)((ulonglong)uVar19 >> 0x20) == 0) {\n          pcVar17 = *(code **)(pcVar18 + 0x2aa224);\n          if ((uint)uVar19 < 2) {\n            uVar19 = (*pcVar17)(7);\n            if ((int)((ulonglong)uVar19 >> 0x20) != 0) goto LAB_000fefdc;\n            pcVar17 = *(code **)(pcVar18 + 0x2aa224);\n            if ((uint)uVar19 < 2) {\n              iVar6 = 1;\n              goto LAB_000feff4;\n            }\n          }\n        }\n        else {\nLAB_000fefdc:\n          pcVar17 = *(code **)(pcVar18 + 0x2aa224);\n        }\n        uVar19 = (*pcVar17)(7);\n        if (((int)((ulonglong)uVar19 >> 0x20) == 0) && ((uint)uVar19 < 2)) {\n          (**(code **)(pcVar18 + 0x2aa224))(7);\n          iVar6 = extraout_v1_00;\n        }\n        else {\n          iVar6 = 2;\n        }\nLAB_000feff4:\n        iVar15 = *(int *)(pcVar18 + 0x2a9b7c);\n        iVar14 = iVar6;\n      }\n      pcStack_a4 = (char *)0x1;\n      puStack_a0 = &uStack_c0;\n      iStack_b4 = iVar7;\n      iStack_b0 = iVar9;\n      uStack_ac = uVar4;\n      uStack_a8 = uVar10;\n      (**(code **)(pcVar18 + 0x2aa280))(iVar15 + -0x2298,&iStack_b4,iVar14,0);\n      pcVar2 = pcStack_a4;\n    }\n    iVar7 = iStack_9c;\n    if (iStack_9c == *piVar13) {\n      return pcVar2;\n    }\n    goto LAB_000ff1d4;\n  }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n    (**(code **)(pcVar18 + 0x2aa6f0))\n              (*(int *)(pcVar18 + 0x2a99cc) + -0x50fc,*(int *)(pcVar18 + 0x2a99cc) + -0x5168,0x225,\n               *(int *)(pcVar18 + 0x2a99cc) + -0x4f5c);\n  }" { (expression_statement "(**(code **)(pcVar18 + 0x2aa6f0))\n              (*(int *)(pcVar18 + 0x2a99cc) + -0x50fc,*(int *)(pcVar18 + 0x2a99cc) + -0x5168,0x225,\n               *(int *)(pcVar18 + 0x2a99cc) + -0x4f5c);" (call_expression "(**(code **)(pcVar18 + 0x2aa6f0))\n              (*(int *)(pcVar18 + 0x2a99cc) + -0x50fc,*(int *)(pcVar18 + 0x2a99cc) + -0x5168,0x225,\n               *(int *)(pcVar18 + 0x2a99cc) + -0x4f5c)" (parenthesized_expression "(**(code **)(pcVar18 + 0x2aa6f0))" ( (pointer_expression "**(code **)(pcVar18 + 0x2aa6f0)" * (pointer_expression "*(code **)(pcVar18 + 0x2aa6f0)" * (cast_expression "(code **)(pcVar18 + 0x2aa6f0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar18 + 0x2aa6f0)" ( (binary_expression "pcVar18 + 0x2aa6f0" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar18 + 0x2a99cc) + -0x50fc,*(int *)(pcVar18 + 0x2a99cc) + -0x5168,0x225,\n               *(int *)(pcVar18 + 0x2a99cc) + -0x4f5c)" ( (binary_expression "*(int *)(pcVar18 + 0x2a99cc) + -0x50fc" (pointer_expression "*(int *)(pcVar18 + 0x2a99cc)" * (cast_expression "(int *)(pcVar18 + 0x2a99cc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar18 + 0x2a99cc)" ( (binary_expression "pcVar18 + 0x2a99cc" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar18 + 0x2a99cc) + -0x5168" (pointer_expression "*(int *)(pcVar18 + 0x2a99cc)" * (cast_expression "(int *)(pcVar18 + 0x2a99cc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar18 + 0x2a99cc)" ( (binary_expression "pcVar18 + 0x2a99cc" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar18 + 0x2a99cc) + -0x4f5c" (pointer_expression "*(int *)(pcVar18 + 0x2a99cc)" * (cast_expression "(int *)(pcVar18 + 0x2a99cc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar18 + 0x2a99cc)" ( (binary_expression "pcVar18 + 0x2a99cc" identifier + number_literal) )))) + number_literal) ))) ;) }) (else_clause "else if (*(int *)(iVar7 + 0x24) == -0x54535255) {\n    if (iVar9 == 0) {\n      pcVar2 = (char *)0x0;\n    }\n    else {\n      uVar10 = *(undefined4 *)(iVar7 + 0x14);\n      iVar14 = *(int *)(iVar7 + 8);\n      iVar15 = *(int *)(iVar7 + 0x10);\n      uStack_bc = 0;\n      uStack_c0 = 0;\n      iVar6 = (**(code **)(pcVar18 + 0x2aa59c))(uVar10);\n      if (((iVar6 == 4) || (iVar6 = (**(code **)(pcVar18 + 0x2aa59c))(uVar10), iVar6 == 3)) &&\n         ((iVar6 = (**(code **)(pcVar18 + 0x2aa59c))(uVar10), iVar6 == 4 ||\n          (iVar6 = (**(code **)(pcVar18 + 0x2aa59c))(uVar10), iVar6 == 3)))) {\n        iVar14 = iVar14 - iVar15;\n        (**(code **)(pcVar18 + 0x2aa224))(7);\n        iVar6 = iVar14;\n        if (iVar14 < 0) {\n          iVar6 = iVar14 + 0x3f;\n        }\n        iVar6 = iVar6 >> 6;\n        if (extraout_v1 < iVar6) {\n          (**(code **)(pcVar18 + 0x2aa224))(7);\n          bVar1 = extraout_v1_02 < 2;\n        }\n        else {\n          bVar1 = iVar14 < 0x80;\n        }\n        iVar14 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar18 + 0x2aa224))(7);\n          if (extraout_v1_01 < iVar6) {\n            (**(code **)(pcVar18 + 0x2aa224))(7);\n            iVar6 = extraout_v1_03;\n          }\n          goto LAB_000feff4;\n        }\n        iVar15 = *(int *)(pcVar18 + 0x2a9b7c);\n      }\n      else {\n        uVar19 = (**(code **)(pcVar18 + 0x2aa224))(7);\n        if ((int)((ulonglong)uVar19 >> 0x20) == 0) {\n          pcVar17 = *(code **)(pcVar18 + 0x2aa224);\n          if ((uint)uVar19 < 2) {\n            uVar19 = (*pcVar17)(7);\n            if ((int)((ulonglong)uVar19 >> 0x20) != 0) goto LAB_000fefdc;\n            pcVar17 = *(code **)(pcVar18 + 0x2aa224);\n            if ((uint)uVar19 < 2) {\n              iVar6 = 1;\n              goto LAB_000feff4;\n            }\n          }\n        }\n        else {\nLAB_000fefdc:\n          pcVar17 = *(code **)(pcVar18 + 0x2aa224);\n        }\n        uVar19 = (*pcVar17)(7);\n        if (((int)((ulonglong)uVar19 >> 0x20) == 0) && ((uint)uVar19 < 2)) {\n          (**(code **)(pcVar18 + 0x2aa224))(7);\n          iVar6 = extraout_v1_00;\n        }\n        else {\n          iVar6 = 2;\n        }\nLAB_000feff4:\n        iVar15 = *(int *)(pcVar18 + 0x2a9b7c);\n        iVar14 = iVar6;\n      }\n      pcStack_a4 = (char *)0x1;\n      puStack_a0 = &uStack_c0;\n      iStack_b4 = iVar7;\n      iStack_b0 = iVar9;\n      uStack_ac = uVar4;\n      uStack_a8 = uVar10;\n      (**(code **)(pcVar18 + 0x2aa280))(iVar15 + -0x2298,&iStack_b4,iVar14,0);\n      pcVar2 = pcStack_a4;\n    }\n    iVar7 = iStack_9c;\n    if (iStack_9c == *piVar13) {\n      return pcVar2;\n    }\n    goto LAB_000ff1d4;\n  }" else (if_statement "if (*(int *)(iVar7 + 0x24) == -0x54535255) {\n    if (iVar9 == 0) {\n      pcVar2 = (char *)0x0;\n    }\n    else {\n      uVar10 = *(undefined4 *)(iVar7 + 0x14);\n      iVar14 = *(int *)(iVar7 + 8);\n      iVar15 = *(int *)(iVar7 + 0x10);\n      uStack_bc = 0;\n      uStack_c0 = 0;\n      iVar6 = (**(code **)(pcVar18 + 0x2aa59c))(uVar10);\n      if (((iVar6 == 4) || (iVar6 = (**(code **)(pcVar18 + 0x2aa59c))(uVar10), iVar6 == 3)) &&\n         ((iVar6 = (**(code **)(pcVar18 + 0x2aa59c))(uVar10), iVar6 == 4 ||\n          (iVar6 = (**(code **)(pcVar18 + 0x2aa59c))(uVar10), iVar6 == 3)))) {\n        iVar14 = iVar14 - iVar15;\n        (**(code **)(pcVar18 + 0x2aa224))(7);\n        iVar6 = iVar14;\n        if (iVar14 < 0) {\n          iVar6 = iVar14 + 0x3f;\n        }\n        iVar6 = iVar6 >> 6;\n        if (extraout_v1 < iVar6) {\n          (**(code **)(pcVar18 + 0x2aa224))(7);\n          bVar1 = extraout_v1_02 < 2;\n        }\n        else {\n          bVar1 = iVar14 < 0x80;\n        }\n        iVar14 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar18 + 0x2aa224))(7);\n          if (extraout_v1_01 < iVar6) {\n            (**(code **)(pcVar18 + 0x2aa224))(7);\n            iVar6 = extraout_v1_03;\n          }\n          goto LAB_000feff4;\n        }\n        iVar15 = *(int *)(pcVar18 + 0x2a9b7c);\n      }\n      else {\n        uVar19 = (**(code **)(pcVar18 + 0x2aa224))(7);\n        if ((int)((ulonglong)uVar19 >> 0x20) == 0) {\n          pcVar17 = *(code **)(pcVar18 + 0x2aa224);\n          if ((uint)uVar19 < 2) {\n            uVar19 = (*pcVar17)(7);\n            if ((int)((ulonglong)uVar19 >> 0x20) != 0) goto LAB_000fefdc;\n            pcVar17 = *(code **)(pcVar18 + 0x2aa224);\n            if ((uint)uVar19 < 2) {\n              iVar6 = 1;\n              goto LAB_000feff4;\n            }\n          }\n        }\n        else {\nLAB_000fefdc:\n          pcVar17 = *(code **)(pcVar18 + 0x2aa224);\n        }\n        uVar19 = (*pcVar17)(7);\n        if (((int)((ulonglong)uVar19 >> 0x20) == 0) && ((uint)uVar19 < 2)) {\n          (**(code **)(pcVar18 + 0x2aa224))(7);\n          iVar6 = extraout_v1_00;\n        }\n        else {\n          iVar6 = 2;\n        }\nLAB_000feff4:\n        iVar15 = *(int *)(pcVar18 + 0x2a9b7c);\n        iVar14 = iVar6;\n      }\n      pcStack_a4 = (char *)0x1;\n      puStack_a0 = &uStack_c0;\n      iStack_b4 = iVar7;\n      iStack_b0 = iVar9;\n      uStack_ac = uVar4;\n      uStack_a8 = uVar10;\n      (**(code **)(pcVar18 + 0x2aa280))(iVar15 + -0x2298,&iStack_b4,iVar14,0);\n      pcVar2 = pcStack_a4;\n    }\n    iVar7 = iStack_9c;\n    if (iStack_9c == *piVar13) {\n      return pcVar2;\n    }\n    goto LAB_000ff1d4;\n  }" if (parenthesized_expression "(*(int *)(iVar7 + 0x24) == -0x54535255)" ( (binary_expression "*(int *)(iVar7 + 0x24) == -0x54535255" (pointer_expression "*(int *)(iVar7 + 0x24)" * (cast_expression "(int *)(iVar7 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x24)" ( (binary_expression "iVar7 + 0x24" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    if (iVar9 == 0) {\n      pcVar2 = (char *)0x0;\n    }\n    else {\n      uVar10 = *(undefined4 *)(iVar7 + 0x14);\n      iVar14 = *(int *)(iVar7 + 8);\n      iVar15 = *(int *)(iVar7 + 0x10);\n      uStack_bc = 0;\n      uStack_c0 = 0;\n      iVar6 = (**(code **)(pcVar18 + 0x2aa59c))(uVar10);\n      if (((iVar6 == 4) || (iVar6 = (**(code **)(pcVar18 + 0x2aa59c))(uVar10), iVar6 == 3)) &&\n         ((iVar6 = (**(code **)(pcVar18 + 0x2aa59c))(uVar10), iVar6 == 4 ||\n          (iVar6 = (**(code **)(pcVar18 + 0x2aa59c))(uVar10), iVar6 == 3)))) {\n        iVar14 = iVar14 - iVar15;\n        (**(code **)(pcVar18 + 0x2aa224))(7);\n        iVar6 = iVar14;\n        if (iVar14 < 0) {\n          iVar6 = iVar14 + 0x3f;\n        }\n        iVar6 = iVar6 >> 6;\n        if (extraout_v1 < iVar6) {\n          (**(code **)(pcVar18 + 0x2aa224))(7);\n          bVar1 = extraout_v1_02 < 2;\n        }\n        else {\n          bVar1 = iVar14 < 0x80;\n        }\n        iVar14 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar18 + 0x2aa224))(7);\n          if (extraout_v1_01 < iVar6) {\n            (**(code **)(pcVar18 + 0x2aa224))(7);\n            iVar6 = extraout_v1_03;\n          }\n          goto LAB_000feff4;\n        }\n        iVar15 = *(int *)(pcVar18 + 0x2a9b7c);\n      }\n      else {\n        uVar19 = (**(code **)(pcVar18 + 0x2aa224))(7);\n        if ((int)((ulonglong)uVar19 >> 0x20) == 0) {\n          pcVar17 = *(code **)(pcVar18 + 0x2aa224);\n          if ((uint)uVar19 < 2) {\n            uVar19 = (*pcVar17)(7);\n            if ((int)((ulonglong)uVar19 >> 0x20) != 0) goto LAB_000fefdc;\n            pcVar17 = *(code **)(pcVar18 + 0x2aa224);\n            if ((uint)uVar19 < 2) {\n              iVar6 = 1;\n              goto LAB_000feff4;\n            }\n          }\n        }\n        else {\nLAB_000fefdc:\n          pcVar17 = *(code **)(pcVar18 + 0x2aa224);\n        }\n        uVar19 = (*pcVar17)(7);\n        if (((int)((ulonglong)uVar19 >> 0x20) == 0) && ((uint)uVar19 < 2)) {\n          (**(code **)(pcVar18 + 0x2aa224))(7);\n          iVar6 = extraout_v1_00;\n        }\n        else {\n          iVar6 = 2;\n        }\nLAB_000feff4:\n        iVar15 = *(int *)(pcVar18 + 0x2a9b7c);\n        iVar14 = iVar6;\n      }\n      pcStack_a4 = (char *)0x1;\n      puStack_a0 = &uStack_c0;\n      iStack_b4 = iVar7;\n      iStack_b0 = iVar9;\n      uStack_ac = uVar4;\n      uStack_a8 = uVar10;\n      (**(code **)(pcVar18 + 0x2aa280))(iVar15 + -0x2298,&iStack_b4,iVar14,0);\n      pcVar2 = pcStack_a4;\n    }\n    iVar7 = iStack_9c;\n    if (iStack_9c == *piVar13) {\n      return pcVar2;\n    }\n    goto LAB_000ff1d4;\n  }" { (if_statement "if (iVar9 == 0) {\n      pcVar2 = (char *)0x0;\n    }\n    else {\n      uVar10 = *(undefined4 *)(iVar7 + 0x14);\n      iVar14 = *(int *)(iVar7 + 8);\n      iVar15 = *(int *)(iVar7 + 0x10);\n      uStack_bc = 0;\n      uStack_c0 = 0;\n      iVar6 = (**(code **)(pcVar18 + 0x2aa59c))(uVar10);\n      if (((iVar6 == 4) || (iVar6 = (**(code **)(pcVar18 + 0x2aa59c))(uVar10), iVar6 == 3)) &&\n         ((iVar6 = (**(code **)(pcVar18 + 0x2aa59c))(uVar10), iVar6 == 4 ||\n          (iVar6 = (**(code **)(pcVar18 + 0x2aa59c))(uVar10), iVar6 == 3)))) {\n        iVar14 = iVar14 - iVar15;\n        (**(code **)(pcVar18 + 0x2aa224))(7);\n        iVar6 = iVar14;\n        if (iVar14 < 0) {\n          iVar6 = iVar14 + 0x3f;\n        }\n        iVar6 = iVar6 >> 6;\n        if (extraout_v1 < iVar6) {\n          (**(code **)(pcVar18 + 0x2aa224))(7);\n          bVar1 = extraout_v1_02 < 2;\n        }\n        else {\n          bVar1 = iVar14 < 0x80;\n        }\n        iVar14 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar18 + 0x2aa224))(7);\n          if (extraout_v1_01 < iVar6) {\n            (**(code **)(pcVar18 + 0x2aa224))(7);\n            iVar6 = extraout_v1_03;\n          }\n          goto LAB_000feff4;\n        }\n        iVar15 = *(int *)(pcVar18 + 0x2a9b7c);\n      }\n      else {\n        uVar19 = (**(code **)(pcVar18 + 0x2aa224))(7);\n        if ((int)((ulonglong)uVar19 >> 0x20) == 0) {\n          pcVar17 = *(code **)(pcVar18 + 0x2aa224);\n          if ((uint)uVar19 < 2) {\n            uVar19 = (*pcVar17)(7);\n            if ((int)((ulonglong)uVar19 >> 0x20) != 0) goto LAB_000fefdc;\n            pcVar17 = *(code **)(pcVar18 + 0x2aa224);\n            if ((uint)uVar19 < 2) {\n              iVar6 = 1;\n              goto LAB_000feff4;\n            }\n          }\n        }\n        else {\nLAB_000fefdc:\n          pcVar17 = *(code **)(pcVar18 + 0x2aa224);\n        }\n        uVar19 = (*pcVar17)(7);\n        if (((int)((ulonglong)uVar19 >> 0x20) == 0) && ((uint)uVar19 < 2)) {\n          (**(code **)(pcVar18 + 0x2aa224))(7);\n          iVar6 = extraout_v1_00;\n        }\n        else {\n          iVar6 = 2;\n        }\nLAB_000feff4:\n        iVar15 = *(int *)(pcVar18 + 0x2a9b7c);\n        iVar14 = iVar6;\n      }\n      pcStack_a4 = (char *)0x1;\n      puStack_a0 = &uStack_c0;\n      iStack_b4 = iVar7;\n      iStack_b0 = iVar9;\n      uStack_ac = uVar4;\n      uStack_a8 = uVar10;\n      (**(code **)(pcVar18 + 0x2aa280))(iVar15 + -0x2298,&iStack_b4,iVar14,0);\n      pcVar2 = pcStack_a4;\n    }" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (compound_statement "{\n      pcVar2 = (char *)0x0;\n    }" { (expression_statement "pcVar2 = (char *)0x0;" (assignment_expression "pcVar2 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n      uVar10 = *(undefined4 *)(iVar7 + 0x14);\n      iVar14 = *(int *)(iVar7 + 8);\n      iVar15 = *(int *)(iVar7 + 0x10);\n      uStack_bc = 0;\n      uStack_c0 = 0;\n      iVar6 = (**(code **)(pcVar18 + 0x2aa59c))(uVar10);\n      if (((iVar6 == 4) || (iVar6 = (**(code **)(pcVar18 + 0x2aa59c))(uVar10), iVar6 == 3)) &&\n         ((iVar6 = (**(code **)(pcVar18 + 0x2aa59c))(uVar10), iVar6 == 4 ||\n          (iVar6 = (**(code **)(pcVar18 + 0x2aa59c))(uVar10), iVar6 == 3)))) {\n        iVar14 = iVar14 - iVar15;\n        (**(code **)(pcVar18 + 0x2aa224))(7);\n        iVar6 = iVar14;\n        if (iVar14 < 0) {\n          iVar6 = iVar14 + 0x3f;\n        }\n        iVar6 = iVar6 >> 6;\n        if (extraout_v1 < iVar6) {\n          (**(code **)(pcVar18 + 0x2aa224))(7);\n          bVar1 = extraout_v1_02 < 2;\n        }\n        else {\n          bVar1 = iVar14 < 0x80;\n        }\n        iVar14 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar18 + 0x2aa224))(7);\n          if (extraout_v1_01 < iVar6) {\n            (**(code **)(pcVar18 + 0x2aa224))(7);\n            iVar6 = extraout_v1_03;\n          }\n          goto LAB_000feff4;\n        }\n        iVar15 = *(int *)(pcVar18 + 0x2a9b7c);\n      }\n      else {\n        uVar19 = (**(code **)(pcVar18 + 0x2aa224))(7);\n        if ((int)((ulonglong)uVar19 >> 0x20) == 0) {\n          pcVar17 = *(code **)(pcVar18 + 0x2aa224);\n          if ((uint)uVar19 < 2) {\n            uVar19 = (*pcVar17)(7);\n            if ((int)((ulonglong)uVar19 >> 0x20) != 0) goto LAB_000fefdc;\n            pcVar17 = *(code **)(pcVar18 + 0x2aa224);\n            if ((uint)uVar19 < 2) {\n              iVar6 = 1;\n              goto LAB_000feff4;\n            }\n          }\n        }\n        else {\nLAB_000fefdc:\n          pcVar17 = *(code **)(pcVar18 + 0x2aa224);\n        }\n        uVar19 = (*pcVar17)(7);\n        if (((int)((ulonglong)uVar19 >> 0x20) == 0) && ((uint)uVar19 < 2)) {\n          (**(code **)(pcVar18 + 0x2aa224))(7);\n          iVar6 = extraout_v1_00;\n        }\n        else {\n          iVar6 = 2;\n        }\nLAB_000feff4:\n        iVar15 = *(int *)(pcVar18 + 0x2a9b7c);\n        iVar14 = iVar6;\n      }\n      pcStack_a4 = (char *)0x1;\n      puStack_a0 = &uStack_c0;\n      iStack_b4 = iVar7;\n      iStack_b0 = iVar9;\n      uStack_ac = uVar4;\n      uStack_a8 = uVar10;\n      (**(code **)(pcVar18 + 0x2aa280))(iVar15 + -0x2298,&iStack_b4,iVar14,0);\n      pcVar2 = pcStack_a4;\n    }" else (compound_statement "{\n      uVar10 = *(undefined4 *)(iVar7 + 0x14);\n      iVar14 = *(int *)(iVar7 + 8);\n      iVar15 = *(int *)(iVar7 + 0x10);\n      uStack_bc = 0;\n      uStack_c0 = 0;\n      iVar6 = (**(code **)(pcVar18 + 0x2aa59c))(uVar10);\n      if (((iVar6 == 4) || (iVar6 = (**(code **)(pcVar18 + 0x2aa59c))(uVar10), iVar6 == 3)) &&\n         ((iVar6 = (**(code **)(pcVar18 + 0x2aa59c))(uVar10), iVar6 == 4 ||\n          (iVar6 = (**(code **)(pcVar18 + 0x2aa59c))(uVar10), iVar6 == 3)))) {\n        iVar14 = iVar14 - iVar15;\n        (**(code **)(pcVar18 + 0x2aa224))(7);\n        iVar6 = iVar14;\n        if (iVar14 < 0) {\n          iVar6 = iVar14 + 0x3f;\n        }\n        iVar6 = iVar6 >> 6;\n        if (extraout_v1 < iVar6) {\n          (**(code **)(pcVar18 + 0x2aa224))(7);\n          bVar1 = extraout_v1_02 < 2;\n        }\n        else {\n          bVar1 = iVar14 < 0x80;\n        }\n        iVar14 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar18 + 0x2aa224))(7);\n          if (extraout_v1_01 < iVar6) {\n            (**(code **)(pcVar18 + 0x2aa224))(7);\n            iVar6 = extraout_v1_03;\n          }\n          goto LAB_000feff4;\n        }\n        iVar15 = *(int *)(pcVar18 + 0x2a9b7c);\n      }\n      else {\n        uVar19 = (**(code **)(pcVar18 + 0x2aa224))(7);\n        if ((int)((ulonglong)uVar19 >> 0x20) == 0) {\n          pcVar17 = *(code **)(pcVar18 + 0x2aa224);\n          if ((uint)uVar19 < 2) {\n            uVar19 = (*pcVar17)(7);\n            if ((int)((ulonglong)uVar19 >> 0x20) != 0) goto LAB_000fefdc;\n            pcVar17 = *(code **)(pcVar18 + 0x2aa224);\n            if ((uint)uVar19 < 2) {\n              iVar6 = 1;\n              goto LAB_000feff4;\n            }\n          }\n        }\n        else {\nLAB_000fefdc:\n          pcVar17 = *(code **)(pcVar18 + 0x2aa224);\n        }\n        uVar19 = (*pcVar17)(7);\n        if (((int)((ulonglong)uVar19 >> 0x20) == 0) && ((uint)uVar19 < 2)) {\n          (**(code **)(pcVar18 + 0x2aa224))(7);\n          iVar6 = extraout_v1_00;\n        }\n        else {\n          iVar6 = 2;\n        }\nLAB_000feff4:\n        iVar15 = *(int *)(pcVar18 + 0x2a9b7c);\n        iVar14 = iVar6;\n      }\n      pcStack_a4 = (char *)0x1;\n      puStack_a0 = &uStack_c0;\n      iStack_b4 = iVar7;\n      iStack_b0 = iVar9;\n      uStack_ac = uVar4;\n      uStack_a8 = uVar10;\n      (**(code **)(pcVar18 + 0x2aa280))(iVar15 + -0x2298,&iStack_b4,iVar14,0);\n      pcVar2 = pcStack_a4;\n    }" { (expression_statement "uVar10 = *(undefined4 *)(iVar7 + 0x14);" (assignment_expression "uVar10 = *(undefined4 *)(iVar7 + 0x14)" identifier = (pointer_expression "*(undefined4 *)(iVar7 + 0x14)" * (cast_expression "(undefined4 *)(iVar7 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x14)" ( (binary_expression "iVar7 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "iVar14 = *(int *)(iVar7 + 8);" (assignment_expression "iVar14 = *(int *)(iVar7 + 8)" identifier = (pointer_expression "*(int *)(iVar7 + 8)" * (cast_expression "(int *)(iVar7 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 8)" ( (binary_expression "iVar7 + 8" identifier + number_literal) ))))) ;) (expression_statement "iVar15 = *(int *)(iVar7 + 0x10);" (assignment_expression "iVar15 = *(int *)(iVar7 + 0x10)" identifier = (pointer_expression "*(int *)(iVar7 + 0x10)" * (cast_expression "(int *)(iVar7 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x10)" ( (binary_expression "iVar7 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "uStack_bc = 0;" (assignment_expression "uStack_bc = 0" identifier = number_literal) ;) (expression_statement "uStack_c0 = 0;" (assignment_expression "uStack_c0 = 0" identifier = number_literal) ;) (expression_statement "iVar6 = (**(code **)(pcVar18 + 0x2aa59c))(uVar10);" (assignment_expression "iVar6 = (**(code **)(pcVar18 + 0x2aa59c))(uVar10)" identifier = (call_expression "(**(code **)(pcVar18 + 0x2aa59c))(uVar10)" (parenthesized_expression "(**(code **)(pcVar18 + 0x2aa59c))" ( (pointer_expression "**(code **)(pcVar18 + 0x2aa59c)" * (pointer_expression "*(code **)(pcVar18 + 0x2aa59c)" * (cast_expression "(code **)(pcVar18 + 0x2aa59c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar18 + 0x2aa59c)" ( (binary_expression "pcVar18 + 0x2aa59c" identifier + number_literal) ))))) )) (argument_list "(uVar10)" ( identifier )))) ;) (if_statement "if (((iVar6 == 4) || (iVar6 = (**(code **)(pcVar18 + 0x2aa59c))(uVar10), iVar6 == 3)) &&\n         ((iVar6 = (**(code **)(pcVar18 + 0x2aa59c))(uVar10), iVar6 == 4 ||\n          (iVar6 = (**(code **)(pcVar18 + 0x2aa59c))(uVar10), iVar6 == 3)))) {\n        iVar14 = iVar14 - iVar15;\n        (**(code **)(pcVar18 + 0x2aa224))(7);\n        iVar6 = iVar14;\n        if (iVar14 < 0) {\n          iVar6 = iVar14 + 0x3f;\n        }\n        iVar6 = iVar6 >> 6;\n        if (extraout_v1 < iVar6) {\n          (**(code **)(pcVar18 + 0x2aa224))(7);\n          bVar1 = extraout_v1_02 < 2;\n        }\n        else {\n          bVar1 = iVar14 < 0x80;\n        }\n        iVar14 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar18 + 0x2aa224))(7);\n          if (extraout_v1_01 < iVar6) {\n            (**(code **)(pcVar18 + 0x2aa224))(7);\n            iVar6 = extraout_v1_03;\n          }\n          goto LAB_000feff4;\n        }\n        iVar15 = *(int *)(pcVar18 + 0x2a9b7c);\n      }\n      else {\n        uVar19 = (**(code **)(pcVar18 + 0x2aa224))(7);\n        if ((int)((ulonglong)uVar19 >> 0x20) == 0) {\n          pcVar17 = *(code **)(pcVar18 + 0x2aa224);\n          if ((uint)uVar19 < 2) {\n            uVar19 = (*pcVar17)(7);\n            if ((int)((ulonglong)uVar19 >> 0x20) != 0) goto LAB_000fefdc;\n            pcVar17 = *(code **)(pcVar18 + 0x2aa224);\n            if ((uint)uVar19 < 2) {\n              iVar6 = 1;\n              goto LAB_000feff4;\n            }\n          }\n        }\n        else {\nLAB_000fefdc:\n          pcVar17 = *(code **)(pcVar18 + 0x2aa224);\n        }\n        uVar19 = (*pcVar17)(7);\n        if (((int)((ulonglong)uVar19 >> 0x20) == 0) && ((uint)uVar19 < 2)) {\n          (**(code **)(pcVar18 + 0x2aa224))(7);\n          iVar6 = extraout_v1_00;\n        }\n        else {\n          iVar6 = 2;\n        }\nLAB_000feff4:\n        iVar15 = *(int *)(pcVar18 + 0x2a9b7c);\n        iVar14 = iVar6;\n      }" if (parenthesized_expression "(((iVar6 == 4) || (iVar6 = (**(code **)(pcVar18 + 0x2aa59c))(uVar10), iVar6 == 3)) &&\n         ((iVar6 = (**(code **)(pcVar18 + 0x2aa59c))(uVar10), iVar6 == 4 ||\n          (iVar6 = (**(code **)(pcVar18 + 0x2aa59c))(uVar10), iVar6 == 3))))" ( (binary_expression "((iVar6 == 4) || (iVar6 = (**(code **)(pcVar18 + 0x2aa59c))(uVar10), iVar6 == 3)) &&\n         ((iVar6 = (**(code **)(pcVar18 + 0x2aa59c))(uVar10), iVar6 == 4 ||\n          (iVar6 = (**(code **)(pcVar18 + 0x2aa59c))(uVar10), iVar6 == 3)))" (parenthesized_expression "((iVar6 == 4) || (iVar6 = (**(code **)(pcVar18 + 0x2aa59c))(uVar10), iVar6 == 3))" ( (binary_expression "(iVar6 == 4) || (iVar6 = (**(code **)(pcVar18 + 0x2aa59c))(uVar10), iVar6 == 3)" (parenthesized_expression "(iVar6 == 4)" ( (binary_expression "iVar6 == 4" identifier == number_literal) )) || (parenthesized_expression "(iVar6 = (**(code **)(pcVar18 + 0x2aa59c))(uVar10), iVar6 == 3)" ( (comma_expression "iVar6 = (**(code **)(pcVar18 + 0x2aa59c))(uVar10), iVar6 == 3" (assignment_expression "iVar6 = (**(code **)(pcVar18 + 0x2aa59c))(uVar10)" identifier = (call_expression "(**(code **)(pcVar18 + 0x2aa59c))(uVar10)" (parenthesized_expression "(**(code **)(pcVar18 + 0x2aa59c))" ( (pointer_expression "**(code **)(pcVar18 + 0x2aa59c)" * (pointer_expression "*(code **)(pcVar18 + 0x2aa59c)" * (cast_expression "(code **)(pcVar18 + 0x2aa59c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar18 + 0x2aa59c)" ( (binary_expression "pcVar18 + 0x2aa59c" identifier + number_literal) ))))) )) (argument_list "(uVar10)" ( identifier )))) , (binary_expression "iVar6 == 3" identifier == number_literal)) ))) )) && (parenthesized_expression "((iVar6 = (**(code **)(pcVar18 + 0x2aa59c))(uVar10), iVar6 == 4 ||\n          (iVar6 = (**(code **)(pcVar18 + 0x2aa59c))(uVar10), iVar6 == 3)))" ( (parenthesized_expression "(iVar6 = (**(code **)(pcVar18 + 0x2aa59c))(uVar10), iVar6 == 4 ||\n          (iVar6 = (**(code **)(pcVar18 + 0x2aa59c))(uVar10), iVar6 == 3))" ( (comma_expression "iVar6 = (**(code **)(pcVar18 + 0x2aa59c))(uVar10), iVar6 == 4 ||\n          (iVar6 = (**(code **)(pcVar18 + 0x2aa59c))(uVar10), iVar6 == 3)" (assignment_expression "iVar6 = (**(code **)(pcVar18 + 0x2aa59c))(uVar10)" identifier = (call_expression "(**(code **)(pcVar18 + 0x2aa59c))(uVar10)" (parenthesized_expression "(**(code **)(pcVar18 + 0x2aa59c))" ( (pointer_expression "**(code **)(pcVar18 + 0x2aa59c)" * (pointer_expression "*(code **)(pcVar18 + 0x2aa59c)" * (cast_expression "(code **)(pcVar18 + 0x2aa59c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar18 + 0x2aa59c)" ( (binary_expression "pcVar18 + 0x2aa59c" identifier + number_literal) ))))) )) (argument_list "(uVar10)" ( identifier )))) , (binary_expression "iVar6 == 4 ||\n          (iVar6 = (**(code **)(pcVar18 + 0x2aa59c))(uVar10), iVar6 == 3)" (binary_expression "iVar6 == 4" identifier == number_literal) || (parenthesized_expression "(iVar6 = (**(code **)(pcVar18 + 0x2aa59c))(uVar10), iVar6 == 3)" ( (comma_expression "iVar6 = (**(code **)(pcVar18 + 0x2aa59c))(uVar10), iVar6 == 3" (assignment_expression "iVar6 = (**(code **)(pcVar18 + 0x2aa59c))(uVar10)" identifier = (call_expression "(**(code **)(pcVar18 + 0x2aa59c))(uVar10)" (parenthesized_expression "(**(code **)(pcVar18 + 0x2aa59c))" ( (pointer_expression "**(code **)(pcVar18 + 0x2aa59c)" * (pointer_expression "*(code **)(pcVar18 + 0x2aa59c)" * (cast_expression "(code **)(pcVar18 + 0x2aa59c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar18 + 0x2aa59c)" ( (binary_expression "pcVar18 + 0x2aa59c" identifier + number_literal) ))))) )) (argument_list "(uVar10)" ( identifier )))) , (binary_expression "iVar6 == 3" identifier == number_literal)) )))) )) ))) )) (compound_statement "{\n        iVar14 = iVar14 - iVar15;\n        (**(code **)(pcVar18 + 0x2aa224))(7);\n        iVar6 = iVar14;\n        if (iVar14 < 0) {\n          iVar6 = iVar14 + 0x3f;\n        }\n        iVar6 = iVar6 >> 6;\n        if (extraout_v1 < iVar6) {\n          (**(code **)(pcVar18 + 0x2aa224))(7);\n          bVar1 = extraout_v1_02 < 2;\n        }\n        else {\n          bVar1 = iVar14 < 0x80;\n        }\n        iVar14 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar18 + 0x2aa224))(7);\n          if (extraout_v1_01 < iVar6) {\n            (**(code **)(pcVar18 + 0x2aa224))(7);\n            iVar6 = extraout_v1_03;\n          }\n          goto LAB_000feff4;\n        }\n        iVar15 = *(int *)(pcVar18 + 0x2a9b7c);\n      }" { (expression_statement "iVar14 = iVar14 - iVar15;" (assignment_expression "iVar14 = iVar14 - iVar15" identifier = (binary_expression "iVar14 - iVar15" identifier - identifier)) ;) (expression_statement "(**(code **)(pcVar18 + 0x2aa224))(7);" (call_expression "(**(code **)(pcVar18 + 0x2aa224))(7)" (parenthesized_expression "(**(code **)(pcVar18 + 0x2aa224))" ( (pointer_expression "**(code **)(pcVar18 + 0x2aa224)" * (pointer_expression "*(code **)(pcVar18 + 0x2aa224)" * (cast_expression "(code **)(pcVar18 + 0x2aa224)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar18 + 0x2aa224)" ( (binary_expression "pcVar18 + 0x2aa224" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "iVar6 = iVar14;" (assignment_expression "iVar6 = iVar14" identifier = identifier) ;) (if_statement "if (iVar14 < 0) {\n          iVar6 = iVar14 + 0x3f;\n        }" if (parenthesized_expression "(iVar14 < 0)" ( (binary_expression "iVar14 < 0" identifier < number_literal) )) (compound_statement "{\n          iVar6 = iVar14 + 0x3f;\n        }" { (expression_statement "iVar6 = iVar14 + 0x3f;" (assignment_expression "iVar6 = iVar14 + 0x3f" identifier = (binary_expression "iVar14 + 0x3f" identifier + number_literal)) ;) })) (expression_statement "iVar6 = iVar6 >> 6;" (assignment_expression "iVar6 = iVar6 >> 6" identifier = (binary_expression "iVar6 >> 6" identifier >> number_literal)) ;) (if_statement "if (extraout_v1 < iVar6) {\n          (**(code **)(pcVar18 + 0x2aa224))(7);\n          bVar1 = extraout_v1_02 < 2;\n        }\n        else {\n          bVar1 = iVar14 < 0x80;\n        }" if (parenthesized_expression "(extraout_v1 < iVar6)" ( (binary_expression "extraout_v1 < iVar6" identifier < identifier) )) (compound_statement "{\n          (**(code **)(pcVar18 + 0x2aa224))(7);\n          bVar1 = extraout_v1_02 < 2;\n        }" { (expression_statement "(**(code **)(pcVar18 + 0x2aa224))(7);" (call_expression "(**(code **)(pcVar18 + 0x2aa224))(7)" (parenthesized_expression "(**(code **)(pcVar18 + 0x2aa224))" ( (pointer_expression "**(code **)(pcVar18 + 0x2aa224)" * (pointer_expression "*(code **)(pcVar18 + 0x2aa224)" * (cast_expression "(code **)(pcVar18 + 0x2aa224)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar18 + 0x2aa224)" ( (binary_expression "pcVar18 + 0x2aa224" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "bVar1 = extraout_v1_02 < 2;" (assignment_expression "bVar1 = extraout_v1_02 < 2" identifier = (binary_expression "extraout_v1_02 < 2" identifier < number_literal)) ;) }) (else_clause "else {\n          bVar1 = iVar14 < 0x80;\n        }" else (compound_statement "{\n          bVar1 = iVar14 < 0x80;\n        }" { (expression_statement "bVar1 = iVar14 < 0x80;" (assignment_expression "bVar1 = iVar14 < 0x80" identifier = (binary_expression "iVar14 < 0x80" identifier < number_literal)) ;) }))) (expression_statement "iVar14 = 1;" (assignment_expression "iVar14 = 1" identifier = number_literal) ;) (if_statement "if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar18 + 0x2aa224))(7);\n          if (extraout_v1_01 < iVar6) {\n            (**(code **)(pcVar18 + 0x2aa224))(7);\n            iVar6 = extraout_v1_03;\n          }\n          goto LAB_000feff4;\n        }" if (parenthesized_expression "((bool)(bVar1 ^ 1))" ( (cast_expression "(bool)(bVar1 ^ 1)" ( (type_descriptor "bool" primitive_type) ) (parenthesized_expression "(bVar1 ^ 1)" ( (binary_expression "bVar1 ^ 1" identifier ^ number_literal) ))) )) (compound_statement "{\n          (**(code **)(pcVar18 + 0x2aa224))(7);\n          if (extraout_v1_01 < iVar6) {\n            (**(code **)(pcVar18 + 0x2aa224))(7);\n            iVar6 = extraout_v1_03;\n          }\n          goto LAB_000feff4;\n        }" { (expression_statement "(**(code **)(pcVar18 + 0x2aa224))(7);" (call_expression "(**(code **)(pcVar18 + 0x2aa224))(7)" (parenthesized_expression "(**(code **)(pcVar18 + 0x2aa224))" ( (pointer_expression "**(code **)(pcVar18 + 0x2aa224)" * (pointer_expression "*(code **)(pcVar18 + 0x2aa224)" * (cast_expression "(code **)(pcVar18 + 0x2aa224)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar18 + 0x2aa224)" ( (binary_expression "pcVar18 + 0x2aa224" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (if_statement "if (extraout_v1_01 < iVar6) {\n            (**(code **)(pcVar18 + 0x2aa224))(7);\n            iVar6 = extraout_v1_03;\n          }" if (parenthesized_expression "(extraout_v1_01 < iVar6)" ( (binary_expression "extraout_v1_01 < iVar6" identifier < identifier) )) (compound_statement "{\n            (**(code **)(pcVar18 + 0x2aa224))(7);\n            iVar6 = extraout_v1_03;\n          }" { (expression_statement "(**(code **)(pcVar18 + 0x2aa224))(7);" (call_expression "(**(code **)(pcVar18 + 0x2aa224))(7)" (parenthesized_expression "(**(code **)(pcVar18 + 0x2aa224))" ( (pointer_expression "**(code **)(pcVar18 + 0x2aa224)" * (pointer_expression "*(code **)(pcVar18 + 0x2aa224)" * (cast_expression "(code **)(pcVar18 + 0x2aa224)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar18 + 0x2aa224)" ( (binary_expression "pcVar18 + 0x2aa224" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "iVar6 = extraout_v1_03;" (assignment_expression "iVar6 = extraout_v1_03" identifier = identifier) ;) })) (goto_statement "goto LAB_000feff4;" goto statement_identifier ;) })) (expression_statement "iVar15 = *(int *)(pcVar18 + 0x2a9b7c);" (assignment_expression "iVar15 = *(int *)(pcVar18 + 0x2a9b7c)" identifier = (pointer_expression "*(int *)(pcVar18 + 0x2a9b7c)" * (cast_expression "(int *)(pcVar18 + 0x2a9b7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar18 + 0x2a9b7c)" ( (binary_expression "pcVar18 + 0x2a9b7c" identifier + number_literal) ))))) ;) }) (else_clause "else {\n        uVar19 = (**(code **)(pcVar18 + 0x2aa224))(7);\n        if ((int)((ulonglong)uVar19 >> 0x20) == 0) {\n          pcVar17 = *(code **)(pcVar18 + 0x2aa224);\n          if ((uint)uVar19 < 2) {\n            uVar19 = (*pcVar17)(7);\n            if ((int)((ulonglong)uVar19 >> 0x20) != 0) goto LAB_000fefdc;\n            pcVar17 = *(code **)(pcVar18 + 0x2aa224);\n            if ((uint)uVar19 < 2) {\n              iVar6 = 1;\n              goto LAB_000feff4;\n            }\n          }\n        }\n        else {\nLAB_000fefdc:\n          pcVar17 = *(code **)(pcVar18 + 0x2aa224);\n        }\n        uVar19 = (*pcVar17)(7);\n        if (((int)((ulonglong)uVar19 >> 0x20) == 0) && ((uint)uVar19 < 2)) {\n          (**(code **)(pcVar18 + 0x2aa224))(7);\n          iVar6 = extraout_v1_00;\n        }\n        else {\n          iVar6 = 2;\n        }\nLAB_000feff4:\n        iVar15 = *(int *)(pcVar18 + 0x2a9b7c);\n        iVar14 = iVar6;\n      }" else (compound_statement "{\n        uVar19 = (**(code **)(pcVar18 + 0x2aa224))(7);\n        if ((int)((ulonglong)uVar19 >> 0x20) == 0) {\n          pcVar17 = *(code **)(pcVar18 + 0x2aa224);\n          if ((uint)uVar19 < 2) {\n            uVar19 = (*pcVar17)(7);\n            if ((int)((ulonglong)uVar19 >> 0x20) != 0) goto LAB_000fefdc;\n            pcVar17 = *(code **)(pcVar18 + 0x2aa224);\n            if ((uint)uVar19 < 2) {\n              iVar6 = 1;\n              goto LAB_000feff4;\n            }\n          }\n        }\n        else {\nLAB_000fefdc:\n          pcVar17 = *(code **)(pcVar18 + 0x2aa224);\n        }\n        uVar19 = (*pcVar17)(7);\n        if (((int)((ulonglong)uVar19 >> 0x20) == 0) && ((uint)uVar19 < 2)) {\n          (**(code **)(pcVar18 + 0x2aa224))(7);\n          iVar6 = extraout_v1_00;\n        }\n        else {\n          iVar6 = 2;\n        }\nLAB_000feff4:\n        iVar15 = *(int *)(pcVar18 + 0x2a9b7c);\n        iVar14 = iVar6;\n      }" { (expression_statement "uVar19 = (**(code **)(pcVar18 + 0x2aa224))(7);" (assignment_expression "uVar19 = (**(code **)(pcVar18 + 0x2aa224))(7)" identifier = (call_expression "(**(code **)(pcVar18 + 0x2aa224))(7)" (parenthesized_expression "(**(code **)(pcVar18 + 0x2aa224))" ( (pointer_expression "**(code **)(pcVar18 + 0x2aa224)" * (pointer_expression "*(code **)(pcVar18 + 0x2aa224)" * (cast_expression "(code **)(pcVar18 + 0x2aa224)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar18 + 0x2aa224)" ( (binary_expression "pcVar18 + 0x2aa224" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if ((int)((ulonglong)uVar19 >> 0x20) == 0) {\n          pcVar17 = *(code **)(pcVar18 + 0x2aa224);\n          if ((uint)uVar19 < 2) {\n            uVar19 = (*pcVar17)(7);\n            if ((int)((ulonglong)uVar19 >> 0x20) != 0) goto LAB_000fefdc;\n            pcVar17 = *(code **)(pcVar18 + 0x2aa224);\n            if ((uint)uVar19 < 2) {\n              iVar6 = 1;\n              goto LAB_000feff4;\n            }\n          }\n        }\n        else {\nLAB_000fefdc:\n          pcVar17 = *(code **)(pcVar18 + 0x2aa224);\n        }" if (parenthesized_expression "((int)((ulonglong)uVar19 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar19 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar19 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar19 >> 0x20)" ( (binary_expression "(ulonglong)uVar19 >> 0x20" (cast_expression "(ulonglong)uVar19" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) (compound_statement "{\n          pcVar17 = *(code **)(pcVar18 + 0x2aa224);\n          if ((uint)uVar19 < 2) {\n            uVar19 = (*pcVar17)(7);\n            if ((int)((ulonglong)uVar19 >> 0x20) != 0) goto LAB_000fefdc;\n            pcVar17 = *(code **)(pcVar18 + 0x2aa224);\n            if ((uint)uVar19 < 2) {\n              iVar6 = 1;\n              goto LAB_000feff4;\n            }\n          }\n        }" { (expression_statement "pcVar17 = *(code **)(pcVar18 + 0x2aa224);" (assignment_expression "pcVar17 = *(code **)(pcVar18 + 0x2aa224)" identifier = (pointer_expression "*(code **)(pcVar18 + 0x2aa224)" * (cast_expression "(code **)(pcVar18 + 0x2aa224)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar18 + 0x2aa224)" ( (binary_expression "pcVar18 + 0x2aa224" identifier + number_literal) ))))) ;) (if_statement "if ((uint)uVar19 < 2) {\n            uVar19 = (*pcVar17)(7);\n            if ((int)((ulonglong)uVar19 >> 0x20) != 0) goto LAB_000fefdc;\n            pcVar17 = *(code **)(pcVar18 + 0x2aa224);\n            if ((uint)uVar19 < 2) {\n              iVar6 = 1;\n              goto LAB_000feff4;\n            }\n          }" if (parenthesized_expression "((uint)uVar19 < 2)" ( (binary_expression "(uint)uVar19 < 2" (cast_expression "(uint)uVar19" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) )) (compound_statement "{\n            uVar19 = (*pcVar17)(7);\n            if ((int)((ulonglong)uVar19 >> 0x20) != 0) goto LAB_000fefdc;\n            pcVar17 = *(code **)(pcVar18 + 0x2aa224);\n            if ((uint)uVar19 < 2) {\n              iVar6 = 1;\n              goto LAB_000feff4;\n            }\n          }" { (expression_statement "uVar19 = (*pcVar17)(7);" (assignment_expression "uVar19 = (*pcVar17)(7)" identifier = (call_expression "(*pcVar17)(7)" (parenthesized_expression "(*pcVar17)" ( (pointer_expression "*pcVar17" * identifier) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if ((int)((ulonglong)uVar19 >> 0x20) != 0) goto LAB_000fefdc;" if (parenthesized_expression "((int)((ulonglong)uVar19 >> 0x20) != 0)" ( (binary_expression "(int)((ulonglong)uVar19 >> 0x20) != 0" (cast_expression "(int)((ulonglong)uVar19 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar19 >> 0x20)" ( (binary_expression "(ulonglong)uVar19 >> 0x20" (cast_expression "(ulonglong)uVar19" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) != number_literal) )) (goto_statement "goto LAB_000fefdc;" goto statement_identifier ;)) (expression_statement "pcVar17 = *(code **)(pcVar18 + 0x2aa224);" (assignment_expression "pcVar17 = *(code **)(pcVar18 + 0x2aa224)" identifier = (pointer_expression "*(code **)(pcVar18 + 0x2aa224)" * (cast_expression "(code **)(pcVar18 + 0x2aa224)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar18 + 0x2aa224)" ( (binary_expression "pcVar18 + 0x2aa224" identifier + number_literal) ))))) ;) (if_statement "if ((uint)uVar19 < 2) {\n              iVar6 = 1;\n              goto LAB_000feff4;\n            }" if (parenthesized_expression "((uint)uVar19 < 2)" ( (binary_expression "(uint)uVar19 < 2" (cast_expression "(uint)uVar19" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) )) (compound_statement "{\n              iVar6 = 1;\n              goto LAB_000feff4;\n            }" { (expression_statement "iVar6 = 1;" (assignment_expression "iVar6 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_000feff4;" goto statement_identifier ;) })) })) }) (else_clause "else {\nLAB_000fefdc:\n          pcVar17 = *(code **)(pcVar18 + 0x2aa224);\n        }" else (compound_statement "{\nLAB_000fefdc:\n          pcVar17 = *(code **)(pcVar18 + 0x2aa224);\n        }" { (labeled_statement "LAB_000fefdc:\n          pcVar17 = *(code **)(pcVar18 + 0x2aa224);" statement_identifier : (expression_statement "pcVar17 = *(code **)(pcVar18 + 0x2aa224);" (assignment_expression "pcVar17 = *(code **)(pcVar18 + 0x2aa224)" identifier = (pointer_expression "*(code **)(pcVar18 + 0x2aa224)" * (cast_expression "(code **)(pcVar18 + 0x2aa224)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar18 + 0x2aa224)" ( (binary_expression "pcVar18 + 0x2aa224" identifier + number_literal) ))))) ;)) }))) (expression_statement "uVar19 = (*pcVar17)(7);" (assignment_expression "uVar19 = (*pcVar17)(7)" identifier = (call_expression "(*pcVar17)(7)" (parenthesized_expression "(*pcVar17)" ( (pointer_expression "*pcVar17" * identifier) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if (((int)((ulonglong)uVar19 >> 0x20) == 0) && ((uint)uVar19 < 2)) {\n          (**(code **)(pcVar18 + 0x2aa224))(7);\n          iVar6 = extraout_v1_00;\n        }\n        else {\n          iVar6 = 2;\n        }" if (parenthesized_expression "(((int)((ulonglong)uVar19 >> 0x20) == 0) && ((uint)uVar19 < 2))" ( (binary_expression "((int)((ulonglong)uVar19 >> 0x20) == 0) && ((uint)uVar19 < 2)" (parenthesized_expression "((int)((ulonglong)uVar19 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar19 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar19 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar19 >> 0x20)" ( (binary_expression "(ulonglong)uVar19 >> 0x20" (cast_expression "(ulonglong)uVar19" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) && (parenthesized_expression "((uint)uVar19 < 2)" ( (binary_expression "(uint)uVar19 < 2" (cast_expression "(uint)uVar19" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) ))) )) (compound_statement "{\n          (**(code **)(pcVar18 + 0x2aa224))(7);\n          iVar6 = extraout_v1_00;\n        }" { (expression_statement "(**(code **)(pcVar18 + 0x2aa224))(7);" (call_expression "(**(code **)(pcVar18 + 0x2aa224))(7)" (parenthesized_expression "(**(code **)(pcVar18 + 0x2aa224))" ( (pointer_expression "**(code **)(pcVar18 + 0x2aa224)" * (pointer_expression "*(code **)(pcVar18 + 0x2aa224)" * (cast_expression "(code **)(pcVar18 + 0x2aa224)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar18 + 0x2aa224)" ( (binary_expression "pcVar18 + 0x2aa224" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "iVar6 = extraout_v1_00;" (assignment_expression "iVar6 = extraout_v1_00" identifier = identifier) ;) }) (else_clause "else {\n          iVar6 = 2;\n        }" else (compound_statement "{\n          iVar6 = 2;\n        }" { (expression_statement "iVar6 = 2;" (assignment_expression "iVar6 = 2" identifier = number_literal) ;) }))) (labeled_statement "LAB_000feff4:\n        iVar15 = *(int *)(pcVar18 + 0x2a9b7c);" statement_identifier : (expression_statement "iVar15 = *(int *)(pcVar18 + 0x2a9b7c);" (assignment_expression "iVar15 = *(int *)(pcVar18 + 0x2a9b7c)" identifier = (pointer_expression "*(int *)(pcVar18 + 0x2a9b7c)" * (cast_expression "(int *)(pcVar18 + 0x2a9b7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar18 + 0x2a9b7c)" ( (binary_expression "pcVar18 + 0x2a9b7c" identifier + number_literal) ))))) ;)) (expression_statement "iVar14 = iVar6;" (assignment_expression "iVar14 = iVar6" identifier = identifier) ;) }))) (expression_statement "pcStack_a4 = (char *)0x1;" (assignment_expression "pcStack_a4 = (char *)0x1" identifier = (cast_expression "(char *)0x1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puStack_a0 = &uStack_c0;" (assignment_expression "puStack_a0 = &uStack_c0" identifier = (pointer_expression "&uStack_c0" & identifier)) ;) (expression_statement "iStack_b4 = iVar7;" (assignment_expression "iStack_b4 = iVar7" identifier = identifier) ;) (expression_statement "iStack_b0 = iVar9;" (assignment_expression "iStack_b0 = iVar9" identifier = identifier) ;) (expression_statement "uStack_ac = uVar4;" (assignment_expression "uStack_ac = uVar4" identifier = identifier) ;) (expression_statement "uStack_a8 = uVar10;" (assignment_expression "uStack_a8 = uVar10" identifier = identifier) ;) (expression_statement "(**(code **)(pcVar18 + 0x2aa280))(iVar15 + -0x2298,&iStack_b4,iVar14,0);" (call_expression "(**(code **)(pcVar18 + 0x2aa280))(iVar15 + -0x2298,&iStack_b4,iVar14,0)" (parenthesized_expression "(**(code **)(pcVar18 + 0x2aa280))" ( (pointer_expression "**(code **)(pcVar18 + 0x2aa280)" * (pointer_expression "*(code **)(pcVar18 + 0x2aa280)" * (cast_expression "(code **)(pcVar18 + 0x2aa280)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar18 + 0x2aa280)" ( (binary_expression "pcVar18 + 0x2aa280" identifier + number_literal) ))))) )) (argument_list "(iVar15 + -0x2298,&iStack_b4,iVar14,0)" ( (binary_expression "iVar15 + -0x2298" identifier + number_literal) , (pointer_expression "&iStack_b4" & identifier) , identifier , number_literal ))) ;) (expression_statement "pcVar2 = pcStack_a4;" (assignment_expression "pcVar2 = pcStack_a4" identifier = identifier) ;) }))) (expression_statement "iVar7 = iStack_9c;" (assignment_expression "iVar7 = iStack_9c" identifier = identifier) ;) (if_statement "if (iStack_9c == *piVar13) {\n      return pcVar2;\n    }" if (parenthesized_expression "(iStack_9c == *piVar13)" ( (binary_expression "iStack_9c == *piVar13" identifier == (pointer_expression "*piVar13" * identifier)) )) (compound_statement "{\n      return pcVar2;\n    }" { (return_statement "return pcVar2;" return identifier ;) })) (goto_statement "goto LAB_000ff1d4;" goto statement_identifier ;) })))) (expression_statement "iVar7 = *(int *)(pcVar18 + 0x2a99d0) + 0x3930;" (assignment_expression "iVar7 = *(int *)(pcVar18 + 0x2a99d0) + 0x3930" identifier = (binary_expression "*(int *)(pcVar18 + 0x2a99d0) + 0x3930" (pointer_expression "*(int *)(pcVar18 + 0x2a99d0)" * (cast_expression "(int *)(pcVar18 + 0x2a99d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar18 + 0x2a99d0)" ( (binary_expression "pcVar18 + 0x2a99d0" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(**(code **)(pcVar18 + 0x2aa6f0))\n            (iVar7,*(int *)(pcVar18 + 0x2a99cc) + -0x5168,0x226,\n             *(int *)(pcVar18 + 0x2a99cc) + -0x4f5c);" (call_expression "(**(code **)(pcVar18 + 0x2aa6f0))\n            (iVar7,*(int *)(pcVar18 + 0x2a99cc) + -0x5168,0x226,\n             *(int *)(pcVar18 + 0x2a99cc) + -0x4f5c)" (parenthesized_expression "(**(code **)(pcVar18 + 0x2aa6f0))" ( (pointer_expression "**(code **)(pcVar18 + 0x2aa6f0)" * (pointer_expression "*(code **)(pcVar18 + 0x2aa6f0)" * (cast_expression "(code **)(pcVar18 + 0x2aa6f0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar18 + 0x2aa6f0)" ( (binary_expression "pcVar18 + 0x2aa6f0" identifier + number_literal) ))))) )) (argument_list "(iVar7,*(int *)(pcVar18 + 0x2a99cc) + -0x5168,0x226,\n             *(int *)(pcVar18 + 0x2a99cc) + -0x4f5c)" ( identifier , (binary_expression "*(int *)(pcVar18 + 0x2a99cc) + -0x5168" (pointer_expression "*(int *)(pcVar18 + 0x2a99cc)" * (cast_expression "(int *)(pcVar18 + 0x2a99cc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar18 + 0x2a99cc)" ( (binary_expression "pcVar18 + 0x2a99cc" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar18 + 0x2a99cc) + -0x4f5c" (pointer_expression "*(int *)(pcVar18 + 0x2a99cc)" * (cast_expression "(int *)(pcVar18 + 0x2a99cc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar18 + 0x2a99cc)" ( (binary_expression "pcVar18 + 0x2a99cc" identifier + number_literal) )))) + number_literal) ))) ;) (labeled_statement "LAB_000ff1d4:\n  pcVar17 = *(code **)(pcVar18 + 0x2aa14c);" statement_identifier : (expression_statement "pcVar17 = *(code **)(pcVar18 + 0x2aa14c);" (assignment_expression "pcVar17 = *(code **)(pcVar18 + 0x2aa14c)" identifier = (pointer_expression "*(code **)(pcVar18 + 0x2aa14c)" * (cast_expression "(code **)(pcVar18 + 0x2aa14c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar18 + 0x2aa14c)" ( (binary_expression "pcVar18 + 0x2aa14c" identifier + number_literal) ))))) ;)) (expression_statement "(*pcVar17)();" (call_expression "(*pcVar17)()" (parenthesized_expression "(*pcVar17)" ( (pointer_expression "*pcVar17" * identifier) )) (argument_list "()" ( ))) ;) (if_statement "if (iVar7 == 0) {\n    (**(code **)(pcVar17 + 0x2aa428))\n              (*(int *)(pcVar17 + 0x2a9704) + -0x5150,*(int *)(pcVar17 + 0x2a9704) + -0x5168,0x271,\n               *(int *)(pcVar17 + 0x2a9704) + -0x4f7c,pcVar17 + 0x2b16d0);\n  }\n  else if (*(int *)(iVar7 + 0x24) == -0x54535255) {\n                    /* WARNING: Could not recover jumptable at 0x000ff218. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    pcVar2 = (char *)(**(code **)(pcVar17 + 0x2a9da0))(*(undefined4 *)(iVar7 + 0x18));\n    return pcVar2;\n  }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n    (**(code **)(pcVar17 + 0x2aa428))\n              (*(int *)(pcVar17 + 0x2a9704) + -0x5150,*(int *)(pcVar17 + 0x2a9704) + -0x5168,0x271,\n               *(int *)(pcVar17 + 0x2a9704) + -0x4f7c,pcVar17 + 0x2b16d0);\n  }" { (expression_statement "(**(code **)(pcVar17 + 0x2aa428))\n              (*(int *)(pcVar17 + 0x2a9704) + -0x5150,*(int *)(pcVar17 + 0x2a9704) + -0x5168,0x271,\n               *(int *)(pcVar17 + 0x2a9704) + -0x4f7c,pcVar17 + 0x2b16d0);" (call_expression "(**(code **)(pcVar17 + 0x2aa428))\n              (*(int *)(pcVar17 + 0x2a9704) + -0x5150,*(int *)(pcVar17 + 0x2a9704) + -0x5168,0x271,\n               *(int *)(pcVar17 + 0x2a9704) + -0x4f7c,pcVar17 + 0x2b16d0)" (parenthesized_expression "(**(code **)(pcVar17 + 0x2aa428))" ( (pointer_expression "**(code **)(pcVar17 + 0x2aa428)" * (pointer_expression "*(code **)(pcVar17 + 0x2aa428)" * (cast_expression "(code **)(pcVar17 + 0x2aa428)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x2aa428)" ( (binary_expression "pcVar17 + 0x2aa428" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar17 + 0x2a9704) + -0x5150,*(int *)(pcVar17 + 0x2a9704) + -0x5168,0x271,\n               *(int *)(pcVar17 + 0x2a9704) + -0x4f7c,pcVar17 + 0x2b16d0)" ( (binary_expression "*(int *)(pcVar17 + 0x2a9704) + -0x5150" (pointer_expression "*(int *)(pcVar17 + 0x2a9704)" * (cast_expression "(int *)(pcVar17 + 0x2a9704)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x2a9704)" ( (binary_expression "pcVar17 + 0x2a9704" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar17 + 0x2a9704) + -0x5168" (pointer_expression "*(int *)(pcVar17 + 0x2a9704)" * (cast_expression "(int *)(pcVar17 + 0x2a9704)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x2a9704)" ( (binary_expression "pcVar17 + 0x2a9704" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar17 + 0x2a9704) + -0x4f7c" (pointer_expression "*(int *)(pcVar17 + 0x2a9704)" * (cast_expression "(int *)(pcVar17 + 0x2a9704)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x2a9704)" ( (binary_expression "pcVar17 + 0x2a9704" identifier + number_literal) )))) + number_literal) , (binary_expression "pcVar17 + 0x2b16d0" identifier + number_literal) ))) ;) }) (else_clause "else if (*(int *)(iVar7 + 0x24) == -0x54535255) {\n                    /* WARNING: Could not recover jumptable at 0x000ff218. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    pcVar2 = (char *)(**(code **)(pcVar17 + 0x2a9da0))(*(undefined4 *)(iVar7 + 0x18));\n    return pcVar2;\n  }" else (if_statement "if (*(int *)(iVar7 + 0x24) == -0x54535255) {\n                    /* WARNING: Could not recover jumptable at 0x000ff218. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    pcVar2 = (char *)(**(code **)(pcVar17 + 0x2a9da0))(*(undefined4 *)(iVar7 + 0x18));\n    return pcVar2;\n  }" if (parenthesized_expression "(*(int *)(iVar7 + 0x24) == -0x54535255)" ( (binary_expression "*(int *)(iVar7 + 0x24) == -0x54535255" (pointer_expression "*(int *)(iVar7 + 0x24)" * (cast_expression "(int *)(iVar7 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x24)" ( (binary_expression "iVar7 + 0x24" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                    /* WARNING: Could not recover jumptable at 0x000ff218. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    pcVar2 = (char *)(**(code **)(pcVar17 + 0x2a9da0))(*(undefined4 *)(iVar7 + 0x18));\n    return pcVar2;\n  }" { comment comment (expression_statement "pcVar2 = (char *)(**(code **)(pcVar17 + 0x2a9da0))(*(undefined4 *)(iVar7 + 0x18));" (assignment_expression "pcVar2 = (char *)(**(code **)(pcVar17 + 0x2a9da0))(*(undefined4 *)(iVar7 + 0x18))" identifier = (cast_expression "(char *)(**(code **)(pcVar17 + 0x2a9da0))(*(undefined4 *)(iVar7 + 0x18))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar17 + 0x2a9da0))(*(undefined4 *)(iVar7 + 0x18))" (parenthesized_expression "(**(code **)(pcVar17 + 0x2a9da0))" ( (pointer_expression "**(code **)(pcVar17 + 0x2a9da0)" * (pointer_expression "*(code **)(pcVar17 + 0x2a9da0)" * (cast_expression "(code **)(pcVar17 + 0x2a9da0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x2a9da0)" ( (binary_expression "pcVar17 + 0x2a9da0" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar7 + 0x18))" ( (pointer_expression "*(undefined4 *)(iVar7 + 0x18)" * (cast_expression "(undefined4 *)(iVar7 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x18)" ( (binary_expression "iVar7 + 0x18" identifier + number_literal) )))) ))))) ;) (return_statement "return pcVar2;" return identifier ;) })))) (expression_statement "pcVar18 = *(code **)(pcVar17 + 0x2aa428);" (assignment_expression "pcVar18 = *(code **)(pcVar17 + 0x2aa428)" identifier = (pointer_expression "*(code **)(pcVar17 + 0x2aa428)" * (cast_expression "(code **)(pcVar17 + 0x2aa428)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x2aa428)" ( (binary_expression "pcVar17 + 0x2aa428" identifier + number_literal) ))))) ;) (expression_statement "iVar7 = *(int *)(pcVar17 + 0x2a9704) + -0x512c;" (assignment_expression "iVar7 = *(int *)(pcVar17 + 0x2a9704) + -0x512c" identifier = (binary_expression "*(int *)(pcVar17 + 0x2a9704) + -0x512c" (pointer_expression "*(int *)(pcVar17 + 0x2a9704)" * (cast_expression "(int *)(pcVar17 + 0x2a9704)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x2a9704)" ( (binary_expression "pcVar17 + 0x2a9704" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar18)(iVar7,*(int *)(pcVar17 + 0x2a9704) + -0x5168,0x272,\n             *(int *)(pcVar17 + 0x2a9704) + -0x4f7c);" (call_expression "(*pcVar18)(iVar7,*(int *)(pcVar17 + 0x2a9704) + -0x5168,0x272,\n             *(int *)(pcVar17 + 0x2a9704) + -0x4f7c)" (parenthesized_expression "(*pcVar18)" ( (pointer_expression "*pcVar18" * identifier) )) (argument_list "(iVar7,*(int *)(pcVar17 + 0x2a9704) + -0x5168,0x272,\n             *(int *)(pcVar17 + 0x2a9704) + -0x4f7c)" ( identifier , (binary_expression "*(int *)(pcVar17 + 0x2a9704) + -0x5168" (pointer_expression "*(int *)(pcVar17 + 0x2a9704)" * (cast_expression "(int *)(pcVar17 + 0x2a9704)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x2a9704)" ( (binary_expression "pcVar17 + 0x2a9704" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar17 + 0x2a9704) + -0x4f7c" (pointer_expression "*(int *)(pcVar17 + 0x2a9704)" * (cast_expression "(int *)(pcVar17 + 0x2a9704)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x2a9704)" ( (binary_expression "pcVar17 + 0x2a9704" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (iVar7 == 0) {\n    (**(code **)(pcVar18 + 0x2aa3a0))\n              (*(int *)(pcVar18 + 0x2a967c) + -0x5150,*(int *)(pcVar18 + 0x2a967c) + -0x5168,0x28f,\n               *(int *)(pcVar18 + 0x2a967c) + -0x4f98,pcVar18 + 0x2b1648);\n  }\n  else if (*(int *)(iVar7 + 0x24) == -0x54535255) {\n                    /* WARNING: Could not recover jumptable at 0x000ff2a0. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    pcVar2 = (char *)(**(code **)(pcVar18 + 0x2a9a8c))(*(undefined4 *)(iVar7 + 0x18));\n    return pcVar2;\n  }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n    (**(code **)(pcVar18 + 0x2aa3a0))\n              (*(int *)(pcVar18 + 0x2a967c) + -0x5150,*(int *)(pcVar18 + 0x2a967c) + -0x5168,0x28f,\n               *(int *)(pcVar18 + 0x2a967c) + -0x4f98,pcVar18 + 0x2b1648);\n  }" { (expression_statement "(**(code **)(pcVar18 + 0x2aa3a0))\n              (*(int *)(pcVar18 + 0x2a967c) + -0x5150,*(int *)(pcVar18 + 0x2a967c) + -0x5168,0x28f,\n               *(int *)(pcVar18 + 0x2a967c) + -0x4f98,pcVar18 + 0x2b1648);" (call_expression "(**(code **)(pcVar18 + 0x2aa3a0))\n              (*(int *)(pcVar18 + 0x2a967c) + -0x5150,*(int *)(pcVar18 + 0x2a967c) + -0x5168,0x28f,\n               *(int *)(pcVar18 + 0x2a967c) + -0x4f98,pcVar18 + 0x2b1648)" (parenthesized_expression "(**(code **)(pcVar18 + 0x2aa3a0))" ( (pointer_expression "**(code **)(pcVar18 + 0x2aa3a0)" * (pointer_expression "*(code **)(pcVar18 + 0x2aa3a0)" * (cast_expression "(code **)(pcVar18 + 0x2aa3a0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar18 + 0x2aa3a0)" ( (binary_expression "pcVar18 + 0x2aa3a0" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar18 + 0x2a967c) + -0x5150,*(int *)(pcVar18 + 0x2a967c) + -0x5168,0x28f,\n               *(int *)(pcVar18 + 0x2a967c) + -0x4f98,pcVar18 + 0x2b1648)" ( (binary_expression "*(int *)(pcVar18 + 0x2a967c) + -0x5150" (pointer_expression "*(int *)(pcVar18 + 0x2a967c)" * (cast_expression "(int *)(pcVar18 + 0x2a967c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar18 + 0x2a967c)" ( (binary_expression "pcVar18 + 0x2a967c" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar18 + 0x2a967c) + -0x5168" (pointer_expression "*(int *)(pcVar18 + 0x2a967c)" * (cast_expression "(int *)(pcVar18 + 0x2a967c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar18 + 0x2a967c)" ( (binary_expression "pcVar18 + 0x2a967c" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar18 + 0x2a967c) + -0x4f98" (pointer_expression "*(int *)(pcVar18 + 0x2a967c)" * (cast_expression "(int *)(pcVar18 + 0x2a967c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar18 + 0x2a967c)" ( (binary_expression "pcVar18 + 0x2a967c" identifier + number_literal) )))) + number_literal) , (binary_expression "pcVar18 + 0x2b1648" identifier + number_literal) ))) ;) }) (else_clause "else if (*(int *)(iVar7 + 0x24) == -0x54535255) {\n                    /* WARNING: Could not recover jumptable at 0x000ff2a0. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    pcVar2 = (char *)(**(code **)(pcVar18 + 0x2a9a8c))(*(undefined4 *)(iVar7 + 0x18));\n    return pcVar2;\n  }" else (if_statement "if (*(int *)(iVar7 + 0x24) == -0x54535255) {\n                    /* WARNING: Could not recover jumptable at 0x000ff2a0. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    pcVar2 = (char *)(**(code **)(pcVar18 + 0x2a9a8c))(*(undefined4 *)(iVar7 + 0x18));\n    return pcVar2;\n  }" if (parenthesized_expression "(*(int *)(iVar7 + 0x24) == -0x54535255)" ( (binary_expression "*(int *)(iVar7 + 0x24) == -0x54535255" (pointer_expression "*(int *)(iVar7 + 0x24)" * (cast_expression "(int *)(iVar7 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x24)" ( (binary_expression "iVar7 + 0x24" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                    /* WARNING: Could not recover jumptable at 0x000ff2a0. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    pcVar2 = (char *)(**(code **)(pcVar18 + 0x2a9a8c))(*(undefined4 *)(iVar7 + 0x18));\n    return pcVar2;\n  }" { comment comment (expression_statement "pcVar2 = (char *)(**(code **)(pcVar18 + 0x2a9a8c))(*(undefined4 *)(iVar7 + 0x18));" (assignment_expression "pcVar2 = (char *)(**(code **)(pcVar18 + 0x2a9a8c))(*(undefined4 *)(iVar7 + 0x18))" identifier = (cast_expression "(char *)(**(code **)(pcVar18 + 0x2a9a8c))(*(undefined4 *)(iVar7 + 0x18))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar18 + 0x2a9a8c))(*(undefined4 *)(iVar7 + 0x18))" (parenthesized_expression "(**(code **)(pcVar18 + 0x2a9a8c))" ( (pointer_expression "**(code **)(pcVar18 + 0x2a9a8c)" * (pointer_expression "*(code **)(pcVar18 + 0x2a9a8c)" * (cast_expression "(code **)(pcVar18 + 0x2a9a8c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar18 + 0x2a9a8c)" ( (binary_expression "pcVar18 + 0x2a9a8c" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar7 + 0x18))" ( (pointer_expression "*(undefined4 *)(iVar7 + 0x18)" * (cast_expression "(undefined4 *)(iVar7 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x18)" ( (binary_expression "iVar7 + 0x18" identifier + number_literal) )))) ))))) ;) (return_statement "return pcVar2;" return identifier ;) })))) (expression_statement "iVar7 = *(int *)(pcVar18 + 0x2a967c) + -0x512c;" (assignment_expression "iVar7 = *(int *)(pcVar18 + 0x2a967c) + -0x512c" identifier = (binary_expression "*(int *)(pcVar18 + 0x2a967c) + -0x512c" (pointer_expression "*(int *)(pcVar18 + 0x2a967c)" * (cast_expression "(int *)(pcVar18 + 0x2a967c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar18 + 0x2a967c)" ( (binary_expression "pcVar18 + 0x2a967c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(**(code **)(pcVar18 + 0x2aa3a0))\n            (iVar7,*(int *)(pcVar18 + 0x2a967c) + -0x5168,0x290,\n             *(int *)(pcVar18 + 0x2a967c) + -0x4f98);" (call_expression "(**(code **)(pcVar18 + 0x2aa3a0))\n            (iVar7,*(int *)(pcVar18 + 0x2a967c) + -0x5168,0x290,\n             *(int *)(pcVar18 + 0x2a967c) + -0x4f98)" (parenthesized_expression "(**(code **)(pcVar18 + 0x2aa3a0))" ( (pointer_expression "**(code **)(pcVar18 + 0x2aa3a0)" * (pointer_expression "*(code **)(pcVar18 + 0x2aa3a0)" * (cast_expression "(code **)(pcVar18 + 0x2aa3a0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar18 + 0x2aa3a0)" ( (binary_expression "pcVar18 + 0x2aa3a0" identifier + number_literal) ))))) )) (argument_list "(iVar7,*(int *)(pcVar18 + 0x2a967c) + -0x5168,0x290,\n             *(int *)(pcVar18 + 0x2a967c) + -0x4f98)" ( identifier , (binary_expression "*(int *)(pcVar18 + 0x2a967c) + -0x5168" (pointer_expression "*(int *)(pcVar18 + 0x2a967c)" * (cast_expression "(int *)(pcVar18 + 0x2a967c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar18 + 0x2a967c)" ( (binary_expression "pcVar18 + 0x2a967c" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar18 + 0x2a967c) + -0x4f98" (pointer_expression "*(int *)(pcVar18 + 0x2a967c)" * (cast_expression "(int *)(pcVar18 + 0x2a967c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar18 + 0x2a967c)" ( (binary_expression "pcVar18 + 0x2a967c" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (iVar7 == 0) {\n    return (char *)0x0;\n  }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n    return (char *)0x0;\n  }" { (return_statement "return (char *)0x0;" return (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) (return_statement "return (char *)(uint)(*(int *)(iVar7 + 0x24) == -0x54535255);" return (cast_expression "(char *)(uint)(*(int *)(iVar7 + 0x24) == -0x54535255)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(*(int *)(iVar7 + 0x24) == -0x54535255)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar7 + 0x24) == -0x54535255)" ( (binary_expression "*(int *)(iVar7 + 0x24) == -0x54535255" (pointer_expression "*(int *)(iVar7 + 0x24)" * (cast_expression "(int *)(iVar7 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x24)" ( (binary_expression "iVar7 + 0x24" identifier + number_literal) )))) == number_literal) )))) ;) })))
(translation_unit "undefined4 * GetImageViewException(int param_1,undefined4 *param_2)\n\n{\n  bool bVar1;\n  undefined4 *puVar2;\n  undefined4 *puVar3;\n  undefined4 uVar4;\n  int iVar5;\n  int extraout_v1;\n  int extraout_v1_00;\n  int extraout_v1_01;\n  int extraout_v1_02;\n  int extraout_v1_03;\n  int iVar6;\n  undefined *puVar7;\n  int iVar8;\n  undefined4 uVar9;\n  undefined *puVar10;\n  undefined4 uVar11;\n  undefined4 unaff_s0;\n  int *piVar12;\n  int iVar13;\n  int iVar14;\n  undefined *puVar15;\n  code *pcVar16;\n  code *pcVar17;\n  undefined8 uVar18;\n  undefined4 uStack_c0;\n  undefined4 uStack_bc;\n  int iStack_b4;\n  int iStack_b0;\n  undefined4 uStack_ac;\n  undefined4 uStack_a8;\n  undefined4 *puStack_a4;\n  undefined4 *puStack_a0;\n  int iStack_9c;\n  undefined4 uStack_98;\n  int iStack_94;\n  \n  puVar15 = PTR_AcquireQuantumMemory_003a950c;\n  if (param_1 == 0) {\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x50dc,PTR_s_t_to_left_003a88e4 + -0x5168,0x194,\n               PTR_s_t_to_left_003a88e4 + -0x4f04);\nLAB_000fece8:\n    unaff_s0 = (*(code *)PTR_AcquireExceptionInfo_003a8eec)();\n    puVar2 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n    param_1 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar2);\n    puVar10 = (undefined *)0x19b;\n    (*(code *)PTR_ThrowMagickException_003a8f20)\n              (unaff_s0,PTR_s_t_to_left_003a88e4 + -0x5168,PTR_s_t_to_left_003a88e4 + -0x4f1c,0x19b)\n    ;\n    (*(code *)PTR_DestroyString_003a9074)(param_1);\n    (*(code *)PTR_CatchException_003a92b0)(unaff_s0);\n    (*(code *)PTR_DestroyExceptionInfo_003a8d50)(unaff_s0);\n    (*(code *)PTR_MagickCoreTerminus_003a98ec)();\n    (*(code *)PTR__exit_003a9660)(1);\nLAB_000fedb0:\n    puVar10 = puVar10 + -0x4f04;\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x50b4,PTR_s_t_to_left_003a88e4 + -0x5168,0x196,puVar10);\n  }\n  else {\n    puVar10 = PTR_s_t_to_left_003a88e4;\n    if (*(int *)(param_1 + 0x24) == -0x54535255) {\n      if (param_2 != (undefined4 *)0x0) {\n        *param_2 = **(undefined4 **)(param_1 + 0x1c);\n        puVar2 = (undefined4 *)(*(code *)puVar15)(0x2000,1);\n        if (puVar2 != (undefined4 *)0x0) {\n          puVar3 = *(undefined4 **)(param_1 + 0x1c);\n          *(undefined1 *)puVar2 = 0;\n          if (puVar3[2] != 0) {\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)(*puVar3);\n            (*(code *)PTR_CopyMagickString_003a983c)(puVar2,uVar4,0x1000);\n            puVar3 = *(undefined4 **)(param_1 + 0x1c);\n          }\n          if (puVar3[3] != 0) {\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (puVar2,PTR_s_t_to_left_003a88e4 + -0x5090,0x1000);\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)\n                              (**(undefined4 **)(param_1 + 0x1c),\n                               (*(undefined4 **)(param_1 + 0x1c))[3]);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)(puVar2,uVar4,0x1000);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (puVar2,PTR_s_courses_003a88ec + -0x6e0,0x1000);\n          }\n          return puVar2;\n        }\n        goto LAB_000fece8;\n      }\n      goto LAB_000fedb0;\n    }\n  }\n  puVar7 = PTR_s_t_to_left_003a88e4 + -0x5168;\n  puVar2 = (undefined4 *)(PTR_s_t_to_left_003a88e4 + -0x512c);\n  puVar15 = PTR___assert_fail_003a9608;\n  (*(code *)PTR___assert_fail_003a9608)(puVar2,puVar7,0x195,puVar10 + -0x4f04);\n  if (puVar7 == (undefined *)0x0) {\n    (**(code **)(puVar15 + 0x2aa818))\n              (*(int *)(puVar15 + 0x2a9af4) + -0x5150,*(int *)(puVar15 + 0x2a9af4) + -0x5168,0x1c4,\n               *(int *)(puVar15 + 0x2a9af4) + -0x4f30);\n  }\n  else if (*(int *)(puVar7 + 0x24) == -0x54535255) {\n    uVar11 = *(undefined4 *)(puVar7 + 8);\n    uVar9 = *(undefined4 *)(puVar7 + 0xc);\n    uVar4 = *(undefined4 *)(puVar7 + 0x10);\n    *puVar2 = *(undefined4 *)(puVar7 + 4);\n    puVar2[1] = uVar11;\n    puVar2[2] = uVar9;\n    puVar2[3] = uVar4;\n    return puVar2;\n  }\n  pcVar16 = *(code **)(puVar15 + 0x2aa818);\n  iVar6 = *(int *)(puVar15 + 0x2a9af4) + -0x512c;\n  (*pcVar16)(iVar6,*(int *)(puVar15 + 0x2a9af4) + -0x5168,0x1c5,\n             *(int *)(puVar15 + 0x2a9af4) + -0x4f30);\n  if (iVar6 == 0) {\n    (**(code **)(pcVar16 + 0x2aa774))\n              (*(int *)(pcVar16 + 0x2a9a50) + -0x5150,*(int *)(pcVar16 + 0x2a9a50) + -0x5168,0x1e1,\n               *(int *)(pcVar16 + 0x2a9a50) + -0x4f44);\n  }\n  else if (*(int *)(iVar6 + 0x24) == -0x54535255) {\n    return *(undefined4 **)(iVar6 + 0x14);\n  }\n  uVar4 = 0x1e2;\n  pcVar17 = *(code **)(pcVar16 + 0x2aa774);\n  iVar8 = *(int *)(pcVar16 + 0x2a9a50) + -0x5168;\n  iVar6 = *(int *)(pcVar16 + 0x2a9a50) + -0x512c;\n  (*pcVar17)();\n  piVar12 = *(int **)(pcVar17 + 0x2aa318);\n  iStack_9c = *piVar12;\n  uStack_98 = unaff_s0;\n  iStack_94 = param_1;\n  if (iVar6 == 0) {\n    (**(code **)(pcVar17 + 0x2aa6f0))\n              (*(int *)(pcVar17 + 0x2a99cc) + -0x50fc,*(int *)(pcVar17 + 0x2a99cc) + -0x5168,0x225,\n               *(int *)(pcVar17 + 0x2a99cc) + -0x4f5c);\n  }\n  else if (*(int *)(iVar6 + 0x24) == -0x54535255) {\n    if (iVar8 == 0) {\n      puVar2 = (undefined4 *)0x0;\n    }\n    else {\n      uVar9 = *(undefined4 *)(iVar6 + 0x14);\n      iVar13 = *(int *)(iVar6 + 8);\n      iVar14 = *(int *)(iVar6 + 0x10);\n      uStack_bc = 0;\n      uStack_c0 = 0;\n      iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9);\n      if (((iVar5 == 4) || (iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3)) &&\n         ((iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 4 ||\n          (iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3)))) {\n        iVar13 = iVar13 - iVar14;\n        (**(code **)(pcVar17 + 0x2aa224))(7);\n        iVar5 = iVar13;\n        if (iVar13 < 0) {\n          iVar5 = iVar13 + 0x3f;\n        }\n        iVar5 = iVar5 >> 6;\n        if (extraout_v1 < iVar5) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          bVar1 = extraout_v1_02 < 2;\n        }\n        else {\n          bVar1 = iVar13 < 0x80;\n        }\n        iVar13 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          if (extraout_v1_01 < iVar5) {\n            (**(code **)(pcVar17 + 0x2aa224))(7);\n            iVar5 = extraout_v1_03;\n          }\n          goto LAB_000feff4;\n        }\n        iVar14 = *(int *)(pcVar17 + 0x2a9b7c);\n      }\n      else {\n        uVar18 = (**(code **)(pcVar17 + 0x2aa224))(7);\n        if ((int)((ulonglong)uVar18 >> 0x20) == 0) {\n          pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n          if ((uint)uVar18 < 2) {\n            uVar18 = (*pcVar16)(7);\n            if ((int)((ulonglong)uVar18 >> 0x20) != 0) goto LAB_000fefdc;\n            pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n            if ((uint)uVar18 < 2) {\n              iVar5 = 1;\n              goto LAB_000feff4;\n            }\n          }\n        }\n        else {\nLAB_000fefdc:\n          pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n        }\n        uVar18 = (*pcVar16)(7);\n        if (((int)((ulonglong)uVar18 >> 0x20) == 0) && ((uint)uVar18 < 2)) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          iVar5 = extraout_v1_00;\n        }\n        else {\n          iVar5 = 2;\n        }\nLAB_000feff4:\n        iVar14 = *(int *)(pcVar17 + 0x2a9b7c);\n        iVar13 = iVar5;\n      }\n      puStack_a4 = (undefined4 *)0x1;\n      puStack_a0 = &uStack_c0;\n      iStack_b4 = iVar6;\n      iStack_b0 = iVar8;\n      uStack_ac = uVar4;\n      uStack_a8 = uVar9;\n      (**(code **)(pcVar17 + 0x2aa280))(iVar14 + -0x2298,&iStack_b4,iVar13,0);\n      puVar2 = puStack_a4;\n    }\n    iVar6 = iStack_9c;\n    if (iStack_9c == *piVar12) {\n      return puVar2;\n    }\n    goto LAB_000ff1d4;\n  }\n  iVar6 = *(int *)(pcVar17 + 0x2a99d0) + 0x3930;\n  (**(code **)(pcVar17 + 0x2aa6f0))\n            (iVar6,*(int *)(pcVar17 + 0x2a99cc) + -0x5168,0x226,\n             *(int *)(pcVar17 + 0x2a99cc) + -0x4f5c);\nLAB_000ff1d4:\n  pcVar16 = *(code **)(pcVar17 + 0x2aa14c);\n  (*pcVar16)();\n  if (iVar6 == 0) {\n    (**(code **)(pcVar16 + 0x2aa428))\n              (*(int *)(pcVar16 + 0x2a9704) + -0x5150,*(int *)(pcVar16 + 0x2a9704) + -0x5168,0x271,\n               *(int *)(pcVar16 + 0x2a9704) + -0x4f7c,pcVar16 + 0x2b16d0);\n  }\n  else if (*(int *)(iVar6 + 0x24) == -0x54535255) {\n                    \n                    \n    puVar2 = (undefined4 *)(**(code **)(pcVar16 + 0x2a9da0))(*(undefined4 *)(iVar6 + 0x18));\n    return puVar2;\n  }\n  pcVar17 = *(code **)(pcVar16 + 0x2aa428);\n  iVar6 = *(int *)(pcVar16 + 0x2a9704) + -0x512c;\n  (*pcVar17)(iVar6,*(int *)(pcVar16 + 0x2a9704) + -0x5168,0x272,\n             *(int *)(pcVar16 + 0x2a9704) + -0x4f7c);\n  if (iVar6 == 0) {\n    (**(code **)(pcVar17 + 0x2aa3a0))\n              (*(int *)(pcVar17 + 0x2a967c) + -0x5150,*(int *)(pcVar17 + 0x2a967c) + -0x5168,0x28f,\n               *(int *)(pcVar17 + 0x2a967c) + -0x4f98,pcVar17 + 0x2b1648);\n  }\n  else if (*(int *)(iVar6 + 0x24) == -0x54535255) {\n                    \n                    \n    puVar2 = (undefined4 *)(**(code **)(pcVar17 + 0x2a9a8c))(*(undefined4 *)(iVar6 + 0x18));\n    return puVar2;\n  }\n  iVar6 = *(int *)(pcVar17 + 0x2a967c) + -0x512c;\n  (**(code **)(pcVar17 + 0x2aa3a0))\n            (iVar6,*(int *)(pcVar17 + 0x2a967c) + -0x5168,0x290,\n             *(int *)(pcVar17 + 0x2a967c) + -0x4f98);\n  if (iVar6 == 0) {\n    return (undefined4 *)0x0;\n  }\n  return (undefined4 *)(uint)(*(int *)(iVar6 + 0x24) == -0x54535255);\n}\n\n" (function_definition "undefined4 * GetImageViewException(int param_1,undefined4 *param_2)\n\n{\n  bool bVar1;\n  undefined4 *puVar2;\n  undefined4 *puVar3;\n  undefined4 uVar4;\n  int iVar5;\n  int extraout_v1;\n  int extraout_v1_00;\n  int extraout_v1_01;\n  int extraout_v1_02;\n  int extraout_v1_03;\n  int iVar6;\n  undefined *puVar7;\n  int iVar8;\n  undefined4 uVar9;\n  undefined *puVar10;\n  undefined4 uVar11;\n  undefined4 unaff_s0;\n  int *piVar12;\n  int iVar13;\n  int iVar14;\n  undefined *puVar15;\n  code *pcVar16;\n  code *pcVar17;\n  undefined8 uVar18;\n  undefined4 uStack_c0;\n  undefined4 uStack_bc;\n  int iStack_b4;\n  int iStack_b0;\n  undefined4 uStack_ac;\n  undefined4 uStack_a8;\n  undefined4 *puStack_a4;\n  undefined4 *puStack_a0;\n  int iStack_9c;\n  undefined4 uStack_98;\n  int iStack_94;\n  \n  puVar15 = PTR_AcquireQuantumMemory_003a950c;\n  if (param_1 == 0) {\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x50dc,PTR_s_t_to_left_003a88e4 + -0x5168,0x194,\n               PTR_s_t_to_left_003a88e4 + -0x4f04);\nLAB_000fece8:\n    unaff_s0 = (*(code *)PTR_AcquireExceptionInfo_003a8eec)();\n    puVar2 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n    param_1 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar2);\n    puVar10 = (undefined *)0x19b;\n    (*(code *)PTR_ThrowMagickException_003a8f20)\n              (unaff_s0,PTR_s_t_to_left_003a88e4 + -0x5168,PTR_s_t_to_left_003a88e4 + -0x4f1c,0x19b)\n    ;\n    (*(code *)PTR_DestroyString_003a9074)(param_1);\n    (*(code *)PTR_CatchException_003a92b0)(unaff_s0);\n    (*(code *)PTR_DestroyExceptionInfo_003a8d50)(unaff_s0);\n    (*(code *)PTR_MagickCoreTerminus_003a98ec)();\n    (*(code *)PTR__exit_003a9660)(1);\nLAB_000fedb0:\n    puVar10 = puVar10 + -0x4f04;\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x50b4,PTR_s_t_to_left_003a88e4 + -0x5168,0x196,puVar10);\n  }\n  else {\n    puVar10 = PTR_s_t_to_left_003a88e4;\n    if (*(int *)(param_1 + 0x24) == -0x54535255) {\n      if (param_2 != (undefined4 *)0x0) {\n        *param_2 = **(undefined4 **)(param_1 + 0x1c);\n        puVar2 = (undefined4 *)(*(code *)puVar15)(0x2000,1);\n        if (puVar2 != (undefined4 *)0x0) {\n          puVar3 = *(undefined4 **)(param_1 + 0x1c);\n          *(undefined1 *)puVar2 = 0;\n          if (puVar3[2] != 0) {\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)(*puVar3);\n            (*(code *)PTR_CopyMagickString_003a983c)(puVar2,uVar4,0x1000);\n            puVar3 = *(undefined4 **)(param_1 + 0x1c);\n          }\n          if (puVar3[3] != 0) {\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (puVar2,PTR_s_t_to_left_003a88e4 + -0x5090,0x1000);\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)\n                              (**(undefined4 **)(param_1 + 0x1c),\n                               (*(undefined4 **)(param_1 + 0x1c))[3]);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)(puVar2,uVar4,0x1000);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (puVar2,PTR_s_courses_003a88ec + -0x6e0,0x1000);\n          }\n          return puVar2;\n        }\n        goto LAB_000fece8;\n      }\n      goto LAB_000fedb0;\n    }\n  }\n  puVar7 = PTR_s_t_to_left_003a88e4 + -0x5168;\n  puVar2 = (undefined4 *)(PTR_s_t_to_left_003a88e4 + -0x512c);\n  puVar15 = PTR___assert_fail_003a9608;\n  (*(code *)PTR___assert_fail_003a9608)(puVar2,puVar7,0x195,puVar10 + -0x4f04);\n  if (puVar7 == (undefined *)0x0) {\n    (**(code **)(puVar15 + 0x2aa818))\n              (*(int *)(puVar15 + 0x2a9af4) + -0x5150,*(int *)(puVar15 + 0x2a9af4) + -0x5168,0x1c4,\n               *(int *)(puVar15 + 0x2a9af4) + -0x4f30);\n  }\n  else if (*(int *)(puVar7 + 0x24) == -0x54535255) {\n    uVar11 = *(undefined4 *)(puVar7 + 8);\n    uVar9 = *(undefined4 *)(puVar7 + 0xc);\n    uVar4 = *(undefined4 *)(puVar7 + 0x10);\n    *puVar2 = *(undefined4 *)(puVar7 + 4);\n    puVar2[1] = uVar11;\n    puVar2[2] = uVar9;\n    puVar2[3] = uVar4;\n    return puVar2;\n  }\n  pcVar16 = *(code **)(puVar15 + 0x2aa818);\n  iVar6 = *(int *)(puVar15 + 0x2a9af4) + -0x512c;\n  (*pcVar16)(iVar6,*(int *)(puVar15 + 0x2a9af4) + -0x5168,0x1c5,\n             *(int *)(puVar15 + 0x2a9af4) + -0x4f30);\n  if (iVar6 == 0) {\n    (**(code **)(pcVar16 + 0x2aa774))\n              (*(int *)(pcVar16 + 0x2a9a50) + -0x5150,*(int *)(pcVar16 + 0x2a9a50) + -0x5168,0x1e1,\n               *(int *)(pcVar16 + 0x2a9a50) + -0x4f44);\n  }\n  else if (*(int *)(iVar6 + 0x24) == -0x54535255) {\n    return *(undefined4 **)(iVar6 + 0x14);\n  }\n  uVar4 = 0x1e2;\n  pcVar17 = *(code **)(pcVar16 + 0x2aa774);\n  iVar8 = *(int *)(pcVar16 + 0x2a9a50) + -0x5168;\n  iVar6 = *(int *)(pcVar16 + 0x2a9a50) + -0x512c;\n  (*pcVar17)();\n  piVar12 = *(int **)(pcVar17 + 0x2aa318);\n  iStack_9c = *piVar12;\n  uStack_98 = unaff_s0;\n  iStack_94 = param_1;\n  if (iVar6 == 0) {\n    (**(code **)(pcVar17 + 0x2aa6f0))\n              (*(int *)(pcVar17 + 0x2a99cc) + -0x50fc,*(int *)(pcVar17 + 0x2a99cc) + -0x5168,0x225,\n               *(int *)(pcVar17 + 0x2a99cc) + -0x4f5c);\n  }\n  else if (*(int *)(iVar6 + 0x24) == -0x54535255) {\n    if (iVar8 == 0) {\n      puVar2 = (undefined4 *)0x0;\n    }\n    else {\n      uVar9 = *(undefined4 *)(iVar6 + 0x14);\n      iVar13 = *(int *)(iVar6 + 8);\n      iVar14 = *(int *)(iVar6 + 0x10);\n      uStack_bc = 0;\n      uStack_c0 = 0;\n      iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9);\n      if (((iVar5 == 4) || (iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3)) &&\n         ((iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 4 ||\n          (iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3)))) {\n        iVar13 = iVar13 - iVar14;\n        (**(code **)(pcVar17 + 0x2aa224))(7);\n        iVar5 = iVar13;\n        if (iVar13 < 0) {\n          iVar5 = iVar13 + 0x3f;\n        }\n        iVar5 = iVar5 >> 6;\n        if (extraout_v1 < iVar5) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          bVar1 = extraout_v1_02 < 2;\n        }\n        else {\n          bVar1 = iVar13 < 0x80;\n        }\n        iVar13 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          if (extraout_v1_01 < iVar5) {\n            (**(code **)(pcVar17 + 0x2aa224))(7);\n            iVar5 = extraout_v1_03;\n          }\n          goto LAB_000feff4;\n        }\n        iVar14 = *(int *)(pcVar17 + 0x2a9b7c);\n      }\n      else {\n        uVar18 = (**(code **)(pcVar17 + 0x2aa224))(7);\n        if ((int)((ulonglong)uVar18 >> 0x20) == 0) {\n          pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n          if ((uint)uVar18 < 2) {\n            uVar18 = (*pcVar16)(7);\n            if ((int)((ulonglong)uVar18 >> 0x20) != 0) goto LAB_000fefdc;\n            pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n            if ((uint)uVar18 < 2) {\n              iVar5 = 1;\n              goto LAB_000feff4;\n            }\n          }\n        }\n        else {\nLAB_000fefdc:\n          pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n        }\n        uVar18 = (*pcVar16)(7);\n        if (((int)((ulonglong)uVar18 >> 0x20) == 0) && ((uint)uVar18 < 2)) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          iVar5 = extraout_v1_00;\n        }\n        else {\n          iVar5 = 2;\n        }\nLAB_000feff4:\n        iVar14 = *(int *)(pcVar17 + 0x2a9b7c);\n        iVar13 = iVar5;\n      }\n      puStack_a4 = (undefined4 *)0x1;\n      puStack_a0 = &uStack_c0;\n      iStack_b4 = iVar6;\n      iStack_b0 = iVar8;\n      uStack_ac = uVar4;\n      uStack_a8 = uVar9;\n      (**(code **)(pcVar17 + 0x2aa280))(iVar14 + -0x2298,&iStack_b4,iVar13,0);\n      puVar2 = puStack_a4;\n    }\n    iVar6 = iStack_9c;\n    if (iStack_9c == *piVar12) {\n      return puVar2;\n    }\n    goto LAB_000ff1d4;\n  }\n  iVar6 = *(int *)(pcVar17 + 0x2a99d0) + 0x3930;\n  (**(code **)(pcVar17 + 0x2aa6f0))\n            (iVar6,*(int *)(pcVar17 + 0x2a99cc) + -0x5168,0x226,\n             *(int *)(pcVar17 + 0x2a99cc) + -0x4f5c);\nLAB_000ff1d4:\n  pcVar16 = *(code **)(pcVar17 + 0x2aa14c);\n  (*pcVar16)();\n  if (iVar6 == 0) {\n    (**(code **)(pcVar16 + 0x2aa428))\n              (*(int *)(pcVar16 + 0x2a9704) + -0x5150,*(int *)(pcVar16 + 0x2a9704) + -0x5168,0x271,\n               *(int *)(pcVar16 + 0x2a9704) + -0x4f7c,pcVar16 + 0x2b16d0);\n  }\n  else if (*(int *)(iVar6 + 0x24) == -0x54535255) {\n                    \n                    \n    puVar2 = (undefined4 *)(**(code **)(pcVar16 + 0x2a9da0))(*(undefined4 *)(iVar6 + 0x18));\n    return puVar2;\n  }\n  pcVar17 = *(code **)(pcVar16 + 0x2aa428);\n  iVar6 = *(int *)(pcVar16 + 0x2a9704) + -0x512c;\n  (*pcVar17)(iVar6,*(int *)(pcVar16 + 0x2a9704) + -0x5168,0x272,\n             *(int *)(pcVar16 + 0x2a9704) + -0x4f7c);\n  if (iVar6 == 0) {\n    (**(code **)(pcVar17 + 0x2aa3a0))\n              (*(int *)(pcVar17 + 0x2a967c) + -0x5150,*(int *)(pcVar17 + 0x2a967c) + -0x5168,0x28f,\n               *(int *)(pcVar17 + 0x2a967c) + -0x4f98,pcVar17 + 0x2b1648);\n  }\n  else if (*(int *)(iVar6 + 0x24) == -0x54535255) {\n                    \n                    \n    puVar2 = (undefined4 *)(**(code **)(pcVar17 + 0x2a9a8c))(*(undefined4 *)(iVar6 + 0x18));\n    return puVar2;\n  }\n  iVar6 = *(int *)(pcVar17 + 0x2a967c) + -0x512c;\n  (**(code **)(pcVar17 + 0x2aa3a0))\n            (iVar6,*(int *)(pcVar17 + 0x2a967c) + -0x5168,0x290,\n             *(int *)(pcVar17 + 0x2a967c) + -0x4f98);\n  if (iVar6 == 0) {\n    return (undefined4 *)0x0;\n  }\n  return (undefined4 *)(uint)(*(int *)(iVar6 + 0x24) == -0x54535255);\n}" type_identifier (pointer_declarator "* GetImageViewException(int param_1,undefined4 *param_2)" * (function_declarator "GetImageViewException(int param_1,undefined4 *param_2)" identifier (parameter_list "(int param_1,undefined4 *param_2)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "undefined4 *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) )))) (compound_statement "{\n  bool bVar1;\n  undefined4 *puVar2;\n  undefined4 *puVar3;\n  undefined4 uVar4;\n  int iVar5;\n  int extraout_v1;\n  int extraout_v1_00;\n  int extraout_v1_01;\n  int extraout_v1_02;\n  int extraout_v1_03;\n  int iVar6;\n  undefined *puVar7;\n  int iVar8;\n  undefined4 uVar9;\n  undefined *puVar10;\n  undefined4 uVar11;\n  undefined4 unaff_s0;\n  int *piVar12;\n  int iVar13;\n  int iVar14;\n  undefined *puVar15;\n  code *pcVar16;\n  code *pcVar17;\n  undefined8 uVar18;\n  undefined4 uStack_c0;\n  undefined4 uStack_bc;\n  int iStack_b4;\n  int iStack_b0;\n  undefined4 uStack_ac;\n  undefined4 uStack_a8;\n  undefined4 *puStack_a4;\n  undefined4 *puStack_a0;\n  int iStack_9c;\n  undefined4 uStack_98;\n  int iStack_94;\n  \n  puVar15 = PTR_AcquireQuantumMemory_003a950c;\n  if (param_1 == 0) {\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x50dc,PTR_s_t_to_left_003a88e4 + -0x5168,0x194,\n               PTR_s_t_to_left_003a88e4 + -0x4f04);\nLAB_000fece8:\n    unaff_s0 = (*(code *)PTR_AcquireExceptionInfo_003a8eec)();\n    puVar2 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n    param_1 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar2);\n    puVar10 = (undefined *)0x19b;\n    (*(code *)PTR_ThrowMagickException_003a8f20)\n              (unaff_s0,PTR_s_t_to_left_003a88e4 + -0x5168,PTR_s_t_to_left_003a88e4 + -0x4f1c,0x19b)\n    ;\n    (*(code *)PTR_DestroyString_003a9074)(param_1);\n    (*(code *)PTR_CatchException_003a92b0)(unaff_s0);\n    (*(code *)PTR_DestroyExceptionInfo_003a8d50)(unaff_s0);\n    (*(code *)PTR_MagickCoreTerminus_003a98ec)();\n    (*(code *)PTR__exit_003a9660)(1);\nLAB_000fedb0:\n    puVar10 = puVar10 + -0x4f04;\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x50b4,PTR_s_t_to_left_003a88e4 + -0x5168,0x196,puVar10);\n  }\n  else {\n    puVar10 = PTR_s_t_to_left_003a88e4;\n    if (*(int *)(param_1 + 0x24) == -0x54535255) {\n      if (param_2 != (undefined4 *)0x0) {\n        *param_2 = **(undefined4 **)(param_1 + 0x1c);\n        puVar2 = (undefined4 *)(*(code *)puVar15)(0x2000,1);\n        if (puVar2 != (undefined4 *)0x0) {\n          puVar3 = *(undefined4 **)(param_1 + 0x1c);\n          *(undefined1 *)puVar2 = 0;\n          if (puVar3[2] != 0) {\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)(*puVar3);\n            (*(code *)PTR_CopyMagickString_003a983c)(puVar2,uVar4,0x1000);\n            puVar3 = *(undefined4 **)(param_1 + 0x1c);\n          }\n          if (puVar3[3] != 0) {\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (puVar2,PTR_s_t_to_left_003a88e4 + -0x5090,0x1000);\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)\n                              (**(undefined4 **)(param_1 + 0x1c),\n                               (*(undefined4 **)(param_1 + 0x1c))[3]);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)(puVar2,uVar4,0x1000);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (puVar2,PTR_s_courses_003a88ec + -0x6e0,0x1000);\n          }\n          return puVar2;\n        }\n        goto LAB_000fece8;\n      }\n      goto LAB_000fedb0;\n    }\n  }\n  puVar7 = PTR_s_t_to_left_003a88e4 + -0x5168;\n  puVar2 = (undefined4 *)(PTR_s_t_to_left_003a88e4 + -0x512c);\n  puVar15 = PTR___assert_fail_003a9608;\n  (*(code *)PTR___assert_fail_003a9608)(puVar2,puVar7,0x195,puVar10 + -0x4f04);\n  if (puVar7 == (undefined *)0x0) {\n    (**(code **)(puVar15 + 0x2aa818))\n              (*(int *)(puVar15 + 0x2a9af4) + -0x5150,*(int *)(puVar15 + 0x2a9af4) + -0x5168,0x1c4,\n               *(int *)(puVar15 + 0x2a9af4) + -0x4f30);\n  }\n  else if (*(int *)(puVar7 + 0x24) == -0x54535255) {\n    uVar11 = *(undefined4 *)(puVar7 + 8);\n    uVar9 = *(undefined4 *)(puVar7 + 0xc);\n    uVar4 = *(undefined4 *)(puVar7 + 0x10);\n    *puVar2 = *(undefined4 *)(puVar7 + 4);\n    puVar2[1] = uVar11;\n    puVar2[2] = uVar9;\n    puVar2[3] = uVar4;\n    return puVar2;\n  }\n  pcVar16 = *(code **)(puVar15 + 0x2aa818);\n  iVar6 = *(int *)(puVar15 + 0x2a9af4) + -0x512c;\n  (*pcVar16)(iVar6,*(int *)(puVar15 + 0x2a9af4) + -0x5168,0x1c5,\n             *(int *)(puVar15 + 0x2a9af4) + -0x4f30);\n  if (iVar6 == 0) {\n    (**(code **)(pcVar16 + 0x2aa774))\n              (*(int *)(pcVar16 + 0x2a9a50) + -0x5150,*(int *)(pcVar16 + 0x2a9a50) + -0x5168,0x1e1,\n               *(int *)(pcVar16 + 0x2a9a50) + -0x4f44);\n  }\n  else if (*(int *)(iVar6 + 0x24) == -0x54535255) {\n    return *(undefined4 **)(iVar6 + 0x14);\n  }\n  uVar4 = 0x1e2;\n  pcVar17 = *(code **)(pcVar16 + 0x2aa774);\n  iVar8 = *(int *)(pcVar16 + 0x2a9a50) + -0x5168;\n  iVar6 = *(int *)(pcVar16 + 0x2a9a50) + -0x512c;\n  (*pcVar17)();\n  piVar12 = *(int **)(pcVar17 + 0x2aa318);\n  iStack_9c = *piVar12;\n  uStack_98 = unaff_s0;\n  iStack_94 = param_1;\n  if (iVar6 == 0) {\n    (**(code **)(pcVar17 + 0x2aa6f0))\n              (*(int *)(pcVar17 + 0x2a99cc) + -0x50fc,*(int *)(pcVar17 + 0x2a99cc) + -0x5168,0x225,\n               *(int *)(pcVar17 + 0x2a99cc) + -0x4f5c);\n  }\n  else if (*(int *)(iVar6 + 0x24) == -0x54535255) {\n    if (iVar8 == 0) {\n      puVar2 = (undefined4 *)0x0;\n    }\n    else {\n      uVar9 = *(undefined4 *)(iVar6 + 0x14);\n      iVar13 = *(int *)(iVar6 + 8);\n      iVar14 = *(int *)(iVar6 + 0x10);\n      uStack_bc = 0;\n      uStack_c0 = 0;\n      iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9);\n      if (((iVar5 == 4) || (iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3)) &&\n         ((iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 4 ||\n          (iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3)))) {\n        iVar13 = iVar13 - iVar14;\n        (**(code **)(pcVar17 + 0x2aa224))(7);\n        iVar5 = iVar13;\n        if (iVar13 < 0) {\n          iVar5 = iVar13 + 0x3f;\n        }\n        iVar5 = iVar5 >> 6;\n        if (extraout_v1 < iVar5) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          bVar1 = extraout_v1_02 < 2;\n        }\n        else {\n          bVar1 = iVar13 < 0x80;\n        }\n        iVar13 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          if (extraout_v1_01 < iVar5) {\n            (**(code **)(pcVar17 + 0x2aa224))(7);\n            iVar5 = extraout_v1_03;\n          }\n          goto LAB_000feff4;\n        }\n        iVar14 = *(int *)(pcVar17 + 0x2a9b7c);\n      }\n      else {\n        uVar18 = (**(code **)(pcVar17 + 0x2aa224))(7);\n        if ((int)((ulonglong)uVar18 >> 0x20) == 0) {\n          pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n          if ((uint)uVar18 < 2) {\n            uVar18 = (*pcVar16)(7);\n            if ((int)((ulonglong)uVar18 >> 0x20) != 0) goto LAB_000fefdc;\n            pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n            if ((uint)uVar18 < 2) {\n              iVar5 = 1;\n              goto LAB_000feff4;\n            }\n          }\n        }\n        else {\nLAB_000fefdc:\n          pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n        }\n        uVar18 = (*pcVar16)(7);\n        if (((int)((ulonglong)uVar18 >> 0x20) == 0) && ((uint)uVar18 < 2)) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          iVar5 = extraout_v1_00;\n        }\n        else {\n          iVar5 = 2;\n        }\nLAB_000feff4:\n        iVar14 = *(int *)(pcVar17 + 0x2a9b7c);\n        iVar13 = iVar5;\n      }\n      puStack_a4 = (undefined4 *)0x1;\n      puStack_a0 = &uStack_c0;\n      iStack_b4 = iVar6;\n      iStack_b0 = iVar8;\n      uStack_ac = uVar4;\n      uStack_a8 = uVar9;\n      (**(code **)(pcVar17 + 0x2aa280))(iVar14 + -0x2298,&iStack_b4,iVar13,0);\n      puVar2 = puStack_a4;\n    }\n    iVar6 = iStack_9c;\n    if (iStack_9c == *piVar12) {\n      return puVar2;\n    }\n    goto LAB_000ff1d4;\n  }\n  iVar6 = *(int *)(pcVar17 + 0x2a99d0) + 0x3930;\n  (**(code **)(pcVar17 + 0x2aa6f0))\n            (iVar6,*(int *)(pcVar17 + 0x2a99cc) + -0x5168,0x226,\n             *(int *)(pcVar17 + 0x2a99cc) + -0x4f5c);\nLAB_000ff1d4:\n  pcVar16 = *(code **)(pcVar17 + 0x2aa14c);\n  (*pcVar16)();\n  if (iVar6 == 0) {\n    (**(code **)(pcVar16 + 0x2aa428))\n              (*(int *)(pcVar16 + 0x2a9704) + -0x5150,*(int *)(pcVar16 + 0x2a9704) + -0x5168,0x271,\n               *(int *)(pcVar16 + 0x2a9704) + -0x4f7c,pcVar16 + 0x2b16d0);\n  }\n  else if (*(int *)(iVar6 + 0x24) == -0x54535255) {\n                    \n                    \n    puVar2 = (undefined4 *)(**(code **)(pcVar16 + 0x2a9da0))(*(undefined4 *)(iVar6 + 0x18));\n    return puVar2;\n  }\n  pcVar17 = *(code **)(pcVar16 + 0x2aa428);\n  iVar6 = *(int *)(pcVar16 + 0x2a9704) + -0x512c;\n  (*pcVar17)(iVar6,*(int *)(pcVar16 + 0x2a9704) + -0x5168,0x272,\n             *(int *)(pcVar16 + 0x2a9704) + -0x4f7c);\n  if (iVar6 == 0) {\n    (**(code **)(pcVar17 + 0x2aa3a0))\n              (*(int *)(pcVar17 + 0x2a967c) + -0x5150,*(int *)(pcVar17 + 0x2a967c) + -0x5168,0x28f,\n               *(int *)(pcVar17 + 0x2a967c) + -0x4f98,pcVar17 + 0x2b1648);\n  }\n  else if (*(int *)(iVar6 + 0x24) == -0x54535255) {\n                    \n                    \n    puVar2 = (undefined4 *)(**(code **)(pcVar17 + 0x2a9a8c))(*(undefined4 *)(iVar6 + 0x18));\n    return puVar2;\n  }\n  iVar6 = *(int *)(pcVar17 + 0x2a967c) + -0x512c;\n  (**(code **)(pcVar17 + 0x2aa3a0))\n            (iVar6,*(int *)(pcVar17 + 0x2a967c) + -0x5168,0x290,\n             *(int *)(pcVar17 + 0x2a967c) + -0x4f98);\n  if (iVar6 == 0) {\n    return (undefined4 *)0x0;\n  }\n  return (undefined4 *)(uint)(*(int *)(iVar6 + 0x24) == -0x54535255);\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "undefined4 *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined4 *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "int extraout_v1;" primitive_type identifier ;) (declaration "int extraout_v1_00;" primitive_type identifier ;) (declaration "int extraout_v1_01;" primitive_type identifier ;) (declaration "int extraout_v1_02;" primitive_type identifier ;) (declaration "int extraout_v1_03;" primitive_type identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "undefined *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "undefined4 uVar9;" type_identifier identifier ;) (declaration "undefined *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "undefined4 uVar11;" type_identifier identifier ;) (declaration "undefined4 unaff_s0;" type_identifier identifier ;) (declaration "int *piVar12;" primitive_type (pointer_declarator "*piVar12" * identifier) ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "undefined *puVar15;" type_identifier (pointer_declarator "*puVar15" * identifier) ;) (declaration "code *pcVar16;" type_identifier (pointer_declarator "*pcVar16" * identifier) ;) (declaration "code *pcVar17;" type_identifier (pointer_declarator "*pcVar17" * identifier) ;) (declaration "undefined8 uVar18;" type_identifier identifier ;) (declaration "undefined4 uStack_c0;" type_identifier identifier ;) (declaration "undefined4 uStack_bc;" type_identifier identifier ;) (declaration "int iStack_b4;" primitive_type identifier ;) (declaration "int iStack_b0;" primitive_type identifier ;) (declaration "undefined4 uStack_ac;" type_identifier identifier ;) (declaration "undefined4 uStack_a8;" type_identifier identifier ;) (declaration "undefined4 *puStack_a4;" type_identifier (pointer_declarator "*puStack_a4" * identifier) ;) (declaration "undefined4 *puStack_a0;" type_identifier (pointer_declarator "*puStack_a0" * identifier) ;) (declaration "int iStack_9c;" primitive_type identifier ;) (declaration "undefined4 uStack_98;" type_identifier identifier ;) (declaration "int iStack_94;" primitive_type identifier ;) (expression_statement "puVar15 = PTR_AcquireQuantumMemory_003a950c;" (assignment_expression "puVar15 = PTR_AcquireQuantumMemory_003a950c" identifier = identifier) ;) (if_statement "if (param_1 == 0) {\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x50dc,PTR_s_t_to_left_003a88e4 + -0x5168,0x194,\n               PTR_s_t_to_left_003a88e4 + -0x4f04);\nLAB_000fece8:\n    unaff_s0 = (*(code *)PTR_AcquireExceptionInfo_003a8eec)();\n    puVar2 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n    param_1 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar2);\n    puVar10 = (undefined *)0x19b;\n    (*(code *)PTR_ThrowMagickException_003a8f20)\n              (unaff_s0,PTR_s_t_to_left_003a88e4 + -0x5168,PTR_s_t_to_left_003a88e4 + -0x4f1c,0x19b)\n    ;\n    (*(code *)PTR_DestroyString_003a9074)(param_1);\n    (*(code *)PTR_CatchException_003a92b0)(unaff_s0);\n    (*(code *)PTR_DestroyExceptionInfo_003a8d50)(unaff_s0);\n    (*(code *)PTR_MagickCoreTerminus_003a98ec)();\n    (*(code *)PTR__exit_003a9660)(1);\nLAB_000fedb0:\n    puVar10 = puVar10 + -0x4f04;\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x50b4,PTR_s_t_to_left_003a88e4 + -0x5168,0x196,puVar10);\n  }\n  else {\n    puVar10 = PTR_s_t_to_left_003a88e4;\n    if (*(int *)(param_1 + 0x24) == -0x54535255) {\n      if (param_2 != (undefined4 *)0x0) {\n        *param_2 = **(undefined4 **)(param_1 + 0x1c);\n        puVar2 = (undefined4 *)(*(code *)puVar15)(0x2000,1);\n        if (puVar2 != (undefined4 *)0x0) {\n          puVar3 = *(undefined4 **)(param_1 + 0x1c);\n          *(undefined1 *)puVar2 = 0;\n          if (puVar3[2] != 0) {\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)(*puVar3);\n            (*(code *)PTR_CopyMagickString_003a983c)(puVar2,uVar4,0x1000);\n            puVar3 = *(undefined4 **)(param_1 + 0x1c);\n          }\n          if (puVar3[3] != 0) {\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (puVar2,PTR_s_t_to_left_003a88e4 + -0x5090,0x1000);\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)\n                              (**(undefined4 **)(param_1 + 0x1c),\n                               (*(undefined4 **)(param_1 + 0x1c))[3]);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)(puVar2,uVar4,0x1000);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (puVar2,PTR_s_courses_003a88ec + -0x6e0,0x1000);\n          }\n          return puVar2;\n        }\n        goto LAB_000fece8;\n      }\n      goto LAB_000fedb0;\n    }\n  }" if (parenthesized_expression "(param_1 == 0)" ( (binary_expression "param_1 == 0" identifier == number_literal) )) (compound_statement "{\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x50dc,PTR_s_t_to_left_003a88e4 + -0x5168,0x194,\n               PTR_s_t_to_left_003a88e4 + -0x4f04);\nLAB_000fece8:\n    unaff_s0 = (*(code *)PTR_AcquireExceptionInfo_003a8eec)();\n    puVar2 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n    param_1 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar2);\n    puVar10 = (undefined *)0x19b;\n    (*(code *)PTR_ThrowMagickException_003a8f20)\n              (unaff_s0,PTR_s_t_to_left_003a88e4 + -0x5168,PTR_s_t_to_left_003a88e4 + -0x4f1c,0x19b)\n    ;\n    (*(code *)PTR_DestroyString_003a9074)(param_1);\n    (*(code *)PTR_CatchException_003a92b0)(unaff_s0);\n    (*(code *)PTR_DestroyExceptionInfo_003a8d50)(unaff_s0);\n    (*(code *)PTR_MagickCoreTerminus_003a98ec)();\n    (*(code *)PTR__exit_003a9660)(1);\nLAB_000fedb0:\n    puVar10 = puVar10 + -0x4f04;\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x50b4,PTR_s_t_to_left_003a88e4 + -0x5168,0x196,puVar10);\n  }" { (expression_statement "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x50dc,PTR_s_t_to_left_003a88e4 + -0x5168,0x194,\n               PTR_s_t_to_left_003a88e4 + -0x4f04);" (call_expression "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x50dc,PTR_s_t_to_left_003a88e4 + -0x5168,0x194,\n               PTR_s_t_to_left_003a88e4 + -0x4f04)" (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 + -0x50dc,PTR_s_t_to_left_003a88e4 + -0x5168,0x194,\n               PTR_s_t_to_left_003a88e4 + -0x4f04)" ( (binary_expression "PTR_s_t_to_left_003a88e4 + -0x50dc" identifier + number_literal) , (binary_expression "PTR_s_t_to_left_003a88e4 + -0x5168" identifier + number_literal) , number_literal , (binary_expression "PTR_s_t_to_left_003a88e4 + -0x4f04" identifier + number_literal) ))) ;) (labeled_statement "LAB_000fece8:\n    unaff_s0 = (*(code *)PTR_AcquireExceptionInfo_003a8eec)();" statement_identifier : (expression_statement "unaff_s0 = (*(code *)PTR_AcquireExceptionInfo_003a8eec)();" (assignment_expression "unaff_s0 = (*(code *)PTR_AcquireExceptionInfo_003a8eec)()" identifier = (call_expression "(*(code *)PTR_AcquireExceptionInfo_003a8eec)()" (parenthesized_expression "(*(code *)PTR_AcquireExceptionInfo_003a8eec)" ( (pointer_expression "*(code *)PTR_AcquireExceptionInfo_003a8eec" * (cast_expression "(code *)PTR_AcquireExceptionInfo_003a8eec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;)) (expression_statement "puVar2 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();" (assignment_expression "puVar2 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)()" identifier = (cast_expression "(undefined4 *)(*(code *)PTR___errno_location_003a99b0)()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_003a99b0)()" (parenthesized_expression "(*(code *)PTR___errno_location_003a99b0)" ( (pointer_expression "*(code *)PTR___errno_location_003a99b0" * (cast_expression "(code *)PTR___errno_location_003a99b0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "param_1 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar2);" (assignment_expression "param_1 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar2)" identifier = (call_expression "(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar2)" (parenthesized_expression "(*(code *)PTR_GetExceptionMessage_003a93ec)" ( (pointer_expression "*(code *)PTR_GetExceptionMessage_003a93ec" * (cast_expression "(code *)PTR_GetExceptionMessage_003a93ec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*puVar2)" ( (pointer_expression "*puVar2" * identifier) )))) ;) (expression_statement "puVar10 = (undefined *)0x19b;" (assignment_expression "puVar10 = (undefined *)0x19b" identifier = (cast_expression "(undefined *)0x19b" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(*(code *)PTR_ThrowMagickException_003a8f20)\n              (unaff_s0,PTR_s_t_to_left_003a88e4 + -0x5168,PTR_s_t_to_left_003a88e4 + -0x4f1c,0x19b)\n    ;" (call_expression "(*(code *)PTR_ThrowMagickException_003a8f20)\n              (unaff_s0,PTR_s_t_to_left_003a88e4 + -0x5168,PTR_s_t_to_left_003a88e4 + -0x4f1c,0x19b)" (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 "(unaff_s0,PTR_s_t_to_left_003a88e4 + -0x5168,PTR_s_t_to_left_003a88e4 + -0x4f1c,0x19b)" ( identifier , (binary_expression "PTR_s_t_to_left_003a88e4 + -0x5168" identifier + number_literal) , (binary_expression "PTR_s_t_to_left_003a88e4 + -0x4f1c" identifier + number_literal) , number_literal ))) ;) (expression_statement "(*(code *)PTR_DestroyString_003a9074)(param_1);" (call_expression "(*(code *)PTR_DestroyString_003a9074)(param_1)" (parenthesized_expression "(*(code *)PTR_DestroyString_003a9074)" ( (pointer_expression "*(code *)PTR_DestroyString_003a9074" * (cast_expression "(code *)PTR_DestroyString_003a9074" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1)" ( identifier ))) ;) (expression_statement "(*(code *)PTR_CatchException_003a92b0)(unaff_s0);" (call_expression "(*(code *)PTR_CatchException_003a92b0)(unaff_s0)" (parenthesized_expression "(*(code *)PTR_CatchException_003a92b0)" ( (pointer_expression "*(code *)PTR_CatchException_003a92b0" * (cast_expression "(code *)PTR_CatchException_003a92b0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s0)" ( identifier ))) ;) (expression_statement "(*(code *)PTR_DestroyExceptionInfo_003a8d50)(unaff_s0);" (call_expression "(*(code *)PTR_DestroyExceptionInfo_003a8d50)(unaff_s0)" (parenthesized_expression "(*(code *)PTR_DestroyExceptionInfo_003a8d50)" ( (pointer_expression "*(code *)PTR_DestroyExceptionInfo_003a8d50" * (cast_expression "(code *)PTR_DestroyExceptionInfo_003a8d50" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s0)" ( identifier ))) ;) (expression_statement "(*(code *)PTR_MagickCoreTerminus_003a98ec)();" (call_expression "(*(code *)PTR_MagickCoreTerminus_003a98ec)()" (parenthesized_expression "(*(code *)PTR_MagickCoreTerminus_003a98ec)" ( (pointer_expression "*(code *)PTR_MagickCoreTerminus_003a98ec" * (cast_expression "(code *)PTR_MagickCoreTerminus_003a98ec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "(*(code *)PTR__exit_003a9660)(1);" (call_expression "(*(code *)PTR__exit_003a9660)(1)" (parenthesized_expression "(*(code *)PTR__exit_003a9660)" ( (pointer_expression "*(code *)PTR__exit_003a9660" * (cast_expression "(code *)PTR__exit_003a9660" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(1)" ( number_literal ))) ;) (labeled_statement "LAB_000fedb0:\n    puVar10 = puVar10 + -0x4f04;" statement_identifier : (expression_statement "puVar10 = puVar10 + -0x4f04;" (assignment_expression "puVar10 = puVar10 + -0x4f04" identifier = (binary_expression "puVar10 + -0x4f04" identifier + number_literal)) ;)) (expression_statement "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x50b4,PTR_s_t_to_left_003a88e4 + -0x5168,0x196,puVar10);" (call_expression "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x50b4,PTR_s_t_to_left_003a88e4 + -0x5168,0x196,puVar10)" (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 + -0x50b4,PTR_s_t_to_left_003a88e4 + -0x5168,0x196,puVar10)" ( (binary_expression "PTR_s_t_to_left_003a88e4 + -0x50b4" identifier + number_literal) , (binary_expression "PTR_s_t_to_left_003a88e4 + -0x5168" identifier + number_literal) , number_literal , identifier ))) ;) }) (else_clause "else {\n    puVar10 = PTR_s_t_to_left_003a88e4;\n    if (*(int *)(param_1 + 0x24) == -0x54535255) {\n      if (param_2 != (undefined4 *)0x0) {\n        *param_2 = **(undefined4 **)(param_1 + 0x1c);\n        puVar2 = (undefined4 *)(*(code *)puVar15)(0x2000,1);\n        if (puVar2 != (undefined4 *)0x0) {\n          puVar3 = *(undefined4 **)(param_1 + 0x1c);\n          *(undefined1 *)puVar2 = 0;\n          if (puVar3[2] != 0) {\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)(*puVar3);\n            (*(code *)PTR_CopyMagickString_003a983c)(puVar2,uVar4,0x1000);\n            puVar3 = *(undefined4 **)(param_1 + 0x1c);\n          }\n          if (puVar3[3] != 0) {\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (puVar2,PTR_s_t_to_left_003a88e4 + -0x5090,0x1000);\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)\n                              (**(undefined4 **)(param_1 + 0x1c),\n                               (*(undefined4 **)(param_1 + 0x1c))[3]);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)(puVar2,uVar4,0x1000);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (puVar2,PTR_s_courses_003a88ec + -0x6e0,0x1000);\n          }\n          return puVar2;\n        }\n        goto LAB_000fece8;\n      }\n      goto LAB_000fedb0;\n    }\n  }" else (compound_statement "{\n    puVar10 = PTR_s_t_to_left_003a88e4;\n    if (*(int *)(param_1 + 0x24) == -0x54535255) {\n      if (param_2 != (undefined4 *)0x0) {\n        *param_2 = **(undefined4 **)(param_1 + 0x1c);\n        puVar2 = (undefined4 *)(*(code *)puVar15)(0x2000,1);\n        if (puVar2 != (undefined4 *)0x0) {\n          puVar3 = *(undefined4 **)(param_1 + 0x1c);\n          *(undefined1 *)puVar2 = 0;\n          if (puVar3[2] != 0) {\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)(*puVar3);\n            (*(code *)PTR_CopyMagickString_003a983c)(puVar2,uVar4,0x1000);\n            puVar3 = *(undefined4 **)(param_1 + 0x1c);\n          }\n          if (puVar3[3] != 0) {\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (puVar2,PTR_s_t_to_left_003a88e4 + -0x5090,0x1000);\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)\n                              (**(undefined4 **)(param_1 + 0x1c),\n                               (*(undefined4 **)(param_1 + 0x1c))[3]);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)(puVar2,uVar4,0x1000);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (puVar2,PTR_s_courses_003a88ec + -0x6e0,0x1000);\n          }\n          return puVar2;\n        }\n        goto LAB_000fece8;\n      }\n      goto LAB_000fedb0;\n    }\n  }" { (expression_statement "puVar10 = PTR_s_t_to_left_003a88e4;" (assignment_expression "puVar10 = PTR_s_t_to_left_003a88e4" identifier = identifier) ;) (if_statement "if (*(int *)(param_1 + 0x24) == -0x54535255) {\n      if (param_2 != (undefined4 *)0x0) {\n        *param_2 = **(undefined4 **)(param_1 + 0x1c);\n        puVar2 = (undefined4 *)(*(code *)puVar15)(0x2000,1);\n        if (puVar2 != (undefined4 *)0x0) {\n          puVar3 = *(undefined4 **)(param_1 + 0x1c);\n          *(undefined1 *)puVar2 = 0;\n          if (puVar3[2] != 0) {\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)(*puVar3);\n            (*(code *)PTR_CopyMagickString_003a983c)(puVar2,uVar4,0x1000);\n            puVar3 = *(undefined4 **)(param_1 + 0x1c);\n          }\n          if (puVar3[3] != 0) {\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (puVar2,PTR_s_t_to_left_003a88e4 + -0x5090,0x1000);\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)\n                              (**(undefined4 **)(param_1 + 0x1c),\n                               (*(undefined4 **)(param_1 + 0x1c))[3]);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)(puVar2,uVar4,0x1000);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (puVar2,PTR_s_courses_003a88ec + -0x6e0,0x1000);\n          }\n          return puVar2;\n        }\n        goto LAB_000fece8;\n      }\n      goto LAB_000fedb0;\n    }" if (parenthesized_expression "(*(int *)(param_1 + 0x24) == -0x54535255)" ( (binary_expression "*(int *)(param_1 + 0x24) == -0x54535255" (pointer_expression "*(int *)(param_1 + 0x24)" * (cast_expression "(int *)(param_1 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x24)" ( (binary_expression "param_1 + 0x24" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      if (param_2 != (undefined4 *)0x0) {\n        *param_2 = **(undefined4 **)(param_1 + 0x1c);\n        puVar2 = (undefined4 *)(*(code *)puVar15)(0x2000,1);\n        if (puVar2 != (undefined4 *)0x0) {\n          puVar3 = *(undefined4 **)(param_1 + 0x1c);\n          *(undefined1 *)puVar2 = 0;\n          if (puVar3[2] != 0) {\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)(*puVar3);\n            (*(code *)PTR_CopyMagickString_003a983c)(puVar2,uVar4,0x1000);\n            puVar3 = *(undefined4 **)(param_1 + 0x1c);\n          }\n          if (puVar3[3] != 0) {\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (puVar2,PTR_s_t_to_left_003a88e4 + -0x5090,0x1000);\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)\n                              (**(undefined4 **)(param_1 + 0x1c),\n                               (*(undefined4 **)(param_1 + 0x1c))[3]);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)(puVar2,uVar4,0x1000);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (puVar2,PTR_s_courses_003a88ec + -0x6e0,0x1000);\n          }\n          return puVar2;\n        }\n        goto LAB_000fece8;\n      }\n      goto LAB_000fedb0;\n    }" { (if_statement "if (param_2 != (undefined4 *)0x0) {\n        *param_2 = **(undefined4 **)(param_1 + 0x1c);\n        puVar2 = (undefined4 *)(*(code *)puVar15)(0x2000,1);\n        if (puVar2 != (undefined4 *)0x0) {\n          puVar3 = *(undefined4 **)(param_1 + 0x1c);\n          *(undefined1 *)puVar2 = 0;\n          if (puVar3[2] != 0) {\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)(*puVar3);\n            (*(code *)PTR_CopyMagickString_003a983c)(puVar2,uVar4,0x1000);\n            puVar3 = *(undefined4 **)(param_1 + 0x1c);\n          }\n          if (puVar3[3] != 0) {\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (puVar2,PTR_s_t_to_left_003a88e4 + -0x5090,0x1000);\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)\n                              (**(undefined4 **)(param_1 + 0x1c),\n                               (*(undefined4 **)(param_1 + 0x1c))[3]);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)(puVar2,uVar4,0x1000);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (puVar2,PTR_s_courses_003a88ec + -0x6e0,0x1000);\n          }\n          return puVar2;\n        }\n        goto LAB_000fece8;\n      }" if (parenthesized_expression "(param_2 != (undefined4 *)0x0)" ( (binary_expression "param_2 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        *param_2 = **(undefined4 **)(param_1 + 0x1c);\n        puVar2 = (undefined4 *)(*(code *)puVar15)(0x2000,1);\n        if (puVar2 != (undefined4 *)0x0) {\n          puVar3 = *(undefined4 **)(param_1 + 0x1c);\n          *(undefined1 *)puVar2 = 0;\n          if (puVar3[2] != 0) {\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)(*puVar3);\n            (*(code *)PTR_CopyMagickString_003a983c)(puVar2,uVar4,0x1000);\n            puVar3 = *(undefined4 **)(param_1 + 0x1c);\n          }\n          if (puVar3[3] != 0) {\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (puVar2,PTR_s_t_to_left_003a88e4 + -0x5090,0x1000);\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)\n                              (**(undefined4 **)(param_1 + 0x1c),\n                               (*(undefined4 **)(param_1 + 0x1c))[3]);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)(puVar2,uVar4,0x1000);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (puVar2,PTR_s_courses_003a88ec + -0x6e0,0x1000);\n          }\n          return puVar2;\n        }\n        goto LAB_000fece8;\n      }" { (expression_statement "*param_2 = **(undefined4 **)(param_1 + 0x1c);" (assignment_expression "*param_2 = **(undefined4 **)(param_1 + 0x1c)" (pointer_expression "*param_2" * identifier) = (pointer_expression "**(undefined4 **)(param_1 + 0x1c)" * (pointer_expression "*(undefined4 **)(param_1 + 0x1c)" * (cast_expression "(undefined4 **)(param_1 + 0x1c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x1c)" ( (binary_expression "param_1 + 0x1c" identifier + number_literal) )))))) ;) (expression_statement "puVar2 = (undefined4 *)(*(code *)puVar15)(0x2000,1);" (assignment_expression "puVar2 = (undefined4 *)(*(code *)puVar15)(0x2000,1)" identifier = (cast_expression "(undefined4 *)(*(code *)puVar15)(0x2000,1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)puVar15)(0x2000,1)" (parenthesized_expression "(*(code *)puVar15)" ( (pointer_expression "*(code *)puVar15" * (cast_expression "(code *)puVar15" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x2000,1)" ( number_literal , number_literal ))))) ;) (if_statement "if (puVar2 != (undefined4 *)0x0) {\n          puVar3 = *(undefined4 **)(param_1 + 0x1c);\n          *(undefined1 *)puVar2 = 0;\n          if (puVar3[2] != 0) {\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)(*puVar3);\n            (*(code *)PTR_CopyMagickString_003a983c)(puVar2,uVar4,0x1000);\n            puVar3 = *(undefined4 **)(param_1 + 0x1c);\n          }\n          if (puVar3[3] != 0) {\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (puVar2,PTR_s_t_to_left_003a88e4 + -0x5090,0x1000);\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)\n                              (**(undefined4 **)(param_1 + 0x1c),\n                               (*(undefined4 **)(param_1 + 0x1c))[3]);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)(puVar2,uVar4,0x1000);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (puVar2,PTR_s_courses_003a88ec + -0x6e0,0x1000);\n          }\n          return puVar2;\n        }" if (parenthesized_expression "(puVar2 != (undefined4 *)0x0)" ( (binary_expression "puVar2 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          puVar3 = *(undefined4 **)(param_1 + 0x1c);\n          *(undefined1 *)puVar2 = 0;\n          if (puVar3[2] != 0) {\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)(*puVar3);\n            (*(code *)PTR_CopyMagickString_003a983c)(puVar2,uVar4,0x1000);\n            puVar3 = *(undefined4 **)(param_1 + 0x1c);\n          }\n          if (puVar3[3] != 0) {\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (puVar2,PTR_s_t_to_left_003a88e4 + -0x5090,0x1000);\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)\n                              (**(undefined4 **)(param_1 + 0x1c),\n                               (*(undefined4 **)(param_1 + 0x1c))[3]);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)(puVar2,uVar4,0x1000);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (puVar2,PTR_s_courses_003a88ec + -0x6e0,0x1000);\n          }\n          return puVar2;\n        }" { (expression_statement "puVar3 = *(undefined4 **)(param_1 + 0x1c);" (assignment_expression "puVar3 = *(undefined4 **)(param_1 + 0x1c)" identifier = (pointer_expression "*(undefined4 **)(param_1 + 0x1c)" * (cast_expression "(undefined4 **)(param_1 + 0x1c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x1c)" ( (binary_expression "param_1 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined1 *)puVar2 = 0;" (assignment_expression "*(undefined1 *)puVar2 = 0" (pointer_expression "*(undefined1 *)puVar2" * (cast_expression "(undefined1 *)puVar2" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = number_literal) ;) (if_statement "if (puVar3[2] != 0) {\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)(*puVar3);\n            (*(code *)PTR_CopyMagickString_003a983c)(puVar2,uVar4,0x1000);\n            puVar3 = *(undefined4 **)(param_1 + 0x1c);\n          }" if (parenthesized_expression "(puVar3[2] != 0)" ( (binary_expression "puVar3[2] != 0" (subscript_expression "puVar3[2]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)(*puVar3);\n            (*(code *)PTR_CopyMagickString_003a983c)(puVar2,uVar4,0x1000);\n            puVar3 = *(undefined4 **)(param_1 + 0x1c);\n          }" { (expression_statement "uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)(*puVar3);" (assignment_expression "uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)(*puVar3)" identifier = (call_expression "(*(code *)PTR_GetLocaleExceptionMessage_003a92d0)(*puVar3)" (parenthesized_expression "(*(code *)PTR_GetLocaleExceptionMessage_003a92d0)" ( (pointer_expression "*(code *)PTR_GetLocaleExceptionMessage_003a92d0" * (cast_expression "(code *)PTR_GetLocaleExceptionMessage_003a92d0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*puVar3)" ( (pointer_expression "*puVar3" * identifier) )))) ;) (expression_statement "(*(code *)PTR_CopyMagickString_003a983c)(puVar2,uVar4,0x1000);" (call_expression "(*(code *)PTR_CopyMagickString_003a983c)(puVar2,uVar4,0x1000)" (parenthesized_expression "(*(code *)PTR_CopyMagickString_003a983c)" ( (pointer_expression "*(code *)PTR_CopyMagickString_003a983c" * (cast_expression "(code *)PTR_CopyMagickString_003a983c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar2,uVar4,0x1000)" ( identifier , identifier , number_literal ))) ;) (expression_statement "puVar3 = *(undefined4 **)(param_1 + 0x1c);" (assignment_expression "puVar3 = *(undefined4 **)(param_1 + 0x1c)" identifier = (pointer_expression "*(undefined4 **)(param_1 + 0x1c)" * (cast_expression "(undefined4 **)(param_1 + 0x1c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x1c)" ( (binary_expression "param_1 + 0x1c" identifier + number_literal) ))))) ;) })) (if_statement "if (puVar3[3] != 0) {\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (puVar2,PTR_s_t_to_left_003a88e4 + -0x5090,0x1000);\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)\n                              (**(undefined4 **)(param_1 + 0x1c),\n                               (*(undefined4 **)(param_1 + 0x1c))[3]);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)(puVar2,uVar4,0x1000);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (puVar2,PTR_s_courses_003a88ec + -0x6e0,0x1000);\n          }" if (parenthesized_expression "(puVar3[3] != 0)" ( (binary_expression "puVar3[3] != 0" (subscript_expression "puVar3[3]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (puVar2,PTR_s_t_to_left_003a88e4 + -0x5090,0x1000);\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)\n                              (**(undefined4 **)(param_1 + 0x1c),\n                               (*(undefined4 **)(param_1 + 0x1c))[3]);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)(puVar2,uVar4,0x1000);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (puVar2,PTR_s_courses_003a88ec + -0x6e0,0x1000);\n          }" { (expression_statement "(*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (puVar2,PTR_s_t_to_left_003a88e4 + -0x5090,0x1000);" (call_expression "(*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (puVar2,PTR_s_t_to_left_003a88e4 + -0x5090,0x1000)" (parenthesized_expression "(*(code *)PTR_ConcatenateMagickString_003a9898)" ( (pointer_expression "*(code *)PTR_ConcatenateMagickString_003a9898" * (cast_expression "(code *)PTR_ConcatenateMagickString_003a9898" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar2,PTR_s_t_to_left_003a88e4 + -0x5090,0x1000)" ( identifier , (binary_expression "PTR_s_t_to_left_003a88e4 + -0x5090" identifier + number_literal) , number_literal ))) ;) (expression_statement "uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)\n                              (**(undefined4 **)(param_1 + 0x1c),\n                               (*(undefined4 **)(param_1 + 0x1c))[3]);" (assignment_expression "uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)\n                              (**(undefined4 **)(param_1 + 0x1c),\n                               (*(undefined4 **)(param_1 + 0x1c))[3])" identifier = (call_expression "(*(code *)PTR_GetLocaleExceptionMessage_003a92d0)\n                              (**(undefined4 **)(param_1 + 0x1c),\n                               (*(undefined4 **)(param_1 + 0x1c))[3])" (parenthesized_expression "(*(code *)PTR_GetLocaleExceptionMessage_003a92d0)" ( (pointer_expression "*(code *)PTR_GetLocaleExceptionMessage_003a92d0" * (cast_expression "(code *)PTR_GetLocaleExceptionMessage_003a92d0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(**(undefined4 **)(param_1 + 0x1c),\n                               (*(undefined4 **)(param_1 + 0x1c))[3])" ( (pointer_expression "**(undefined4 **)(param_1 + 0x1c)" * (pointer_expression "*(undefined4 **)(param_1 + 0x1c)" * (cast_expression "(undefined4 **)(param_1 + 0x1c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x1c)" ( (binary_expression "param_1 + 0x1c" identifier + number_literal) ))))) , (subscript_expression "(*(undefined4 **)(param_1 + 0x1c))[3]" (parenthesized_expression "(*(undefined4 **)(param_1 + 0x1c))" ( (pointer_expression "*(undefined4 **)(param_1 + 0x1c)" * (cast_expression "(undefined4 **)(param_1 + 0x1c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x1c)" ( (binary_expression "param_1 + 0x1c" identifier + number_literal) )))) )) [ number_literal ]) )))) ;) (expression_statement "(*(code *)PTR_ConcatenateMagickString_003a9898)(puVar2,uVar4,0x1000);" (call_expression "(*(code *)PTR_ConcatenateMagickString_003a9898)(puVar2,uVar4,0x1000)" (parenthesized_expression "(*(code *)PTR_ConcatenateMagickString_003a9898)" ( (pointer_expression "*(code *)PTR_ConcatenateMagickString_003a9898" * (cast_expression "(code *)PTR_ConcatenateMagickString_003a9898" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar2,uVar4,0x1000)" ( identifier , identifier , number_literal ))) ;) (expression_statement "(*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (puVar2,PTR_s_courses_003a88ec + -0x6e0,0x1000);" (call_expression "(*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (puVar2,PTR_s_courses_003a88ec + -0x6e0,0x1000)" (parenthesized_expression "(*(code *)PTR_ConcatenateMagickString_003a9898)" ( (pointer_expression "*(code *)PTR_ConcatenateMagickString_003a9898" * (cast_expression "(code *)PTR_ConcatenateMagickString_003a9898" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar2,PTR_s_courses_003a88ec + -0x6e0,0x1000)" ( identifier , (binary_expression "PTR_s_courses_003a88ec + -0x6e0" identifier + number_literal) , number_literal ))) ;) })) (return_statement "return puVar2;" return identifier ;) })) (goto_statement "goto LAB_000fece8;" goto statement_identifier ;) })) (goto_statement "goto LAB_000fedb0;" goto statement_identifier ;) })) }))) (expression_statement "puVar7 = PTR_s_t_to_left_003a88e4 + -0x5168;" (assignment_expression "puVar7 = PTR_s_t_to_left_003a88e4 + -0x5168" identifier = (binary_expression "PTR_s_t_to_left_003a88e4 + -0x5168" identifier + number_literal)) ;) (expression_statement "puVar2 = (undefined4 *)(PTR_s_t_to_left_003a88e4 + -0x512c);" (assignment_expression "puVar2 = (undefined4 *)(PTR_s_t_to_left_003a88e4 + -0x512c)" identifier = (cast_expression "(undefined4 *)(PTR_s_t_to_left_003a88e4 + -0x512c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_t_to_left_003a88e4 + -0x512c)" ( (binary_expression "PTR_s_t_to_left_003a88e4 + -0x512c" identifier + number_literal) )))) ;) (expression_statement "puVar15 = PTR___assert_fail_003a9608;" (assignment_expression "puVar15 = PTR___assert_fail_003a9608" identifier = identifier) ;) (expression_statement "(*(code *)PTR___assert_fail_003a9608)(puVar2,puVar7,0x195,puVar10 + -0x4f04);" (call_expression "(*(code *)PTR___assert_fail_003a9608)(puVar2,puVar7,0x195,puVar10 + -0x4f04)" (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 "(puVar2,puVar7,0x195,puVar10 + -0x4f04)" ( identifier , identifier , number_literal , (binary_expression "puVar10 + -0x4f04" identifier + number_literal) ))) ;) (if_statement "if (puVar7 == (undefined *)0x0) {\n    (**(code **)(puVar15 + 0x2aa818))\n              (*(int *)(puVar15 + 0x2a9af4) + -0x5150,*(int *)(puVar15 + 0x2a9af4) + -0x5168,0x1c4,\n               *(int *)(puVar15 + 0x2a9af4) + -0x4f30);\n  }\n  else if (*(int *)(puVar7 + 0x24) == -0x54535255) {\n    uVar11 = *(undefined4 *)(puVar7 + 8);\n    uVar9 = *(undefined4 *)(puVar7 + 0xc);\n    uVar4 = *(undefined4 *)(puVar7 + 0x10);\n    *puVar2 = *(undefined4 *)(puVar7 + 4);\n    puVar2[1] = uVar11;\n    puVar2[2] = uVar9;\n    puVar2[3] = uVar4;\n    return puVar2;\n  }" if (parenthesized_expression "(puVar7 == (undefined *)0x0)" ( (binary_expression "puVar7 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    (**(code **)(puVar15 + 0x2aa818))\n              (*(int *)(puVar15 + 0x2a9af4) + -0x5150,*(int *)(puVar15 + 0x2a9af4) + -0x5168,0x1c4,\n               *(int *)(puVar15 + 0x2a9af4) + -0x4f30);\n  }" { (expression_statement "(**(code **)(puVar15 + 0x2aa818))\n              (*(int *)(puVar15 + 0x2a9af4) + -0x5150,*(int *)(puVar15 + 0x2a9af4) + -0x5168,0x1c4,\n               *(int *)(puVar15 + 0x2a9af4) + -0x4f30);" (call_expression "(**(code **)(puVar15 + 0x2aa818))\n              (*(int *)(puVar15 + 0x2a9af4) + -0x5150,*(int *)(puVar15 + 0x2a9af4) + -0x5168,0x1c4,\n               *(int *)(puVar15 + 0x2a9af4) + -0x4f30)" (parenthesized_expression "(**(code **)(puVar15 + 0x2aa818))" ( (pointer_expression "**(code **)(puVar15 + 0x2aa818)" * (pointer_expression "*(code **)(puVar15 + 0x2aa818)" * (cast_expression "(code **)(puVar15 + 0x2aa818)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + 0x2aa818)" ( (binary_expression "puVar15 + 0x2aa818" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar15 + 0x2a9af4) + -0x5150,*(int *)(puVar15 + 0x2a9af4) + -0x5168,0x1c4,\n               *(int *)(puVar15 + 0x2a9af4) + -0x4f30)" ( (binary_expression "*(int *)(puVar15 + 0x2a9af4) + -0x5150" (pointer_expression "*(int *)(puVar15 + 0x2a9af4)" * (cast_expression "(int *)(puVar15 + 0x2a9af4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x2a9af4)" ( (binary_expression "puVar15 + 0x2a9af4" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar15 + 0x2a9af4) + -0x5168" (pointer_expression "*(int *)(puVar15 + 0x2a9af4)" * (cast_expression "(int *)(puVar15 + 0x2a9af4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x2a9af4)" ( (binary_expression "puVar15 + 0x2a9af4" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar15 + 0x2a9af4) + -0x4f30" (pointer_expression "*(int *)(puVar15 + 0x2a9af4)" * (cast_expression "(int *)(puVar15 + 0x2a9af4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x2a9af4)" ( (binary_expression "puVar15 + 0x2a9af4" identifier + number_literal) )))) + number_literal) ))) ;) }) (else_clause "else if (*(int *)(puVar7 + 0x24) == -0x54535255) {\n    uVar11 = *(undefined4 *)(puVar7 + 8);\n    uVar9 = *(undefined4 *)(puVar7 + 0xc);\n    uVar4 = *(undefined4 *)(puVar7 + 0x10);\n    *puVar2 = *(undefined4 *)(puVar7 + 4);\n    puVar2[1] = uVar11;\n    puVar2[2] = uVar9;\n    puVar2[3] = uVar4;\n    return puVar2;\n  }" else (if_statement "if (*(int *)(puVar7 + 0x24) == -0x54535255) {\n    uVar11 = *(undefined4 *)(puVar7 + 8);\n    uVar9 = *(undefined4 *)(puVar7 + 0xc);\n    uVar4 = *(undefined4 *)(puVar7 + 0x10);\n    *puVar2 = *(undefined4 *)(puVar7 + 4);\n    puVar2[1] = uVar11;\n    puVar2[2] = uVar9;\n    puVar2[3] = uVar4;\n    return puVar2;\n  }" if (parenthesized_expression "(*(int *)(puVar7 + 0x24) == -0x54535255)" ( (binary_expression "*(int *)(puVar7 + 0x24) == -0x54535255" (pointer_expression "*(int *)(puVar7 + 0x24)" * (cast_expression "(int *)(puVar7 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 0x24)" ( (binary_expression "puVar7 + 0x24" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    uVar11 = *(undefined4 *)(puVar7 + 8);\n    uVar9 = *(undefined4 *)(puVar7 + 0xc);\n    uVar4 = *(undefined4 *)(puVar7 + 0x10);\n    *puVar2 = *(undefined4 *)(puVar7 + 4);\n    puVar2[1] = uVar11;\n    puVar2[2] = uVar9;\n    puVar2[3] = uVar4;\n    return puVar2;\n  }" { (expression_statement "uVar11 = *(undefined4 *)(puVar7 + 8);" (assignment_expression "uVar11 = *(undefined4 *)(puVar7 + 8)" identifier = (pointer_expression "*(undefined4 *)(puVar7 + 8)" * (cast_expression "(undefined4 *)(puVar7 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 8)" ( (binary_expression "puVar7 + 8" identifier + number_literal) ))))) ;) (expression_statement "uVar9 = *(undefined4 *)(puVar7 + 0xc);" (assignment_expression "uVar9 = *(undefined4 *)(puVar7 + 0xc)" identifier = (pointer_expression "*(undefined4 *)(puVar7 + 0xc)" * (cast_expression "(undefined4 *)(puVar7 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 0xc)" ( (binary_expression "puVar7 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "uVar4 = *(undefined4 *)(puVar7 + 0x10);" (assignment_expression "uVar4 = *(undefined4 *)(puVar7 + 0x10)" identifier = (pointer_expression "*(undefined4 *)(puVar7 + 0x10)" * (cast_expression "(undefined4 *)(puVar7 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 0x10)" ( (binary_expression "puVar7 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "*puVar2 = *(undefined4 *)(puVar7 + 4);" (assignment_expression "*puVar2 = *(undefined4 *)(puVar7 + 4)" (pointer_expression "*puVar2" * identifier) = (pointer_expression "*(undefined4 *)(puVar7 + 4)" * (cast_expression "(undefined4 *)(puVar7 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 4)" ( (binary_expression "puVar7 + 4" identifier + number_literal) ))))) ;) (expression_statement "puVar2[1] = uVar11;" (assignment_expression "puVar2[1] = uVar11" (subscript_expression "puVar2[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar2[2] = uVar9;" (assignment_expression "puVar2[2] = uVar9" (subscript_expression "puVar2[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar2[3] = uVar4;" (assignment_expression "puVar2[3] = uVar4" (subscript_expression "puVar2[3]" identifier [ number_literal ]) = identifier) ;) (return_statement "return puVar2;" return identifier ;) })))) (expression_statement "pcVar16 = *(code **)(puVar15 + 0x2aa818);" (assignment_expression "pcVar16 = *(code **)(puVar15 + 0x2aa818)" identifier = (pointer_expression "*(code **)(puVar15 + 0x2aa818)" * (cast_expression "(code **)(puVar15 + 0x2aa818)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + 0x2aa818)" ( (binary_expression "puVar15 + 0x2aa818" identifier + number_literal) ))))) ;) (expression_statement "iVar6 = *(int *)(puVar15 + 0x2a9af4) + -0x512c;" (assignment_expression "iVar6 = *(int *)(puVar15 + 0x2a9af4) + -0x512c" identifier = (binary_expression "*(int *)(puVar15 + 0x2a9af4) + -0x512c" (pointer_expression "*(int *)(puVar15 + 0x2a9af4)" * (cast_expression "(int *)(puVar15 + 0x2a9af4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x2a9af4)" ( (binary_expression "puVar15 + 0x2a9af4" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar16)(iVar6,*(int *)(puVar15 + 0x2a9af4) + -0x5168,0x1c5,\n             *(int *)(puVar15 + 0x2a9af4) + -0x4f30);" (call_expression "(*pcVar16)(iVar6,*(int *)(puVar15 + 0x2a9af4) + -0x5168,0x1c5,\n             *(int *)(puVar15 + 0x2a9af4) + -0x4f30)" (parenthesized_expression "(*pcVar16)" ( (pointer_expression "*pcVar16" * identifier) )) (argument_list "(iVar6,*(int *)(puVar15 + 0x2a9af4) + -0x5168,0x1c5,\n             *(int *)(puVar15 + 0x2a9af4) + -0x4f30)" ( identifier , (binary_expression "*(int *)(puVar15 + 0x2a9af4) + -0x5168" (pointer_expression "*(int *)(puVar15 + 0x2a9af4)" * (cast_expression "(int *)(puVar15 + 0x2a9af4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x2a9af4)" ( (binary_expression "puVar15 + 0x2a9af4" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar15 + 0x2a9af4) + -0x4f30" (pointer_expression "*(int *)(puVar15 + 0x2a9af4)" * (cast_expression "(int *)(puVar15 + 0x2a9af4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x2a9af4)" ( (binary_expression "puVar15 + 0x2a9af4" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (iVar6 == 0) {\n    (**(code **)(pcVar16 + 0x2aa774))\n              (*(int *)(pcVar16 + 0x2a9a50) + -0x5150,*(int *)(pcVar16 + 0x2a9a50) + -0x5168,0x1e1,\n               *(int *)(pcVar16 + 0x2a9a50) + -0x4f44);\n  }\n  else if (*(int *)(iVar6 + 0x24) == -0x54535255) {\n    return *(undefined4 **)(iVar6 + 0x14);\n  }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n    (**(code **)(pcVar16 + 0x2aa774))\n              (*(int *)(pcVar16 + 0x2a9a50) + -0x5150,*(int *)(pcVar16 + 0x2a9a50) + -0x5168,0x1e1,\n               *(int *)(pcVar16 + 0x2a9a50) + -0x4f44);\n  }" { (expression_statement "(**(code **)(pcVar16 + 0x2aa774))\n              (*(int *)(pcVar16 + 0x2a9a50) + -0x5150,*(int *)(pcVar16 + 0x2a9a50) + -0x5168,0x1e1,\n               *(int *)(pcVar16 + 0x2a9a50) + -0x4f44);" (call_expression "(**(code **)(pcVar16 + 0x2aa774))\n              (*(int *)(pcVar16 + 0x2a9a50) + -0x5150,*(int *)(pcVar16 + 0x2a9a50) + -0x5168,0x1e1,\n               *(int *)(pcVar16 + 0x2a9a50) + -0x4f44)" (parenthesized_expression "(**(code **)(pcVar16 + 0x2aa774))" ( (pointer_expression "**(code **)(pcVar16 + 0x2aa774)" * (pointer_expression "*(code **)(pcVar16 + 0x2aa774)" * (cast_expression "(code **)(pcVar16 + 0x2aa774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + 0x2aa774)" ( (binary_expression "pcVar16 + 0x2aa774" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar16 + 0x2a9a50) + -0x5150,*(int *)(pcVar16 + 0x2a9a50) + -0x5168,0x1e1,\n               *(int *)(pcVar16 + 0x2a9a50) + -0x4f44)" ( (binary_expression "*(int *)(pcVar16 + 0x2a9a50) + -0x5150" (pointer_expression "*(int *)(pcVar16 + 0x2a9a50)" * (cast_expression "(int *)(pcVar16 + 0x2a9a50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x2a9a50)" ( (binary_expression "pcVar16 + 0x2a9a50" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar16 + 0x2a9a50) + -0x5168" (pointer_expression "*(int *)(pcVar16 + 0x2a9a50)" * (cast_expression "(int *)(pcVar16 + 0x2a9a50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x2a9a50)" ( (binary_expression "pcVar16 + 0x2a9a50" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar16 + 0x2a9a50) + -0x4f44" (pointer_expression "*(int *)(pcVar16 + 0x2a9a50)" * (cast_expression "(int *)(pcVar16 + 0x2a9a50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x2a9a50)" ( (binary_expression "pcVar16 + 0x2a9a50" identifier + number_literal) )))) + number_literal) ))) ;) }) (else_clause "else if (*(int *)(iVar6 + 0x24) == -0x54535255) {\n    return *(undefined4 **)(iVar6 + 0x14);\n  }" else (if_statement "if (*(int *)(iVar6 + 0x24) == -0x54535255) {\n    return *(undefined4 **)(iVar6 + 0x14);\n  }" if (parenthesized_expression "(*(int *)(iVar6 + 0x24) == -0x54535255)" ( (binary_expression "*(int *)(iVar6 + 0x24) == -0x54535255" (pointer_expression "*(int *)(iVar6 + 0x24)" * (cast_expression "(int *)(iVar6 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x24)" ( (binary_expression "iVar6 + 0x24" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    return *(undefined4 **)(iVar6 + 0x14);\n  }" { (return_statement "return *(undefined4 **)(iVar6 + 0x14);" return (pointer_expression "*(undefined4 **)(iVar6 + 0x14)" * (cast_expression "(undefined4 **)(iVar6 + 0x14)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + 0x14)" ( (binary_expression "iVar6 + 0x14" identifier + number_literal) )))) ;) })))) (expression_statement "uVar4 = 0x1e2;" (assignment_expression "uVar4 = 0x1e2" identifier = number_literal) ;) (expression_statement "pcVar17 = *(code **)(pcVar16 + 0x2aa774);" (assignment_expression "pcVar17 = *(code **)(pcVar16 + 0x2aa774)" identifier = (pointer_expression "*(code **)(pcVar16 + 0x2aa774)" * (cast_expression "(code **)(pcVar16 + 0x2aa774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + 0x2aa774)" ( (binary_expression "pcVar16 + 0x2aa774" identifier + number_literal) ))))) ;) (expression_statement "iVar8 = *(int *)(pcVar16 + 0x2a9a50) + -0x5168;" (assignment_expression "iVar8 = *(int *)(pcVar16 + 0x2a9a50) + -0x5168" identifier = (binary_expression "*(int *)(pcVar16 + 0x2a9a50) + -0x5168" (pointer_expression "*(int *)(pcVar16 + 0x2a9a50)" * (cast_expression "(int *)(pcVar16 + 0x2a9a50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x2a9a50)" ( (binary_expression "pcVar16 + 0x2a9a50" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "iVar6 = *(int *)(pcVar16 + 0x2a9a50) + -0x512c;" (assignment_expression "iVar6 = *(int *)(pcVar16 + 0x2a9a50) + -0x512c" identifier = (binary_expression "*(int *)(pcVar16 + 0x2a9a50) + -0x512c" (pointer_expression "*(int *)(pcVar16 + 0x2a9a50)" * (cast_expression "(int *)(pcVar16 + 0x2a9a50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x2a9a50)" ( (binary_expression "pcVar16 + 0x2a9a50" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar17)();" (call_expression "(*pcVar17)()" (parenthesized_expression "(*pcVar17)" ( (pointer_expression "*pcVar17" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "piVar12 = *(int **)(pcVar17 + 0x2aa318);" (assignment_expression "piVar12 = *(int **)(pcVar17 + 0x2aa318)" identifier = (pointer_expression "*(int **)(pcVar17 + 0x2aa318)" * (cast_expression "(int **)(pcVar17 + 0x2aa318)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x2aa318)" ( (binary_expression "pcVar17 + 0x2aa318" identifier + number_literal) ))))) ;) (expression_statement "iStack_9c = *piVar12;" (assignment_expression "iStack_9c = *piVar12" identifier = (pointer_expression "*piVar12" * identifier)) ;) (expression_statement "uStack_98 = unaff_s0;" (assignment_expression "uStack_98 = unaff_s0" identifier = identifier) ;) (expression_statement "iStack_94 = param_1;" (assignment_expression "iStack_94 = param_1" identifier = identifier) ;) (if_statement "if (iVar6 == 0) {\n    (**(code **)(pcVar17 + 0x2aa6f0))\n              (*(int *)(pcVar17 + 0x2a99cc) + -0x50fc,*(int *)(pcVar17 + 0x2a99cc) + -0x5168,0x225,\n               *(int *)(pcVar17 + 0x2a99cc) + -0x4f5c);\n  }\n  else if (*(int *)(iVar6 + 0x24) == -0x54535255) {\n    if (iVar8 == 0) {\n      puVar2 = (undefined4 *)0x0;\n    }\n    else {\n      uVar9 = *(undefined4 *)(iVar6 + 0x14);\n      iVar13 = *(int *)(iVar6 + 8);\n      iVar14 = *(int *)(iVar6 + 0x10);\n      uStack_bc = 0;\n      uStack_c0 = 0;\n      iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9);\n      if (((iVar5 == 4) || (iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3)) &&\n         ((iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 4 ||\n          (iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3)))) {\n        iVar13 = iVar13 - iVar14;\n        (**(code **)(pcVar17 + 0x2aa224))(7);\n        iVar5 = iVar13;\n        if (iVar13 < 0) {\n          iVar5 = iVar13 + 0x3f;\n        }\n        iVar5 = iVar5 >> 6;\n        if (extraout_v1 < iVar5) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          bVar1 = extraout_v1_02 < 2;\n        }\n        else {\n          bVar1 = iVar13 < 0x80;\n        }\n        iVar13 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          if (extraout_v1_01 < iVar5) {\n            (**(code **)(pcVar17 + 0x2aa224))(7);\n            iVar5 = extraout_v1_03;\n          }\n          goto LAB_000feff4;\n        }\n        iVar14 = *(int *)(pcVar17 + 0x2a9b7c);\n      }\n      else {\n        uVar18 = (**(code **)(pcVar17 + 0x2aa224))(7);\n        if ((int)((ulonglong)uVar18 >> 0x20) == 0) {\n          pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n          if ((uint)uVar18 < 2) {\n            uVar18 = (*pcVar16)(7);\n            if ((int)((ulonglong)uVar18 >> 0x20) != 0) goto LAB_000fefdc;\n            pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n            if ((uint)uVar18 < 2) {\n              iVar5 = 1;\n              goto LAB_000feff4;\n            }\n          }\n        }\n        else {\nLAB_000fefdc:\n          pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n        }\n        uVar18 = (*pcVar16)(7);\n        if (((int)((ulonglong)uVar18 >> 0x20) == 0) && ((uint)uVar18 < 2)) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          iVar5 = extraout_v1_00;\n        }\n        else {\n          iVar5 = 2;\n        }\nLAB_000feff4:\n        iVar14 = *(int *)(pcVar17 + 0x2a9b7c);\n        iVar13 = iVar5;\n      }\n      puStack_a4 = (undefined4 *)0x1;\n      puStack_a0 = &uStack_c0;\n      iStack_b4 = iVar6;\n      iStack_b0 = iVar8;\n      uStack_ac = uVar4;\n      uStack_a8 = uVar9;\n      (**(code **)(pcVar17 + 0x2aa280))(iVar14 + -0x2298,&iStack_b4,iVar13,0);\n      puVar2 = puStack_a4;\n    }\n    iVar6 = iStack_9c;\n    if (iStack_9c == *piVar12) {\n      return puVar2;\n    }\n    goto LAB_000ff1d4;\n  }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n    (**(code **)(pcVar17 + 0x2aa6f0))\n              (*(int *)(pcVar17 + 0x2a99cc) + -0x50fc,*(int *)(pcVar17 + 0x2a99cc) + -0x5168,0x225,\n               *(int *)(pcVar17 + 0x2a99cc) + -0x4f5c);\n  }" { (expression_statement "(**(code **)(pcVar17 + 0x2aa6f0))\n              (*(int *)(pcVar17 + 0x2a99cc) + -0x50fc,*(int *)(pcVar17 + 0x2a99cc) + -0x5168,0x225,\n               *(int *)(pcVar17 + 0x2a99cc) + -0x4f5c);" (call_expression "(**(code **)(pcVar17 + 0x2aa6f0))\n              (*(int *)(pcVar17 + 0x2a99cc) + -0x50fc,*(int *)(pcVar17 + 0x2a99cc) + -0x5168,0x225,\n               *(int *)(pcVar17 + 0x2a99cc) + -0x4f5c)" (parenthesized_expression "(**(code **)(pcVar17 + 0x2aa6f0))" ( (pointer_expression "**(code **)(pcVar17 + 0x2aa6f0)" * (pointer_expression "*(code **)(pcVar17 + 0x2aa6f0)" * (cast_expression "(code **)(pcVar17 + 0x2aa6f0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x2aa6f0)" ( (binary_expression "pcVar17 + 0x2aa6f0" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar17 + 0x2a99cc) + -0x50fc,*(int *)(pcVar17 + 0x2a99cc) + -0x5168,0x225,\n               *(int *)(pcVar17 + 0x2a99cc) + -0x4f5c)" ( (binary_expression "*(int *)(pcVar17 + 0x2a99cc) + -0x50fc" (pointer_expression "*(int *)(pcVar17 + 0x2a99cc)" * (cast_expression "(int *)(pcVar17 + 0x2a99cc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x2a99cc)" ( (binary_expression "pcVar17 + 0x2a99cc" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar17 + 0x2a99cc) + -0x5168" (pointer_expression "*(int *)(pcVar17 + 0x2a99cc)" * (cast_expression "(int *)(pcVar17 + 0x2a99cc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x2a99cc)" ( (binary_expression "pcVar17 + 0x2a99cc" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar17 + 0x2a99cc) + -0x4f5c" (pointer_expression "*(int *)(pcVar17 + 0x2a99cc)" * (cast_expression "(int *)(pcVar17 + 0x2a99cc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x2a99cc)" ( (binary_expression "pcVar17 + 0x2a99cc" identifier + number_literal) )))) + number_literal) ))) ;) }) (else_clause "else if (*(int *)(iVar6 + 0x24) == -0x54535255) {\n    if (iVar8 == 0) {\n      puVar2 = (undefined4 *)0x0;\n    }\n    else {\n      uVar9 = *(undefined4 *)(iVar6 + 0x14);\n      iVar13 = *(int *)(iVar6 + 8);\n      iVar14 = *(int *)(iVar6 + 0x10);\n      uStack_bc = 0;\n      uStack_c0 = 0;\n      iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9);\n      if (((iVar5 == 4) || (iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3)) &&\n         ((iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 4 ||\n          (iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3)))) {\n        iVar13 = iVar13 - iVar14;\n        (**(code **)(pcVar17 + 0x2aa224))(7);\n        iVar5 = iVar13;\n        if (iVar13 < 0) {\n          iVar5 = iVar13 + 0x3f;\n        }\n        iVar5 = iVar5 >> 6;\n        if (extraout_v1 < iVar5) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          bVar1 = extraout_v1_02 < 2;\n        }\n        else {\n          bVar1 = iVar13 < 0x80;\n        }\n        iVar13 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          if (extraout_v1_01 < iVar5) {\n            (**(code **)(pcVar17 + 0x2aa224))(7);\n            iVar5 = extraout_v1_03;\n          }\n          goto LAB_000feff4;\n        }\n        iVar14 = *(int *)(pcVar17 + 0x2a9b7c);\n      }\n      else {\n        uVar18 = (**(code **)(pcVar17 + 0x2aa224))(7);\n        if ((int)((ulonglong)uVar18 >> 0x20) == 0) {\n          pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n          if ((uint)uVar18 < 2) {\n            uVar18 = (*pcVar16)(7);\n            if ((int)((ulonglong)uVar18 >> 0x20) != 0) goto LAB_000fefdc;\n            pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n            if ((uint)uVar18 < 2) {\n              iVar5 = 1;\n              goto LAB_000feff4;\n            }\n          }\n        }\n        else {\nLAB_000fefdc:\n          pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n        }\n        uVar18 = (*pcVar16)(7);\n        if (((int)((ulonglong)uVar18 >> 0x20) == 0) && ((uint)uVar18 < 2)) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          iVar5 = extraout_v1_00;\n        }\n        else {\n          iVar5 = 2;\n        }\nLAB_000feff4:\n        iVar14 = *(int *)(pcVar17 + 0x2a9b7c);\n        iVar13 = iVar5;\n      }\n      puStack_a4 = (undefined4 *)0x1;\n      puStack_a0 = &uStack_c0;\n      iStack_b4 = iVar6;\n      iStack_b0 = iVar8;\n      uStack_ac = uVar4;\n      uStack_a8 = uVar9;\n      (**(code **)(pcVar17 + 0x2aa280))(iVar14 + -0x2298,&iStack_b4,iVar13,0);\n      puVar2 = puStack_a4;\n    }\n    iVar6 = iStack_9c;\n    if (iStack_9c == *piVar12) {\n      return puVar2;\n    }\n    goto LAB_000ff1d4;\n  }" else (if_statement "if (*(int *)(iVar6 + 0x24) == -0x54535255) {\n    if (iVar8 == 0) {\n      puVar2 = (undefined4 *)0x0;\n    }\n    else {\n      uVar9 = *(undefined4 *)(iVar6 + 0x14);\n      iVar13 = *(int *)(iVar6 + 8);\n      iVar14 = *(int *)(iVar6 + 0x10);\n      uStack_bc = 0;\n      uStack_c0 = 0;\n      iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9);\n      if (((iVar5 == 4) || (iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3)) &&\n         ((iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 4 ||\n          (iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3)))) {\n        iVar13 = iVar13 - iVar14;\n        (**(code **)(pcVar17 + 0x2aa224))(7);\n        iVar5 = iVar13;\n        if (iVar13 < 0) {\n          iVar5 = iVar13 + 0x3f;\n        }\n        iVar5 = iVar5 >> 6;\n        if (extraout_v1 < iVar5) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          bVar1 = extraout_v1_02 < 2;\n        }\n        else {\n          bVar1 = iVar13 < 0x80;\n        }\n        iVar13 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          if (extraout_v1_01 < iVar5) {\n            (**(code **)(pcVar17 + 0x2aa224))(7);\n            iVar5 = extraout_v1_03;\n          }\n          goto LAB_000feff4;\n        }\n        iVar14 = *(int *)(pcVar17 + 0x2a9b7c);\n      }\n      else {\n        uVar18 = (**(code **)(pcVar17 + 0x2aa224))(7);\n        if ((int)((ulonglong)uVar18 >> 0x20) == 0) {\n          pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n          if ((uint)uVar18 < 2) {\n            uVar18 = (*pcVar16)(7);\n            if ((int)((ulonglong)uVar18 >> 0x20) != 0) goto LAB_000fefdc;\n            pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n            if ((uint)uVar18 < 2) {\n              iVar5 = 1;\n              goto LAB_000feff4;\n            }\n          }\n        }\n        else {\nLAB_000fefdc:\n          pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n        }\n        uVar18 = (*pcVar16)(7);\n        if (((int)((ulonglong)uVar18 >> 0x20) == 0) && ((uint)uVar18 < 2)) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          iVar5 = extraout_v1_00;\n        }\n        else {\n          iVar5 = 2;\n        }\nLAB_000feff4:\n        iVar14 = *(int *)(pcVar17 + 0x2a9b7c);\n        iVar13 = iVar5;\n      }\n      puStack_a4 = (undefined4 *)0x1;\n      puStack_a0 = &uStack_c0;\n      iStack_b4 = iVar6;\n      iStack_b0 = iVar8;\n      uStack_ac = uVar4;\n      uStack_a8 = uVar9;\n      (**(code **)(pcVar17 + 0x2aa280))(iVar14 + -0x2298,&iStack_b4,iVar13,0);\n      puVar2 = puStack_a4;\n    }\n    iVar6 = iStack_9c;\n    if (iStack_9c == *piVar12) {\n      return puVar2;\n    }\n    goto LAB_000ff1d4;\n  }" if (parenthesized_expression "(*(int *)(iVar6 + 0x24) == -0x54535255)" ( (binary_expression "*(int *)(iVar6 + 0x24) == -0x54535255" (pointer_expression "*(int *)(iVar6 + 0x24)" * (cast_expression "(int *)(iVar6 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x24)" ( (binary_expression "iVar6 + 0x24" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    if (iVar8 == 0) {\n      puVar2 = (undefined4 *)0x0;\n    }\n    else {\n      uVar9 = *(undefined4 *)(iVar6 + 0x14);\n      iVar13 = *(int *)(iVar6 + 8);\n      iVar14 = *(int *)(iVar6 + 0x10);\n      uStack_bc = 0;\n      uStack_c0 = 0;\n      iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9);\n      if (((iVar5 == 4) || (iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3)) &&\n         ((iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 4 ||\n          (iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3)))) {\n        iVar13 = iVar13 - iVar14;\n        (**(code **)(pcVar17 + 0x2aa224))(7);\n        iVar5 = iVar13;\n        if (iVar13 < 0) {\n          iVar5 = iVar13 + 0x3f;\n        }\n        iVar5 = iVar5 >> 6;\n        if (extraout_v1 < iVar5) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          bVar1 = extraout_v1_02 < 2;\n        }\n        else {\n          bVar1 = iVar13 < 0x80;\n        }\n        iVar13 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          if (extraout_v1_01 < iVar5) {\n            (**(code **)(pcVar17 + 0x2aa224))(7);\n            iVar5 = extraout_v1_03;\n          }\n          goto LAB_000feff4;\n        }\n        iVar14 = *(int *)(pcVar17 + 0x2a9b7c);\n      }\n      else {\n        uVar18 = (**(code **)(pcVar17 + 0x2aa224))(7);\n        if ((int)((ulonglong)uVar18 >> 0x20) == 0) {\n          pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n          if ((uint)uVar18 < 2) {\n            uVar18 = (*pcVar16)(7);\n            if ((int)((ulonglong)uVar18 >> 0x20) != 0) goto LAB_000fefdc;\n            pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n            if ((uint)uVar18 < 2) {\n              iVar5 = 1;\n              goto LAB_000feff4;\n            }\n          }\n        }\n        else {\nLAB_000fefdc:\n          pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n        }\n        uVar18 = (*pcVar16)(7);\n        if (((int)((ulonglong)uVar18 >> 0x20) == 0) && ((uint)uVar18 < 2)) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          iVar5 = extraout_v1_00;\n        }\n        else {\n          iVar5 = 2;\n        }\nLAB_000feff4:\n        iVar14 = *(int *)(pcVar17 + 0x2a9b7c);\n        iVar13 = iVar5;\n      }\n      puStack_a4 = (undefined4 *)0x1;\n      puStack_a0 = &uStack_c0;\n      iStack_b4 = iVar6;\n      iStack_b0 = iVar8;\n      uStack_ac = uVar4;\n      uStack_a8 = uVar9;\n      (**(code **)(pcVar17 + 0x2aa280))(iVar14 + -0x2298,&iStack_b4,iVar13,0);\n      puVar2 = puStack_a4;\n    }\n    iVar6 = iStack_9c;\n    if (iStack_9c == *piVar12) {\n      return puVar2;\n    }\n    goto LAB_000ff1d4;\n  }" { (if_statement "if (iVar8 == 0) {\n      puVar2 = (undefined4 *)0x0;\n    }\n    else {\n      uVar9 = *(undefined4 *)(iVar6 + 0x14);\n      iVar13 = *(int *)(iVar6 + 8);\n      iVar14 = *(int *)(iVar6 + 0x10);\n      uStack_bc = 0;\n      uStack_c0 = 0;\n      iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9);\n      if (((iVar5 == 4) || (iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3)) &&\n         ((iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 4 ||\n          (iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3)))) {\n        iVar13 = iVar13 - iVar14;\n        (**(code **)(pcVar17 + 0x2aa224))(7);\n        iVar5 = iVar13;\n        if (iVar13 < 0) {\n          iVar5 = iVar13 + 0x3f;\n        }\n        iVar5 = iVar5 >> 6;\n        if (extraout_v1 < iVar5) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          bVar1 = extraout_v1_02 < 2;\n        }\n        else {\n          bVar1 = iVar13 < 0x80;\n        }\n        iVar13 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          if (extraout_v1_01 < iVar5) {\n            (**(code **)(pcVar17 + 0x2aa224))(7);\n            iVar5 = extraout_v1_03;\n          }\n          goto LAB_000feff4;\n        }\n        iVar14 = *(int *)(pcVar17 + 0x2a9b7c);\n      }\n      else {\n        uVar18 = (**(code **)(pcVar17 + 0x2aa224))(7);\n        if ((int)((ulonglong)uVar18 >> 0x20) == 0) {\n          pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n          if ((uint)uVar18 < 2) {\n            uVar18 = (*pcVar16)(7);\n            if ((int)((ulonglong)uVar18 >> 0x20) != 0) goto LAB_000fefdc;\n            pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n            if ((uint)uVar18 < 2) {\n              iVar5 = 1;\n              goto LAB_000feff4;\n            }\n          }\n        }\n        else {\nLAB_000fefdc:\n          pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n        }\n        uVar18 = (*pcVar16)(7);\n        if (((int)((ulonglong)uVar18 >> 0x20) == 0) && ((uint)uVar18 < 2)) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          iVar5 = extraout_v1_00;\n        }\n        else {\n          iVar5 = 2;\n        }\nLAB_000feff4:\n        iVar14 = *(int *)(pcVar17 + 0x2a9b7c);\n        iVar13 = iVar5;\n      }\n      puStack_a4 = (undefined4 *)0x1;\n      puStack_a0 = &uStack_c0;\n      iStack_b4 = iVar6;\n      iStack_b0 = iVar8;\n      uStack_ac = uVar4;\n      uStack_a8 = uVar9;\n      (**(code **)(pcVar17 + 0x2aa280))(iVar14 + -0x2298,&iStack_b4,iVar13,0);\n      puVar2 = puStack_a4;\n    }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n      puVar2 = (undefined4 *)0x0;\n    }" { (expression_statement "puVar2 = (undefined4 *)0x0;" (assignment_expression "puVar2 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n      uVar9 = *(undefined4 *)(iVar6 + 0x14);\n      iVar13 = *(int *)(iVar6 + 8);\n      iVar14 = *(int *)(iVar6 + 0x10);\n      uStack_bc = 0;\n      uStack_c0 = 0;\n      iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9);\n      if (((iVar5 == 4) || (iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3)) &&\n         ((iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 4 ||\n          (iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3)))) {\n        iVar13 = iVar13 - iVar14;\n        (**(code **)(pcVar17 + 0x2aa224))(7);\n        iVar5 = iVar13;\n        if (iVar13 < 0) {\n          iVar5 = iVar13 + 0x3f;\n        }\n        iVar5 = iVar5 >> 6;\n        if (extraout_v1 < iVar5) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          bVar1 = extraout_v1_02 < 2;\n        }\n        else {\n          bVar1 = iVar13 < 0x80;\n        }\n        iVar13 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          if (extraout_v1_01 < iVar5) {\n            (**(code **)(pcVar17 + 0x2aa224))(7);\n            iVar5 = extraout_v1_03;\n          }\n          goto LAB_000feff4;\n        }\n        iVar14 = *(int *)(pcVar17 + 0x2a9b7c);\n      }\n      else {\n        uVar18 = (**(code **)(pcVar17 + 0x2aa224))(7);\n        if ((int)((ulonglong)uVar18 >> 0x20) == 0) {\n          pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n          if ((uint)uVar18 < 2) {\n            uVar18 = (*pcVar16)(7);\n            if ((int)((ulonglong)uVar18 >> 0x20) != 0) goto LAB_000fefdc;\n            pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n            if ((uint)uVar18 < 2) {\n              iVar5 = 1;\n              goto LAB_000feff4;\n            }\n          }\n        }\n        else {\nLAB_000fefdc:\n          pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n        }\n        uVar18 = (*pcVar16)(7);\n        if (((int)((ulonglong)uVar18 >> 0x20) == 0) && ((uint)uVar18 < 2)) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          iVar5 = extraout_v1_00;\n        }\n        else {\n          iVar5 = 2;\n        }\nLAB_000feff4:\n        iVar14 = *(int *)(pcVar17 + 0x2a9b7c);\n        iVar13 = iVar5;\n      }\n      puStack_a4 = (undefined4 *)0x1;\n      puStack_a0 = &uStack_c0;\n      iStack_b4 = iVar6;\n      iStack_b0 = iVar8;\n      uStack_ac = uVar4;\n      uStack_a8 = uVar9;\n      (**(code **)(pcVar17 + 0x2aa280))(iVar14 + -0x2298,&iStack_b4,iVar13,0);\n      puVar2 = puStack_a4;\n    }" else (compound_statement "{\n      uVar9 = *(undefined4 *)(iVar6 + 0x14);\n      iVar13 = *(int *)(iVar6 + 8);\n      iVar14 = *(int *)(iVar6 + 0x10);\n      uStack_bc = 0;\n      uStack_c0 = 0;\n      iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9);\n      if (((iVar5 == 4) || (iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3)) &&\n         ((iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 4 ||\n          (iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3)))) {\n        iVar13 = iVar13 - iVar14;\n        (**(code **)(pcVar17 + 0x2aa224))(7);\n        iVar5 = iVar13;\n        if (iVar13 < 0) {\n          iVar5 = iVar13 + 0x3f;\n        }\n        iVar5 = iVar5 >> 6;\n        if (extraout_v1 < iVar5) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          bVar1 = extraout_v1_02 < 2;\n        }\n        else {\n          bVar1 = iVar13 < 0x80;\n        }\n        iVar13 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          if (extraout_v1_01 < iVar5) {\n            (**(code **)(pcVar17 + 0x2aa224))(7);\n            iVar5 = extraout_v1_03;\n          }\n          goto LAB_000feff4;\n        }\n        iVar14 = *(int *)(pcVar17 + 0x2a9b7c);\n      }\n      else {\n        uVar18 = (**(code **)(pcVar17 + 0x2aa224))(7);\n        if ((int)((ulonglong)uVar18 >> 0x20) == 0) {\n          pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n          if ((uint)uVar18 < 2) {\n            uVar18 = (*pcVar16)(7);\n            if ((int)((ulonglong)uVar18 >> 0x20) != 0) goto LAB_000fefdc;\n            pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n            if ((uint)uVar18 < 2) {\n              iVar5 = 1;\n              goto LAB_000feff4;\n            }\n          }\n        }\n        else {\nLAB_000fefdc:\n          pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n        }\n        uVar18 = (*pcVar16)(7);\n        if (((int)((ulonglong)uVar18 >> 0x20) == 0) && ((uint)uVar18 < 2)) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          iVar5 = extraout_v1_00;\n        }\n        else {\n          iVar5 = 2;\n        }\nLAB_000feff4:\n        iVar14 = *(int *)(pcVar17 + 0x2a9b7c);\n        iVar13 = iVar5;\n      }\n      puStack_a4 = (undefined4 *)0x1;\n      puStack_a0 = &uStack_c0;\n      iStack_b4 = iVar6;\n      iStack_b0 = iVar8;\n      uStack_ac = uVar4;\n      uStack_a8 = uVar9;\n      (**(code **)(pcVar17 + 0x2aa280))(iVar14 + -0x2298,&iStack_b4,iVar13,0);\n      puVar2 = puStack_a4;\n    }" { (expression_statement "uVar9 = *(undefined4 *)(iVar6 + 0x14);" (assignment_expression "uVar9 = *(undefined4 *)(iVar6 + 0x14)" identifier = (pointer_expression "*(undefined4 *)(iVar6 + 0x14)" * (cast_expression "(undefined4 *)(iVar6 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x14)" ( (binary_expression "iVar6 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "iVar13 = *(int *)(iVar6 + 8);" (assignment_expression "iVar13 = *(int *)(iVar6 + 8)" identifier = (pointer_expression "*(int *)(iVar6 + 8)" * (cast_expression "(int *)(iVar6 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 8)" ( (binary_expression "iVar6 + 8" identifier + number_literal) ))))) ;) (expression_statement "iVar14 = *(int *)(iVar6 + 0x10);" (assignment_expression "iVar14 = *(int *)(iVar6 + 0x10)" identifier = (pointer_expression "*(int *)(iVar6 + 0x10)" * (cast_expression "(int *)(iVar6 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x10)" ( (binary_expression "iVar6 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "uStack_bc = 0;" (assignment_expression "uStack_bc = 0" identifier = number_literal) ;) (expression_statement "uStack_c0 = 0;" (assignment_expression "uStack_c0 = 0" identifier = number_literal) ;) (expression_statement "iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9);" (assignment_expression "iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9)" identifier = (call_expression "(**(code **)(pcVar17 + 0x2aa59c))(uVar9)" (parenthesized_expression "(**(code **)(pcVar17 + 0x2aa59c))" ( (pointer_expression "**(code **)(pcVar17 + 0x2aa59c)" * (pointer_expression "*(code **)(pcVar17 + 0x2aa59c)" * (cast_expression "(code **)(pcVar17 + 0x2aa59c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x2aa59c)" ( (binary_expression "pcVar17 + 0x2aa59c" identifier + number_literal) ))))) )) (argument_list "(uVar9)" ( identifier )))) ;) (if_statement "if (((iVar5 == 4) || (iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3)) &&\n         ((iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 4 ||\n          (iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3)))) {\n        iVar13 = iVar13 - iVar14;\n        (**(code **)(pcVar17 + 0x2aa224))(7);\n        iVar5 = iVar13;\n        if (iVar13 < 0) {\n          iVar5 = iVar13 + 0x3f;\n        }\n        iVar5 = iVar5 >> 6;\n        if (extraout_v1 < iVar5) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          bVar1 = extraout_v1_02 < 2;\n        }\n        else {\n          bVar1 = iVar13 < 0x80;\n        }\n        iVar13 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          if (extraout_v1_01 < iVar5) {\n            (**(code **)(pcVar17 + 0x2aa224))(7);\n            iVar5 = extraout_v1_03;\n          }\n          goto LAB_000feff4;\n        }\n        iVar14 = *(int *)(pcVar17 + 0x2a9b7c);\n      }\n      else {\n        uVar18 = (**(code **)(pcVar17 + 0x2aa224))(7);\n        if ((int)((ulonglong)uVar18 >> 0x20) == 0) {\n          pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n          if ((uint)uVar18 < 2) {\n            uVar18 = (*pcVar16)(7);\n            if ((int)((ulonglong)uVar18 >> 0x20) != 0) goto LAB_000fefdc;\n            pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n            if ((uint)uVar18 < 2) {\n              iVar5 = 1;\n              goto LAB_000feff4;\n            }\n          }\n        }\n        else {\nLAB_000fefdc:\n          pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n        }\n        uVar18 = (*pcVar16)(7);\n        if (((int)((ulonglong)uVar18 >> 0x20) == 0) && ((uint)uVar18 < 2)) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          iVar5 = extraout_v1_00;\n        }\n        else {\n          iVar5 = 2;\n        }\nLAB_000feff4:\n        iVar14 = *(int *)(pcVar17 + 0x2a9b7c);\n        iVar13 = iVar5;\n      }" if (parenthesized_expression "(((iVar5 == 4) || (iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3)) &&\n         ((iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 4 ||\n          (iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3))))" ( (binary_expression "((iVar5 == 4) || (iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3)) &&\n         ((iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 4 ||\n          (iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3)))" (parenthesized_expression "((iVar5 == 4) || (iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3))" ( (binary_expression "(iVar5 == 4) || (iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3)" (parenthesized_expression "(iVar5 == 4)" ( (binary_expression "iVar5 == 4" identifier == number_literal) )) || (parenthesized_expression "(iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3)" ( (comma_expression "iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3" (assignment_expression "iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9)" identifier = (call_expression "(**(code **)(pcVar17 + 0x2aa59c))(uVar9)" (parenthesized_expression "(**(code **)(pcVar17 + 0x2aa59c))" ( (pointer_expression "**(code **)(pcVar17 + 0x2aa59c)" * (pointer_expression "*(code **)(pcVar17 + 0x2aa59c)" * (cast_expression "(code **)(pcVar17 + 0x2aa59c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x2aa59c)" ( (binary_expression "pcVar17 + 0x2aa59c" identifier + number_literal) ))))) )) (argument_list "(uVar9)" ( identifier )))) , (binary_expression "iVar5 == 3" identifier == number_literal)) ))) )) && (parenthesized_expression "((iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 4 ||\n          (iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3)))" ( (parenthesized_expression "(iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 4 ||\n          (iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3))" ( (comma_expression "iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 4 ||\n          (iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3)" (assignment_expression "iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9)" identifier = (call_expression "(**(code **)(pcVar17 + 0x2aa59c))(uVar9)" (parenthesized_expression "(**(code **)(pcVar17 + 0x2aa59c))" ( (pointer_expression "**(code **)(pcVar17 + 0x2aa59c)" * (pointer_expression "*(code **)(pcVar17 + 0x2aa59c)" * (cast_expression "(code **)(pcVar17 + 0x2aa59c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x2aa59c)" ( (binary_expression "pcVar17 + 0x2aa59c" identifier + number_literal) ))))) )) (argument_list "(uVar9)" ( identifier )))) , (binary_expression "iVar5 == 4 ||\n          (iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3)" (binary_expression "iVar5 == 4" identifier == number_literal) || (parenthesized_expression "(iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3)" ( (comma_expression "iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3" (assignment_expression "iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9)" identifier = (call_expression "(**(code **)(pcVar17 + 0x2aa59c))(uVar9)" (parenthesized_expression "(**(code **)(pcVar17 + 0x2aa59c))" ( (pointer_expression "**(code **)(pcVar17 + 0x2aa59c)" * (pointer_expression "*(code **)(pcVar17 + 0x2aa59c)" * (cast_expression "(code **)(pcVar17 + 0x2aa59c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x2aa59c)" ( (binary_expression "pcVar17 + 0x2aa59c" identifier + number_literal) ))))) )) (argument_list "(uVar9)" ( identifier )))) , (binary_expression "iVar5 == 3" identifier == number_literal)) )))) )) ))) )) (compound_statement "{\n        iVar13 = iVar13 - iVar14;\n        (**(code **)(pcVar17 + 0x2aa224))(7);\n        iVar5 = iVar13;\n        if (iVar13 < 0) {\n          iVar5 = iVar13 + 0x3f;\n        }\n        iVar5 = iVar5 >> 6;\n        if (extraout_v1 < iVar5) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          bVar1 = extraout_v1_02 < 2;\n        }\n        else {\n          bVar1 = iVar13 < 0x80;\n        }\n        iVar13 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          if (extraout_v1_01 < iVar5) {\n            (**(code **)(pcVar17 + 0x2aa224))(7);\n            iVar5 = extraout_v1_03;\n          }\n          goto LAB_000feff4;\n        }\n        iVar14 = *(int *)(pcVar17 + 0x2a9b7c);\n      }" { (expression_statement "iVar13 = iVar13 - iVar14;" (assignment_expression "iVar13 = iVar13 - iVar14" identifier = (binary_expression "iVar13 - iVar14" identifier - identifier)) ;) (expression_statement "(**(code **)(pcVar17 + 0x2aa224))(7);" (call_expression "(**(code **)(pcVar17 + 0x2aa224))(7)" (parenthesized_expression "(**(code **)(pcVar17 + 0x2aa224))" ( (pointer_expression "**(code **)(pcVar17 + 0x2aa224)" * (pointer_expression "*(code **)(pcVar17 + 0x2aa224)" * (cast_expression "(code **)(pcVar17 + 0x2aa224)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x2aa224)" ( (binary_expression "pcVar17 + 0x2aa224" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "iVar5 = iVar13;" (assignment_expression "iVar5 = iVar13" identifier = identifier) ;) (if_statement "if (iVar13 < 0) {\n          iVar5 = iVar13 + 0x3f;\n        }" if (parenthesized_expression "(iVar13 < 0)" ( (binary_expression "iVar13 < 0" identifier < number_literal) )) (compound_statement "{\n          iVar5 = iVar13 + 0x3f;\n        }" { (expression_statement "iVar5 = iVar13 + 0x3f;" (assignment_expression "iVar5 = iVar13 + 0x3f" identifier = (binary_expression "iVar13 + 0x3f" identifier + number_literal)) ;) })) (expression_statement "iVar5 = iVar5 >> 6;" (assignment_expression "iVar5 = iVar5 >> 6" identifier = (binary_expression "iVar5 >> 6" identifier >> number_literal)) ;) (if_statement "if (extraout_v1 < iVar5) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          bVar1 = extraout_v1_02 < 2;\n        }\n        else {\n          bVar1 = iVar13 < 0x80;\n        }" if (parenthesized_expression "(extraout_v1 < iVar5)" ( (binary_expression "extraout_v1 < iVar5" identifier < identifier) )) (compound_statement "{\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          bVar1 = extraout_v1_02 < 2;\n        }" { (expression_statement "(**(code **)(pcVar17 + 0x2aa224))(7);" (call_expression "(**(code **)(pcVar17 + 0x2aa224))(7)" (parenthesized_expression "(**(code **)(pcVar17 + 0x2aa224))" ( (pointer_expression "**(code **)(pcVar17 + 0x2aa224)" * (pointer_expression "*(code **)(pcVar17 + 0x2aa224)" * (cast_expression "(code **)(pcVar17 + 0x2aa224)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x2aa224)" ( (binary_expression "pcVar17 + 0x2aa224" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "bVar1 = extraout_v1_02 < 2;" (assignment_expression "bVar1 = extraout_v1_02 < 2" identifier = (binary_expression "extraout_v1_02 < 2" identifier < number_literal)) ;) }) (else_clause "else {\n          bVar1 = iVar13 < 0x80;\n        }" else (compound_statement "{\n          bVar1 = iVar13 < 0x80;\n        }" { (expression_statement "bVar1 = iVar13 < 0x80;" (assignment_expression "bVar1 = iVar13 < 0x80" identifier = (binary_expression "iVar13 < 0x80" identifier < number_literal)) ;) }))) (expression_statement "iVar13 = 1;" (assignment_expression "iVar13 = 1" identifier = number_literal) ;) (if_statement "if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          if (extraout_v1_01 < iVar5) {\n            (**(code **)(pcVar17 + 0x2aa224))(7);\n            iVar5 = extraout_v1_03;\n          }\n          goto LAB_000feff4;\n        }" if (parenthesized_expression "((bool)(bVar1 ^ 1))" ( (cast_expression "(bool)(bVar1 ^ 1)" ( (type_descriptor "bool" primitive_type) ) (parenthesized_expression "(bVar1 ^ 1)" ( (binary_expression "bVar1 ^ 1" identifier ^ number_literal) ))) )) (compound_statement "{\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          if (extraout_v1_01 < iVar5) {\n            (**(code **)(pcVar17 + 0x2aa224))(7);\n            iVar5 = extraout_v1_03;\n          }\n          goto LAB_000feff4;\n        }" { (expression_statement "(**(code **)(pcVar17 + 0x2aa224))(7);" (call_expression "(**(code **)(pcVar17 + 0x2aa224))(7)" (parenthesized_expression "(**(code **)(pcVar17 + 0x2aa224))" ( (pointer_expression "**(code **)(pcVar17 + 0x2aa224)" * (pointer_expression "*(code **)(pcVar17 + 0x2aa224)" * (cast_expression "(code **)(pcVar17 + 0x2aa224)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x2aa224)" ( (binary_expression "pcVar17 + 0x2aa224" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (if_statement "if (extraout_v1_01 < iVar5) {\n            (**(code **)(pcVar17 + 0x2aa224))(7);\n            iVar5 = extraout_v1_03;\n          }" if (parenthesized_expression "(extraout_v1_01 < iVar5)" ( (binary_expression "extraout_v1_01 < iVar5" identifier < identifier) )) (compound_statement "{\n            (**(code **)(pcVar17 + 0x2aa224))(7);\n            iVar5 = extraout_v1_03;\n          }" { (expression_statement "(**(code **)(pcVar17 + 0x2aa224))(7);" (call_expression "(**(code **)(pcVar17 + 0x2aa224))(7)" (parenthesized_expression "(**(code **)(pcVar17 + 0x2aa224))" ( (pointer_expression "**(code **)(pcVar17 + 0x2aa224)" * (pointer_expression "*(code **)(pcVar17 + 0x2aa224)" * (cast_expression "(code **)(pcVar17 + 0x2aa224)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x2aa224)" ( (binary_expression "pcVar17 + 0x2aa224" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "iVar5 = extraout_v1_03;" (assignment_expression "iVar5 = extraout_v1_03" identifier = identifier) ;) })) (goto_statement "goto LAB_000feff4;" goto statement_identifier ;) })) (expression_statement "iVar14 = *(int *)(pcVar17 + 0x2a9b7c);" (assignment_expression "iVar14 = *(int *)(pcVar17 + 0x2a9b7c)" identifier = (pointer_expression "*(int *)(pcVar17 + 0x2a9b7c)" * (cast_expression "(int *)(pcVar17 + 0x2a9b7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x2a9b7c)" ( (binary_expression "pcVar17 + 0x2a9b7c" identifier + number_literal) ))))) ;) }) (else_clause "else {\n        uVar18 = (**(code **)(pcVar17 + 0x2aa224))(7);\n        if ((int)((ulonglong)uVar18 >> 0x20) == 0) {\n          pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n          if ((uint)uVar18 < 2) {\n            uVar18 = (*pcVar16)(7);\n            if ((int)((ulonglong)uVar18 >> 0x20) != 0) goto LAB_000fefdc;\n            pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n            if ((uint)uVar18 < 2) {\n              iVar5 = 1;\n              goto LAB_000feff4;\n            }\n          }\n        }\n        else {\nLAB_000fefdc:\n          pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n        }\n        uVar18 = (*pcVar16)(7);\n        if (((int)((ulonglong)uVar18 >> 0x20) == 0) && ((uint)uVar18 < 2)) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          iVar5 = extraout_v1_00;\n        }\n        else {\n          iVar5 = 2;\n        }\nLAB_000feff4:\n        iVar14 = *(int *)(pcVar17 + 0x2a9b7c);\n        iVar13 = iVar5;\n      }" else (compound_statement "{\n        uVar18 = (**(code **)(pcVar17 + 0x2aa224))(7);\n        if ((int)((ulonglong)uVar18 >> 0x20) == 0) {\n          pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n          if ((uint)uVar18 < 2) {\n            uVar18 = (*pcVar16)(7);\n            if ((int)((ulonglong)uVar18 >> 0x20) != 0) goto LAB_000fefdc;\n            pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n            if ((uint)uVar18 < 2) {\n              iVar5 = 1;\n              goto LAB_000feff4;\n            }\n          }\n        }\n        else {\nLAB_000fefdc:\n          pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n        }\n        uVar18 = (*pcVar16)(7);\n        if (((int)((ulonglong)uVar18 >> 0x20) == 0) && ((uint)uVar18 < 2)) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          iVar5 = extraout_v1_00;\n        }\n        else {\n          iVar5 = 2;\n        }\nLAB_000feff4:\n        iVar14 = *(int *)(pcVar17 + 0x2a9b7c);\n        iVar13 = iVar5;\n      }" { (expression_statement "uVar18 = (**(code **)(pcVar17 + 0x2aa224))(7);" (assignment_expression "uVar18 = (**(code **)(pcVar17 + 0x2aa224))(7)" identifier = (call_expression "(**(code **)(pcVar17 + 0x2aa224))(7)" (parenthesized_expression "(**(code **)(pcVar17 + 0x2aa224))" ( (pointer_expression "**(code **)(pcVar17 + 0x2aa224)" * (pointer_expression "*(code **)(pcVar17 + 0x2aa224)" * (cast_expression "(code **)(pcVar17 + 0x2aa224)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x2aa224)" ( (binary_expression "pcVar17 + 0x2aa224" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if ((int)((ulonglong)uVar18 >> 0x20) == 0) {\n          pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n          if ((uint)uVar18 < 2) {\n            uVar18 = (*pcVar16)(7);\n            if ((int)((ulonglong)uVar18 >> 0x20) != 0) goto LAB_000fefdc;\n            pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n            if ((uint)uVar18 < 2) {\n              iVar5 = 1;\n              goto LAB_000feff4;\n            }\n          }\n        }\n        else {\nLAB_000fefdc:\n          pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n        }" if (parenthesized_expression "((int)((ulonglong)uVar18 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar18 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar18 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar18 >> 0x20)" ( (binary_expression "(ulonglong)uVar18 >> 0x20" (cast_expression "(ulonglong)uVar18" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) (compound_statement "{\n          pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n          if ((uint)uVar18 < 2) {\n            uVar18 = (*pcVar16)(7);\n            if ((int)((ulonglong)uVar18 >> 0x20) != 0) goto LAB_000fefdc;\n            pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n            if ((uint)uVar18 < 2) {\n              iVar5 = 1;\n              goto LAB_000feff4;\n            }\n          }\n        }" { (expression_statement "pcVar16 = *(code **)(pcVar17 + 0x2aa224);" (assignment_expression "pcVar16 = *(code **)(pcVar17 + 0x2aa224)" identifier = (pointer_expression "*(code **)(pcVar17 + 0x2aa224)" * (cast_expression "(code **)(pcVar17 + 0x2aa224)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x2aa224)" ( (binary_expression "pcVar17 + 0x2aa224" identifier + number_literal) ))))) ;) (if_statement "if ((uint)uVar18 < 2) {\n            uVar18 = (*pcVar16)(7);\n            if ((int)((ulonglong)uVar18 >> 0x20) != 0) goto LAB_000fefdc;\n            pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n            if ((uint)uVar18 < 2) {\n              iVar5 = 1;\n              goto LAB_000feff4;\n            }\n          }" if (parenthesized_expression "((uint)uVar18 < 2)" ( (binary_expression "(uint)uVar18 < 2" (cast_expression "(uint)uVar18" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) )) (compound_statement "{\n            uVar18 = (*pcVar16)(7);\n            if ((int)((ulonglong)uVar18 >> 0x20) != 0) goto LAB_000fefdc;\n            pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n            if ((uint)uVar18 < 2) {\n              iVar5 = 1;\n              goto LAB_000feff4;\n            }\n          }" { (expression_statement "uVar18 = (*pcVar16)(7);" (assignment_expression "uVar18 = (*pcVar16)(7)" identifier = (call_expression "(*pcVar16)(7)" (parenthesized_expression "(*pcVar16)" ( (pointer_expression "*pcVar16" * identifier) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if ((int)((ulonglong)uVar18 >> 0x20) != 0) goto LAB_000fefdc;" if (parenthesized_expression "((int)((ulonglong)uVar18 >> 0x20) != 0)" ( (binary_expression "(int)((ulonglong)uVar18 >> 0x20) != 0" (cast_expression "(int)((ulonglong)uVar18 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar18 >> 0x20)" ( (binary_expression "(ulonglong)uVar18 >> 0x20" (cast_expression "(ulonglong)uVar18" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) != number_literal) )) (goto_statement "goto LAB_000fefdc;" goto statement_identifier ;)) (expression_statement "pcVar16 = *(code **)(pcVar17 + 0x2aa224);" (assignment_expression "pcVar16 = *(code **)(pcVar17 + 0x2aa224)" identifier = (pointer_expression "*(code **)(pcVar17 + 0x2aa224)" * (cast_expression "(code **)(pcVar17 + 0x2aa224)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x2aa224)" ( (binary_expression "pcVar17 + 0x2aa224" identifier + number_literal) ))))) ;) (if_statement "if ((uint)uVar18 < 2) {\n              iVar5 = 1;\n              goto LAB_000feff4;\n            }" if (parenthesized_expression "((uint)uVar18 < 2)" ( (binary_expression "(uint)uVar18 < 2" (cast_expression "(uint)uVar18" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) )) (compound_statement "{\n              iVar5 = 1;\n              goto LAB_000feff4;\n            }" { (expression_statement "iVar5 = 1;" (assignment_expression "iVar5 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_000feff4;" goto statement_identifier ;) })) })) }) (else_clause "else {\nLAB_000fefdc:\n          pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n        }" else (compound_statement "{\nLAB_000fefdc:\n          pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n        }" { (labeled_statement "LAB_000fefdc:\n          pcVar16 = *(code **)(pcVar17 + 0x2aa224);" statement_identifier : (expression_statement "pcVar16 = *(code **)(pcVar17 + 0x2aa224);" (assignment_expression "pcVar16 = *(code **)(pcVar17 + 0x2aa224)" identifier = (pointer_expression "*(code **)(pcVar17 + 0x2aa224)" * (cast_expression "(code **)(pcVar17 + 0x2aa224)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x2aa224)" ( (binary_expression "pcVar17 + 0x2aa224" identifier + number_literal) ))))) ;)) }))) (expression_statement "uVar18 = (*pcVar16)(7);" (assignment_expression "uVar18 = (*pcVar16)(7)" identifier = (call_expression "(*pcVar16)(7)" (parenthesized_expression "(*pcVar16)" ( (pointer_expression "*pcVar16" * identifier) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if (((int)((ulonglong)uVar18 >> 0x20) == 0) && ((uint)uVar18 < 2)) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          iVar5 = extraout_v1_00;\n        }\n        else {\n          iVar5 = 2;\n        }" if (parenthesized_expression "(((int)((ulonglong)uVar18 >> 0x20) == 0) && ((uint)uVar18 < 2))" ( (binary_expression "((int)((ulonglong)uVar18 >> 0x20) == 0) && ((uint)uVar18 < 2)" (parenthesized_expression "((int)((ulonglong)uVar18 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar18 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar18 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar18 >> 0x20)" ( (binary_expression "(ulonglong)uVar18 >> 0x20" (cast_expression "(ulonglong)uVar18" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) && (parenthesized_expression "((uint)uVar18 < 2)" ( (binary_expression "(uint)uVar18 < 2" (cast_expression "(uint)uVar18" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) ))) )) (compound_statement "{\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          iVar5 = extraout_v1_00;\n        }" { (expression_statement "(**(code **)(pcVar17 + 0x2aa224))(7);" (call_expression "(**(code **)(pcVar17 + 0x2aa224))(7)" (parenthesized_expression "(**(code **)(pcVar17 + 0x2aa224))" ( (pointer_expression "**(code **)(pcVar17 + 0x2aa224)" * (pointer_expression "*(code **)(pcVar17 + 0x2aa224)" * (cast_expression "(code **)(pcVar17 + 0x2aa224)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x2aa224)" ( (binary_expression "pcVar17 + 0x2aa224" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "iVar5 = extraout_v1_00;" (assignment_expression "iVar5 = extraout_v1_00" identifier = identifier) ;) }) (else_clause "else {\n          iVar5 = 2;\n        }" else (compound_statement "{\n          iVar5 = 2;\n        }" { (expression_statement "iVar5 = 2;" (assignment_expression "iVar5 = 2" identifier = number_literal) ;) }))) (labeled_statement "LAB_000feff4:\n        iVar14 = *(int *)(pcVar17 + 0x2a9b7c);" statement_identifier : (expression_statement "iVar14 = *(int *)(pcVar17 + 0x2a9b7c);" (assignment_expression "iVar14 = *(int *)(pcVar17 + 0x2a9b7c)" identifier = (pointer_expression "*(int *)(pcVar17 + 0x2a9b7c)" * (cast_expression "(int *)(pcVar17 + 0x2a9b7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x2a9b7c)" ( (binary_expression "pcVar17 + 0x2a9b7c" identifier + number_literal) ))))) ;)) (expression_statement "iVar13 = iVar5;" (assignment_expression "iVar13 = iVar5" identifier = identifier) ;) }))) (expression_statement "puStack_a4 = (undefined4 *)0x1;" (assignment_expression "puStack_a4 = (undefined4 *)0x1" identifier = (cast_expression "(undefined4 *)0x1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puStack_a0 = &uStack_c0;" (assignment_expression "puStack_a0 = &uStack_c0" identifier = (pointer_expression "&uStack_c0" & identifier)) ;) (expression_statement "iStack_b4 = iVar6;" (assignment_expression "iStack_b4 = iVar6" identifier = identifier) ;) (expression_statement "iStack_b0 = iVar8;" (assignment_expression "iStack_b0 = iVar8" identifier = identifier) ;) (expression_statement "uStack_ac = uVar4;" (assignment_expression "uStack_ac = uVar4" identifier = identifier) ;) (expression_statement "uStack_a8 = uVar9;" (assignment_expression "uStack_a8 = uVar9" identifier = identifier) ;) (expression_statement "(**(code **)(pcVar17 + 0x2aa280))(iVar14 + -0x2298,&iStack_b4,iVar13,0);" (call_expression "(**(code **)(pcVar17 + 0x2aa280))(iVar14 + -0x2298,&iStack_b4,iVar13,0)" (parenthesized_expression "(**(code **)(pcVar17 + 0x2aa280))" ( (pointer_expression "**(code **)(pcVar17 + 0x2aa280)" * (pointer_expression "*(code **)(pcVar17 + 0x2aa280)" * (cast_expression "(code **)(pcVar17 + 0x2aa280)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x2aa280)" ( (binary_expression "pcVar17 + 0x2aa280" identifier + number_literal) ))))) )) (argument_list "(iVar14 + -0x2298,&iStack_b4,iVar13,0)" ( (binary_expression "iVar14 + -0x2298" identifier + number_literal) , (pointer_expression "&iStack_b4" & identifier) , identifier , number_literal ))) ;) (expression_statement "puVar2 = puStack_a4;" (assignment_expression "puVar2 = puStack_a4" identifier = identifier) ;) }))) (expression_statement "iVar6 = iStack_9c;" (assignment_expression "iVar6 = iStack_9c" identifier = identifier) ;) (if_statement "if (iStack_9c == *piVar12) {\n      return puVar2;\n    }" if (parenthesized_expression "(iStack_9c == *piVar12)" ( (binary_expression "iStack_9c == *piVar12" identifier == (pointer_expression "*piVar12" * identifier)) )) (compound_statement "{\n      return puVar2;\n    }" { (return_statement "return puVar2;" return identifier ;) })) (goto_statement "goto LAB_000ff1d4;" goto statement_identifier ;) })))) (expression_statement "iVar6 = *(int *)(pcVar17 + 0x2a99d0) + 0x3930;" (assignment_expression "iVar6 = *(int *)(pcVar17 + 0x2a99d0) + 0x3930" identifier = (binary_expression "*(int *)(pcVar17 + 0x2a99d0) + 0x3930" (pointer_expression "*(int *)(pcVar17 + 0x2a99d0)" * (cast_expression "(int *)(pcVar17 + 0x2a99d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x2a99d0)" ( (binary_expression "pcVar17 + 0x2a99d0" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(**(code **)(pcVar17 + 0x2aa6f0))\n            (iVar6,*(int *)(pcVar17 + 0x2a99cc) + -0x5168,0x226,\n             *(int *)(pcVar17 + 0x2a99cc) + -0x4f5c);" (call_expression "(**(code **)(pcVar17 + 0x2aa6f0))\n            (iVar6,*(int *)(pcVar17 + 0x2a99cc) + -0x5168,0x226,\n             *(int *)(pcVar17 + 0x2a99cc) + -0x4f5c)" (parenthesized_expression "(**(code **)(pcVar17 + 0x2aa6f0))" ( (pointer_expression "**(code **)(pcVar17 + 0x2aa6f0)" * (pointer_expression "*(code **)(pcVar17 + 0x2aa6f0)" * (cast_expression "(code **)(pcVar17 + 0x2aa6f0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x2aa6f0)" ( (binary_expression "pcVar17 + 0x2aa6f0" identifier + number_literal) ))))) )) (argument_list "(iVar6,*(int *)(pcVar17 + 0x2a99cc) + -0x5168,0x226,\n             *(int *)(pcVar17 + 0x2a99cc) + -0x4f5c)" ( identifier , (binary_expression "*(int *)(pcVar17 + 0x2a99cc) + -0x5168" (pointer_expression "*(int *)(pcVar17 + 0x2a99cc)" * (cast_expression "(int *)(pcVar17 + 0x2a99cc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x2a99cc)" ( (binary_expression "pcVar17 + 0x2a99cc" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar17 + 0x2a99cc) + -0x4f5c" (pointer_expression "*(int *)(pcVar17 + 0x2a99cc)" * (cast_expression "(int *)(pcVar17 + 0x2a99cc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x2a99cc)" ( (binary_expression "pcVar17 + 0x2a99cc" identifier + number_literal) )))) + number_literal) ))) ;) (labeled_statement "LAB_000ff1d4:\n  pcVar16 = *(code **)(pcVar17 + 0x2aa14c);" statement_identifier : (expression_statement "pcVar16 = *(code **)(pcVar17 + 0x2aa14c);" (assignment_expression "pcVar16 = *(code **)(pcVar17 + 0x2aa14c)" identifier = (pointer_expression "*(code **)(pcVar17 + 0x2aa14c)" * (cast_expression "(code **)(pcVar17 + 0x2aa14c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x2aa14c)" ( (binary_expression "pcVar17 + 0x2aa14c" identifier + number_literal) ))))) ;)) (expression_statement "(*pcVar16)();" (call_expression "(*pcVar16)()" (parenthesized_expression "(*pcVar16)" ( (pointer_expression "*pcVar16" * identifier) )) (argument_list "()" ( ))) ;) (if_statement "if (iVar6 == 0) {\n    (**(code **)(pcVar16 + 0x2aa428))\n              (*(int *)(pcVar16 + 0x2a9704) + -0x5150,*(int *)(pcVar16 + 0x2a9704) + -0x5168,0x271,\n               *(int *)(pcVar16 + 0x2a9704) + -0x4f7c,pcVar16 + 0x2b16d0);\n  }\n  else if (*(int *)(iVar6 + 0x24) == -0x54535255) {\n                    \n                    \n    puVar2 = (undefined4 *)(**(code **)(pcVar16 + 0x2a9da0))(*(undefined4 *)(iVar6 + 0x18));\n    return puVar2;\n  }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n    (**(code **)(pcVar16 + 0x2aa428))\n              (*(int *)(pcVar16 + 0x2a9704) + -0x5150,*(int *)(pcVar16 + 0x2a9704) + -0x5168,0x271,\n               *(int *)(pcVar16 + 0x2a9704) + -0x4f7c,pcVar16 + 0x2b16d0);\n  }" { (expression_statement "(**(code **)(pcVar16 + 0x2aa428))\n              (*(int *)(pcVar16 + 0x2a9704) + -0x5150,*(int *)(pcVar16 + 0x2a9704) + -0x5168,0x271,\n               *(int *)(pcVar16 + 0x2a9704) + -0x4f7c,pcVar16 + 0x2b16d0);" (call_expression "(**(code **)(pcVar16 + 0x2aa428))\n              (*(int *)(pcVar16 + 0x2a9704) + -0x5150,*(int *)(pcVar16 + 0x2a9704) + -0x5168,0x271,\n               *(int *)(pcVar16 + 0x2a9704) + -0x4f7c,pcVar16 + 0x2b16d0)" (parenthesized_expression "(**(code **)(pcVar16 + 0x2aa428))" ( (pointer_expression "**(code **)(pcVar16 + 0x2aa428)" * (pointer_expression "*(code **)(pcVar16 + 0x2aa428)" * (cast_expression "(code **)(pcVar16 + 0x2aa428)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + 0x2aa428)" ( (binary_expression "pcVar16 + 0x2aa428" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar16 + 0x2a9704) + -0x5150,*(int *)(pcVar16 + 0x2a9704) + -0x5168,0x271,\n               *(int *)(pcVar16 + 0x2a9704) + -0x4f7c,pcVar16 + 0x2b16d0)" ( (binary_expression "*(int *)(pcVar16 + 0x2a9704) + -0x5150" (pointer_expression "*(int *)(pcVar16 + 0x2a9704)" * (cast_expression "(int *)(pcVar16 + 0x2a9704)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x2a9704)" ( (binary_expression "pcVar16 + 0x2a9704" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar16 + 0x2a9704) + -0x5168" (pointer_expression "*(int *)(pcVar16 + 0x2a9704)" * (cast_expression "(int *)(pcVar16 + 0x2a9704)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x2a9704)" ( (binary_expression "pcVar16 + 0x2a9704" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar16 + 0x2a9704) + -0x4f7c" (pointer_expression "*(int *)(pcVar16 + 0x2a9704)" * (cast_expression "(int *)(pcVar16 + 0x2a9704)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x2a9704)" ( (binary_expression "pcVar16 + 0x2a9704" identifier + number_literal) )))) + number_literal) , (binary_expression "pcVar16 + 0x2b16d0" identifier + number_literal) ))) ;) }) (else_clause "else if (*(int *)(iVar6 + 0x24) == -0x54535255) {\n                    \n                    \n    puVar2 = (undefined4 *)(**(code **)(pcVar16 + 0x2a9da0))(*(undefined4 *)(iVar6 + 0x18));\n    return puVar2;\n  }" else (if_statement "if (*(int *)(iVar6 + 0x24) == -0x54535255) {\n                    \n                    \n    puVar2 = (undefined4 *)(**(code **)(pcVar16 + 0x2a9da0))(*(undefined4 *)(iVar6 + 0x18));\n    return puVar2;\n  }" if (parenthesized_expression "(*(int *)(iVar6 + 0x24) == -0x54535255)" ( (binary_expression "*(int *)(iVar6 + 0x24) == -0x54535255" (pointer_expression "*(int *)(iVar6 + 0x24)" * (cast_expression "(int *)(iVar6 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x24)" ( (binary_expression "iVar6 + 0x24" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                    \n                    \n    puVar2 = (undefined4 *)(**(code **)(pcVar16 + 0x2a9da0))(*(undefined4 *)(iVar6 + 0x18));\n    return puVar2;\n  }" { (expression_statement "puVar2 = (undefined4 *)(**(code **)(pcVar16 + 0x2a9da0))(*(undefined4 *)(iVar6 + 0x18));" (assignment_expression "puVar2 = (undefined4 *)(**(code **)(pcVar16 + 0x2a9da0))(*(undefined4 *)(iVar6 + 0x18))" identifier = (cast_expression "(undefined4 *)(**(code **)(pcVar16 + 0x2a9da0))(*(undefined4 *)(iVar6 + 0x18))" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar16 + 0x2a9da0))(*(undefined4 *)(iVar6 + 0x18))" (parenthesized_expression "(**(code **)(pcVar16 + 0x2a9da0))" ( (pointer_expression "**(code **)(pcVar16 + 0x2a9da0)" * (pointer_expression "*(code **)(pcVar16 + 0x2a9da0)" * (cast_expression "(code **)(pcVar16 + 0x2a9da0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + 0x2a9da0)" ( (binary_expression "pcVar16 + 0x2a9da0" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar6 + 0x18))" ( (pointer_expression "*(undefined4 *)(iVar6 + 0x18)" * (cast_expression "(undefined4 *)(iVar6 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x18)" ( (binary_expression "iVar6 + 0x18" identifier + number_literal) )))) ))))) ;) (return_statement "return puVar2;" return identifier ;) })))) (expression_statement "pcVar17 = *(code **)(pcVar16 + 0x2aa428);" (assignment_expression "pcVar17 = *(code **)(pcVar16 + 0x2aa428)" identifier = (pointer_expression "*(code **)(pcVar16 + 0x2aa428)" * (cast_expression "(code **)(pcVar16 + 0x2aa428)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + 0x2aa428)" ( (binary_expression "pcVar16 + 0x2aa428" identifier + number_literal) ))))) ;) (expression_statement "iVar6 = *(int *)(pcVar16 + 0x2a9704) + -0x512c;" (assignment_expression "iVar6 = *(int *)(pcVar16 + 0x2a9704) + -0x512c" identifier = (binary_expression "*(int *)(pcVar16 + 0x2a9704) + -0x512c" (pointer_expression "*(int *)(pcVar16 + 0x2a9704)" * (cast_expression "(int *)(pcVar16 + 0x2a9704)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x2a9704)" ( (binary_expression "pcVar16 + 0x2a9704" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar17)(iVar6,*(int *)(pcVar16 + 0x2a9704) + -0x5168,0x272,\n             *(int *)(pcVar16 + 0x2a9704) + -0x4f7c);" (call_expression "(*pcVar17)(iVar6,*(int *)(pcVar16 + 0x2a9704) + -0x5168,0x272,\n             *(int *)(pcVar16 + 0x2a9704) + -0x4f7c)" (parenthesized_expression "(*pcVar17)" ( (pointer_expression "*pcVar17" * identifier) )) (argument_list "(iVar6,*(int *)(pcVar16 + 0x2a9704) + -0x5168,0x272,\n             *(int *)(pcVar16 + 0x2a9704) + -0x4f7c)" ( identifier , (binary_expression "*(int *)(pcVar16 + 0x2a9704) + -0x5168" (pointer_expression "*(int *)(pcVar16 + 0x2a9704)" * (cast_expression "(int *)(pcVar16 + 0x2a9704)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x2a9704)" ( (binary_expression "pcVar16 + 0x2a9704" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar16 + 0x2a9704) + -0x4f7c" (pointer_expression "*(int *)(pcVar16 + 0x2a9704)" * (cast_expression "(int *)(pcVar16 + 0x2a9704)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x2a9704)" ( (binary_expression "pcVar16 + 0x2a9704" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (iVar6 == 0) {\n    (**(code **)(pcVar17 + 0x2aa3a0))\n              (*(int *)(pcVar17 + 0x2a967c) + -0x5150,*(int *)(pcVar17 + 0x2a967c) + -0x5168,0x28f,\n               *(int *)(pcVar17 + 0x2a967c) + -0x4f98,pcVar17 + 0x2b1648);\n  }\n  else if (*(int *)(iVar6 + 0x24) == -0x54535255) {\n                    \n                    \n    puVar2 = (undefined4 *)(**(code **)(pcVar17 + 0x2a9a8c))(*(undefined4 *)(iVar6 + 0x18));\n    return puVar2;\n  }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n    (**(code **)(pcVar17 + 0x2aa3a0))\n              (*(int *)(pcVar17 + 0x2a967c) + -0x5150,*(int *)(pcVar17 + 0x2a967c) + -0x5168,0x28f,\n               *(int *)(pcVar17 + 0x2a967c) + -0x4f98,pcVar17 + 0x2b1648);\n  }" { (expression_statement "(**(code **)(pcVar17 + 0x2aa3a0))\n              (*(int *)(pcVar17 + 0x2a967c) + -0x5150,*(int *)(pcVar17 + 0x2a967c) + -0x5168,0x28f,\n               *(int *)(pcVar17 + 0x2a967c) + -0x4f98,pcVar17 + 0x2b1648);" (call_expression "(**(code **)(pcVar17 + 0x2aa3a0))\n              (*(int *)(pcVar17 + 0x2a967c) + -0x5150,*(int *)(pcVar17 + 0x2a967c) + -0x5168,0x28f,\n               *(int *)(pcVar17 + 0x2a967c) + -0x4f98,pcVar17 + 0x2b1648)" (parenthesized_expression "(**(code **)(pcVar17 + 0x2aa3a0))" ( (pointer_expression "**(code **)(pcVar17 + 0x2aa3a0)" * (pointer_expression "*(code **)(pcVar17 + 0x2aa3a0)" * (cast_expression "(code **)(pcVar17 + 0x2aa3a0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x2aa3a0)" ( (binary_expression "pcVar17 + 0x2aa3a0" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar17 + 0x2a967c) + -0x5150,*(int *)(pcVar17 + 0x2a967c) + -0x5168,0x28f,\n               *(int *)(pcVar17 + 0x2a967c) + -0x4f98,pcVar17 + 0x2b1648)" ( (binary_expression "*(int *)(pcVar17 + 0x2a967c) + -0x5150" (pointer_expression "*(int *)(pcVar17 + 0x2a967c)" * (cast_expression "(int *)(pcVar17 + 0x2a967c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x2a967c)" ( (binary_expression "pcVar17 + 0x2a967c" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar17 + 0x2a967c) + -0x5168" (pointer_expression "*(int *)(pcVar17 + 0x2a967c)" * (cast_expression "(int *)(pcVar17 + 0x2a967c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x2a967c)" ( (binary_expression "pcVar17 + 0x2a967c" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar17 + 0x2a967c) + -0x4f98" (pointer_expression "*(int *)(pcVar17 + 0x2a967c)" * (cast_expression "(int *)(pcVar17 + 0x2a967c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x2a967c)" ( (binary_expression "pcVar17 + 0x2a967c" identifier + number_literal) )))) + number_literal) , (binary_expression "pcVar17 + 0x2b1648" identifier + number_literal) ))) ;) }) (else_clause "else if (*(int *)(iVar6 + 0x24) == -0x54535255) {\n                    \n                    \n    puVar2 = (undefined4 *)(**(code **)(pcVar17 + 0x2a9a8c))(*(undefined4 *)(iVar6 + 0x18));\n    return puVar2;\n  }" else (if_statement "if (*(int *)(iVar6 + 0x24) == -0x54535255) {\n                    \n                    \n    puVar2 = (undefined4 *)(**(code **)(pcVar17 + 0x2a9a8c))(*(undefined4 *)(iVar6 + 0x18));\n    return puVar2;\n  }" if (parenthesized_expression "(*(int *)(iVar6 + 0x24) == -0x54535255)" ( (binary_expression "*(int *)(iVar6 + 0x24) == -0x54535255" (pointer_expression "*(int *)(iVar6 + 0x24)" * (cast_expression "(int *)(iVar6 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x24)" ( (binary_expression "iVar6 + 0x24" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                    \n                    \n    puVar2 = (undefined4 *)(**(code **)(pcVar17 + 0x2a9a8c))(*(undefined4 *)(iVar6 + 0x18));\n    return puVar2;\n  }" { (expression_statement "puVar2 = (undefined4 *)(**(code **)(pcVar17 + 0x2a9a8c))(*(undefined4 *)(iVar6 + 0x18));" (assignment_expression "puVar2 = (undefined4 *)(**(code **)(pcVar17 + 0x2a9a8c))(*(undefined4 *)(iVar6 + 0x18))" identifier = (cast_expression "(undefined4 *)(**(code **)(pcVar17 + 0x2a9a8c))(*(undefined4 *)(iVar6 + 0x18))" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar17 + 0x2a9a8c))(*(undefined4 *)(iVar6 + 0x18))" (parenthesized_expression "(**(code **)(pcVar17 + 0x2a9a8c))" ( (pointer_expression "**(code **)(pcVar17 + 0x2a9a8c)" * (pointer_expression "*(code **)(pcVar17 + 0x2a9a8c)" * (cast_expression "(code **)(pcVar17 + 0x2a9a8c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x2a9a8c)" ( (binary_expression "pcVar17 + 0x2a9a8c" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar6 + 0x18))" ( (pointer_expression "*(undefined4 *)(iVar6 + 0x18)" * (cast_expression "(undefined4 *)(iVar6 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x18)" ( (binary_expression "iVar6 + 0x18" identifier + number_literal) )))) ))))) ;) (return_statement "return puVar2;" return identifier ;) })))) (expression_statement "iVar6 = *(int *)(pcVar17 + 0x2a967c) + -0x512c;" (assignment_expression "iVar6 = *(int *)(pcVar17 + 0x2a967c) + -0x512c" identifier = (binary_expression "*(int *)(pcVar17 + 0x2a967c) + -0x512c" (pointer_expression "*(int *)(pcVar17 + 0x2a967c)" * (cast_expression "(int *)(pcVar17 + 0x2a967c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x2a967c)" ( (binary_expression "pcVar17 + 0x2a967c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(**(code **)(pcVar17 + 0x2aa3a0))\n            (iVar6,*(int *)(pcVar17 + 0x2a967c) + -0x5168,0x290,\n             *(int *)(pcVar17 + 0x2a967c) + -0x4f98);" (call_expression "(**(code **)(pcVar17 + 0x2aa3a0))\n            (iVar6,*(int *)(pcVar17 + 0x2a967c) + -0x5168,0x290,\n             *(int *)(pcVar17 + 0x2a967c) + -0x4f98)" (parenthesized_expression "(**(code **)(pcVar17 + 0x2aa3a0))" ( (pointer_expression "**(code **)(pcVar17 + 0x2aa3a0)" * (pointer_expression "*(code **)(pcVar17 + 0x2aa3a0)" * (cast_expression "(code **)(pcVar17 + 0x2aa3a0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x2aa3a0)" ( (binary_expression "pcVar17 + 0x2aa3a0" identifier + number_literal) ))))) )) (argument_list "(iVar6,*(int *)(pcVar17 + 0x2a967c) + -0x5168,0x290,\n             *(int *)(pcVar17 + 0x2a967c) + -0x4f98)" ( identifier , (binary_expression "*(int *)(pcVar17 + 0x2a967c) + -0x5168" (pointer_expression "*(int *)(pcVar17 + 0x2a967c)" * (cast_expression "(int *)(pcVar17 + 0x2a967c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x2a967c)" ( (binary_expression "pcVar17 + 0x2a967c" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar17 + 0x2a967c) + -0x4f98" (pointer_expression "*(int *)(pcVar17 + 0x2a967c)" * (cast_expression "(int *)(pcVar17 + 0x2a967c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x2a967c)" ( (binary_expression "pcVar17 + 0x2a967c" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (iVar6 == 0) {\n    return (undefined4 *)0x0;\n  }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n    return (undefined4 *)0x0;\n  }" { (return_statement "return (undefined4 *)0x0;" return (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) (return_statement "return (undefined4 *)(uint)(*(int *)(iVar6 + 0x24) == -0x54535255);" return (cast_expression "(undefined4 *)(uint)(*(int *)(iVar6 + 0x24) == -0x54535255)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(*(int *)(iVar6 + 0x24) == -0x54535255)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar6 + 0x24) == -0x54535255)" ( (binary_expression "*(int *)(iVar6 + 0x24) == -0x54535255" (pointer_expression "*(int *)(iVar6 + 0x24)" * (cast_expression "(int *)(iVar6 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x24)" ( (binary_expression "iVar6 + 0x24" identifier + number_literal) )))) == number_literal) )))) ;) })))
(translation_unit (function_definition TYPE (pointer_declarator * (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) )))) (compound_statement { (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 IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE 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) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = 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 ( (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( )))) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression * IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , LIT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( 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 ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , LIT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (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 *)) ) IDENT)) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression * IDENT) )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) , LIT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) , (subscript_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) [ LIT ]) )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , LIT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) , LIT ))) ;) })) (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , 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 (call_expression (parenthesized_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 { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (return_statement return IDENT ;) })))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (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 { (return_statement return (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) })))) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (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 IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) , (binary_expression IDENT == LIT)) ))) )) && (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) , (binary_expression (binary_expression IDENT == LIT) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) , (binary_expression IDENT == LIT)) )))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT - IDENT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT >> LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT < LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT < LIT)) ;) }))) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT ^ LIT) ))) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) })) }) (else_clause else (compound_statement { (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 = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) == LIT) )) && (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) ))) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_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) , (pointer_expression & IDENT) , IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * IDENT)) )) (compound_statement { (return_statement return IDENT ;) })) (goto_statement goto statement_identifier ;) })))) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (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) , (binary_expression IDENT + 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 { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))))) ;) (return_statement return IDENT ;) })))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (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) , (binary_expression IDENT + 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 { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))))) ;) (return_statement return IDENT ;) })))) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (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 { (return_statement return (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) ;) })) (return_statement return (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )))) ;) })))
(function_definition "undefined4 * GetImageViewException(int param_1,undefined4 *param_2)\n\n{\n  bool bVar1;\n  undefined4 *puVar2;\n  undefined4 *puVar3;\n  undefined4 uVar4;\n  int iVar5;\n  int extraout_v1;\n  int extraout_v1_00;\n  int extraout_v1_01;\n  int extraout_v1_02;\n  int extraout_v1_03;\n  int iVar6;\n  undefined *puVar7;\n  int iVar8;\n  undefined4 uVar9;\n  undefined *puVar10;\n  undefined4 uVar11;\n  undefined4 unaff_s0;\n  int *piVar12;\n  int iVar13;\n  int iVar14;\n  undefined *puVar15;\n  code *pcVar16;\n  code *pcVar17;\n  undefined8 uVar18;\n  undefined4 uStack_c0;\n  undefined4 uStack_bc;\n  int iStack_b4;\n  int iStack_b0;\n  undefined4 uStack_ac;\n  undefined4 uStack_a8;\n  undefined4 *puStack_a4;\n  undefined4 *puStack_a0;\n  int iStack_9c;\n  undefined4 uStack_98;\n  int iStack_94;\n  \n  puVar15 = PTR_AcquireQuantumMemory_003a950c;\n  if (param_1 == 0) {\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x50dc,PTR_s_t_to_left_003a88e4 + -0x5168,0x194,\n               PTR_s_t_to_left_003a88e4 + -0x4f04);\nLAB_000fece8:\n    unaff_s0 = (*(code *)PTR_AcquireExceptionInfo_003a8eec)();\n    puVar2 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n    param_1 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar2);\n    puVar10 = (undefined *)0x19b;\n    (*(code *)PTR_ThrowMagickException_003a8f20)\n              (unaff_s0,PTR_s_t_to_left_003a88e4 + -0x5168,PTR_s_t_to_left_003a88e4 + -0x4f1c,0x19b)\n    ;\n    (*(code *)PTR_DestroyString_003a9074)(param_1);\n    (*(code *)PTR_CatchException_003a92b0)(unaff_s0);\n    (*(code *)PTR_DestroyExceptionInfo_003a8d50)(unaff_s0);\n    (*(code *)PTR_MagickCoreTerminus_003a98ec)();\n    (*(code *)PTR__exit_003a9660)(1);\nLAB_000fedb0:\n    puVar10 = puVar10 + -0x4f04;\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x50b4,PTR_s_t_to_left_003a88e4 + -0x5168,0x196,puVar10);\n  }\n  else {\n    puVar10 = PTR_s_t_to_left_003a88e4;\n    if (*(int *)(param_1 + 0x24) == -0x54535255) {\n      if (param_2 != (undefined4 *)0x0) {\n        *param_2 = **(undefined4 **)(param_1 + 0x1c);\n        puVar2 = (undefined4 *)(*(code *)puVar15)(0x2000,1);\n        if (puVar2 != (undefined4 *)0x0) {\n          puVar3 = *(undefined4 **)(param_1 + 0x1c);\n          *(undefined1 *)puVar2 = 0;\n          if (puVar3[2] != 0) {\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)(*puVar3);\n            (*(code *)PTR_CopyMagickString_003a983c)(puVar2,uVar4,0x1000);\n            puVar3 = *(undefined4 **)(param_1 + 0x1c);\n          }\n          if (puVar3[3] != 0) {\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (puVar2,PTR_s_t_to_left_003a88e4 + -0x5090,0x1000);\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)\n                              (**(undefined4 **)(param_1 + 0x1c),\n                               (*(undefined4 **)(param_1 + 0x1c))[3]);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)(puVar2,uVar4,0x1000);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (puVar2,PTR_s_courses_003a88ec + -0x6e0,0x1000);\n          }\n          return puVar2;\n        }\n        goto LAB_000fece8;\n      }\n      goto LAB_000fedb0;\n    }\n  }\n  puVar7 = PTR_s_t_to_left_003a88e4 + -0x5168;\n  puVar2 = (undefined4 *)(PTR_s_t_to_left_003a88e4 + -0x512c);\n  puVar15 = PTR___assert_fail_003a9608;\n  (*(code *)PTR___assert_fail_003a9608)(puVar2,puVar7,0x195,puVar10 + -0x4f04);\n  if (puVar7 == (undefined *)0x0) {\n    (**(code **)(puVar15 + 0x2aa818))\n              (*(int *)(puVar15 + 0x2a9af4) + -0x5150,*(int *)(puVar15 + 0x2a9af4) + -0x5168,0x1c4,\n               *(int *)(puVar15 + 0x2a9af4) + -0x4f30);\n  }\n  else if (*(int *)(puVar7 + 0x24) == -0x54535255) {\n    uVar11 = *(undefined4 *)(puVar7 + 8);\n    uVar9 = *(undefined4 *)(puVar7 + 0xc);\n    uVar4 = *(undefined4 *)(puVar7 + 0x10);\n    *puVar2 = *(undefined4 *)(puVar7 + 4);\n    puVar2[1] = uVar11;\n    puVar2[2] = uVar9;\n    puVar2[3] = uVar4;\n    return puVar2;\n  }\n  pcVar16 = *(code **)(puVar15 + 0x2aa818);\n  iVar6 = *(int *)(puVar15 + 0x2a9af4) + -0x512c;\n  (*pcVar16)(iVar6,*(int *)(puVar15 + 0x2a9af4) + -0x5168,0x1c5,\n             *(int *)(puVar15 + 0x2a9af4) + -0x4f30);\n  if (iVar6 == 0) {\n    (**(code **)(pcVar16 + 0x2aa774))\n              (*(int *)(pcVar16 + 0x2a9a50) + -0x5150,*(int *)(pcVar16 + 0x2a9a50) + -0x5168,0x1e1,\n               *(int *)(pcVar16 + 0x2a9a50) + -0x4f44);\n  }\n  else if (*(int *)(iVar6 + 0x24) == -0x54535255) {\n    return *(undefined4 **)(iVar6 + 0x14);\n  }\n  uVar4 = 0x1e2;\n  pcVar17 = *(code **)(pcVar16 + 0x2aa774);\n  iVar8 = *(int *)(pcVar16 + 0x2a9a50) + -0x5168;\n  iVar6 = *(int *)(pcVar16 + 0x2a9a50) + -0x512c;\n  (*pcVar17)();\n  piVar12 = *(int **)(pcVar17 + 0x2aa318);\n  iStack_9c = *piVar12;\n  uStack_98 = unaff_s0;\n  iStack_94 = param_1;\n  if (iVar6 == 0) {\n    (**(code **)(pcVar17 + 0x2aa6f0))\n              (*(int *)(pcVar17 + 0x2a99cc) + -0x50fc,*(int *)(pcVar17 + 0x2a99cc) + -0x5168,0x225,\n               *(int *)(pcVar17 + 0x2a99cc) + -0x4f5c);\n  }\n  else if (*(int *)(iVar6 + 0x24) == -0x54535255) {\n    if (iVar8 == 0) {\n      puVar2 = (undefined4 *)0x0;\n    }\n    else {\n      uVar9 = *(undefined4 *)(iVar6 + 0x14);\n      iVar13 = *(int *)(iVar6 + 8);\n      iVar14 = *(int *)(iVar6 + 0x10);\n      uStack_bc = 0;\n      uStack_c0 = 0;\n      iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9);\n      if (((iVar5 == 4) || (iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3)) &&\n         ((iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 4 ||\n          (iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3)))) {\n        iVar13 = iVar13 - iVar14;\n        (**(code **)(pcVar17 + 0x2aa224))(7);\n        iVar5 = iVar13;\n        if (iVar13 < 0) {\n          iVar5 = iVar13 + 0x3f;\n        }\n        iVar5 = iVar5 >> 6;\n        if (extraout_v1 < iVar5) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          bVar1 = extraout_v1_02 < 2;\n        }\n        else {\n          bVar1 = iVar13 < 0x80;\n        }\n        iVar13 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          if (extraout_v1_01 < iVar5) {\n            (**(code **)(pcVar17 + 0x2aa224))(7);\n            iVar5 = extraout_v1_03;\n          }\n          goto LAB_000feff4;\n        }\n        iVar14 = *(int *)(pcVar17 + 0x2a9b7c);\n      }\n      else {\n        uVar18 = (**(code **)(pcVar17 + 0x2aa224))(7);\n        if ((int)((ulonglong)uVar18 >> 0x20) == 0) {\n          pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n          if ((uint)uVar18 < 2) {\n            uVar18 = (*pcVar16)(7);\n            if ((int)((ulonglong)uVar18 >> 0x20) != 0) goto LAB_000fefdc;\n            pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n            if ((uint)uVar18 < 2) {\n              iVar5 = 1;\n              goto LAB_000feff4;\n            }\n          }\n        }\n        else {\nLAB_000fefdc:\n          pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n        }\n        uVar18 = (*pcVar16)(7);\n        if (((int)((ulonglong)uVar18 >> 0x20) == 0) && ((uint)uVar18 < 2)) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          iVar5 = extraout_v1_00;\n        }\n        else {\n          iVar5 = 2;\n        }\nLAB_000feff4:\n        iVar14 = *(int *)(pcVar17 + 0x2a9b7c);\n        iVar13 = iVar5;\n      }\n      puStack_a4 = (undefined4 *)0x1;\n      puStack_a0 = &uStack_c0;\n      iStack_b4 = iVar6;\n      iStack_b0 = iVar8;\n      uStack_ac = uVar4;\n      uStack_a8 = uVar9;\n      (**(code **)(pcVar17 + 0x2aa280))(iVar14 + -0x2298,&iStack_b4,iVar13,0);\n      puVar2 = puStack_a4;\n    }\n    iVar6 = iStack_9c;\n    if (iStack_9c == *piVar12) {\n      return puVar2;\n    }\n    goto LAB_000ff1d4;\n  }\n  iVar6 = *(int *)(pcVar17 + 0x2a99d0) + 0x3930;\n  (**(code **)(pcVar17 + 0x2aa6f0))\n            (iVar6,*(int *)(pcVar17 + 0x2a99cc) + -0x5168,0x226,\n             *(int *)(pcVar17 + 0x2a99cc) + -0x4f5c);\nLAB_000ff1d4:\n  pcVar16 = *(code **)(pcVar17 + 0x2aa14c);\n  (*pcVar16)();\n  if (iVar6 == 0) {\n    (**(code **)(pcVar16 + 0x2aa428))\n              (*(int *)(pcVar16 + 0x2a9704) + -0x5150,*(int *)(pcVar16 + 0x2a9704) + -0x5168,0x271,\n               *(int *)(pcVar16 + 0x2a9704) + -0x4f7c,pcVar16 + 0x2b16d0);\n  }\n  else if (*(int *)(iVar6 + 0x24) == -0x54535255) {\n                    \n                    \n    puVar2 = (undefined4 *)(**(code **)(pcVar16 + 0x2a9da0))(*(undefined4 *)(iVar6 + 0x18));\n    return puVar2;\n  }\n  pcVar17 = *(code **)(pcVar16 + 0x2aa428);\n  iVar6 = *(int *)(pcVar16 + 0x2a9704) + -0x512c;\n  (*pcVar17)(iVar6,*(int *)(pcVar16 + 0x2a9704) + -0x5168,0x272,\n             *(int *)(pcVar16 + 0x2a9704) + -0x4f7c);\n  if (iVar6 == 0) {\n    (**(code **)(pcVar17 + 0x2aa3a0))\n              (*(int *)(pcVar17 + 0x2a967c) + -0x5150,*(int *)(pcVar17 + 0x2a967c) + -0x5168,0x28f,\n               *(int *)(pcVar17 + 0x2a967c) + -0x4f98,pcVar17 + 0x2b1648);\n  }\n  else if (*(int *)(iVar6 + 0x24) == -0x54535255) {\n                    \n                    \n    puVar2 = (undefined4 *)(**(code **)(pcVar17 + 0x2a9a8c))(*(undefined4 *)(iVar6 + 0x18));\n    return puVar2;\n  }\n  iVar6 = *(int *)(pcVar17 + 0x2a967c) + -0x512c;\n  (**(code **)(pcVar17 + 0x2aa3a0))\n            (iVar6,*(int *)(pcVar17 + 0x2a967c) + -0x5168,0x290,\n             *(int *)(pcVar17 + 0x2a967c) + -0x4f98);\n  if (iVar6 == 0) {\n    return (undefined4 *)0x0;\n  }\n  return (undefined4 *)(uint)(*(int *)(iVar6 + 0x24) == -0x54535255);\n}" (type_identifier "undefined4") (pointer_declarator "* GetImageViewException(int param_1,undefined4 *param_2)" (* "*") (function_declarator "GetImageViewException(int param_1,undefined4 *param_2)" (identifier "GetImageViewException") (parameter_list "(int param_1,undefined4 *param_2)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) (, ",") (parameter_declaration "undefined4 *param_2" (type_identifier "undefined4") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) () ")")))) (compound_statement "{\n  bool bVar1;\n  undefined4 *puVar2;\n  undefined4 *puVar3;\n  undefined4 uVar4;\n  int iVar5;\n  int extraout_v1;\n  int extraout_v1_00;\n  int extraout_v1_01;\n  int extraout_v1_02;\n  int extraout_v1_03;\n  int iVar6;\n  undefined *puVar7;\n  int iVar8;\n  undefined4 uVar9;\n  undefined *puVar10;\n  undefined4 uVar11;\n  undefined4 unaff_s0;\n  int *piVar12;\n  int iVar13;\n  int iVar14;\n  undefined *puVar15;\n  code *pcVar16;\n  code *pcVar17;\n  undefined8 uVar18;\n  undefined4 uStack_c0;\n  undefined4 uStack_bc;\n  int iStack_b4;\n  int iStack_b0;\n  undefined4 uStack_ac;\n  undefined4 uStack_a8;\n  undefined4 *puStack_a4;\n  undefined4 *puStack_a0;\n  int iStack_9c;\n  undefined4 uStack_98;\n  int iStack_94;\n  \n  puVar15 = PTR_AcquireQuantumMemory_003a950c;\n  if (param_1 == 0) {\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x50dc,PTR_s_t_to_left_003a88e4 + -0x5168,0x194,\n               PTR_s_t_to_left_003a88e4 + -0x4f04);\nLAB_000fece8:\n    unaff_s0 = (*(code *)PTR_AcquireExceptionInfo_003a8eec)();\n    puVar2 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n    param_1 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar2);\n    puVar10 = (undefined *)0x19b;\n    (*(code *)PTR_ThrowMagickException_003a8f20)\n              (unaff_s0,PTR_s_t_to_left_003a88e4 + -0x5168,PTR_s_t_to_left_003a88e4 + -0x4f1c,0x19b)\n    ;\n    (*(code *)PTR_DestroyString_003a9074)(param_1);\n    (*(code *)PTR_CatchException_003a92b0)(unaff_s0);\n    (*(code *)PTR_DestroyExceptionInfo_003a8d50)(unaff_s0);\n    (*(code *)PTR_MagickCoreTerminus_003a98ec)();\n    (*(code *)PTR__exit_003a9660)(1);\nLAB_000fedb0:\n    puVar10 = puVar10 + -0x4f04;\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x50b4,PTR_s_t_to_left_003a88e4 + -0x5168,0x196,puVar10);\n  }\n  else {\n    puVar10 = PTR_s_t_to_left_003a88e4;\n    if (*(int *)(param_1 + 0x24) == -0x54535255) {\n      if (param_2 != (undefined4 *)0x0) {\n        *param_2 = **(undefined4 **)(param_1 + 0x1c);\n        puVar2 = (undefined4 *)(*(code *)puVar15)(0x2000,1);\n        if (puVar2 != (undefined4 *)0x0) {\n          puVar3 = *(undefined4 **)(param_1 + 0x1c);\n          *(undefined1 *)puVar2 = 0;\n          if (puVar3[2] != 0) {\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)(*puVar3);\n            (*(code *)PTR_CopyMagickString_003a983c)(puVar2,uVar4,0x1000);\n            puVar3 = *(undefined4 **)(param_1 + 0x1c);\n          }\n          if (puVar3[3] != 0) {\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (puVar2,PTR_s_t_to_left_003a88e4 + -0x5090,0x1000);\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)\n                              (**(undefined4 **)(param_1 + 0x1c),\n                               (*(undefined4 **)(param_1 + 0x1c))[3]);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)(puVar2,uVar4,0x1000);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (puVar2,PTR_s_courses_003a88ec + -0x6e0,0x1000);\n          }\n          return puVar2;\n        }\n        goto LAB_000fece8;\n      }\n      goto LAB_000fedb0;\n    }\n  }\n  puVar7 = PTR_s_t_to_left_003a88e4 + -0x5168;\n  puVar2 = (undefined4 *)(PTR_s_t_to_left_003a88e4 + -0x512c);\n  puVar15 = PTR___assert_fail_003a9608;\n  (*(code *)PTR___assert_fail_003a9608)(puVar2,puVar7,0x195,puVar10 + -0x4f04);\n  if (puVar7 == (undefined *)0x0) {\n    (**(code **)(puVar15 + 0x2aa818))\n              (*(int *)(puVar15 + 0x2a9af4) + -0x5150,*(int *)(puVar15 + 0x2a9af4) + -0x5168,0x1c4,\n               *(int *)(puVar15 + 0x2a9af4) + -0x4f30);\n  }\n  else if (*(int *)(puVar7 + 0x24) == -0x54535255) {\n    uVar11 = *(undefined4 *)(puVar7 + 8);\n    uVar9 = *(undefined4 *)(puVar7 + 0xc);\n    uVar4 = *(undefined4 *)(puVar7 + 0x10);\n    *puVar2 = *(undefined4 *)(puVar7 + 4);\n    puVar2[1] = uVar11;\n    puVar2[2] = uVar9;\n    puVar2[3] = uVar4;\n    return puVar2;\n  }\n  pcVar16 = *(code **)(puVar15 + 0x2aa818);\n  iVar6 = *(int *)(puVar15 + 0x2a9af4) + -0x512c;\n  (*pcVar16)(iVar6,*(int *)(puVar15 + 0x2a9af4) + -0x5168,0x1c5,\n             *(int *)(puVar15 + 0x2a9af4) + -0x4f30);\n  if (iVar6 == 0) {\n    (**(code **)(pcVar16 + 0x2aa774))\n              (*(int *)(pcVar16 + 0x2a9a50) + -0x5150,*(int *)(pcVar16 + 0x2a9a50) + -0x5168,0x1e1,\n               *(int *)(pcVar16 + 0x2a9a50) + -0x4f44);\n  }\n  else if (*(int *)(iVar6 + 0x24) == -0x54535255) {\n    return *(undefined4 **)(iVar6 + 0x14);\n  }\n  uVar4 = 0x1e2;\n  pcVar17 = *(code **)(pcVar16 + 0x2aa774);\n  iVar8 = *(int *)(pcVar16 + 0x2a9a50) + -0x5168;\n  iVar6 = *(int *)(pcVar16 + 0x2a9a50) + -0x512c;\n  (*pcVar17)();\n  piVar12 = *(int **)(pcVar17 + 0x2aa318);\n  iStack_9c = *piVar12;\n  uStack_98 = unaff_s0;\n  iStack_94 = param_1;\n  if (iVar6 == 0) {\n    (**(code **)(pcVar17 + 0x2aa6f0))\n              (*(int *)(pcVar17 + 0x2a99cc) + -0x50fc,*(int *)(pcVar17 + 0x2a99cc) + -0x5168,0x225,\n               *(int *)(pcVar17 + 0x2a99cc) + -0x4f5c);\n  }\n  else if (*(int *)(iVar6 + 0x24) == -0x54535255) {\n    if (iVar8 == 0) {\n      puVar2 = (undefined4 *)0x0;\n    }\n    else {\n      uVar9 = *(undefined4 *)(iVar6 + 0x14);\n      iVar13 = *(int *)(iVar6 + 8);\n      iVar14 = *(int *)(iVar6 + 0x10);\n      uStack_bc = 0;\n      uStack_c0 = 0;\n      iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9);\n      if (((iVar5 == 4) || (iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3)) &&\n         ((iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 4 ||\n          (iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3)))) {\n        iVar13 = iVar13 - iVar14;\n        (**(code **)(pcVar17 + 0x2aa224))(7);\n        iVar5 = iVar13;\n        if (iVar13 < 0) {\n          iVar5 = iVar13 + 0x3f;\n        }\n        iVar5 = iVar5 >> 6;\n        if (extraout_v1 < iVar5) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          bVar1 = extraout_v1_02 < 2;\n        }\n        else {\n          bVar1 = iVar13 < 0x80;\n        }\n        iVar13 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          if (extraout_v1_01 < iVar5) {\n            (**(code **)(pcVar17 + 0x2aa224))(7);\n            iVar5 = extraout_v1_03;\n          }\n          goto LAB_000feff4;\n        }\n        iVar14 = *(int *)(pcVar17 + 0x2a9b7c);\n      }\n      else {\n        uVar18 = (**(code **)(pcVar17 + 0x2aa224))(7);\n        if ((int)((ulonglong)uVar18 >> 0x20) == 0) {\n          pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n          if ((uint)uVar18 < 2) {\n            uVar18 = (*pcVar16)(7);\n            if ((int)((ulonglong)uVar18 >> 0x20) != 0) goto LAB_000fefdc;\n            pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n            if ((uint)uVar18 < 2) {\n              iVar5 = 1;\n              goto LAB_000feff4;\n            }\n          }\n        }\n        else {\nLAB_000fefdc:\n          pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n        }\n        uVar18 = (*pcVar16)(7);\n        if (((int)((ulonglong)uVar18 >> 0x20) == 0) && ((uint)uVar18 < 2)) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          iVar5 = extraout_v1_00;\n        }\n        else {\n          iVar5 = 2;\n        }\nLAB_000feff4:\n        iVar14 = *(int *)(pcVar17 + 0x2a9b7c);\n        iVar13 = iVar5;\n      }\n      puStack_a4 = (undefined4 *)0x1;\n      puStack_a0 = &uStack_c0;\n      iStack_b4 = iVar6;\n      iStack_b0 = iVar8;\n      uStack_ac = uVar4;\n      uStack_a8 = uVar9;\n      (**(code **)(pcVar17 + 0x2aa280))(iVar14 + -0x2298,&iStack_b4,iVar13,0);\n      puVar2 = puStack_a4;\n    }\n    iVar6 = iStack_9c;\n    if (iStack_9c == *piVar12) {\n      return puVar2;\n    }\n    goto LAB_000ff1d4;\n  }\n  iVar6 = *(int *)(pcVar17 + 0x2a99d0) + 0x3930;\n  (**(code **)(pcVar17 + 0x2aa6f0))\n            (iVar6,*(int *)(pcVar17 + 0x2a99cc) + -0x5168,0x226,\n             *(int *)(pcVar17 + 0x2a99cc) + -0x4f5c);\nLAB_000ff1d4:\n  pcVar16 = *(code **)(pcVar17 + 0x2aa14c);\n  (*pcVar16)();\n  if (iVar6 == 0) {\n    (**(code **)(pcVar16 + 0x2aa428))\n              (*(int *)(pcVar16 + 0x2a9704) + -0x5150,*(int *)(pcVar16 + 0x2a9704) + -0x5168,0x271,\n               *(int *)(pcVar16 + 0x2a9704) + -0x4f7c,pcVar16 + 0x2b16d0);\n  }\n  else if (*(int *)(iVar6 + 0x24) == -0x54535255) {\n                    \n                    \n    puVar2 = (undefined4 *)(**(code **)(pcVar16 + 0x2a9da0))(*(undefined4 *)(iVar6 + 0x18));\n    return puVar2;\n  }\n  pcVar17 = *(code **)(pcVar16 + 0x2aa428);\n  iVar6 = *(int *)(pcVar16 + 0x2a9704) + -0x512c;\n  (*pcVar17)(iVar6,*(int *)(pcVar16 + 0x2a9704) + -0x5168,0x272,\n             *(int *)(pcVar16 + 0x2a9704) + -0x4f7c);\n  if (iVar6 == 0) {\n    (**(code **)(pcVar17 + 0x2aa3a0))\n              (*(int *)(pcVar17 + 0x2a967c) + -0x5150,*(int *)(pcVar17 + 0x2a967c) + -0x5168,0x28f,\n               *(int *)(pcVar17 + 0x2a967c) + -0x4f98,pcVar17 + 0x2b1648);\n  }\n  else if (*(int *)(iVar6 + 0x24) == -0x54535255) {\n                    \n                    \n    puVar2 = (undefined4 *)(**(code **)(pcVar17 + 0x2a9a8c))(*(undefined4 *)(iVar6 + 0x18));\n    return puVar2;\n  }\n  iVar6 = *(int *)(pcVar17 + 0x2a967c) + -0x512c;\n  (**(code **)(pcVar17 + 0x2aa3a0))\n            (iVar6,*(int *)(pcVar17 + 0x2a967c) + -0x5168,0x290,\n             *(int *)(pcVar17 + 0x2a967c) + -0x4f98);\n  if (iVar6 == 0) {\n    return (undefined4 *)0x0;\n  }\n  return (undefined4 *)(uint)(*(int *)(iVar6 + 0x24) == -0x54535255);\n}" ({ "{") (declaration "bool bVar1;" (primitive_type "bool") (identifier "bVar1") (; ";")) (declaration "undefined4 *puVar2;" (type_identifier "undefined4") (pointer_declarator "*puVar2" (* "*") (identifier "puVar2")) (; ";")) (declaration "undefined4 *puVar3;" (type_identifier "undefined4") (pointer_declarator "*puVar3" (* "*") (identifier "puVar3")) (; ";")) (declaration "undefined4 uVar4;" (type_identifier "undefined4") (identifier "uVar4") (; ";")) (declaration "int iVar5;" (primitive_type "int") (identifier "iVar5") (; ";")) (declaration "int extraout_v1;" (primitive_type "int") (identifier "extraout_v1") (; ";")) (declaration "int extraout_v1_00;" (primitive_type "int") (identifier "extraout_v1_00") (; ";")) (declaration "int extraout_v1_01;" (primitive_type "int") (identifier "extraout_v1_01") (; ";")) (declaration "int extraout_v1_02;" (primitive_type "int") (identifier "extraout_v1_02") (; ";")) (declaration "int extraout_v1_03;" (primitive_type "int") (identifier "extraout_v1_03") (; ";")) (declaration "int iVar6;" (primitive_type "int") (identifier "iVar6") (; ";")) (declaration "undefined *puVar7;" (type_identifier "undefined") (pointer_declarator "*puVar7" (* "*") (identifier "puVar7")) (; ";")) (declaration "int iVar8;" (primitive_type "int") (identifier "iVar8") (; ";")) (declaration "undefined4 uVar9;" (type_identifier "undefined4") (identifier "uVar9") (; ";")) (declaration "undefined *puVar10;" (type_identifier "undefined") (pointer_declarator "*puVar10" (* "*") (identifier "puVar10")) (; ";")) (declaration "undefined4 uVar11;" (type_identifier "undefined4") (identifier "uVar11") (; ";")) (declaration "undefined4 unaff_s0;" (type_identifier "undefined4") (identifier "unaff_s0") (; ";")) (declaration "int *piVar12;" (primitive_type "int") (pointer_declarator "*piVar12" (* "*") (identifier "piVar12")) (; ";")) (declaration "int iVar13;" (primitive_type "int") (identifier "iVar13") (; ";")) (declaration "int iVar14;" (primitive_type "int") (identifier "iVar14") (; ";")) (declaration "undefined *puVar15;" (type_identifier "undefined") (pointer_declarator "*puVar15" (* "*") (identifier "puVar15")) (; ";")) (declaration "code *pcVar16;" (type_identifier "code") (pointer_declarator "*pcVar16" (* "*") (identifier "pcVar16")) (; ";")) (declaration "code *pcVar17;" (type_identifier "code") (pointer_declarator "*pcVar17" (* "*") (identifier "pcVar17")) (; ";")) (declaration "undefined8 uVar18;" (type_identifier "undefined8") (identifier "uVar18") (; ";")) (declaration "undefined4 uStack_c0;" (type_identifier "undefined4") (identifier "uStack_c0") (; ";")) (declaration "undefined4 uStack_bc;" (type_identifier "undefined4") (identifier "uStack_bc") (; ";")) (declaration "int iStack_b4;" (primitive_type "int") (identifier "iStack_b4") (; ";")) (declaration "int iStack_b0;" (primitive_type "int") (identifier "iStack_b0") (; ";")) (declaration "undefined4 uStack_ac;" (type_identifier "undefined4") (identifier "uStack_ac") (; ";")) (declaration "undefined4 uStack_a8;" (type_identifier "undefined4") (identifier "uStack_a8") (; ";")) (declaration "undefined4 *puStack_a4;" (type_identifier "undefined4") (pointer_declarator "*puStack_a4" (* "*") (identifier "puStack_a4")) (; ";")) (declaration "undefined4 *puStack_a0;" (type_identifier "undefined4") (pointer_declarator "*puStack_a0" (* "*") (identifier "puStack_a0")) (; ";")) (declaration "int iStack_9c;" (primitive_type "int") (identifier "iStack_9c") (; ";")) (declaration "undefined4 uStack_98;" (type_identifier "undefined4") (identifier "uStack_98") (; ";")) (declaration "int iStack_94;" (primitive_type "int") (identifier "iStack_94") (; ";")) (expression_statement "puVar15 = PTR_AcquireQuantumMemory_003a950c;" (assignment_expression "puVar15 = PTR_AcquireQuantumMemory_003a950c" (identifier "puVar15") (= "=") (identifier "PTR_AcquireQuantumMemory_003a950c")) (; ";")) (if_statement "if (param_1 == 0) {\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x50dc,PTR_s_t_to_left_003a88e4 + -0x5168,0x194,\n               PTR_s_t_to_left_003a88e4 + -0x4f04);\nLAB_000fece8:\n    unaff_s0 = (*(code *)PTR_AcquireExceptionInfo_003a8eec)();\n    puVar2 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n    param_1 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar2);\n    puVar10 = (undefined *)0x19b;\n    (*(code *)PTR_ThrowMagickException_003a8f20)\n              (unaff_s0,PTR_s_t_to_left_003a88e4 + -0x5168,PTR_s_t_to_left_003a88e4 + -0x4f1c,0x19b)\n    ;\n    (*(code *)PTR_DestroyString_003a9074)(param_1);\n    (*(code *)PTR_CatchException_003a92b0)(unaff_s0);\n    (*(code *)PTR_DestroyExceptionInfo_003a8d50)(unaff_s0);\n    (*(code *)PTR_MagickCoreTerminus_003a98ec)();\n    (*(code *)PTR__exit_003a9660)(1);\nLAB_000fedb0:\n    puVar10 = puVar10 + -0x4f04;\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x50b4,PTR_s_t_to_left_003a88e4 + -0x5168,0x196,puVar10);\n  }\n  else {\n    puVar10 = PTR_s_t_to_left_003a88e4;\n    if (*(int *)(param_1 + 0x24) == -0x54535255) {\n      if (param_2 != (undefined4 *)0x0) {\n        *param_2 = **(undefined4 **)(param_1 + 0x1c);\n        puVar2 = (undefined4 *)(*(code *)puVar15)(0x2000,1);\n        if (puVar2 != (undefined4 *)0x0) {\n          puVar3 = *(undefined4 **)(param_1 + 0x1c);\n          *(undefined1 *)puVar2 = 0;\n          if (puVar3[2] != 0) {\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)(*puVar3);\n            (*(code *)PTR_CopyMagickString_003a983c)(puVar2,uVar4,0x1000);\n            puVar3 = *(undefined4 **)(param_1 + 0x1c);\n          }\n          if (puVar3[3] != 0) {\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (puVar2,PTR_s_t_to_left_003a88e4 + -0x5090,0x1000);\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)\n                              (**(undefined4 **)(param_1 + 0x1c),\n                               (*(undefined4 **)(param_1 + 0x1c))[3]);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)(puVar2,uVar4,0x1000);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (puVar2,PTR_s_courses_003a88ec + -0x6e0,0x1000);\n          }\n          return puVar2;\n        }\n        goto LAB_000fece8;\n      }\n      goto LAB_000fedb0;\n    }\n  }" (if "if") (parenthesized_expression "(param_1 == 0)" (( "(") (binary_expression "param_1 == 0" (identifier "param_1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x50dc,PTR_s_t_to_left_003a88e4 + -0x5168,0x194,\n               PTR_s_t_to_left_003a88e4 + -0x4f04);\nLAB_000fece8:\n    unaff_s0 = (*(code *)PTR_AcquireExceptionInfo_003a8eec)();\n    puVar2 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n    param_1 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar2);\n    puVar10 = (undefined *)0x19b;\n    (*(code *)PTR_ThrowMagickException_003a8f20)\n              (unaff_s0,PTR_s_t_to_left_003a88e4 + -0x5168,PTR_s_t_to_left_003a88e4 + -0x4f1c,0x19b)\n    ;\n    (*(code *)PTR_DestroyString_003a9074)(param_1);\n    (*(code *)PTR_CatchException_003a92b0)(unaff_s0);\n    (*(code *)PTR_DestroyExceptionInfo_003a8d50)(unaff_s0);\n    (*(code *)PTR_MagickCoreTerminus_003a98ec)();\n    (*(code *)PTR__exit_003a9660)(1);\nLAB_000fedb0:\n    puVar10 = puVar10 + -0x4f04;\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x50b4,PTR_s_t_to_left_003a88e4 + -0x5168,0x196,puVar10);\n  }" ({ "{") (expression_statement "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x50dc,PTR_s_t_to_left_003a88e4 + -0x5168,0x194,\n               PTR_s_t_to_left_003a88e4 + -0x4f04);" (call_expression "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x50dc,PTR_s_t_to_left_003a88e4 + -0x5168,0x194,\n               PTR_s_t_to_left_003a88e4 + -0x4f04)" (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 + -0x50dc,PTR_s_t_to_left_003a88e4 + -0x5168,0x194,\n               PTR_s_t_to_left_003a88e4 + -0x4f04)" (( "(") (binary_expression "PTR_s_t_to_left_003a88e4 + -0x50dc" (identifier "PTR_s_t_to_left_003a88e4") (+ "+") (number_literal "-0x50dc")) (, ",") (binary_expression "PTR_s_t_to_left_003a88e4 + -0x5168" (identifier "PTR_s_t_to_left_003a88e4") (+ "+") (number_literal "-0x5168")) (, ",") (number_literal "0x194") (, ",") (binary_expression "PTR_s_t_to_left_003a88e4 + -0x4f04" (identifier "PTR_s_t_to_left_003a88e4") (+ "+") (number_literal "-0x4f04")) () ")"))) (; ";")) (labeled_statement "LAB_000fece8:\n    unaff_s0 = (*(code *)PTR_AcquireExceptionInfo_003a8eec)();" (statement_identifier "LAB_000fece8") (: ":") (expression_statement "unaff_s0 = (*(code *)PTR_AcquireExceptionInfo_003a8eec)();" (assignment_expression "unaff_s0 = (*(code *)PTR_AcquireExceptionInfo_003a8eec)()" (identifier "unaff_s0") (= "=") (call_expression "(*(code *)PTR_AcquireExceptionInfo_003a8eec)()" (parenthesized_expression "(*(code *)PTR_AcquireExceptionInfo_003a8eec)" (( "(") (pointer_expression "*(code *)PTR_AcquireExceptionInfo_003a8eec" (* "*") (cast_expression "(code *)PTR_AcquireExceptionInfo_003a8eec" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_AcquireExceptionInfo_003a8eec"))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";"))) (expression_statement "puVar2 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();" (assignment_expression "puVar2 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)()" (identifier "puVar2") (= "=") (cast_expression "(undefined4 *)(*(code *)PTR___errno_location_003a99b0)()" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR___errno_location_003a99b0)()" (parenthesized_expression "(*(code *)PTR___errno_location_003a99b0)" (( "(") (pointer_expression "*(code *)PTR___errno_location_003a99b0" (* "*") (cast_expression "(code *)PTR___errno_location_003a99b0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___errno_location_003a99b0"))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "param_1 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar2);" (assignment_expression "param_1 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar2)" (identifier "param_1") (= "=") (call_expression "(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar2)" (parenthesized_expression "(*(code *)PTR_GetExceptionMessage_003a93ec)" (( "(") (pointer_expression "*(code *)PTR_GetExceptionMessage_003a93ec" (* "*") (cast_expression "(code *)PTR_GetExceptionMessage_003a93ec" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_GetExceptionMessage_003a93ec"))) () ")")) (argument_list "(*puVar2)" (( "(") (pointer_expression "*puVar2" (* "*") (identifier "puVar2")) () ")")))) (; ";")) (expression_statement "puVar10 = (undefined *)0x19b;" (assignment_expression "puVar10 = (undefined *)0x19b" (identifier "puVar10") (= "=") (cast_expression "(undefined *)0x19b" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x19b"))) (; ";")) (expression_statement "(*(code *)PTR_ThrowMagickException_003a8f20)\n              (unaff_s0,PTR_s_t_to_left_003a88e4 + -0x5168,PTR_s_t_to_left_003a88e4 + -0x4f1c,0x19b)\n    ;" (call_expression "(*(code *)PTR_ThrowMagickException_003a8f20)\n              (unaff_s0,PTR_s_t_to_left_003a88e4 + -0x5168,PTR_s_t_to_left_003a88e4 + -0x4f1c,0x19b)" (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 "(unaff_s0,PTR_s_t_to_left_003a88e4 + -0x5168,PTR_s_t_to_left_003a88e4 + -0x4f1c,0x19b)" (( "(") (identifier "unaff_s0") (, ",") (binary_expression "PTR_s_t_to_left_003a88e4 + -0x5168" (identifier "PTR_s_t_to_left_003a88e4") (+ "+") (number_literal "-0x5168")) (, ",") (binary_expression "PTR_s_t_to_left_003a88e4 + -0x4f1c" (identifier "PTR_s_t_to_left_003a88e4") (+ "+") (number_literal "-0x4f1c")) (, ",") (number_literal "0x19b") () ")"))) (; ";")) (expression_statement "(*(code *)PTR_DestroyString_003a9074)(param_1);" (call_expression "(*(code *)PTR_DestroyString_003a9074)(param_1)" (parenthesized_expression "(*(code *)PTR_DestroyString_003a9074)" (( "(") (pointer_expression "*(code *)PTR_DestroyString_003a9074" (* "*") (cast_expression "(code *)PTR_DestroyString_003a9074" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_DestroyString_003a9074"))) () ")")) (argument_list "(param_1)" (( "(") (identifier "param_1") () ")"))) (; ";")) (expression_statement "(*(code *)PTR_CatchException_003a92b0)(unaff_s0);" (call_expression "(*(code *)PTR_CatchException_003a92b0)(unaff_s0)" (parenthesized_expression "(*(code *)PTR_CatchException_003a92b0)" (( "(") (pointer_expression "*(code *)PTR_CatchException_003a92b0" (* "*") (cast_expression "(code *)PTR_CatchException_003a92b0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_CatchException_003a92b0"))) () ")")) (argument_list "(unaff_s0)" (( "(") (identifier "unaff_s0") () ")"))) (; ";")) (expression_statement "(*(code *)PTR_DestroyExceptionInfo_003a8d50)(unaff_s0);" (call_expression "(*(code *)PTR_DestroyExceptionInfo_003a8d50)(unaff_s0)" (parenthesized_expression "(*(code *)PTR_DestroyExceptionInfo_003a8d50)" (( "(") (pointer_expression "*(code *)PTR_DestroyExceptionInfo_003a8d50" (* "*") (cast_expression "(code *)PTR_DestroyExceptionInfo_003a8d50" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_DestroyExceptionInfo_003a8d50"))) () ")")) (argument_list "(unaff_s0)" (( "(") (identifier "unaff_s0") () ")"))) (; ";")) (expression_statement "(*(code *)PTR_MagickCoreTerminus_003a98ec)();" (call_expression "(*(code *)PTR_MagickCoreTerminus_003a98ec)()" (parenthesized_expression "(*(code *)PTR_MagickCoreTerminus_003a98ec)" (( "(") (pointer_expression "*(code *)PTR_MagickCoreTerminus_003a98ec" (* "*") (cast_expression "(code *)PTR_MagickCoreTerminus_003a98ec" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_MagickCoreTerminus_003a98ec"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "(*(code *)PTR__exit_003a9660)(1);" (call_expression "(*(code *)PTR__exit_003a9660)(1)" (parenthesized_expression "(*(code *)PTR__exit_003a9660)" (( "(") (pointer_expression "*(code *)PTR__exit_003a9660" (* "*") (cast_expression "(code *)PTR__exit_003a9660" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR__exit_003a9660"))) () ")")) (argument_list "(1)" (( "(") (number_literal "1") () ")"))) (; ";")) (labeled_statement "LAB_000fedb0:\n    puVar10 = puVar10 + -0x4f04;" (statement_identifier "LAB_000fedb0") (: ":") (expression_statement "puVar10 = puVar10 + -0x4f04;" (assignment_expression "puVar10 = puVar10 + -0x4f04" (identifier "puVar10") (= "=") (binary_expression "puVar10 + -0x4f04" (identifier "puVar10") (+ "+") (number_literal "-0x4f04"))) (; ";"))) (expression_statement "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x50b4,PTR_s_t_to_left_003a88e4 + -0x5168,0x196,puVar10);" (call_expression "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_t_to_left_003a88e4 + -0x50b4,PTR_s_t_to_left_003a88e4 + -0x5168,0x196,puVar10)" (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 + -0x50b4,PTR_s_t_to_left_003a88e4 + -0x5168,0x196,puVar10)" (( "(") (binary_expression "PTR_s_t_to_left_003a88e4 + -0x50b4" (identifier "PTR_s_t_to_left_003a88e4") (+ "+") (number_literal "-0x50b4")) (, ",") (binary_expression "PTR_s_t_to_left_003a88e4 + -0x5168" (identifier "PTR_s_t_to_left_003a88e4") (+ "+") (number_literal "-0x5168")) (, ",") (number_literal "0x196") (, ",") (identifier "puVar10") () ")"))) (; ";")) (} "}")) (else_clause "else {\n    puVar10 = PTR_s_t_to_left_003a88e4;\n    if (*(int *)(param_1 + 0x24) == -0x54535255) {\n      if (param_2 != (undefined4 *)0x0) {\n        *param_2 = **(undefined4 **)(param_1 + 0x1c);\n        puVar2 = (undefined4 *)(*(code *)puVar15)(0x2000,1);\n        if (puVar2 != (undefined4 *)0x0) {\n          puVar3 = *(undefined4 **)(param_1 + 0x1c);\n          *(undefined1 *)puVar2 = 0;\n          if (puVar3[2] != 0) {\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)(*puVar3);\n            (*(code *)PTR_CopyMagickString_003a983c)(puVar2,uVar4,0x1000);\n            puVar3 = *(undefined4 **)(param_1 + 0x1c);\n          }\n          if (puVar3[3] != 0) {\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (puVar2,PTR_s_t_to_left_003a88e4 + -0x5090,0x1000);\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)\n                              (**(undefined4 **)(param_1 + 0x1c),\n                               (*(undefined4 **)(param_1 + 0x1c))[3]);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)(puVar2,uVar4,0x1000);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (puVar2,PTR_s_courses_003a88ec + -0x6e0,0x1000);\n          }\n          return puVar2;\n        }\n        goto LAB_000fece8;\n      }\n      goto LAB_000fedb0;\n    }\n  }" (else "else") (compound_statement "{\n    puVar10 = PTR_s_t_to_left_003a88e4;\n    if (*(int *)(param_1 + 0x24) == -0x54535255) {\n      if (param_2 != (undefined4 *)0x0) {\n        *param_2 = **(undefined4 **)(param_1 + 0x1c);\n        puVar2 = (undefined4 *)(*(code *)puVar15)(0x2000,1);\n        if (puVar2 != (undefined4 *)0x0) {\n          puVar3 = *(undefined4 **)(param_1 + 0x1c);\n          *(undefined1 *)puVar2 = 0;\n          if (puVar3[2] != 0) {\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)(*puVar3);\n            (*(code *)PTR_CopyMagickString_003a983c)(puVar2,uVar4,0x1000);\n            puVar3 = *(undefined4 **)(param_1 + 0x1c);\n          }\n          if (puVar3[3] != 0) {\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (puVar2,PTR_s_t_to_left_003a88e4 + -0x5090,0x1000);\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)\n                              (**(undefined4 **)(param_1 + 0x1c),\n                               (*(undefined4 **)(param_1 + 0x1c))[3]);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)(puVar2,uVar4,0x1000);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (puVar2,PTR_s_courses_003a88ec + -0x6e0,0x1000);\n          }\n          return puVar2;\n        }\n        goto LAB_000fece8;\n      }\n      goto LAB_000fedb0;\n    }\n  }" ({ "{") (expression_statement "puVar10 = PTR_s_t_to_left_003a88e4;" (assignment_expression "puVar10 = PTR_s_t_to_left_003a88e4" (identifier "puVar10") (= "=") (identifier "PTR_s_t_to_left_003a88e4")) (; ";")) (if_statement "if (*(int *)(param_1 + 0x24) == -0x54535255) {\n      if (param_2 != (undefined4 *)0x0) {\n        *param_2 = **(undefined4 **)(param_1 + 0x1c);\n        puVar2 = (undefined4 *)(*(code *)puVar15)(0x2000,1);\n        if (puVar2 != (undefined4 *)0x0) {\n          puVar3 = *(undefined4 **)(param_1 + 0x1c);\n          *(undefined1 *)puVar2 = 0;\n          if (puVar3[2] != 0) {\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)(*puVar3);\n            (*(code *)PTR_CopyMagickString_003a983c)(puVar2,uVar4,0x1000);\n            puVar3 = *(undefined4 **)(param_1 + 0x1c);\n          }\n          if (puVar3[3] != 0) {\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (puVar2,PTR_s_t_to_left_003a88e4 + -0x5090,0x1000);\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)\n                              (**(undefined4 **)(param_1 + 0x1c),\n                               (*(undefined4 **)(param_1 + 0x1c))[3]);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)(puVar2,uVar4,0x1000);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (puVar2,PTR_s_courses_003a88ec + -0x6e0,0x1000);\n          }\n          return puVar2;\n        }\n        goto LAB_000fece8;\n      }\n      goto LAB_000fedb0;\n    }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0x24) == -0x54535255)" (( "(") (binary_expression "*(int *)(param_1 + 0x24) == -0x54535255" (pointer_expression "*(int *)(param_1 + 0x24)" (* "*") (cast_expression "(int *)(param_1 + 0x24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x24)" (( "(") (binary_expression "param_1 + 0x24" (identifier "param_1") (+ "+") (number_literal "0x24")) () ")")))) (== "==") (number_literal "-0x54535255")) () ")")) (compound_statement "{\n      if (param_2 != (undefined4 *)0x0) {\n        *param_2 = **(undefined4 **)(param_1 + 0x1c);\n        puVar2 = (undefined4 *)(*(code *)puVar15)(0x2000,1);\n        if (puVar2 != (undefined4 *)0x0) {\n          puVar3 = *(undefined4 **)(param_1 + 0x1c);\n          *(undefined1 *)puVar2 = 0;\n          if (puVar3[2] != 0) {\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)(*puVar3);\n            (*(code *)PTR_CopyMagickString_003a983c)(puVar2,uVar4,0x1000);\n            puVar3 = *(undefined4 **)(param_1 + 0x1c);\n          }\n          if (puVar3[3] != 0) {\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (puVar2,PTR_s_t_to_left_003a88e4 + -0x5090,0x1000);\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)\n                              (**(undefined4 **)(param_1 + 0x1c),\n                               (*(undefined4 **)(param_1 + 0x1c))[3]);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)(puVar2,uVar4,0x1000);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (puVar2,PTR_s_courses_003a88ec + -0x6e0,0x1000);\n          }\n          return puVar2;\n        }\n        goto LAB_000fece8;\n      }\n      goto LAB_000fedb0;\n    }" ({ "{") (if_statement "if (param_2 != (undefined4 *)0x0) {\n        *param_2 = **(undefined4 **)(param_1 + 0x1c);\n        puVar2 = (undefined4 *)(*(code *)puVar15)(0x2000,1);\n        if (puVar2 != (undefined4 *)0x0) {\n          puVar3 = *(undefined4 **)(param_1 + 0x1c);\n          *(undefined1 *)puVar2 = 0;\n          if (puVar3[2] != 0) {\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)(*puVar3);\n            (*(code *)PTR_CopyMagickString_003a983c)(puVar2,uVar4,0x1000);\n            puVar3 = *(undefined4 **)(param_1 + 0x1c);\n          }\n          if (puVar3[3] != 0) {\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (puVar2,PTR_s_t_to_left_003a88e4 + -0x5090,0x1000);\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)\n                              (**(undefined4 **)(param_1 + 0x1c),\n                               (*(undefined4 **)(param_1 + 0x1c))[3]);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)(puVar2,uVar4,0x1000);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (puVar2,PTR_s_courses_003a88ec + -0x6e0,0x1000);\n          }\n          return puVar2;\n        }\n        goto LAB_000fece8;\n      }" (if "if") (parenthesized_expression "(param_2 != (undefined4 *)0x0)" (( "(") (binary_expression "param_2 != (undefined4 *)0x0" (identifier "param_2") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        *param_2 = **(undefined4 **)(param_1 + 0x1c);\n        puVar2 = (undefined4 *)(*(code *)puVar15)(0x2000,1);\n        if (puVar2 != (undefined4 *)0x0) {\n          puVar3 = *(undefined4 **)(param_1 + 0x1c);\n          *(undefined1 *)puVar2 = 0;\n          if (puVar3[2] != 0) {\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)(*puVar3);\n            (*(code *)PTR_CopyMagickString_003a983c)(puVar2,uVar4,0x1000);\n            puVar3 = *(undefined4 **)(param_1 + 0x1c);\n          }\n          if (puVar3[3] != 0) {\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (puVar2,PTR_s_t_to_left_003a88e4 + -0x5090,0x1000);\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)\n                              (**(undefined4 **)(param_1 + 0x1c),\n                               (*(undefined4 **)(param_1 + 0x1c))[3]);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)(puVar2,uVar4,0x1000);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (puVar2,PTR_s_courses_003a88ec + -0x6e0,0x1000);\n          }\n          return puVar2;\n        }\n        goto LAB_000fece8;\n      }" ({ "{") (expression_statement "*param_2 = **(undefined4 **)(param_1 + 0x1c);" (assignment_expression "*param_2 = **(undefined4 **)(param_1 + 0x1c)" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (= "=") (pointer_expression "**(undefined4 **)(param_1 + 0x1c)" (* "*") (pointer_expression "*(undefined4 **)(param_1 + 0x1c)" (* "*") (cast_expression "(undefined4 **)(param_1 + 0x1c)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x1c)" (( "(") (binary_expression "param_1 + 0x1c" (identifier "param_1") (+ "+") (number_literal "0x1c")) () ")")))))) (; ";")) (expression_statement "puVar2 = (undefined4 *)(*(code *)puVar15)(0x2000,1);" (assignment_expression "puVar2 = (undefined4 *)(*(code *)puVar15)(0x2000,1)" (identifier "puVar2") (= "=") (cast_expression "(undefined4 *)(*(code *)puVar15)(0x2000,1)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)puVar15)(0x2000,1)" (parenthesized_expression "(*(code *)puVar15)" (( "(") (pointer_expression "*(code *)puVar15" (* "*") (cast_expression "(code *)puVar15" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar15"))) () ")")) (argument_list "(0x2000,1)" (( "(") (number_literal "0x2000") (, ",") (number_literal "1") () ")"))))) (; ";")) (if_statement "if (puVar2 != (undefined4 *)0x0) {\n          puVar3 = *(undefined4 **)(param_1 + 0x1c);\n          *(undefined1 *)puVar2 = 0;\n          if (puVar3[2] != 0) {\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)(*puVar3);\n            (*(code *)PTR_CopyMagickString_003a983c)(puVar2,uVar4,0x1000);\n            puVar3 = *(undefined4 **)(param_1 + 0x1c);\n          }\n          if (puVar3[3] != 0) {\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (puVar2,PTR_s_t_to_left_003a88e4 + -0x5090,0x1000);\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)\n                              (**(undefined4 **)(param_1 + 0x1c),\n                               (*(undefined4 **)(param_1 + 0x1c))[3]);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)(puVar2,uVar4,0x1000);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (puVar2,PTR_s_courses_003a88ec + -0x6e0,0x1000);\n          }\n          return puVar2;\n        }" (if "if") (parenthesized_expression "(puVar2 != (undefined4 *)0x0)" (( "(") (binary_expression "puVar2 != (undefined4 *)0x0" (identifier "puVar2") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          puVar3 = *(undefined4 **)(param_1 + 0x1c);\n          *(undefined1 *)puVar2 = 0;\n          if (puVar3[2] != 0) {\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)(*puVar3);\n            (*(code *)PTR_CopyMagickString_003a983c)(puVar2,uVar4,0x1000);\n            puVar3 = *(undefined4 **)(param_1 + 0x1c);\n          }\n          if (puVar3[3] != 0) {\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (puVar2,PTR_s_t_to_left_003a88e4 + -0x5090,0x1000);\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)\n                              (**(undefined4 **)(param_1 + 0x1c),\n                               (*(undefined4 **)(param_1 + 0x1c))[3]);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)(puVar2,uVar4,0x1000);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (puVar2,PTR_s_courses_003a88ec + -0x6e0,0x1000);\n          }\n          return puVar2;\n        }" ({ "{") (expression_statement "puVar3 = *(undefined4 **)(param_1 + 0x1c);" (assignment_expression "puVar3 = *(undefined4 **)(param_1 + 0x1c)" (identifier "puVar3") (= "=") (pointer_expression "*(undefined4 **)(param_1 + 0x1c)" (* "*") (cast_expression "(undefined4 **)(param_1 + 0x1c)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x1c)" (( "(") (binary_expression "param_1 + 0x1c" (identifier "param_1") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (expression_statement "*(undefined1 *)puVar2 = 0;" (assignment_expression "*(undefined1 *)puVar2 = 0" (pointer_expression "*(undefined1 *)puVar2" (* "*") (cast_expression "(undefined1 *)puVar2" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar2"))) (= "=") (number_literal "0")) (; ";")) (if_statement "if (puVar3[2] != 0) {\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)(*puVar3);\n            (*(code *)PTR_CopyMagickString_003a983c)(puVar2,uVar4,0x1000);\n            puVar3 = *(undefined4 **)(param_1 + 0x1c);\n          }" (if "if") (parenthesized_expression "(puVar3[2] != 0)" (( "(") (binary_expression "puVar3[2] != 0" (subscript_expression "puVar3[2]" (identifier "puVar3") ([ "[") (number_literal "2") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)(*puVar3);\n            (*(code *)PTR_CopyMagickString_003a983c)(puVar2,uVar4,0x1000);\n            puVar3 = *(undefined4 **)(param_1 + 0x1c);\n          }" ({ "{") (expression_statement "uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)(*puVar3);" (assignment_expression "uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)(*puVar3)" (identifier "uVar4") (= "=") (call_expression "(*(code *)PTR_GetLocaleExceptionMessage_003a92d0)(*puVar3)" (parenthesized_expression "(*(code *)PTR_GetLocaleExceptionMessage_003a92d0)" (( "(") (pointer_expression "*(code *)PTR_GetLocaleExceptionMessage_003a92d0" (* "*") (cast_expression "(code *)PTR_GetLocaleExceptionMessage_003a92d0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_GetLocaleExceptionMessage_003a92d0"))) () ")")) (argument_list "(*puVar3)" (( "(") (pointer_expression "*puVar3" (* "*") (identifier "puVar3")) () ")")))) (; ";")) (expression_statement "(*(code *)PTR_CopyMagickString_003a983c)(puVar2,uVar4,0x1000);" (call_expression "(*(code *)PTR_CopyMagickString_003a983c)(puVar2,uVar4,0x1000)" (parenthesized_expression "(*(code *)PTR_CopyMagickString_003a983c)" (( "(") (pointer_expression "*(code *)PTR_CopyMagickString_003a983c" (* "*") (cast_expression "(code *)PTR_CopyMagickString_003a983c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_CopyMagickString_003a983c"))) () ")")) (argument_list "(puVar2,uVar4,0x1000)" (( "(") (identifier "puVar2") (, ",") (identifier "uVar4") (, ",") (number_literal "0x1000") () ")"))) (; ";")) (expression_statement "puVar3 = *(undefined4 **)(param_1 + 0x1c);" (assignment_expression "puVar3 = *(undefined4 **)(param_1 + 0x1c)" (identifier "puVar3") (= "=") (pointer_expression "*(undefined4 **)(param_1 + 0x1c)" (* "*") (cast_expression "(undefined4 **)(param_1 + 0x1c)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x1c)" (( "(") (binary_expression "param_1 + 0x1c" (identifier "param_1") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (} "}"))) (if_statement "if (puVar3[3] != 0) {\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (puVar2,PTR_s_t_to_left_003a88e4 + -0x5090,0x1000);\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)\n                              (**(undefined4 **)(param_1 + 0x1c),\n                               (*(undefined4 **)(param_1 + 0x1c))[3]);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)(puVar2,uVar4,0x1000);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (puVar2,PTR_s_courses_003a88ec + -0x6e0,0x1000);\n          }" (if "if") (parenthesized_expression "(puVar3[3] != 0)" (( "(") (binary_expression "puVar3[3] != 0" (subscript_expression "puVar3[3]" (identifier "puVar3") ([ "[") (number_literal "3") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (puVar2,PTR_s_t_to_left_003a88e4 + -0x5090,0x1000);\n            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)\n                              (**(undefined4 **)(param_1 + 0x1c),\n                               (*(undefined4 **)(param_1 + 0x1c))[3]);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)(puVar2,uVar4,0x1000);\n            (*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (puVar2,PTR_s_courses_003a88ec + -0x6e0,0x1000);\n          }" ({ "{") (expression_statement "(*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (puVar2,PTR_s_t_to_left_003a88e4 + -0x5090,0x1000);" (call_expression "(*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (puVar2,PTR_s_t_to_left_003a88e4 + -0x5090,0x1000)" (parenthesized_expression "(*(code *)PTR_ConcatenateMagickString_003a9898)" (( "(") (pointer_expression "*(code *)PTR_ConcatenateMagickString_003a9898" (* "*") (cast_expression "(code *)PTR_ConcatenateMagickString_003a9898" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_ConcatenateMagickString_003a9898"))) () ")")) (argument_list "(puVar2,PTR_s_t_to_left_003a88e4 + -0x5090,0x1000)" (( "(") (identifier "puVar2") (, ",") (binary_expression "PTR_s_t_to_left_003a88e4 + -0x5090" (identifier "PTR_s_t_to_left_003a88e4") (+ "+") (number_literal "-0x5090")) (, ",") (number_literal "0x1000") () ")"))) (; ";")) (expression_statement "uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)\n                              (**(undefined4 **)(param_1 + 0x1c),\n                               (*(undefined4 **)(param_1 + 0x1c))[3]);" (assignment_expression "uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)\n                              (**(undefined4 **)(param_1 + 0x1c),\n                               (*(undefined4 **)(param_1 + 0x1c))[3])" (identifier "uVar4") (= "=") (call_expression "(*(code *)PTR_GetLocaleExceptionMessage_003a92d0)\n                              (**(undefined4 **)(param_1 + 0x1c),\n                               (*(undefined4 **)(param_1 + 0x1c))[3])" (parenthesized_expression "(*(code *)PTR_GetLocaleExceptionMessage_003a92d0)" (( "(") (pointer_expression "*(code *)PTR_GetLocaleExceptionMessage_003a92d0" (* "*") (cast_expression "(code *)PTR_GetLocaleExceptionMessage_003a92d0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_GetLocaleExceptionMessage_003a92d0"))) () ")")) (argument_list "(**(undefined4 **)(param_1 + 0x1c),\n                               (*(undefined4 **)(param_1 + 0x1c))[3])" (( "(") (pointer_expression "**(undefined4 **)(param_1 + 0x1c)" (* "*") (pointer_expression "*(undefined4 **)(param_1 + 0x1c)" (* "*") (cast_expression "(undefined4 **)(param_1 + 0x1c)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x1c)" (( "(") (binary_expression "param_1 + 0x1c" (identifier "param_1") (+ "+") (number_literal "0x1c")) () ")"))))) (, ",") (subscript_expression "(*(undefined4 **)(param_1 + 0x1c))[3]" (parenthesized_expression "(*(undefined4 **)(param_1 + 0x1c))" (( "(") (pointer_expression "*(undefined4 **)(param_1 + 0x1c)" (* "*") (cast_expression "(undefined4 **)(param_1 + 0x1c)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x1c)" (( "(") (binary_expression "param_1 + 0x1c" (identifier "param_1") (+ "+") (number_literal "0x1c")) () ")")))) () ")")) ([ "[") (number_literal "3") (] "]")) () ")")))) (; ";")) (expression_statement "(*(code *)PTR_ConcatenateMagickString_003a9898)(puVar2,uVar4,0x1000);" (call_expression "(*(code *)PTR_ConcatenateMagickString_003a9898)(puVar2,uVar4,0x1000)" (parenthesized_expression "(*(code *)PTR_ConcatenateMagickString_003a9898)" (( "(") (pointer_expression "*(code *)PTR_ConcatenateMagickString_003a9898" (* "*") (cast_expression "(code *)PTR_ConcatenateMagickString_003a9898" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_ConcatenateMagickString_003a9898"))) () ")")) (argument_list "(puVar2,uVar4,0x1000)" (( "(") (identifier "puVar2") (, ",") (identifier "uVar4") (, ",") (number_literal "0x1000") () ")"))) (; ";")) (expression_statement "(*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (puVar2,PTR_s_courses_003a88ec + -0x6e0,0x1000);" (call_expression "(*(code *)PTR_ConcatenateMagickString_003a9898)\n                      (puVar2,PTR_s_courses_003a88ec + -0x6e0,0x1000)" (parenthesized_expression "(*(code *)PTR_ConcatenateMagickString_003a9898)" (( "(") (pointer_expression "*(code *)PTR_ConcatenateMagickString_003a9898" (* "*") (cast_expression "(code *)PTR_ConcatenateMagickString_003a9898" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_ConcatenateMagickString_003a9898"))) () ")")) (argument_list "(puVar2,PTR_s_courses_003a88ec + -0x6e0,0x1000)" (( "(") (identifier "puVar2") (, ",") (binary_expression "PTR_s_courses_003a88ec + -0x6e0" (identifier "PTR_s_courses_003a88ec") (+ "+") (number_literal "-0x6e0")) (, ",") (number_literal "0x1000") () ")"))) (; ";")) (} "}"))) (return_statement "return puVar2;" (return "return") (identifier "puVar2") (; ";")) (} "}"))) (goto_statement "goto LAB_000fece8;" (goto "goto") (statement_identifier "LAB_000fece8") (; ";")) (} "}"))) (goto_statement "goto LAB_000fedb0;" (goto "goto") (statement_identifier "LAB_000fedb0") (; ";")) (} "}"))) (} "}")))) (expression_statement "puVar7 = PTR_s_t_to_left_003a88e4 + -0x5168;" (assignment_expression "puVar7 = PTR_s_t_to_left_003a88e4 + -0x5168" (identifier "puVar7") (= "=") (binary_expression "PTR_s_t_to_left_003a88e4 + -0x5168" (identifier "PTR_s_t_to_left_003a88e4") (+ "+") (number_literal "-0x5168"))) (; ";")) (expression_statement "puVar2 = (undefined4 *)(PTR_s_t_to_left_003a88e4 + -0x512c);" (assignment_expression "puVar2 = (undefined4 *)(PTR_s_t_to_left_003a88e4 + -0x512c)" (identifier "puVar2") (= "=") (cast_expression "(undefined4 *)(PTR_s_t_to_left_003a88e4 + -0x512c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_s_t_to_left_003a88e4 + -0x512c)" (( "(") (binary_expression "PTR_s_t_to_left_003a88e4 + -0x512c" (identifier "PTR_s_t_to_left_003a88e4") (+ "+") (number_literal "-0x512c")) () ")")))) (; ";")) (expression_statement "puVar15 = PTR___assert_fail_003a9608;" (assignment_expression "puVar15 = PTR___assert_fail_003a9608" (identifier "puVar15") (= "=") (identifier "PTR___assert_fail_003a9608")) (; ";")) (expression_statement "(*(code *)PTR___assert_fail_003a9608)(puVar2,puVar7,0x195,puVar10 + -0x4f04);" (call_expression "(*(code *)PTR___assert_fail_003a9608)(puVar2,puVar7,0x195,puVar10 + -0x4f04)" (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 "(puVar2,puVar7,0x195,puVar10 + -0x4f04)" (( "(") (identifier "puVar2") (, ",") (identifier "puVar7") (, ",") (number_literal "0x195") (, ",") (binary_expression "puVar10 + -0x4f04" (identifier "puVar10") (+ "+") (number_literal "-0x4f04")) () ")"))) (; ";")) (if_statement "if (puVar7 == (undefined *)0x0) {\n    (**(code **)(puVar15 + 0x2aa818))\n              (*(int *)(puVar15 + 0x2a9af4) + -0x5150,*(int *)(puVar15 + 0x2a9af4) + -0x5168,0x1c4,\n               *(int *)(puVar15 + 0x2a9af4) + -0x4f30);\n  }\n  else if (*(int *)(puVar7 + 0x24) == -0x54535255) {\n    uVar11 = *(undefined4 *)(puVar7 + 8);\n    uVar9 = *(undefined4 *)(puVar7 + 0xc);\n    uVar4 = *(undefined4 *)(puVar7 + 0x10);\n    *puVar2 = *(undefined4 *)(puVar7 + 4);\n    puVar2[1] = uVar11;\n    puVar2[2] = uVar9;\n    puVar2[3] = uVar4;\n    return puVar2;\n  }" (if "if") (parenthesized_expression "(puVar7 == (undefined *)0x0)" (( "(") (binary_expression "puVar7 == (undefined *)0x0" (identifier "puVar7") (== "==") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    (**(code **)(puVar15 + 0x2aa818))\n              (*(int *)(puVar15 + 0x2a9af4) + -0x5150,*(int *)(puVar15 + 0x2a9af4) + -0x5168,0x1c4,\n               *(int *)(puVar15 + 0x2a9af4) + -0x4f30);\n  }" ({ "{") (expression_statement "(**(code **)(puVar15 + 0x2aa818))\n              (*(int *)(puVar15 + 0x2a9af4) + -0x5150,*(int *)(puVar15 + 0x2a9af4) + -0x5168,0x1c4,\n               *(int *)(puVar15 + 0x2a9af4) + -0x4f30);" (call_expression "(**(code **)(puVar15 + 0x2aa818))\n              (*(int *)(puVar15 + 0x2a9af4) + -0x5150,*(int *)(puVar15 + 0x2a9af4) + -0x5168,0x1c4,\n               *(int *)(puVar15 + 0x2a9af4) + -0x4f30)" (parenthesized_expression "(**(code **)(puVar15 + 0x2aa818))" (( "(") (pointer_expression "**(code **)(puVar15 + 0x2aa818)" (* "*") (pointer_expression "*(code **)(puVar15 + 0x2aa818)" (* "*") (cast_expression "(code **)(puVar15 + 0x2aa818)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + 0x2aa818)" (( "(") (binary_expression "puVar15 + 0x2aa818" (identifier "puVar15") (+ "+") (number_literal "0x2aa818")) () ")"))))) () ")")) (argument_list "(*(int *)(puVar15 + 0x2a9af4) + -0x5150,*(int *)(puVar15 + 0x2a9af4) + -0x5168,0x1c4,\n               *(int *)(puVar15 + 0x2a9af4) + -0x4f30)" (( "(") (binary_expression "*(int *)(puVar15 + 0x2a9af4) + -0x5150" (pointer_expression "*(int *)(puVar15 + 0x2a9af4)" (* "*") (cast_expression "(int *)(puVar15 + 0x2a9af4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x2a9af4)" (( "(") (binary_expression "puVar15 + 0x2a9af4" (identifier "puVar15") (+ "+") (number_literal "0x2a9af4")) () ")")))) (+ "+") (number_literal "-0x5150")) (, ",") (binary_expression "*(int *)(puVar15 + 0x2a9af4) + -0x5168" (pointer_expression "*(int *)(puVar15 + 0x2a9af4)" (* "*") (cast_expression "(int *)(puVar15 + 0x2a9af4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x2a9af4)" (( "(") (binary_expression "puVar15 + 0x2a9af4" (identifier "puVar15") (+ "+") (number_literal "0x2a9af4")) () ")")))) (+ "+") (number_literal "-0x5168")) (, ",") (number_literal "0x1c4") (, ",") (binary_expression "*(int *)(puVar15 + 0x2a9af4) + -0x4f30" (pointer_expression "*(int *)(puVar15 + 0x2a9af4)" (* "*") (cast_expression "(int *)(puVar15 + 0x2a9af4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x2a9af4)" (( "(") (binary_expression "puVar15 + 0x2a9af4" (identifier "puVar15") (+ "+") (number_literal "0x2a9af4")) () ")")))) (+ "+") (number_literal "-0x4f30")) () ")"))) (; ";")) (} "}")) (else_clause "else if (*(int *)(puVar7 + 0x24) == -0x54535255) {\n    uVar11 = *(undefined4 *)(puVar7 + 8);\n    uVar9 = *(undefined4 *)(puVar7 + 0xc);\n    uVar4 = *(undefined4 *)(puVar7 + 0x10);\n    *puVar2 = *(undefined4 *)(puVar7 + 4);\n    puVar2[1] = uVar11;\n    puVar2[2] = uVar9;\n    puVar2[3] = uVar4;\n    return puVar2;\n  }" (else "else") (if_statement "if (*(int *)(puVar7 + 0x24) == -0x54535255) {\n    uVar11 = *(undefined4 *)(puVar7 + 8);\n    uVar9 = *(undefined4 *)(puVar7 + 0xc);\n    uVar4 = *(undefined4 *)(puVar7 + 0x10);\n    *puVar2 = *(undefined4 *)(puVar7 + 4);\n    puVar2[1] = uVar11;\n    puVar2[2] = uVar9;\n    puVar2[3] = uVar4;\n    return puVar2;\n  }" (if "if") (parenthesized_expression "(*(int *)(puVar7 + 0x24) == -0x54535255)" (( "(") (binary_expression "*(int *)(puVar7 + 0x24) == -0x54535255" (pointer_expression "*(int *)(puVar7 + 0x24)" (* "*") (cast_expression "(int *)(puVar7 + 0x24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar7 + 0x24)" (( "(") (binary_expression "puVar7 + 0x24" (identifier "puVar7") (+ "+") (number_literal "0x24")) () ")")))) (== "==") (number_literal "-0x54535255")) () ")")) (compound_statement "{\n    uVar11 = *(undefined4 *)(puVar7 + 8);\n    uVar9 = *(undefined4 *)(puVar7 + 0xc);\n    uVar4 = *(undefined4 *)(puVar7 + 0x10);\n    *puVar2 = *(undefined4 *)(puVar7 + 4);\n    puVar2[1] = uVar11;\n    puVar2[2] = uVar9;\n    puVar2[3] = uVar4;\n    return puVar2;\n  }" ({ "{") (expression_statement "uVar11 = *(undefined4 *)(puVar7 + 8);" (assignment_expression "uVar11 = *(undefined4 *)(puVar7 + 8)" (identifier "uVar11") (= "=") (pointer_expression "*(undefined4 *)(puVar7 + 8)" (* "*") (cast_expression "(undefined4 *)(puVar7 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar7 + 8)" (( "(") (binary_expression "puVar7 + 8" (identifier "puVar7") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "uVar9 = *(undefined4 *)(puVar7 + 0xc);" (assignment_expression "uVar9 = *(undefined4 *)(puVar7 + 0xc)" (identifier "uVar9") (= "=") (pointer_expression "*(undefined4 *)(puVar7 + 0xc)" (* "*") (cast_expression "(undefined4 *)(puVar7 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar7 + 0xc)" (( "(") (binary_expression "puVar7 + 0xc" (identifier "puVar7") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "uVar4 = *(undefined4 *)(puVar7 + 0x10);" (assignment_expression "uVar4 = *(undefined4 *)(puVar7 + 0x10)" (identifier "uVar4") (= "=") (pointer_expression "*(undefined4 *)(puVar7 + 0x10)" (* "*") (cast_expression "(undefined4 *)(puVar7 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar7 + 0x10)" (( "(") (binary_expression "puVar7 + 0x10" (identifier "puVar7") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "*puVar2 = *(undefined4 *)(puVar7 + 4);" (assignment_expression "*puVar2 = *(undefined4 *)(puVar7 + 4)" (pointer_expression "*puVar2" (* "*") (identifier "puVar2")) (= "=") (pointer_expression "*(undefined4 *)(puVar7 + 4)" (* "*") (cast_expression "(undefined4 *)(puVar7 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar7 + 4)" (( "(") (binary_expression "puVar7 + 4" (identifier "puVar7") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "puVar2[1] = uVar11;" (assignment_expression "puVar2[1] = uVar11" (subscript_expression "puVar2[1]" (identifier "puVar2") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uVar11")) (; ";")) (expression_statement "puVar2[2] = uVar9;" (assignment_expression "puVar2[2] = uVar9" (subscript_expression "puVar2[2]" (identifier "puVar2") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "uVar9")) (; ";")) (expression_statement "puVar2[3] = uVar4;" (assignment_expression "puVar2[3] = uVar4" (subscript_expression "puVar2[3]" (identifier "puVar2") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "uVar4")) (; ";")) (return_statement "return puVar2;" (return "return") (identifier "puVar2") (; ";")) (} "}"))))) (expression_statement "pcVar16 = *(code **)(puVar15 + 0x2aa818);" (assignment_expression "pcVar16 = *(code **)(puVar15 + 0x2aa818)" (identifier "pcVar16") (= "=") (pointer_expression "*(code **)(puVar15 + 0x2aa818)" (* "*") (cast_expression "(code **)(puVar15 + 0x2aa818)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + 0x2aa818)" (( "(") (binary_expression "puVar15 + 0x2aa818" (identifier "puVar15") (+ "+") (number_literal "0x2aa818")) () ")"))))) (; ";")) (expression_statement "iVar6 = *(int *)(puVar15 + 0x2a9af4) + -0x512c;" (assignment_expression "iVar6 = *(int *)(puVar15 + 0x2a9af4) + -0x512c" (identifier "iVar6") (= "=") (binary_expression "*(int *)(puVar15 + 0x2a9af4) + -0x512c" (pointer_expression "*(int *)(puVar15 + 0x2a9af4)" (* "*") (cast_expression "(int *)(puVar15 + 0x2a9af4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x2a9af4)" (( "(") (binary_expression "puVar15 + 0x2a9af4" (identifier "puVar15") (+ "+") (number_literal "0x2a9af4")) () ")")))) (+ "+") (number_literal "-0x512c"))) (; ";")) (expression_statement "(*pcVar16)(iVar6,*(int *)(puVar15 + 0x2a9af4) + -0x5168,0x1c5,\n             *(int *)(puVar15 + 0x2a9af4) + -0x4f30);" (call_expression "(*pcVar16)(iVar6,*(int *)(puVar15 + 0x2a9af4) + -0x5168,0x1c5,\n             *(int *)(puVar15 + 0x2a9af4) + -0x4f30)" (parenthesized_expression "(*pcVar16)" (( "(") (pointer_expression "*pcVar16" (* "*") (identifier "pcVar16")) () ")")) (argument_list "(iVar6,*(int *)(puVar15 + 0x2a9af4) + -0x5168,0x1c5,\n             *(int *)(puVar15 + 0x2a9af4) + -0x4f30)" (( "(") (identifier "iVar6") (, ",") (binary_expression "*(int *)(puVar15 + 0x2a9af4) + -0x5168" (pointer_expression "*(int *)(puVar15 + 0x2a9af4)" (* "*") (cast_expression "(int *)(puVar15 + 0x2a9af4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x2a9af4)" (( "(") (binary_expression "puVar15 + 0x2a9af4" (identifier "puVar15") (+ "+") (number_literal "0x2a9af4")) () ")")))) (+ "+") (number_literal "-0x5168")) (, ",") (number_literal "0x1c5") (, ",") (binary_expression "*(int *)(puVar15 + 0x2a9af4) + -0x4f30" (pointer_expression "*(int *)(puVar15 + 0x2a9af4)" (* "*") (cast_expression "(int *)(puVar15 + 0x2a9af4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x2a9af4)" (( "(") (binary_expression "puVar15 + 0x2a9af4" (identifier "puVar15") (+ "+") (number_literal "0x2a9af4")) () ")")))) (+ "+") (number_literal "-0x4f30")) () ")"))) (; ";")) (if_statement "if (iVar6 == 0) {\n    (**(code **)(pcVar16 + 0x2aa774))\n              (*(int *)(pcVar16 + 0x2a9a50) + -0x5150,*(int *)(pcVar16 + 0x2a9a50) + -0x5168,0x1e1,\n               *(int *)(pcVar16 + 0x2a9a50) + -0x4f44);\n  }\n  else if (*(int *)(iVar6 + 0x24) == -0x54535255) {\n    return *(undefined4 **)(iVar6 + 0x14);\n  }" (if "if") (parenthesized_expression "(iVar6 == 0)" (( "(") (binary_expression "iVar6 == 0" (identifier "iVar6") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    (**(code **)(pcVar16 + 0x2aa774))\n              (*(int *)(pcVar16 + 0x2a9a50) + -0x5150,*(int *)(pcVar16 + 0x2a9a50) + -0x5168,0x1e1,\n               *(int *)(pcVar16 + 0x2a9a50) + -0x4f44);\n  }" ({ "{") (expression_statement "(**(code **)(pcVar16 + 0x2aa774))\n              (*(int *)(pcVar16 + 0x2a9a50) + -0x5150,*(int *)(pcVar16 + 0x2a9a50) + -0x5168,0x1e1,\n               *(int *)(pcVar16 + 0x2a9a50) + -0x4f44);" (call_expression "(**(code **)(pcVar16 + 0x2aa774))\n              (*(int *)(pcVar16 + 0x2a9a50) + -0x5150,*(int *)(pcVar16 + 0x2a9a50) + -0x5168,0x1e1,\n               *(int *)(pcVar16 + 0x2a9a50) + -0x4f44)" (parenthesized_expression "(**(code **)(pcVar16 + 0x2aa774))" (( "(") (pointer_expression "**(code **)(pcVar16 + 0x2aa774)" (* "*") (pointer_expression "*(code **)(pcVar16 + 0x2aa774)" (* "*") (cast_expression "(code **)(pcVar16 + 0x2aa774)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar16 + 0x2aa774)" (( "(") (binary_expression "pcVar16 + 0x2aa774" (identifier "pcVar16") (+ "+") (number_literal "0x2aa774")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar16 + 0x2a9a50) + -0x5150,*(int *)(pcVar16 + 0x2a9a50) + -0x5168,0x1e1,\n               *(int *)(pcVar16 + 0x2a9a50) + -0x4f44)" (( "(") (binary_expression "*(int *)(pcVar16 + 0x2a9a50) + -0x5150" (pointer_expression "*(int *)(pcVar16 + 0x2a9a50)" (* "*") (cast_expression "(int *)(pcVar16 + 0x2a9a50)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar16 + 0x2a9a50)" (( "(") (binary_expression "pcVar16 + 0x2a9a50" (identifier "pcVar16") (+ "+") (number_literal "0x2a9a50")) () ")")))) (+ "+") (number_literal "-0x5150")) (, ",") (binary_expression "*(int *)(pcVar16 + 0x2a9a50) + -0x5168" (pointer_expression "*(int *)(pcVar16 + 0x2a9a50)" (* "*") (cast_expression "(int *)(pcVar16 + 0x2a9a50)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar16 + 0x2a9a50)" (( "(") (binary_expression "pcVar16 + 0x2a9a50" (identifier "pcVar16") (+ "+") (number_literal "0x2a9a50")) () ")")))) (+ "+") (number_literal "-0x5168")) (, ",") (number_literal "0x1e1") (, ",") (binary_expression "*(int *)(pcVar16 + 0x2a9a50) + -0x4f44" (pointer_expression "*(int *)(pcVar16 + 0x2a9a50)" (* "*") (cast_expression "(int *)(pcVar16 + 0x2a9a50)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar16 + 0x2a9a50)" (( "(") (binary_expression "pcVar16 + 0x2a9a50" (identifier "pcVar16") (+ "+") (number_literal "0x2a9a50")) () ")")))) (+ "+") (number_literal "-0x4f44")) () ")"))) (; ";")) (} "}")) (else_clause "else if (*(int *)(iVar6 + 0x24) == -0x54535255) {\n    return *(undefined4 **)(iVar6 + 0x14);\n  }" (else "else") (if_statement "if (*(int *)(iVar6 + 0x24) == -0x54535255) {\n    return *(undefined4 **)(iVar6 + 0x14);\n  }" (if "if") (parenthesized_expression "(*(int *)(iVar6 + 0x24) == -0x54535255)" (( "(") (binary_expression "*(int *)(iVar6 + 0x24) == -0x54535255" (pointer_expression "*(int *)(iVar6 + 0x24)" (* "*") (cast_expression "(int *)(iVar6 + 0x24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x24)" (( "(") (binary_expression "iVar6 + 0x24" (identifier "iVar6") (+ "+") (number_literal "0x24")) () ")")))) (== "==") (number_literal "-0x54535255")) () ")")) (compound_statement "{\n    return *(undefined4 **)(iVar6 + 0x14);\n  }" ({ "{") (return_statement "return *(undefined4 **)(iVar6 + 0x14);" (return "return") (pointer_expression "*(undefined4 **)(iVar6 + 0x14)" (* "*") (cast_expression "(undefined4 **)(iVar6 + 0x14)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar6 + 0x14)" (( "(") (binary_expression "iVar6 + 0x14" (identifier "iVar6") (+ "+") (number_literal "0x14")) () ")")))) (; ";")) (} "}"))))) (expression_statement "uVar4 = 0x1e2;" (assignment_expression "uVar4 = 0x1e2" (identifier "uVar4") (= "=") (number_literal "0x1e2")) (; ";")) (expression_statement "pcVar17 = *(code **)(pcVar16 + 0x2aa774);" (assignment_expression "pcVar17 = *(code **)(pcVar16 + 0x2aa774)" (identifier "pcVar17") (= "=") (pointer_expression "*(code **)(pcVar16 + 0x2aa774)" (* "*") (cast_expression "(code **)(pcVar16 + 0x2aa774)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar16 + 0x2aa774)" (( "(") (binary_expression "pcVar16 + 0x2aa774" (identifier "pcVar16") (+ "+") (number_literal "0x2aa774")) () ")"))))) (; ";")) (expression_statement "iVar8 = *(int *)(pcVar16 + 0x2a9a50) + -0x5168;" (assignment_expression "iVar8 = *(int *)(pcVar16 + 0x2a9a50) + -0x5168" (identifier "iVar8") (= "=") (binary_expression "*(int *)(pcVar16 + 0x2a9a50) + -0x5168" (pointer_expression "*(int *)(pcVar16 + 0x2a9a50)" (* "*") (cast_expression "(int *)(pcVar16 + 0x2a9a50)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar16 + 0x2a9a50)" (( "(") (binary_expression "pcVar16 + 0x2a9a50" (identifier "pcVar16") (+ "+") (number_literal "0x2a9a50")) () ")")))) (+ "+") (number_literal "-0x5168"))) (; ";")) (expression_statement "iVar6 = *(int *)(pcVar16 + 0x2a9a50) + -0x512c;" (assignment_expression "iVar6 = *(int *)(pcVar16 + 0x2a9a50) + -0x512c" (identifier "iVar6") (= "=") (binary_expression "*(int *)(pcVar16 + 0x2a9a50) + -0x512c" (pointer_expression "*(int *)(pcVar16 + 0x2a9a50)" (* "*") (cast_expression "(int *)(pcVar16 + 0x2a9a50)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar16 + 0x2a9a50)" (( "(") (binary_expression "pcVar16 + 0x2a9a50" (identifier "pcVar16") (+ "+") (number_literal "0x2a9a50")) () ")")))) (+ "+") (number_literal "-0x512c"))) (; ";")) (expression_statement "(*pcVar17)();" (call_expression "(*pcVar17)()" (parenthesized_expression "(*pcVar17)" (( "(") (pointer_expression "*pcVar17" (* "*") (identifier "pcVar17")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "piVar12 = *(int **)(pcVar17 + 0x2aa318);" (assignment_expression "piVar12 = *(int **)(pcVar17 + 0x2aa318)" (identifier "piVar12") (= "=") (pointer_expression "*(int **)(pcVar17 + 0x2aa318)" (* "*") (cast_expression "(int **)(pcVar17 + 0x2aa318)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar17 + 0x2aa318)" (( "(") (binary_expression "pcVar17 + 0x2aa318" (identifier "pcVar17") (+ "+") (number_literal "0x2aa318")) () ")"))))) (; ";")) (expression_statement "iStack_9c = *piVar12;" (assignment_expression "iStack_9c = *piVar12" (identifier "iStack_9c") (= "=") (pointer_expression "*piVar12" (* "*") (identifier "piVar12"))) (; ";")) (expression_statement "uStack_98 = unaff_s0;" (assignment_expression "uStack_98 = unaff_s0" (identifier "uStack_98") (= "=") (identifier "unaff_s0")) (; ";")) (expression_statement "iStack_94 = param_1;" (assignment_expression "iStack_94 = param_1" (identifier "iStack_94") (= "=") (identifier "param_1")) (; ";")) (if_statement "if (iVar6 == 0) {\n    (**(code **)(pcVar17 + 0x2aa6f0))\n              (*(int *)(pcVar17 + 0x2a99cc) + -0x50fc,*(int *)(pcVar17 + 0x2a99cc) + -0x5168,0x225,\n               *(int *)(pcVar17 + 0x2a99cc) + -0x4f5c);\n  }\n  else if (*(int *)(iVar6 + 0x24) == -0x54535255) {\n    if (iVar8 == 0) {\n      puVar2 = (undefined4 *)0x0;\n    }\n    else {\n      uVar9 = *(undefined4 *)(iVar6 + 0x14);\n      iVar13 = *(int *)(iVar6 + 8);\n      iVar14 = *(int *)(iVar6 + 0x10);\n      uStack_bc = 0;\n      uStack_c0 = 0;\n      iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9);\n      if (((iVar5 == 4) || (iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3)) &&\n         ((iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 4 ||\n          (iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3)))) {\n        iVar13 = iVar13 - iVar14;\n        (**(code **)(pcVar17 + 0x2aa224))(7);\n        iVar5 = iVar13;\n        if (iVar13 < 0) {\n          iVar5 = iVar13 + 0x3f;\n        }\n        iVar5 = iVar5 >> 6;\n        if (extraout_v1 < iVar5) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          bVar1 = extraout_v1_02 < 2;\n        }\n        else {\n          bVar1 = iVar13 < 0x80;\n        }\n        iVar13 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          if (extraout_v1_01 < iVar5) {\n            (**(code **)(pcVar17 + 0x2aa224))(7);\n            iVar5 = extraout_v1_03;\n          }\n          goto LAB_000feff4;\n        }\n        iVar14 = *(int *)(pcVar17 + 0x2a9b7c);\n      }\n      else {\n        uVar18 = (**(code **)(pcVar17 + 0x2aa224))(7);\n        if ((int)((ulonglong)uVar18 >> 0x20) == 0) {\n          pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n          if ((uint)uVar18 < 2) {\n            uVar18 = (*pcVar16)(7);\n            if ((int)((ulonglong)uVar18 >> 0x20) != 0) goto LAB_000fefdc;\n            pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n            if ((uint)uVar18 < 2) {\n              iVar5 = 1;\n              goto LAB_000feff4;\n            }\n          }\n        }\n        else {\nLAB_000fefdc:\n          pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n        }\n        uVar18 = (*pcVar16)(7);\n        if (((int)((ulonglong)uVar18 >> 0x20) == 0) && ((uint)uVar18 < 2)) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          iVar5 = extraout_v1_00;\n        }\n        else {\n          iVar5 = 2;\n        }\nLAB_000feff4:\n        iVar14 = *(int *)(pcVar17 + 0x2a9b7c);\n        iVar13 = iVar5;\n      }\n      puStack_a4 = (undefined4 *)0x1;\n      puStack_a0 = &uStack_c0;\n      iStack_b4 = iVar6;\n      iStack_b0 = iVar8;\n      uStack_ac = uVar4;\n      uStack_a8 = uVar9;\n      (**(code **)(pcVar17 + 0x2aa280))(iVar14 + -0x2298,&iStack_b4,iVar13,0);\n      puVar2 = puStack_a4;\n    }\n    iVar6 = iStack_9c;\n    if (iStack_9c == *piVar12) {\n      return puVar2;\n    }\n    goto LAB_000ff1d4;\n  }" (if "if") (parenthesized_expression "(iVar6 == 0)" (( "(") (binary_expression "iVar6 == 0" (identifier "iVar6") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    (**(code **)(pcVar17 + 0x2aa6f0))\n              (*(int *)(pcVar17 + 0x2a99cc) + -0x50fc,*(int *)(pcVar17 + 0x2a99cc) + -0x5168,0x225,\n               *(int *)(pcVar17 + 0x2a99cc) + -0x4f5c);\n  }" ({ "{") (expression_statement "(**(code **)(pcVar17 + 0x2aa6f0))\n              (*(int *)(pcVar17 + 0x2a99cc) + -0x50fc,*(int *)(pcVar17 + 0x2a99cc) + -0x5168,0x225,\n               *(int *)(pcVar17 + 0x2a99cc) + -0x4f5c);" (call_expression "(**(code **)(pcVar17 + 0x2aa6f0))\n              (*(int *)(pcVar17 + 0x2a99cc) + -0x50fc,*(int *)(pcVar17 + 0x2a99cc) + -0x5168,0x225,\n               *(int *)(pcVar17 + 0x2a99cc) + -0x4f5c)" (parenthesized_expression "(**(code **)(pcVar17 + 0x2aa6f0))" (( "(") (pointer_expression "**(code **)(pcVar17 + 0x2aa6f0)" (* "*") (pointer_expression "*(code **)(pcVar17 + 0x2aa6f0)" (* "*") (cast_expression "(code **)(pcVar17 + 0x2aa6f0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar17 + 0x2aa6f0)" (( "(") (binary_expression "pcVar17 + 0x2aa6f0" (identifier "pcVar17") (+ "+") (number_literal "0x2aa6f0")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar17 + 0x2a99cc) + -0x50fc,*(int *)(pcVar17 + 0x2a99cc) + -0x5168,0x225,\n               *(int *)(pcVar17 + 0x2a99cc) + -0x4f5c)" (( "(") (binary_expression "*(int *)(pcVar17 + 0x2a99cc) + -0x50fc" (pointer_expression "*(int *)(pcVar17 + 0x2a99cc)" (* "*") (cast_expression "(int *)(pcVar17 + 0x2a99cc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar17 + 0x2a99cc)" (( "(") (binary_expression "pcVar17 + 0x2a99cc" (identifier "pcVar17") (+ "+") (number_literal "0x2a99cc")) () ")")))) (+ "+") (number_literal "-0x50fc")) (, ",") (binary_expression "*(int *)(pcVar17 + 0x2a99cc) + -0x5168" (pointer_expression "*(int *)(pcVar17 + 0x2a99cc)" (* "*") (cast_expression "(int *)(pcVar17 + 0x2a99cc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar17 + 0x2a99cc)" (( "(") (binary_expression "pcVar17 + 0x2a99cc" (identifier "pcVar17") (+ "+") (number_literal "0x2a99cc")) () ")")))) (+ "+") (number_literal "-0x5168")) (, ",") (number_literal "0x225") (, ",") (binary_expression "*(int *)(pcVar17 + 0x2a99cc) + -0x4f5c" (pointer_expression "*(int *)(pcVar17 + 0x2a99cc)" (* "*") (cast_expression "(int *)(pcVar17 + 0x2a99cc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar17 + 0x2a99cc)" (( "(") (binary_expression "pcVar17 + 0x2a99cc" (identifier "pcVar17") (+ "+") (number_literal "0x2a99cc")) () ")")))) (+ "+") (number_literal "-0x4f5c")) () ")"))) (; ";")) (} "}")) (else_clause "else if (*(int *)(iVar6 + 0x24) == -0x54535255) {\n    if (iVar8 == 0) {\n      puVar2 = (undefined4 *)0x0;\n    }\n    else {\n      uVar9 = *(undefined4 *)(iVar6 + 0x14);\n      iVar13 = *(int *)(iVar6 + 8);\n      iVar14 = *(int *)(iVar6 + 0x10);\n      uStack_bc = 0;\n      uStack_c0 = 0;\n      iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9);\n      if (((iVar5 == 4) || (iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3)) &&\n         ((iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 4 ||\n          (iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3)))) {\n        iVar13 = iVar13 - iVar14;\n        (**(code **)(pcVar17 + 0x2aa224))(7);\n        iVar5 = iVar13;\n        if (iVar13 < 0) {\n          iVar5 = iVar13 + 0x3f;\n        }\n        iVar5 = iVar5 >> 6;\n        if (extraout_v1 < iVar5) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          bVar1 = extraout_v1_02 < 2;\n        }\n        else {\n          bVar1 = iVar13 < 0x80;\n        }\n        iVar13 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          if (extraout_v1_01 < iVar5) {\n            (**(code **)(pcVar17 + 0x2aa224))(7);\n            iVar5 = extraout_v1_03;\n          }\n          goto LAB_000feff4;\n        }\n        iVar14 = *(int *)(pcVar17 + 0x2a9b7c);\n      }\n      else {\n        uVar18 = (**(code **)(pcVar17 + 0x2aa224))(7);\n        if ((int)((ulonglong)uVar18 >> 0x20) == 0) {\n          pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n          if ((uint)uVar18 < 2) {\n            uVar18 = (*pcVar16)(7);\n            if ((int)((ulonglong)uVar18 >> 0x20) != 0) goto LAB_000fefdc;\n            pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n            if ((uint)uVar18 < 2) {\n              iVar5 = 1;\n              goto LAB_000feff4;\n            }\n          }\n        }\n        else {\nLAB_000fefdc:\n          pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n        }\n        uVar18 = (*pcVar16)(7);\n        if (((int)((ulonglong)uVar18 >> 0x20) == 0) && ((uint)uVar18 < 2)) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          iVar5 = extraout_v1_00;\n        }\n        else {\n          iVar5 = 2;\n        }\nLAB_000feff4:\n        iVar14 = *(int *)(pcVar17 + 0x2a9b7c);\n        iVar13 = iVar5;\n      }\n      puStack_a4 = (undefined4 *)0x1;\n      puStack_a0 = &uStack_c0;\n      iStack_b4 = iVar6;\n      iStack_b0 = iVar8;\n      uStack_ac = uVar4;\n      uStack_a8 = uVar9;\n      (**(code **)(pcVar17 + 0x2aa280))(iVar14 + -0x2298,&iStack_b4,iVar13,0);\n      puVar2 = puStack_a4;\n    }\n    iVar6 = iStack_9c;\n    if (iStack_9c == *piVar12) {\n      return puVar2;\n    }\n    goto LAB_000ff1d4;\n  }" (else "else") (if_statement "if (*(int *)(iVar6 + 0x24) == -0x54535255) {\n    if (iVar8 == 0) {\n      puVar2 = (undefined4 *)0x0;\n    }\n    else {\n      uVar9 = *(undefined4 *)(iVar6 + 0x14);\n      iVar13 = *(int *)(iVar6 + 8);\n      iVar14 = *(int *)(iVar6 + 0x10);\n      uStack_bc = 0;\n      uStack_c0 = 0;\n      iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9);\n      if (((iVar5 == 4) || (iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3)) &&\n         ((iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 4 ||\n          (iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3)))) {\n        iVar13 = iVar13 - iVar14;\n        (**(code **)(pcVar17 + 0x2aa224))(7);\n        iVar5 = iVar13;\n        if (iVar13 < 0) {\n          iVar5 = iVar13 + 0x3f;\n        }\n        iVar5 = iVar5 >> 6;\n        if (extraout_v1 < iVar5) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          bVar1 = extraout_v1_02 < 2;\n        }\n        else {\n          bVar1 = iVar13 < 0x80;\n        }\n        iVar13 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          if (extraout_v1_01 < iVar5) {\n            (**(code **)(pcVar17 + 0x2aa224))(7);\n            iVar5 = extraout_v1_03;\n          }\n          goto LAB_000feff4;\n        }\n        iVar14 = *(int *)(pcVar17 + 0x2a9b7c);\n      }\n      else {\n        uVar18 = (**(code **)(pcVar17 + 0x2aa224))(7);\n        if ((int)((ulonglong)uVar18 >> 0x20) == 0) {\n          pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n          if ((uint)uVar18 < 2) {\n            uVar18 = (*pcVar16)(7);\n            if ((int)((ulonglong)uVar18 >> 0x20) != 0) goto LAB_000fefdc;\n            pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n            if ((uint)uVar18 < 2) {\n              iVar5 = 1;\n              goto LAB_000feff4;\n            }\n          }\n        }\n        else {\nLAB_000fefdc:\n          pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n        }\n        uVar18 = (*pcVar16)(7);\n        if (((int)((ulonglong)uVar18 >> 0x20) == 0) && ((uint)uVar18 < 2)) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          iVar5 = extraout_v1_00;\n        }\n        else {\n          iVar5 = 2;\n        }\nLAB_000feff4:\n        iVar14 = *(int *)(pcVar17 + 0x2a9b7c);\n        iVar13 = iVar5;\n      }\n      puStack_a4 = (undefined4 *)0x1;\n      puStack_a0 = &uStack_c0;\n      iStack_b4 = iVar6;\n      iStack_b0 = iVar8;\n      uStack_ac = uVar4;\n      uStack_a8 = uVar9;\n      (**(code **)(pcVar17 + 0x2aa280))(iVar14 + -0x2298,&iStack_b4,iVar13,0);\n      puVar2 = puStack_a4;\n    }\n    iVar6 = iStack_9c;\n    if (iStack_9c == *piVar12) {\n      return puVar2;\n    }\n    goto LAB_000ff1d4;\n  }" (if "if") (parenthesized_expression "(*(int *)(iVar6 + 0x24) == -0x54535255)" (( "(") (binary_expression "*(int *)(iVar6 + 0x24) == -0x54535255" (pointer_expression "*(int *)(iVar6 + 0x24)" (* "*") (cast_expression "(int *)(iVar6 + 0x24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x24)" (( "(") (binary_expression "iVar6 + 0x24" (identifier "iVar6") (+ "+") (number_literal "0x24")) () ")")))) (== "==") (number_literal "-0x54535255")) () ")")) (compound_statement "{\n    if (iVar8 == 0) {\n      puVar2 = (undefined4 *)0x0;\n    }\n    else {\n      uVar9 = *(undefined4 *)(iVar6 + 0x14);\n      iVar13 = *(int *)(iVar6 + 8);\n      iVar14 = *(int *)(iVar6 + 0x10);\n      uStack_bc = 0;\n      uStack_c0 = 0;\n      iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9);\n      if (((iVar5 == 4) || (iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3)) &&\n         ((iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 4 ||\n          (iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3)))) {\n        iVar13 = iVar13 - iVar14;\n        (**(code **)(pcVar17 + 0x2aa224))(7);\n        iVar5 = iVar13;\n        if (iVar13 < 0) {\n          iVar5 = iVar13 + 0x3f;\n        }\n        iVar5 = iVar5 >> 6;\n        if (extraout_v1 < iVar5) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          bVar1 = extraout_v1_02 < 2;\n        }\n        else {\n          bVar1 = iVar13 < 0x80;\n        }\n        iVar13 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          if (extraout_v1_01 < iVar5) {\n            (**(code **)(pcVar17 + 0x2aa224))(7);\n            iVar5 = extraout_v1_03;\n          }\n          goto LAB_000feff4;\n        }\n        iVar14 = *(int *)(pcVar17 + 0x2a9b7c);\n      }\n      else {\n        uVar18 = (**(code **)(pcVar17 + 0x2aa224))(7);\n        if ((int)((ulonglong)uVar18 >> 0x20) == 0) {\n          pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n          if ((uint)uVar18 < 2) {\n            uVar18 = (*pcVar16)(7);\n            if ((int)((ulonglong)uVar18 >> 0x20) != 0) goto LAB_000fefdc;\n            pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n            if ((uint)uVar18 < 2) {\n              iVar5 = 1;\n              goto LAB_000feff4;\n            }\n          }\n        }\n        else {\nLAB_000fefdc:\n          pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n        }\n        uVar18 = (*pcVar16)(7);\n        if (((int)((ulonglong)uVar18 >> 0x20) == 0) && ((uint)uVar18 < 2)) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          iVar5 = extraout_v1_00;\n        }\n        else {\n          iVar5 = 2;\n        }\nLAB_000feff4:\n        iVar14 = *(int *)(pcVar17 + 0x2a9b7c);\n        iVar13 = iVar5;\n      }\n      puStack_a4 = (undefined4 *)0x1;\n      puStack_a0 = &uStack_c0;\n      iStack_b4 = iVar6;\n      iStack_b0 = iVar8;\n      uStack_ac = uVar4;\n      uStack_a8 = uVar9;\n      (**(code **)(pcVar17 + 0x2aa280))(iVar14 + -0x2298,&iStack_b4,iVar13,0);\n      puVar2 = puStack_a4;\n    }\n    iVar6 = iStack_9c;\n    if (iStack_9c == *piVar12) {\n      return puVar2;\n    }\n    goto LAB_000ff1d4;\n  }" ({ "{") (if_statement "if (iVar8 == 0) {\n      puVar2 = (undefined4 *)0x0;\n    }\n    else {\n      uVar9 = *(undefined4 *)(iVar6 + 0x14);\n      iVar13 = *(int *)(iVar6 + 8);\n      iVar14 = *(int *)(iVar6 + 0x10);\n      uStack_bc = 0;\n      uStack_c0 = 0;\n      iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9);\n      if (((iVar5 == 4) || (iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3)) &&\n         ((iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 4 ||\n          (iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3)))) {\n        iVar13 = iVar13 - iVar14;\n        (**(code **)(pcVar17 + 0x2aa224))(7);\n        iVar5 = iVar13;\n        if (iVar13 < 0) {\n          iVar5 = iVar13 + 0x3f;\n        }\n        iVar5 = iVar5 >> 6;\n        if (extraout_v1 < iVar5) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          bVar1 = extraout_v1_02 < 2;\n        }\n        else {\n          bVar1 = iVar13 < 0x80;\n        }\n        iVar13 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          if (extraout_v1_01 < iVar5) {\n            (**(code **)(pcVar17 + 0x2aa224))(7);\n            iVar5 = extraout_v1_03;\n          }\n          goto LAB_000feff4;\n        }\n        iVar14 = *(int *)(pcVar17 + 0x2a9b7c);\n      }\n      else {\n        uVar18 = (**(code **)(pcVar17 + 0x2aa224))(7);\n        if ((int)((ulonglong)uVar18 >> 0x20) == 0) {\n          pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n          if ((uint)uVar18 < 2) {\n            uVar18 = (*pcVar16)(7);\n            if ((int)((ulonglong)uVar18 >> 0x20) != 0) goto LAB_000fefdc;\n            pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n            if ((uint)uVar18 < 2) {\n              iVar5 = 1;\n              goto LAB_000feff4;\n            }\n          }\n        }\n        else {\nLAB_000fefdc:\n          pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n        }\n        uVar18 = (*pcVar16)(7);\n        if (((int)((ulonglong)uVar18 >> 0x20) == 0) && ((uint)uVar18 < 2)) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          iVar5 = extraout_v1_00;\n        }\n        else {\n          iVar5 = 2;\n        }\nLAB_000feff4:\n        iVar14 = *(int *)(pcVar17 + 0x2a9b7c);\n        iVar13 = iVar5;\n      }\n      puStack_a4 = (undefined4 *)0x1;\n      puStack_a0 = &uStack_c0;\n      iStack_b4 = iVar6;\n      iStack_b0 = iVar8;\n      uStack_ac = uVar4;\n      uStack_a8 = uVar9;\n      (**(code **)(pcVar17 + 0x2aa280))(iVar14 + -0x2298,&iStack_b4,iVar13,0);\n      puVar2 = puStack_a4;\n    }" (if "if") (parenthesized_expression "(iVar8 == 0)" (( "(") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      puVar2 = (undefined4 *)0x0;\n    }" ({ "{") (expression_statement "puVar2 = (undefined4 *)0x0;" (assignment_expression "puVar2 = (undefined4 *)0x0" (identifier "puVar2") (= "=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}")) (else_clause "else {\n      uVar9 = *(undefined4 *)(iVar6 + 0x14);\n      iVar13 = *(int *)(iVar6 + 8);\n      iVar14 = *(int *)(iVar6 + 0x10);\n      uStack_bc = 0;\n      uStack_c0 = 0;\n      iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9);\n      if (((iVar5 == 4) || (iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3)) &&\n         ((iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 4 ||\n          (iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3)))) {\n        iVar13 = iVar13 - iVar14;\n        (**(code **)(pcVar17 + 0x2aa224))(7);\n        iVar5 = iVar13;\n        if (iVar13 < 0) {\n          iVar5 = iVar13 + 0x3f;\n        }\n        iVar5 = iVar5 >> 6;\n        if (extraout_v1 < iVar5) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          bVar1 = extraout_v1_02 < 2;\n        }\n        else {\n          bVar1 = iVar13 < 0x80;\n        }\n        iVar13 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          if (extraout_v1_01 < iVar5) {\n            (**(code **)(pcVar17 + 0x2aa224))(7);\n            iVar5 = extraout_v1_03;\n          }\n          goto LAB_000feff4;\n        }\n        iVar14 = *(int *)(pcVar17 + 0x2a9b7c);\n      }\n      else {\n        uVar18 = (**(code **)(pcVar17 + 0x2aa224))(7);\n        if ((int)((ulonglong)uVar18 >> 0x20) == 0) {\n          pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n          if ((uint)uVar18 < 2) {\n            uVar18 = (*pcVar16)(7);\n            if ((int)((ulonglong)uVar18 >> 0x20) != 0) goto LAB_000fefdc;\n            pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n            if ((uint)uVar18 < 2) {\n              iVar5 = 1;\n              goto LAB_000feff4;\n            }\n          }\n        }\n        else {\nLAB_000fefdc:\n          pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n        }\n        uVar18 = (*pcVar16)(7);\n        if (((int)((ulonglong)uVar18 >> 0x20) == 0) && ((uint)uVar18 < 2)) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          iVar5 = extraout_v1_00;\n        }\n        else {\n          iVar5 = 2;\n        }\nLAB_000feff4:\n        iVar14 = *(int *)(pcVar17 + 0x2a9b7c);\n        iVar13 = iVar5;\n      }\n      puStack_a4 = (undefined4 *)0x1;\n      puStack_a0 = &uStack_c0;\n      iStack_b4 = iVar6;\n      iStack_b0 = iVar8;\n      uStack_ac = uVar4;\n      uStack_a8 = uVar9;\n      (**(code **)(pcVar17 + 0x2aa280))(iVar14 + -0x2298,&iStack_b4,iVar13,0);\n      puVar2 = puStack_a4;\n    }" (else "else") (compound_statement "{\n      uVar9 = *(undefined4 *)(iVar6 + 0x14);\n      iVar13 = *(int *)(iVar6 + 8);\n      iVar14 = *(int *)(iVar6 + 0x10);\n      uStack_bc = 0;\n      uStack_c0 = 0;\n      iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9);\n      if (((iVar5 == 4) || (iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3)) &&\n         ((iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 4 ||\n          (iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3)))) {\n        iVar13 = iVar13 - iVar14;\n        (**(code **)(pcVar17 + 0x2aa224))(7);\n        iVar5 = iVar13;\n        if (iVar13 < 0) {\n          iVar5 = iVar13 + 0x3f;\n        }\n        iVar5 = iVar5 >> 6;\n        if (extraout_v1 < iVar5) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          bVar1 = extraout_v1_02 < 2;\n        }\n        else {\n          bVar1 = iVar13 < 0x80;\n        }\n        iVar13 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          if (extraout_v1_01 < iVar5) {\n            (**(code **)(pcVar17 + 0x2aa224))(7);\n            iVar5 = extraout_v1_03;\n          }\n          goto LAB_000feff4;\n        }\n        iVar14 = *(int *)(pcVar17 + 0x2a9b7c);\n      }\n      else {\n        uVar18 = (**(code **)(pcVar17 + 0x2aa224))(7);\n        if ((int)((ulonglong)uVar18 >> 0x20) == 0) {\n          pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n          if ((uint)uVar18 < 2) {\n            uVar18 = (*pcVar16)(7);\n            if ((int)((ulonglong)uVar18 >> 0x20) != 0) goto LAB_000fefdc;\n            pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n            if ((uint)uVar18 < 2) {\n              iVar5 = 1;\n              goto LAB_000feff4;\n            }\n          }\n        }\n        else {\nLAB_000fefdc:\n          pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n        }\n        uVar18 = (*pcVar16)(7);\n        if (((int)((ulonglong)uVar18 >> 0x20) == 0) && ((uint)uVar18 < 2)) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          iVar5 = extraout_v1_00;\n        }\n        else {\n          iVar5 = 2;\n        }\nLAB_000feff4:\n        iVar14 = *(int *)(pcVar17 + 0x2a9b7c);\n        iVar13 = iVar5;\n      }\n      puStack_a4 = (undefined4 *)0x1;\n      puStack_a0 = &uStack_c0;\n      iStack_b4 = iVar6;\n      iStack_b0 = iVar8;\n      uStack_ac = uVar4;\n      uStack_a8 = uVar9;\n      (**(code **)(pcVar17 + 0x2aa280))(iVar14 + -0x2298,&iStack_b4,iVar13,0);\n      puVar2 = puStack_a4;\n    }" ({ "{") (expression_statement "uVar9 = *(undefined4 *)(iVar6 + 0x14);" (assignment_expression "uVar9 = *(undefined4 *)(iVar6 + 0x14)" (identifier "uVar9") (= "=") (pointer_expression "*(undefined4 *)(iVar6 + 0x14)" (* "*") (cast_expression "(undefined4 *)(iVar6 + 0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x14)" (( "(") (binary_expression "iVar6 + 0x14" (identifier "iVar6") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "iVar13 = *(int *)(iVar6 + 8);" (assignment_expression "iVar13 = *(int *)(iVar6 + 8)" (identifier "iVar13") (= "=") (pointer_expression "*(int *)(iVar6 + 8)" (* "*") (cast_expression "(int *)(iVar6 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 8)" (( "(") (binary_expression "iVar6 + 8" (identifier "iVar6") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "iVar14 = *(int *)(iVar6 + 0x10);" (assignment_expression "iVar14 = *(int *)(iVar6 + 0x10)" (identifier "iVar14") (= "=") (pointer_expression "*(int *)(iVar6 + 0x10)" (* "*") (cast_expression "(int *)(iVar6 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x10)" (( "(") (binary_expression "iVar6 + 0x10" (identifier "iVar6") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "uStack_bc = 0;" (assignment_expression "uStack_bc = 0" (identifier "uStack_bc") (= "=") (number_literal "0")) (; ";")) (expression_statement "uStack_c0 = 0;" (assignment_expression "uStack_c0 = 0" (identifier "uStack_c0") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9);" (assignment_expression "iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9)" (identifier "iVar5") (= "=") (call_expression "(**(code **)(pcVar17 + 0x2aa59c))(uVar9)" (parenthesized_expression "(**(code **)(pcVar17 + 0x2aa59c))" (( "(") (pointer_expression "**(code **)(pcVar17 + 0x2aa59c)" (* "*") (pointer_expression "*(code **)(pcVar17 + 0x2aa59c)" (* "*") (cast_expression "(code **)(pcVar17 + 0x2aa59c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar17 + 0x2aa59c)" (( "(") (binary_expression "pcVar17 + 0x2aa59c" (identifier "pcVar17") (+ "+") (number_literal "0x2aa59c")) () ")"))))) () ")")) (argument_list "(uVar9)" (( "(") (identifier "uVar9") () ")")))) (; ";")) (if_statement "if (((iVar5 == 4) || (iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3)) &&\n         ((iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 4 ||\n          (iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3)))) {\n        iVar13 = iVar13 - iVar14;\n        (**(code **)(pcVar17 + 0x2aa224))(7);\n        iVar5 = iVar13;\n        if (iVar13 < 0) {\n          iVar5 = iVar13 + 0x3f;\n        }\n        iVar5 = iVar5 >> 6;\n        if (extraout_v1 < iVar5) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          bVar1 = extraout_v1_02 < 2;\n        }\n        else {\n          bVar1 = iVar13 < 0x80;\n        }\n        iVar13 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          if (extraout_v1_01 < iVar5) {\n            (**(code **)(pcVar17 + 0x2aa224))(7);\n            iVar5 = extraout_v1_03;\n          }\n          goto LAB_000feff4;\n        }\n        iVar14 = *(int *)(pcVar17 + 0x2a9b7c);\n      }\n      else {\n        uVar18 = (**(code **)(pcVar17 + 0x2aa224))(7);\n        if ((int)((ulonglong)uVar18 >> 0x20) == 0) {\n          pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n          if ((uint)uVar18 < 2) {\n            uVar18 = (*pcVar16)(7);\n            if ((int)((ulonglong)uVar18 >> 0x20) != 0) goto LAB_000fefdc;\n            pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n            if ((uint)uVar18 < 2) {\n              iVar5 = 1;\n              goto LAB_000feff4;\n            }\n          }\n        }\n        else {\nLAB_000fefdc:\n          pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n        }\n        uVar18 = (*pcVar16)(7);\n        if (((int)((ulonglong)uVar18 >> 0x20) == 0) && ((uint)uVar18 < 2)) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          iVar5 = extraout_v1_00;\n        }\n        else {\n          iVar5 = 2;\n        }\nLAB_000feff4:\n        iVar14 = *(int *)(pcVar17 + 0x2a9b7c);\n        iVar13 = iVar5;\n      }" (if "if") (parenthesized_expression "(((iVar5 == 4) || (iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3)) &&\n         ((iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 4 ||\n          (iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3))))" (( "(") (binary_expression "((iVar5 == 4) || (iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3)) &&\n         ((iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 4 ||\n          (iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3)))" (parenthesized_expression "((iVar5 == 4) || (iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3))" (( "(") (binary_expression "(iVar5 == 4) || (iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3)" (parenthesized_expression "(iVar5 == 4)" (( "(") (binary_expression "iVar5 == 4" (identifier "iVar5") (== "==") (number_literal "4")) () ")")) (|| "||") (parenthesized_expression "(iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3)" (( "(") (comma_expression "iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3" (assignment_expression "iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9)" (identifier "iVar5") (= "=") (call_expression "(**(code **)(pcVar17 + 0x2aa59c))(uVar9)" (parenthesized_expression "(**(code **)(pcVar17 + 0x2aa59c))" (( "(") (pointer_expression "**(code **)(pcVar17 + 0x2aa59c)" (* "*") (pointer_expression "*(code **)(pcVar17 + 0x2aa59c)" (* "*") (cast_expression "(code **)(pcVar17 + 0x2aa59c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar17 + 0x2aa59c)" (( "(") (binary_expression "pcVar17 + 0x2aa59c" (identifier "pcVar17") (+ "+") (number_literal "0x2aa59c")) () ")"))))) () ")")) (argument_list "(uVar9)" (( "(") (identifier "uVar9") () ")")))) (, ",") (binary_expression "iVar5 == 3" (identifier "iVar5") (== "==") (number_literal "3"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 4 ||\n          (iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3)))" (( "(") (parenthesized_expression "(iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 4 ||\n          (iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3))" (( "(") (comma_expression "iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 4 ||\n          (iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3)" (assignment_expression "iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9)" (identifier "iVar5") (= "=") (call_expression "(**(code **)(pcVar17 + 0x2aa59c))(uVar9)" (parenthesized_expression "(**(code **)(pcVar17 + 0x2aa59c))" (( "(") (pointer_expression "**(code **)(pcVar17 + 0x2aa59c)" (* "*") (pointer_expression "*(code **)(pcVar17 + 0x2aa59c)" (* "*") (cast_expression "(code **)(pcVar17 + 0x2aa59c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar17 + 0x2aa59c)" (( "(") (binary_expression "pcVar17 + 0x2aa59c" (identifier "pcVar17") (+ "+") (number_literal "0x2aa59c")) () ")"))))) () ")")) (argument_list "(uVar9)" (( "(") (identifier "uVar9") () ")")))) (, ",") (binary_expression "iVar5 == 4 ||\n          (iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3)" (binary_expression "iVar5 == 4" (identifier "iVar5") (== "==") (number_literal "4")) (|| "||") (parenthesized_expression "(iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3)" (( "(") (comma_expression "iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3" (assignment_expression "iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9)" (identifier "iVar5") (= "=") (call_expression "(**(code **)(pcVar17 + 0x2aa59c))(uVar9)" (parenthesized_expression "(**(code **)(pcVar17 + 0x2aa59c))" (( "(") (pointer_expression "**(code **)(pcVar17 + 0x2aa59c)" (* "*") (pointer_expression "*(code **)(pcVar17 + 0x2aa59c)" (* "*") (cast_expression "(code **)(pcVar17 + 0x2aa59c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar17 + 0x2aa59c)" (( "(") (binary_expression "pcVar17 + 0x2aa59c" (identifier "pcVar17") (+ "+") (number_literal "0x2aa59c")) () ")"))))) () ")")) (argument_list "(uVar9)" (( "(") (identifier "uVar9") () ")")))) (, ",") (binary_expression "iVar5 == 3" (identifier "iVar5") (== "==") (number_literal "3"))) () ")")))) () ")")) () ")"))) () ")")) (compound_statement "{\n        iVar13 = iVar13 - iVar14;\n        (**(code **)(pcVar17 + 0x2aa224))(7);\n        iVar5 = iVar13;\n        if (iVar13 < 0) {\n          iVar5 = iVar13 + 0x3f;\n        }\n        iVar5 = iVar5 >> 6;\n        if (extraout_v1 < iVar5) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          bVar1 = extraout_v1_02 < 2;\n        }\n        else {\n          bVar1 = iVar13 < 0x80;\n        }\n        iVar13 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          if (extraout_v1_01 < iVar5) {\n            (**(code **)(pcVar17 + 0x2aa224))(7);\n            iVar5 = extraout_v1_03;\n          }\n          goto LAB_000feff4;\n        }\n        iVar14 = *(int *)(pcVar17 + 0x2a9b7c);\n      }" ({ "{") (expression_statement "iVar13 = iVar13 - iVar14;" (assignment_expression "iVar13 = iVar13 - iVar14" (identifier "iVar13") (= "=") (binary_expression "iVar13 - iVar14" (identifier "iVar13") (- "-") (identifier "iVar14"))) (; ";")) (expression_statement "(**(code **)(pcVar17 + 0x2aa224))(7);" (call_expression "(**(code **)(pcVar17 + 0x2aa224))(7)" (parenthesized_expression "(**(code **)(pcVar17 + 0x2aa224))" (( "(") (pointer_expression "**(code **)(pcVar17 + 0x2aa224)" (* "*") (pointer_expression "*(code **)(pcVar17 + 0x2aa224)" (* "*") (cast_expression "(code **)(pcVar17 + 0x2aa224)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar17 + 0x2aa224)" (( "(") (binary_expression "pcVar17 + 0x2aa224" (identifier "pcVar17") (+ "+") (number_literal "0x2aa224")) () ")"))))) () ")")) (argument_list "(7)" (( "(") (number_literal "7") () ")"))) (; ";")) (expression_statement "iVar5 = iVar13;" (assignment_expression "iVar5 = iVar13" (identifier "iVar5") (= "=") (identifier "iVar13")) (; ";")) (if_statement "if (iVar13 < 0) {\n          iVar5 = iVar13 + 0x3f;\n        }" (if "if") (parenthesized_expression "(iVar13 < 0)" (( "(") (binary_expression "iVar13 < 0" (identifier "iVar13") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n          iVar5 = iVar13 + 0x3f;\n        }" ({ "{") (expression_statement "iVar5 = iVar13 + 0x3f;" (assignment_expression "iVar5 = iVar13 + 0x3f" (identifier "iVar5") (= "=") (binary_expression "iVar13 + 0x3f" (identifier "iVar13") (+ "+") (number_literal "0x3f"))) (; ";")) (} "}"))) (expression_statement "iVar5 = iVar5 >> 6;" (assignment_expression "iVar5 = iVar5 >> 6" (identifier "iVar5") (= "=") (binary_expression "iVar5 >> 6" (identifier "iVar5") (>> ">>") (number_literal "6"))) (; ";")) (if_statement "if (extraout_v1 < iVar5) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          bVar1 = extraout_v1_02 < 2;\n        }\n        else {\n          bVar1 = iVar13 < 0x80;\n        }" (if "if") (parenthesized_expression "(extraout_v1 < iVar5)" (( "(") (binary_expression "extraout_v1 < iVar5" (identifier "extraout_v1") (< "<") (identifier "iVar5")) () ")")) (compound_statement "{\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          bVar1 = extraout_v1_02 < 2;\n        }" ({ "{") (expression_statement "(**(code **)(pcVar17 + 0x2aa224))(7);" (call_expression "(**(code **)(pcVar17 + 0x2aa224))(7)" (parenthesized_expression "(**(code **)(pcVar17 + 0x2aa224))" (( "(") (pointer_expression "**(code **)(pcVar17 + 0x2aa224)" (* "*") (pointer_expression "*(code **)(pcVar17 + 0x2aa224)" (* "*") (cast_expression "(code **)(pcVar17 + 0x2aa224)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar17 + 0x2aa224)" (( "(") (binary_expression "pcVar17 + 0x2aa224" (identifier "pcVar17") (+ "+") (number_literal "0x2aa224")) () ")"))))) () ")")) (argument_list "(7)" (( "(") (number_literal "7") () ")"))) (; ";")) (expression_statement "bVar1 = extraout_v1_02 < 2;" (assignment_expression "bVar1 = extraout_v1_02 < 2" (identifier "bVar1") (= "=") (binary_expression "extraout_v1_02 < 2" (identifier "extraout_v1_02") (< "<") (number_literal "2"))) (; ";")) (} "}")) (else_clause "else {\n          bVar1 = iVar13 < 0x80;\n        }" (else "else") (compound_statement "{\n          bVar1 = iVar13 < 0x80;\n        }" ({ "{") (expression_statement "bVar1 = iVar13 < 0x80;" (assignment_expression "bVar1 = iVar13 < 0x80" (identifier "bVar1") (= "=") (binary_expression "iVar13 < 0x80" (identifier "iVar13") (< "<") (number_literal "0x80"))) (; ";")) (} "}")))) (expression_statement "iVar13 = 1;" (assignment_expression "iVar13 = 1" (identifier "iVar13") (= "=") (number_literal "1")) (; ";")) (if_statement "if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          if (extraout_v1_01 < iVar5) {\n            (**(code **)(pcVar17 + 0x2aa224))(7);\n            iVar5 = extraout_v1_03;\n          }\n          goto LAB_000feff4;\n        }" (if "if") (parenthesized_expression "((bool)(bVar1 ^ 1))" (( "(") (cast_expression "(bool)(bVar1 ^ 1)" (( "(") (type_descriptor "bool" (primitive_type "bool")) () ")") (parenthesized_expression "(bVar1 ^ 1)" (( "(") (binary_expression "bVar1 ^ 1" (identifier "bVar1") (^ "^") (number_literal "1")) () ")"))) () ")")) (compound_statement "{\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          if (extraout_v1_01 < iVar5) {\n            (**(code **)(pcVar17 + 0x2aa224))(7);\n            iVar5 = extraout_v1_03;\n          }\n          goto LAB_000feff4;\n        }" ({ "{") (expression_statement "(**(code **)(pcVar17 + 0x2aa224))(7);" (call_expression "(**(code **)(pcVar17 + 0x2aa224))(7)" (parenthesized_expression "(**(code **)(pcVar17 + 0x2aa224))" (( "(") (pointer_expression "**(code **)(pcVar17 + 0x2aa224)" (* "*") (pointer_expression "*(code **)(pcVar17 + 0x2aa224)" (* "*") (cast_expression "(code **)(pcVar17 + 0x2aa224)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar17 + 0x2aa224)" (( "(") (binary_expression "pcVar17 + 0x2aa224" (identifier "pcVar17") (+ "+") (number_literal "0x2aa224")) () ")"))))) () ")")) (argument_list "(7)" (( "(") (number_literal "7") () ")"))) (; ";")) (if_statement "if (extraout_v1_01 < iVar5) {\n            (**(code **)(pcVar17 + 0x2aa224))(7);\n            iVar5 = extraout_v1_03;\n          }" (if "if") (parenthesized_expression "(extraout_v1_01 < iVar5)" (( "(") (binary_expression "extraout_v1_01 < iVar5" (identifier "extraout_v1_01") (< "<") (identifier "iVar5")) () ")")) (compound_statement "{\n            (**(code **)(pcVar17 + 0x2aa224))(7);\n            iVar5 = extraout_v1_03;\n          }" ({ "{") (expression_statement "(**(code **)(pcVar17 + 0x2aa224))(7);" (call_expression "(**(code **)(pcVar17 + 0x2aa224))(7)" (parenthesized_expression "(**(code **)(pcVar17 + 0x2aa224))" (( "(") (pointer_expression "**(code **)(pcVar17 + 0x2aa224)" (* "*") (pointer_expression "*(code **)(pcVar17 + 0x2aa224)" (* "*") (cast_expression "(code **)(pcVar17 + 0x2aa224)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar17 + 0x2aa224)" (( "(") (binary_expression "pcVar17 + 0x2aa224" (identifier "pcVar17") (+ "+") (number_literal "0x2aa224")) () ")"))))) () ")")) (argument_list "(7)" (( "(") (number_literal "7") () ")"))) (; ";")) (expression_statement "iVar5 = extraout_v1_03;" (assignment_expression "iVar5 = extraout_v1_03" (identifier "iVar5") (= "=") (identifier "extraout_v1_03")) (; ";")) (} "}"))) (goto_statement "goto LAB_000feff4;" (goto "goto") (statement_identifier "LAB_000feff4") (; ";")) (} "}"))) (expression_statement "iVar14 = *(int *)(pcVar17 + 0x2a9b7c);" (assignment_expression "iVar14 = *(int *)(pcVar17 + 0x2a9b7c)" (identifier "iVar14") (= "=") (pointer_expression "*(int *)(pcVar17 + 0x2a9b7c)" (* "*") (cast_expression "(int *)(pcVar17 + 0x2a9b7c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar17 + 0x2a9b7c)" (( "(") (binary_expression "pcVar17 + 0x2a9b7c" (identifier "pcVar17") (+ "+") (number_literal "0x2a9b7c")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n        uVar18 = (**(code **)(pcVar17 + 0x2aa224))(7);\n        if ((int)((ulonglong)uVar18 >> 0x20) == 0) {\n          pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n          if ((uint)uVar18 < 2) {\n            uVar18 = (*pcVar16)(7);\n            if ((int)((ulonglong)uVar18 >> 0x20) != 0) goto LAB_000fefdc;\n            pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n            if ((uint)uVar18 < 2) {\n              iVar5 = 1;\n              goto LAB_000feff4;\n            }\n          }\n        }\n        else {\nLAB_000fefdc:\n          pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n        }\n        uVar18 = (*pcVar16)(7);\n        if (((int)((ulonglong)uVar18 >> 0x20) == 0) && ((uint)uVar18 < 2)) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          iVar5 = extraout_v1_00;\n        }\n        else {\n          iVar5 = 2;\n        }\nLAB_000feff4:\n        iVar14 = *(int *)(pcVar17 + 0x2a9b7c);\n        iVar13 = iVar5;\n      }" (else "else") (compound_statement "{\n        uVar18 = (**(code **)(pcVar17 + 0x2aa224))(7);\n        if ((int)((ulonglong)uVar18 >> 0x20) == 0) {\n          pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n          if ((uint)uVar18 < 2) {\n            uVar18 = (*pcVar16)(7);\n            if ((int)((ulonglong)uVar18 >> 0x20) != 0) goto LAB_000fefdc;\n            pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n            if ((uint)uVar18 < 2) {\n              iVar5 = 1;\n              goto LAB_000feff4;\n            }\n          }\n        }\n        else {\nLAB_000fefdc:\n          pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n        }\n        uVar18 = (*pcVar16)(7);\n        if (((int)((ulonglong)uVar18 >> 0x20) == 0) && ((uint)uVar18 < 2)) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          iVar5 = extraout_v1_00;\n        }\n        else {\n          iVar5 = 2;\n        }\nLAB_000feff4:\n        iVar14 = *(int *)(pcVar17 + 0x2a9b7c);\n        iVar13 = iVar5;\n      }" ({ "{") (expression_statement "uVar18 = (**(code **)(pcVar17 + 0x2aa224))(7);" (assignment_expression "uVar18 = (**(code **)(pcVar17 + 0x2aa224))(7)" (identifier "uVar18") (= "=") (call_expression "(**(code **)(pcVar17 + 0x2aa224))(7)" (parenthesized_expression "(**(code **)(pcVar17 + 0x2aa224))" (( "(") (pointer_expression "**(code **)(pcVar17 + 0x2aa224)" (* "*") (pointer_expression "*(code **)(pcVar17 + 0x2aa224)" (* "*") (cast_expression "(code **)(pcVar17 + 0x2aa224)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar17 + 0x2aa224)" (( "(") (binary_expression "pcVar17 + 0x2aa224" (identifier "pcVar17") (+ "+") (number_literal "0x2aa224")) () ")"))))) () ")")) (argument_list "(7)" (( "(") (number_literal "7") () ")")))) (; ";")) (if_statement "if ((int)((ulonglong)uVar18 >> 0x20) == 0) {\n          pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n          if ((uint)uVar18 < 2) {\n            uVar18 = (*pcVar16)(7);\n            if ((int)((ulonglong)uVar18 >> 0x20) != 0) goto LAB_000fefdc;\n            pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n            if ((uint)uVar18 < 2) {\n              iVar5 = 1;\n              goto LAB_000feff4;\n            }\n          }\n        }\n        else {\nLAB_000fefdc:\n          pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n        }" (if "if") (parenthesized_expression "((int)((ulonglong)uVar18 >> 0x20) == 0)" (( "(") (binary_expression "(int)((ulonglong)uVar18 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar18 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar18 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar18 >> 0x20" (cast_expression "(ulonglong)uVar18" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar18")) (>> ">>") (number_literal "0x20")) () ")"))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n          if ((uint)uVar18 < 2) {\n            uVar18 = (*pcVar16)(7);\n            if ((int)((ulonglong)uVar18 >> 0x20) != 0) goto LAB_000fefdc;\n            pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n            if ((uint)uVar18 < 2) {\n              iVar5 = 1;\n              goto LAB_000feff4;\n            }\n          }\n        }" ({ "{") (expression_statement "pcVar16 = *(code **)(pcVar17 + 0x2aa224);" (assignment_expression "pcVar16 = *(code **)(pcVar17 + 0x2aa224)" (identifier "pcVar16") (= "=") (pointer_expression "*(code **)(pcVar17 + 0x2aa224)" (* "*") (cast_expression "(code **)(pcVar17 + 0x2aa224)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar17 + 0x2aa224)" (( "(") (binary_expression "pcVar17 + 0x2aa224" (identifier "pcVar17") (+ "+") (number_literal "0x2aa224")) () ")"))))) (; ";")) (if_statement "if ((uint)uVar18 < 2) {\n            uVar18 = (*pcVar16)(7);\n            if ((int)((ulonglong)uVar18 >> 0x20) != 0) goto LAB_000fefdc;\n            pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n            if ((uint)uVar18 < 2) {\n              iVar5 = 1;\n              goto LAB_000feff4;\n            }\n          }" (if "if") (parenthesized_expression "((uint)uVar18 < 2)" (( "(") (binary_expression "(uint)uVar18 < 2" (cast_expression "(uint)uVar18" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar18")) (< "<") (number_literal "2")) () ")")) (compound_statement "{\n            uVar18 = (*pcVar16)(7);\n            if ((int)((ulonglong)uVar18 >> 0x20) != 0) goto LAB_000fefdc;\n            pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n            if ((uint)uVar18 < 2) {\n              iVar5 = 1;\n              goto LAB_000feff4;\n            }\n          }" ({ "{") (expression_statement "uVar18 = (*pcVar16)(7);" (assignment_expression "uVar18 = (*pcVar16)(7)" (identifier "uVar18") (= "=") (call_expression "(*pcVar16)(7)" (parenthesized_expression "(*pcVar16)" (( "(") (pointer_expression "*pcVar16" (* "*") (identifier "pcVar16")) () ")")) (argument_list "(7)" (( "(") (number_literal "7") () ")")))) (; ";")) (if_statement "if ((int)((ulonglong)uVar18 >> 0x20) != 0) goto LAB_000fefdc;" (if "if") (parenthesized_expression "((int)((ulonglong)uVar18 >> 0x20) != 0)" (( "(") (binary_expression "(int)((ulonglong)uVar18 >> 0x20) != 0" (cast_expression "(int)((ulonglong)uVar18 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar18 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar18 >> 0x20" (cast_expression "(ulonglong)uVar18" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar18")) (>> ">>") (number_literal "0x20")) () ")"))) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_000fefdc;" (goto "goto") (statement_identifier "LAB_000fefdc") (; ";"))) (expression_statement "pcVar16 = *(code **)(pcVar17 + 0x2aa224);" (assignment_expression "pcVar16 = *(code **)(pcVar17 + 0x2aa224)" (identifier "pcVar16") (= "=") (pointer_expression "*(code **)(pcVar17 + 0x2aa224)" (* "*") (cast_expression "(code **)(pcVar17 + 0x2aa224)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar17 + 0x2aa224)" (( "(") (binary_expression "pcVar17 + 0x2aa224" (identifier "pcVar17") (+ "+") (number_literal "0x2aa224")) () ")"))))) (; ";")) (if_statement "if ((uint)uVar18 < 2) {\n              iVar5 = 1;\n              goto LAB_000feff4;\n            }" (if "if") (parenthesized_expression "((uint)uVar18 < 2)" (( "(") (binary_expression "(uint)uVar18 < 2" (cast_expression "(uint)uVar18" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar18")) (< "<") (number_literal "2")) () ")")) (compound_statement "{\n              iVar5 = 1;\n              goto LAB_000feff4;\n            }" ({ "{") (expression_statement "iVar5 = 1;" (assignment_expression "iVar5 = 1" (identifier "iVar5") (= "=") (number_literal "1")) (; ";")) (goto_statement "goto LAB_000feff4;" (goto "goto") (statement_identifier "LAB_000feff4") (; ";")) (} "}"))) (} "}"))) (} "}")) (else_clause "else {\nLAB_000fefdc:\n          pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n        }" (else "else") (compound_statement "{\nLAB_000fefdc:\n          pcVar16 = *(code **)(pcVar17 + 0x2aa224);\n        }" ({ "{") (labeled_statement "LAB_000fefdc:\n          pcVar16 = *(code **)(pcVar17 + 0x2aa224);" (statement_identifier "LAB_000fefdc") (: ":") (expression_statement "pcVar16 = *(code **)(pcVar17 + 0x2aa224);" (assignment_expression "pcVar16 = *(code **)(pcVar17 + 0x2aa224)" (identifier "pcVar16") (= "=") (pointer_expression "*(code **)(pcVar17 + 0x2aa224)" (* "*") (cast_expression "(code **)(pcVar17 + 0x2aa224)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar17 + 0x2aa224)" (( "(") (binary_expression "pcVar17 + 0x2aa224" (identifier "pcVar17") (+ "+") (number_literal "0x2aa224")) () ")"))))) (; ";"))) (} "}")))) (expression_statement "uVar18 = (*pcVar16)(7);" (assignment_expression "uVar18 = (*pcVar16)(7)" (identifier "uVar18") (= "=") (call_expression "(*pcVar16)(7)" (parenthesized_expression "(*pcVar16)" (( "(") (pointer_expression "*pcVar16" (* "*") (identifier "pcVar16")) () ")")) (argument_list "(7)" (( "(") (number_literal "7") () ")")))) (; ";")) (if_statement "if (((int)((ulonglong)uVar18 >> 0x20) == 0) && ((uint)uVar18 < 2)) {\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          iVar5 = extraout_v1_00;\n        }\n        else {\n          iVar5 = 2;\n        }" (if "if") (parenthesized_expression "(((int)((ulonglong)uVar18 >> 0x20) == 0) && ((uint)uVar18 < 2))" (( "(") (binary_expression "((int)((ulonglong)uVar18 >> 0x20) == 0) && ((uint)uVar18 < 2)" (parenthesized_expression "((int)((ulonglong)uVar18 >> 0x20) == 0)" (( "(") (binary_expression "(int)((ulonglong)uVar18 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar18 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar18 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar18 >> 0x20" (cast_expression "(ulonglong)uVar18" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar18")) (>> ">>") (number_literal "0x20")) () ")"))) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((uint)uVar18 < 2)" (( "(") (binary_expression "(uint)uVar18 < 2" (cast_expression "(uint)uVar18" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar18")) (< "<") (number_literal "2")) () ")"))) () ")")) (compound_statement "{\n          (**(code **)(pcVar17 + 0x2aa224))(7);\n          iVar5 = extraout_v1_00;\n        }" ({ "{") (expression_statement "(**(code **)(pcVar17 + 0x2aa224))(7);" (call_expression "(**(code **)(pcVar17 + 0x2aa224))(7)" (parenthesized_expression "(**(code **)(pcVar17 + 0x2aa224))" (( "(") (pointer_expression "**(code **)(pcVar17 + 0x2aa224)" (* "*") (pointer_expression "*(code **)(pcVar17 + 0x2aa224)" (* "*") (cast_expression "(code **)(pcVar17 + 0x2aa224)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar17 + 0x2aa224)" (( "(") (binary_expression "pcVar17 + 0x2aa224" (identifier "pcVar17") (+ "+") (number_literal "0x2aa224")) () ")"))))) () ")")) (argument_list "(7)" (( "(") (number_literal "7") () ")"))) (; ";")) (expression_statement "iVar5 = extraout_v1_00;" (assignment_expression "iVar5 = extraout_v1_00" (identifier "iVar5") (= "=") (identifier "extraout_v1_00")) (; ";")) (} "}")) (else_clause "else {\n          iVar5 = 2;\n        }" (else "else") (compound_statement "{\n          iVar5 = 2;\n        }" ({ "{") (expression_statement "iVar5 = 2;" (assignment_expression "iVar5 = 2" (identifier "iVar5") (= "=") (number_literal "2")) (; ";")) (} "}")))) (labeled_statement "LAB_000feff4:\n        iVar14 = *(int *)(pcVar17 + 0x2a9b7c);" (statement_identifier "LAB_000feff4") (: ":") (expression_statement "iVar14 = *(int *)(pcVar17 + 0x2a9b7c);" (assignment_expression "iVar14 = *(int *)(pcVar17 + 0x2a9b7c)" (identifier "iVar14") (= "=") (pointer_expression "*(int *)(pcVar17 + 0x2a9b7c)" (* "*") (cast_expression "(int *)(pcVar17 + 0x2a9b7c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar17 + 0x2a9b7c)" (( "(") (binary_expression "pcVar17 + 0x2a9b7c" (identifier "pcVar17") (+ "+") (number_literal "0x2a9b7c")) () ")"))))) (; ";"))) (expression_statement "iVar13 = iVar5;" (assignment_expression "iVar13 = iVar5" (identifier "iVar13") (= "=") (identifier "iVar5")) (; ";")) (} "}")))) (expression_statement "puStack_a4 = (undefined4 *)0x1;" (assignment_expression "puStack_a4 = (undefined4 *)0x1" (identifier "puStack_a4") (= "=") (cast_expression "(undefined4 *)0x1" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "puStack_a0 = &uStack_c0;" (assignment_expression "puStack_a0 = &uStack_c0" (identifier "puStack_a0") (= "=") (pointer_expression "&uStack_c0" (& "&") (identifier "uStack_c0"))) (; ";")) (expression_statement "iStack_b4 = iVar6;" (assignment_expression "iStack_b4 = iVar6" (identifier "iStack_b4") (= "=") (identifier "iVar6")) (; ";")) (expression_statement "iStack_b0 = iVar8;" (assignment_expression "iStack_b0 = iVar8" (identifier "iStack_b0") (= "=") (identifier "iVar8")) (; ";")) (expression_statement "uStack_ac = uVar4;" (assignment_expression "uStack_ac = uVar4" (identifier "uStack_ac") (= "=") (identifier "uVar4")) (; ";")) (expression_statement "uStack_a8 = uVar9;" (assignment_expression "uStack_a8 = uVar9" (identifier "uStack_a8") (= "=") (identifier "uVar9")) (; ";")) (expression_statement "(**(code **)(pcVar17 + 0x2aa280))(iVar14 + -0x2298,&iStack_b4,iVar13,0);" (call_expression "(**(code **)(pcVar17 + 0x2aa280))(iVar14 + -0x2298,&iStack_b4,iVar13,0)" (parenthesized_expression "(**(code **)(pcVar17 + 0x2aa280))" (( "(") (pointer_expression "**(code **)(pcVar17 + 0x2aa280)" (* "*") (pointer_expression "*(code **)(pcVar17 + 0x2aa280)" (* "*") (cast_expression "(code **)(pcVar17 + 0x2aa280)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar17 + 0x2aa280)" (( "(") (binary_expression "pcVar17 + 0x2aa280" (identifier "pcVar17") (+ "+") (number_literal "0x2aa280")) () ")"))))) () ")")) (argument_list "(iVar14 + -0x2298,&iStack_b4,iVar13,0)" (( "(") (binary_expression "iVar14 + -0x2298" (identifier "iVar14") (+ "+") (number_literal "-0x2298")) (, ",") (pointer_expression "&iStack_b4" (& "&") (identifier "iStack_b4")) (, ",") (identifier "iVar13") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "puVar2 = puStack_a4;" (assignment_expression "puVar2 = puStack_a4" (identifier "puVar2") (= "=") (identifier "puStack_a4")) (; ";")) (} "}")))) (expression_statement "iVar6 = iStack_9c;" (assignment_expression "iVar6 = iStack_9c" (identifier "iVar6") (= "=") (identifier "iStack_9c")) (; ";")) (if_statement "if (iStack_9c == *piVar12) {\n      return puVar2;\n    }" (if "if") (parenthesized_expression "(iStack_9c == *piVar12)" (( "(") (binary_expression "iStack_9c == *piVar12" (identifier "iStack_9c") (== "==") (pointer_expression "*piVar12" (* "*") (identifier "piVar12"))) () ")")) (compound_statement "{\n      return puVar2;\n    }" ({ "{") (return_statement "return puVar2;" (return "return") (identifier "puVar2") (; ";")) (} "}"))) (goto_statement "goto LAB_000ff1d4;" (goto "goto") (statement_identifier "LAB_000ff1d4") (; ";")) (} "}"))))) (expression_statement "iVar6 = *(int *)(pcVar17 + 0x2a99d0) + 0x3930;" (assignment_expression "iVar6 = *(int *)(pcVar17 + 0x2a99d0) + 0x3930" (identifier "iVar6") (= "=") (binary_expression "*(int *)(pcVar17 + 0x2a99d0) + 0x3930" (pointer_expression "*(int *)(pcVar17 + 0x2a99d0)" (* "*") (cast_expression "(int *)(pcVar17 + 0x2a99d0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar17 + 0x2a99d0)" (( "(") (binary_expression "pcVar17 + 0x2a99d0" (identifier "pcVar17") (+ "+") (number_literal "0x2a99d0")) () ")")))) (+ "+") (number_literal "0x3930"))) (; ";")) (expression_statement "(**(code **)(pcVar17 + 0x2aa6f0))\n            (iVar6,*(int *)(pcVar17 + 0x2a99cc) + -0x5168,0x226,\n             *(int *)(pcVar17 + 0x2a99cc) + -0x4f5c);" (call_expression "(**(code **)(pcVar17 + 0x2aa6f0))\n            (iVar6,*(int *)(pcVar17 + 0x2a99cc) + -0x5168,0x226,\n             *(int *)(pcVar17 + 0x2a99cc) + -0x4f5c)" (parenthesized_expression "(**(code **)(pcVar17 + 0x2aa6f0))" (( "(") (pointer_expression "**(code **)(pcVar17 + 0x2aa6f0)" (* "*") (pointer_expression "*(code **)(pcVar17 + 0x2aa6f0)" (* "*") (cast_expression "(code **)(pcVar17 + 0x2aa6f0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar17 + 0x2aa6f0)" (( "(") (binary_expression "pcVar17 + 0x2aa6f0" (identifier "pcVar17") (+ "+") (number_literal "0x2aa6f0")) () ")"))))) () ")")) (argument_list "(iVar6,*(int *)(pcVar17 + 0x2a99cc) + -0x5168,0x226,\n             *(int *)(pcVar17 + 0x2a99cc) + -0x4f5c)" (( "(") (identifier "iVar6") (, ",") (binary_expression "*(int *)(pcVar17 + 0x2a99cc) + -0x5168" (pointer_expression "*(int *)(pcVar17 + 0x2a99cc)" (* "*") (cast_expression "(int *)(pcVar17 + 0x2a99cc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar17 + 0x2a99cc)" (( "(") (binary_expression "pcVar17 + 0x2a99cc" (identifier "pcVar17") (+ "+") (number_literal "0x2a99cc")) () ")")))) (+ "+") (number_literal "-0x5168")) (, ",") (number_literal "0x226") (, ",") (binary_expression "*(int *)(pcVar17 + 0x2a99cc) + -0x4f5c" (pointer_expression "*(int *)(pcVar17 + 0x2a99cc)" (* "*") (cast_expression "(int *)(pcVar17 + 0x2a99cc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar17 + 0x2a99cc)" (( "(") (binary_expression "pcVar17 + 0x2a99cc" (identifier "pcVar17") (+ "+") (number_literal "0x2a99cc")) () ")")))) (+ "+") (number_literal "-0x4f5c")) () ")"))) (; ";")) (labeled_statement "LAB_000ff1d4:\n  pcVar16 = *(code **)(pcVar17 + 0x2aa14c);" (statement_identifier "LAB_000ff1d4") (: ":") (expression_statement "pcVar16 = *(code **)(pcVar17 + 0x2aa14c);" (assignment_expression "pcVar16 = *(code **)(pcVar17 + 0x2aa14c)" (identifier "pcVar16") (= "=") (pointer_expression "*(code **)(pcVar17 + 0x2aa14c)" (* "*") (cast_expression "(code **)(pcVar17 + 0x2aa14c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar17 + 0x2aa14c)" (( "(") (binary_expression "pcVar17 + 0x2aa14c" (identifier "pcVar17") (+ "+") (number_literal "0x2aa14c")) () ")"))))) (; ";"))) (expression_statement "(*pcVar16)();" (call_expression "(*pcVar16)()" (parenthesized_expression "(*pcVar16)" (( "(") (pointer_expression "*pcVar16" (* "*") (identifier "pcVar16")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (iVar6 == 0) {\n    (**(code **)(pcVar16 + 0x2aa428))\n              (*(int *)(pcVar16 + 0x2a9704) + -0x5150,*(int *)(pcVar16 + 0x2a9704) + -0x5168,0x271,\n               *(int *)(pcVar16 + 0x2a9704) + -0x4f7c,pcVar16 + 0x2b16d0);\n  }\n  else if (*(int *)(iVar6 + 0x24) == -0x54535255) {\n                    \n                    \n    puVar2 = (undefined4 *)(**(code **)(pcVar16 + 0x2a9da0))(*(undefined4 *)(iVar6 + 0x18));\n    return puVar2;\n  }" (if "if") (parenthesized_expression "(iVar6 == 0)" (( "(") (binary_expression "iVar6 == 0" (identifier "iVar6") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    (**(code **)(pcVar16 + 0x2aa428))\n              (*(int *)(pcVar16 + 0x2a9704) + -0x5150,*(int *)(pcVar16 + 0x2a9704) + -0x5168,0x271,\n               *(int *)(pcVar16 + 0x2a9704) + -0x4f7c,pcVar16 + 0x2b16d0);\n  }" ({ "{") (expression_statement "(**(code **)(pcVar16 + 0x2aa428))\n              (*(int *)(pcVar16 + 0x2a9704) + -0x5150,*(int *)(pcVar16 + 0x2a9704) + -0x5168,0x271,\n               *(int *)(pcVar16 + 0x2a9704) + -0x4f7c,pcVar16 + 0x2b16d0);" (call_expression "(**(code **)(pcVar16 + 0x2aa428))\n              (*(int *)(pcVar16 + 0x2a9704) + -0x5150,*(int *)(pcVar16 + 0x2a9704) + -0x5168,0x271,\n               *(int *)(pcVar16 + 0x2a9704) + -0x4f7c,pcVar16 + 0x2b16d0)" (parenthesized_expression "(**(code **)(pcVar16 + 0x2aa428))" (( "(") (pointer_expression "**(code **)(pcVar16 + 0x2aa428)" (* "*") (pointer_expression "*(code **)(pcVar16 + 0x2aa428)" (* "*") (cast_expression "(code **)(pcVar16 + 0x2aa428)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar16 + 0x2aa428)" (( "(") (binary_expression "pcVar16 + 0x2aa428" (identifier "pcVar16") (+ "+") (number_literal "0x2aa428")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar16 + 0x2a9704) + -0x5150,*(int *)(pcVar16 + 0x2a9704) + -0x5168,0x271,\n               *(int *)(pcVar16 + 0x2a9704) + -0x4f7c,pcVar16 + 0x2b16d0)" (( "(") (binary_expression "*(int *)(pcVar16 + 0x2a9704) + -0x5150" (pointer_expression "*(int *)(pcVar16 + 0x2a9704)" (* "*") (cast_expression "(int *)(pcVar16 + 0x2a9704)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar16 + 0x2a9704)" (( "(") (binary_expression "pcVar16 + 0x2a9704" (identifier "pcVar16") (+ "+") (number_literal "0x2a9704")) () ")")))) (+ "+") (number_literal "-0x5150")) (, ",") (binary_expression "*(int *)(pcVar16 + 0x2a9704) + -0x5168" (pointer_expression "*(int *)(pcVar16 + 0x2a9704)" (* "*") (cast_expression "(int *)(pcVar16 + 0x2a9704)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar16 + 0x2a9704)" (( "(") (binary_expression "pcVar16 + 0x2a9704" (identifier "pcVar16") (+ "+") (number_literal "0x2a9704")) () ")")))) (+ "+") (number_literal "-0x5168")) (, ",") (number_literal "0x271") (, ",") (binary_expression "*(int *)(pcVar16 + 0x2a9704) + -0x4f7c" (pointer_expression "*(int *)(pcVar16 + 0x2a9704)" (* "*") (cast_expression "(int *)(pcVar16 + 0x2a9704)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar16 + 0x2a9704)" (( "(") (binary_expression "pcVar16 + 0x2a9704" (identifier "pcVar16") (+ "+") (number_literal "0x2a9704")) () ")")))) (+ "+") (number_literal "-0x4f7c")) (, ",") (binary_expression "pcVar16 + 0x2b16d0" (identifier "pcVar16") (+ "+") (number_literal "0x2b16d0")) () ")"))) (; ";")) (} "}")) (else_clause "else if (*(int *)(iVar6 + 0x24) == -0x54535255) {\n                    \n                    \n    puVar2 = (undefined4 *)(**(code **)(pcVar16 + 0x2a9da0))(*(undefined4 *)(iVar6 + 0x18));\n    return puVar2;\n  }" (else "else") (if_statement "if (*(int *)(iVar6 + 0x24) == -0x54535255) {\n                    \n                    \n    puVar2 = (undefined4 *)(**(code **)(pcVar16 + 0x2a9da0))(*(undefined4 *)(iVar6 + 0x18));\n    return puVar2;\n  }" (if "if") (parenthesized_expression "(*(int *)(iVar6 + 0x24) == -0x54535255)" (( "(") (binary_expression "*(int *)(iVar6 + 0x24) == -0x54535255" (pointer_expression "*(int *)(iVar6 + 0x24)" (* "*") (cast_expression "(int *)(iVar6 + 0x24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x24)" (( "(") (binary_expression "iVar6 + 0x24" (identifier "iVar6") (+ "+") (number_literal "0x24")) () ")")))) (== "==") (number_literal "-0x54535255")) () ")")) (compound_statement "{\n                    \n                    \n    puVar2 = (undefined4 *)(**(code **)(pcVar16 + 0x2a9da0))(*(undefined4 *)(iVar6 + 0x18));\n    return puVar2;\n  }" ({ "{") (expression_statement "puVar2 = (undefined4 *)(**(code **)(pcVar16 + 0x2a9da0))(*(undefined4 *)(iVar6 + 0x18));" (assignment_expression "puVar2 = (undefined4 *)(**(code **)(pcVar16 + 0x2a9da0))(*(undefined4 *)(iVar6 + 0x18))" (identifier "puVar2") (= "=") (cast_expression "(undefined4 *)(**(code **)(pcVar16 + 0x2a9da0))(*(undefined4 *)(iVar6 + 0x18))" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcVar16 + 0x2a9da0))(*(undefined4 *)(iVar6 + 0x18))" (parenthesized_expression "(**(code **)(pcVar16 + 0x2a9da0))" (( "(") (pointer_expression "**(code **)(pcVar16 + 0x2a9da0)" (* "*") (pointer_expression "*(code **)(pcVar16 + 0x2a9da0)" (* "*") (cast_expression "(code **)(pcVar16 + 0x2a9da0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar16 + 0x2a9da0)" (( "(") (binary_expression "pcVar16 + 0x2a9da0" (identifier "pcVar16") (+ "+") (number_literal "0x2a9da0")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar6 + 0x18))" (( "(") (pointer_expression "*(undefined4 *)(iVar6 + 0x18)" (* "*") (cast_expression "(undefined4 *)(iVar6 + 0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x18)" (( "(") (binary_expression "iVar6 + 0x18" (identifier "iVar6") (+ "+") (number_literal "0x18")) () ")")))) () ")"))))) (; ";")) (return_statement "return puVar2;" (return "return") (identifier "puVar2") (; ";")) (} "}"))))) (expression_statement "pcVar17 = *(code **)(pcVar16 + 0x2aa428);" (assignment_expression "pcVar17 = *(code **)(pcVar16 + 0x2aa428)" (identifier "pcVar17") (= "=") (pointer_expression "*(code **)(pcVar16 + 0x2aa428)" (* "*") (cast_expression "(code **)(pcVar16 + 0x2aa428)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar16 + 0x2aa428)" (( "(") (binary_expression "pcVar16 + 0x2aa428" (identifier "pcVar16") (+ "+") (number_literal "0x2aa428")) () ")"))))) (; ";")) (expression_statement "iVar6 = *(int *)(pcVar16 + 0x2a9704) + -0x512c;" (assignment_expression "iVar6 = *(int *)(pcVar16 + 0x2a9704) + -0x512c" (identifier "iVar6") (= "=") (binary_expression "*(int *)(pcVar16 + 0x2a9704) + -0x512c" (pointer_expression "*(int *)(pcVar16 + 0x2a9704)" (* "*") (cast_expression "(int *)(pcVar16 + 0x2a9704)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar16 + 0x2a9704)" (( "(") (binary_expression "pcVar16 + 0x2a9704" (identifier "pcVar16") (+ "+") (number_literal "0x2a9704")) () ")")))) (+ "+") (number_literal "-0x512c"))) (; ";")) (expression_statement "(*pcVar17)(iVar6,*(int *)(pcVar16 + 0x2a9704) + -0x5168,0x272,\n             *(int *)(pcVar16 + 0x2a9704) + -0x4f7c);" (call_expression "(*pcVar17)(iVar6,*(int *)(pcVar16 + 0x2a9704) + -0x5168,0x272,\n             *(int *)(pcVar16 + 0x2a9704) + -0x4f7c)" (parenthesized_expression "(*pcVar17)" (( "(") (pointer_expression "*pcVar17" (* "*") (identifier "pcVar17")) () ")")) (argument_list "(iVar6,*(int *)(pcVar16 + 0x2a9704) + -0x5168,0x272,\n             *(int *)(pcVar16 + 0x2a9704) + -0x4f7c)" (( "(") (identifier "iVar6") (, ",") (binary_expression "*(int *)(pcVar16 + 0x2a9704) + -0x5168" (pointer_expression "*(int *)(pcVar16 + 0x2a9704)" (* "*") (cast_expression "(int *)(pcVar16 + 0x2a9704)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar16 + 0x2a9704)" (( "(") (binary_expression "pcVar16 + 0x2a9704" (identifier "pcVar16") (+ "+") (number_literal "0x2a9704")) () ")")))) (+ "+") (number_literal "-0x5168")) (, ",") (number_literal "0x272") (, ",") (binary_expression "*(int *)(pcVar16 + 0x2a9704) + -0x4f7c" (pointer_expression "*(int *)(pcVar16 + 0x2a9704)" (* "*") (cast_expression "(int *)(pcVar16 + 0x2a9704)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar16 + 0x2a9704)" (( "(") (binary_expression "pcVar16 + 0x2a9704" (identifier "pcVar16") (+ "+") (number_literal "0x2a9704")) () ")")))) (+ "+") (number_literal "-0x4f7c")) () ")"))) (; ";")) (if_statement "if (iVar6 == 0) {\n    (**(code **)(pcVar17 + 0x2aa3a0))\n              (*(int *)(pcVar17 + 0x2a967c) + -0x5150,*(int *)(pcVar17 + 0x2a967c) + -0x5168,0x28f,\n               *(int *)(pcVar17 + 0x2a967c) + -0x4f98,pcVar17 + 0x2b1648);\n  }\n  else if (*(int *)(iVar6 + 0x24) == -0x54535255) {\n                    \n                    \n    puVar2 = (undefined4 *)(**(code **)(pcVar17 + 0x2a9a8c))(*(undefined4 *)(iVar6 + 0x18));\n    return puVar2;\n  }" (if "if") (parenthesized_expression "(iVar6 == 0)" (( "(") (binary_expression "iVar6 == 0" (identifier "iVar6") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    (**(code **)(pcVar17 + 0x2aa3a0))\n              (*(int *)(pcVar17 + 0x2a967c) + -0x5150,*(int *)(pcVar17 + 0x2a967c) + -0x5168,0x28f,\n               *(int *)(pcVar17 + 0x2a967c) + -0x4f98,pcVar17 + 0x2b1648);\n  }" ({ "{") (expression_statement "(**(code **)(pcVar17 + 0x2aa3a0))\n              (*(int *)(pcVar17 + 0x2a967c) + -0x5150,*(int *)(pcVar17 + 0x2a967c) + -0x5168,0x28f,\n               *(int *)(pcVar17 + 0x2a967c) + -0x4f98,pcVar17 + 0x2b1648);" (call_expression "(**(code **)(pcVar17 + 0x2aa3a0))\n              (*(int *)(pcVar17 + 0x2a967c) + -0x5150,*(int *)(pcVar17 + 0x2a967c) + -0x5168,0x28f,\n               *(int *)(pcVar17 + 0x2a967c) + -0x4f98,pcVar17 + 0x2b1648)" (parenthesized_expression "(**(code **)(pcVar17 + 0x2aa3a0))" (( "(") (pointer_expression "**(code **)(pcVar17 + 0x2aa3a0)" (* "*") (pointer_expression "*(code **)(pcVar17 + 0x2aa3a0)" (* "*") (cast_expression "(code **)(pcVar17 + 0x2aa3a0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar17 + 0x2aa3a0)" (( "(") (binary_expression "pcVar17 + 0x2aa3a0" (identifier "pcVar17") (+ "+") (number_literal "0x2aa3a0")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar17 + 0x2a967c) + -0x5150,*(int *)(pcVar17 + 0x2a967c) + -0x5168,0x28f,\n               *(int *)(pcVar17 + 0x2a967c) + -0x4f98,pcVar17 + 0x2b1648)" (( "(") (binary_expression "*(int *)(pcVar17 + 0x2a967c) + -0x5150" (pointer_expression "*(int *)(pcVar17 + 0x2a967c)" (* "*") (cast_expression "(int *)(pcVar17 + 0x2a967c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar17 + 0x2a967c)" (( "(") (binary_expression "pcVar17 + 0x2a967c" (identifier "pcVar17") (+ "+") (number_literal "0x2a967c")) () ")")))) (+ "+") (number_literal "-0x5150")) (, ",") (binary_expression "*(int *)(pcVar17 + 0x2a967c) + -0x5168" (pointer_expression "*(int *)(pcVar17 + 0x2a967c)" (* "*") (cast_expression "(int *)(pcVar17 + 0x2a967c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar17 + 0x2a967c)" (( "(") (binary_expression "pcVar17 + 0x2a967c" (identifier "pcVar17") (+ "+") (number_literal "0x2a967c")) () ")")))) (+ "+") (number_literal "-0x5168")) (, ",") (number_literal "0x28f") (, ",") (binary_expression "*(int *)(pcVar17 + 0x2a967c) + -0x4f98" (pointer_expression "*(int *)(pcVar17 + 0x2a967c)" (* "*") (cast_expression "(int *)(pcVar17 + 0x2a967c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar17 + 0x2a967c)" (( "(") (binary_expression "pcVar17 + 0x2a967c" (identifier "pcVar17") (+ "+") (number_literal "0x2a967c")) () ")")))) (+ "+") (number_literal "-0x4f98")) (, ",") (binary_expression "pcVar17 + 0x2b1648" (identifier "pcVar17") (+ "+") (number_literal "0x2b1648")) () ")"))) (; ";")) (} "}")) (else_clause "else if (*(int *)(iVar6 + 0x24) == -0x54535255) {\n                    \n                    \n    puVar2 = (undefined4 *)(**(code **)(pcVar17 + 0x2a9a8c))(*(undefined4 *)(iVar6 + 0x18));\n    return puVar2;\n  }" (else "else") (if_statement "if (*(int *)(iVar6 + 0x24) == -0x54535255) {\n                    \n                    \n    puVar2 = (undefined4 *)(**(code **)(pcVar17 + 0x2a9a8c))(*(undefined4 *)(iVar6 + 0x18));\n    return puVar2;\n  }" (if "if") (parenthesized_expression "(*(int *)(iVar6 + 0x24) == -0x54535255)" (( "(") (binary_expression "*(int *)(iVar6 + 0x24) == -0x54535255" (pointer_expression "*(int *)(iVar6 + 0x24)" (* "*") (cast_expression "(int *)(iVar6 + 0x24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x24)" (( "(") (binary_expression "iVar6 + 0x24" (identifier "iVar6") (+ "+") (number_literal "0x24")) () ")")))) (== "==") (number_literal "-0x54535255")) () ")")) (compound_statement "{\n                    \n                    \n    puVar2 = (undefined4 *)(**(code **)(pcVar17 + 0x2a9a8c))(*(undefined4 *)(iVar6 + 0x18));\n    return puVar2;\n  }" ({ "{") (expression_statement "puVar2 = (undefined4 *)(**(code **)(pcVar17 + 0x2a9a8c))(*(undefined4 *)(iVar6 + 0x18));" (assignment_expression "puVar2 = (undefined4 *)(**(code **)(pcVar17 + 0x2a9a8c))(*(undefined4 *)(iVar6 + 0x18))" (identifier "puVar2") (= "=") (cast_expression "(undefined4 *)(**(code **)(pcVar17 + 0x2a9a8c))(*(undefined4 *)(iVar6 + 0x18))" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcVar17 + 0x2a9a8c))(*(undefined4 *)(iVar6 + 0x18))" (parenthesized_expression "(**(code **)(pcVar17 + 0x2a9a8c))" (( "(") (pointer_expression "**(code **)(pcVar17 + 0x2a9a8c)" (* "*") (pointer_expression "*(code **)(pcVar17 + 0x2a9a8c)" (* "*") (cast_expression "(code **)(pcVar17 + 0x2a9a8c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar17 + 0x2a9a8c)" (( "(") (binary_expression "pcVar17 + 0x2a9a8c" (identifier "pcVar17") (+ "+") (number_literal "0x2a9a8c")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar6 + 0x18))" (( "(") (pointer_expression "*(undefined4 *)(iVar6 + 0x18)" (* "*") (cast_expression "(undefined4 *)(iVar6 + 0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x18)" (( "(") (binary_expression "iVar6 + 0x18" (identifier "iVar6") (+ "+") (number_literal "0x18")) () ")")))) () ")"))))) (; ";")) (return_statement "return puVar2;" (return "return") (identifier "puVar2") (; ";")) (} "}"))))) (expression_statement "iVar6 = *(int *)(pcVar17 + 0x2a967c) + -0x512c;" (assignment_expression "iVar6 = *(int *)(pcVar17 + 0x2a967c) + -0x512c" (identifier "iVar6") (= "=") (binary_expression "*(int *)(pcVar17 + 0x2a967c) + -0x512c" (pointer_expression "*(int *)(pcVar17 + 0x2a967c)" (* "*") (cast_expression "(int *)(pcVar17 + 0x2a967c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar17 + 0x2a967c)" (( "(") (binary_expression "pcVar17 + 0x2a967c" (identifier "pcVar17") (+ "+") (number_literal "0x2a967c")) () ")")))) (+ "+") (number_literal "-0x512c"))) (; ";")) (expression_statement "(**(code **)(pcVar17 + 0x2aa3a0))\n            (iVar6,*(int *)(pcVar17 + 0x2a967c) + -0x5168,0x290,\n             *(int *)(pcVar17 + 0x2a967c) + -0x4f98);" (call_expression "(**(code **)(pcVar17 + 0x2aa3a0))\n            (iVar6,*(int *)(pcVar17 + 0x2a967c) + -0x5168,0x290,\n             *(int *)(pcVar17 + 0x2a967c) + -0x4f98)" (parenthesized_expression "(**(code **)(pcVar17 + 0x2aa3a0))" (( "(") (pointer_expression "**(code **)(pcVar17 + 0x2aa3a0)" (* "*") (pointer_expression "*(code **)(pcVar17 + 0x2aa3a0)" (* "*") (cast_expression "(code **)(pcVar17 + 0x2aa3a0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar17 + 0x2aa3a0)" (( "(") (binary_expression "pcVar17 + 0x2aa3a0" (identifier "pcVar17") (+ "+") (number_literal "0x2aa3a0")) () ")"))))) () ")")) (argument_list "(iVar6,*(int *)(pcVar17 + 0x2a967c) + -0x5168,0x290,\n             *(int *)(pcVar17 + 0x2a967c) + -0x4f98)" (( "(") (identifier "iVar6") (, ",") (binary_expression "*(int *)(pcVar17 + 0x2a967c) + -0x5168" (pointer_expression "*(int *)(pcVar17 + 0x2a967c)" (* "*") (cast_expression "(int *)(pcVar17 + 0x2a967c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar17 + 0x2a967c)" (( "(") (binary_expression "pcVar17 + 0x2a967c" (identifier "pcVar17") (+ "+") (number_literal "0x2a967c")) () ")")))) (+ "+") (number_literal "-0x5168")) (, ",") (number_literal "0x290") (, ",") (binary_expression "*(int *)(pcVar17 + 0x2a967c) + -0x4f98" (pointer_expression "*(int *)(pcVar17 + 0x2a967c)" (* "*") (cast_expression "(int *)(pcVar17 + 0x2a967c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar17 + 0x2a967c)" (( "(") (binary_expression "pcVar17 + 0x2a967c" (identifier "pcVar17") (+ "+") (number_literal "0x2a967c")) () ")")))) (+ "+") (number_literal "-0x4f98")) () ")"))) (; ";")) (if_statement "if (iVar6 == 0) {\n    return (undefined4 *)0x0;\n  }" (if "if") (parenthesized_expression "(iVar6 == 0)" (( "(") (binary_expression "iVar6 == 0" (identifier "iVar6") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    return (undefined4 *)0x0;\n  }" ({ "{") (return_statement "return (undefined4 *)0x0;" (return "return") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")) (; ";")) (} "}"))) (return_statement "return (undefined4 *)(uint)(*(int *)(iVar6 + 0x24) == -0x54535255);" (return "return") (cast_expression "(undefined4 *)(uint)(*(int *)(iVar6 + 0x24) == -0x54535255)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(uint)(*(int *)(iVar6 + 0x24) == -0x54535255)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*(int *)(iVar6 + 0x24) == -0x54535255)" (( "(") (binary_expression "*(int *)(iVar6 + 0x24) == -0x54535255" (pointer_expression "*(int *)(iVar6 + 0x24)" (* "*") (cast_expression "(int *)(iVar6 + 0x24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x24)" (( "(") (binary_expression "iVar6 + 0x24" (identifier "iVar6") (+ "+") (number_literal "0x24")) () ")")))) (== "==") (number_literal "-0x54535255")) () ")")))) (; ";")) (} "}")))

/* 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 */

char * function_1(type_1 *var_1,type_2 *var_4)

{
  bool var_18;
  char *var_5;
  type_3 *pEVar3;
  type_4 uVar4;
  type_4 *puVar5;
  int var_13;
  int var_16;
  int extraout_v1_00;
  int var_19;
  int var_17;
  int extraout_v1_03;
  int var_9;
  type_5 *var_7;
  int var_12;
  type_4 uVar10;
  type_5 *var_3;
  type_4 uVar12;
  type_4 unaff_s0;
  int *piVar13;
  int var_14;
  int var_15;
  type_5 *var_8;
  type_6 *var_10;
  type_6 *var_11;
  type_7 uVar19;
  type_4 uStack_c0;
  type_4 uStack_bc;
  int iStack_b4;
  int iStack_b0;
  type_4 uStack_ac;
  type_4 uStack_a8;
  char *pcStack_a4;
  type_4 *puStack_a0;
  int var_20;
  type_4 uStack_98;
  type_1 *pIStack_94;
  
  var_8 = PTR_AcquireQuantumMemory_003a950c;
  if (var_1 == (type_1 *)0x0) {
    (*(type_6 *)PTR___assert_fail_003a9608)
              (var_2 + -0x50dc,var_2 + -0x5168,0x194,
               var_2 + -0x4f04);
LAB_000fece8:
    unaff_s0 = (*(type_6 *)PTR_AcquireExceptionInfo_003a8eec)();
    puVar5 = (type_4 *)(*(type_6 *)PTR___errno_location_003a99b0)();
    var_1 = (type_1 *)(*(type_6 *)PTR_GetExceptionMessage_003a93ec)(*puVar5);
    var_3 = (type_5 *)0x19b;
    (*(type_6 *)PTR_ThrowMagickException_003a8f20)
              (unaff_s0,var_2 + -0x5168,var_2 + -0x4f1c,0x19b)
    ;
    (*(type_6 *)PTR_DestroyString_003a9074)(var_1);
    (*(type_6 *)PTR_CatchException_003a92b0)(unaff_s0);
    (*(type_6 *)PTR_DestroyExceptionInfo_003a8d50)(unaff_s0);
    (*(type_6 *)PTR_MagickCoreTerminus_003a98ec)();
    (*(type_6 *)PTR__exit_003a9660)(1);
LAB_000fedb0:
    var_3 = var_3 + -0x4f04;
    (*(type_6 *)PTR___assert_fail_003a9608)
              (var_2 + -0x50b4,var_2 + -0x5168,0x196,var_3);
  }
  else {
    var_3 = var_2;
    if (var_1->signature == 0xabacadab) {
      if (var_4 != (type_2 *)0x0) {
        *var_4 = var_1->exception->var_4;
        var_5 = (char *)(*(type_6 *)var_8)(0x2000,1);
        if (var_5 != (char *)0x0) {
          pEVar3 = var_1->exception;
          *var_5 = '\0';
          if (pEVar3->reason != (char *)0x0) {
            uVar4 = (*(type_6 *)PTR_GetLocaleExceptionMessage_003a92d0)(pEVar3->var_4);
            (*(type_6 *)PTR_CopyMagickString_003a983c)(var_5,uVar4,0x1000);
            pEVar3 = var_1->exception;
          }
          if (pEVar3->description != (char *)0x0) {
            (*(type_6 *)PTR_ConcatenateMagickString_003a9898)
                      (var_5,var_2 + -0x5090,0x1000);
            uVar4 = (*(type_6 *)PTR_GetLocaleExceptionMessage_003a92d0)
                              (var_1->exception->var_4,var_1->exception->description);
            (*(type_6 *)PTR_ConcatenateMagickString_003a9898)(var_5,uVar4,0x1000);
            (*(type_6 *)PTR_ConcatenateMagickString_003a9898)
                      (var_5,var_6 + -0x6e0,0x1000);
          }
          return var_5;
        }
        goto LAB_000fece8;
      }
      goto LAB_000fedb0;
    }
  }
  var_7 = var_2 + -0x5168;
  var_5 = var_2 + -0x512c;
  var_8 = PTR___assert_fail_003a9608;
  (*(type_6 *)PTR___assert_fail_003a9608)(var_5,var_7,0x195,var_3 + -0x4f04);
  if (var_7 == (type_5 *)0x0) {
    (**(type_6 **)(var_8 + 0x2aa818))
              (*(int *)(var_8 + 0x2a9af4) + -0x5150,*(int *)(var_8 + 0x2a9af4) + -0x5168,0x1c4,
               *(int *)(var_8 + 0x2a9af4) + -0x4f30);
  }
  else if (*(int *)(var_7 + 0x24) == -0x54535255) {
    uVar12 = *(type_4 *)(var_7 + 8);
    uVar10 = *(type_4 *)(var_7 + 0xc);
    uVar4 = *(type_4 *)(var_7 + 0x10);
    *(type_4 *)var_5 = *(type_4 *)(var_7 + 4);
    *(type_4 *)(var_5 + 4) = uVar12;
    *(type_4 *)(var_5 + 8) = uVar10;
    *(type_4 *)(var_5 + 0xc) = uVar4;
    return var_5;
  }
  var_10 = *(type_6 **)(var_8 + 0x2aa818);
  var_9 = *(int *)(var_8 + 0x2a9af4) + -0x512c;
  (*var_10)(var_9,*(int *)(var_8 + 0x2a9af4) + -0x5168,0x1c5,
             *(int *)(var_8 + 0x2a9af4) + -0x4f30);
  if (var_9 == 0) {
    (**(type_6 **)(var_10 + 0x2aa774))
              (*(int *)(var_10 + 0x2a9a50) + -0x5150,*(int *)(var_10 + 0x2a9a50) + -0x5168,0x1e1,
               *(int *)(var_10 + 0x2a9a50) + -0x4f44);
  }
  else if (*(int *)(var_9 + 0x24) == -0x54535255) {
    return *(char **)(var_9 + 0x14);
  }
  uVar4 = 0x1e2;
  var_11 = *(type_6 **)(var_10 + 0x2aa774);
  var_12 = *(int *)(var_10 + 0x2a9a50) + -0x5168;
  var_9 = *(int *)(var_10 + 0x2a9a50) + -0x512c;
  (*var_11)();
  piVar13 = *(int **)(var_11 + 0x2aa318);
  var_20 = *piVar13;
  uStack_98 = unaff_s0;
  pIStack_94 = var_1;
  if (var_9 == 0) {
    (**(type_6 **)(var_11 + 0x2aa6f0))
              (*(int *)(var_11 + 0x2a99cc) + -0x50fc,*(int *)(var_11 + 0x2a99cc) + -0x5168,0x225,
               *(int *)(var_11 + 0x2a99cc) + -0x4f5c);
  }
  else if (*(int *)(var_9 + 0x24) == -0x54535255) {
    if (var_12 == 0) {
      var_5 = (char *)0x0;
    }
    else {
      uVar10 = *(type_4 *)(var_9 + 0x14);
      var_14 = *(int *)(var_9 + 8);
      var_15 = *(int *)(var_9 + 0x10);
      uStack_bc = 0;
      uStack_c0 = 0;
      var_13 = (**(type_6 **)(var_11 + 0x2aa59c))(uVar10);
      if (((var_13 == 4) || (var_13 = (**(type_6 **)(var_11 + 0x2aa59c))(uVar10), var_13 == 3)) &&
         ((var_13 = (**(type_6 **)(var_11 + 0x2aa59c))(uVar10), var_13 == 4 ||
          (var_13 = (**(type_6 **)(var_11 + 0x2aa59c))(uVar10), var_13 == 3)))) {
        var_14 = var_14 - var_15;
        (**(type_6 **)(var_11 + 0x2aa224))(7);
        var_13 = var_14;
        if (var_14 < 0) {
          var_13 = var_14 + 0x3f;
        }
        var_13 = var_13 >> 6;
        if (var_16 < var_13) {
          (**(type_6 **)(var_11 + 0x2aa224))(7);
          var_18 = var_17 < 2;
        }
        else {
          var_18 = var_14 < 0x80;
        }
        var_14 = 1;
        if ((bool)(var_18 ^ 1)) {
          (**(type_6 **)(var_11 + 0x2aa224))(7);
          if (var_19 < var_13) {
            (**(type_6 **)(var_11 + 0x2aa224))(7);
            var_13 = extraout_v1_03;
          }
          goto LAB_000feff4;
        }
        var_15 = *(int *)(var_11 + 0x2a9b7c);
      }
      else {
        uVar19 = (**(type_6 **)(var_11 + 0x2aa224))(7);
        if ((int)((type_8)uVar19 >> 0x20) == 0) {
          var_10 = *(type_6 **)(var_11 + 0x2aa224);
          if ((type_9)uVar19 < 2) {
            uVar19 = (*var_10)(7);
            if ((int)((type_8)uVar19 >> 0x20) != 0) goto LAB_000fefdc;
            var_10 = *(type_6 **)(var_11 + 0x2aa224);
            if ((type_9)uVar19 < 2) {
              var_13 = 1;
              goto LAB_000feff4;
            }
          }
        }
        else {
LAB_000fefdc:
          var_10 = *(type_6 **)(var_11 + 0x2aa224);
        }
        uVar19 = (*var_10)(7);
        if (((int)((type_8)uVar19 >> 0x20) == 0) && ((type_9)uVar19 < 2)) {
          (**(type_6 **)(var_11 + 0x2aa224))(7);
          var_13 = extraout_v1_00;
        }
        else {
          var_13 = 2;
        }
LAB_000feff4:
        var_15 = *(int *)(var_11 + 0x2a9b7c);
        var_14 = var_13;
      }
      pcStack_a4 = (char *)0x1;
      puStack_a0 = &uStack_c0;
      iStack_b4 = var_9;
      iStack_b0 = var_12;
      uStack_ac = uVar4;
      uStack_a8 = uVar10;
      (**(type_6 **)(var_11 + 0x2aa280))(var_15 + -0x2298,&iStack_b4,var_14,0);
      var_5 = pcStack_a4;
    }
    var_9 = var_20;
    if (var_20 == *piVar13) {
      return var_5;
    }
    goto LAB_000ff1d4;
  }
  var_9 = *(int *)(var_11 + 0x2a99d0) + 0x3930;
  (**(type_6 **)(var_11 + 0x2aa6f0))
            (var_9,*(int *)(var_11 + 0x2a99cc) + -0x5168,0x226,
             *(int *)(var_11 + 0x2a99cc) + -0x4f5c);
LAB_000ff1d4:
  var_10 = *(type_6 **)(var_11 + 0x2aa14c);
  (*var_10)();
  if (var_9 == 0) {
    (**(type_6 **)(var_10 + 0x2aa428))
              (*(int *)(var_10 + 0x2a9704) + -0x5150,*(int *)(var_10 + 0x2a9704) + -0x5168,0x271,
               *(int *)(var_10 + 0x2a9704) + -0x4f7c,var_10 + 0x2b16d0);
  }
  else if (*(int *)(var_9 + 0x24) == -0x54535255) {
                    /* WARNING: Could not recover jumptable at 0x000ff218. Too many branches */
                    /* WARNING: Treating indirect jump as call */
    var_5 = (char *)(**(type_6 **)(var_10 + 0x2a9da0))(*(type_4 *)(var_9 + 0x18));
    return var_5;
  }
  var_11 = *(type_6 **)(var_10 + 0x2aa428);
  var_9 = *(int *)(var_10 + 0x2a9704) + -0x512c;
  (*var_11)(var_9,*(int *)(var_10 + 0x2a9704) + -0x5168,0x272,
             *(int *)(var_10 + 0x2a9704) + -0x4f7c);
  if (var_9 == 0) {
    (**(type_6 **)(var_11 + 0x2aa3a0))
              (*(int *)(var_11 + 0x2a967c) + -0x5150,*(int *)(var_11 + 0x2a967c) + -0x5168,0x28f,
               *(int *)(var_11 + 0x2a967c) + -0x4f98,var_11 + 0x2b1648);
  }
  else if (*(int *)(var_9 + 0x24) == -0x54535255) {
                    /* WARNING: Could not recover jumptable at 0x000ff2a0. Too many branches */
                    /* WARNING: Treating indirect jump as call */
    var_5 = (char *)(**(type_6 **)(var_11 + 0x2a9a8c))(*(type_4 *)(var_9 + 0x18));
    return var_5;
  }
  var_9 = *(int *)(var_11 + 0x2a967c) + -0x512c;
  (**(type_6 **)(var_11 + 0x2aa3a0))
            (var_9,*(int *)(var_11 + 0x2a967c) + -0x5168,0x290,
             *(int *)(var_11 + 0x2a967c) + -0x4f98);
  if (var_9 == 0) {
    return (char *)0x0;
  }
  return (char *)(type_9)(*(int *)(var_9 + 0x24) == -0x54535255);
}


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

undefined4 * MASKED(int param_1,undefined4 *param_2)

{
  bool bVar1;
  undefined4 *puVar2;
  undefined4 *puVar3;
  undefined4 uVar4;
  int iVar5;
  int extraout_v1;
  int extraout_v1_00;
  int extraout_v1_01;
  int extraout_v1_02;
  int extraout_v1_03;
  int iVar6;
  undefined *puVar7;
  int iVar8;
  undefined4 uVar9;
  undefined *puVar10;
  undefined4 uVar11;
  undefined4 unaff_s0;
  int *piVar12;
  int iVar13;
  int iVar14;
  undefined *puVar15;
  code *pcVar16;
  code *pcVar17;
  undefined8 uVar18;
  undefined4 uStack_c0;
  undefined4 uStack_bc;
  int iStack_b4;
  int iStack_b0;
  undefined4 uStack_ac;
  undefined4 uStack_a8;
  undefined4 *puStack_a4;
  undefined4 *puStack_a0;
  int iStack_9c;
  undefined4 uStack_98;
  int iStack_94;
  
  puVar15 = PTR_AcquireQuantumMemory_003a950c;
  if (param_1 == 0) {
    (*(code *)PTR___assert_fail_003a9608)
              (PTR_s_t_to_left_003a88e4 + -0x50dc,PTR_s_t_to_left_003a88e4 + -0x5168,0x194,
               PTR_s_t_to_left_003a88e4 + -0x4f04);
LAB_000fece8:
    unaff_s0 = (*(code *)PTR_AcquireExceptionInfo_003a8eec)();
    puVar2 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();
    param_1 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar2);
    puVar10 = (undefined *)0x19b;
    (*(code *)PTR_ThrowMagickException_003a8f20)
              (unaff_s0,PTR_s_t_to_left_003a88e4 + -0x5168,PTR_s_t_to_left_003a88e4 + -0x4f1c,0x19b)
    ;
    (*(code *)PTR_DestroyString_003a9074)(param_1);
    (*(code *)PTR_CatchException_003a92b0)(unaff_s0);
    (*(code *)PTR_DestroyExceptionInfo_003a8d50)(unaff_s0);
    (*(code *)PTR_MagickCoreTerminus_003a98ec)();
    (*(code *)PTR__exit_003a9660)(1);
LAB_000fedb0:
    puVar10 = puVar10 + -0x4f04;
    (*(code *)PTR___assert_fail_003a9608)
              (PTR_s_t_to_left_003a88e4 + -0x50b4,PTR_s_t_to_left_003a88e4 + -0x5168,0x196,puVar10);
  }
  else {
    puVar10 = PTR_s_t_to_left_003a88e4;
    if (*(int *)(param_1 + 0x24) == -0x54535255) {
      if (param_2 != (undefined4 *)0x0) {
        *param_2 = **(undefined4 **)(param_1 + 0x1c);
        puVar2 = (undefined4 *)(*(code *)puVar15)(0x2000,1);
        if (puVar2 != (undefined4 *)0x0) {
          puVar3 = *(undefined4 **)(param_1 + 0x1c);
          *(undefined1 *)puVar2 = 0;
          if (puVar3[2] != 0) {
            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)(*puVar3);
            (*(code *)PTR_CopyMagickString_003a983c)(puVar2,uVar4,0x1000);
            puVar3 = *(undefined4 **)(param_1 + 0x1c);
          }
          if (puVar3[3] != 0) {
            (*(code *)PTR_ConcatenateMagickString_003a9898)
                      (puVar2,PTR_s_t_to_left_003a88e4 + -0x5090,0x1000);
            uVar4 = (*(code *)PTR_GetLocaleExceptionMessage_003a92d0)
                              (**(undefined4 **)(param_1 + 0x1c),
                               (*(undefined4 **)(param_1 + 0x1c))[3]);
            (*(code *)PTR_ConcatenateMagickString_003a9898)(puVar2,uVar4,0x1000);
            (*(code *)PTR_ConcatenateMagickString_003a9898)
                      (puVar2,PTR_s_courses_003a88ec + -0x6e0,0x1000);
          }
          return puVar2;
        }
        goto LAB_000fece8;
      }
      goto LAB_000fedb0;
    }
  }
  puVar7 = PTR_s_t_to_left_003a88e4 + -0x5168;
  puVar2 = (undefined4 *)(PTR_s_t_to_left_003a88e4 + -0x512c);
  puVar15 = PTR___assert_fail_003a9608;
  (*(code *)PTR___assert_fail_003a9608)(puVar2,puVar7,0x195,puVar10 + -0x4f04);
  if (puVar7 == (undefined *)0x0) {
    (**(code **)(puVar15 + 0x2aa818))
              (*(int *)(puVar15 + 0x2a9af4) + -0x5150,*(int *)(puVar15 + 0x2a9af4) + -0x5168,0x1c4,
               *(int *)(puVar15 + 0x2a9af4) + -0x4f30);
  }
  else if (*(int *)(puVar7 + 0x24) == -0x54535255) {
    uVar11 = *(undefined4 *)(puVar7 + 8);
    uVar9 = *(undefined4 *)(puVar7 + 0xc);
    uVar4 = *(undefined4 *)(puVar7 + 0x10);
    *puVar2 = *(undefined4 *)(puVar7 + 4);
    puVar2[1] = uVar11;
    puVar2[2] = uVar9;
    puVar2[3] = uVar4;
    return puVar2;
  }
  pcVar16 = *(code **)(puVar15 + 0x2aa818);
  iVar6 = *(int *)(puVar15 + 0x2a9af4) + -0x512c;
  (*pcVar16)(iVar6,*(int *)(puVar15 + 0x2a9af4) + -0x5168,0x1c5,
             *(int *)(puVar15 + 0x2a9af4) + -0x4f30);
  if (iVar6 == 0) {
    (**(code **)(pcVar16 + 0x2aa774))
              (*(int *)(pcVar16 + 0x2a9a50) + -0x5150,*(int *)(pcVar16 + 0x2a9a50) + -0x5168,0x1e1,
               *(int *)(pcVar16 + 0x2a9a50) + -0x4f44);
  }
  else if (*(int *)(iVar6 + 0x24) == -0x54535255) {
    return *(undefined4 **)(iVar6 + 0x14);
  }
  uVar4 = 0x1e2;
  pcVar17 = *(code **)(pcVar16 + 0x2aa774);
  iVar8 = *(int *)(pcVar16 + 0x2a9a50) + -0x5168;
  iVar6 = *(int *)(pcVar16 + 0x2a9a50) + -0x512c;
  (*pcVar17)();
  piVar12 = *(int **)(pcVar17 + 0x2aa318);
  iStack_9c = *piVar12;
  uStack_98 = unaff_s0;
  iStack_94 = param_1;
  if (iVar6 == 0) {
    (**(code **)(pcVar17 + 0x2aa6f0))
              (*(int *)(pcVar17 + 0x2a99cc) + -0x50fc,*(int *)(pcVar17 + 0x2a99cc) + -0x5168,0x225,
               *(int *)(pcVar17 + 0x2a99cc) + -0x4f5c);
  }
  else if (*(int *)(iVar6 + 0x24) == -0x54535255) {
    if (iVar8 == 0) {
      puVar2 = (undefined4 *)0x0;
    }
    else {
      uVar9 = *(undefined4 *)(iVar6 + 0x14);
      iVar13 = *(int *)(iVar6 + 8);
      iVar14 = *(int *)(iVar6 + 0x10);
      uStack_bc = 0;
      uStack_c0 = 0;
      iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9);
      if (((iVar5 == 4) || (iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3)) &&
         ((iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 4 ||
          (iVar5 = (**(code **)(pcVar17 + 0x2aa59c))(uVar9), iVar5 == 3)))) {
        iVar13 = iVar13 - iVar14;
        (**(code **)(pcVar17 + 0x2aa224))(7);
        iVar5 = iVar13;
        if (iVar13 < 0) {
          iVar5 = iVar13 + 0x3f;
        }
        iVar5 = iVar5 >> 6;
        if (extraout_v1 < iVar5) {
          (**(code **)(pcVar17 + 0x2aa224))(7);
          bVar1 = extraout_v1_02 < 2;
        }
        else {
          bVar1 = iVar13 < 0x80;
        }
        iVar13 = 1;
        if ((bool)(bVar1 ^ 1)) {
          (**(code **)(pcVar17 + 0x2aa224))(7);
          if (extraout_v1_01 < iVar5) {
            (**(code **)(pcVar17 + 0x2aa224))(7);
            iVar5 = extraout_v1_03;
          }
          goto LAB_000feff4;
        }
        iVar14 = *(int *)(pcVar17 + 0x2a9b7c);
      }
      else {
        uVar18 = (**(code **)(pcVar17 + 0x2aa224))(7);
        if ((int)((ulonglong)uVar18 >> 0x20) == 0) {
          pcVar16 = *(code **)(pcVar17 + 0x2aa224);
          if ((uint)uVar18 < 2) {
            uVar18 = (*pcVar16)(7);
            if ((int)((ulonglong)uVar18 >> 0x20) != 0) goto LAB_000fefdc;
            pcVar16 = *(code **)(pcVar17 + 0x2aa224);
            if ((uint)uVar18 < 2) {
              iVar5 = 1;
              goto LAB_000feff4;
            }
          }
        }
        else {
LAB_000fefdc:
          pcVar16 = *(code **)(pcVar17 + 0x2aa224);
        }
        uVar18 = (*pcVar16)(7);
        if (((int)((ulonglong)uVar18 >> 0x20) == 0) && ((uint)uVar18 < 2)) {
          (**(code **)(pcVar17 + 0x2aa224))(7);
          iVar5 = extraout_v1_00;
        }
        else {
          iVar5 = 2;
        }
LAB_000feff4:
        iVar14 = *(int *)(pcVar17 + 0x2a9b7c);
        iVar13 = iVar5;
      }
      puStack_a4 = (undefined4 *)0x1;
      puStack_a0 = &uStack_c0;
      iStack_b4 = iVar6;
      iStack_b0 = iVar8;
      uStack_ac = uVar4;
      uStack_a8 = uVar9;
      (**(code **)(pcVar17 + 0x2aa280))(iVar14 + -0x2298,&iStack_b4,iVar13,0);
      puVar2 = puStack_a4;
    }
    iVar6 = iStack_9c;
    if (iStack_9c == *piVar12) {
      return puVar2;
    }
    goto LAB_000ff1d4;
  }
  iVar6 = *(int *)(pcVar17 + 0x2a99d0) + 0x3930;
  (**(code **)(pcVar17 + 0x2aa6f0))
            (iVar6,*(int *)(pcVar17 + 0x2a99cc) + -0x5168,0x226,
             *(int *)(pcVar17 + 0x2a99cc) + -0x4f5c);
LAB_000ff1d4:
  pcVar16 = *(code **)(pcVar17 + 0x2aa14c);
  (*pcVar16)();
  if (iVar6 == 0) {
    (**(code **)(pcVar16 + 0x2aa428))
              (*(int *)(pcVar16 + 0x2a9704) + -0x5150,*(int *)(pcVar16 + 0x2a9704) + -0x5168,0x271,
               *(int *)(pcVar16 + 0x2a9704) + -0x4f7c,pcVar16 + 0x2b16d0);
  }
  else if (*(int *)(iVar6 + 0x24) == -0x54535255) {
                    /* WARNING: Could not recover jumptable at 0x000ff218. Too many branches */
                    /* WARNING: Treating indirect jump as call */
    puVar2 = (undefined4 *)(**(code **)(pcVar16 + 0x2a9da0))(*(undefined4 *)(iVar6 + 0x18));
    return puVar2;
  }
  pcVar17 = *(code **)(pcVar16 + 0x2aa428);
  iVar6 = *(int *)(pcVar16 + 0x2a9704) + -0x512c;
  (*pcVar17)(iVar6,*(int *)(pcVar16 + 0x2a9704) + -0x5168,0x272,
             *(int *)(pcVar16 + 0x2a9704) + -0x4f7c);
  if (iVar6 == 0) {
    (**(code **)(pcVar17 + 0x2aa3a0))
              (*(int *)(pcVar17 + 0x2a967c) + -0x5150,*(int *)(pcVar17 + 0x2a967c) + -0x5168,0x28f,
               *(int *)(pcVar17 + 0x2a967c) + -0x4f98,pcVar17 + 0x2b1648);
  }
  else if (*(int *)(iVar6 + 0x24) == -0x54535255) {
                    /* WARNING: Could not recover jumptable at 0x000ff2a0. Too many branches */
                    /* WARNING: Treating indirect jump as call */
    puVar2 = (undefined4 *)(**(code **)(pcVar17 + 0x2a9a8c))(*(undefined4 *)(iVar6 + 0x18));
    return puVar2;
  }
  iVar6 = *(int *)(pcVar17 + 0x2a967c) + -0x512c;
  (**(code **)(pcVar17 + 0x2aa3a0))
            (iVar6,*(int *)(pcVar17 + 0x2a967c) + -0x5168,0x290,
             *(int *)(pcVar17 + 0x2a967c) + -0x4f98);
  if (iVar6 == 0) {
    return (undefined4 *)0x0;
  }
  return (undefined4 *)(uint)(*(int *)(iVar6 + 0x24) == -0x54535255);
}

