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

Image * CharcoalImage(Image *image,double radius,double sigma,ExceptionInfo *exception)

{
  bool bVar1;
  int iVar2;
  int iVar3;
  Image *pIVar4;
  Image *pIVar5;
  uint uVar6;
  size_t sVar7;
  int *piVar8;
  int iVar9;
  undefined4 uVar10;
  undefined4 uVar11;
  int extraout_v1;
  int extraout_v1_00;
  int extraout_v1_01;
  int extraout_v1_02;
  int extraout_v1_03;
  int extraout_v1_04;
  int extraout_v1_05;
  int extraout_v1_06;
  undefined *puVar12;
  int iVar13;
  size_t sVar14;
  undefined1 *puVar15;
  undefined *puVar16;
  int iVar17;
  undefined8 *puVar18;
  int iVar19;
  int iVar20;
  Image *unaff_s1;
  undefined *unaff_s2;
  int unaff_s3;
  int *piVar21;
  undefined *unaff_s5;
  undefined1 *unaff_s6;
  int iVar22;
  undefined *puVar23;
  code *pcVar24;
  code *pcVar25;
  double dVar26;
  undefined8 uVar27;
  Image *in_stack_00000018;
  int iStack_12e4;
  Image *pIStack_12dc;
  undefined4 uStack_12c0;
  undefined4 uStack_12bc;
  undefined1 *puStack_12b4;
  int iStack_12b0;
  int iStack_12ac;
  undefined4 uStack_12a8;
  undefined4 uStack_12a4;
  undefined8 *puStack_12a0;
  Image *pIStack_129c;
  int iStack_1298;
  undefined4 *puStack_1294;
  undefined8 auStack_1290 [7];
  undefined8 uStack_1258;
  undefined8 uStack_1220;
  undefined8 uStack_11e8;
  undefined8 uStack_11b0;
  undefined8 uStack_1178;
  undefined1 auStack_116c [4096];
  int iStack_16c;
  Image *pIStack_168;
  Image *pIStack_164;
  undefined *puStack_160;
  int iStack_15c;
  int *piStack_158;
  undefined *puStack_154;
  undefined1 *puStack_150;
  undefined4 uStack_118;
  undefined4 uStack_114;
  undefined *puStack_110;
  int iStack_10c;
  Image *pIStack_108;
  undefined *puStack_104;
  Image *pIStack_100;
  undefined1 *puStack_fc;
  Image *pIStack_f8;
  undefined4 *puStack_f4;
  undefined8 uStack_f0;
  undefined8 uStack_e8;
  undefined8 uStack_e0;
  undefined8 uStack_d8;
  undefined8 uStack_d0;
  undefined1 auStack_c8 [4];
  int iStack_c4;
  undefined8 uStack_a0;
  undefined8 uStack_98;
  undefined8 uStack_90;
  undefined8 uStack_88;
  undefined8 uStack_80;
  int iStack_6c;
  Image *pIStack_64;
  
  if (image == (Image *)0x0) {
LAB_001dd2cc:
    (*(code *)PTR___assert_fail_003a9608)
              (PTR_LAB_003a88e0 + 0xdd0,PTR_s_courses_003a88ec + -0x12ec,0x1da,
               PTR_s_courses_003a88ec + -0xedc);
LAB_001dd2f0:
    (*(code *)PTR___assert_fail_003a9608)
              (PTR_LAB_003a88e0 + 0x294c,PTR_s_courses_003a88ec + -0x12ec,0x1df,
               PTR_s_courses_003a88ec + -0xedc);
  }
  else {
    unaff_s1 = image;
    if (image->signature != 0xabacadab) {
      (*(code *)PTR___assert_fail_003a9608)
                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,
                 PTR_s_courses_003a88ec + -0x12ec,0x1db,PTR_s_courses_003a88ec + -0xedc);
      goto LAB_001dd2cc;
    }
    if (image->debug != MagickFalse) {
      (*(code *)PTR_LogMagickEvent_003a91e0)
                (0x8000,PTR_s_courses_003a88ec + -0x12ec,PTR_s_courses_003a88ec + -0xeec,0x1dd);
    }
    if (in_stack_00000018 != (Image *)0x0) {
      if (in_stack_00000018->rows == 0xabacadab) {
        iVar2 = (*(code *)PTR_EdgeImage_003a8dec)(image);
        puVar12 = PTR_ClampImage_003a93c8;
        if (iVar2 != 0) {
          *(undefined4 *)(iVar2 + 700) = 0;
          iVar3 = (*(code *)puVar12)(iVar2,in_stack_00000018);
          if (iVar3 == 0) {
            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);
          }
          else {
            pIVar4 = (Image *)(*(code *)PTR_BlurImage_003a95c0)(iVar2);
            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);
            if (pIVar4 != (Image *)0x0) {
              iVar2 = (*(code *)PTR_NormalizeImage_003a8f7c)(pIVar4,in_stack_00000018);
              if (((iVar2 != 0) &&
                  (iVar2 = (*(code *)PTR_NegateImage_003a985c)(pIVar4,0,in_stack_00000018),
                  iVar2 != 0)) &&
                 (iVar2 = (*(code *)PTR_GrayscaleImage_003a91cc)
                                    (pIVar4,image->intensity,in_stack_00000018), iVar2 != 0)) {
                return pIVar4;
              }
                    /* WARNING: Could not recover jumptable at 0x001dd244. Too many branches */
                    /* WARNING: Treating indirect jump as call */
              pIVar4 = (Image *)(*(code *)PTR_DestroyImage_003a8f4c)(pIVar4);
              return pIVar4;
            }
          }
        }
        return (Image *)0x0;
      }
      goto LAB_001dd2f0;
    }
  }
  iVar2 = 0x1de;
  pIVar4 = (Image *)(PTR_s_courses_003a88ec + -0xedc);
  puVar16 = PTR_s_courses_003a88ec + -0x12ec;
  puVar12 = PTR_LAB_003a88e0 + 0x1cac;
  puVar23 = PTR___assert_fail_003a9608;
  (*(code *)PTR___assert_fail_003a9608)();
  piVar21 = *(int **)(puVar23 + 0x1cbef8);
  iStack_6c = *piVar21;
  pIStack_64 = unaff_s1;
  if (puVar12 == (undefined *)0x0) {
    (**(code **)(puVar23 + 0x1cc2d0))
              (*(int *)(puVar23 + 0x1cb5b0) + -0x37b0,*(int *)(puVar23 + 0x1cb5b4) + -0x12ec,0x238,
               *(int *)(puVar23 + 0x1cb5b4) + -0xefc);
    puVar12 = unaff_s2;
LAB_001dd890:
    (**(code **)(puVar23 + 0x1cbd2c))();
LAB_001dd89c:
    puVar16 = unaff_s5;
    iVar2 = unaff_s3;
    pIVar4 = unaff_s1;
    (**(code **)(puVar23 + 0x1cc2d0))
              (*(int *)(puVar23 + 0x1cb5b0) + -0x3784,*(int *)(puVar23 + 0x1cb5b4) + -0x12ec,0x239,
               *(int *)(puVar23 + 0x1cb5b4) + -0xefc);
LAB_001dd8c0:
    (**(code **)(puVar23 + 0x1cc2d0))
              (*(int *)(puVar23 + 0x1cb5a8) + 0x294c,*(int *)(puVar23 + 0x1cb5b4) + -0x12ec,0x23d,
               *(int *)(puVar23 + 0x1cb5b4) + -0xefc);
  }
  else {
    if (*(int *)(puVar12 + 0x336c) != -0x54535255) goto LAB_001dd89c;
    if (*(int *)(puVar12 + 0x3350) != 0) {
      (**(code **)(puVar23 + 0x1cbea8))
                (0x8000,*(int *)(puVar23 + 0x1cb5b4) + -0x12ec,*(int *)(puVar23 + 0x1cb5b4) + -0xf0c
                 ,0x23b);
    }
    if (pIVar4 != (Image *)0x0) {
      if (pIVar4->rows == 0xabacadab) {
        pIVar5 = (Image *)(**(code **)(puVar23 + 0x1cc4f8))(puVar12,0,0,1);
        in_stack_00000018 = pIVar5;
        if (pIVar5 != (Image *)0x0) {
          iVar3 = (**(code **)(puVar23 + 0x1cc4ec))(pIVar5,1,pIVar4);
          if (iVar3 == 0) {
            in_stack_00000018 = (Image *)0x0;
            (**(code **)(puVar23 + 0x1cbc14))(pIVar5);
          }
          else {
            if (pIVar5->colorspace == LinearGRAYColorspace) {
LAB_001dd4b8:
              pcVar24 = *(code **)(puVar23 + 0x1cba08);
LAB_001dd4bc:
              (*pcVar24)(pIVar5,0x17,pIVar4);
            }
            else {
              pcVar24 = *(code **)(puVar23 + 0x1cba08);
              if (pIVar5->colorspace == GRAYColorspace) goto LAB_001dd4bc;
              dVar26 = *(double *)(iVar2 + 0x28) - *(double *)(iVar2 + 0x30);
              if (dVar26 < 0.0) {
                dVar26 = -dVar26;
              }
              if (dVar26 < *(double *)(*(int *)(puVar23 + 0x1cb5a8) + 0x13f8)) {
                dVar26 = *(double *)(iVar2 + 0x30) - *(double *)(iVar2 + 0x38);
                if (dVar26 < 0.0) {
                  dVar26 = -dVar26;
                }
                if (dVar26 < *(double *)(*(int *)(puVar23 + 0x1cb5a8) + 0x13f8)) goto LAB_001dd4b8;
              }
            }
            if ((pIVar5->alpha_trait == UndefinedPixelTrait) && (*(int *)(iVar2 + 8) != 0)) {
              (**(code **)(puVar23 + 0x1cb940))
                        (pIVar5,*(undefined4 *)(*(int *)(puVar23 + 0x1cb5a8) + 0x1a50),pIVar4);
            }
            if (puVar16 != (undefined *)0x0) {
              unaff_s6 = auStack_c8;
              (**(code **)(puVar23 + 0x1cbf7c))(pIVar5,unaff_s6);
              uVar6 = (**(code **)(puVar23 + 0x1cc11c))(puVar16,&uStack_f0);
              uStack_80 = 0;
              uStack_a0 = uStack_f0;
              uStack_98 = uStack_f0;
              uStack_90 = uStack_f0;
              uStack_88 = uStack_f0;
              if ((uVar6 & 8) != 0) {
                uStack_98 = uStack_e8;
              }
              if ((uVar6 & 1) != 0) {
                uStack_90 = uStack_e0;
              }
              if ((uVar6 & 2) == 0) {
                pcVar24 = *(code **)(puVar23 + 0x1cc41c);
                uVar27 = uStack_88;
                if (iStack_c4 == 2) goto LAB_001dd6b0;
              }
              else {
                uStack_80 = uStack_d8;
                uVar27 = uStack_d8;
                if (iStack_c4 == 2) {
LAB_001dd6b0:
                  uStack_88 = uVar27;
                  pcVar24 = *(code **)(puVar23 + 0x1cc41c);
                  if ((uVar6 & 0x10) != 0) {
                    uStack_80 = uStack_d0;
                  }
                }
                else {
                  pcVar24 = *(code **)(puVar23 + 0x1cc41c);
                }
              }
              uStack_114 = 0;
              uStack_118 = 0;
              puVar16 = (undefined *)(*pcVar24)(pIVar5,pIVar4);
              iVar3 = (**(code **)(puVar23 + 0x1cc17c))(pIVar5);
              if (((iVar3 == 4) || (iVar3 = (**(code **)(puVar23 + 0x1cc17c))(pIVar5), iVar3 == 3))
                 && ((iVar3 = (**(code **)(puVar23 + 0x1cc17c))(pIVar5), iVar3 == 4 ||
                     (iVar3 = (**(code **)(puVar23 + 0x1cc17c))(pIVar5), iVar3 == 3)))) {
                (**(code **)(puVar23 + 0x1cbe04))(7);
                sVar7 = pIVar5->rows;
                sVar14 = sVar7;
                if ((int)sVar7 < 0) {
                  sVar14 = sVar7 + 0x3f;
                }
                if (extraout_v1 < (int)sVar14 >> 6) {
                  (**(code **)(puVar23 + 0x1cbe04))(7);
                  bVar1 = extraout_v1_02 < 2;
                }
                else {
                  bVar1 = (int)sVar7 < 0x80;
                }
                iVar3 = 1;
                if ((bool)(bVar1 ^ 1)) {
                  (**(code **)(puVar23 + 0x1cbe04))(7);
                  sVar14 = pIVar5->rows;
                  if ((int)sVar14 < 0) {
                    sVar14 = sVar14 + 0x3f;
                  }
                  iVar3 = (int)sVar14 >> 6;
                  iVar13 = *(int *)(puVar23 + 0x1cb66c);
                  if (extraout_v1_01 < iVar3) {
                    pcVar24 = *(code **)(puVar23 + 0x1cbe04);
                    goto LAB_001dd7c0;
                  }
                }
                else {
                  iVar13 = *(int *)(puVar23 + 0x1cb66c);
                }
              }
              else {
                uVar27 = (**(code **)(puVar23 + 0x1cbe04))(7);
                if ((int)((ulonglong)uVar27 >> 0x20) == 0) {
                  pcVar24 = *(code **)(puVar23 + 0x1cbe04);
                  if (1 < (uint)uVar27) goto LAB_001dd5d4;
                  uVar27 = (*pcVar24)(7);
                  if ((int)((ulonglong)uVar27 >> 0x20) != 0) goto LAB_001dd5d0;
                  pcVar24 = *(code **)(puVar23 + 0x1cbe04);
                  if (1 < (uint)uVar27) goto LAB_001dd5d4;
                  iVar3 = 1;
                }
                else {
LAB_001dd5d0:
                  pcVar24 = *(code **)(puVar23 + 0x1cbe04);
LAB_001dd5d4:
                  uVar27 = (*pcVar24)(7);
                  if (((int)((ulonglong)uVar27 >> 0x20) == 0) &&
                     (pcVar24 = *(code **)(puVar23 + 0x1cbe04), (uint)uVar27 < 2)) {
LAB_001dd7c0:
                    (*pcVar24)(7);
                    iVar3 = extraout_v1_00;
                  }
                  else {
                    iVar3 = 2;
                  }
                }
                iVar13 = *(int *)(puVar23 + 0x1cb66c);
              }
              pIStack_f8 = (Image *)0x1;
              puStack_f4 = &uStack_118;
              puStack_110 = puVar12;
              iStack_10c = iVar2;
              pIStack_108 = pIVar4;
              puStack_104 = puVar16;
              pIStack_100 = pIVar5;
              puStack_fc = unaff_s6;
              (**(code **)(puVar23 + 0x1cbe60))(iVar13 + -0x43b4,&puStack_110,iVar3,0);
              pIVar4 = pIStack_f8;
              (**(code **)(puVar23 + 0x1cbbbc))(puVar16);
              if (pIVar4 == (Image *)0x0) {
                in_stack_00000018 = (Image *)(**(code **)(puVar23 + 0x1cbc14))(pIVar5);
              }
            }
          }
        }
        unaff_s1 = pIVar4;
        unaff_s3 = iVar2;
        unaff_s5 = puVar16;
        if (iStack_6c == *piVar21) {
          return in_stack_00000018;
        }
        goto LAB_001dd890;
      }
      goto LAB_001dd8c0;
    }
  }
  iVar13 = 0x23c;
  pcVar24 = *(code **)(puVar23 + 0x1cc2d0);
  iVar3 = *(int *)(puVar23 + 0x1cb5b4) + -0x12ec;
  puVar15 = (undefined1 *)(*(int *)(puVar23 + 0x1cb5a8) + 0x1cac);
  (*pcVar24)();
  piVar8 = *(int **)(pcVar24 + 0x1cb928);
  iStack_16c = *piVar8;
  pIStack_168 = in_stack_00000018;
  pIStack_164 = pIVar4;
  puStack_160 = puVar12;
  iStack_15c = iVar2;
  piStack_158 = piVar21;
  puStack_154 = puVar16;
  puStack_150 = unaff_s6;
  (**(code **)(pcVar24 + 0x1cbdcc))(auStack_1290,0,0x120);
  auStack_1290[0] = *(undefined8 *)(*(int *)(pcVar24 + 0x1cafd8) + 0x1438);
  uStack_1258 = auStack_1290[0];
  uStack_1220 = auStack_1290[0];
  uStack_11e8 = auStack_1290[0];
  uStack_11b0 = auStack_1290[0];
  uStack_1178 = auStack_1290[0];
  if (puVar15 == (undefined1 *)0x0) {
    pIVar4 = (Image *)(**(code **)(pcVar24 + 0x1cbd00))
                                (*(int *)(pcVar24 + 0x1cafd8) + 0xdd0,
                                 *(int *)(pcVar24 + 0x1cafe4) + -0x12ec,0x2f9,
                                 *(int *)(pcVar24 + 0x1cafe4) + -0xf20);
    return pIVar4;
  }
  iVar2 = *(int *)(pcVar24 + 0x1cafe4);
  if (*(int *)(puVar15 + 0x336c) != -0x54535255) goto LAB_001ddf28;
  if (*(int *)(puVar15 + 0x3350) != 0) {
    (**(code **)(pcVar24 + 0x1cb8d8))
              (0x8000,*(int *)(pcVar24 + 0x1cafe4) + -0x12ec,*(int *)(pcVar24 + 0x1cafe4) + -0xf34,
               0x2fc,*(int *)(pcVar24 + 0x1cafdc) + -0x62ac,puVar15 + 0x340);
  }
  if (iVar13 == 0) {
    pIVar4 = (Image *)(**(code **)(pcVar24 + 0x1cbd00))
                                (*(int *)(pcVar24 + 0x1cafd8) + 0x1cac,
                                 *(int *)(pcVar24 + 0x1cafe4) + -0x12ec,0x2fd,
                                 *(int *)(pcVar24 + 0x1cafe4) + -0xf20);
    return pIVar4;
  }
  if (*(int *)(iVar13 + 0x1c) != -0x54535255) {
    pIVar4 = (Image *)(**(code **)(pcVar24 + 0x1cbd00))
                                (*(int *)(pcVar24 + 0x1cafd8) + 0x294c,
                                 *(int *)(pcVar24 + 0x1cafe4) + -0x12ec,0x2fe,
                                 *(int *)(pcVar24 + 0x1cafe4) + -0xf20);
    return pIVar4;
  }
  iVar20 = *(int *)(iVar3 + 8);
  iVar2 = 0;
  if (0 < iVar20) {
    iVar17 = *(int *)(iVar3 + 4);
    iVar19 = 0;
    puVar18 = auStack_1290;
    do {
      if (0 < iVar17) {
        iVar9 = 0;
        do {
          if ((iVar2 < 6) && (iVar9 < 6)) {
            puVar18[iVar9] = *(undefined8 *)(*(int *)(iVar3 + 0x14) + (iVar19 + iVar9) * 8);
          }
          iVar9 = iVar9 + 1;
        } while (iVar9 != iVar17);
        iVar19 = iVar19 + iVar17;
      }
      iVar2 = iVar2 + 1;
      puVar18 = puVar18 + 6;
    } while (iVar2 != iVar20);
  }
  iVar2 = 1;
  pIStack_12dc = (Image *)(**(code **)(pcVar24 + 0x1cbf28))(puVar15,0,0,1,iVar13);
  if (pIStack_12dc != (Image *)0x0) {
    iVar20 = (**(code **)(pcVar24 + 0x1cbf1c))(pIStack_12dc,1,iVar13);
    if (iVar20 == 0) {
      (**(code **)(pcVar24 + 0x1cb644))(pIStack_12dc);
      pIStack_12dc = (Image *)0x0;
    }
    else {
      if (*(int *)(puVar15 + 0x3350) != 0) {
        iVar19 = *(int *)(pcVar24 + 0x1cafe4);
        iVar17 = *(int *)(pcVar24 + 0x1cafe4);
        (**(code **)(pcVar24 + 0x1cb8d8))
                  (0x10000,iVar17 + -0x12ec,iVar19 + -0xf34,0x318,
                   *(int *)(pcVar24 + 0x1cafe4) + -0x12d0);
        puStack_12b4 = (undefined1 *)
                       (**(code **)(pcVar24 + 0x1cbf0c))(*(int *)(pcVar24 + 0x1cafdc) + -0x3688);
        iStack_12e4 = 0;
        iVar2 = *(int *)(pcVar24 + 0x1cafdc);
        iVar9 = *(int *)(pcVar24 + 0x1cafe0);
        iVar20 = *(int *)(pcVar24 + 0x1cafdc);
        do {
          pcVar25 = *(code **)(pcVar24 + 0x1cb474);
          iVar22 = 0;
          *puStack_12b4 = 0;
          (*pcVar25)(auStack_116c,0x1000,iVar20 + -0x66b8);
          (**(code **)(pcVar24 + 0x1cbaa0))(&puStack_12b4,auStack_116c);
          do {
            iVar22 = iVar22 + 1;
            (**(code **)(pcVar24 + 0x1cb474))(auStack_116c,0x1000,iVar9 + 0x4930);
            (**(code **)(pcVar24 + 0x1cbaa0))(&puStack_12b4,auStack_116c);
          } while (iVar22 != 6);
          iStack_12e4 = iStack_12e4 + 1;
          (**(code **)(pcVar24 + 0x1cb8d8))
                    (0x10000,iVar17 + -0x12ec,iVar19 + -0xf34,0x326,iVar2 + -0x62ac,puStack_12b4);
        } while (iStack_12e4 != 6);
        (**(code **)(pcVar24 + 0x1cb76c))(puStack_12b4);
      }
      uStack_12bc = 0;
      uStack_12c0 = 0;
      uVar10 = (**(code **)(pcVar24 + 0x1cbe4c))(puVar15,iVar13);
      uVar11 = (**(code **)(pcVar24 + 0x1cb5cc))(pIStack_12dc,iVar13);
      iVar2 = (**(code **)(pcVar24 + 0x1cbbac))(puVar15);
      if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar24 + 0x1cbbac))(puVar15), iVar2 == 3)) &&
         ((iVar2 = (**(code **)(pcVar24 + 0x1cbbac))(pIStack_12dc), iVar2 == 4 ||
          (iVar2 = (**(code **)(pcVar24 + 0x1cbbac))(pIStack_12dc), iVar2 == 3)))) {
        (**(code **)(pcVar24 + 0x1cb834))(7);
        iVar2 = *(int *)(puVar15 + 0x1c);
        if (iVar2 < 0) {
          pcVar25 = *(code **)(pcVar24 + 0x1cb834);
          if (iVar2 + 0x3f >> 6 <= extraout_v1_03) goto LAB_001ddc6c;
LAB_001dde94:
          (*pcVar25)(7);
          bVar1 = extraout_v1_05 < 2;
        }
        else {
          pcVar25 = *(code **)(pcVar24 + 0x1cb834);
          if (extraout_v1_03 < iVar2 >> 6) goto LAB_001dde94;
LAB_001ddc6c:
          bVar1 = iVar2 < 0x80;
        }
        iVar20 = 1;
        if ((bool)(bVar1 ^ 1)) {
          (**(code **)(pcVar24 + 0x1cb834))(7);
          iVar20 = *(int *)(puVar15 + 0x1c);
          if (iVar20 < 0) {
            iVar20 = iVar20 + 0x3f;
          }
          iVar20 = iVar20 >> 6;
          if (extraout_v1_06 < iVar20) {
            pcVar25 = *(code **)(pcVar24 + 0x1cb834);
            goto LAB_001dde6c;
          }
        }
      }
      else {
        uVar27 = (**(code **)(pcVar24 + 0x1cb834))(7);
        if ((int)((ulonglong)uVar27 >> 0x20) == 0) {
          pcVar25 = *(code **)(pcVar24 + 0x1cb834);
          if ((uint)uVar27 < 2) {
            uVar27 = (*pcVar25)(7);
            if ((int)((ulonglong)uVar27 >> 0x20) != 0) goto LAB_001ddb28;
            pcVar25 = *(code **)(pcVar24 + 0x1cb834);
            if (1 < (uint)uVar27) goto LAB_001ddb2c;
            iVar20 = 1;
            goto LAB_001ddb44;
          }
        }
        else {
LAB_001ddb28:
          pcVar25 = *(code **)(pcVar24 + 0x1cb834);
        }
LAB_001ddb2c:
        uVar27 = (*pcVar25)(7);
        if (((int)((ulonglong)uVar27 >> 0x20) == 0) &&
           (pcVar25 = *(code **)(pcVar24 + 0x1cb834), (uint)uVar27 < 2)) {
LAB_001dde6c:
          (*pcVar25)(7);
          iVar20 = extraout_v1_04;
        }
        else {
          iVar20 = 2;
        }
      }
LAB_001ddb44:
      iVar2 = 0;
      iStack_1298 = 1;
      puStack_1294 = &uStack_12c0;
      puStack_12b4 = puVar15;
      iStack_12b0 = iVar3;
      iStack_12ac = iVar13;
      uStack_12a8 = uVar11;
      uStack_12a4 = uVar10;
      puStack_12a0 = auStack_1290;
      pIStack_129c = pIStack_12dc;
      (**(code **)(pcVar24 + 0x1cb890))
                (*(int *)(pcVar24 + 0x1cb09c) + -0x71ec,&puStack_12b4,iVar20,0);
      iVar3 = iStack_1298;
      (**(code **)(pcVar24 + 0x1cb5ec))(uVar11);
      (**(code **)(pcVar24 + 0x1cb5ec))(uVar10);
      if (iVar3 == 0) {
        pIStack_12dc = (Image *)(**(code **)(pcVar24 + 0x1cb644))(pIStack_12dc);
      }
    }
  }
  if (iStack_16c == *piVar8) {
    return pIStack_12dc;
  }
  (**(code **)(pcVar24 + 0x1cb75c))();
LAB_001ddf28:
  pIVar4 = (Image *)(**(code **)(pcVar24 + 0x1cbd00))
                              (*(int *)(pcVar24 + 0x1cafe0) + -0x3784,
                               *(int *)(pcVar24 + 0x1cafe4) + -0x12ec,0x2fa,iVar2 + -0xf20);
  return pIVar4;
}



int CharcoalImage(undefined *param_1)

{
  bool bVar1;
  int iVar2;
  int iVar3;
  int iVar4;
  uint uVar5;
  int *piVar6;
  int iVar7;
  undefined4 uVar8;
  undefined4 uVar9;
  int extraout_v1;
  int extraout_v1_00;
  int extraout_v1_01;
  int extraout_v1_02;
  int extraout_v1_03;
  int extraout_v1_04;
  int extraout_v1_05;
  int extraout_v1_06;
  undefined *puVar10;
  int iVar11;
  undefined1 *puVar12;
  undefined *puVar13;
  int iVar14;
  undefined *puVar15;
  undefined8 *puVar16;
  int iVar17;
  undefined *unaff_s1;
  undefined *unaff_s2;
  int unaff_s3;
  int *piVar18;
  undefined *unaff_s5;
  undefined1 *unaff_s6;
  int iVar19;
  undefined *puVar20;
  code *pcVar21;
  code *pcVar22;
  double dVar23;
  undefined8 uVar24;
  int in_stack_00000018;
  int iStack_12e4;
  int iStack_12dc;
  undefined4 uStack_12c0;
  undefined4 uStack_12bc;
  undefined1 *puStack_12b4;
  int iStack_12b0;
  int iStack_12ac;
  undefined4 uStack_12a8;
  undefined4 uStack_12a4;
  undefined8 *puStack_12a0;
  int iStack_129c;
  int iStack_1298;
  undefined4 *puStack_1294;
  undefined8 auStack_1290 [7];
  undefined8 uStack_1258;
  undefined8 uStack_1220;
  undefined8 uStack_11e8;
  undefined8 uStack_11b0;
  undefined8 uStack_1178;
  undefined1 auStack_116c [4096];
  int iStack_16c;
  int iStack_168;
  undefined *puStack_164;
  undefined *puStack_160;
  int iStack_15c;
  int *piStack_158;
  undefined *puStack_154;
  undefined1 *puStack_150;
  undefined4 uStack_118;
  undefined4 uStack_114;
  undefined *puStack_110;
  int iStack_10c;
  undefined *puStack_108;
  undefined *puStack_104;
  int iStack_100;
  undefined1 *puStack_fc;
  undefined *puStack_f8;
  undefined4 *puStack_f4;
  undefined8 uStack_f0;
  undefined8 uStack_e8;
  undefined8 uStack_e0;
  undefined8 uStack_d8;
  undefined8 uStack_d0;
  undefined1 auStack_c8 [4];
  int iStack_c4;
  undefined8 uStack_a0;
  undefined8 uStack_98;
  undefined8 uStack_90;
  undefined8 uStack_88;
  undefined8 uStack_80;
  int iStack_6c;
  int iStack_68;
  undefined *puStack_64;
  
  if (param_1 == (undefined *)0x0) {
LAB_001dd2cc:
    (*(code *)PTR___assert_fail_003a9608)
              (PTR_LAB_003a88e0 + 0xdd0,PTR_s_courses_003a88ec + -0x12ec,0x1da,
               PTR_s_courses_003a88ec + -0xedc);
LAB_001dd2f0:
    (*(code *)PTR___assert_fail_003a9608)
              (PTR_LAB_003a88e0 + 0x294c,PTR_s_courses_003a88ec + -0x12ec,0x1df,
               PTR_s_courses_003a88ec + -0xedc);
  }
  else {
    unaff_s1 = param_1;
    if (*(int *)(param_1 + 0x336c) != -0x54535255) {
      (*(code *)PTR___assert_fail_003a9608)
                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,
                 PTR_s_courses_003a88ec + -0x12ec,0x1db,PTR_s_courses_003a88ec + -0xedc);
      goto LAB_001dd2cc;
    }
    if (*(int *)(param_1 + 0x3350) != 0) {
      (*(code *)PTR_LogMagickEvent_003a91e0)
                (0x8000,PTR_s_courses_003a88ec + -0x12ec,PTR_s_courses_003a88ec + -0xeec,0x1dd);
    }
    if (in_stack_00000018 != 0) {
      if (*(int *)(in_stack_00000018 + 0x1c) == -0x54535255) {
        iVar2 = (*(code *)PTR_EdgeImage_003a8dec)(param_1);
        puVar15 = PTR_ClampImage_003a93c8;
        if (iVar2 != 0) {
          *(undefined4 *)(iVar2 + 700) = 0;
          iVar3 = (*(code *)puVar15)(iVar2,in_stack_00000018);
          if (iVar3 == 0) {
            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);
          }
          else {
            iVar3 = (*(code *)PTR_BlurImage_003a95c0)(iVar2);
            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);
            if (iVar3 != 0) {
              iVar2 = (*(code *)PTR_NormalizeImage_003a8f7c)(iVar3,in_stack_00000018);
              if (((iVar2 != 0) &&
                  (iVar2 = (*(code *)PTR_NegateImage_003a985c)(iVar3,0,in_stack_00000018),
                  iVar2 != 0)) &&
                 (iVar2 = (*(code *)PTR_GrayscaleImage_003a91cc)
                                    (iVar3,*(undefined4 *)(param_1 + 0x254),in_stack_00000018),
                 iVar2 != 0)) {
                return iVar3;
              }
                    /* WARNING: Could not recover jumptable at 0x001dd244. Too many branches */
                    /* WARNING: Treating indirect jump as call */
              iVar2 = (*(code *)PTR_DestroyImage_003a8f4c)(iVar3);
              return iVar2;
            }
          }
        }
        return 0;
      }
      goto LAB_001dd2f0;
    }
  }
  iVar2 = 0x1de;
  puVar15 = PTR_s_courses_003a88ec + -0xedc;
  puVar13 = PTR_s_courses_003a88ec + -0x12ec;
  puVar10 = PTR_LAB_003a88e0 + 0x1cac;
  puVar20 = PTR___assert_fail_003a9608;
  (*(code *)PTR___assert_fail_003a9608)();
  piVar18 = *(int **)(puVar20 + 0x1cbef8);
  iStack_68 = in_stack_00000018;
  iStack_6c = *piVar18;
  puStack_64 = unaff_s1;
  if (puVar10 == (undefined *)0x0) {
    (**(code **)(puVar20 + 0x1cc2d0))
              (*(int *)(puVar20 + 0x1cb5b0) + -0x37b0,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,0x238,
               *(int *)(puVar20 + 0x1cb5b4) + -0xefc);
    puVar10 = unaff_s2;
LAB_001dd890:
    (**(code **)(puVar20 + 0x1cbd2c))();
LAB_001dd89c:
    puVar13 = unaff_s5;
    iVar2 = unaff_s3;
    puVar15 = unaff_s1;
    (**(code **)(puVar20 + 0x1cc2d0))
              (*(int *)(puVar20 + 0x1cb5b0) + -0x3784,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,0x239,
               *(int *)(puVar20 + 0x1cb5b4) + -0xefc);
LAB_001dd8c0:
    (**(code **)(puVar20 + 0x1cc2d0))
              (*(int *)(puVar20 + 0x1cb5a8) + 0x294c,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,0x23d,
               *(int *)(puVar20 + 0x1cb5b4) + -0xefc);
  }
  else {
    if (*(int *)(puVar10 + 0x336c) != -0x54535255) goto LAB_001dd89c;
    if (*(int *)(puVar10 + 0x3350) != 0) {
      (**(code **)(puVar20 + 0x1cbea8))
                (0x8000,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,*(int *)(puVar20 + 0x1cb5b4) + -0xf0c
                 ,0x23b);
    }
    if (puVar15 != (undefined *)0x0) {
      if (*(int *)(puVar15 + 0x1c) == -0x54535255) {
        iVar3 = (**(code **)(puVar20 + 0x1cc4f8))(puVar10,0,0,1);
        in_stack_00000018 = iVar3;
        if (iVar3 != 0) {
          iVar4 = (**(code **)(puVar20 + 0x1cc4ec))(iVar3,1,puVar15);
          if (iVar4 == 0) {
            in_stack_00000018 = 0;
            (**(code **)(puVar20 + 0x1cbc14))(iVar3);
          }
          else {
            if (*(int *)(iVar3 + 4) == 0x21) {
LAB_001dd4b8:
              pcVar21 = *(code **)(puVar20 + 0x1cba08);
LAB_001dd4bc:
              (*pcVar21)(iVar3,0x17,puVar15);
            }
            else {
              pcVar21 = *(code **)(puVar20 + 0x1cba08);
              if (*(int *)(iVar3 + 4) == 3) goto LAB_001dd4bc;
              dVar23 = *(double *)(iVar2 + 0x28) - *(double *)(iVar2 + 0x30);
              if (dVar23 < 0.0) {
                dVar23 = -dVar23;
              }
              if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) {
                dVar23 = *(double *)(iVar2 + 0x30) - *(double *)(iVar2 + 0x38);
                if (dVar23 < 0.0) {
                  dVar23 = -dVar23;
                }
                if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) goto LAB_001dd4b8;
              }
            }
            if ((*(int *)(iVar3 + 700) == 0) && (*(int *)(iVar2 + 8) != 0)) {
              (**(code **)(puVar20 + 0x1cb940))
                        (iVar3,*(undefined4 *)(*(int *)(puVar20 + 0x1cb5a8) + 0x1a50),puVar15);
            }
            if (puVar13 != (undefined *)0x0) {
              unaff_s6 = auStack_c8;
              (**(code **)(puVar20 + 0x1cbf7c))(iVar3,unaff_s6);
              uVar5 = (**(code **)(puVar20 + 0x1cc11c))(puVar13,&uStack_f0);
              uStack_80 = 0;
              uStack_a0 = uStack_f0;
              uStack_98 = uStack_f0;
              uStack_90 = uStack_f0;
              uStack_88 = uStack_f0;
              if ((uVar5 & 8) != 0) {
                uStack_98 = uStack_e8;
              }
              if ((uVar5 & 1) != 0) {
                uStack_90 = uStack_e0;
              }
              if ((uVar5 & 2) == 0) {
                pcVar21 = *(code **)(puVar20 + 0x1cc41c);
                uVar24 = uStack_88;
                if (iStack_c4 == 2) goto LAB_001dd6b0;
              }
              else {
                uStack_80 = uStack_d8;
                uVar24 = uStack_d8;
                if (iStack_c4 == 2) {
LAB_001dd6b0:
                  uStack_88 = uVar24;
                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);
                  if ((uVar5 & 0x10) != 0) {
                    uStack_80 = uStack_d0;
                  }
                }
                else {
                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);
                }
              }
              uStack_114 = 0;
              uStack_118 = 0;
              puVar13 = (undefined *)(*pcVar21)(iVar3,puVar15);
              iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3);
              if (((iVar4 == 4) || (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3))
                 && ((iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 4 ||
                     (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3)))) {
                (**(code **)(puVar20 + 0x1cbe04))(7);
                iVar11 = *(int *)(iVar3 + 0x1c);
                iVar4 = iVar11;
                if (iVar11 < 0) {
                  iVar4 = iVar11 + 0x3f;
                }
                if (extraout_v1 < iVar4 >> 6) {
                  (**(code **)(puVar20 + 0x1cbe04))(7);
                  bVar1 = extraout_v1_02 < 2;
                }
                else {
                  bVar1 = iVar11 < 0x80;
                }
                iVar4 = 1;
                if ((bool)(bVar1 ^ 1)) {
                  (**(code **)(puVar20 + 0x1cbe04))(7);
                  iVar4 = *(int *)(iVar3 + 0x1c);
                  if (iVar4 < 0) {
                    iVar4 = iVar4 + 0x3f;
                  }
                  iVar4 = iVar4 >> 6;
                  iVar11 = *(int *)(puVar20 + 0x1cb66c);
                  if (extraout_v1_01 < iVar4) {
                    pcVar21 = *(code **)(puVar20 + 0x1cbe04);
                    goto LAB_001dd7c0;
                  }
                }
                else {
                  iVar11 = *(int *)(puVar20 + 0x1cb66c);
                }
              }
              else {
                uVar24 = (**(code **)(puVar20 + 0x1cbe04))(7);
                if ((int)((ulonglong)uVar24 >> 0x20) == 0) {
                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);
                  if (1 < (uint)uVar24) goto LAB_001dd5d4;
                  uVar24 = (*pcVar21)(7);
                  if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001dd5d0;
                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);
                  if (1 < (uint)uVar24) goto LAB_001dd5d4;
                  iVar4 = 1;
                }
                else {
LAB_001dd5d0:
                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);
LAB_001dd5d4:
                  uVar24 = (*pcVar21)(7);
                  if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&
                     (pcVar21 = *(code **)(puVar20 + 0x1cbe04), (uint)uVar24 < 2)) {
LAB_001dd7c0:
                    (*pcVar21)(7);
                    iVar4 = extraout_v1_00;
                  }
                  else {
                    iVar4 = 2;
                  }
                }
                iVar11 = *(int *)(puVar20 + 0x1cb66c);
              }
              puStack_f8 = (undefined *)0x1;
              puStack_f4 = &uStack_118;
              puStack_110 = puVar10;
              iStack_10c = iVar2;
              puStack_108 = puVar15;
              puStack_104 = puVar13;
              iStack_100 = iVar3;
              puStack_fc = unaff_s6;
              (**(code **)(puVar20 + 0x1cbe60))(iVar11 + -0x43b4,&puStack_110,iVar4,0);
              puVar15 = puStack_f8;
              (**(code **)(puVar20 + 0x1cbbbc))(puVar13);
              if (puVar15 == (undefined *)0x0) {
                in_stack_00000018 = (**(code **)(puVar20 + 0x1cbc14))(iVar3);
              }
            }
          }
        }
        unaff_s1 = puVar15;
        unaff_s3 = iVar2;
        unaff_s5 = puVar13;
        if (iStack_6c == *piVar18) {
          return in_stack_00000018;
        }
        goto LAB_001dd890;
      }
      goto LAB_001dd8c0;
    }
  }
  iVar4 = 0x23c;
  pcVar21 = *(code **)(puVar20 + 0x1cc2d0);
  iVar3 = *(int *)(puVar20 + 0x1cb5b4) + -0x12ec;
  puVar12 = (undefined1 *)(*(int *)(puVar20 + 0x1cb5a8) + 0x1cac);
  (*pcVar21)();
  piVar6 = *(int **)(pcVar21 + 0x1cb928);
  iStack_16c = *piVar6;
  iStack_168 = in_stack_00000018;
  puStack_164 = puVar15;
  puStack_160 = puVar10;
  iStack_15c = iVar2;
  piStack_158 = piVar18;
  puStack_154 = puVar13;
  puStack_150 = unaff_s6;
  (**(code **)(pcVar21 + 0x1cbdcc))(auStack_1290,0,0x120);
  auStack_1290[0] = *(undefined8 *)(*(int *)(pcVar21 + 0x1cafd8) + 0x1438);
  uStack_1258 = auStack_1290[0];
  uStack_1220 = auStack_1290[0];
  uStack_11e8 = auStack_1290[0];
  uStack_11b0 = auStack_1290[0];
  uStack_1178 = auStack_1290[0];
  if (puVar12 == (undefined1 *)0x0) {
    iVar2 = (**(code **)(pcVar21 + 0x1cbd00))
                      (*(int *)(pcVar21 + 0x1cafd8) + 0xdd0,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,
                       0x2f9,*(int *)(pcVar21 + 0x1cafe4) + -0xf20);
    return iVar2;
  }
  iVar2 = *(int *)(pcVar21 + 0x1cafe4);
  if (*(int *)(puVar12 + 0x336c) != -0x54535255) goto LAB_001ddf28;
  if (*(int *)(puVar12 + 0x3350) != 0) {
    (**(code **)(pcVar21 + 0x1cb8d8))
              (0x8000,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,*(int *)(pcVar21 + 0x1cafe4) + -0xf34,
               0x2fc,*(int *)(pcVar21 + 0x1cafdc) + -0x62ac,puVar12 + 0x340);
  }
  if (iVar4 == 0) {
    iVar2 = (**(code **)(pcVar21 + 0x1cbd00))
                      (*(int *)(pcVar21 + 0x1cafd8) + 0x1cac,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,
                       0x2fd,*(int *)(pcVar21 + 0x1cafe4) + -0xf20);
    return iVar2;
  }
  if (*(int *)(iVar4 + 0x1c) != -0x54535255) {
    iVar2 = (**(code **)(pcVar21 + 0x1cbd00))
                      (*(int *)(pcVar21 + 0x1cafd8) + 0x294c,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,
                       0x2fe,*(int *)(pcVar21 + 0x1cafe4) + -0xf20);
    return iVar2;
  }
  iVar11 = *(int *)(iVar3 + 8);
  iVar2 = 0;
  if (0 < iVar11) {
    iVar14 = *(int *)(iVar3 + 4);
    iVar17 = 0;
    puVar16 = auStack_1290;
    do {
      if (0 < iVar14) {
        iVar7 = 0;
        do {
          if ((iVar2 < 6) && (iVar7 < 6)) {
            puVar16[iVar7] = *(undefined8 *)(*(int *)(iVar3 + 0x14) + (iVar17 + iVar7) * 8);
          }
          iVar7 = iVar7 + 1;
        } while (iVar7 != iVar14);
        iVar17 = iVar17 + iVar14;
      }
      iVar2 = iVar2 + 1;
      puVar16 = puVar16 + 6;
    } while (iVar2 != iVar11);
  }
  iVar2 = 1;
  iStack_12dc = (**(code **)(pcVar21 + 0x1cbf28))(puVar12,0,0,1,iVar4);
  if (iStack_12dc != 0) {
    iVar11 = (**(code **)(pcVar21 + 0x1cbf1c))(iStack_12dc,1,iVar4);
    if (iVar11 == 0) {
      (**(code **)(pcVar21 + 0x1cb644))(iStack_12dc);
      iStack_12dc = 0;
    }
    else {
      if (*(int *)(puVar12 + 0x3350) != 0) {
        iVar17 = *(int *)(pcVar21 + 0x1cafe4);
        iVar14 = *(int *)(pcVar21 + 0x1cafe4);
        (**(code **)(pcVar21 + 0x1cb8d8))
                  (0x10000,iVar14 + -0x12ec,iVar17 + -0xf34,0x318,
                   *(int *)(pcVar21 + 0x1cafe4) + -0x12d0);
        puStack_12b4 = (undefined1 *)
                       (**(code **)(pcVar21 + 0x1cbf0c))(*(int *)(pcVar21 + 0x1cafdc) + -0x3688);
        iStack_12e4 = 0;
        iVar2 = *(int *)(pcVar21 + 0x1cafdc);
        iVar7 = *(int *)(pcVar21 + 0x1cafe0);
        iVar11 = *(int *)(pcVar21 + 0x1cafdc);
        do {
          pcVar22 = *(code **)(pcVar21 + 0x1cb474);
          iVar19 = 0;
          *puStack_12b4 = 0;
          (*pcVar22)(auStack_116c,0x1000,iVar11 + -0x66b8);
          (**(code **)(pcVar21 + 0x1cbaa0))(&puStack_12b4,auStack_116c);
          do {
            iVar19 = iVar19 + 1;
            (**(code **)(pcVar21 + 0x1cb474))(auStack_116c,0x1000,iVar7 + 0x4930);
            (**(code **)(pcVar21 + 0x1cbaa0))(&puStack_12b4,auStack_116c);
          } while (iVar19 != 6);
          iStack_12e4 = iStack_12e4 + 1;
          (**(code **)(pcVar21 + 0x1cb8d8))
                    (0x10000,iVar14 + -0x12ec,iVar17 + -0xf34,0x326,iVar2 + -0x62ac,puStack_12b4);
        } while (iStack_12e4 != 6);
        (**(code **)(pcVar21 + 0x1cb76c))(puStack_12b4);
      }
      uStack_12bc = 0;
      uStack_12c0 = 0;
      uVar8 = (**(code **)(pcVar21 + 0x1cbe4c))(puVar12,iVar4);
      uVar9 = (**(code **)(pcVar21 + 0x1cb5cc))(iStack_12dc,iVar4);
      iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(puVar12);
      if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(puVar12), iVar2 == 3)) &&
         ((iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc), iVar2 == 4 ||
          (iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc), iVar2 == 3)))) {
        (**(code **)(pcVar21 + 0x1cb834))(7);
        iVar2 = *(int *)(puVar12 + 0x1c);
        if (iVar2 < 0) {
          pcVar22 = *(code **)(pcVar21 + 0x1cb834);
          if (iVar2 + 0x3f >> 6 <= extraout_v1_03) goto LAB_001ddc6c;
LAB_001dde94:
          (*pcVar22)(7);
          bVar1 = extraout_v1_05 < 2;
        }
        else {
          pcVar22 = *(code **)(pcVar21 + 0x1cb834);
          if (extraout_v1_03 < iVar2 >> 6) goto LAB_001dde94;
LAB_001ddc6c:
          bVar1 = iVar2 < 0x80;
        }
        iVar11 = 1;
        if ((bool)(bVar1 ^ 1)) {
          (**(code **)(pcVar21 + 0x1cb834))(7);
          iVar11 = *(int *)(puVar12 + 0x1c);
          if (iVar11 < 0) {
            iVar11 = iVar11 + 0x3f;
          }
          iVar11 = iVar11 >> 6;
          if (extraout_v1_06 < iVar11) {
            pcVar22 = *(code **)(pcVar21 + 0x1cb834);
            goto LAB_001dde6c;
          }
        }
      }
      else {
        uVar24 = (**(code **)(pcVar21 + 0x1cb834))(7);
        if ((int)((ulonglong)uVar24 >> 0x20) == 0) {
          pcVar22 = *(code **)(pcVar21 + 0x1cb834);
          if ((uint)uVar24 < 2) {
            uVar24 = (*pcVar22)(7);
            if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001ddb28;
            pcVar22 = *(code **)(pcVar21 + 0x1cb834);
            if (1 < (uint)uVar24) goto LAB_001ddb2c;
            iVar11 = 1;
            goto LAB_001ddb44;
          }
        }
        else {
LAB_001ddb28:
          pcVar22 = *(code **)(pcVar21 + 0x1cb834);
        }
LAB_001ddb2c:
        uVar24 = (*pcVar22)(7);
        if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&
           (pcVar22 = *(code **)(pcVar21 + 0x1cb834), (uint)uVar24 < 2)) {
LAB_001dde6c:
          (*pcVar22)(7);
          iVar11 = extraout_v1_04;
        }
        else {
          iVar11 = 2;
        }
      }
LAB_001ddb44:
      iVar2 = 0;
      iStack_1298 = 1;
      puStack_1294 = &uStack_12c0;
      puStack_12b4 = puVar12;
      iStack_12b0 = iVar3;
      iStack_12ac = iVar4;
      uStack_12a8 = uVar9;
      uStack_12a4 = uVar8;
      puStack_12a0 = auStack_1290;
      iStack_129c = iStack_12dc;
      (**(code **)(pcVar21 + 0x1cb890))
                (*(int *)(pcVar21 + 0x1cb09c) + -0x71ec,&puStack_12b4,iVar11,0);
      iVar3 = iStack_1298;
      (**(code **)(pcVar21 + 0x1cb5ec))(uVar9);
      (**(code **)(pcVar21 + 0x1cb5ec))(uVar8);
      if (iVar3 == 0) {
        iStack_12dc = (**(code **)(pcVar21 + 0x1cb644))(iStack_12dc);
      }
    }
  }
  if (iStack_16c == *piVar6) {
    return iStack_12dc;
  }
  (**(code **)(pcVar21 + 0x1cb75c))();
LAB_001ddf28:
  iVar2 = (**(code **)(pcVar21 + 0x1cbd00))
                    (*(int *)(pcVar21 + 0x1cafe0) + -0x3784,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,
                     0x2fa,iVar2 + -0xf20);
  return iVar2;
}


lui gp,0x1d
addiu gp,gp,0x37fc
addu gp,gp,t9
addiu sp,sp,-0x48
sdc1 f20,0x38(sp)
mtc1 a3,f20
sw gp,0x20(sp)
sw s0,0x28(sp)
sdc1 f22,0x40(sp)
sw ra,0x34(sp)
sw s2,0x30(sp)
sw s1,0x2c(sp)
ldc1 f22,0x58(sp)
mthc1 a2,f20
beq a0,zero,0x001dd2cc
_lw s0,0x60(sp)
lui v0,0xabac
lw v1,0x336c(a0)
ori v0,v0,0xadab
bne v1,v0,0x001dd2a8
_or s1,a0,zero
lw v0,0x3350(a0)
bne v0,zero,0x001dd19c
_addiu v0,a0,0x340
beq s0,zero,0x001dd314
_lui v0,0xabac
lw v1,0x1c(s0)
ori v0,v0,0xadab
bne v1,v0,0x001dd2f0
_lw t9,-0x7ac4(gp)
mfc1 a3,f20
or a0,s1,zero
sw s0,0x10(sp)
jalr t9
_mfhc1 a2,f20
lw gp,0x20(sp)
beq v0,zero,0x001dd174
_or s2,v0,zero
lw t9,-0x74e8(gp)
or a1,s0,zero
sw zero,0x2bc(v0)
jalr t9
_or a0,v0,zero
bne v0,zero,0x001dd1d4
_lw gp,0x20(sp)
lw t9,-0x7964(gp)
jalr t9
_or a0,s2,zero
lw ra,0x34(sp)
or s2,zero,zero
lw s1,0x2c(sp)
or v0,s2,zero
lw s0,0x28(sp)
lw s2,0x30(sp)
ldc1 f22,0x40(sp)
ldc1 f20,0x38(sp)
jr ra
_addiu sp,sp,0x48
lw a2,-0x7fc4(gp)
lw a1,-0x7fc4(gp)
li a3,0x1dd
lw t9,-0x76d0(gp)
ori a0,zero,0x8000
sw v0,0x14(sp)
addiu a2,a2,-0xeec
lw v0,-0x7fcc(gp)
addiu a1,a1,-0x12ec
addiu v0,v0,-0x62ac
jalr t9
_sw v0,0x10(sp)
b 0x001dd114
_lw gp,0x20(sp)
lw t9,-0x72f0(gp)
mfc1 a3,f20
or a0,s2,zero
sdc1 f22,0x10(sp)
mfhc1 a2,f20
jalr t9
_sw s0,0x18(sp)
or a0,s2,zero
lw gp,0x20(sp)
lw t9,-0x7964(gp)
jalr t9
_or s2,v0,zero
beq s2,zero,0x001dd174
_lw gp,0x20(sp)
lw t9,-0x7934(gp)
or a1,s0,zero
jalr t9
_or a0,s2,zero
bne v0,zero,0x001dd24c
_lw gp,0x20(sp)
ldc1 f22,0x40(sp)
or a0,s2,zero
lw ra,0x34(sp)
ldc1 f20,0x38(sp)
lw s2,0x30(sp)
lw s1,0x2c(sp)
lw s0,0x28(sp)
lw t9,-0x7964(gp)
jr t9
_addiu sp,sp,0x48
lw t9,-0x7054(gp)
or a1,zero,zero
or a2,s0,zero
jalr t9
_or a0,s2,zero
beq v0,zero,0x001dd224
_lw gp,0x20(sp)
lw t9,-0x76e4(gp)
or a2,s0,zero
lw a1,0x254(s1)
jalr t9
_or a0,s2,zero
beq v0,zero,0x001dd224
_lw gp,0x20(sp)
lw ra,0x34(sp)
or v0,s2,zero
lw s2,0x30(sp)
lw s1,0x2c(sp)
lw s0,0x28(sp)
ldc1 f22,0x40(sp)
ldc1 f20,0x38(sp)
jr ra
_addiu sp,sp,0x48
lw a3,-0x7fc4(gp)
li a2,0x1db
lw a1,-0x7fc4(gp)
lw a0,-0x7fc8(gp)
lw t9,-0x72a8(gp)
addiu a3,a3,-0xedc
addiu a1,a1,-0x12ec
jalr t9
_addiu a0,a0,-0x3784
lw a3,-0x7fc4(gp)
li a2,0x1da
lw a1,-0x7fc4(gp)
lw a0,-0x7fd0(gp)
lw t9,-0x72a8(gp)
addiu a3,a3,-0xedc
addiu a1,a1,-0x12ec
jalr t9
_addiu a0,a0,0xdd0
lw a3,-0x7fc4(gp)
li a2,0x1df
lw a1,-0x7fc4(gp)
lw a0,-0x7fd0(gp)
lw t9,-0x72a8(gp)
addiu a3,a3,-0xedc
addiu a1,a1,-0x12ec
jalr t9
_addiu a0,a0,0x294c
lw a3,-0x7fc4(gp)
li a2,0x1de
lw a1,-0x7fc4(gp)
lw a0,-0x7fd0(gp)
lw t9,-0x72a8(gp)
addiu a3,a3,-0xedc
addiu a1,a1,-0x12ec
jalr t9
_addiu a0,a0,0x1cac
(translation_unit "int CharcoalImage(undefined *param_1)\n\n{\n  bool bVar1;\n  int iVar2;\n  int iVar3;\n  int iVar4;\n  uint uVar5;\n  int *piVar6;\n  int iVar7;\n  undefined4 uVar8;\n  undefined4 uVar9;\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 extraout_v1_04;\n  int extraout_v1_05;\n  int extraout_v1_06;\n  undefined *puVar10;\n  int iVar11;\n  undefined1 *puVar12;\n  undefined *puVar13;\n  int iVar14;\n  undefined *puVar15;\n  undefined8 *puVar16;\n  int iVar17;\n  undefined *unaff_s1;\n  undefined *unaff_s2;\n  int unaff_s3;\n  int *piVar18;\n  undefined *unaff_s5;\n  undefined1 *unaff_s6;\n  int iVar19;\n  undefined *puVar20;\n  code *pcVar21;\n  code *pcVar22;\n  double dVar23;\n  undefined8 uVar24;\n  int in_stack_00000018;\n  int iStack_12e4;\n  int iStack_12dc;\n  undefined4 uStack_12c0;\n  undefined4 uStack_12bc;\n  undefined1 *puStack_12b4;\n  int iStack_12b0;\n  int iStack_12ac;\n  undefined4 uStack_12a8;\n  undefined4 uStack_12a4;\n  undefined8 *puStack_12a0;\n  int iStack_129c;\n  int iStack_1298;\n  undefined4 *puStack_1294;\n  undefined8 auStack_1290 [7];\n  undefined8 uStack_1258;\n  undefined8 uStack_1220;\n  undefined8 uStack_11e8;\n  undefined8 uStack_11b0;\n  undefined8 uStack_1178;\n  undefined1 auStack_116c [4096];\n  int iStack_16c;\n  int iStack_168;\n  undefined *puStack_164;\n  undefined *puStack_160;\n  int iStack_15c;\n  int *piStack_158;\n  undefined *puStack_154;\n  undefined1 *puStack_150;\n  undefined4 uStack_118;\n  undefined4 uStack_114;\n  undefined *puStack_110;\n  int iStack_10c;\n  undefined *puStack_108;\n  undefined *puStack_104;\n  int iStack_100;\n  undefined1 *puStack_fc;\n  undefined *puStack_f8;\n  undefined4 *puStack_f4;\n  undefined8 uStack_f0;\n  undefined8 uStack_e8;\n  undefined8 uStack_e0;\n  undefined8 uStack_d8;\n  undefined8 uStack_d0;\n  undefined1 auStack_c8 [4];\n  int iStack_c4;\n  undefined8 uStack_a0;\n  undefined8 uStack_98;\n  undefined8 uStack_90;\n  undefined8 uStack_88;\n  undefined8 uStack_80;\n  int iStack_6c;\n  int iStack_68;\n  undefined *puStack_64;\n  \n  if (param_1 == (undefined *)0x0) {\nLAB_001dd2cc:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0xdd0,PTR_s_courses_003a88ec + -0x12ec,0x1da,\n               PTR_s_courses_003a88ec + -0xedc);\nLAB_001dd2f0:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x294c,PTR_s_courses_003a88ec + -0x12ec,0x1df,\n               PTR_s_courses_003a88ec + -0xedc);\n  }\n  else {\n    unaff_s1 = param_1;\n    if (*(int *)(param_1 + 0x336c) != -0x54535255) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                 PTR_s_courses_003a88ec + -0x12ec,0x1db,PTR_s_courses_003a88ec + -0xedc);\n      goto LAB_001dd2cc;\n    }\n    if (*(int *)(param_1 + 0x3350) != 0) {\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_courses_003a88ec + -0x12ec,PTR_s_courses_003a88ec + -0xeec,0x1dd);\n    }\n    if (in_stack_00000018 != 0) {\n      if (*(int *)(in_stack_00000018 + 0x1c) == -0x54535255) {\n        iVar2 = (*(code *)PTR_EdgeImage_003a8dec)(param_1);\n        puVar15 = PTR_ClampImage_003a93c8;\n        if (iVar2 != 0) {\n          *(undefined4 *)(iVar2 + 700) = 0;\n          iVar3 = (*(code *)puVar15)(iVar2,in_stack_00000018);\n          if (iVar3 == 0) {\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n          }\n          else {\n            iVar3 = (*(code *)PTR_BlurImage_003a95c0)(iVar2);\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n            if (iVar3 != 0) {\n              iVar2 = (*(code *)PTR_NormalizeImage_003a8f7c)(iVar3,in_stack_00000018);\n              if (((iVar2 != 0) &&\n                  (iVar2 = (*(code *)PTR_NegateImage_003a985c)(iVar3,0,in_stack_00000018),\n                  iVar2 != 0)) &&\n                 (iVar2 = (*(code *)PTR_GrayscaleImage_003a91cc)\n                                    (iVar3,*(undefined4 *)(param_1 + 0x254),in_stack_00000018),\n                 iVar2 != 0)) {\n                return iVar3;\n              }\n                    /* WARNING: Could not recover jumptable at 0x001dd244. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              iVar2 = (*(code *)PTR_DestroyImage_003a8f4c)(iVar3);\n              return iVar2;\n            }\n          }\n        }\n        return 0;\n      }\n      goto LAB_001dd2f0;\n    }\n  }\n  iVar2 = 0x1de;\n  puVar15 = PTR_s_courses_003a88ec + -0xedc;\n  puVar13 = PTR_s_courses_003a88ec + -0x12ec;\n  puVar10 = PTR_LAB_003a88e0 + 0x1cac;\n  puVar20 = PTR___assert_fail_003a9608;\n  (*(code *)PTR___assert_fail_003a9608)();\n  piVar18 = *(int **)(puVar20 + 0x1cbef8);\n  iStack_68 = in_stack_00000018;\n  iStack_6c = *piVar18;\n  puStack_64 = unaff_s1;\n  if (puVar10 == (undefined *)0x0) {\n    (**(code **)(puVar20 + 0x1cc2d0))\n              (*(int *)(puVar20 + 0x1cb5b0) + -0x37b0,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,0x238,\n               *(int *)(puVar20 + 0x1cb5b4) + -0xefc);\n    puVar10 = unaff_s2;\nLAB_001dd890:\n    (**(code **)(puVar20 + 0x1cbd2c))();\nLAB_001dd89c:\n    puVar13 = unaff_s5;\n    iVar2 = unaff_s3;\n    puVar15 = unaff_s1;\n    (**(code **)(puVar20 + 0x1cc2d0))\n              (*(int *)(puVar20 + 0x1cb5b0) + -0x3784,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,0x239,\n               *(int *)(puVar20 + 0x1cb5b4) + -0xefc);\nLAB_001dd8c0:\n    (**(code **)(puVar20 + 0x1cc2d0))\n              (*(int *)(puVar20 + 0x1cb5a8) + 0x294c,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,0x23d,\n               *(int *)(puVar20 + 0x1cb5b4) + -0xefc);\n  }\n  else {\n    if (*(int *)(puVar10 + 0x336c) != -0x54535255) goto LAB_001dd89c;\n    if (*(int *)(puVar10 + 0x3350) != 0) {\n      (**(code **)(puVar20 + 0x1cbea8))\n                (0x8000,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,*(int *)(puVar20 + 0x1cb5b4) + -0xf0c\n                 ,0x23b);\n    }\n    if (puVar15 != (undefined *)0x0) {\n      if (*(int *)(puVar15 + 0x1c) == -0x54535255) {\n        iVar3 = (**(code **)(puVar20 + 0x1cc4f8))(puVar10,0,0,1);\n        in_stack_00000018 = iVar3;\n        if (iVar3 != 0) {\n          iVar4 = (**(code **)(puVar20 + 0x1cc4ec))(iVar3,1,puVar15);\n          if (iVar4 == 0) {\n            in_stack_00000018 = 0;\n            (**(code **)(puVar20 + 0x1cbc14))(iVar3);\n          }\n          else {\n            if (*(int *)(iVar3 + 4) == 0x21) {\nLAB_001dd4b8:\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);\nLAB_001dd4bc:\n              (*pcVar21)(iVar3,0x17,puVar15);\n            }\n            else {\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);\n              if (*(int *)(iVar3 + 4) == 3) goto LAB_001dd4bc;\n              dVar23 = *(double *)(iVar2 + 0x28) - *(double *)(iVar2 + 0x30);\n              if (dVar23 < 0.0) {\n                dVar23 = -dVar23;\n              }\n              if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) {\n                dVar23 = *(double *)(iVar2 + 0x30) - *(double *)(iVar2 + 0x38);\n                if (dVar23 < 0.0) {\n                  dVar23 = -dVar23;\n                }\n                if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) goto LAB_001dd4b8;\n              }\n            }\n            if ((*(int *)(iVar3 + 700) == 0) && (*(int *)(iVar2 + 8) != 0)) {\n              (**(code **)(puVar20 + 0x1cb940))\n                        (iVar3,*(undefined4 *)(*(int *)(puVar20 + 0x1cb5a8) + 0x1a50),puVar15);\n            }\n            if (puVar13 != (undefined *)0x0) {\n              unaff_s6 = auStack_c8;\n              (**(code **)(puVar20 + 0x1cbf7c))(iVar3,unaff_s6);\n              uVar5 = (**(code **)(puVar20 + 0x1cc11c))(puVar13,&uStack_f0);\n              uStack_80 = 0;\n              uStack_a0 = uStack_f0;\n              uStack_98 = uStack_f0;\n              uStack_90 = uStack_f0;\n              uStack_88 = uStack_f0;\n              if ((uVar5 & 8) != 0) {\n                uStack_98 = uStack_e8;\n              }\n              if ((uVar5 & 1) != 0) {\n                uStack_90 = uStack_e0;\n              }\n              if ((uVar5 & 2) == 0) {\n                pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                uVar24 = uStack_88;\n                if (iStack_c4 == 2) goto LAB_001dd6b0;\n              }\n              else {\n                uStack_80 = uStack_d8;\n                uVar24 = uStack_d8;\n                if (iStack_c4 == 2) {\nLAB_001dd6b0:\n                  uStack_88 = uVar24;\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                  if ((uVar5 & 0x10) != 0) {\n                    uStack_80 = uStack_d0;\n                  }\n                }\n                else {\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                }\n              }\n              uStack_114 = 0;\n              uStack_118 = 0;\n              puVar13 = (undefined *)(*pcVar21)(iVar3,puVar15);\n              iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3);\n              if (((iVar4 == 4) || (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3))\n                 && ((iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 4 ||\n                     (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3)))) {\n                (**(code **)(puVar20 + 0x1cbe04))(7);\n                iVar11 = *(int *)(iVar3 + 0x1c);\n                iVar4 = iVar11;\n                if (iVar11 < 0) {\n                  iVar4 = iVar11 + 0x3f;\n                }\n                if (extraout_v1 < iVar4 >> 6) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  bVar1 = extraout_v1_02 < 2;\n                }\n                else {\n                  bVar1 = iVar11 < 0x80;\n                }\n                iVar4 = 1;\n                if ((bool)(bVar1 ^ 1)) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  iVar4 = *(int *)(iVar3 + 0x1c);\n                  if (iVar4 < 0) {\n                    iVar4 = iVar4 + 0x3f;\n                  }\n                  iVar4 = iVar4 >> 6;\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                  if (extraout_v1_01 < iVar4) {\n                    pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                    goto LAB_001dd7c0;\n                  }\n                }\n                else {\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                }\n              }\n              else {\n                uVar24 = (**(code **)(puVar20 + 0x1cbe04))(7);\n                if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  uVar24 = (*pcVar21)(7);\n                  if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001dd5d0;\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  iVar4 = 1;\n                }\n                else {\nLAB_001dd5d0:\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\nLAB_001dd5d4:\n                  uVar24 = (*pcVar21)(7);\n                  if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n                     (pcVar21 = *(code **)(puVar20 + 0x1cbe04), (uint)uVar24 < 2)) {\nLAB_001dd7c0:\n                    (*pcVar21)(7);\n                    iVar4 = extraout_v1_00;\n                  }\n                  else {\n                    iVar4 = 2;\n                  }\n                }\n                iVar11 = *(int *)(puVar20 + 0x1cb66c);\n              }\n              puStack_f8 = (undefined *)0x1;\n              puStack_f4 = &uStack_118;\n              puStack_110 = puVar10;\n              iStack_10c = iVar2;\n              puStack_108 = puVar15;\n              puStack_104 = puVar13;\n              iStack_100 = iVar3;\n              puStack_fc = unaff_s6;\n              (**(code **)(puVar20 + 0x1cbe60))(iVar11 + -0x43b4,&puStack_110,iVar4,0);\n              puVar15 = puStack_f8;\n              (**(code **)(puVar20 + 0x1cbbbc))(puVar13);\n              if (puVar15 == (undefined *)0x0) {\n                in_stack_00000018 = (**(code **)(puVar20 + 0x1cbc14))(iVar3);\n              }\n            }\n          }\n        }\n        unaff_s1 = puVar15;\n        unaff_s3 = iVar2;\n        unaff_s5 = puVar13;\n        if (iStack_6c == *piVar18) {\n          return in_stack_00000018;\n        }\n        goto LAB_001dd890;\n      }\n      goto LAB_001dd8c0;\n    }\n  }\n  iVar4 = 0x23c;\n  pcVar21 = *(code **)(puVar20 + 0x1cc2d0);\n  iVar3 = *(int *)(puVar20 + 0x1cb5b4) + -0x12ec;\n  puVar12 = (undefined1 *)(*(int *)(puVar20 + 0x1cb5a8) + 0x1cac);\n  (*pcVar21)();\n  piVar6 = *(int **)(pcVar21 + 0x1cb928);\n  iStack_16c = *piVar6;\n  iStack_168 = in_stack_00000018;\n  puStack_164 = puVar15;\n  puStack_160 = puVar10;\n  iStack_15c = iVar2;\n  piStack_158 = piVar18;\n  puStack_154 = puVar13;\n  puStack_150 = unaff_s6;\n  (**(code **)(pcVar21 + 0x1cbdcc))(auStack_1290,0,0x120);\n  auStack_1290[0] = *(undefined8 *)(*(int *)(pcVar21 + 0x1cafd8) + 0x1438);\n  uStack_1258 = auStack_1290[0];\n  uStack_1220 = auStack_1290[0];\n  uStack_11e8 = auStack_1290[0];\n  uStack_11b0 = auStack_1290[0];\n  uStack_1178 = auStack_1290[0];\n  if (puVar12 == (undefined1 *)0x0) {\n    iVar2 = (**(code **)(pcVar21 + 0x1cbd00))\n                      (*(int *)(pcVar21 + 0x1cafd8) + 0xdd0,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,\n                       0x2f9,*(int *)(pcVar21 + 0x1cafe4) + -0xf20);\n    return iVar2;\n  }\n  iVar2 = *(int *)(pcVar21 + 0x1cafe4);\n  if (*(int *)(puVar12 + 0x336c) != -0x54535255) goto LAB_001ddf28;\n  if (*(int *)(puVar12 + 0x3350) != 0) {\n    (**(code **)(pcVar21 + 0x1cb8d8))\n              (0x8000,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,*(int *)(pcVar21 + 0x1cafe4) + -0xf34,\n               0x2fc,*(int *)(pcVar21 + 0x1cafdc) + -0x62ac,puVar12 + 0x340);\n  }\n  if (iVar4 == 0) {\n    iVar2 = (**(code **)(pcVar21 + 0x1cbd00))\n                      (*(int *)(pcVar21 + 0x1cafd8) + 0x1cac,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,\n                       0x2fd,*(int *)(pcVar21 + 0x1cafe4) + -0xf20);\n    return iVar2;\n  }\n  if (*(int *)(iVar4 + 0x1c) != -0x54535255) {\n    iVar2 = (**(code **)(pcVar21 + 0x1cbd00))\n                      (*(int *)(pcVar21 + 0x1cafd8) + 0x294c,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,\n                       0x2fe,*(int *)(pcVar21 + 0x1cafe4) + -0xf20);\n    return iVar2;\n  }\n  iVar11 = *(int *)(iVar3 + 8);\n  iVar2 = 0;\n  if (0 < iVar11) {\n    iVar14 = *(int *)(iVar3 + 4);\n    iVar17 = 0;\n    puVar16 = auStack_1290;\n    do {\n      if (0 < iVar14) {\n        iVar7 = 0;\n        do {\n          if ((iVar2 < 6) && (iVar7 < 6)) {\n            puVar16[iVar7] = *(undefined8 *)(*(int *)(iVar3 + 0x14) + (iVar17 + iVar7) * 8);\n          }\n          iVar7 = iVar7 + 1;\n        } while (iVar7 != iVar14);\n        iVar17 = iVar17 + iVar14;\n      }\n      iVar2 = iVar2 + 1;\n      puVar16 = puVar16 + 6;\n    } while (iVar2 != iVar11);\n  }\n  iVar2 = 1;\n  iStack_12dc = (**(code **)(pcVar21 + 0x1cbf28))(puVar12,0,0,1,iVar4);\n  if (iStack_12dc != 0) {\n    iVar11 = (**(code **)(pcVar21 + 0x1cbf1c))(iStack_12dc,1,iVar4);\n    if (iVar11 == 0) {\n      (**(code **)(pcVar21 + 0x1cb644))(iStack_12dc);\n      iStack_12dc = 0;\n    }\n    else {\n      if (*(int *)(puVar12 + 0x3350) != 0) {\n        iVar17 = *(int *)(pcVar21 + 0x1cafe4);\n        iVar14 = *(int *)(pcVar21 + 0x1cafe4);\n        (**(code **)(pcVar21 + 0x1cb8d8))\n                  (0x10000,iVar14 + -0x12ec,iVar17 + -0xf34,0x318,\n                   *(int *)(pcVar21 + 0x1cafe4) + -0x12d0);\n        puStack_12b4 = (undefined1 *)\n                       (**(code **)(pcVar21 + 0x1cbf0c))(*(int *)(pcVar21 + 0x1cafdc) + -0x3688);\n        iStack_12e4 = 0;\n        iVar2 = *(int *)(pcVar21 + 0x1cafdc);\n        iVar7 = *(int *)(pcVar21 + 0x1cafe0);\n        iVar11 = *(int *)(pcVar21 + 0x1cafdc);\n        do {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb474);\n          iVar19 = 0;\n          *puStack_12b4 = 0;\n          (*pcVar22)(auStack_116c,0x1000,iVar11 + -0x66b8);\n          (**(code **)(pcVar21 + 0x1cbaa0))(&puStack_12b4,auStack_116c);\n          do {\n            iVar19 = iVar19 + 1;\n            (**(code **)(pcVar21 + 0x1cb474))(auStack_116c,0x1000,iVar7 + 0x4930);\n            (**(code **)(pcVar21 + 0x1cbaa0))(&puStack_12b4,auStack_116c);\n          } while (iVar19 != 6);\n          iStack_12e4 = iStack_12e4 + 1;\n          (**(code **)(pcVar21 + 0x1cb8d8))\n                    (0x10000,iVar14 + -0x12ec,iVar17 + -0xf34,0x326,iVar2 + -0x62ac,puStack_12b4);\n        } while (iStack_12e4 != 6);\n        (**(code **)(pcVar21 + 0x1cb76c))(puStack_12b4);\n      }\n      uStack_12bc = 0;\n      uStack_12c0 = 0;\n      uVar8 = (**(code **)(pcVar21 + 0x1cbe4c))(puVar12,iVar4);\n      uVar9 = (**(code **)(pcVar21 + 0x1cb5cc))(iStack_12dc,iVar4);\n      iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(puVar12);\n      if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(puVar12), iVar2 == 3)) &&\n         ((iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc), iVar2 == 3)))) {\n        (**(code **)(pcVar21 + 0x1cb834))(7);\n        iVar2 = *(int *)(puVar12 + 0x1c);\n        if (iVar2 < 0) {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if (iVar2 + 0x3f >> 6 <= extraout_v1_03) goto LAB_001ddc6c;\nLAB_001dde94:\n          (*pcVar22)(7);\n          bVar1 = extraout_v1_05 < 2;\n        }\n        else {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if (extraout_v1_03 < iVar2 >> 6) goto LAB_001dde94;\nLAB_001ddc6c:\n          bVar1 = iVar2 < 0x80;\n        }\n        iVar11 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar21 + 0x1cb834))(7);\n          iVar11 = *(int *)(puVar12 + 0x1c);\n          if (iVar11 < 0) {\n            iVar11 = iVar11 + 0x3f;\n          }\n          iVar11 = iVar11 >> 6;\n          if (extraout_v1_06 < iVar11) {\n            pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n            goto LAB_001dde6c;\n          }\n        }\n      }\n      else {\n        uVar24 = (**(code **)(pcVar21 + 0x1cb834))(7);\n        if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if ((uint)uVar24 < 2) {\n            uVar24 = (*pcVar22)(7);\n            if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001ddb28;\n            pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n            if (1 < (uint)uVar24) goto LAB_001ddb2c;\n            iVar11 = 1;\n            goto LAB_001ddb44;\n          }\n        }\n        else {\nLAB_001ddb28:\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n        }\nLAB_001ddb2c:\n        uVar24 = (*pcVar22)(7);\n        if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n           (pcVar22 = *(code **)(pcVar21 + 0x1cb834), (uint)uVar24 < 2)) {\nLAB_001dde6c:\n          (*pcVar22)(7);\n          iVar11 = extraout_v1_04;\n        }\n        else {\n          iVar11 = 2;\n        }\n      }\nLAB_001ddb44:\n      iVar2 = 0;\n      iStack_1298 = 1;\n      puStack_1294 = &uStack_12c0;\n      puStack_12b4 = puVar12;\n      iStack_12b0 = iVar3;\n      iStack_12ac = iVar4;\n      uStack_12a8 = uVar9;\n      uStack_12a4 = uVar8;\n      puStack_12a0 = auStack_1290;\n      iStack_129c = iStack_12dc;\n      (**(code **)(pcVar21 + 0x1cb890))\n                (*(int *)(pcVar21 + 0x1cb09c) + -0x71ec,&puStack_12b4,iVar11,0);\n      iVar3 = iStack_1298;\n      (**(code **)(pcVar21 + 0x1cb5ec))(uVar9);\n      (**(code **)(pcVar21 + 0x1cb5ec))(uVar8);\n      if (iVar3 == 0) {\n        iStack_12dc = (**(code **)(pcVar21 + 0x1cb644))(iStack_12dc);\n      }\n    }\n  }\n  if (iStack_16c == *piVar6) {\n    return iStack_12dc;\n  }\n  (**(code **)(pcVar21 + 0x1cb75c))();\nLAB_001ddf28:\n  iVar2 = (**(code **)(pcVar21 + 0x1cbd00))\n                    (*(int *)(pcVar21 + 0x1cafe0) + -0x3784,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,\n                     0x2fa,iVar2 + -0xf20);\n  return iVar2;\n}\n\n" (function_definition "int CharcoalImage(undefined *param_1)\n\n{\n  bool bVar1;\n  int iVar2;\n  int iVar3;\n  int iVar4;\n  uint uVar5;\n  int *piVar6;\n  int iVar7;\n  undefined4 uVar8;\n  undefined4 uVar9;\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 extraout_v1_04;\n  int extraout_v1_05;\n  int extraout_v1_06;\n  undefined *puVar10;\n  int iVar11;\n  undefined1 *puVar12;\n  undefined *puVar13;\n  int iVar14;\n  undefined *puVar15;\n  undefined8 *puVar16;\n  int iVar17;\n  undefined *unaff_s1;\n  undefined *unaff_s2;\n  int unaff_s3;\n  int *piVar18;\n  undefined *unaff_s5;\n  undefined1 *unaff_s6;\n  int iVar19;\n  undefined *puVar20;\n  code *pcVar21;\n  code *pcVar22;\n  double dVar23;\n  undefined8 uVar24;\n  int in_stack_00000018;\n  int iStack_12e4;\n  int iStack_12dc;\n  undefined4 uStack_12c0;\n  undefined4 uStack_12bc;\n  undefined1 *puStack_12b4;\n  int iStack_12b0;\n  int iStack_12ac;\n  undefined4 uStack_12a8;\n  undefined4 uStack_12a4;\n  undefined8 *puStack_12a0;\n  int iStack_129c;\n  int iStack_1298;\n  undefined4 *puStack_1294;\n  undefined8 auStack_1290 [7];\n  undefined8 uStack_1258;\n  undefined8 uStack_1220;\n  undefined8 uStack_11e8;\n  undefined8 uStack_11b0;\n  undefined8 uStack_1178;\n  undefined1 auStack_116c [4096];\n  int iStack_16c;\n  int iStack_168;\n  undefined *puStack_164;\n  undefined *puStack_160;\n  int iStack_15c;\n  int *piStack_158;\n  undefined *puStack_154;\n  undefined1 *puStack_150;\n  undefined4 uStack_118;\n  undefined4 uStack_114;\n  undefined *puStack_110;\n  int iStack_10c;\n  undefined *puStack_108;\n  undefined *puStack_104;\n  int iStack_100;\n  undefined1 *puStack_fc;\n  undefined *puStack_f8;\n  undefined4 *puStack_f4;\n  undefined8 uStack_f0;\n  undefined8 uStack_e8;\n  undefined8 uStack_e0;\n  undefined8 uStack_d8;\n  undefined8 uStack_d0;\n  undefined1 auStack_c8 [4];\n  int iStack_c4;\n  undefined8 uStack_a0;\n  undefined8 uStack_98;\n  undefined8 uStack_90;\n  undefined8 uStack_88;\n  undefined8 uStack_80;\n  int iStack_6c;\n  int iStack_68;\n  undefined *puStack_64;\n  \n  if (param_1 == (undefined *)0x0) {\nLAB_001dd2cc:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0xdd0,PTR_s_courses_003a88ec + -0x12ec,0x1da,\n               PTR_s_courses_003a88ec + -0xedc);\nLAB_001dd2f0:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x294c,PTR_s_courses_003a88ec + -0x12ec,0x1df,\n               PTR_s_courses_003a88ec + -0xedc);\n  }\n  else {\n    unaff_s1 = param_1;\n    if (*(int *)(param_1 + 0x336c) != -0x54535255) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                 PTR_s_courses_003a88ec + -0x12ec,0x1db,PTR_s_courses_003a88ec + -0xedc);\n      goto LAB_001dd2cc;\n    }\n    if (*(int *)(param_1 + 0x3350) != 0) {\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_courses_003a88ec + -0x12ec,PTR_s_courses_003a88ec + -0xeec,0x1dd);\n    }\n    if (in_stack_00000018 != 0) {\n      if (*(int *)(in_stack_00000018 + 0x1c) == -0x54535255) {\n        iVar2 = (*(code *)PTR_EdgeImage_003a8dec)(param_1);\n        puVar15 = PTR_ClampImage_003a93c8;\n        if (iVar2 != 0) {\n          *(undefined4 *)(iVar2 + 700) = 0;\n          iVar3 = (*(code *)puVar15)(iVar2,in_stack_00000018);\n          if (iVar3 == 0) {\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n          }\n          else {\n            iVar3 = (*(code *)PTR_BlurImage_003a95c0)(iVar2);\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n            if (iVar3 != 0) {\n              iVar2 = (*(code *)PTR_NormalizeImage_003a8f7c)(iVar3,in_stack_00000018);\n              if (((iVar2 != 0) &&\n                  (iVar2 = (*(code *)PTR_NegateImage_003a985c)(iVar3,0,in_stack_00000018),\n                  iVar2 != 0)) &&\n                 (iVar2 = (*(code *)PTR_GrayscaleImage_003a91cc)\n                                    (iVar3,*(undefined4 *)(param_1 + 0x254),in_stack_00000018),\n                 iVar2 != 0)) {\n                return iVar3;\n              }\n                    /* WARNING: Could not recover jumptable at 0x001dd244. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              iVar2 = (*(code *)PTR_DestroyImage_003a8f4c)(iVar3);\n              return iVar2;\n            }\n          }\n        }\n        return 0;\n      }\n      goto LAB_001dd2f0;\n    }\n  }\n  iVar2 = 0x1de;\n  puVar15 = PTR_s_courses_003a88ec + -0xedc;\n  puVar13 = PTR_s_courses_003a88ec + -0x12ec;\n  puVar10 = PTR_LAB_003a88e0 + 0x1cac;\n  puVar20 = PTR___assert_fail_003a9608;\n  (*(code *)PTR___assert_fail_003a9608)();\n  piVar18 = *(int **)(puVar20 + 0x1cbef8);\n  iStack_68 = in_stack_00000018;\n  iStack_6c = *piVar18;\n  puStack_64 = unaff_s1;\n  if (puVar10 == (undefined *)0x0) {\n    (**(code **)(puVar20 + 0x1cc2d0))\n              (*(int *)(puVar20 + 0x1cb5b0) + -0x37b0,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,0x238,\n               *(int *)(puVar20 + 0x1cb5b4) + -0xefc);\n    puVar10 = unaff_s2;\nLAB_001dd890:\n    (**(code **)(puVar20 + 0x1cbd2c))();\nLAB_001dd89c:\n    puVar13 = unaff_s5;\n    iVar2 = unaff_s3;\n    puVar15 = unaff_s1;\n    (**(code **)(puVar20 + 0x1cc2d0))\n              (*(int *)(puVar20 + 0x1cb5b0) + -0x3784,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,0x239,\n               *(int *)(puVar20 + 0x1cb5b4) + -0xefc);\nLAB_001dd8c0:\n    (**(code **)(puVar20 + 0x1cc2d0))\n              (*(int *)(puVar20 + 0x1cb5a8) + 0x294c,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,0x23d,\n               *(int *)(puVar20 + 0x1cb5b4) + -0xefc);\n  }\n  else {\n    if (*(int *)(puVar10 + 0x336c) != -0x54535255) goto LAB_001dd89c;\n    if (*(int *)(puVar10 + 0x3350) != 0) {\n      (**(code **)(puVar20 + 0x1cbea8))\n                (0x8000,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,*(int *)(puVar20 + 0x1cb5b4) + -0xf0c\n                 ,0x23b);\n    }\n    if (puVar15 != (undefined *)0x0) {\n      if (*(int *)(puVar15 + 0x1c) == -0x54535255) {\n        iVar3 = (**(code **)(puVar20 + 0x1cc4f8))(puVar10,0,0,1);\n        in_stack_00000018 = iVar3;\n        if (iVar3 != 0) {\n          iVar4 = (**(code **)(puVar20 + 0x1cc4ec))(iVar3,1,puVar15);\n          if (iVar4 == 0) {\n            in_stack_00000018 = 0;\n            (**(code **)(puVar20 + 0x1cbc14))(iVar3);\n          }\n          else {\n            if (*(int *)(iVar3 + 4) == 0x21) {\nLAB_001dd4b8:\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);\nLAB_001dd4bc:\n              (*pcVar21)(iVar3,0x17,puVar15);\n            }\n            else {\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);\n              if (*(int *)(iVar3 + 4) == 3) goto LAB_001dd4bc;\n              dVar23 = *(double *)(iVar2 + 0x28) - *(double *)(iVar2 + 0x30);\n              if (dVar23 < 0.0) {\n                dVar23 = -dVar23;\n              }\n              if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) {\n                dVar23 = *(double *)(iVar2 + 0x30) - *(double *)(iVar2 + 0x38);\n                if (dVar23 < 0.0) {\n                  dVar23 = -dVar23;\n                }\n                if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) goto LAB_001dd4b8;\n              }\n            }\n            if ((*(int *)(iVar3 + 700) == 0) && (*(int *)(iVar2 + 8) != 0)) {\n              (**(code **)(puVar20 + 0x1cb940))\n                        (iVar3,*(undefined4 *)(*(int *)(puVar20 + 0x1cb5a8) + 0x1a50),puVar15);\n            }\n            if (puVar13 != (undefined *)0x0) {\n              unaff_s6 = auStack_c8;\n              (**(code **)(puVar20 + 0x1cbf7c))(iVar3,unaff_s6);\n              uVar5 = (**(code **)(puVar20 + 0x1cc11c))(puVar13,&uStack_f0);\n              uStack_80 = 0;\n              uStack_a0 = uStack_f0;\n              uStack_98 = uStack_f0;\n              uStack_90 = uStack_f0;\n              uStack_88 = uStack_f0;\n              if ((uVar5 & 8) != 0) {\n                uStack_98 = uStack_e8;\n              }\n              if ((uVar5 & 1) != 0) {\n                uStack_90 = uStack_e0;\n              }\n              if ((uVar5 & 2) == 0) {\n                pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                uVar24 = uStack_88;\n                if (iStack_c4 == 2) goto LAB_001dd6b0;\n              }\n              else {\n                uStack_80 = uStack_d8;\n                uVar24 = uStack_d8;\n                if (iStack_c4 == 2) {\nLAB_001dd6b0:\n                  uStack_88 = uVar24;\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                  if ((uVar5 & 0x10) != 0) {\n                    uStack_80 = uStack_d0;\n                  }\n                }\n                else {\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                }\n              }\n              uStack_114 = 0;\n              uStack_118 = 0;\n              puVar13 = (undefined *)(*pcVar21)(iVar3,puVar15);\n              iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3);\n              if (((iVar4 == 4) || (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3))\n                 && ((iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 4 ||\n                     (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3)))) {\n                (**(code **)(puVar20 + 0x1cbe04))(7);\n                iVar11 = *(int *)(iVar3 + 0x1c);\n                iVar4 = iVar11;\n                if (iVar11 < 0) {\n                  iVar4 = iVar11 + 0x3f;\n                }\n                if (extraout_v1 < iVar4 >> 6) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  bVar1 = extraout_v1_02 < 2;\n                }\n                else {\n                  bVar1 = iVar11 < 0x80;\n                }\n                iVar4 = 1;\n                if ((bool)(bVar1 ^ 1)) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  iVar4 = *(int *)(iVar3 + 0x1c);\n                  if (iVar4 < 0) {\n                    iVar4 = iVar4 + 0x3f;\n                  }\n                  iVar4 = iVar4 >> 6;\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                  if (extraout_v1_01 < iVar4) {\n                    pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                    goto LAB_001dd7c0;\n                  }\n                }\n                else {\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                }\n              }\n              else {\n                uVar24 = (**(code **)(puVar20 + 0x1cbe04))(7);\n                if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  uVar24 = (*pcVar21)(7);\n                  if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001dd5d0;\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  iVar4 = 1;\n                }\n                else {\nLAB_001dd5d0:\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\nLAB_001dd5d4:\n                  uVar24 = (*pcVar21)(7);\n                  if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n                     (pcVar21 = *(code **)(puVar20 + 0x1cbe04), (uint)uVar24 < 2)) {\nLAB_001dd7c0:\n                    (*pcVar21)(7);\n                    iVar4 = extraout_v1_00;\n                  }\n                  else {\n                    iVar4 = 2;\n                  }\n                }\n                iVar11 = *(int *)(puVar20 + 0x1cb66c);\n              }\n              puStack_f8 = (undefined *)0x1;\n              puStack_f4 = &uStack_118;\n              puStack_110 = puVar10;\n              iStack_10c = iVar2;\n              puStack_108 = puVar15;\n              puStack_104 = puVar13;\n              iStack_100 = iVar3;\n              puStack_fc = unaff_s6;\n              (**(code **)(puVar20 + 0x1cbe60))(iVar11 + -0x43b4,&puStack_110,iVar4,0);\n              puVar15 = puStack_f8;\n              (**(code **)(puVar20 + 0x1cbbbc))(puVar13);\n              if (puVar15 == (undefined *)0x0) {\n                in_stack_00000018 = (**(code **)(puVar20 + 0x1cbc14))(iVar3);\n              }\n            }\n          }\n        }\n        unaff_s1 = puVar15;\n        unaff_s3 = iVar2;\n        unaff_s5 = puVar13;\n        if (iStack_6c == *piVar18) {\n          return in_stack_00000018;\n        }\n        goto LAB_001dd890;\n      }\n      goto LAB_001dd8c0;\n    }\n  }\n  iVar4 = 0x23c;\n  pcVar21 = *(code **)(puVar20 + 0x1cc2d0);\n  iVar3 = *(int *)(puVar20 + 0x1cb5b4) + -0x12ec;\n  puVar12 = (undefined1 *)(*(int *)(puVar20 + 0x1cb5a8) + 0x1cac);\n  (*pcVar21)();\n  piVar6 = *(int **)(pcVar21 + 0x1cb928);\n  iStack_16c = *piVar6;\n  iStack_168 = in_stack_00000018;\n  puStack_164 = puVar15;\n  puStack_160 = puVar10;\n  iStack_15c = iVar2;\n  piStack_158 = piVar18;\n  puStack_154 = puVar13;\n  puStack_150 = unaff_s6;\n  (**(code **)(pcVar21 + 0x1cbdcc))(auStack_1290,0,0x120);\n  auStack_1290[0] = *(undefined8 *)(*(int *)(pcVar21 + 0x1cafd8) + 0x1438);\n  uStack_1258 = auStack_1290[0];\n  uStack_1220 = auStack_1290[0];\n  uStack_11e8 = auStack_1290[0];\n  uStack_11b0 = auStack_1290[0];\n  uStack_1178 = auStack_1290[0];\n  if (puVar12 == (undefined1 *)0x0) {\n    iVar2 = (**(code **)(pcVar21 + 0x1cbd00))\n                      (*(int *)(pcVar21 + 0x1cafd8) + 0xdd0,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,\n                       0x2f9,*(int *)(pcVar21 + 0x1cafe4) + -0xf20);\n    return iVar2;\n  }\n  iVar2 = *(int *)(pcVar21 + 0x1cafe4);\n  if (*(int *)(puVar12 + 0x336c) != -0x54535255) goto LAB_001ddf28;\n  if (*(int *)(puVar12 + 0x3350) != 0) {\n    (**(code **)(pcVar21 + 0x1cb8d8))\n              (0x8000,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,*(int *)(pcVar21 + 0x1cafe4) + -0xf34,\n               0x2fc,*(int *)(pcVar21 + 0x1cafdc) + -0x62ac,puVar12 + 0x340);\n  }\n  if (iVar4 == 0) {\n    iVar2 = (**(code **)(pcVar21 + 0x1cbd00))\n                      (*(int *)(pcVar21 + 0x1cafd8) + 0x1cac,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,\n                       0x2fd,*(int *)(pcVar21 + 0x1cafe4) + -0xf20);\n    return iVar2;\n  }\n  if (*(int *)(iVar4 + 0x1c) != -0x54535255) {\n    iVar2 = (**(code **)(pcVar21 + 0x1cbd00))\n                      (*(int *)(pcVar21 + 0x1cafd8) + 0x294c,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,\n                       0x2fe,*(int *)(pcVar21 + 0x1cafe4) + -0xf20);\n    return iVar2;\n  }\n  iVar11 = *(int *)(iVar3 + 8);\n  iVar2 = 0;\n  if (0 < iVar11) {\n    iVar14 = *(int *)(iVar3 + 4);\n    iVar17 = 0;\n    puVar16 = auStack_1290;\n    do {\n      if (0 < iVar14) {\n        iVar7 = 0;\n        do {\n          if ((iVar2 < 6) && (iVar7 < 6)) {\n            puVar16[iVar7] = *(undefined8 *)(*(int *)(iVar3 + 0x14) + (iVar17 + iVar7) * 8);\n          }\n          iVar7 = iVar7 + 1;\n        } while (iVar7 != iVar14);\n        iVar17 = iVar17 + iVar14;\n      }\n      iVar2 = iVar2 + 1;\n      puVar16 = puVar16 + 6;\n    } while (iVar2 != iVar11);\n  }\n  iVar2 = 1;\n  iStack_12dc = (**(code **)(pcVar21 + 0x1cbf28))(puVar12,0,0,1,iVar4);\n  if (iStack_12dc != 0) {\n    iVar11 = (**(code **)(pcVar21 + 0x1cbf1c))(iStack_12dc,1,iVar4);\n    if (iVar11 == 0) {\n      (**(code **)(pcVar21 + 0x1cb644))(iStack_12dc);\n      iStack_12dc = 0;\n    }\n    else {\n      if (*(int *)(puVar12 + 0x3350) != 0) {\n        iVar17 = *(int *)(pcVar21 + 0x1cafe4);\n        iVar14 = *(int *)(pcVar21 + 0x1cafe4);\n        (**(code **)(pcVar21 + 0x1cb8d8))\n                  (0x10000,iVar14 + -0x12ec,iVar17 + -0xf34,0x318,\n                   *(int *)(pcVar21 + 0x1cafe4) + -0x12d0);\n        puStack_12b4 = (undefined1 *)\n                       (**(code **)(pcVar21 + 0x1cbf0c))(*(int *)(pcVar21 + 0x1cafdc) + -0x3688);\n        iStack_12e4 = 0;\n        iVar2 = *(int *)(pcVar21 + 0x1cafdc);\n        iVar7 = *(int *)(pcVar21 + 0x1cafe0);\n        iVar11 = *(int *)(pcVar21 + 0x1cafdc);\n        do {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb474);\n          iVar19 = 0;\n          *puStack_12b4 = 0;\n          (*pcVar22)(auStack_116c,0x1000,iVar11 + -0x66b8);\n          (**(code **)(pcVar21 + 0x1cbaa0))(&puStack_12b4,auStack_116c);\n          do {\n            iVar19 = iVar19 + 1;\n            (**(code **)(pcVar21 + 0x1cb474))(auStack_116c,0x1000,iVar7 + 0x4930);\n            (**(code **)(pcVar21 + 0x1cbaa0))(&puStack_12b4,auStack_116c);\n          } while (iVar19 != 6);\n          iStack_12e4 = iStack_12e4 + 1;\n          (**(code **)(pcVar21 + 0x1cb8d8))\n                    (0x10000,iVar14 + -0x12ec,iVar17 + -0xf34,0x326,iVar2 + -0x62ac,puStack_12b4);\n        } while (iStack_12e4 != 6);\n        (**(code **)(pcVar21 + 0x1cb76c))(puStack_12b4);\n      }\n      uStack_12bc = 0;\n      uStack_12c0 = 0;\n      uVar8 = (**(code **)(pcVar21 + 0x1cbe4c))(puVar12,iVar4);\n      uVar9 = (**(code **)(pcVar21 + 0x1cb5cc))(iStack_12dc,iVar4);\n      iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(puVar12);\n      if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(puVar12), iVar2 == 3)) &&\n         ((iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc), iVar2 == 3)))) {\n        (**(code **)(pcVar21 + 0x1cb834))(7);\n        iVar2 = *(int *)(puVar12 + 0x1c);\n        if (iVar2 < 0) {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if (iVar2 + 0x3f >> 6 <= extraout_v1_03) goto LAB_001ddc6c;\nLAB_001dde94:\n          (*pcVar22)(7);\n          bVar1 = extraout_v1_05 < 2;\n        }\n        else {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if (extraout_v1_03 < iVar2 >> 6) goto LAB_001dde94;\nLAB_001ddc6c:\n          bVar1 = iVar2 < 0x80;\n        }\n        iVar11 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar21 + 0x1cb834))(7);\n          iVar11 = *(int *)(puVar12 + 0x1c);\n          if (iVar11 < 0) {\n            iVar11 = iVar11 + 0x3f;\n          }\n          iVar11 = iVar11 >> 6;\n          if (extraout_v1_06 < iVar11) {\n            pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n            goto LAB_001dde6c;\n          }\n        }\n      }\n      else {\n        uVar24 = (**(code **)(pcVar21 + 0x1cb834))(7);\n        if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if ((uint)uVar24 < 2) {\n            uVar24 = (*pcVar22)(7);\n            if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001ddb28;\n            pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n            if (1 < (uint)uVar24) goto LAB_001ddb2c;\n            iVar11 = 1;\n            goto LAB_001ddb44;\n          }\n        }\n        else {\nLAB_001ddb28:\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n        }\nLAB_001ddb2c:\n        uVar24 = (*pcVar22)(7);\n        if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n           (pcVar22 = *(code **)(pcVar21 + 0x1cb834), (uint)uVar24 < 2)) {\nLAB_001dde6c:\n          (*pcVar22)(7);\n          iVar11 = extraout_v1_04;\n        }\n        else {\n          iVar11 = 2;\n        }\n      }\nLAB_001ddb44:\n      iVar2 = 0;\n      iStack_1298 = 1;\n      puStack_1294 = &uStack_12c0;\n      puStack_12b4 = puVar12;\n      iStack_12b0 = iVar3;\n      iStack_12ac = iVar4;\n      uStack_12a8 = uVar9;\n      uStack_12a4 = uVar8;\n      puStack_12a0 = auStack_1290;\n      iStack_129c = iStack_12dc;\n      (**(code **)(pcVar21 + 0x1cb890))\n                (*(int *)(pcVar21 + 0x1cb09c) + -0x71ec,&puStack_12b4,iVar11,0);\n      iVar3 = iStack_1298;\n      (**(code **)(pcVar21 + 0x1cb5ec))(uVar9);\n      (**(code **)(pcVar21 + 0x1cb5ec))(uVar8);\n      if (iVar3 == 0) {\n        iStack_12dc = (**(code **)(pcVar21 + 0x1cb644))(iStack_12dc);\n      }\n    }\n  }\n  if (iStack_16c == *piVar6) {\n    return iStack_12dc;\n  }\n  (**(code **)(pcVar21 + 0x1cb75c))();\nLAB_001ddf28:\n  iVar2 = (**(code **)(pcVar21 + 0x1cbd00))\n                    (*(int *)(pcVar21 + 0x1cafe0) + -0x3784,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,\n                     0x2fa,iVar2 + -0xf20);\n  return iVar2;\n}" primitive_type (function_declarator "CharcoalImage(undefined *param_1)" identifier (parameter_list "(undefined *param_1)" ( (parameter_declaration "undefined *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) ))) (compound_statement "{\n  bool bVar1;\n  int iVar2;\n  int iVar3;\n  int iVar4;\n  uint uVar5;\n  int *piVar6;\n  int iVar7;\n  undefined4 uVar8;\n  undefined4 uVar9;\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 extraout_v1_04;\n  int extraout_v1_05;\n  int extraout_v1_06;\n  undefined *puVar10;\n  int iVar11;\n  undefined1 *puVar12;\n  undefined *puVar13;\n  int iVar14;\n  undefined *puVar15;\n  undefined8 *puVar16;\n  int iVar17;\n  undefined *unaff_s1;\n  undefined *unaff_s2;\n  int unaff_s3;\n  int *piVar18;\n  undefined *unaff_s5;\n  undefined1 *unaff_s6;\n  int iVar19;\n  undefined *puVar20;\n  code *pcVar21;\n  code *pcVar22;\n  double dVar23;\n  undefined8 uVar24;\n  int in_stack_00000018;\n  int iStack_12e4;\n  int iStack_12dc;\n  undefined4 uStack_12c0;\n  undefined4 uStack_12bc;\n  undefined1 *puStack_12b4;\n  int iStack_12b0;\n  int iStack_12ac;\n  undefined4 uStack_12a8;\n  undefined4 uStack_12a4;\n  undefined8 *puStack_12a0;\n  int iStack_129c;\n  int iStack_1298;\n  undefined4 *puStack_1294;\n  undefined8 auStack_1290 [7];\n  undefined8 uStack_1258;\n  undefined8 uStack_1220;\n  undefined8 uStack_11e8;\n  undefined8 uStack_11b0;\n  undefined8 uStack_1178;\n  undefined1 auStack_116c [4096];\n  int iStack_16c;\n  int iStack_168;\n  undefined *puStack_164;\n  undefined *puStack_160;\n  int iStack_15c;\n  int *piStack_158;\n  undefined *puStack_154;\n  undefined1 *puStack_150;\n  undefined4 uStack_118;\n  undefined4 uStack_114;\n  undefined *puStack_110;\n  int iStack_10c;\n  undefined *puStack_108;\n  undefined *puStack_104;\n  int iStack_100;\n  undefined1 *puStack_fc;\n  undefined *puStack_f8;\n  undefined4 *puStack_f4;\n  undefined8 uStack_f0;\n  undefined8 uStack_e8;\n  undefined8 uStack_e0;\n  undefined8 uStack_d8;\n  undefined8 uStack_d0;\n  undefined1 auStack_c8 [4];\n  int iStack_c4;\n  undefined8 uStack_a0;\n  undefined8 uStack_98;\n  undefined8 uStack_90;\n  undefined8 uStack_88;\n  undefined8 uStack_80;\n  int iStack_6c;\n  int iStack_68;\n  undefined *puStack_64;\n  \n  if (param_1 == (undefined *)0x0) {\nLAB_001dd2cc:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0xdd0,PTR_s_courses_003a88ec + -0x12ec,0x1da,\n               PTR_s_courses_003a88ec + -0xedc);\nLAB_001dd2f0:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x294c,PTR_s_courses_003a88ec + -0x12ec,0x1df,\n               PTR_s_courses_003a88ec + -0xedc);\n  }\n  else {\n    unaff_s1 = param_1;\n    if (*(int *)(param_1 + 0x336c) != -0x54535255) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                 PTR_s_courses_003a88ec + -0x12ec,0x1db,PTR_s_courses_003a88ec + -0xedc);\n      goto LAB_001dd2cc;\n    }\n    if (*(int *)(param_1 + 0x3350) != 0) {\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_courses_003a88ec + -0x12ec,PTR_s_courses_003a88ec + -0xeec,0x1dd);\n    }\n    if (in_stack_00000018 != 0) {\n      if (*(int *)(in_stack_00000018 + 0x1c) == -0x54535255) {\n        iVar2 = (*(code *)PTR_EdgeImage_003a8dec)(param_1);\n        puVar15 = PTR_ClampImage_003a93c8;\n        if (iVar2 != 0) {\n          *(undefined4 *)(iVar2 + 700) = 0;\n          iVar3 = (*(code *)puVar15)(iVar2,in_stack_00000018);\n          if (iVar3 == 0) {\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n          }\n          else {\n            iVar3 = (*(code *)PTR_BlurImage_003a95c0)(iVar2);\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n            if (iVar3 != 0) {\n              iVar2 = (*(code *)PTR_NormalizeImage_003a8f7c)(iVar3,in_stack_00000018);\n              if (((iVar2 != 0) &&\n                  (iVar2 = (*(code *)PTR_NegateImage_003a985c)(iVar3,0,in_stack_00000018),\n                  iVar2 != 0)) &&\n                 (iVar2 = (*(code *)PTR_GrayscaleImage_003a91cc)\n                                    (iVar3,*(undefined4 *)(param_1 + 0x254),in_stack_00000018),\n                 iVar2 != 0)) {\n                return iVar3;\n              }\n                    /* WARNING: Could not recover jumptable at 0x001dd244. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              iVar2 = (*(code *)PTR_DestroyImage_003a8f4c)(iVar3);\n              return iVar2;\n            }\n          }\n        }\n        return 0;\n      }\n      goto LAB_001dd2f0;\n    }\n  }\n  iVar2 = 0x1de;\n  puVar15 = PTR_s_courses_003a88ec + -0xedc;\n  puVar13 = PTR_s_courses_003a88ec + -0x12ec;\n  puVar10 = PTR_LAB_003a88e0 + 0x1cac;\n  puVar20 = PTR___assert_fail_003a9608;\n  (*(code *)PTR___assert_fail_003a9608)();\n  piVar18 = *(int **)(puVar20 + 0x1cbef8);\n  iStack_68 = in_stack_00000018;\n  iStack_6c = *piVar18;\n  puStack_64 = unaff_s1;\n  if (puVar10 == (undefined *)0x0) {\n    (**(code **)(puVar20 + 0x1cc2d0))\n              (*(int *)(puVar20 + 0x1cb5b0) + -0x37b0,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,0x238,\n               *(int *)(puVar20 + 0x1cb5b4) + -0xefc);\n    puVar10 = unaff_s2;\nLAB_001dd890:\n    (**(code **)(puVar20 + 0x1cbd2c))();\nLAB_001dd89c:\n    puVar13 = unaff_s5;\n    iVar2 = unaff_s3;\n    puVar15 = unaff_s1;\n    (**(code **)(puVar20 + 0x1cc2d0))\n              (*(int *)(puVar20 + 0x1cb5b0) + -0x3784,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,0x239,\n               *(int *)(puVar20 + 0x1cb5b4) + -0xefc);\nLAB_001dd8c0:\n    (**(code **)(puVar20 + 0x1cc2d0))\n              (*(int *)(puVar20 + 0x1cb5a8) + 0x294c,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,0x23d,\n               *(int *)(puVar20 + 0x1cb5b4) + -0xefc);\n  }\n  else {\n    if (*(int *)(puVar10 + 0x336c) != -0x54535255) goto LAB_001dd89c;\n    if (*(int *)(puVar10 + 0x3350) != 0) {\n      (**(code **)(puVar20 + 0x1cbea8))\n                (0x8000,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,*(int *)(puVar20 + 0x1cb5b4) + -0xf0c\n                 ,0x23b);\n    }\n    if (puVar15 != (undefined *)0x0) {\n      if (*(int *)(puVar15 + 0x1c) == -0x54535255) {\n        iVar3 = (**(code **)(puVar20 + 0x1cc4f8))(puVar10,0,0,1);\n        in_stack_00000018 = iVar3;\n        if (iVar3 != 0) {\n          iVar4 = (**(code **)(puVar20 + 0x1cc4ec))(iVar3,1,puVar15);\n          if (iVar4 == 0) {\n            in_stack_00000018 = 0;\n            (**(code **)(puVar20 + 0x1cbc14))(iVar3);\n          }\n          else {\n            if (*(int *)(iVar3 + 4) == 0x21) {\nLAB_001dd4b8:\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);\nLAB_001dd4bc:\n              (*pcVar21)(iVar3,0x17,puVar15);\n            }\n            else {\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);\n              if (*(int *)(iVar3 + 4) == 3) goto LAB_001dd4bc;\n              dVar23 = *(double *)(iVar2 + 0x28) - *(double *)(iVar2 + 0x30);\n              if (dVar23 < 0.0) {\n                dVar23 = -dVar23;\n              }\n              if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) {\n                dVar23 = *(double *)(iVar2 + 0x30) - *(double *)(iVar2 + 0x38);\n                if (dVar23 < 0.0) {\n                  dVar23 = -dVar23;\n                }\n                if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) goto LAB_001dd4b8;\n              }\n            }\n            if ((*(int *)(iVar3 + 700) == 0) && (*(int *)(iVar2 + 8) != 0)) {\n              (**(code **)(puVar20 + 0x1cb940))\n                        (iVar3,*(undefined4 *)(*(int *)(puVar20 + 0x1cb5a8) + 0x1a50),puVar15);\n            }\n            if (puVar13 != (undefined *)0x0) {\n              unaff_s6 = auStack_c8;\n              (**(code **)(puVar20 + 0x1cbf7c))(iVar3,unaff_s6);\n              uVar5 = (**(code **)(puVar20 + 0x1cc11c))(puVar13,&uStack_f0);\n              uStack_80 = 0;\n              uStack_a0 = uStack_f0;\n              uStack_98 = uStack_f0;\n              uStack_90 = uStack_f0;\n              uStack_88 = uStack_f0;\n              if ((uVar5 & 8) != 0) {\n                uStack_98 = uStack_e8;\n              }\n              if ((uVar5 & 1) != 0) {\n                uStack_90 = uStack_e0;\n              }\n              if ((uVar5 & 2) == 0) {\n                pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                uVar24 = uStack_88;\n                if (iStack_c4 == 2) goto LAB_001dd6b0;\n              }\n              else {\n                uStack_80 = uStack_d8;\n                uVar24 = uStack_d8;\n                if (iStack_c4 == 2) {\nLAB_001dd6b0:\n                  uStack_88 = uVar24;\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                  if ((uVar5 & 0x10) != 0) {\n                    uStack_80 = uStack_d0;\n                  }\n                }\n                else {\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                }\n              }\n              uStack_114 = 0;\n              uStack_118 = 0;\n              puVar13 = (undefined *)(*pcVar21)(iVar3,puVar15);\n              iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3);\n              if (((iVar4 == 4) || (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3))\n                 && ((iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 4 ||\n                     (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3)))) {\n                (**(code **)(puVar20 + 0x1cbe04))(7);\n                iVar11 = *(int *)(iVar3 + 0x1c);\n                iVar4 = iVar11;\n                if (iVar11 < 0) {\n                  iVar4 = iVar11 + 0x3f;\n                }\n                if (extraout_v1 < iVar4 >> 6) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  bVar1 = extraout_v1_02 < 2;\n                }\n                else {\n                  bVar1 = iVar11 < 0x80;\n                }\n                iVar4 = 1;\n                if ((bool)(bVar1 ^ 1)) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  iVar4 = *(int *)(iVar3 + 0x1c);\n                  if (iVar4 < 0) {\n                    iVar4 = iVar4 + 0x3f;\n                  }\n                  iVar4 = iVar4 >> 6;\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                  if (extraout_v1_01 < iVar4) {\n                    pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                    goto LAB_001dd7c0;\n                  }\n                }\n                else {\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                }\n              }\n              else {\n                uVar24 = (**(code **)(puVar20 + 0x1cbe04))(7);\n                if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  uVar24 = (*pcVar21)(7);\n                  if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001dd5d0;\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  iVar4 = 1;\n                }\n                else {\nLAB_001dd5d0:\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\nLAB_001dd5d4:\n                  uVar24 = (*pcVar21)(7);\n                  if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n                     (pcVar21 = *(code **)(puVar20 + 0x1cbe04), (uint)uVar24 < 2)) {\nLAB_001dd7c0:\n                    (*pcVar21)(7);\n                    iVar4 = extraout_v1_00;\n                  }\n                  else {\n                    iVar4 = 2;\n                  }\n                }\n                iVar11 = *(int *)(puVar20 + 0x1cb66c);\n              }\n              puStack_f8 = (undefined *)0x1;\n              puStack_f4 = &uStack_118;\n              puStack_110 = puVar10;\n              iStack_10c = iVar2;\n              puStack_108 = puVar15;\n              puStack_104 = puVar13;\n              iStack_100 = iVar3;\n              puStack_fc = unaff_s6;\n              (**(code **)(puVar20 + 0x1cbe60))(iVar11 + -0x43b4,&puStack_110,iVar4,0);\n              puVar15 = puStack_f8;\n              (**(code **)(puVar20 + 0x1cbbbc))(puVar13);\n              if (puVar15 == (undefined *)0x0) {\n                in_stack_00000018 = (**(code **)(puVar20 + 0x1cbc14))(iVar3);\n              }\n            }\n          }\n        }\n        unaff_s1 = puVar15;\n        unaff_s3 = iVar2;\n        unaff_s5 = puVar13;\n        if (iStack_6c == *piVar18) {\n          return in_stack_00000018;\n        }\n        goto LAB_001dd890;\n      }\n      goto LAB_001dd8c0;\n    }\n  }\n  iVar4 = 0x23c;\n  pcVar21 = *(code **)(puVar20 + 0x1cc2d0);\n  iVar3 = *(int *)(puVar20 + 0x1cb5b4) + -0x12ec;\n  puVar12 = (undefined1 *)(*(int *)(puVar20 + 0x1cb5a8) + 0x1cac);\n  (*pcVar21)();\n  piVar6 = *(int **)(pcVar21 + 0x1cb928);\n  iStack_16c = *piVar6;\n  iStack_168 = in_stack_00000018;\n  puStack_164 = puVar15;\n  puStack_160 = puVar10;\n  iStack_15c = iVar2;\n  piStack_158 = piVar18;\n  puStack_154 = puVar13;\n  puStack_150 = unaff_s6;\n  (**(code **)(pcVar21 + 0x1cbdcc))(auStack_1290,0,0x120);\n  auStack_1290[0] = *(undefined8 *)(*(int *)(pcVar21 + 0x1cafd8) + 0x1438);\n  uStack_1258 = auStack_1290[0];\n  uStack_1220 = auStack_1290[0];\n  uStack_11e8 = auStack_1290[0];\n  uStack_11b0 = auStack_1290[0];\n  uStack_1178 = auStack_1290[0];\n  if (puVar12 == (undefined1 *)0x0) {\n    iVar2 = (**(code **)(pcVar21 + 0x1cbd00))\n                      (*(int *)(pcVar21 + 0x1cafd8) + 0xdd0,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,\n                       0x2f9,*(int *)(pcVar21 + 0x1cafe4) + -0xf20);\n    return iVar2;\n  }\n  iVar2 = *(int *)(pcVar21 + 0x1cafe4);\n  if (*(int *)(puVar12 + 0x336c) != -0x54535255) goto LAB_001ddf28;\n  if (*(int *)(puVar12 + 0x3350) != 0) {\n    (**(code **)(pcVar21 + 0x1cb8d8))\n              (0x8000,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,*(int *)(pcVar21 + 0x1cafe4) + -0xf34,\n               0x2fc,*(int *)(pcVar21 + 0x1cafdc) + -0x62ac,puVar12 + 0x340);\n  }\n  if (iVar4 == 0) {\n    iVar2 = (**(code **)(pcVar21 + 0x1cbd00))\n                      (*(int *)(pcVar21 + 0x1cafd8) + 0x1cac,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,\n                       0x2fd,*(int *)(pcVar21 + 0x1cafe4) + -0xf20);\n    return iVar2;\n  }\n  if (*(int *)(iVar4 + 0x1c) != -0x54535255) {\n    iVar2 = (**(code **)(pcVar21 + 0x1cbd00))\n                      (*(int *)(pcVar21 + 0x1cafd8) + 0x294c,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,\n                       0x2fe,*(int *)(pcVar21 + 0x1cafe4) + -0xf20);\n    return iVar2;\n  }\n  iVar11 = *(int *)(iVar3 + 8);\n  iVar2 = 0;\n  if (0 < iVar11) {\n    iVar14 = *(int *)(iVar3 + 4);\n    iVar17 = 0;\n    puVar16 = auStack_1290;\n    do {\n      if (0 < iVar14) {\n        iVar7 = 0;\n        do {\n          if ((iVar2 < 6) && (iVar7 < 6)) {\n            puVar16[iVar7] = *(undefined8 *)(*(int *)(iVar3 + 0x14) + (iVar17 + iVar7) * 8);\n          }\n          iVar7 = iVar7 + 1;\n        } while (iVar7 != iVar14);\n        iVar17 = iVar17 + iVar14;\n      }\n      iVar2 = iVar2 + 1;\n      puVar16 = puVar16 + 6;\n    } while (iVar2 != iVar11);\n  }\n  iVar2 = 1;\n  iStack_12dc = (**(code **)(pcVar21 + 0x1cbf28))(puVar12,0,0,1,iVar4);\n  if (iStack_12dc != 0) {\n    iVar11 = (**(code **)(pcVar21 + 0x1cbf1c))(iStack_12dc,1,iVar4);\n    if (iVar11 == 0) {\n      (**(code **)(pcVar21 + 0x1cb644))(iStack_12dc);\n      iStack_12dc = 0;\n    }\n    else {\n      if (*(int *)(puVar12 + 0x3350) != 0) {\n        iVar17 = *(int *)(pcVar21 + 0x1cafe4);\n        iVar14 = *(int *)(pcVar21 + 0x1cafe4);\n        (**(code **)(pcVar21 + 0x1cb8d8))\n                  (0x10000,iVar14 + -0x12ec,iVar17 + -0xf34,0x318,\n                   *(int *)(pcVar21 + 0x1cafe4) + -0x12d0);\n        puStack_12b4 = (undefined1 *)\n                       (**(code **)(pcVar21 + 0x1cbf0c))(*(int *)(pcVar21 + 0x1cafdc) + -0x3688);\n        iStack_12e4 = 0;\n        iVar2 = *(int *)(pcVar21 + 0x1cafdc);\n        iVar7 = *(int *)(pcVar21 + 0x1cafe0);\n        iVar11 = *(int *)(pcVar21 + 0x1cafdc);\n        do {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb474);\n          iVar19 = 0;\n          *puStack_12b4 = 0;\n          (*pcVar22)(auStack_116c,0x1000,iVar11 + -0x66b8);\n          (**(code **)(pcVar21 + 0x1cbaa0))(&puStack_12b4,auStack_116c);\n          do {\n            iVar19 = iVar19 + 1;\n            (**(code **)(pcVar21 + 0x1cb474))(auStack_116c,0x1000,iVar7 + 0x4930);\n            (**(code **)(pcVar21 + 0x1cbaa0))(&puStack_12b4,auStack_116c);\n          } while (iVar19 != 6);\n          iStack_12e4 = iStack_12e4 + 1;\n          (**(code **)(pcVar21 + 0x1cb8d8))\n                    (0x10000,iVar14 + -0x12ec,iVar17 + -0xf34,0x326,iVar2 + -0x62ac,puStack_12b4);\n        } while (iStack_12e4 != 6);\n        (**(code **)(pcVar21 + 0x1cb76c))(puStack_12b4);\n      }\n      uStack_12bc = 0;\n      uStack_12c0 = 0;\n      uVar8 = (**(code **)(pcVar21 + 0x1cbe4c))(puVar12,iVar4);\n      uVar9 = (**(code **)(pcVar21 + 0x1cb5cc))(iStack_12dc,iVar4);\n      iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(puVar12);\n      if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(puVar12), iVar2 == 3)) &&\n         ((iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc), iVar2 == 3)))) {\n        (**(code **)(pcVar21 + 0x1cb834))(7);\n        iVar2 = *(int *)(puVar12 + 0x1c);\n        if (iVar2 < 0) {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if (iVar2 + 0x3f >> 6 <= extraout_v1_03) goto LAB_001ddc6c;\nLAB_001dde94:\n          (*pcVar22)(7);\n          bVar1 = extraout_v1_05 < 2;\n        }\n        else {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if (extraout_v1_03 < iVar2 >> 6) goto LAB_001dde94;\nLAB_001ddc6c:\n          bVar1 = iVar2 < 0x80;\n        }\n        iVar11 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar21 + 0x1cb834))(7);\n          iVar11 = *(int *)(puVar12 + 0x1c);\n          if (iVar11 < 0) {\n            iVar11 = iVar11 + 0x3f;\n          }\n          iVar11 = iVar11 >> 6;\n          if (extraout_v1_06 < iVar11) {\n            pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n            goto LAB_001dde6c;\n          }\n        }\n      }\n      else {\n        uVar24 = (**(code **)(pcVar21 + 0x1cb834))(7);\n        if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if ((uint)uVar24 < 2) {\n            uVar24 = (*pcVar22)(7);\n            if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001ddb28;\n            pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n            if (1 < (uint)uVar24) goto LAB_001ddb2c;\n            iVar11 = 1;\n            goto LAB_001ddb44;\n          }\n        }\n        else {\nLAB_001ddb28:\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n        }\nLAB_001ddb2c:\n        uVar24 = (*pcVar22)(7);\n        if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n           (pcVar22 = *(code **)(pcVar21 + 0x1cb834), (uint)uVar24 < 2)) {\nLAB_001dde6c:\n          (*pcVar22)(7);\n          iVar11 = extraout_v1_04;\n        }\n        else {\n          iVar11 = 2;\n        }\n      }\nLAB_001ddb44:\n      iVar2 = 0;\n      iStack_1298 = 1;\n      puStack_1294 = &uStack_12c0;\n      puStack_12b4 = puVar12;\n      iStack_12b0 = iVar3;\n      iStack_12ac = iVar4;\n      uStack_12a8 = uVar9;\n      uStack_12a4 = uVar8;\n      puStack_12a0 = auStack_1290;\n      iStack_129c = iStack_12dc;\n      (**(code **)(pcVar21 + 0x1cb890))\n                (*(int *)(pcVar21 + 0x1cb09c) + -0x71ec,&puStack_12b4,iVar11,0);\n      iVar3 = iStack_1298;\n      (**(code **)(pcVar21 + 0x1cb5ec))(uVar9);\n      (**(code **)(pcVar21 + 0x1cb5ec))(uVar8);\n      if (iVar3 == 0) {\n        iStack_12dc = (**(code **)(pcVar21 + 0x1cb644))(iStack_12dc);\n      }\n    }\n  }\n  if (iStack_16c == *piVar6) {\n    return iStack_12dc;\n  }\n  (**(code **)(pcVar21 + 0x1cb75c))();\nLAB_001ddf28:\n  iVar2 = (**(code **)(pcVar21 + 0x1cbd00))\n                    (*(int *)(pcVar21 + 0x1cafe0) + -0x3784,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,\n                     0x2fa,iVar2 + -0xf20);\n  return iVar2;\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "int *piVar6;" primitive_type (pointer_declarator "*piVar6" * identifier) ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "undefined4 uVar8;" type_identifier identifier ;) (declaration "undefined4 uVar9;" type_identifier 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 extraout_v1_04;" primitive_type identifier ;) (declaration "int extraout_v1_05;" primitive_type identifier ;) (declaration "int extraout_v1_06;" primitive_type identifier ;) (declaration "undefined *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "undefined1 *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "undefined *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "undefined *puVar15;" type_identifier (pointer_declarator "*puVar15" * identifier) ;) (declaration "undefined8 *puVar16;" type_identifier (pointer_declarator "*puVar16" * identifier) ;) (declaration "int iVar17;" primitive_type identifier ;) (declaration "undefined *unaff_s1;" type_identifier (pointer_declarator "*unaff_s1" * identifier) ;) (declaration "undefined *unaff_s2;" type_identifier (pointer_declarator "*unaff_s2" * identifier) ;) (declaration "int unaff_s3;" primitive_type identifier ;) (declaration "int *piVar18;" primitive_type (pointer_declarator "*piVar18" * identifier) ;) (declaration "undefined *unaff_s5;" type_identifier (pointer_declarator "*unaff_s5" * identifier) ;) (declaration "undefined1 *unaff_s6;" type_identifier (pointer_declarator "*unaff_s6" * identifier) ;) (declaration "int iVar19;" primitive_type identifier ;) (declaration "undefined *puVar20;" type_identifier (pointer_declarator "*puVar20" * identifier) ;) (declaration "code *pcVar21;" type_identifier (pointer_declarator "*pcVar21" * identifier) ;) (declaration "code *pcVar22;" type_identifier (pointer_declarator "*pcVar22" * identifier) ;) (declaration "double dVar23;" primitive_type identifier ;) (declaration "undefined8 uVar24;" type_identifier identifier ;) (declaration "int in_stack_00000018;" primitive_type identifier ;) (declaration "int iStack_12e4;" primitive_type identifier ;) (declaration "int iStack_12dc;" primitive_type identifier ;) (declaration "undefined4 uStack_12c0;" type_identifier identifier ;) (declaration "undefined4 uStack_12bc;" type_identifier identifier ;) (declaration "undefined1 *puStack_12b4;" type_identifier (pointer_declarator "*puStack_12b4" * identifier) ;) (declaration "int iStack_12b0;" primitive_type identifier ;) (declaration "int iStack_12ac;" primitive_type identifier ;) (declaration "undefined4 uStack_12a8;" type_identifier identifier ;) (declaration "undefined4 uStack_12a4;" type_identifier identifier ;) (declaration "undefined8 *puStack_12a0;" type_identifier (pointer_declarator "*puStack_12a0" * identifier) ;) (declaration "int iStack_129c;" primitive_type identifier ;) (declaration "int iStack_1298;" primitive_type identifier ;) (declaration "undefined4 *puStack_1294;" type_identifier (pointer_declarator "*puStack_1294" * identifier) ;) (declaration "undefined8 auStack_1290 [7];" type_identifier (array_declarator "auStack_1290 [7]" identifier [ number_literal ]) ;) (declaration "undefined8 uStack_1258;" type_identifier identifier ;) (declaration "undefined8 uStack_1220;" type_identifier identifier ;) (declaration "undefined8 uStack_11e8;" type_identifier identifier ;) (declaration "undefined8 uStack_11b0;" type_identifier identifier ;) (declaration "undefined8 uStack_1178;" type_identifier identifier ;) (declaration "undefined1 auStack_116c [4096];" type_identifier (array_declarator "auStack_116c [4096]" identifier [ number_literal ]) ;) (declaration "int iStack_16c;" primitive_type identifier ;) (declaration "int iStack_168;" primitive_type identifier ;) (declaration "undefined *puStack_164;" type_identifier (pointer_declarator "*puStack_164" * identifier) ;) (declaration "undefined *puStack_160;" type_identifier (pointer_declarator "*puStack_160" * identifier) ;) (declaration "int iStack_15c;" primitive_type identifier ;) (declaration "int *piStack_158;" primitive_type (pointer_declarator "*piStack_158" * identifier) ;) (declaration "undefined *puStack_154;" type_identifier (pointer_declarator "*puStack_154" * identifier) ;) (declaration "undefined1 *puStack_150;" type_identifier (pointer_declarator "*puStack_150" * identifier) ;) (declaration "undefined4 uStack_118;" type_identifier identifier ;) (declaration "undefined4 uStack_114;" type_identifier identifier ;) (declaration "undefined *puStack_110;" type_identifier (pointer_declarator "*puStack_110" * identifier) ;) (declaration "int iStack_10c;" primitive_type identifier ;) (declaration "undefined *puStack_108;" type_identifier (pointer_declarator "*puStack_108" * identifier) ;) (declaration "undefined *puStack_104;" type_identifier (pointer_declarator "*puStack_104" * identifier) ;) (declaration "int iStack_100;" primitive_type identifier ;) (declaration "undefined1 *puStack_fc;" type_identifier (pointer_declarator "*puStack_fc" * identifier) ;) (declaration "undefined *puStack_f8;" type_identifier (pointer_declarator "*puStack_f8" * identifier) ;) (declaration "undefined4 *puStack_f4;" type_identifier (pointer_declarator "*puStack_f4" * identifier) ;) (declaration "undefined8 uStack_f0;" type_identifier identifier ;) (declaration "undefined8 uStack_e8;" type_identifier identifier ;) (declaration "undefined8 uStack_e0;" type_identifier identifier ;) (declaration "undefined8 uStack_d8;" type_identifier identifier ;) (declaration "undefined8 uStack_d0;" type_identifier identifier ;) (declaration "undefined1 auStack_c8 [4];" type_identifier (array_declarator "auStack_c8 [4]" identifier [ number_literal ]) ;) (declaration "int iStack_c4;" primitive_type identifier ;) (declaration "undefined8 uStack_a0;" type_identifier identifier ;) (declaration "undefined8 uStack_98;" type_identifier identifier ;) (declaration "undefined8 uStack_90;" type_identifier identifier ;) (declaration "undefined8 uStack_88;" type_identifier identifier ;) (declaration "undefined8 uStack_80;" type_identifier identifier ;) (declaration "int iStack_6c;" primitive_type identifier ;) (declaration "int iStack_68;" primitive_type identifier ;) (declaration "undefined *puStack_64;" type_identifier (pointer_declarator "*puStack_64" * identifier) ;) (if_statement "if (param_1 == (undefined *)0x0) {\nLAB_001dd2cc:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0xdd0,PTR_s_courses_003a88ec + -0x12ec,0x1da,\n               PTR_s_courses_003a88ec + -0xedc);\nLAB_001dd2f0:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x294c,PTR_s_courses_003a88ec + -0x12ec,0x1df,\n               PTR_s_courses_003a88ec + -0xedc);\n  }\n  else {\n    unaff_s1 = param_1;\n    if (*(int *)(param_1 + 0x336c) != -0x54535255) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                 PTR_s_courses_003a88ec + -0x12ec,0x1db,PTR_s_courses_003a88ec + -0xedc);\n      goto LAB_001dd2cc;\n    }\n    if (*(int *)(param_1 + 0x3350) != 0) {\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_courses_003a88ec + -0x12ec,PTR_s_courses_003a88ec + -0xeec,0x1dd);\n    }\n    if (in_stack_00000018 != 0) {\n      if (*(int *)(in_stack_00000018 + 0x1c) == -0x54535255) {\n        iVar2 = (*(code *)PTR_EdgeImage_003a8dec)(param_1);\n        puVar15 = PTR_ClampImage_003a93c8;\n        if (iVar2 != 0) {\n          *(undefined4 *)(iVar2 + 700) = 0;\n          iVar3 = (*(code *)puVar15)(iVar2,in_stack_00000018);\n          if (iVar3 == 0) {\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n          }\n          else {\n            iVar3 = (*(code *)PTR_BlurImage_003a95c0)(iVar2);\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n            if (iVar3 != 0) {\n              iVar2 = (*(code *)PTR_NormalizeImage_003a8f7c)(iVar3,in_stack_00000018);\n              if (((iVar2 != 0) &&\n                  (iVar2 = (*(code *)PTR_NegateImage_003a985c)(iVar3,0,in_stack_00000018),\n                  iVar2 != 0)) &&\n                 (iVar2 = (*(code *)PTR_GrayscaleImage_003a91cc)\n                                    (iVar3,*(undefined4 *)(param_1 + 0x254),in_stack_00000018),\n                 iVar2 != 0)) {\n                return iVar3;\n              }\n                    /* WARNING: Could not recover jumptable at 0x001dd244. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              iVar2 = (*(code *)PTR_DestroyImage_003a8f4c)(iVar3);\n              return iVar2;\n            }\n          }\n        }\n        return 0;\n      }\n      goto LAB_001dd2f0;\n    }\n  }" if (parenthesized_expression "(param_1 == (undefined *)0x0)" ( (binary_expression "param_1 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_001dd2cc:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0xdd0,PTR_s_courses_003a88ec + -0x12ec,0x1da,\n               PTR_s_courses_003a88ec + -0xedc);\nLAB_001dd2f0:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x294c,PTR_s_courses_003a88ec + -0x12ec,0x1df,\n               PTR_s_courses_003a88ec + -0xedc);\n  }" { (labeled_statement "LAB_001dd2cc:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0xdd0,PTR_s_courses_003a88ec + -0x12ec,0x1da,\n               PTR_s_courses_003a88ec + -0xedc);" statement_identifier : (expression_statement "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0xdd0,PTR_s_courses_003a88ec + -0x12ec,0x1da,\n               PTR_s_courses_003a88ec + -0xedc);" (call_expression "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0xdd0,PTR_s_courses_003a88ec + -0x12ec,0x1da,\n               PTR_s_courses_003a88ec + -0xedc)" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" ( (pointer_expression "*(code *)PTR___assert_fail_003a9608" * (cast_expression "(code *)PTR___assert_fail_003a9608" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_LAB_003a88e0 + 0xdd0,PTR_s_courses_003a88ec + -0x12ec,0x1da,\n               PTR_s_courses_003a88ec + -0xedc)" ( (binary_expression "PTR_LAB_003a88e0 + 0xdd0" identifier + number_literal) , (binary_expression "PTR_s_courses_003a88ec + -0x12ec" identifier + number_literal) , number_literal , (binary_expression "PTR_s_courses_003a88ec + -0xedc" identifier + number_literal) ))) ;)) (labeled_statement "LAB_001dd2f0:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x294c,PTR_s_courses_003a88ec + -0x12ec,0x1df,\n               PTR_s_courses_003a88ec + -0xedc);" statement_identifier : (expression_statement "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x294c,PTR_s_courses_003a88ec + -0x12ec,0x1df,\n               PTR_s_courses_003a88ec + -0xedc);" (call_expression "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x294c,PTR_s_courses_003a88ec + -0x12ec,0x1df,\n               PTR_s_courses_003a88ec + -0xedc)" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" ( (pointer_expression "*(code *)PTR___assert_fail_003a9608" * (cast_expression "(code *)PTR___assert_fail_003a9608" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_LAB_003a88e0 + 0x294c,PTR_s_courses_003a88ec + -0x12ec,0x1df,\n               PTR_s_courses_003a88ec + -0xedc)" ( (binary_expression "PTR_LAB_003a88e0 + 0x294c" identifier + number_literal) , (binary_expression "PTR_s_courses_003a88ec + -0x12ec" identifier + number_literal) , number_literal , (binary_expression "PTR_s_courses_003a88ec + -0xedc" identifier + number_literal) ))) ;)) }) (else_clause "else {\n    unaff_s1 = param_1;\n    if (*(int *)(param_1 + 0x336c) != -0x54535255) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                 PTR_s_courses_003a88ec + -0x12ec,0x1db,PTR_s_courses_003a88ec + -0xedc);\n      goto LAB_001dd2cc;\n    }\n    if (*(int *)(param_1 + 0x3350) != 0) {\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_courses_003a88ec + -0x12ec,PTR_s_courses_003a88ec + -0xeec,0x1dd);\n    }\n    if (in_stack_00000018 != 0) {\n      if (*(int *)(in_stack_00000018 + 0x1c) == -0x54535255) {\n        iVar2 = (*(code *)PTR_EdgeImage_003a8dec)(param_1);\n        puVar15 = PTR_ClampImage_003a93c8;\n        if (iVar2 != 0) {\n          *(undefined4 *)(iVar2 + 700) = 0;\n          iVar3 = (*(code *)puVar15)(iVar2,in_stack_00000018);\n          if (iVar3 == 0) {\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n          }\n          else {\n            iVar3 = (*(code *)PTR_BlurImage_003a95c0)(iVar2);\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n            if (iVar3 != 0) {\n              iVar2 = (*(code *)PTR_NormalizeImage_003a8f7c)(iVar3,in_stack_00000018);\n              if (((iVar2 != 0) &&\n                  (iVar2 = (*(code *)PTR_NegateImage_003a985c)(iVar3,0,in_stack_00000018),\n                  iVar2 != 0)) &&\n                 (iVar2 = (*(code *)PTR_GrayscaleImage_003a91cc)\n                                    (iVar3,*(undefined4 *)(param_1 + 0x254),in_stack_00000018),\n                 iVar2 != 0)) {\n                return iVar3;\n              }\n                    /* WARNING: Could not recover jumptable at 0x001dd244. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              iVar2 = (*(code *)PTR_DestroyImage_003a8f4c)(iVar3);\n              return iVar2;\n            }\n          }\n        }\n        return 0;\n      }\n      goto LAB_001dd2f0;\n    }\n  }" else (compound_statement "{\n    unaff_s1 = param_1;\n    if (*(int *)(param_1 + 0x336c) != -0x54535255) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                 PTR_s_courses_003a88ec + -0x12ec,0x1db,PTR_s_courses_003a88ec + -0xedc);\n      goto LAB_001dd2cc;\n    }\n    if (*(int *)(param_1 + 0x3350) != 0) {\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_courses_003a88ec + -0x12ec,PTR_s_courses_003a88ec + -0xeec,0x1dd);\n    }\n    if (in_stack_00000018 != 0) {\n      if (*(int *)(in_stack_00000018 + 0x1c) == -0x54535255) {\n        iVar2 = (*(code *)PTR_EdgeImage_003a8dec)(param_1);\n        puVar15 = PTR_ClampImage_003a93c8;\n        if (iVar2 != 0) {\n          *(undefined4 *)(iVar2 + 700) = 0;\n          iVar3 = (*(code *)puVar15)(iVar2,in_stack_00000018);\n          if (iVar3 == 0) {\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n          }\n          else {\n            iVar3 = (*(code *)PTR_BlurImage_003a95c0)(iVar2);\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n            if (iVar3 != 0) {\n              iVar2 = (*(code *)PTR_NormalizeImage_003a8f7c)(iVar3,in_stack_00000018);\n              if (((iVar2 != 0) &&\n                  (iVar2 = (*(code *)PTR_NegateImage_003a985c)(iVar3,0,in_stack_00000018),\n                  iVar2 != 0)) &&\n                 (iVar2 = (*(code *)PTR_GrayscaleImage_003a91cc)\n                                    (iVar3,*(undefined4 *)(param_1 + 0x254),in_stack_00000018),\n                 iVar2 != 0)) {\n                return iVar3;\n              }\n                    /* WARNING: Could not recover jumptable at 0x001dd244. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              iVar2 = (*(code *)PTR_DestroyImage_003a8f4c)(iVar3);\n              return iVar2;\n            }\n          }\n        }\n        return 0;\n      }\n      goto LAB_001dd2f0;\n    }\n  }" { (expression_statement "unaff_s1 = param_1;" (assignment_expression "unaff_s1 = param_1" identifier = identifier) ;) (if_statement "if (*(int *)(param_1 + 0x336c) != -0x54535255) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                 PTR_s_courses_003a88ec + -0x12ec,0x1db,PTR_s_courses_003a88ec + -0xedc);\n      goto LAB_001dd2cc;\n    }" if (parenthesized_expression "(*(int *)(param_1 + 0x336c) != -0x54535255)" ( (binary_expression "*(int *)(param_1 + 0x336c) != -0x54535255" (pointer_expression "*(int *)(param_1 + 0x336c)" * (cast_expression "(int *)(param_1 + 0x336c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x336c)" ( (binary_expression "param_1 + 0x336c" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                 PTR_s_courses_003a88ec + -0x12ec,0x1db,PTR_s_courses_003a88ec + -0xedc);\n      goto LAB_001dd2cc;\n    }" { (expression_statement "(*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                 PTR_s_courses_003a88ec + -0x12ec,0x1db,PTR_s_courses_003a88ec + -0xedc);" (call_expression "(*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                 PTR_s_courses_003a88ec + -0x12ec,0x1db,PTR_s_courses_003a88ec + -0xedc)" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" ( (pointer_expression "*(code *)PTR___assert_fail_003a9608" * (cast_expression "(code *)PTR___assert_fail_003a9608" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                 PTR_s_courses_003a88ec + -0x12ec,0x1db,PTR_s_courses_003a88ec + -0xedc)" ( (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784" identifier + number_literal) , (binary_expression "PTR_s_courses_003a88ec + -0x12ec" identifier + number_literal) , number_literal , (binary_expression "PTR_s_courses_003a88ec + -0xedc" identifier + number_literal) ))) ;) (goto_statement "goto LAB_001dd2cc;" goto statement_identifier ;) })) (if_statement "if (*(int *)(param_1 + 0x3350) != 0) {\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_courses_003a88ec + -0x12ec,PTR_s_courses_003a88ec + -0xeec,0x1dd);\n    }" if (parenthesized_expression "(*(int *)(param_1 + 0x3350) != 0)" ( (binary_expression "*(int *)(param_1 + 0x3350) != 0" (pointer_expression "*(int *)(param_1 + 0x3350)" * (cast_expression "(int *)(param_1 + 0x3350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3350)" ( (binary_expression "param_1 + 0x3350" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_courses_003a88ec + -0x12ec,PTR_s_courses_003a88ec + -0xeec,0x1dd);\n    }" { (expression_statement "(*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_courses_003a88ec + -0x12ec,PTR_s_courses_003a88ec + -0xeec,0x1dd);" (call_expression "(*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_courses_003a88ec + -0x12ec,PTR_s_courses_003a88ec + -0xeec,0x1dd)" (parenthesized_expression "(*(code *)PTR_LogMagickEvent_003a91e0)" ( (pointer_expression "*(code *)PTR_LogMagickEvent_003a91e0" * (cast_expression "(code *)PTR_LogMagickEvent_003a91e0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x8000,PTR_s_courses_003a88ec + -0x12ec,PTR_s_courses_003a88ec + -0xeec,0x1dd)" ( number_literal , (binary_expression "PTR_s_courses_003a88ec + -0x12ec" identifier + number_literal) , (binary_expression "PTR_s_courses_003a88ec + -0xeec" identifier + number_literal) , number_literal ))) ;) })) (if_statement "if (in_stack_00000018 != 0) {\n      if (*(int *)(in_stack_00000018 + 0x1c) == -0x54535255) {\n        iVar2 = (*(code *)PTR_EdgeImage_003a8dec)(param_1);\n        puVar15 = PTR_ClampImage_003a93c8;\n        if (iVar2 != 0) {\n          *(undefined4 *)(iVar2 + 700) = 0;\n          iVar3 = (*(code *)puVar15)(iVar2,in_stack_00000018);\n          if (iVar3 == 0) {\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n          }\n          else {\n            iVar3 = (*(code *)PTR_BlurImage_003a95c0)(iVar2);\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n            if (iVar3 != 0) {\n              iVar2 = (*(code *)PTR_NormalizeImage_003a8f7c)(iVar3,in_stack_00000018);\n              if (((iVar2 != 0) &&\n                  (iVar2 = (*(code *)PTR_NegateImage_003a985c)(iVar3,0,in_stack_00000018),\n                  iVar2 != 0)) &&\n                 (iVar2 = (*(code *)PTR_GrayscaleImage_003a91cc)\n                                    (iVar3,*(undefined4 *)(param_1 + 0x254),in_stack_00000018),\n                 iVar2 != 0)) {\n                return iVar3;\n              }\n                    /* WARNING: Could not recover jumptable at 0x001dd244. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              iVar2 = (*(code *)PTR_DestroyImage_003a8f4c)(iVar3);\n              return iVar2;\n            }\n          }\n        }\n        return 0;\n      }\n      goto LAB_001dd2f0;\n    }" if (parenthesized_expression "(in_stack_00000018 != 0)" ( (binary_expression "in_stack_00000018 != 0" identifier != number_literal) )) (compound_statement "{\n      if (*(int *)(in_stack_00000018 + 0x1c) == -0x54535255) {\n        iVar2 = (*(code *)PTR_EdgeImage_003a8dec)(param_1);\n        puVar15 = PTR_ClampImage_003a93c8;\n        if (iVar2 != 0) {\n          *(undefined4 *)(iVar2 + 700) = 0;\n          iVar3 = (*(code *)puVar15)(iVar2,in_stack_00000018);\n          if (iVar3 == 0) {\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n          }\n          else {\n            iVar3 = (*(code *)PTR_BlurImage_003a95c0)(iVar2);\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n            if (iVar3 != 0) {\n              iVar2 = (*(code *)PTR_NormalizeImage_003a8f7c)(iVar3,in_stack_00000018);\n              if (((iVar2 != 0) &&\n                  (iVar2 = (*(code *)PTR_NegateImage_003a985c)(iVar3,0,in_stack_00000018),\n                  iVar2 != 0)) &&\n                 (iVar2 = (*(code *)PTR_GrayscaleImage_003a91cc)\n                                    (iVar3,*(undefined4 *)(param_1 + 0x254),in_stack_00000018),\n                 iVar2 != 0)) {\n                return iVar3;\n              }\n                    /* WARNING: Could not recover jumptable at 0x001dd244. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              iVar2 = (*(code *)PTR_DestroyImage_003a8f4c)(iVar3);\n              return iVar2;\n            }\n          }\n        }\n        return 0;\n      }\n      goto LAB_001dd2f0;\n    }" { (if_statement "if (*(int *)(in_stack_00000018 + 0x1c) == -0x54535255) {\n        iVar2 = (*(code *)PTR_EdgeImage_003a8dec)(param_1);\n        puVar15 = PTR_ClampImage_003a93c8;\n        if (iVar2 != 0) {\n          *(undefined4 *)(iVar2 + 700) = 0;\n          iVar3 = (*(code *)puVar15)(iVar2,in_stack_00000018);\n          if (iVar3 == 0) {\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n          }\n          else {\n            iVar3 = (*(code *)PTR_BlurImage_003a95c0)(iVar2);\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n            if (iVar3 != 0) {\n              iVar2 = (*(code *)PTR_NormalizeImage_003a8f7c)(iVar3,in_stack_00000018);\n              if (((iVar2 != 0) &&\n                  (iVar2 = (*(code *)PTR_NegateImage_003a985c)(iVar3,0,in_stack_00000018),\n                  iVar2 != 0)) &&\n                 (iVar2 = (*(code *)PTR_GrayscaleImage_003a91cc)\n                                    (iVar3,*(undefined4 *)(param_1 + 0x254),in_stack_00000018),\n                 iVar2 != 0)) {\n                return iVar3;\n              }\n                    /* WARNING: Could not recover jumptable at 0x001dd244. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              iVar2 = (*(code *)PTR_DestroyImage_003a8f4c)(iVar3);\n              return iVar2;\n            }\n          }\n        }\n        return 0;\n      }" if (parenthesized_expression "(*(int *)(in_stack_00000018 + 0x1c) == -0x54535255)" ( (binary_expression "*(int *)(in_stack_00000018 + 0x1c) == -0x54535255" (pointer_expression "*(int *)(in_stack_00000018 + 0x1c)" * (cast_expression "(int *)(in_stack_00000018 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_stack_00000018 + 0x1c)" ( (binary_expression "in_stack_00000018 + 0x1c" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n        iVar2 = (*(code *)PTR_EdgeImage_003a8dec)(param_1);\n        puVar15 = PTR_ClampImage_003a93c8;\n        if (iVar2 != 0) {\n          *(undefined4 *)(iVar2 + 700) = 0;\n          iVar3 = (*(code *)puVar15)(iVar2,in_stack_00000018);\n          if (iVar3 == 0) {\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n          }\n          else {\n            iVar3 = (*(code *)PTR_BlurImage_003a95c0)(iVar2);\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n            if (iVar3 != 0) {\n              iVar2 = (*(code *)PTR_NormalizeImage_003a8f7c)(iVar3,in_stack_00000018);\n              if (((iVar2 != 0) &&\n                  (iVar2 = (*(code *)PTR_NegateImage_003a985c)(iVar3,0,in_stack_00000018),\n                  iVar2 != 0)) &&\n                 (iVar2 = (*(code *)PTR_GrayscaleImage_003a91cc)\n                                    (iVar3,*(undefined4 *)(param_1 + 0x254),in_stack_00000018),\n                 iVar2 != 0)) {\n                return iVar3;\n              }\n                    /* WARNING: Could not recover jumptable at 0x001dd244. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              iVar2 = (*(code *)PTR_DestroyImage_003a8f4c)(iVar3);\n              return iVar2;\n            }\n          }\n        }\n        return 0;\n      }" { (expression_statement "iVar2 = (*(code *)PTR_EdgeImage_003a8dec)(param_1);" (assignment_expression "iVar2 = (*(code *)PTR_EdgeImage_003a8dec)(param_1)" identifier = (call_expression "(*(code *)PTR_EdgeImage_003a8dec)(param_1)" (parenthesized_expression "(*(code *)PTR_EdgeImage_003a8dec)" ( (pointer_expression "*(code *)PTR_EdgeImage_003a8dec" * (cast_expression "(code *)PTR_EdgeImage_003a8dec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "puVar15 = PTR_ClampImage_003a93c8;" (assignment_expression "puVar15 = PTR_ClampImage_003a93c8" identifier = identifier) ;) (if_statement "if (iVar2 != 0) {\n          *(undefined4 *)(iVar2 + 700) = 0;\n          iVar3 = (*(code *)puVar15)(iVar2,in_stack_00000018);\n          if (iVar3 == 0) {\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n          }\n          else {\n            iVar3 = (*(code *)PTR_BlurImage_003a95c0)(iVar2);\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n            if (iVar3 != 0) {\n              iVar2 = (*(code *)PTR_NormalizeImage_003a8f7c)(iVar3,in_stack_00000018);\n              if (((iVar2 != 0) &&\n                  (iVar2 = (*(code *)PTR_NegateImage_003a985c)(iVar3,0,in_stack_00000018),\n                  iVar2 != 0)) &&\n                 (iVar2 = (*(code *)PTR_GrayscaleImage_003a91cc)\n                                    (iVar3,*(undefined4 *)(param_1 + 0x254),in_stack_00000018),\n                 iVar2 != 0)) {\n                return iVar3;\n              }\n                    /* WARNING: Could not recover jumptable at 0x001dd244. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              iVar2 = (*(code *)PTR_DestroyImage_003a8f4c)(iVar3);\n              return iVar2;\n            }\n          }\n        }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n          *(undefined4 *)(iVar2 + 700) = 0;\n          iVar3 = (*(code *)puVar15)(iVar2,in_stack_00000018);\n          if (iVar3 == 0) {\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n          }\n          else {\n            iVar3 = (*(code *)PTR_BlurImage_003a95c0)(iVar2);\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n            if (iVar3 != 0) {\n              iVar2 = (*(code *)PTR_NormalizeImage_003a8f7c)(iVar3,in_stack_00000018);\n              if (((iVar2 != 0) &&\n                  (iVar2 = (*(code *)PTR_NegateImage_003a985c)(iVar3,0,in_stack_00000018),\n                  iVar2 != 0)) &&\n                 (iVar2 = (*(code *)PTR_GrayscaleImage_003a91cc)\n                                    (iVar3,*(undefined4 *)(param_1 + 0x254),in_stack_00000018),\n                 iVar2 != 0)) {\n                return iVar3;\n              }\n                    /* WARNING: Could not recover jumptable at 0x001dd244. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              iVar2 = (*(code *)PTR_DestroyImage_003a8f4c)(iVar3);\n              return iVar2;\n            }\n          }\n        }" { (expression_statement "*(undefined4 *)(iVar2 + 700) = 0;" (assignment_expression "*(undefined4 *)(iVar2 + 700) = 0" (pointer_expression "*(undefined4 *)(iVar2 + 700)" * (cast_expression "(undefined4 *)(iVar2 + 700)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 700)" ( (binary_expression "iVar2 + 700" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar3 = (*(code *)puVar15)(iVar2,in_stack_00000018);" (assignment_expression "iVar3 = (*(code *)puVar15)(iVar2,in_stack_00000018)" identifier = (call_expression "(*(code *)puVar15)(iVar2,in_stack_00000018)" (parenthesized_expression "(*(code *)puVar15)" ( (pointer_expression "*(code *)puVar15" * (cast_expression "(code *)puVar15" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar2,in_stack_00000018)" ( identifier , identifier )))) ;) (if_statement "if (iVar3 == 0) {\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n          }\n          else {\n            iVar3 = (*(code *)PTR_BlurImage_003a95c0)(iVar2);\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n            if (iVar3 != 0) {\n              iVar2 = (*(code *)PTR_NormalizeImage_003a8f7c)(iVar3,in_stack_00000018);\n              if (((iVar2 != 0) &&\n                  (iVar2 = (*(code *)PTR_NegateImage_003a985c)(iVar3,0,in_stack_00000018),\n                  iVar2 != 0)) &&\n                 (iVar2 = (*(code *)PTR_GrayscaleImage_003a91cc)\n                                    (iVar3,*(undefined4 *)(param_1 + 0x254),in_stack_00000018),\n                 iVar2 != 0)) {\n                return iVar3;\n              }\n                    /* WARNING: Could not recover jumptable at 0x001dd244. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              iVar2 = (*(code *)PTR_DestroyImage_003a8f4c)(iVar3);\n              return iVar2;\n            }\n          }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n          }" { (expression_statement "(*(code *)PTR_DestroyImage_003a8f4c)(iVar2);" (call_expression "(*(code *)PTR_DestroyImage_003a8f4c)(iVar2)" (parenthesized_expression "(*(code *)PTR_DestroyImage_003a8f4c)" ( (pointer_expression "*(code *)PTR_DestroyImage_003a8f4c" * (cast_expression "(code *)PTR_DestroyImage_003a8f4c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar2)" ( identifier ))) ;) }) (else_clause "else {\n            iVar3 = (*(code *)PTR_BlurImage_003a95c0)(iVar2);\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n            if (iVar3 != 0) {\n              iVar2 = (*(code *)PTR_NormalizeImage_003a8f7c)(iVar3,in_stack_00000018);\n              if (((iVar2 != 0) &&\n                  (iVar2 = (*(code *)PTR_NegateImage_003a985c)(iVar3,0,in_stack_00000018),\n                  iVar2 != 0)) &&\n                 (iVar2 = (*(code *)PTR_GrayscaleImage_003a91cc)\n                                    (iVar3,*(undefined4 *)(param_1 + 0x254),in_stack_00000018),\n                 iVar2 != 0)) {\n                return iVar3;\n              }\n                    /* WARNING: Could not recover jumptable at 0x001dd244. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              iVar2 = (*(code *)PTR_DestroyImage_003a8f4c)(iVar3);\n              return iVar2;\n            }\n          }" else (compound_statement "{\n            iVar3 = (*(code *)PTR_BlurImage_003a95c0)(iVar2);\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n            if (iVar3 != 0) {\n              iVar2 = (*(code *)PTR_NormalizeImage_003a8f7c)(iVar3,in_stack_00000018);\n              if (((iVar2 != 0) &&\n                  (iVar2 = (*(code *)PTR_NegateImage_003a985c)(iVar3,0,in_stack_00000018),\n                  iVar2 != 0)) &&\n                 (iVar2 = (*(code *)PTR_GrayscaleImage_003a91cc)\n                                    (iVar3,*(undefined4 *)(param_1 + 0x254),in_stack_00000018),\n                 iVar2 != 0)) {\n                return iVar3;\n              }\n                    /* WARNING: Could not recover jumptable at 0x001dd244. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              iVar2 = (*(code *)PTR_DestroyImage_003a8f4c)(iVar3);\n              return iVar2;\n            }\n          }" { (expression_statement "iVar3 = (*(code *)PTR_BlurImage_003a95c0)(iVar2);" (assignment_expression "iVar3 = (*(code *)PTR_BlurImage_003a95c0)(iVar2)" identifier = (call_expression "(*(code *)PTR_BlurImage_003a95c0)(iVar2)" (parenthesized_expression "(*(code *)PTR_BlurImage_003a95c0)" ( (pointer_expression "*(code *)PTR_BlurImage_003a95c0" * (cast_expression "(code *)PTR_BlurImage_003a95c0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar2)" ( identifier )))) ;) (expression_statement "(*(code *)PTR_DestroyImage_003a8f4c)(iVar2);" (call_expression "(*(code *)PTR_DestroyImage_003a8f4c)(iVar2)" (parenthesized_expression "(*(code *)PTR_DestroyImage_003a8f4c)" ( (pointer_expression "*(code *)PTR_DestroyImage_003a8f4c" * (cast_expression "(code *)PTR_DestroyImage_003a8f4c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar2)" ( identifier ))) ;) (if_statement "if (iVar3 != 0) {\n              iVar2 = (*(code *)PTR_NormalizeImage_003a8f7c)(iVar3,in_stack_00000018);\n              if (((iVar2 != 0) &&\n                  (iVar2 = (*(code *)PTR_NegateImage_003a985c)(iVar3,0,in_stack_00000018),\n                  iVar2 != 0)) &&\n                 (iVar2 = (*(code *)PTR_GrayscaleImage_003a91cc)\n                                    (iVar3,*(undefined4 *)(param_1 + 0x254),in_stack_00000018),\n                 iVar2 != 0)) {\n                return iVar3;\n              }\n                    /* WARNING: Could not recover jumptable at 0x001dd244. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              iVar2 = (*(code *)PTR_DestroyImage_003a8f4c)(iVar3);\n              return iVar2;\n            }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n              iVar2 = (*(code *)PTR_NormalizeImage_003a8f7c)(iVar3,in_stack_00000018);\n              if (((iVar2 != 0) &&\n                  (iVar2 = (*(code *)PTR_NegateImage_003a985c)(iVar3,0,in_stack_00000018),\n                  iVar2 != 0)) &&\n                 (iVar2 = (*(code *)PTR_GrayscaleImage_003a91cc)\n                                    (iVar3,*(undefined4 *)(param_1 + 0x254),in_stack_00000018),\n                 iVar2 != 0)) {\n                return iVar3;\n              }\n                    /* WARNING: Could not recover jumptable at 0x001dd244. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              iVar2 = (*(code *)PTR_DestroyImage_003a8f4c)(iVar3);\n              return iVar2;\n            }" { (expression_statement "iVar2 = (*(code *)PTR_NormalizeImage_003a8f7c)(iVar3,in_stack_00000018);" (assignment_expression "iVar2 = (*(code *)PTR_NormalizeImage_003a8f7c)(iVar3,in_stack_00000018)" identifier = (call_expression "(*(code *)PTR_NormalizeImage_003a8f7c)(iVar3,in_stack_00000018)" (parenthesized_expression "(*(code *)PTR_NormalizeImage_003a8f7c)" ( (pointer_expression "*(code *)PTR_NormalizeImage_003a8f7c" * (cast_expression "(code *)PTR_NormalizeImage_003a8f7c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar3,in_stack_00000018)" ( identifier , identifier )))) ;) (if_statement "if (((iVar2 != 0) &&\n                  (iVar2 = (*(code *)PTR_NegateImage_003a985c)(iVar3,0,in_stack_00000018),\n                  iVar2 != 0)) &&\n                 (iVar2 = (*(code *)PTR_GrayscaleImage_003a91cc)\n                                    (iVar3,*(undefined4 *)(param_1 + 0x254),in_stack_00000018),\n                 iVar2 != 0)) {\n                return iVar3;\n              }" if (parenthesized_expression "(((iVar2 != 0) &&\n                  (iVar2 = (*(code *)PTR_NegateImage_003a985c)(iVar3,0,in_stack_00000018),\n                  iVar2 != 0)) &&\n                 (iVar2 = (*(code *)PTR_GrayscaleImage_003a91cc)\n                                    (iVar3,*(undefined4 *)(param_1 + 0x254),in_stack_00000018),\n                 iVar2 != 0))" ( (binary_expression "((iVar2 != 0) &&\n                  (iVar2 = (*(code *)PTR_NegateImage_003a985c)(iVar3,0,in_stack_00000018),\n                  iVar2 != 0)) &&\n                 (iVar2 = (*(code *)PTR_GrayscaleImage_003a91cc)\n                                    (iVar3,*(undefined4 *)(param_1 + 0x254),in_stack_00000018),\n                 iVar2 != 0)" (parenthesized_expression "((iVar2 != 0) &&\n                  (iVar2 = (*(code *)PTR_NegateImage_003a985c)(iVar3,0,in_stack_00000018),\n                  iVar2 != 0))" ( (binary_expression "(iVar2 != 0) &&\n                  (iVar2 = (*(code *)PTR_NegateImage_003a985c)(iVar3,0,in_stack_00000018),\n                  iVar2 != 0)" (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar2 = (*(code *)PTR_NegateImage_003a985c)(iVar3,0,in_stack_00000018),\n                  iVar2 != 0)" ( (comma_expression "iVar2 = (*(code *)PTR_NegateImage_003a985c)(iVar3,0,in_stack_00000018),\n                  iVar2 != 0" (assignment_expression "iVar2 = (*(code *)PTR_NegateImage_003a985c)(iVar3,0,in_stack_00000018)" identifier = (call_expression "(*(code *)PTR_NegateImage_003a985c)(iVar3,0,in_stack_00000018)" (parenthesized_expression "(*(code *)PTR_NegateImage_003a985c)" ( (pointer_expression "*(code *)PTR_NegateImage_003a985c" * (cast_expression "(code *)PTR_NegateImage_003a985c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar3,0,in_stack_00000018)" ( identifier , number_literal , identifier )))) , (binary_expression "iVar2 != 0" identifier != number_literal)) ))) )) && (parenthesized_expression "(iVar2 = (*(code *)PTR_GrayscaleImage_003a91cc)\n                                    (iVar3,*(undefined4 *)(param_1 + 0x254),in_stack_00000018),\n                 iVar2 != 0)" ( (comma_expression "iVar2 = (*(code *)PTR_GrayscaleImage_003a91cc)\n                                    (iVar3,*(undefined4 *)(param_1 + 0x254),in_stack_00000018),\n                 iVar2 != 0" (assignment_expression "iVar2 = (*(code *)PTR_GrayscaleImage_003a91cc)\n                                    (iVar3,*(undefined4 *)(param_1 + 0x254),in_stack_00000018)" identifier = (call_expression "(*(code *)PTR_GrayscaleImage_003a91cc)\n                                    (iVar3,*(undefined4 *)(param_1 + 0x254),in_stack_00000018)" (parenthesized_expression "(*(code *)PTR_GrayscaleImage_003a91cc)" ( (pointer_expression "*(code *)PTR_GrayscaleImage_003a91cc" * (cast_expression "(code *)PTR_GrayscaleImage_003a91cc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar3,*(undefined4 *)(param_1 + 0x254),in_stack_00000018)" ( identifier , (pointer_expression "*(undefined4 *)(param_1 + 0x254)" * (cast_expression "(undefined4 *)(param_1 + 0x254)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x254)" ( (binary_expression "param_1 + 0x254" identifier + number_literal) )))) , identifier )))) , (binary_expression "iVar2 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n                return iVar3;\n              }" { (return_statement "return iVar3;" return identifier ;) })) comment comment (expression_statement "iVar2 = (*(code *)PTR_DestroyImage_003a8f4c)(iVar3);" (assignment_expression "iVar2 = (*(code *)PTR_DestroyImage_003a8f4c)(iVar3)" identifier = (call_expression "(*(code *)PTR_DestroyImage_003a8f4c)(iVar3)" (parenthesized_expression "(*(code *)PTR_DestroyImage_003a8f4c)" ( (pointer_expression "*(code *)PTR_DestroyImage_003a8f4c" * (cast_expression "(code *)PTR_DestroyImage_003a8f4c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar3)" ( identifier )))) ;) (return_statement "return iVar2;" return identifier ;) })) }))) })) (return_statement "return 0;" return number_literal ;) })) (goto_statement "goto LAB_001dd2f0;" goto statement_identifier ;) })) }))) (expression_statement "iVar2 = 0x1de;" (assignment_expression "iVar2 = 0x1de" identifier = number_literal) ;) (expression_statement "puVar15 = PTR_s_courses_003a88ec + -0xedc;" (assignment_expression "puVar15 = PTR_s_courses_003a88ec + -0xedc" identifier = (binary_expression "PTR_s_courses_003a88ec + -0xedc" identifier + number_literal)) ;) (expression_statement "puVar13 = PTR_s_courses_003a88ec + -0x12ec;" (assignment_expression "puVar13 = PTR_s_courses_003a88ec + -0x12ec" identifier = (binary_expression "PTR_s_courses_003a88ec + -0x12ec" identifier + number_literal)) ;) (expression_statement "puVar10 = PTR_LAB_003a88e0 + 0x1cac;" (assignment_expression "puVar10 = PTR_LAB_003a88e0 + 0x1cac" identifier = (binary_expression "PTR_LAB_003a88e0 + 0x1cac" identifier + number_literal)) ;) (expression_statement "puVar20 = PTR___assert_fail_003a9608;" (assignment_expression "puVar20 = PTR___assert_fail_003a9608" identifier = identifier) ;) (expression_statement "(*(code *)PTR___assert_fail_003a9608)();" (call_expression "(*(code *)PTR___assert_fail_003a9608)()" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" ( (pointer_expression "*(code *)PTR___assert_fail_003a9608" * (cast_expression "(code *)PTR___assert_fail_003a9608" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "piVar18 = *(int **)(puVar20 + 0x1cbef8);" (assignment_expression "piVar18 = *(int **)(puVar20 + 0x1cbef8)" identifier = (pointer_expression "*(int **)(puVar20 + 0x1cbef8)" * (cast_expression "(int **)(puVar20 + 0x1cbef8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x1cbef8)" ( (binary_expression "puVar20 + 0x1cbef8" identifier + number_literal) ))))) ;) (expression_statement "iStack_68 = in_stack_00000018;" (assignment_expression "iStack_68 = in_stack_00000018" identifier = identifier) ;) (expression_statement "iStack_6c = *piVar18;" (assignment_expression "iStack_6c = *piVar18" identifier = (pointer_expression "*piVar18" * identifier)) ;) (expression_statement "puStack_64 = unaff_s1;" (assignment_expression "puStack_64 = unaff_s1" identifier = identifier) ;) (if_statement "if (puVar10 == (undefined *)0x0) {\n    (**(code **)(puVar20 + 0x1cc2d0))\n              (*(int *)(puVar20 + 0x1cb5b0) + -0x37b0,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,0x238,\n               *(int *)(puVar20 + 0x1cb5b4) + -0xefc);\n    puVar10 = unaff_s2;\nLAB_001dd890:\n    (**(code **)(puVar20 + 0x1cbd2c))();\nLAB_001dd89c:\n    puVar13 = unaff_s5;\n    iVar2 = unaff_s3;\n    puVar15 = unaff_s1;\n    (**(code **)(puVar20 + 0x1cc2d0))\n              (*(int *)(puVar20 + 0x1cb5b0) + -0x3784,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,0x239,\n               *(int *)(puVar20 + 0x1cb5b4) + -0xefc);\nLAB_001dd8c0:\n    (**(code **)(puVar20 + 0x1cc2d0))\n              (*(int *)(puVar20 + 0x1cb5a8) + 0x294c,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,0x23d,\n               *(int *)(puVar20 + 0x1cb5b4) + -0xefc);\n  }\n  else {\n    if (*(int *)(puVar10 + 0x336c) != -0x54535255) goto LAB_001dd89c;\n    if (*(int *)(puVar10 + 0x3350) != 0) {\n      (**(code **)(puVar20 + 0x1cbea8))\n                (0x8000,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,*(int *)(puVar20 + 0x1cb5b4) + -0xf0c\n                 ,0x23b);\n    }\n    if (puVar15 != (undefined *)0x0) {\n      if (*(int *)(puVar15 + 0x1c) == -0x54535255) {\n        iVar3 = (**(code **)(puVar20 + 0x1cc4f8))(puVar10,0,0,1);\n        in_stack_00000018 = iVar3;\n        if (iVar3 != 0) {\n          iVar4 = (**(code **)(puVar20 + 0x1cc4ec))(iVar3,1,puVar15);\n          if (iVar4 == 0) {\n            in_stack_00000018 = 0;\n            (**(code **)(puVar20 + 0x1cbc14))(iVar3);\n          }\n          else {\n            if (*(int *)(iVar3 + 4) == 0x21) {\nLAB_001dd4b8:\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);\nLAB_001dd4bc:\n              (*pcVar21)(iVar3,0x17,puVar15);\n            }\n            else {\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);\n              if (*(int *)(iVar3 + 4) == 3) goto LAB_001dd4bc;\n              dVar23 = *(double *)(iVar2 + 0x28) - *(double *)(iVar2 + 0x30);\n              if (dVar23 < 0.0) {\n                dVar23 = -dVar23;\n              }\n              if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) {\n                dVar23 = *(double *)(iVar2 + 0x30) - *(double *)(iVar2 + 0x38);\n                if (dVar23 < 0.0) {\n                  dVar23 = -dVar23;\n                }\n                if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) goto LAB_001dd4b8;\n              }\n            }\n            if ((*(int *)(iVar3 + 700) == 0) && (*(int *)(iVar2 + 8) != 0)) {\n              (**(code **)(puVar20 + 0x1cb940))\n                        (iVar3,*(undefined4 *)(*(int *)(puVar20 + 0x1cb5a8) + 0x1a50),puVar15);\n            }\n            if (puVar13 != (undefined *)0x0) {\n              unaff_s6 = auStack_c8;\n              (**(code **)(puVar20 + 0x1cbf7c))(iVar3,unaff_s6);\n              uVar5 = (**(code **)(puVar20 + 0x1cc11c))(puVar13,&uStack_f0);\n              uStack_80 = 0;\n              uStack_a0 = uStack_f0;\n              uStack_98 = uStack_f0;\n              uStack_90 = uStack_f0;\n              uStack_88 = uStack_f0;\n              if ((uVar5 & 8) != 0) {\n                uStack_98 = uStack_e8;\n              }\n              if ((uVar5 & 1) != 0) {\n                uStack_90 = uStack_e0;\n              }\n              if ((uVar5 & 2) == 0) {\n                pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                uVar24 = uStack_88;\n                if (iStack_c4 == 2) goto LAB_001dd6b0;\n              }\n              else {\n                uStack_80 = uStack_d8;\n                uVar24 = uStack_d8;\n                if (iStack_c4 == 2) {\nLAB_001dd6b0:\n                  uStack_88 = uVar24;\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                  if ((uVar5 & 0x10) != 0) {\n                    uStack_80 = uStack_d0;\n                  }\n                }\n                else {\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                }\n              }\n              uStack_114 = 0;\n              uStack_118 = 0;\n              puVar13 = (undefined *)(*pcVar21)(iVar3,puVar15);\n              iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3);\n              if (((iVar4 == 4) || (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3))\n                 && ((iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 4 ||\n                     (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3)))) {\n                (**(code **)(puVar20 + 0x1cbe04))(7);\n                iVar11 = *(int *)(iVar3 + 0x1c);\n                iVar4 = iVar11;\n                if (iVar11 < 0) {\n                  iVar4 = iVar11 + 0x3f;\n                }\n                if (extraout_v1 < iVar4 >> 6) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  bVar1 = extraout_v1_02 < 2;\n                }\n                else {\n                  bVar1 = iVar11 < 0x80;\n                }\n                iVar4 = 1;\n                if ((bool)(bVar1 ^ 1)) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  iVar4 = *(int *)(iVar3 + 0x1c);\n                  if (iVar4 < 0) {\n                    iVar4 = iVar4 + 0x3f;\n                  }\n                  iVar4 = iVar4 >> 6;\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                  if (extraout_v1_01 < iVar4) {\n                    pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                    goto LAB_001dd7c0;\n                  }\n                }\n                else {\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                }\n              }\n              else {\n                uVar24 = (**(code **)(puVar20 + 0x1cbe04))(7);\n                if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  uVar24 = (*pcVar21)(7);\n                  if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001dd5d0;\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  iVar4 = 1;\n                }\n                else {\nLAB_001dd5d0:\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\nLAB_001dd5d4:\n                  uVar24 = (*pcVar21)(7);\n                  if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n                     (pcVar21 = *(code **)(puVar20 + 0x1cbe04), (uint)uVar24 < 2)) {\nLAB_001dd7c0:\n                    (*pcVar21)(7);\n                    iVar4 = extraout_v1_00;\n                  }\n                  else {\n                    iVar4 = 2;\n                  }\n                }\n                iVar11 = *(int *)(puVar20 + 0x1cb66c);\n              }\n              puStack_f8 = (undefined *)0x1;\n              puStack_f4 = &uStack_118;\n              puStack_110 = puVar10;\n              iStack_10c = iVar2;\n              puStack_108 = puVar15;\n              puStack_104 = puVar13;\n              iStack_100 = iVar3;\n              puStack_fc = unaff_s6;\n              (**(code **)(puVar20 + 0x1cbe60))(iVar11 + -0x43b4,&puStack_110,iVar4,0);\n              puVar15 = puStack_f8;\n              (**(code **)(puVar20 + 0x1cbbbc))(puVar13);\n              if (puVar15 == (undefined *)0x0) {\n                in_stack_00000018 = (**(code **)(puVar20 + 0x1cbc14))(iVar3);\n              }\n            }\n          }\n        }\n        unaff_s1 = puVar15;\n        unaff_s3 = iVar2;\n        unaff_s5 = puVar13;\n        if (iStack_6c == *piVar18) {\n          return in_stack_00000018;\n        }\n        goto LAB_001dd890;\n      }\n      goto LAB_001dd8c0;\n    }\n  }" if (parenthesized_expression "(puVar10 == (undefined *)0x0)" ( (binary_expression "puVar10 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    (**(code **)(puVar20 + 0x1cc2d0))\n              (*(int *)(puVar20 + 0x1cb5b0) + -0x37b0,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,0x238,\n               *(int *)(puVar20 + 0x1cb5b4) + -0xefc);\n    puVar10 = unaff_s2;\nLAB_001dd890:\n    (**(code **)(puVar20 + 0x1cbd2c))();\nLAB_001dd89c:\n    puVar13 = unaff_s5;\n    iVar2 = unaff_s3;\n    puVar15 = unaff_s1;\n    (**(code **)(puVar20 + 0x1cc2d0))\n              (*(int *)(puVar20 + 0x1cb5b0) + -0x3784,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,0x239,\n               *(int *)(puVar20 + 0x1cb5b4) + -0xefc);\nLAB_001dd8c0:\n    (**(code **)(puVar20 + 0x1cc2d0))\n              (*(int *)(puVar20 + 0x1cb5a8) + 0x294c,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,0x23d,\n               *(int *)(puVar20 + 0x1cb5b4) + -0xefc);\n  }" { (expression_statement "(**(code **)(puVar20 + 0x1cc2d0))\n              (*(int *)(puVar20 + 0x1cb5b0) + -0x37b0,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,0x238,\n               *(int *)(puVar20 + 0x1cb5b4) + -0xefc);" (call_expression "(**(code **)(puVar20 + 0x1cc2d0))\n              (*(int *)(puVar20 + 0x1cb5b0) + -0x37b0,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,0x238,\n               *(int *)(puVar20 + 0x1cb5b4) + -0xefc)" (parenthesized_expression "(**(code **)(puVar20 + 0x1cc2d0))" ( (pointer_expression "**(code **)(puVar20 + 0x1cc2d0)" * (pointer_expression "*(code **)(puVar20 + 0x1cc2d0)" * (cast_expression "(code **)(puVar20 + 0x1cc2d0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x1cc2d0)" ( (binary_expression "puVar20 + 0x1cc2d0" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar20 + 0x1cb5b0) + -0x37b0,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,0x238,\n               *(int *)(puVar20 + 0x1cb5b4) + -0xefc)" ( (binary_expression "*(int *)(puVar20 + 0x1cb5b0) + -0x37b0" (pointer_expression "*(int *)(puVar20 + 0x1cb5b0)" * (cast_expression "(int *)(puVar20 + 0x1cb5b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x1cb5b0)" ( (binary_expression "puVar20 + 0x1cb5b0" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar20 + 0x1cb5b4) + -0x12ec" (pointer_expression "*(int *)(puVar20 + 0x1cb5b4)" * (cast_expression "(int *)(puVar20 + 0x1cb5b4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x1cb5b4)" ( (binary_expression "puVar20 + 0x1cb5b4" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar20 + 0x1cb5b4) + -0xefc" (pointer_expression "*(int *)(puVar20 + 0x1cb5b4)" * (cast_expression "(int *)(puVar20 + 0x1cb5b4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x1cb5b4)" ( (binary_expression "puVar20 + 0x1cb5b4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "puVar10 = unaff_s2;" (assignment_expression "puVar10 = unaff_s2" identifier = identifier) ;) (labeled_statement "LAB_001dd890:\n    (**(code **)(puVar20 + 0x1cbd2c))();" statement_identifier : (expression_statement "(**(code **)(puVar20 + 0x1cbd2c))();" (call_expression "(**(code **)(puVar20 + 0x1cbd2c))()" (parenthesized_expression "(**(code **)(puVar20 + 0x1cbd2c))" ( (pointer_expression "**(code **)(puVar20 + 0x1cbd2c)" * (pointer_expression "*(code **)(puVar20 + 0x1cbd2c)" * (cast_expression "(code **)(puVar20 + 0x1cbd2c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x1cbd2c)" ( (binary_expression "puVar20 + 0x1cbd2c" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;)) (labeled_statement "LAB_001dd89c:\n    puVar13 = unaff_s5;" statement_identifier : (expression_statement "puVar13 = unaff_s5;" (assignment_expression "puVar13 = unaff_s5" identifier = identifier) ;)) (expression_statement "iVar2 = unaff_s3;" (assignment_expression "iVar2 = unaff_s3" identifier = identifier) ;) (expression_statement "puVar15 = unaff_s1;" (assignment_expression "puVar15 = unaff_s1" identifier = identifier) ;) (expression_statement "(**(code **)(puVar20 + 0x1cc2d0))\n              (*(int *)(puVar20 + 0x1cb5b0) + -0x3784,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,0x239,\n               *(int *)(puVar20 + 0x1cb5b4) + -0xefc);" (call_expression "(**(code **)(puVar20 + 0x1cc2d0))\n              (*(int *)(puVar20 + 0x1cb5b0) + -0x3784,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,0x239,\n               *(int *)(puVar20 + 0x1cb5b4) + -0xefc)" (parenthesized_expression "(**(code **)(puVar20 + 0x1cc2d0))" ( (pointer_expression "**(code **)(puVar20 + 0x1cc2d0)" * (pointer_expression "*(code **)(puVar20 + 0x1cc2d0)" * (cast_expression "(code **)(puVar20 + 0x1cc2d0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x1cc2d0)" ( (binary_expression "puVar20 + 0x1cc2d0" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar20 + 0x1cb5b0) + -0x3784,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,0x239,\n               *(int *)(puVar20 + 0x1cb5b4) + -0xefc)" ( (binary_expression "*(int *)(puVar20 + 0x1cb5b0) + -0x3784" (pointer_expression "*(int *)(puVar20 + 0x1cb5b0)" * (cast_expression "(int *)(puVar20 + 0x1cb5b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x1cb5b0)" ( (binary_expression "puVar20 + 0x1cb5b0" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar20 + 0x1cb5b4) + -0x12ec" (pointer_expression "*(int *)(puVar20 + 0x1cb5b4)" * (cast_expression "(int *)(puVar20 + 0x1cb5b4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x1cb5b4)" ( (binary_expression "puVar20 + 0x1cb5b4" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar20 + 0x1cb5b4) + -0xefc" (pointer_expression "*(int *)(puVar20 + 0x1cb5b4)" * (cast_expression "(int *)(puVar20 + 0x1cb5b4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x1cb5b4)" ( (binary_expression "puVar20 + 0x1cb5b4" identifier + number_literal) )))) + number_literal) ))) ;) (labeled_statement "LAB_001dd8c0:\n    (**(code **)(puVar20 + 0x1cc2d0))\n              (*(int *)(puVar20 + 0x1cb5a8) + 0x294c,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,0x23d,\n               *(int *)(puVar20 + 0x1cb5b4) + -0xefc);" statement_identifier : (expression_statement "(**(code **)(puVar20 + 0x1cc2d0))\n              (*(int *)(puVar20 + 0x1cb5a8) + 0x294c,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,0x23d,\n               *(int *)(puVar20 + 0x1cb5b4) + -0xefc);" (call_expression "(**(code **)(puVar20 + 0x1cc2d0))\n              (*(int *)(puVar20 + 0x1cb5a8) + 0x294c,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,0x23d,\n               *(int *)(puVar20 + 0x1cb5b4) + -0xefc)" (parenthesized_expression "(**(code **)(puVar20 + 0x1cc2d0))" ( (pointer_expression "**(code **)(puVar20 + 0x1cc2d0)" * (pointer_expression "*(code **)(puVar20 + 0x1cc2d0)" * (cast_expression "(code **)(puVar20 + 0x1cc2d0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x1cc2d0)" ( (binary_expression "puVar20 + 0x1cc2d0" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar20 + 0x1cb5a8) + 0x294c,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,0x23d,\n               *(int *)(puVar20 + 0x1cb5b4) + -0xefc)" ( (binary_expression "*(int *)(puVar20 + 0x1cb5a8) + 0x294c" (pointer_expression "*(int *)(puVar20 + 0x1cb5a8)" * (cast_expression "(int *)(puVar20 + 0x1cb5a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x1cb5a8)" ( (binary_expression "puVar20 + 0x1cb5a8" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar20 + 0x1cb5b4) + -0x12ec" (pointer_expression "*(int *)(puVar20 + 0x1cb5b4)" * (cast_expression "(int *)(puVar20 + 0x1cb5b4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x1cb5b4)" ( (binary_expression "puVar20 + 0x1cb5b4" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar20 + 0x1cb5b4) + -0xefc" (pointer_expression "*(int *)(puVar20 + 0x1cb5b4)" * (cast_expression "(int *)(puVar20 + 0x1cb5b4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x1cb5b4)" ( (binary_expression "puVar20 + 0x1cb5b4" identifier + number_literal) )))) + number_literal) ))) ;)) }) (else_clause "else {\n    if (*(int *)(puVar10 + 0x336c) != -0x54535255) goto LAB_001dd89c;\n    if (*(int *)(puVar10 + 0x3350) != 0) {\n      (**(code **)(puVar20 + 0x1cbea8))\n                (0x8000,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,*(int *)(puVar20 + 0x1cb5b4) + -0xf0c\n                 ,0x23b);\n    }\n    if (puVar15 != (undefined *)0x0) {\n      if (*(int *)(puVar15 + 0x1c) == -0x54535255) {\n        iVar3 = (**(code **)(puVar20 + 0x1cc4f8))(puVar10,0,0,1);\n        in_stack_00000018 = iVar3;\n        if (iVar3 != 0) {\n          iVar4 = (**(code **)(puVar20 + 0x1cc4ec))(iVar3,1,puVar15);\n          if (iVar4 == 0) {\n            in_stack_00000018 = 0;\n            (**(code **)(puVar20 + 0x1cbc14))(iVar3);\n          }\n          else {\n            if (*(int *)(iVar3 + 4) == 0x21) {\nLAB_001dd4b8:\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);\nLAB_001dd4bc:\n              (*pcVar21)(iVar3,0x17,puVar15);\n            }\n            else {\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);\n              if (*(int *)(iVar3 + 4) == 3) goto LAB_001dd4bc;\n              dVar23 = *(double *)(iVar2 + 0x28) - *(double *)(iVar2 + 0x30);\n              if (dVar23 < 0.0) {\n                dVar23 = -dVar23;\n              }\n              if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) {\n                dVar23 = *(double *)(iVar2 + 0x30) - *(double *)(iVar2 + 0x38);\n                if (dVar23 < 0.0) {\n                  dVar23 = -dVar23;\n                }\n                if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) goto LAB_001dd4b8;\n              }\n            }\n            if ((*(int *)(iVar3 + 700) == 0) && (*(int *)(iVar2 + 8) != 0)) {\n              (**(code **)(puVar20 + 0x1cb940))\n                        (iVar3,*(undefined4 *)(*(int *)(puVar20 + 0x1cb5a8) + 0x1a50),puVar15);\n            }\n            if (puVar13 != (undefined *)0x0) {\n              unaff_s6 = auStack_c8;\n              (**(code **)(puVar20 + 0x1cbf7c))(iVar3,unaff_s6);\n              uVar5 = (**(code **)(puVar20 + 0x1cc11c))(puVar13,&uStack_f0);\n              uStack_80 = 0;\n              uStack_a0 = uStack_f0;\n              uStack_98 = uStack_f0;\n              uStack_90 = uStack_f0;\n              uStack_88 = uStack_f0;\n              if ((uVar5 & 8) != 0) {\n                uStack_98 = uStack_e8;\n              }\n              if ((uVar5 & 1) != 0) {\n                uStack_90 = uStack_e0;\n              }\n              if ((uVar5 & 2) == 0) {\n                pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                uVar24 = uStack_88;\n                if (iStack_c4 == 2) goto LAB_001dd6b0;\n              }\n              else {\n                uStack_80 = uStack_d8;\n                uVar24 = uStack_d8;\n                if (iStack_c4 == 2) {\nLAB_001dd6b0:\n                  uStack_88 = uVar24;\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                  if ((uVar5 & 0x10) != 0) {\n                    uStack_80 = uStack_d0;\n                  }\n                }\n                else {\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                }\n              }\n              uStack_114 = 0;\n              uStack_118 = 0;\n              puVar13 = (undefined *)(*pcVar21)(iVar3,puVar15);\n              iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3);\n              if (((iVar4 == 4) || (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3))\n                 && ((iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 4 ||\n                     (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3)))) {\n                (**(code **)(puVar20 + 0x1cbe04))(7);\n                iVar11 = *(int *)(iVar3 + 0x1c);\n                iVar4 = iVar11;\n                if (iVar11 < 0) {\n                  iVar4 = iVar11 + 0x3f;\n                }\n                if (extraout_v1 < iVar4 >> 6) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  bVar1 = extraout_v1_02 < 2;\n                }\n                else {\n                  bVar1 = iVar11 < 0x80;\n                }\n                iVar4 = 1;\n                if ((bool)(bVar1 ^ 1)) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  iVar4 = *(int *)(iVar3 + 0x1c);\n                  if (iVar4 < 0) {\n                    iVar4 = iVar4 + 0x3f;\n                  }\n                  iVar4 = iVar4 >> 6;\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                  if (extraout_v1_01 < iVar4) {\n                    pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                    goto LAB_001dd7c0;\n                  }\n                }\n                else {\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                }\n              }\n              else {\n                uVar24 = (**(code **)(puVar20 + 0x1cbe04))(7);\n                if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  uVar24 = (*pcVar21)(7);\n                  if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001dd5d0;\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  iVar4 = 1;\n                }\n                else {\nLAB_001dd5d0:\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\nLAB_001dd5d4:\n                  uVar24 = (*pcVar21)(7);\n                  if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n                     (pcVar21 = *(code **)(puVar20 + 0x1cbe04), (uint)uVar24 < 2)) {\nLAB_001dd7c0:\n                    (*pcVar21)(7);\n                    iVar4 = extraout_v1_00;\n                  }\n                  else {\n                    iVar4 = 2;\n                  }\n                }\n                iVar11 = *(int *)(puVar20 + 0x1cb66c);\n              }\n              puStack_f8 = (undefined *)0x1;\n              puStack_f4 = &uStack_118;\n              puStack_110 = puVar10;\n              iStack_10c = iVar2;\n              puStack_108 = puVar15;\n              puStack_104 = puVar13;\n              iStack_100 = iVar3;\n              puStack_fc = unaff_s6;\n              (**(code **)(puVar20 + 0x1cbe60))(iVar11 + -0x43b4,&puStack_110,iVar4,0);\n              puVar15 = puStack_f8;\n              (**(code **)(puVar20 + 0x1cbbbc))(puVar13);\n              if (puVar15 == (undefined *)0x0) {\n                in_stack_00000018 = (**(code **)(puVar20 + 0x1cbc14))(iVar3);\n              }\n            }\n          }\n        }\n        unaff_s1 = puVar15;\n        unaff_s3 = iVar2;\n        unaff_s5 = puVar13;\n        if (iStack_6c == *piVar18) {\n          return in_stack_00000018;\n        }\n        goto LAB_001dd890;\n      }\n      goto LAB_001dd8c0;\n    }\n  }" else (compound_statement "{\n    if (*(int *)(puVar10 + 0x336c) != -0x54535255) goto LAB_001dd89c;\n    if (*(int *)(puVar10 + 0x3350) != 0) {\n      (**(code **)(puVar20 + 0x1cbea8))\n                (0x8000,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,*(int *)(puVar20 + 0x1cb5b4) + -0xf0c\n                 ,0x23b);\n    }\n    if (puVar15 != (undefined *)0x0) {\n      if (*(int *)(puVar15 + 0x1c) == -0x54535255) {\n        iVar3 = (**(code **)(puVar20 + 0x1cc4f8))(puVar10,0,0,1);\n        in_stack_00000018 = iVar3;\n        if (iVar3 != 0) {\n          iVar4 = (**(code **)(puVar20 + 0x1cc4ec))(iVar3,1,puVar15);\n          if (iVar4 == 0) {\n            in_stack_00000018 = 0;\n            (**(code **)(puVar20 + 0x1cbc14))(iVar3);\n          }\n          else {\n            if (*(int *)(iVar3 + 4) == 0x21) {\nLAB_001dd4b8:\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);\nLAB_001dd4bc:\n              (*pcVar21)(iVar3,0x17,puVar15);\n            }\n            else {\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);\n              if (*(int *)(iVar3 + 4) == 3) goto LAB_001dd4bc;\n              dVar23 = *(double *)(iVar2 + 0x28) - *(double *)(iVar2 + 0x30);\n              if (dVar23 < 0.0) {\n                dVar23 = -dVar23;\n              }\n              if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) {\n                dVar23 = *(double *)(iVar2 + 0x30) - *(double *)(iVar2 + 0x38);\n                if (dVar23 < 0.0) {\n                  dVar23 = -dVar23;\n                }\n                if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) goto LAB_001dd4b8;\n              }\n            }\n            if ((*(int *)(iVar3 + 700) == 0) && (*(int *)(iVar2 + 8) != 0)) {\n              (**(code **)(puVar20 + 0x1cb940))\n                        (iVar3,*(undefined4 *)(*(int *)(puVar20 + 0x1cb5a8) + 0x1a50),puVar15);\n            }\n            if (puVar13 != (undefined *)0x0) {\n              unaff_s6 = auStack_c8;\n              (**(code **)(puVar20 + 0x1cbf7c))(iVar3,unaff_s6);\n              uVar5 = (**(code **)(puVar20 + 0x1cc11c))(puVar13,&uStack_f0);\n              uStack_80 = 0;\n              uStack_a0 = uStack_f0;\n              uStack_98 = uStack_f0;\n              uStack_90 = uStack_f0;\n              uStack_88 = uStack_f0;\n              if ((uVar5 & 8) != 0) {\n                uStack_98 = uStack_e8;\n              }\n              if ((uVar5 & 1) != 0) {\n                uStack_90 = uStack_e0;\n              }\n              if ((uVar5 & 2) == 0) {\n                pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                uVar24 = uStack_88;\n                if (iStack_c4 == 2) goto LAB_001dd6b0;\n              }\n              else {\n                uStack_80 = uStack_d8;\n                uVar24 = uStack_d8;\n                if (iStack_c4 == 2) {\nLAB_001dd6b0:\n                  uStack_88 = uVar24;\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                  if ((uVar5 & 0x10) != 0) {\n                    uStack_80 = uStack_d0;\n                  }\n                }\n                else {\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                }\n              }\n              uStack_114 = 0;\n              uStack_118 = 0;\n              puVar13 = (undefined *)(*pcVar21)(iVar3,puVar15);\n              iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3);\n              if (((iVar4 == 4) || (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3))\n                 && ((iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 4 ||\n                     (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3)))) {\n                (**(code **)(puVar20 + 0x1cbe04))(7);\n                iVar11 = *(int *)(iVar3 + 0x1c);\n                iVar4 = iVar11;\n                if (iVar11 < 0) {\n                  iVar4 = iVar11 + 0x3f;\n                }\n                if (extraout_v1 < iVar4 >> 6) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  bVar1 = extraout_v1_02 < 2;\n                }\n                else {\n                  bVar1 = iVar11 < 0x80;\n                }\n                iVar4 = 1;\n                if ((bool)(bVar1 ^ 1)) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  iVar4 = *(int *)(iVar3 + 0x1c);\n                  if (iVar4 < 0) {\n                    iVar4 = iVar4 + 0x3f;\n                  }\n                  iVar4 = iVar4 >> 6;\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                  if (extraout_v1_01 < iVar4) {\n                    pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                    goto LAB_001dd7c0;\n                  }\n                }\n                else {\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                }\n              }\n              else {\n                uVar24 = (**(code **)(puVar20 + 0x1cbe04))(7);\n                if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  uVar24 = (*pcVar21)(7);\n                  if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001dd5d0;\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  iVar4 = 1;\n                }\n                else {\nLAB_001dd5d0:\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\nLAB_001dd5d4:\n                  uVar24 = (*pcVar21)(7);\n                  if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n                     (pcVar21 = *(code **)(puVar20 + 0x1cbe04), (uint)uVar24 < 2)) {\nLAB_001dd7c0:\n                    (*pcVar21)(7);\n                    iVar4 = extraout_v1_00;\n                  }\n                  else {\n                    iVar4 = 2;\n                  }\n                }\n                iVar11 = *(int *)(puVar20 + 0x1cb66c);\n              }\n              puStack_f8 = (undefined *)0x1;\n              puStack_f4 = &uStack_118;\n              puStack_110 = puVar10;\n              iStack_10c = iVar2;\n              puStack_108 = puVar15;\n              puStack_104 = puVar13;\n              iStack_100 = iVar3;\n              puStack_fc = unaff_s6;\n              (**(code **)(puVar20 + 0x1cbe60))(iVar11 + -0x43b4,&puStack_110,iVar4,0);\n              puVar15 = puStack_f8;\n              (**(code **)(puVar20 + 0x1cbbbc))(puVar13);\n              if (puVar15 == (undefined *)0x0) {\n                in_stack_00000018 = (**(code **)(puVar20 + 0x1cbc14))(iVar3);\n              }\n            }\n          }\n        }\n        unaff_s1 = puVar15;\n        unaff_s3 = iVar2;\n        unaff_s5 = puVar13;\n        if (iStack_6c == *piVar18) {\n          return in_stack_00000018;\n        }\n        goto LAB_001dd890;\n      }\n      goto LAB_001dd8c0;\n    }\n  }" { (if_statement "if (*(int *)(puVar10 + 0x336c) != -0x54535255) goto LAB_001dd89c;" if (parenthesized_expression "(*(int *)(puVar10 + 0x336c) != -0x54535255)" ( (binary_expression "*(int *)(puVar10 + 0x336c) != -0x54535255" (pointer_expression "*(int *)(puVar10 + 0x336c)" * (cast_expression "(int *)(puVar10 + 0x336c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x336c)" ( (binary_expression "puVar10 + 0x336c" identifier + number_literal) )))) != number_literal) )) (goto_statement "goto LAB_001dd89c;" goto statement_identifier ;)) (if_statement "if (*(int *)(puVar10 + 0x3350) != 0) {\n      (**(code **)(puVar20 + 0x1cbea8))\n                (0x8000,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,*(int *)(puVar20 + 0x1cb5b4) + -0xf0c\n                 ,0x23b);\n    }" if (parenthesized_expression "(*(int *)(puVar10 + 0x3350) != 0)" ( (binary_expression "*(int *)(puVar10 + 0x3350) != 0" (pointer_expression "*(int *)(puVar10 + 0x3350)" * (cast_expression "(int *)(puVar10 + 0x3350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x3350)" ( (binary_expression "puVar10 + 0x3350" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      (**(code **)(puVar20 + 0x1cbea8))\n                (0x8000,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,*(int *)(puVar20 + 0x1cb5b4) + -0xf0c\n                 ,0x23b);\n    }" { (expression_statement "(**(code **)(puVar20 + 0x1cbea8))\n                (0x8000,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,*(int *)(puVar20 + 0x1cb5b4) + -0xf0c\n                 ,0x23b);" (call_expression "(**(code **)(puVar20 + 0x1cbea8))\n                (0x8000,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,*(int *)(puVar20 + 0x1cb5b4) + -0xf0c\n                 ,0x23b)" (parenthesized_expression "(**(code **)(puVar20 + 0x1cbea8))" ( (pointer_expression "**(code **)(puVar20 + 0x1cbea8)" * (pointer_expression "*(code **)(puVar20 + 0x1cbea8)" * (cast_expression "(code **)(puVar20 + 0x1cbea8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x1cbea8)" ( (binary_expression "puVar20 + 0x1cbea8" identifier + number_literal) ))))) )) (argument_list "(0x8000,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,*(int *)(puVar20 + 0x1cb5b4) + -0xf0c\n                 ,0x23b)" ( number_literal , (binary_expression "*(int *)(puVar20 + 0x1cb5b4) + -0x12ec" (pointer_expression "*(int *)(puVar20 + 0x1cb5b4)" * (cast_expression "(int *)(puVar20 + 0x1cb5b4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x1cb5b4)" ( (binary_expression "puVar20 + 0x1cb5b4" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar20 + 0x1cb5b4) + -0xf0c" (pointer_expression "*(int *)(puVar20 + 0x1cb5b4)" * (cast_expression "(int *)(puVar20 + 0x1cb5b4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x1cb5b4)" ( (binary_expression "puVar20 + 0x1cb5b4" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) })) (if_statement "if (puVar15 != (undefined *)0x0) {\n      if (*(int *)(puVar15 + 0x1c) == -0x54535255) {\n        iVar3 = (**(code **)(puVar20 + 0x1cc4f8))(puVar10,0,0,1);\n        in_stack_00000018 = iVar3;\n        if (iVar3 != 0) {\n          iVar4 = (**(code **)(puVar20 + 0x1cc4ec))(iVar3,1,puVar15);\n          if (iVar4 == 0) {\n            in_stack_00000018 = 0;\n            (**(code **)(puVar20 + 0x1cbc14))(iVar3);\n          }\n          else {\n            if (*(int *)(iVar3 + 4) == 0x21) {\nLAB_001dd4b8:\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);\nLAB_001dd4bc:\n              (*pcVar21)(iVar3,0x17,puVar15);\n            }\n            else {\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);\n              if (*(int *)(iVar3 + 4) == 3) goto LAB_001dd4bc;\n              dVar23 = *(double *)(iVar2 + 0x28) - *(double *)(iVar2 + 0x30);\n              if (dVar23 < 0.0) {\n                dVar23 = -dVar23;\n              }\n              if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) {\n                dVar23 = *(double *)(iVar2 + 0x30) - *(double *)(iVar2 + 0x38);\n                if (dVar23 < 0.0) {\n                  dVar23 = -dVar23;\n                }\n                if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) goto LAB_001dd4b8;\n              }\n            }\n            if ((*(int *)(iVar3 + 700) == 0) && (*(int *)(iVar2 + 8) != 0)) {\n              (**(code **)(puVar20 + 0x1cb940))\n                        (iVar3,*(undefined4 *)(*(int *)(puVar20 + 0x1cb5a8) + 0x1a50),puVar15);\n            }\n            if (puVar13 != (undefined *)0x0) {\n              unaff_s6 = auStack_c8;\n              (**(code **)(puVar20 + 0x1cbf7c))(iVar3,unaff_s6);\n              uVar5 = (**(code **)(puVar20 + 0x1cc11c))(puVar13,&uStack_f0);\n              uStack_80 = 0;\n              uStack_a0 = uStack_f0;\n              uStack_98 = uStack_f0;\n              uStack_90 = uStack_f0;\n              uStack_88 = uStack_f0;\n              if ((uVar5 & 8) != 0) {\n                uStack_98 = uStack_e8;\n              }\n              if ((uVar5 & 1) != 0) {\n                uStack_90 = uStack_e0;\n              }\n              if ((uVar5 & 2) == 0) {\n                pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                uVar24 = uStack_88;\n                if (iStack_c4 == 2) goto LAB_001dd6b0;\n              }\n              else {\n                uStack_80 = uStack_d8;\n                uVar24 = uStack_d8;\n                if (iStack_c4 == 2) {\nLAB_001dd6b0:\n                  uStack_88 = uVar24;\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                  if ((uVar5 & 0x10) != 0) {\n                    uStack_80 = uStack_d0;\n                  }\n                }\n                else {\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                }\n              }\n              uStack_114 = 0;\n              uStack_118 = 0;\n              puVar13 = (undefined *)(*pcVar21)(iVar3,puVar15);\n              iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3);\n              if (((iVar4 == 4) || (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3))\n                 && ((iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 4 ||\n                     (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3)))) {\n                (**(code **)(puVar20 + 0x1cbe04))(7);\n                iVar11 = *(int *)(iVar3 + 0x1c);\n                iVar4 = iVar11;\n                if (iVar11 < 0) {\n                  iVar4 = iVar11 + 0x3f;\n                }\n                if (extraout_v1 < iVar4 >> 6) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  bVar1 = extraout_v1_02 < 2;\n                }\n                else {\n                  bVar1 = iVar11 < 0x80;\n                }\n                iVar4 = 1;\n                if ((bool)(bVar1 ^ 1)) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  iVar4 = *(int *)(iVar3 + 0x1c);\n                  if (iVar4 < 0) {\n                    iVar4 = iVar4 + 0x3f;\n                  }\n                  iVar4 = iVar4 >> 6;\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                  if (extraout_v1_01 < iVar4) {\n                    pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                    goto LAB_001dd7c0;\n                  }\n                }\n                else {\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                }\n              }\n              else {\n                uVar24 = (**(code **)(puVar20 + 0x1cbe04))(7);\n                if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  uVar24 = (*pcVar21)(7);\n                  if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001dd5d0;\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  iVar4 = 1;\n                }\n                else {\nLAB_001dd5d0:\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\nLAB_001dd5d4:\n                  uVar24 = (*pcVar21)(7);\n                  if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n                     (pcVar21 = *(code **)(puVar20 + 0x1cbe04), (uint)uVar24 < 2)) {\nLAB_001dd7c0:\n                    (*pcVar21)(7);\n                    iVar4 = extraout_v1_00;\n                  }\n                  else {\n                    iVar4 = 2;\n                  }\n                }\n                iVar11 = *(int *)(puVar20 + 0x1cb66c);\n              }\n              puStack_f8 = (undefined *)0x1;\n              puStack_f4 = &uStack_118;\n              puStack_110 = puVar10;\n              iStack_10c = iVar2;\n              puStack_108 = puVar15;\n              puStack_104 = puVar13;\n              iStack_100 = iVar3;\n              puStack_fc = unaff_s6;\n              (**(code **)(puVar20 + 0x1cbe60))(iVar11 + -0x43b4,&puStack_110,iVar4,0);\n              puVar15 = puStack_f8;\n              (**(code **)(puVar20 + 0x1cbbbc))(puVar13);\n              if (puVar15 == (undefined *)0x0) {\n                in_stack_00000018 = (**(code **)(puVar20 + 0x1cbc14))(iVar3);\n              }\n            }\n          }\n        }\n        unaff_s1 = puVar15;\n        unaff_s3 = iVar2;\n        unaff_s5 = puVar13;\n        if (iStack_6c == *piVar18) {\n          return in_stack_00000018;\n        }\n        goto LAB_001dd890;\n      }\n      goto LAB_001dd8c0;\n    }" if (parenthesized_expression "(puVar15 != (undefined *)0x0)" ( (binary_expression "puVar15 != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      if (*(int *)(puVar15 + 0x1c) == -0x54535255) {\n        iVar3 = (**(code **)(puVar20 + 0x1cc4f8))(puVar10,0,0,1);\n        in_stack_00000018 = iVar3;\n        if (iVar3 != 0) {\n          iVar4 = (**(code **)(puVar20 + 0x1cc4ec))(iVar3,1,puVar15);\n          if (iVar4 == 0) {\n            in_stack_00000018 = 0;\n            (**(code **)(puVar20 + 0x1cbc14))(iVar3);\n          }\n          else {\n            if (*(int *)(iVar3 + 4) == 0x21) {\nLAB_001dd4b8:\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);\nLAB_001dd4bc:\n              (*pcVar21)(iVar3,0x17,puVar15);\n            }\n            else {\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);\n              if (*(int *)(iVar3 + 4) == 3) goto LAB_001dd4bc;\n              dVar23 = *(double *)(iVar2 + 0x28) - *(double *)(iVar2 + 0x30);\n              if (dVar23 < 0.0) {\n                dVar23 = -dVar23;\n              }\n              if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) {\n                dVar23 = *(double *)(iVar2 + 0x30) - *(double *)(iVar2 + 0x38);\n                if (dVar23 < 0.0) {\n                  dVar23 = -dVar23;\n                }\n                if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) goto LAB_001dd4b8;\n              }\n            }\n            if ((*(int *)(iVar3 + 700) == 0) && (*(int *)(iVar2 + 8) != 0)) {\n              (**(code **)(puVar20 + 0x1cb940))\n                        (iVar3,*(undefined4 *)(*(int *)(puVar20 + 0x1cb5a8) + 0x1a50),puVar15);\n            }\n            if (puVar13 != (undefined *)0x0) {\n              unaff_s6 = auStack_c8;\n              (**(code **)(puVar20 + 0x1cbf7c))(iVar3,unaff_s6);\n              uVar5 = (**(code **)(puVar20 + 0x1cc11c))(puVar13,&uStack_f0);\n              uStack_80 = 0;\n              uStack_a0 = uStack_f0;\n              uStack_98 = uStack_f0;\n              uStack_90 = uStack_f0;\n              uStack_88 = uStack_f0;\n              if ((uVar5 & 8) != 0) {\n                uStack_98 = uStack_e8;\n              }\n              if ((uVar5 & 1) != 0) {\n                uStack_90 = uStack_e0;\n              }\n              if ((uVar5 & 2) == 0) {\n                pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                uVar24 = uStack_88;\n                if (iStack_c4 == 2) goto LAB_001dd6b0;\n              }\n              else {\n                uStack_80 = uStack_d8;\n                uVar24 = uStack_d8;\n                if (iStack_c4 == 2) {\nLAB_001dd6b0:\n                  uStack_88 = uVar24;\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                  if ((uVar5 & 0x10) != 0) {\n                    uStack_80 = uStack_d0;\n                  }\n                }\n                else {\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                }\n              }\n              uStack_114 = 0;\n              uStack_118 = 0;\n              puVar13 = (undefined *)(*pcVar21)(iVar3,puVar15);\n              iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3);\n              if (((iVar4 == 4) || (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3))\n                 && ((iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 4 ||\n                     (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3)))) {\n                (**(code **)(puVar20 + 0x1cbe04))(7);\n                iVar11 = *(int *)(iVar3 + 0x1c);\n                iVar4 = iVar11;\n                if (iVar11 < 0) {\n                  iVar4 = iVar11 + 0x3f;\n                }\n                if (extraout_v1 < iVar4 >> 6) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  bVar1 = extraout_v1_02 < 2;\n                }\n                else {\n                  bVar1 = iVar11 < 0x80;\n                }\n                iVar4 = 1;\n                if ((bool)(bVar1 ^ 1)) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  iVar4 = *(int *)(iVar3 + 0x1c);\n                  if (iVar4 < 0) {\n                    iVar4 = iVar4 + 0x3f;\n                  }\n                  iVar4 = iVar4 >> 6;\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                  if (extraout_v1_01 < iVar4) {\n                    pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                    goto LAB_001dd7c0;\n                  }\n                }\n                else {\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                }\n              }\n              else {\n                uVar24 = (**(code **)(puVar20 + 0x1cbe04))(7);\n                if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  uVar24 = (*pcVar21)(7);\n                  if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001dd5d0;\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  iVar4 = 1;\n                }\n                else {\nLAB_001dd5d0:\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\nLAB_001dd5d4:\n                  uVar24 = (*pcVar21)(7);\n                  if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n                     (pcVar21 = *(code **)(puVar20 + 0x1cbe04), (uint)uVar24 < 2)) {\nLAB_001dd7c0:\n                    (*pcVar21)(7);\n                    iVar4 = extraout_v1_00;\n                  }\n                  else {\n                    iVar4 = 2;\n                  }\n                }\n                iVar11 = *(int *)(puVar20 + 0x1cb66c);\n              }\n              puStack_f8 = (undefined *)0x1;\n              puStack_f4 = &uStack_118;\n              puStack_110 = puVar10;\n              iStack_10c = iVar2;\n              puStack_108 = puVar15;\n              puStack_104 = puVar13;\n              iStack_100 = iVar3;\n              puStack_fc = unaff_s6;\n              (**(code **)(puVar20 + 0x1cbe60))(iVar11 + -0x43b4,&puStack_110,iVar4,0);\n              puVar15 = puStack_f8;\n              (**(code **)(puVar20 + 0x1cbbbc))(puVar13);\n              if (puVar15 == (undefined *)0x0) {\n                in_stack_00000018 = (**(code **)(puVar20 + 0x1cbc14))(iVar3);\n              }\n            }\n          }\n        }\n        unaff_s1 = puVar15;\n        unaff_s3 = iVar2;\n        unaff_s5 = puVar13;\n        if (iStack_6c == *piVar18) {\n          return in_stack_00000018;\n        }\n        goto LAB_001dd890;\n      }\n      goto LAB_001dd8c0;\n    }" { (if_statement "if (*(int *)(puVar15 + 0x1c) == -0x54535255) {\n        iVar3 = (**(code **)(puVar20 + 0x1cc4f8))(puVar10,0,0,1);\n        in_stack_00000018 = iVar3;\n        if (iVar3 != 0) {\n          iVar4 = (**(code **)(puVar20 + 0x1cc4ec))(iVar3,1,puVar15);\n          if (iVar4 == 0) {\n            in_stack_00000018 = 0;\n            (**(code **)(puVar20 + 0x1cbc14))(iVar3);\n          }\n          else {\n            if (*(int *)(iVar3 + 4) == 0x21) {\nLAB_001dd4b8:\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);\nLAB_001dd4bc:\n              (*pcVar21)(iVar3,0x17,puVar15);\n            }\n            else {\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);\n              if (*(int *)(iVar3 + 4) == 3) goto LAB_001dd4bc;\n              dVar23 = *(double *)(iVar2 + 0x28) - *(double *)(iVar2 + 0x30);\n              if (dVar23 < 0.0) {\n                dVar23 = -dVar23;\n              }\n              if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) {\n                dVar23 = *(double *)(iVar2 + 0x30) - *(double *)(iVar2 + 0x38);\n                if (dVar23 < 0.0) {\n                  dVar23 = -dVar23;\n                }\n                if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) goto LAB_001dd4b8;\n              }\n            }\n            if ((*(int *)(iVar3 + 700) == 0) && (*(int *)(iVar2 + 8) != 0)) {\n              (**(code **)(puVar20 + 0x1cb940))\n                        (iVar3,*(undefined4 *)(*(int *)(puVar20 + 0x1cb5a8) + 0x1a50),puVar15);\n            }\n            if (puVar13 != (undefined *)0x0) {\n              unaff_s6 = auStack_c8;\n              (**(code **)(puVar20 + 0x1cbf7c))(iVar3,unaff_s6);\n              uVar5 = (**(code **)(puVar20 + 0x1cc11c))(puVar13,&uStack_f0);\n              uStack_80 = 0;\n              uStack_a0 = uStack_f0;\n              uStack_98 = uStack_f0;\n              uStack_90 = uStack_f0;\n              uStack_88 = uStack_f0;\n              if ((uVar5 & 8) != 0) {\n                uStack_98 = uStack_e8;\n              }\n              if ((uVar5 & 1) != 0) {\n                uStack_90 = uStack_e0;\n              }\n              if ((uVar5 & 2) == 0) {\n                pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                uVar24 = uStack_88;\n                if (iStack_c4 == 2) goto LAB_001dd6b0;\n              }\n              else {\n                uStack_80 = uStack_d8;\n                uVar24 = uStack_d8;\n                if (iStack_c4 == 2) {\nLAB_001dd6b0:\n                  uStack_88 = uVar24;\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                  if ((uVar5 & 0x10) != 0) {\n                    uStack_80 = uStack_d0;\n                  }\n                }\n                else {\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                }\n              }\n              uStack_114 = 0;\n              uStack_118 = 0;\n              puVar13 = (undefined *)(*pcVar21)(iVar3,puVar15);\n              iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3);\n              if (((iVar4 == 4) || (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3))\n                 && ((iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 4 ||\n                     (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3)))) {\n                (**(code **)(puVar20 + 0x1cbe04))(7);\n                iVar11 = *(int *)(iVar3 + 0x1c);\n                iVar4 = iVar11;\n                if (iVar11 < 0) {\n                  iVar4 = iVar11 + 0x3f;\n                }\n                if (extraout_v1 < iVar4 >> 6) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  bVar1 = extraout_v1_02 < 2;\n                }\n                else {\n                  bVar1 = iVar11 < 0x80;\n                }\n                iVar4 = 1;\n                if ((bool)(bVar1 ^ 1)) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  iVar4 = *(int *)(iVar3 + 0x1c);\n                  if (iVar4 < 0) {\n                    iVar4 = iVar4 + 0x3f;\n                  }\n                  iVar4 = iVar4 >> 6;\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                  if (extraout_v1_01 < iVar4) {\n                    pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                    goto LAB_001dd7c0;\n                  }\n                }\n                else {\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                }\n              }\n              else {\n                uVar24 = (**(code **)(puVar20 + 0x1cbe04))(7);\n                if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  uVar24 = (*pcVar21)(7);\n                  if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001dd5d0;\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  iVar4 = 1;\n                }\n                else {\nLAB_001dd5d0:\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\nLAB_001dd5d4:\n                  uVar24 = (*pcVar21)(7);\n                  if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n                     (pcVar21 = *(code **)(puVar20 + 0x1cbe04), (uint)uVar24 < 2)) {\nLAB_001dd7c0:\n                    (*pcVar21)(7);\n                    iVar4 = extraout_v1_00;\n                  }\n                  else {\n                    iVar4 = 2;\n                  }\n                }\n                iVar11 = *(int *)(puVar20 + 0x1cb66c);\n              }\n              puStack_f8 = (undefined *)0x1;\n              puStack_f4 = &uStack_118;\n              puStack_110 = puVar10;\n              iStack_10c = iVar2;\n              puStack_108 = puVar15;\n              puStack_104 = puVar13;\n              iStack_100 = iVar3;\n              puStack_fc = unaff_s6;\n              (**(code **)(puVar20 + 0x1cbe60))(iVar11 + -0x43b4,&puStack_110,iVar4,0);\n              puVar15 = puStack_f8;\n              (**(code **)(puVar20 + 0x1cbbbc))(puVar13);\n              if (puVar15 == (undefined *)0x0) {\n                in_stack_00000018 = (**(code **)(puVar20 + 0x1cbc14))(iVar3);\n              }\n            }\n          }\n        }\n        unaff_s1 = puVar15;\n        unaff_s3 = iVar2;\n        unaff_s5 = puVar13;\n        if (iStack_6c == *piVar18) {\n          return in_stack_00000018;\n        }\n        goto LAB_001dd890;\n      }" if (parenthesized_expression "(*(int *)(puVar15 + 0x1c) == -0x54535255)" ( (binary_expression "*(int *)(puVar15 + 0x1c) == -0x54535255" (pointer_expression "*(int *)(puVar15 + 0x1c)" * (cast_expression "(int *)(puVar15 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x1c)" ( (binary_expression "puVar15 + 0x1c" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n        iVar3 = (**(code **)(puVar20 + 0x1cc4f8))(puVar10,0,0,1);\n        in_stack_00000018 = iVar3;\n        if (iVar3 != 0) {\n          iVar4 = (**(code **)(puVar20 + 0x1cc4ec))(iVar3,1,puVar15);\n          if (iVar4 == 0) {\n            in_stack_00000018 = 0;\n            (**(code **)(puVar20 + 0x1cbc14))(iVar3);\n          }\n          else {\n            if (*(int *)(iVar3 + 4) == 0x21) {\nLAB_001dd4b8:\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);\nLAB_001dd4bc:\n              (*pcVar21)(iVar3,0x17,puVar15);\n            }\n            else {\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);\n              if (*(int *)(iVar3 + 4) == 3) goto LAB_001dd4bc;\n              dVar23 = *(double *)(iVar2 + 0x28) - *(double *)(iVar2 + 0x30);\n              if (dVar23 < 0.0) {\n                dVar23 = -dVar23;\n              }\n              if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) {\n                dVar23 = *(double *)(iVar2 + 0x30) - *(double *)(iVar2 + 0x38);\n                if (dVar23 < 0.0) {\n                  dVar23 = -dVar23;\n                }\n                if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) goto LAB_001dd4b8;\n              }\n            }\n            if ((*(int *)(iVar3 + 700) == 0) && (*(int *)(iVar2 + 8) != 0)) {\n              (**(code **)(puVar20 + 0x1cb940))\n                        (iVar3,*(undefined4 *)(*(int *)(puVar20 + 0x1cb5a8) + 0x1a50),puVar15);\n            }\n            if (puVar13 != (undefined *)0x0) {\n              unaff_s6 = auStack_c8;\n              (**(code **)(puVar20 + 0x1cbf7c))(iVar3,unaff_s6);\n              uVar5 = (**(code **)(puVar20 + 0x1cc11c))(puVar13,&uStack_f0);\n              uStack_80 = 0;\n              uStack_a0 = uStack_f0;\n              uStack_98 = uStack_f0;\n              uStack_90 = uStack_f0;\n              uStack_88 = uStack_f0;\n              if ((uVar5 & 8) != 0) {\n                uStack_98 = uStack_e8;\n              }\n              if ((uVar5 & 1) != 0) {\n                uStack_90 = uStack_e0;\n              }\n              if ((uVar5 & 2) == 0) {\n                pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                uVar24 = uStack_88;\n                if (iStack_c4 == 2) goto LAB_001dd6b0;\n              }\n              else {\n                uStack_80 = uStack_d8;\n                uVar24 = uStack_d8;\n                if (iStack_c4 == 2) {\nLAB_001dd6b0:\n                  uStack_88 = uVar24;\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                  if ((uVar5 & 0x10) != 0) {\n                    uStack_80 = uStack_d0;\n                  }\n                }\n                else {\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                }\n              }\n              uStack_114 = 0;\n              uStack_118 = 0;\n              puVar13 = (undefined *)(*pcVar21)(iVar3,puVar15);\n              iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3);\n              if (((iVar4 == 4) || (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3))\n                 && ((iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 4 ||\n                     (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3)))) {\n                (**(code **)(puVar20 + 0x1cbe04))(7);\n                iVar11 = *(int *)(iVar3 + 0x1c);\n                iVar4 = iVar11;\n                if (iVar11 < 0) {\n                  iVar4 = iVar11 + 0x3f;\n                }\n                if (extraout_v1 < iVar4 >> 6) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  bVar1 = extraout_v1_02 < 2;\n                }\n                else {\n                  bVar1 = iVar11 < 0x80;\n                }\n                iVar4 = 1;\n                if ((bool)(bVar1 ^ 1)) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  iVar4 = *(int *)(iVar3 + 0x1c);\n                  if (iVar4 < 0) {\n                    iVar4 = iVar4 + 0x3f;\n                  }\n                  iVar4 = iVar4 >> 6;\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                  if (extraout_v1_01 < iVar4) {\n                    pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                    goto LAB_001dd7c0;\n                  }\n                }\n                else {\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                }\n              }\n              else {\n                uVar24 = (**(code **)(puVar20 + 0x1cbe04))(7);\n                if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  uVar24 = (*pcVar21)(7);\n                  if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001dd5d0;\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  iVar4 = 1;\n                }\n                else {\nLAB_001dd5d0:\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\nLAB_001dd5d4:\n                  uVar24 = (*pcVar21)(7);\n                  if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n                     (pcVar21 = *(code **)(puVar20 + 0x1cbe04), (uint)uVar24 < 2)) {\nLAB_001dd7c0:\n                    (*pcVar21)(7);\n                    iVar4 = extraout_v1_00;\n                  }\n                  else {\n                    iVar4 = 2;\n                  }\n                }\n                iVar11 = *(int *)(puVar20 + 0x1cb66c);\n              }\n              puStack_f8 = (undefined *)0x1;\n              puStack_f4 = &uStack_118;\n              puStack_110 = puVar10;\n              iStack_10c = iVar2;\n              puStack_108 = puVar15;\n              puStack_104 = puVar13;\n              iStack_100 = iVar3;\n              puStack_fc = unaff_s6;\n              (**(code **)(puVar20 + 0x1cbe60))(iVar11 + -0x43b4,&puStack_110,iVar4,0);\n              puVar15 = puStack_f8;\n              (**(code **)(puVar20 + 0x1cbbbc))(puVar13);\n              if (puVar15 == (undefined *)0x0) {\n                in_stack_00000018 = (**(code **)(puVar20 + 0x1cbc14))(iVar3);\n              }\n            }\n          }\n        }\n        unaff_s1 = puVar15;\n        unaff_s3 = iVar2;\n        unaff_s5 = puVar13;\n        if (iStack_6c == *piVar18) {\n          return in_stack_00000018;\n        }\n        goto LAB_001dd890;\n      }" { (expression_statement "iVar3 = (**(code **)(puVar20 + 0x1cc4f8))(puVar10,0,0,1);" (assignment_expression "iVar3 = (**(code **)(puVar20 + 0x1cc4f8))(puVar10,0,0,1)" identifier = (call_expression "(**(code **)(puVar20 + 0x1cc4f8))(puVar10,0,0,1)" (parenthesized_expression "(**(code **)(puVar20 + 0x1cc4f8))" ( (pointer_expression "**(code **)(puVar20 + 0x1cc4f8)" * (pointer_expression "*(code **)(puVar20 + 0x1cc4f8)" * (cast_expression "(code **)(puVar20 + 0x1cc4f8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x1cc4f8)" ( (binary_expression "puVar20 + 0x1cc4f8" identifier + number_literal) ))))) )) (argument_list "(puVar10,0,0,1)" ( identifier , number_literal , number_literal , number_literal )))) ;) (expression_statement "in_stack_00000018 = iVar3;" (assignment_expression "in_stack_00000018 = iVar3" identifier = identifier) ;) (if_statement "if (iVar3 != 0) {\n          iVar4 = (**(code **)(puVar20 + 0x1cc4ec))(iVar3,1,puVar15);\n          if (iVar4 == 0) {\n            in_stack_00000018 = 0;\n            (**(code **)(puVar20 + 0x1cbc14))(iVar3);\n          }\n          else {\n            if (*(int *)(iVar3 + 4) == 0x21) {\nLAB_001dd4b8:\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);\nLAB_001dd4bc:\n              (*pcVar21)(iVar3,0x17,puVar15);\n            }\n            else {\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);\n              if (*(int *)(iVar3 + 4) == 3) goto LAB_001dd4bc;\n              dVar23 = *(double *)(iVar2 + 0x28) - *(double *)(iVar2 + 0x30);\n              if (dVar23 < 0.0) {\n                dVar23 = -dVar23;\n              }\n              if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) {\n                dVar23 = *(double *)(iVar2 + 0x30) - *(double *)(iVar2 + 0x38);\n                if (dVar23 < 0.0) {\n                  dVar23 = -dVar23;\n                }\n                if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) goto LAB_001dd4b8;\n              }\n            }\n            if ((*(int *)(iVar3 + 700) == 0) && (*(int *)(iVar2 + 8) != 0)) {\n              (**(code **)(puVar20 + 0x1cb940))\n                        (iVar3,*(undefined4 *)(*(int *)(puVar20 + 0x1cb5a8) + 0x1a50),puVar15);\n            }\n            if (puVar13 != (undefined *)0x0) {\n              unaff_s6 = auStack_c8;\n              (**(code **)(puVar20 + 0x1cbf7c))(iVar3,unaff_s6);\n              uVar5 = (**(code **)(puVar20 + 0x1cc11c))(puVar13,&uStack_f0);\n              uStack_80 = 0;\n              uStack_a0 = uStack_f0;\n              uStack_98 = uStack_f0;\n              uStack_90 = uStack_f0;\n              uStack_88 = uStack_f0;\n              if ((uVar5 & 8) != 0) {\n                uStack_98 = uStack_e8;\n              }\n              if ((uVar5 & 1) != 0) {\n                uStack_90 = uStack_e0;\n              }\n              if ((uVar5 & 2) == 0) {\n                pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                uVar24 = uStack_88;\n                if (iStack_c4 == 2) goto LAB_001dd6b0;\n              }\n              else {\n                uStack_80 = uStack_d8;\n                uVar24 = uStack_d8;\n                if (iStack_c4 == 2) {\nLAB_001dd6b0:\n                  uStack_88 = uVar24;\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                  if ((uVar5 & 0x10) != 0) {\n                    uStack_80 = uStack_d0;\n                  }\n                }\n                else {\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                }\n              }\n              uStack_114 = 0;\n              uStack_118 = 0;\n              puVar13 = (undefined *)(*pcVar21)(iVar3,puVar15);\n              iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3);\n              if (((iVar4 == 4) || (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3))\n                 && ((iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 4 ||\n                     (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3)))) {\n                (**(code **)(puVar20 + 0x1cbe04))(7);\n                iVar11 = *(int *)(iVar3 + 0x1c);\n                iVar4 = iVar11;\n                if (iVar11 < 0) {\n                  iVar4 = iVar11 + 0x3f;\n                }\n                if (extraout_v1 < iVar4 >> 6) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  bVar1 = extraout_v1_02 < 2;\n                }\n                else {\n                  bVar1 = iVar11 < 0x80;\n                }\n                iVar4 = 1;\n                if ((bool)(bVar1 ^ 1)) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  iVar4 = *(int *)(iVar3 + 0x1c);\n                  if (iVar4 < 0) {\n                    iVar4 = iVar4 + 0x3f;\n                  }\n                  iVar4 = iVar4 >> 6;\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                  if (extraout_v1_01 < iVar4) {\n                    pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                    goto LAB_001dd7c0;\n                  }\n                }\n                else {\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                }\n              }\n              else {\n                uVar24 = (**(code **)(puVar20 + 0x1cbe04))(7);\n                if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  uVar24 = (*pcVar21)(7);\n                  if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001dd5d0;\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  iVar4 = 1;\n                }\n                else {\nLAB_001dd5d0:\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\nLAB_001dd5d4:\n                  uVar24 = (*pcVar21)(7);\n                  if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n                     (pcVar21 = *(code **)(puVar20 + 0x1cbe04), (uint)uVar24 < 2)) {\nLAB_001dd7c0:\n                    (*pcVar21)(7);\n                    iVar4 = extraout_v1_00;\n                  }\n                  else {\n                    iVar4 = 2;\n                  }\n                }\n                iVar11 = *(int *)(puVar20 + 0x1cb66c);\n              }\n              puStack_f8 = (undefined *)0x1;\n              puStack_f4 = &uStack_118;\n              puStack_110 = puVar10;\n              iStack_10c = iVar2;\n              puStack_108 = puVar15;\n              puStack_104 = puVar13;\n              iStack_100 = iVar3;\n              puStack_fc = unaff_s6;\n              (**(code **)(puVar20 + 0x1cbe60))(iVar11 + -0x43b4,&puStack_110,iVar4,0);\n              puVar15 = puStack_f8;\n              (**(code **)(puVar20 + 0x1cbbbc))(puVar13);\n              if (puVar15 == (undefined *)0x0) {\n                in_stack_00000018 = (**(code **)(puVar20 + 0x1cbc14))(iVar3);\n              }\n            }\n          }\n        }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n          iVar4 = (**(code **)(puVar20 + 0x1cc4ec))(iVar3,1,puVar15);\n          if (iVar4 == 0) {\n            in_stack_00000018 = 0;\n            (**(code **)(puVar20 + 0x1cbc14))(iVar3);\n          }\n          else {\n            if (*(int *)(iVar3 + 4) == 0x21) {\nLAB_001dd4b8:\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);\nLAB_001dd4bc:\n              (*pcVar21)(iVar3,0x17,puVar15);\n            }\n            else {\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);\n              if (*(int *)(iVar3 + 4) == 3) goto LAB_001dd4bc;\n              dVar23 = *(double *)(iVar2 + 0x28) - *(double *)(iVar2 + 0x30);\n              if (dVar23 < 0.0) {\n                dVar23 = -dVar23;\n              }\n              if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) {\n                dVar23 = *(double *)(iVar2 + 0x30) - *(double *)(iVar2 + 0x38);\n                if (dVar23 < 0.0) {\n                  dVar23 = -dVar23;\n                }\n                if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) goto LAB_001dd4b8;\n              }\n            }\n            if ((*(int *)(iVar3 + 700) == 0) && (*(int *)(iVar2 + 8) != 0)) {\n              (**(code **)(puVar20 + 0x1cb940))\n                        (iVar3,*(undefined4 *)(*(int *)(puVar20 + 0x1cb5a8) + 0x1a50),puVar15);\n            }\n            if (puVar13 != (undefined *)0x0) {\n              unaff_s6 = auStack_c8;\n              (**(code **)(puVar20 + 0x1cbf7c))(iVar3,unaff_s6);\n              uVar5 = (**(code **)(puVar20 + 0x1cc11c))(puVar13,&uStack_f0);\n              uStack_80 = 0;\n              uStack_a0 = uStack_f0;\n              uStack_98 = uStack_f0;\n              uStack_90 = uStack_f0;\n              uStack_88 = uStack_f0;\n              if ((uVar5 & 8) != 0) {\n                uStack_98 = uStack_e8;\n              }\n              if ((uVar5 & 1) != 0) {\n                uStack_90 = uStack_e0;\n              }\n              if ((uVar5 & 2) == 0) {\n                pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                uVar24 = uStack_88;\n                if (iStack_c4 == 2) goto LAB_001dd6b0;\n              }\n              else {\n                uStack_80 = uStack_d8;\n                uVar24 = uStack_d8;\n                if (iStack_c4 == 2) {\nLAB_001dd6b0:\n                  uStack_88 = uVar24;\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                  if ((uVar5 & 0x10) != 0) {\n                    uStack_80 = uStack_d0;\n                  }\n                }\n                else {\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                }\n              }\n              uStack_114 = 0;\n              uStack_118 = 0;\n              puVar13 = (undefined *)(*pcVar21)(iVar3,puVar15);\n              iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3);\n              if (((iVar4 == 4) || (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3))\n                 && ((iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 4 ||\n                     (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3)))) {\n                (**(code **)(puVar20 + 0x1cbe04))(7);\n                iVar11 = *(int *)(iVar3 + 0x1c);\n                iVar4 = iVar11;\n                if (iVar11 < 0) {\n                  iVar4 = iVar11 + 0x3f;\n                }\n                if (extraout_v1 < iVar4 >> 6) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  bVar1 = extraout_v1_02 < 2;\n                }\n                else {\n                  bVar1 = iVar11 < 0x80;\n                }\n                iVar4 = 1;\n                if ((bool)(bVar1 ^ 1)) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  iVar4 = *(int *)(iVar3 + 0x1c);\n                  if (iVar4 < 0) {\n                    iVar4 = iVar4 + 0x3f;\n                  }\n                  iVar4 = iVar4 >> 6;\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                  if (extraout_v1_01 < iVar4) {\n                    pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                    goto LAB_001dd7c0;\n                  }\n                }\n                else {\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                }\n              }\n              else {\n                uVar24 = (**(code **)(puVar20 + 0x1cbe04))(7);\n                if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  uVar24 = (*pcVar21)(7);\n                  if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001dd5d0;\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  iVar4 = 1;\n                }\n                else {\nLAB_001dd5d0:\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\nLAB_001dd5d4:\n                  uVar24 = (*pcVar21)(7);\n                  if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n                     (pcVar21 = *(code **)(puVar20 + 0x1cbe04), (uint)uVar24 < 2)) {\nLAB_001dd7c0:\n                    (*pcVar21)(7);\n                    iVar4 = extraout_v1_00;\n                  }\n                  else {\n                    iVar4 = 2;\n                  }\n                }\n                iVar11 = *(int *)(puVar20 + 0x1cb66c);\n              }\n              puStack_f8 = (undefined *)0x1;\n              puStack_f4 = &uStack_118;\n              puStack_110 = puVar10;\n              iStack_10c = iVar2;\n              puStack_108 = puVar15;\n              puStack_104 = puVar13;\n              iStack_100 = iVar3;\n              puStack_fc = unaff_s6;\n              (**(code **)(puVar20 + 0x1cbe60))(iVar11 + -0x43b4,&puStack_110,iVar4,0);\n              puVar15 = puStack_f8;\n              (**(code **)(puVar20 + 0x1cbbbc))(puVar13);\n              if (puVar15 == (undefined *)0x0) {\n                in_stack_00000018 = (**(code **)(puVar20 + 0x1cbc14))(iVar3);\n              }\n            }\n          }\n        }" { (expression_statement "iVar4 = (**(code **)(puVar20 + 0x1cc4ec))(iVar3,1,puVar15);" (assignment_expression "iVar4 = (**(code **)(puVar20 + 0x1cc4ec))(iVar3,1,puVar15)" identifier = (call_expression "(**(code **)(puVar20 + 0x1cc4ec))(iVar3,1,puVar15)" (parenthesized_expression "(**(code **)(puVar20 + 0x1cc4ec))" ( (pointer_expression "**(code **)(puVar20 + 0x1cc4ec)" * (pointer_expression "*(code **)(puVar20 + 0x1cc4ec)" * (cast_expression "(code **)(puVar20 + 0x1cc4ec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x1cc4ec)" ( (binary_expression "puVar20 + 0x1cc4ec" identifier + number_literal) ))))) )) (argument_list "(iVar3,1,puVar15)" ( identifier , number_literal , identifier )))) ;) (if_statement "if (iVar4 == 0) {\n            in_stack_00000018 = 0;\n            (**(code **)(puVar20 + 0x1cbc14))(iVar3);\n          }\n          else {\n            if (*(int *)(iVar3 + 4) == 0x21) {\nLAB_001dd4b8:\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);\nLAB_001dd4bc:\n              (*pcVar21)(iVar3,0x17,puVar15);\n            }\n            else {\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);\n              if (*(int *)(iVar3 + 4) == 3) goto LAB_001dd4bc;\n              dVar23 = *(double *)(iVar2 + 0x28) - *(double *)(iVar2 + 0x30);\n              if (dVar23 < 0.0) {\n                dVar23 = -dVar23;\n              }\n              if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) {\n                dVar23 = *(double *)(iVar2 + 0x30) - *(double *)(iVar2 + 0x38);\n                if (dVar23 < 0.0) {\n                  dVar23 = -dVar23;\n                }\n                if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) goto LAB_001dd4b8;\n              }\n            }\n            if ((*(int *)(iVar3 + 700) == 0) && (*(int *)(iVar2 + 8) != 0)) {\n              (**(code **)(puVar20 + 0x1cb940))\n                        (iVar3,*(undefined4 *)(*(int *)(puVar20 + 0x1cb5a8) + 0x1a50),puVar15);\n            }\n            if (puVar13 != (undefined *)0x0) {\n              unaff_s6 = auStack_c8;\n              (**(code **)(puVar20 + 0x1cbf7c))(iVar3,unaff_s6);\n              uVar5 = (**(code **)(puVar20 + 0x1cc11c))(puVar13,&uStack_f0);\n              uStack_80 = 0;\n              uStack_a0 = uStack_f0;\n              uStack_98 = uStack_f0;\n              uStack_90 = uStack_f0;\n              uStack_88 = uStack_f0;\n              if ((uVar5 & 8) != 0) {\n                uStack_98 = uStack_e8;\n              }\n              if ((uVar5 & 1) != 0) {\n                uStack_90 = uStack_e0;\n              }\n              if ((uVar5 & 2) == 0) {\n                pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                uVar24 = uStack_88;\n                if (iStack_c4 == 2) goto LAB_001dd6b0;\n              }\n              else {\n                uStack_80 = uStack_d8;\n                uVar24 = uStack_d8;\n                if (iStack_c4 == 2) {\nLAB_001dd6b0:\n                  uStack_88 = uVar24;\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                  if ((uVar5 & 0x10) != 0) {\n                    uStack_80 = uStack_d0;\n                  }\n                }\n                else {\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                }\n              }\n              uStack_114 = 0;\n              uStack_118 = 0;\n              puVar13 = (undefined *)(*pcVar21)(iVar3,puVar15);\n              iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3);\n              if (((iVar4 == 4) || (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3))\n                 && ((iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 4 ||\n                     (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3)))) {\n                (**(code **)(puVar20 + 0x1cbe04))(7);\n                iVar11 = *(int *)(iVar3 + 0x1c);\n                iVar4 = iVar11;\n                if (iVar11 < 0) {\n                  iVar4 = iVar11 + 0x3f;\n                }\n                if (extraout_v1 < iVar4 >> 6) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  bVar1 = extraout_v1_02 < 2;\n                }\n                else {\n                  bVar1 = iVar11 < 0x80;\n                }\n                iVar4 = 1;\n                if ((bool)(bVar1 ^ 1)) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  iVar4 = *(int *)(iVar3 + 0x1c);\n                  if (iVar4 < 0) {\n                    iVar4 = iVar4 + 0x3f;\n                  }\n                  iVar4 = iVar4 >> 6;\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                  if (extraout_v1_01 < iVar4) {\n                    pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                    goto LAB_001dd7c0;\n                  }\n                }\n                else {\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                }\n              }\n              else {\n                uVar24 = (**(code **)(puVar20 + 0x1cbe04))(7);\n                if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  uVar24 = (*pcVar21)(7);\n                  if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001dd5d0;\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  iVar4 = 1;\n                }\n                else {\nLAB_001dd5d0:\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\nLAB_001dd5d4:\n                  uVar24 = (*pcVar21)(7);\n                  if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n                     (pcVar21 = *(code **)(puVar20 + 0x1cbe04), (uint)uVar24 < 2)) {\nLAB_001dd7c0:\n                    (*pcVar21)(7);\n                    iVar4 = extraout_v1_00;\n                  }\n                  else {\n                    iVar4 = 2;\n                  }\n                }\n                iVar11 = *(int *)(puVar20 + 0x1cb66c);\n              }\n              puStack_f8 = (undefined *)0x1;\n              puStack_f4 = &uStack_118;\n              puStack_110 = puVar10;\n              iStack_10c = iVar2;\n              puStack_108 = puVar15;\n              puStack_104 = puVar13;\n              iStack_100 = iVar3;\n              puStack_fc = unaff_s6;\n              (**(code **)(puVar20 + 0x1cbe60))(iVar11 + -0x43b4,&puStack_110,iVar4,0);\n              puVar15 = puStack_f8;\n              (**(code **)(puVar20 + 0x1cbbbc))(puVar13);\n              if (puVar15 == (undefined *)0x0) {\n                in_stack_00000018 = (**(code **)(puVar20 + 0x1cbc14))(iVar3);\n              }\n            }\n          }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n            in_stack_00000018 = 0;\n            (**(code **)(puVar20 + 0x1cbc14))(iVar3);\n          }" { (expression_statement "in_stack_00000018 = 0;" (assignment_expression "in_stack_00000018 = 0" identifier = number_literal) ;) (expression_statement "(**(code **)(puVar20 + 0x1cbc14))(iVar3);" (call_expression "(**(code **)(puVar20 + 0x1cbc14))(iVar3)" (parenthesized_expression "(**(code **)(puVar20 + 0x1cbc14))" ( (pointer_expression "**(code **)(puVar20 + 0x1cbc14)" * (pointer_expression "*(code **)(puVar20 + 0x1cbc14)" * (cast_expression "(code **)(puVar20 + 0x1cbc14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x1cbc14)" ( (binary_expression "puVar20 + 0x1cbc14" identifier + number_literal) ))))) )) (argument_list "(iVar3)" ( identifier ))) ;) }) (else_clause "else {\n            if (*(int *)(iVar3 + 4) == 0x21) {\nLAB_001dd4b8:\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);\nLAB_001dd4bc:\n              (*pcVar21)(iVar3,0x17,puVar15);\n            }\n            else {\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);\n              if (*(int *)(iVar3 + 4) == 3) goto LAB_001dd4bc;\n              dVar23 = *(double *)(iVar2 + 0x28) - *(double *)(iVar2 + 0x30);\n              if (dVar23 < 0.0) {\n                dVar23 = -dVar23;\n              }\n              if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) {\n                dVar23 = *(double *)(iVar2 + 0x30) - *(double *)(iVar2 + 0x38);\n                if (dVar23 < 0.0) {\n                  dVar23 = -dVar23;\n                }\n                if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) goto LAB_001dd4b8;\n              }\n            }\n            if ((*(int *)(iVar3 + 700) == 0) && (*(int *)(iVar2 + 8) != 0)) {\n              (**(code **)(puVar20 + 0x1cb940))\n                        (iVar3,*(undefined4 *)(*(int *)(puVar20 + 0x1cb5a8) + 0x1a50),puVar15);\n            }\n            if (puVar13 != (undefined *)0x0) {\n              unaff_s6 = auStack_c8;\n              (**(code **)(puVar20 + 0x1cbf7c))(iVar3,unaff_s6);\n              uVar5 = (**(code **)(puVar20 + 0x1cc11c))(puVar13,&uStack_f0);\n              uStack_80 = 0;\n              uStack_a0 = uStack_f0;\n              uStack_98 = uStack_f0;\n              uStack_90 = uStack_f0;\n              uStack_88 = uStack_f0;\n              if ((uVar5 & 8) != 0) {\n                uStack_98 = uStack_e8;\n              }\n              if ((uVar5 & 1) != 0) {\n                uStack_90 = uStack_e0;\n              }\n              if ((uVar5 & 2) == 0) {\n                pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                uVar24 = uStack_88;\n                if (iStack_c4 == 2) goto LAB_001dd6b0;\n              }\n              else {\n                uStack_80 = uStack_d8;\n                uVar24 = uStack_d8;\n                if (iStack_c4 == 2) {\nLAB_001dd6b0:\n                  uStack_88 = uVar24;\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                  if ((uVar5 & 0x10) != 0) {\n                    uStack_80 = uStack_d0;\n                  }\n                }\n                else {\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                }\n              }\n              uStack_114 = 0;\n              uStack_118 = 0;\n              puVar13 = (undefined *)(*pcVar21)(iVar3,puVar15);\n              iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3);\n              if (((iVar4 == 4) || (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3))\n                 && ((iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 4 ||\n                     (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3)))) {\n                (**(code **)(puVar20 + 0x1cbe04))(7);\n                iVar11 = *(int *)(iVar3 + 0x1c);\n                iVar4 = iVar11;\n                if (iVar11 < 0) {\n                  iVar4 = iVar11 + 0x3f;\n                }\n                if (extraout_v1 < iVar4 >> 6) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  bVar1 = extraout_v1_02 < 2;\n                }\n                else {\n                  bVar1 = iVar11 < 0x80;\n                }\n                iVar4 = 1;\n                if ((bool)(bVar1 ^ 1)) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  iVar4 = *(int *)(iVar3 + 0x1c);\n                  if (iVar4 < 0) {\n                    iVar4 = iVar4 + 0x3f;\n                  }\n                  iVar4 = iVar4 >> 6;\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                  if (extraout_v1_01 < iVar4) {\n                    pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                    goto LAB_001dd7c0;\n                  }\n                }\n                else {\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                }\n              }\n              else {\n                uVar24 = (**(code **)(puVar20 + 0x1cbe04))(7);\n                if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  uVar24 = (*pcVar21)(7);\n                  if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001dd5d0;\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  iVar4 = 1;\n                }\n                else {\nLAB_001dd5d0:\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\nLAB_001dd5d4:\n                  uVar24 = (*pcVar21)(7);\n                  if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n                     (pcVar21 = *(code **)(puVar20 + 0x1cbe04), (uint)uVar24 < 2)) {\nLAB_001dd7c0:\n                    (*pcVar21)(7);\n                    iVar4 = extraout_v1_00;\n                  }\n                  else {\n                    iVar4 = 2;\n                  }\n                }\n                iVar11 = *(int *)(puVar20 + 0x1cb66c);\n              }\n              puStack_f8 = (undefined *)0x1;\n              puStack_f4 = &uStack_118;\n              puStack_110 = puVar10;\n              iStack_10c = iVar2;\n              puStack_108 = puVar15;\n              puStack_104 = puVar13;\n              iStack_100 = iVar3;\n              puStack_fc = unaff_s6;\n              (**(code **)(puVar20 + 0x1cbe60))(iVar11 + -0x43b4,&puStack_110,iVar4,0);\n              puVar15 = puStack_f8;\n              (**(code **)(puVar20 + 0x1cbbbc))(puVar13);\n              if (puVar15 == (undefined *)0x0) {\n                in_stack_00000018 = (**(code **)(puVar20 + 0x1cbc14))(iVar3);\n              }\n            }\n          }" else (compound_statement "{\n            if (*(int *)(iVar3 + 4) == 0x21) {\nLAB_001dd4b8:\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);\nLAB_001dd4bc:\n              (*pcVar21)(iVar3,0x17,puVar15);\n            }\n            else {\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);\n              if (*(int *)(iVar3 + 4) == 3) goto LAB_001dd4bc;\n              dVar23 = *(double *)(iVar2 + 0x28) - *(double *)(iVar2 + 0x30);\n              if (dVar23 < 0.0) {\n                dVar23 = -dVar23;\n              }\n              if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) {\n                dVar23 = *(double *)(iVar2 + 0x30) - *(double *)(iVar2 + 0x38);\n                if (dVar23 < 0.0) {\n                  dVar23 = -dVar23;\n                }\n                if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) goto LAB_001dd4b8;\n              }\n            }\n            if ((*(int *)(iVar3 + 700) == 0) && (*(int *)(iVar2 + 8) != 0)) {\n              (**(code **)(puVar20 + 0x1cb940))\n                        (iVar3,*(undefined4 *)(*(int *)(puVar20 + 0x1cb5a8) + 0x1a50),puVar15);\n            }\n            if (puVar13 != (undefined *)0x0) {\n              unaff_s6 = auStack_c8;\n              (**(code **)(puVar20 + 0x1cbf7c))(iVar3,unaff_s6);\n              uVar5 = (**(code **)(puVar20 + 0x1cc11c))(puVar13,&uStack_f0);\n              uStack_80 = 0;\n              uStack_a0 = uStack_f0;\n              uStack_98 = uStack_f0;\n              uStack_90 = uStack_f0;\n              uStack_88 = uStack_f0;\n              if ((uVar5 & 8) != 0) {\n                uStack_98 = uStack_e8;\n              }\n              if ((uVar5 & 1) != 0) {\n                uStack_90 = uStack_e0;\n              }\n              if ((uVar5 & 2) == 0) {\n                pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                uVar24 = uStack_88;\n                if (iStack_c4 == 2) goto LAB_001dd6b0;\n              }\n              else {\n                uStack_80 = uStack_d8;\n                uVar24 = uStack_d8;\n                if (iStack_c4 == 2) {\nLAB_001dd6b0:\n                  uStack_88 = uVar24;\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                  if ((uVar5 & 0x10) != 0) {\n                    uStack_80 = uStack_d0;\n                  }\n                }\n                else {\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                }\n              }\n              uStack_114 = 0;\n              uStack_118 = 0;\n              puVar13 = (undefined *)(*pcVar21)(iVar3,puVar15);\n              iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3);\n              if (((iVar4 == 4) || (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3))\n                 && ((iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 4 ||\n                     (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3)))) {\n                (**(code **)(puVar20 + 0x1cbe04))(7);\n                iVar11 = *(int *)(iVar3 + 0x1c);\n                iVar4 = iVar11;\n                if (iVar11 < 0) {\n                  iVar4 = iVar11 + 0x3f;\n                }\n                if (extraout_v1 < iVar4 >> 6) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  bVar1 = extraout_v1_02 < 2;\n                }\n                else {\n                  bVar1 = iVar11 < 0x80;\n                }\n                iVar4 = 1;\n                if ((bool)(bVar1 ^ 1)) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  iVar4 = *(int *)(iVar3 + 0x1c);\n                  if (iVar4 < 0) {\n                    iVar4 = iVar4 + 0x3f;\n                  }\n                  iVar4 = iVar4 >> 6;\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                  if (extraout_v1_01 < iVar4) {\n                    pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                    goto LAB_001dd7c0;\n                  }\n                }\n                else {\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                }\n              }\n              else {\n                uVar24 = (**(code **)(puVar20 + 0x1cbe04))(7);\n                if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  uVar24 = (*pcVar21)(7);\n                  if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001dd5d0;\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  iVar4 = 1;\n                }\n                else {\nLAB_001dd5d0:\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\nLAB_001dd5d4:\n                  uVar24 = (*pcVar21)(7);\n                  if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n                     (pcVar21 = *(code **)(puVar20 + 0x1cbe04), (uint)uVar24 < 2)) {\nLAB_001dd7c0:\n                    (*pcVar21)(7);\n                    iVar4 = extraout_v1_00;\n                  }\n                  else {\n                    iVar4 = 2;\n                  }\n                }\n                iVar11 = *(int *)(puVar20 + 0x1cb66c);\n              }\n              puStack_f8 = (undefined *)0x1;\n              puStack_f4 = &uStack_118;\n              puStack_110 = puVar10;\n              iStack_10c = iVar2;\n              puStack_108 = puVar15;\n              puStack_104 = puVar13;\n              iStack_100 = iVar3;\n              puStack_fc = unaff_s6;\n              (**(code **)(puVar20 + 0x1cbe60))(iVar11 + -0x43b4,&puStack_110,iVar4,0);\n              puVar15 = puStack_f8;\n              (**(code **)(puVar20 + 0x1cbbbc))(puVar13);\n              if (puVar15 == (undefined *)0x0) {\n                in_stack_00000018 = (**(code **)(puVar20 + 0x1cbc14))(iVar3);\n              }\n            }\n          }" { (if_statement "if (*(int *)(iVar3 + 4) == 0x21) {\nLAB_001dd4b8:\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);\nLAB_001dd4bc:\n              (*pcVar21)(iVar3,0x17,puVar15);\n            }\n            else {\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);\n              if (*(int *)(iVar3 + 4) == 3) goto LAB_001dd4bc;\n              dVar23 = *(double *)(iVar2 + 0x28) - *(double *)(iVar2 + 0x30);\n              if (dVar23 < 0.0) {\n                dVar23 = -dVar23;\n              }\n              if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) {\n                dVar23 = *(double *)(iVar2 + 0x30) - *(double *)(iVar2 + 0x38);\n                if (dVar23 < 0.0) {\n                  dVar23 = -dVar23;\n                }\n                if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) goto LAB_001dd4b8;\n              }\n            }" if (parenthesized_expression "(*(int *)(iVar3 + 4) == 0x21)" ( (binary_expression "*(int *)(iVar3 + 4) == 0x21" (pointer_expression "*(int *)(iVar3 + 4)" * (cast_expression "(int *)(iVar3 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 4)" ( (binary_expression "iVar3 + 4" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\nLAB_001dd4b8:\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);\nLAB_001dd4bc:\n              (*pcVar21)(iVar3,0x17,puVar15);\n            }" { (labeled_statement "LAB_001dd4b8:\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);" statement_identifier : (expression_statement "pcVar21 = *(code **)(puVar20 + 0x1cba08);" (assignment_expression "pcVar21 = *(code **)(puVar20 + 0x1cba08)" identifier = (pointer_expression "*(code **)(puVar20 + 0x1cba08)" * (cast_expression "(code **)(puVar20 + 0x1cba08)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x1cba08)" ( (binary_expression "puVar20 + 0x1cba08" identifier + number_literal) ))))) ;)) (labeled_statement "LAB_001dd4bc:\n              (*pcVar21)(iVar3,0x17,puVar15);" statement_identifier : (expression_statement "(*pcVar21)(iVar3,0x17,puVar15);" (call_expression "(*pcVar21)(iVar3,0x17,puVar15)" (parenthesized_expression "(*pcVar21)" ( (pointer_expression "*pcVar21" * identifier) )) (argument_list "(iVar3,0x17,puVar15)" ( identifier , number_literal , identifier ))) ;)) }) (else_clause "else {\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);\n              if (*(int *)(iVar3 + 4) == 3) goto LAB_001dd4bc;\n              dVar23 = *(double *)(iVar2 + 0x28) - *(double *)(iVar2 + 0x30);\n              if (dVar23 < 0.0) {\n                dVar23 = -dVar23;\n              }\n              if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) {\n                dVar23 = *(double *)(iVar2 + 0x30) - *(double *)(iVar2 + 0x38);\n                if (dVar23 < 0.0) {\n                  dVar23 = -dVar23;\n                }\n                if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) goto LAB_001dd4b8;\n              }\n            }" else (compound_statement "{\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);\n              if (*(int *)(iVar3 + 4) == 3) goto LAB_001dd4bc;\n              dVar23 = *(double *)(iVar2 + 0x28) - *(double *)(iVar2 + 0x30);\n              if (dVar23 < 0.0) {\n                dVar23 = -dVar23;\n              }\n              if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) {\n                dVar23 = *(double *)(iVar2 + 0x30) - *(double *)(iVar2 + 0x38);\n                if (dVar23 < 0.0) {\n                  dVar23 = -dVar23;\n                }\n                if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) goto LAB_001dd4b8;\n              }\n            }" { (expression_statement "pcVar21 = *(code **)(puVar20 + 0x1cba08);" (assignment_expression "pcVar21 = *(code **)(puVar20 + 0x1cba08)" identifier = (pointer_expression "*(code **)(puVar20 + 0x1cba08)" * (cast_expression "(code **)(puVar20 + 0x1cba08)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x1cba08)" ( (binary_expression "puVar20 + 0x1cba08" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(iVar3 + 4) == 3) goto LAB_001dd4bc;" if (parenthesized_expression "(*(int *)(iVar3 + 4) == 3)" ( (binary_expression "*(int *)(iVar3 + 4) == 3" (pointer_expression "*(int *)(iVar3 + 4)" * (cast_expression "(int *)(iVar3 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 4)" ( (binary_expression "iVar3 + 4" identifier + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_001dd4bc;" goto statement_identifier ;)) (expression_statement "dVar23 = *(double *)(iVar2 + 0x28) - *(double *)(iVar2 + 0x30);" (assignment_expression "dVar23 = *(double *)(iVar2 + 0x28) - *(double *)(iVar2 + 0x30)" identifier = (binary_expression "*(double *)(iVar2 + 0x28) - *(double *)(iVar2 + 0x30)" (pointer_expression "*(double *)(iVar2 + 0x28)" * (cast_expression "(double *)(iVar2 + 0x28)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x28)" ( (binary_expression "iVar2 + 0x28" identifier + number_literal) )))) - (pointer_expression "*(double *)(iVar2 + 0x30)" * (cast_expression "(double *)(iVar2 + 0x30)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x30)" ( (binary_expression "iVar2 + 0x30" identifier + number_literal) )))))) ;) (if_statement "if (dVar23 < 0.0) {\n                dVar23 = -dVar23;\n              }" if (parenthesized_expression "(dVar23 < 0.0)" ( (binary_expression "dVar23 < 0.0" identifier < number_literal) )) (compound_statement "{\n                dVar23 = -dVar23;\n              }" { (expression_statement "dVar23 = -dVar23;" (assignment_expression "dVar23 = -dVar23" identifier = (unary_expression "-dVar23" - identifier)) ;) })) (if_statement "if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) {\n                dVar23 = *(double *)(iVar2 + 0x30) - *(double *)(iVar2 + 0x38);\n                if (dVar23 < 0.0) {\n                  dVar23 = -dVar23;\n                }\n                if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) goto LAB_001dd4b8;\n              }" if (parenthesized_expression "(dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8))" ( (binary_expression "dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)" identifier < (pointer_expression "*(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)" * (cast_expression "(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)" ( (binary_expression "*(int *)(puVar20 + 0x1cb5a8) + 0x13f8" (pointer_expression "*(int *)(puVar20 + 0x1cb5a8)" * (cast_expression "(int *)(puVar20 + 0x1cb5a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x1cb5a8)" ( (binary_expression "puVar20 + 0x1cb5a8" identifier + number_literal) )))) + number_literal) ))))) )) (compound_statement "{\n                dVar23 = *(double *)(iVar2 + 0x30) - *(double *)(iVar2 + 0x38);\n                if (dVar23 < 0.0) {\n                  dVar23 = -dVar23;\n                }\n                if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) goto LAB_001dd4b8;\n              }" { (expression_statement "dVar23 = *(double *)(iVar2 + 0x30) - *(double *)(iVar2 + 0x38);" (assignment_expression "dVar23 = *(double *)(iVar2 + 0x30) - *(double *)(iVar2 + 0x38)" identifier = (binary_expression "*(double *)(iVar2 + 0x30) - *(double *)(iVar2 + 0x38)" (pointer_expression "*(double *)(iVar2 + 0x30)" * (cast_expression "(double *)(iVar2 + 0x30)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x30)" ( (binary_expression "iVar2 + 0x30" identifier + number_literal) )))) - (pointer_expression "*(double *)(iVar2 + 0x38)" * (cast_expression "(double *)(iVar2 + 0x38)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x38)" ( (binary_expression "iVar2 + 0x38" identifier + number_literal) )))))) ;) (if_statement "if (dVar23 < 0.0) {\n                  dVar23 = -dVar23;\n                }" if (parenthesized_expression "(dVar23 < 0.0)" ( (binary_expression "dVar23 < 0.0" identifier < number_literal) )) (compound_statement "{\n                  dVar23 = -dVar23;\n                }" { (expression_statement "dVar23 = -dVar23;" (assignment_expression "dVar23 = -dVar23" identifier = (unary_expression "-dVar23" - identifier)) ;) })) (if_statement "if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) goto LAB_001dd4b8;" if (parenthesized_expression "(dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8))" ( (binary_expression "dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)" identifier < (pointer_expression "*(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)" * (cast_expression "(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)" ( (binary_expression "*(int *)(puVar20 + 0x1cb5a8) + 0x13f8" (pointer_expression "*(int *)(puVar20 + 0x1cb5a8)" * (cast_expression "(int *)(puVar20 + 0x1cb5a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x1cb5a8)" ( (binary_expression "puVar20 + 0x1cb5a8" identifier + number_literal) )))) + number_literal) ))))) )) (goto_statement "goto LAB_001dd4b8;" goto statement_identifier ;)) })) }))) (if_statement "if ((*(int *)(iVar3 + 700) == 0) && (*(int *)(iVar2 + 8) != 0)) {\n              (**(code **)(puVar20 + 0x1cb940))\n                        (iVar3,*(undefined4 *)(*(int *)(puVar20 + 0x1cb5a8) + 0x1a50),puVar15);\n            }" if (parenthesized_expression "((*(int *)(iVar3 + 700) == 0) && (*(int *)(iVar2 + 8) != 0))" ( (binary_expression "(*(int *)(iVar3 + 700) == 0) && (*(int *)(iVar2 + 8) != 0)" (parenthesized_expression "(*(int *)(iVar3 + 700) == 0)" ( (binary_expression "*(int *)(iVar3 + 700) == 0" (pointer_expression "*(int *)(iVar3 + 700)" * (cast_expression "(int *)(iVar3 + 700)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 700)" ( (binary_expression "iVar3 + 700" identifier + number_literal) )))) == number_literal) )) && (parenthesized_expression "(*(int *)(iVar2 + 8) != 0)" ( (binary_expression "*(int *)(iVar2 + 8) != 0" (pointer_expression "*(int *)(iVar2 + 8)" * (cast_expression "(int *)(iVar2 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 8)" ( (binary_expression "iVar2 + 8" identifier + number_literal) )))) != number_literal) ))) )) (compound_statement "{\n              (**(code **)(puVar20 + 0x1cb940))\n                        (iVar3,*(undefined4 *)(*(int *)(puVar20 + 0x1cb5a8) + 0x1a50),puVar15);\n            }" { (expression_statement "(**(code **)(puVar20 + 0x1cb940))\n                        (iVar3,*(undefined4 *)(*(int *)(puVar20 + 0x1cb5a8) + 0x1a50),puVar15);" (call_expression "(**(code **)(puVar20 + 0x1cb940))\n                        (iVar3,*(undefined4 *)(*(int *)(puVar20 + 0x1cb5a8) + 0x1a50),puVar15)" (parenthesized_expression "(**(code **)(puVar20 + 0x1cb940))" ( (pointer_expression "**(code **)(puVar20 + 0x1cb940)" * (pointer_expression "*(code **)(puVar20 + 0x1cb940)" * (cast_expression "(code **)(puVar20 + 0x1cb940)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x1cb940)" ( (binary_expression "puVar20 + 0x1cb940" identifier + number_literal) ))))) )) (argument_list "(iVar3,*(undefined4 *)(*(int *)(puVar20 + 0x1cb5a8) + 0x1a50),puVar15)" ( identifier , (pointer_expression "*(undefined4 *)(*(int *)(puVar20 + 0x1cb5a8) + 0x1a50)" * (cast_expression "(undefined4 *)(*(int *)(puVar20 + 0x1cb5a8) + 0x1a50)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar20 + 0x1cb5a8) + 0x1a50)" ( (binary_expression "*(int *)(puVar20 + 0x1cb5a8) + 0x1a50" (pointer_expression "*(int *)(puVar20 + 0x1cb5a8)" * (cast_expression "(int *)(puVar20 + 0x1cb5a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x1cb5a8)" ( (binary_expression "puVar20 + 0x1cb5a8" identifier + number_literal) )))) + number_literal) )))) , identifier ))) ;) })) (if_statement "if (puVar13 != (undefined *)0x0) {\n              unaff_s6 = auStack_c8;\n              (**(code **)(puVar20 + 0x1cbf7c))(iVar3,unaff_s6);\n              uVar5 = (**(code **)(puVar20 + 0x1cc11c))(puVar13,&uStack_f0);\n              uStack_80 = 0;\n              uStack_a0 = uStack_f0;\n              uStack_98 = uStack_f0;\n              uStack_90 = uStack_f0;\n              uStack_88 = uStack_f0;\n              if ((uVar5 & 8) != 0) {\n                uStack_98 = uStack_e8;\n              }\n              if ((uVar5 & 1) != 0) {\n                uStack_90 = uStack_e0;\n              }\n              if ((uVar5 & 2) == 0) {\n                pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                uVar24 = uStack_88;\n                if (iStack_c4 == 2) goto LAB_001dd6b0;\n              }\n              else {\n                uStack_80 = uStack_d8;\n                uVar24 = uStack_d8;\n                if (iStack_c4 == 2) {\nLAB_001dd6b0:\n                  uStack_88 = uVar24;\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                  if ((uVar5 & 0x10) != 0) {\n                    uStack_80 = uStack_d0;\n                  }\n                }\n                else {\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                }\n              }\n              uStack_114 = 0;\n              uStack_118 = 0;\n              puVar13 = (undefined *)(*pcVar21)(iVar3,puVar15);\n              iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3);\n              if (((iVar4 == 4) || (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3))\n                 && ((iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 4 ||\n                     (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3)))) {\n                (**(code **)(puVar20 + 0x1cbe04))(7);\n                iVar11 = *(int *)(iVar3 + 0x1c);\n                iVar4 = iVar11;\n                if (iVar11 < 0) {\n                  iVar4 = iVar11 + 0x3f;\n                }\n                if (extraout_v1 < iVar4 >> 6) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  bVar1 = extraout_v1_02 < 2;\n                }\n                else {\n                  bVar1 = iVar11 < 0x80;\n                }\n                iVar4 = 1;\n                if ((bool)(bVar1 ^ 1)) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  iVar4 = *(int *)(iVar3 + 0x1c);\n                  if (iVar4 < 0) {\n                    iVar4 = iVar4 + 0x3f;\n                  }\n                  iVar4 = iVar4 >> 6;\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                  if (extraout_v1_01 < iVar4) {\n                    pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                    goto LAB_001dd7c0;\n                  }\n                }\n                else {\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                }\n              }\n              else {\n                uVar24 = (**(code **)(puVar20 + 0x1cbe04))(7);\n                if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  uVar24 = (*pcVar21)(7);\n                  if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001dd5d0;\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  iVar4 = 1;\n                }\n                else {\nLAB_001dd5d0:\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\nLAB_001dd5d4:\n                  uVar24 = (*pcVar21)(7);\n                  if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n                     (pcVar21 = *(code **)(puVar20 + 0x1cbe04), (uint)uVar24 < 2)) {\nLAB_001dd7c0:\n                    (*pcVar21)(7);\n                    iVar4 = extraout_v1_00;\n                  }\n                  else {\n                    iVar4 = 2;\n                  }\n                }\n                iVar11 = *(int *)(puVar20 + 0x1cb66c);\n              }\n              puStack_f8 = (undefined *)0x1;\n              puStack_f4 = &uStack_118;\n              puStack_110 = puVar10;\n              iStack_10c = iVar2;\n              puStack_108 = puVar15;\n              puStack_104 = puVar13;\n              iStack_100 = iVar3;\n              puStack_fc = unaff_s6;\n              (**(code **)(puVar20 + 0x1cbe60))(iVar11 + -0x43b4,&puStack_110,iVar4,0);\n              puVar15 = puStack_f8;\n              (**(code **)(puVar20 + 0x1cbbbc))(puVar13);\n              if (puVar15 == (undefined *)0x0) {\n                in_stack_00000018 = (**(code **)(puVar20 + 0x1cbc14))(iVar3);\n              }\n            }" if (parenthesized_expression "(puVar13 != (undefined *)0x0)" ( (binary_expression "puVar13 != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              unaff_s6 = auStack_c8;\n              (**(code **)(puVar20 + 0x1cbf7c))(iVar3,unaff_s6);\n              uVar5 = (**(code **)(puVar20 + 0x1cc11c))(puVar13,&uStack_f0);\n              uStack_80 = 0;\n              uStack_a0 = uStack_f0;\n              uStack_98 = uStack_f0;\n              uStack_90 = uStack_f0;\n              uStack_88 = uStack_f0;\n              if ((uVar5 & 8) != 0) {\n                uStack_98 = uStack_e8;\n              }\n              if ((uVar5 & 1) != 0) {\n                uStack_90 = uStack_e0;\n              }\n              if ((uVar5 & 2) == 0) {\n                pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                uVar24 = uStack_88;\n                if (iStack_c4 == 2) goto LAB_001dd6b0;\n              }\n              else {\n                uStack_80 = uStack_d8;\n                uVar24 = uStack_d8;\n                if (iStack_c4 == 2) {\nLAB_001dd6b0:\n                  uStack_88 = uVar24;\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                  if ((uVar5 & 0x10) != 0) {\n                    uStack_80 = uStack_d0;\n                  }\n                }\n                else {\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                }\n              }\n              uStack_114 = 0;\n              uStack_118 = 0;\n              puVar13 = (undefined *)(*pcVar21)(iVar3,puVar15);\n              iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3);\n              if (((iVar4 == 4) || (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3))\n                 && ((iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 4 ||\n                     (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3)))) {\n                (**(code **)(puVar20 + 0x1cbe04))(7);\n                iVar11 = *(int *)(iVar3 + 0x1c);\n                iVar4 = iVar11;\n                if (iVar11 < 0) {\n                  iVar4 = iVar11 + 0x3f;\n                }\n                if (extraout_v1 < iVar4 >> 6) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  bVar1 = extraout_v1_02 < 2;\n                }\n                else {\n                  bVar1 = iVar11 < 0x80;\n                }\n                iVar4 = 1;\n                if ((bool)(bVar1 ^ 1)) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  iVar4 = *(int *)(iVar3 + 0x1c);\n                  if (iVar4 < 0) {\n                    iVar4 = iVar4 + 0x3f;\n                  }\n                  iVar4 = iVar4 >> 6;\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                  if (extraout_v1_01 < iVar4) {\n                    pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                    goto LAB_001dd7c0;\n                  }\n                }\n                else {\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                }\n              }\n              else {\n                uVar24 = (**(code **)(puVar20 + 0x1cbe04))(7);\n                if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  uVar24 = (*pcVar21)(7);\n                  if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001dd5d0;\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  iVar4 = 1;\n                }\n                else {\nLAB_001dd5d0:\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\nLAB_001dd5d4:\n                  uVar24 = (*pcVar21)(7);\n                  if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n                     (pcVar21 = *(code **)(puVar20 + 0x1cbe04), (uint)uVar24 < 2)) {\nLAB_001dd7c0:\n                    (*pcVar21)(7);\n                    iVar4 = extraout_v1_00;\n                  }\n                  else {\n                    iVar4 = 2;\n                  }\n                }\n                iVar11 = *(int *)(puVar20 + 0x1cb66c);\n              }\n              puStack_f8 = (undefined *)0x1;\n              puStack_f4 = &uStack_118;\n              puStack_110 = puVar10;\n              iStack_10c = iVar2;\n              puStack_108 = puVar15;\n              puStack_104 = puVar13;\n              iStack_100 = iVar3;\n              puStack_fc = unaff_s6;\n              (**(code **)(puVar20 + 0x1cbe60))(iVar11 + -0x43b4,&puStack_110,iVar4,0);\n              puVar15 = puStack_f8;\n              (**(code **)(puVar20 + 0x1cbbbc))(puVar13);\n              if (puVar15 == (undefined *)0x0) {\n                in_stack_00000018 = (**(code **)(puVar20 + 0x1cbc14))(iVar3);\n              }\n            }" { (expression_statement "unaff_s6 = auStack_c8;" (assignment_expression "unaff_s6 = auStack_c8" identifier = identifier) ;) (expression_statement "(**(code **)(puVar20 + 0x1cbf7c))(iVar3,unaff_s6);" (call_expression "(**(code **)(puVar20 + 0x1cbf7c))(iVar3,unaff_s6)" (parenthesized_expression "(**(code **)(puVar20 + 0x1cbf7c))" ( (pointer_expression "**(code **)(puVar20 + 0x1cbf7c)" * (pointer_expression "*(code **)(puVar20 + 0x1cbf7c)" * (cast_expression "(code **)(puVar20 + 0x1cbf7c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x1cbf7c)" ( (binary_expression "puVar20 + 0x1cbf7c" identifier + number_literal) ))))) )) (argument_list "(iVar3,unaff_s6)" ( identifier , identifier ))) ;) (expression_statement "uVar5 = (**(code **)(puVar20 + 0x1cc11c))(puVar13,&uStack_f0);" (assignment_expression "uVar5 = (**(code **)(puVar20 + 0x1cc11c))(puVar13,&uStack_f0)" identifier = (call_expression "(**(code **)(puVar20 + 0x1cc11c))(puVar13,&uStack_f0)" (parenthesized_expression "(**(code **)(puVar20 + 0x1cc11c))" ( (pointer_expression "**(code **)(puVar20 + 0x1cc11c)" * (pointer_expression "*(code **)(puVar20 + 0x1cc11c)" * (cast_expression "(code **)(puVar20 + 0x1cc11c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x1cc11c)" ( (binary_expression "puVar20 + 0x1cc11c" identifier + number_literal) ))))) )) (argument_list "(puVar13,&uStack_f0)" ( identifier , (pointer_expression "&uStack_f0" & identifier) )))) ;) (expression_statement "uStack_80 = 0;" (assignment_expression "uStack_80 = 0" identifier = number_literal) ;) (expression_statement "uStack_a0 = uStack_f0;" (assignment_expression "uStack_a0 = uStack_f0" identifier = identifier) ;) (expression_statement "uStack_98 = uStack_f0;" (assignment_expression "uStack_98 = uStack_f0" identifier = identifier) ;) (expression_statement "uStack_90 = uStack_f0;" (assignment_expression "uStack_90 = uStack_f0" identifier = identifier) ;) (expression_statement "uStack_88 = uStack_f0;" (assignment_expression "uStack_88 = uStack_f0" identifier = identifier) ;) (if_statement "if ((uVar5 & 8) != 0) {\n                uStack_98 = uStack_e8;\n              }" if (parenthesized_expression "((uVar5 & 8) != 0)" ( (binary_expression "(uVar5 & 8) != 0" (parenthesized_expression "(uVar5 & 8)" ( (binary_expression "uVar5 & 8" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                uStack_98 = uStack_e8;\n              }" { (expression_statement "uStack_98 = uStack_e8;" (assignment_expression "uStack_98 = uStack_e8" identifier = identifier) ;) })) (if_statement "if ((uVar5 & 1) != 0) {\n                uStack_90 = uStack_e0;\n              }" if (parenthesized_expression "((uVar5 & 1) != 0)" ( (binary_expression "(uVar5 & 1) != 0" (parenthesized_expression "(uVar5 & 1)" ( (binary_expression "uVar5 & 1" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                uStack_90 = uStack_e0;\n              }" { (expression_statement "uStack_90 = uStack_e0;" (assignment_expression "uStack_90 = uStack_e0" identifier = identifier) ;) })) (if_statement "if ((uVar5 & 2) == 0) {\n                pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                uVar24 = uStack_88;\n                if (iStack_c4 == 2) goto LAB_001dd6b0;\n              }\n              else {\n                uStack_80 = uStack_d8;\n                uVar24 = uStack_d8;\n                if (iStack_c4 == 2) {\nLAB_001dd6b0:\n                  uStack_88 = uVar24;\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                  if ((uVar5 & 0x10) != 0) {\n                    uStack_80 = uStack_d0;\n                  }\n                }\n                else {\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                }\n              }" if (parenthesized_expression "((uVar5 & 2) == 0)" ( (binary_expression "(uVar5 & 2) == 0" (parenthesized_expression "(uVar5 & 2)" ( (binary_expression "uVar5 & 2" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n                pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                uVar24 = uStack_88;\n                if (iStack_c4 == 2) goto LAB_001dd6b0;\n              }" { (expression_statement "pcVar21 = *(code **)(puVar20 + 0x1cc41c);" (assignment_expression "pcVar21 = *(code **)(puVar20 + 0x1cc41c)" identifier = (pointer_expression "*(code **)(puVar20 + 0x1cc41c)" * (cast_expression "(code **)(puVar20 + 0x1cc41c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x1cc41c)" ( (binary_expression "puVar20 + 0x1cc41c" identifier + number_literal) ))))) ;) (expression_statement "uVar24 = uStack_88;" (assignment_expression "uVar24 = uStack_88" identifier = identifier) ;) (if_statement "if (iStack_c4 == 2) goto LAB_001dd6b0;" if (parenthesized_expression "(iStack_c4 == 2)" ( (binary_expression "iStack_c4 == 2" identifier == number_literal) )) (goto_statement "goto LAB_001dd6b0;" goto statement_identifier ;)) }) (else_clause "else {\n                uStack_80 = uStack_d8;\n                uVar24 = uStack_d8;\n                if (iStack_c4 == 2) {\nLAB_001dd6b0:\n                  uStack_88 = uVar24;\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                  if ((uVar5 & 0x10) != 0) {\n                    uStack_80 = uStack_d0;\n                  }\n                }\n                else {\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                }\n              }" else (compound_statement "{\n                uStack_80 = uStack_d8;\n                uVar24 = uStack_d8;\n                if (iStack_c4 == 2) {\nLAB_001dd6b0:\n                  uStack_88 = uVar24;\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                  if ((uVar5 & 0x10) != 0) {\n                    uStack_80 = uStack_d0;\n                  }\n                }\n                else {\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                }\n              }" { (expression_statement "uStack_80 = uStack_d8;" (assignment_expression "uStack_80 = uStack_d8" identifier = identifier) ;) (expression_statement "uVar24 = uStack_d8;" (assignment_expression "uVar24 = uStack_d8" identifier = identifier) ;) (if_statement "if (iStack_c4 == 2) {\nLAB_001dd6b0:\n                  uStack_88 = uVar24;\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                  if ((uVar5 & 0x10) != 0) {\n                    uStack_80 = uStack_d0;\n                  }\n                }\n                else {\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                }" if (parenthesized_expression "(iStack_c4 == 2)" ( (binary_expression "iStack_c4 == 2" identifier == number_literal) )) (compound_statement "{\nLAB_001dd6b0:\n                  uStack_88 = uVar24;\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                  if ((uVar5 & 0x10) != 0) {\n                    uStack_80 = uStack_d0;\n                  }\n                }" { (labeled_statement "LAB_001dd6b0:\n                  uStack_88 = uVar24;" statement_identifier : (expression_statement "uStack_88 = uVar24;" (assignment_expression "uStack_88 = uVar24" identifier = identifier) ;)) (expression_statement "pcVar21 = *(code **)(puVar20 + 0x1cc41c);" (assignment_expression "pcVar21 = *(code **)(puVar20 + 0x1cc41c)" identifier = (pointer_expression "*(code **)(puVar20 + 0x1cc41c)" * (cast_expression "(code **)(puVar20 + 0x1cc41c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x1cc41c)" ( (binary_expression "puVar20 + 0x1cc41c" identifier + number_literal) ))))) ;) (if_statement "if ((uVar5 & 0x10) != 0) {\n                    uStack_80 = uStack_d0;\n                  }" if (parenthesized_expression "((uVar5 & 0x10) != 0)" ( (binary_expression "(uVar5 & 0x10) != 0" (parenthesized_expression "(uVar5 & 0x10)" ( (binary_expression "uVar5 & 0x10" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                    uStack_80 = uStack_d0;\n                  }" { (expression_statement "uStack_80 = uStack_d0;" (assignment_expression "uStack_80 = uStack_d0" identifier = identifier) ;) })) }) (else_clause "else {\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                }" else (compound_statement "{\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                }" { (expression_statement "pcVar21 = *(code **)(puVar20 + 0x1cc41c);" (assignment_expression "pcVar21 = *(code **)(puVar20 + 0x1cc41c)" identifier = (pointer_expression "*(code **)(puVar20 + 0x1cc41c)" * (cast_expression "(code **)(puVar20 + 0x1cc41c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x1cc41c)" ( (binary_expression "puVar20 + 0x1cc41c" identifier + number_literal) ))))) ;) }))) }))) (expression_statement "uStack_114 = 0;" (assignment_expression "uStack_114 = 0" identifier = number_literal) ;) (expression_statement "uStack_118 = 0;" (assignment_expression "uStack_118 = 0" identifier = number_literal) ;) (expression_statement "puVar13 = (undefined *)(*pcVar21)(iVar3,puVar15);" (assignment_expression "puVar13 = (undefined *)(*pcVar21)(iVar3,puVar15)" identifier = (cast_expression "(undefined *)(*pcVar21)(iVar3,puVar15)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar21)(iVar3,puVar15)" (parenthesized_expression "(*pcVar21)" ( (pointer_expression "*pcVar21" * identifier) )) (argument_list "(iVar3,puVar15)" ( identifier , identifier ))))) ;) (expression_statement "iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3);" (assignment_expression "iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3)" identifier = (call_expression "(**(code **)(puVar20 + 0x1cc17c))(iVar3)" (parenthesized_expression "(**(code **)(puVar20 + 0x1cc17c))" ( (pointer_expression "**(code **)(puVar20 + 0x1cc17c)" * (pointer_expression "*(code **)(puVar20 + 0x1cc17c)" * (cast_expression "(code **)(puVar20 + 0x1cc17c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x1cc17c)" ( (binary_expression "puVar20 + 0x1cc17c" identifier + number_literal) ))))) )) (argument_list "(iVar3)" ( identifier )))) ;) (if_statement "if (((iVar4 == 4) || (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3))\n                 && ((iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 4 ||\n                     (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3)))) {\n                (**(code **)(puVar20 + 0x1cbe04))(7);\n                iVar11 = *(int *)(iVar3 + 0x1c);\n                iVar4 = iVar11;\n                if (iVar11 < 0) {\n                  iVar4 = iVar11 + 0x3f;\n                }\n                if (extraout_v1 < iVar4 >> 6) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  bVar1 = extraout_v1_02 < 2;\n                }\n                else {\n                  bVar1 = iVar11 < 0x80;\n                }\n                iVar4 = 1;\n                if ((bool)(bVar1 ^ 1)) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  iVar4 = *(int *)(iVar3 + 0x1c);\n                  if (iVar4 < 0) {\n                    iVar4 = iVar4 + 0x3f;\n                  }\n                  iVar4 = iVar4 >> 6;\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                  if (extraout_v1_01 < iVar4) {\n                    pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                    goto LAB_001dd7c0;\n                  }\n                }\n                else {\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                }\n              }\n              else {\n                uVar24 = (**(code **)(puVar20 + 0x1cbe04))(7);\n                if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  uVar24 = (*pcVar21)(7);\n                  if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001dd5d0;\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  iVar4 = 1;\n                }\n                else {\nLAB_001dd5d0:\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\nLAB_001dd5d4:\n                  uVar24 = (*pcVar21)(7);\n                  if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n                     (pcVar21 = *(code **)(puVar20 + 0x1cbe04), (uint)uVar24 < 2)) {\nLAB_001dd7c0:\n                    (*pcVar21)(7);\n                    iVar4 = extraout_v1_00;\n                  }\n                  else {\n                    iVar4 = 2;\n                  }\n                }\n                iVar11 = *(int *)(puVar20 + 0x1cb66c);\n              }" if (parenthesized_expression "(((iVar4 == 4) || (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3))\n                 && ((iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 4 ||\n                     (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3))))" ( (binary_expression "((iVar4 == 4) || (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3))\n                 && ((iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 4 ||\n                     (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3)))" (parenthesized_expression "((iVar4 == 4) || (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3))" ( (binary_expression "(iVar4 == 4) || (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3)" (parenthesized_expression "(iVar4 == 4)" ( (binary_expression "iVar4 == 4" identifier == number_literal) )) || (parenthesized_expression "(iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3)" ( (comma_expression "iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3" (assignment_expression "iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3)" identifier = (call_expression "(**(code **)(puVar20 + 0x1cc17c))(iVar3)" (parenthesized_expression "(**(code **)(puVar20 + 0x1cc17c))" ( (pointer_expression "**(code **)(puVar20 + 0x1cc17c)" * (pointer_expression "*(code **)(puVar20 + 0x1cc17c)" * (cast_expression "(code **)(puVar20 + 0x1cc17c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x1cc17c)" ( (binary_expression "puVar20 + 0x1cc17c" identifier + number_literal) ))))) )) (argument_list "(iVar3)" ( identifier )))) , (binary_expression "iVar4 == 3" identifier == number_literal)) ))) )) && (parenthesized_expression "((iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 4 ||\n                     (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3)))" ( (parenthesized_expression "(iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 4 ||\n                     (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3))" ( (comma_expression "iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 4 ||\n                     (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3)" (assignment_expression "iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3)" identifier = (call_expression "(**(code **)(puVar20 + 0x1cc17c))(iVar3)" (parenthesized_expression "(**(code **)(puVar20 + 0x1cc17c))" ( (pointer_expression "**(code **)(puVar20 + 0x1cc17c)" * (pointer_expression "*(code **)(puVar20 + 0x1cc17c)" * (cast_expression "(code **)(puVar20 + 0x1cc17c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x1cc17c)" ( (binary_expression "puVar20 + 0x1cc17c" identifier + number_literal) ))))) )) (argument_list "(iVar3)" ( identifier )))) , (binary_expression "iVar4 == 4 ||\n                     (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3)" (binary_expression "iVar4 == 4" identifier == number_literal) || (parenthesized_expression "(iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3)" ( (comma_expression "iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3" (assignment_expression "iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3)" identifier = (call_expression "(**(code **)(puVar20 + 0x1cc17c))(iVar3)" (parenthesized_expression "(**(code **)(puVar20 + 0x1cc17c))" ( (pointer_expression "**(code **)(puVar20 + 0x1cc17c)" * (pointer_expression "*(code **)(puVar20 + 0x1cc17c)" * (cast_expression "(code **)(puVar20 + 0x1cc17c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x1cc17c)" ( (binary_expression "puVar20 + 0x1cc17c" identifier + number_literal) ))))) )) (argument_list "(iVar3)" ( identifier )))) , (binary_expression "iVar4 == 3" identifier == number_literal)) )))) )) ))) )) (compound_statement "{\n                (**(code **)(puVar20 + 0x1cbe04))(7);\n                iVar11 = *(int *)(iVar3 + 0x1c);\n                iVar4 = iVar11;\n                if (iVar11 < 0) {\n                  iVar4 = iVar11 + 0x3f;\n                }\n                if (extraout_v1 < iVar4 >> 6) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  bVar1 = extraout_v1_02 < 2;\n                }\n                else {\n                  bVar1 = iVar11 < 0x80;\n                }\n                iVar4 = 1;\n                if ((bool)(bVar1 ^ 1)) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  iVar4 = *(int *)(iVar3 + 0x1c);\n                  if (iVar4 < 0) {\n                    iVar4 = iVar4 + 0x3f;\n                  }\n                  iVar4 = iVar4 >> 6;\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                  if (extraout_v1_01 < iVar4) {\n                    pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                    goto LAB_001dd7c0;\n                  }\n                }\n                else {\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                }\n              }" { (expression_statement "(**(code **)(puVar20 + 0x1cbe04))(7);" (call_expression "(**(code **)(puVar20 + 0x1cbe04))(7)" (parenthesized_expression "(**(code **)(puVar20 + 0x1cbe04))" ( (pointer_expression "**(code **)(puVar20 + 0x1cbe04)" * (pointer_expression "*(code **)(puVar20 + 0x1cbe04)" * (cast_expression "(code **)(puVar20 + 0x1cbe04)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x1cbe04)" ( (binary_expression "puVar20 + 0x1cbe04" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "iVar11 = *(int *)(iVar3 + 0x1c);" (assignment_expression "iVar11 = *(int *)(iVar3 + 0x1c)" identifier = (pointer_expression "*(int *)(iVar3 + 0x1c)" * (cast_expression "(int *)(iVar3 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x1c)" ( (binary_expression "iVar3 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "iVar4 = iVar11;" (assignment_expression "iVar4 = iVar11" identifier = identifier) ;) (if_statement "if (iVar11 < 0) {\n                  iVar4 = iVar11 + 0x3f;\n                }" if (parenthesized_expression "(iVar11 < 0)" ( (binary_expression "iVar11 < 0" identifier < number_literal) )) (compound_statement "{\n                  iVar4 = iVar11 + 0x3f;\n                }" { (expression_statement "iVar4 = iVar11 + 0x3f;" (assignment_expression "iVar4 = iVar11 + 0x3f" identifier = (binary_expression "iVar11 + 0x3f" identifier + number_literal)) ;) })) (if_statement "if (extraout_v1 < iVar4 >> 6) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  bVar1 = extraout_v1_02 < 2;\n                }\n                else {\n                  bVar1 = iVar11 < 0x80;\n                }" if (parenthesized_expression "(extraout_v1 < iVar4 >> 6)" ( (binary_expression "extraout_v1 < iVar4 >> 6" identifier < (binary_expression "iVar4 >> 6" identifier >> number_literal)) )) (compound_statement "{\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  bVar1 = extraout_v1_02 < 2;\n                }" { (expression_statement "(**(code **)(puVar20 + 0x1cbe04))(7);" (call_expression "(**(code **)(puVar20 + 0x1cbe04))(7)" (parenthesized_expression "(**(code **)(puVar20 + 0x1cbe04))" ( (pointer_expression "**(code **)(puVar20 + 0x1cbe04)" * (pointer_expression "*(code **)(puVar20 + 0x1cbe04)" * (cast_expression "(code **)(puVar20 + 0x1cbe04)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x1cbe04)" ( (binary_expression "puVar20 + 0x1cbe04" 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 = iVar11 < 0x80;\n                }" else (compound_statement "{\n                  bVar1 = iVar11 < 0x80;\n                }" { (expression_statement "bVar1 = iVar11 < 0x80;" (assignment_expression "bVar1 = iVar11 < 0x80" identifier = (binary_expression "iVar11 < 0x80" identifier < number_literal)) ;) }))) (expression_statement "iVar4 = 1;" (assignment_expression "iVar4 = 1" identifier = number_literal) ;) (if_statement "if ((bool)(bVar1 ^ 1)) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  iVar4 = *(int *)(iVar3 + 0x1c);\n                  if (iVar4 < 0) {\n                    iVar4 = iVar4 + 0x3f;\n                  }\n                  iVar4 = iVar4 >> 6;\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                  if (extraout_v1_01 < iVar4) {\n                    pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                    goto LAB_001dd7c0;\n                  }\n                }\n                else {\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\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 **)(puVar20 + 0x1cbe04))(7);\n                  iVar4 = *(int *)(iVar3 + 0x1c);\n                  if (iVar4 < 0) {\n                    iVar4 = iVar4 + 0x3f;\n                  }\n                  iVar4 = iVar4 >> 6;\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                  if (extraout_v1_01 < iVar4) {\n                    pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                    goto LAB_001dd7c0;\n                  }\n                }" { (expression_statement "(**(code **)(puVar20 + 0x1cbe04))(7);" (call_expression "(**(code **)(puVar20 + 0x1cbe04))(7)" (parenthesized_expression "(**(code **)(puVar20 + 0x1cbe04))" ( (pointer_expression "**(code **)(puVar20 + 0x1cbe04)" * (pointer_expression "*(code **)(puVar20 + 0x1cbe04)" * (cast_expression "(code **)(puVar20 + 0x1cbe04)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x1cbe04)" ( (binary_expression "puVar20 + 0x1cbe04" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "iVar4 = *(int *)(iVar3 + 0x1c);" (assignment_expression "iVar4 = *(int *)(iVar3 + 0x1c)" identifier = (pointer_expression "*(int *)(iVar3 + 0x1c)" * (cast_expression "(int *)(iVar3 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x1c)" ( (binary_expression "iVar3 + 0x1c" identifier + number_literal) ))))) ;) (if_statement "if (iVar4 < 0) {\n                    iVar4 = iVar4 + 0x3f;\n                  }" if (parenthesized_expression "(iVar4 < 0)" ( (binary_expression "iVar4 < 0" identifier < number_literal) )) (compound_statement "{\n                    iVar4 = iVar4 + 0x3f;\n                  }" { (expression_statement "iVar4 = iVar4 + 0x3f;" (assignment_expression "iVar4 = iVar4 + 0x3f" identifier = (binary_expression "iVar4 + 0x3f" identifier + number_literal)) ;) })) (expression_statement "iVar4 = iVar4 >> 6;" (assignment_expression "iVar4 = iVar4 >> 6" identifier = (binary_expression "iVar4 >> 6" identifier >> number_literal)) ;) (expression_statement "iVar11 = *(int *)(puVar20 + 0x1cb66c);" (assignment_expression "iVar11 = *(int *)(puVar20 + 0x1cb66c)" identifier = (pointer_expression "*(int *)(puVar20 + 0x1cb66c)" * (cast_expression "(int *)(puVar20 + 0x1cb66c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x1cb66c)" ( (binary_expression "puVar20 + 0x1cb66c" identifier + number_literal) ))))) ;) (if_statement "if (extraout_v1_01 < iVar4) {\n                    pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                    goto LAB_001dd7c0;\n                  }" if (parenthesized_expression "(extraout_v1_01 < iVar4)" ( (binary_expression "extraout_v1_01 < iVar4" identifier < identifier) )) (compound_statement "{\n                    pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                    goto LAB_001dd7c0;\n                  }" { (expression_statement "pcVar21 = *(code **)(puVar20 + 0x1cbe04);" (assignment_expression "pcVar21 = *(code **)(puVar20 + 0x1cbe04)" identifier = (pointer_expression "*(code **)(puVar20 + 0x1cbe04)" * (cast_expression "(code **)(puVar20 + 0x1cbe04)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x1cbe04)" ( (binary_expression "puVar20 + 0x1cbe04" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_001dd7c0;" goto statement_identifier ;) })) }) (else_clause "else {\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                }" else (compound_statement "{\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                }" { (expression_statement "iVar11 = *(int *)(puVar20 + 0x1cb66c);" (assignment_expression "iVar11 = *(int *)(puVar20 + 0x1cb66c)" identifier = (pointer_expression "*(int *)(puVar20 + 0x1cb66c)" * (cast_expression "(int *)(puVar20 + 0x1cb66c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x1cb66c)" ( (binary_expression "puVar20 + 0x1cb66c" identifier + number_literal) ))))) ;) }))) }) (else_clause "else {\n                uVar24 = (**(code **)(puVar20 + 0x1cbe04))(7);\n                if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  uVar24 = (*pcVar21)(7);\n                  if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001dd5d0;\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  iVar4 = 1;\n                }\n                else {\nLAB_001dd5d0:\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\nLAB_001dd5d4:\n                  uVar24 = (*pcVar21)(7);\n                  if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n                     (pcVar21 = *(code **)(puVar20 + 0x1cbe04), (uint)uVar24 < 2)) {\nLAB_001dd7c0:\n                    (*pcVar21)(7);\n                    iVar4 = extraout_v1_00;\n                  }\n                  else {\n                    iVar4 = 2;\n                  }\n                }\n                iVar11 = *(int *)(puVar20 + 0x1cb66c);\n              }" else (compound_statement "{\n                uVar24 = (**(code **)(puVar20 + 0x1cbe04))(7);\n                if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  uVar24 = (*pcVar21)(7);\n                  if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001dd5d0;\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  iVar4 = 1;\n                }\n                else {\nLAB_001dd5d0:\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\nLAB_001dd5d4:\n                  uVar24 = (*pcVar21)(7);\n                  if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n                     (pcVar21 = *(code **)(puVar20 + 0x1cbe04), (uint)uVar24 < 2)) {\nLAB_001dd7c0:\n                    (*pcVar21)(7);\n                    iVar4 = extraout_v1_00;\n                  }\n                  else {\n                    iVar4 = 2;\n                  }\n                }\n                iVar11 = *(int *)(puVar20 + 0x1cb66c);\n              }" { (expression_statement "uVar24 = (**(code **)(puVar20 + 0x1cbe04))(7);" (assignment_expression "uVar24 = (**(code **)(puVar20 + 0x1cbe04))(7)" identifier = (call_expression "(**(code **)(puVar20 + 0x1cbe04))(7)" (parenthesized_expression "(**(code **)(puVar20 + 0x1cbe04))" ( (pointer_expression "**(code **)(puVar20 + 0x1cbe04)" * (pointer_expression "*(code **)(puVar20 + 0x1cbe04)" * (cast_expression "(code **)(puVar20 + 0x1cbe04)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x1cbe04)" ( (binary_expression "puVar20 + 0x1cbe04" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  uVar24 = (*pcVar21)(7);\n                  if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001dd5d0;\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  iVar4 = 1;\n                }\n                else {\nLAB_001dd5d0:\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\nLAB_001dd5d4:\n                  uVar24 = (*pcVar21)(7);\n                  if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n                     (pcVar21 = *(code **)(puVar20 + 0x1cbe04), (uint)uVar24 < 2)) {\nLAB_001dd7c0:\n                    (*pcVar21)(7);\n                    iVar4 = extraout_v1_00;\n                  }\n                  else {\n                    iVar4 = 2;\n                  }\n                }" if (parenthesized_expression "((int)((ulonglong)uVar24 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar24 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar24 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar24 >> 0x20)" ( (binary_expression "(ulonglong)uVar24 >> 0x20" (cast_expression "(ulonglong)uVar24" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) (compound_statement "{\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  uVar24 = (*pcVar21)(7);\n                  if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001dd5d0;\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  iVar4 = 1;\n                }" { (expression_statement "pcVar21 = *(code **)(puVar20 + 0x1cbe04);" (assignment_expression "pcVar21 = *(code **)(puVar20 + 0x1cbe04)" identifier = (pointer_expression "*(code **)(puVar20 + 0x1cbe04)" * (cast_expression "(code **)(puVar20 + 0x1cbe04)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x1cbe04)" ( (binary_expression "puVar20 + 0x1cbe04" identifier + number_literal) ))))) ;) (if_statement "if (1 < (uint)uVar24) goto LAB_001dd5d4;" if (parenthesized_expression "(1 < (uint)uVar24)" ( (binary_expression "1 < (uint)uVar24" number_literal < (cast_expression "(uint)uVar24" ( (type_descriptor "uint" type_identifier) ) identifier)) )) (goto_statement "goto LAB_001dd5d4;" goto statement_identifier ;)) (expression_statement "uVar24 = (*pcVar21)(7);" (assignment_expression "uVar24 = (*pcVar21)(7)" identifier = (call_expression "(*pcVar21)(7)" (parenthesized_expression "(*pcVar21)" ( (pointer_expression "*pcVar21" * identifier) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001dd5d0;" if (parenthesized_expression "((int)((ulonglong)uVar24 >> 0x20) != 0)" ( (binary_expression "(int)((ulonglong)uVar24 >> 0x20) != 0" (cast_expression "(int)((ulonglong)uVar24 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar24 >> 0x20)" ( (binary_expression "(ulonglong)uVar24 >> 0x20" (cast_expression "(ulonglong)uVar24" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) != number_literal) )) (goto_statement "goto LAB_001dd5d0;" goto statement_identifier ;)) (expression_statement "pcVar21 = *(code **)(puVar20 + 0x1cbe04);" (assignment_expression "pcVar21 = *(code **)(puVar20 + 0x1cbe04)" identifier = (pointer_expression "*(code **)(puVar20 + 0x1cbe04)" * (cast_expression "(code **)(puVar20 + 0x1cbe04)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x1cbe04)" ( (binary_expression "puVar20 + 0x1cbe04" identifier + number_literal) ))))) ;) (if_statement "if (1 < (uint)uVar24) goto LAB_001dd5d4;" if (parenthesized_expression "(1 < (uint)uVar24)" ( (binary_expression "1 < (uint)uVar24" number_literal < (cast_expression "(uint)uVar24" ( (type_descriptor "uint" type_identifier) ) identifier)) )) (goto_statement "goto LAB_001dd5d4;" goto statement_identifier ;)) (expression_statement "iVar4 = 1;" (assignment_expression "iVar4 = 1" identifier = number_literal) ;) }) (else_clause "else {\nLAB_001dd5d0:\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\nLAB_001dd5d4:\n                  uVar24 = (*pcVar21)(7);\n                  if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n                     (pcVar21 = *(code **)(puVar20 + 0x1cbe04), (uint)uVar24 < 2)) {\nLAB_001dd7c0:\n                    (*pcVar21)(7);\n                    iVar4 = extraout_v1_00;\n                  }\n                  else {\n                    iVar4 = 2;\n                  }\n                }" else (compound_statement "{\nLAB_001dd5d0:\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\nLAB_001dd5d4:\n                  uVar24 = (*pcVar21)(7);\n                  if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n                     (pcVar21 = *(code **)(puVar20 + 0x1cbe04), (uint)uVar24 < 2)) {\nLAB_001dd7c0:\n                    (*pcVar21)(7);\n                    iVar4 = extraout_v1_00;\n                  }\n                  else {\n                    iVar4 = 2;\n                  }\n                }" { (labeled_statement "LAB_001dd5d0:\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);" statement_identifier : (expression_statement "pcVar21 = *(code **)(puVar20 + 0x1cbe04);" (assignment_expression "pcVar21 = *(code **)(puVar20 + 0x1cbe04)" identifier = (pointer_expression "*(code **)(puVar20 + 0x1cbe04)" * (cast_expression "(code **)(puVar20 + 0x1cbe04)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x1cbe04)" ( (binary_expression "puVar20 + 0x1cbe04" identifier + number_literal) ))))) ;)) (labeled_statement "LAB_001dd5d4:\n                  uVar24 = (*pcVar21)(7);" statement_identifier : (expression_statement "uVar24 = (*pcVar21)(7);" (assignment_expression "uVar24 = (*pcVar21)(7)" identifier = (call_expression "(*pcVar21)(7)" (parenthesized_expression "(*pcVar21)" ( (pointer_expression "*pcVar21" * identifier) )) (argument_list "(7)" ( number_literal )))) ;)) (if_statement "if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n                     (pcVar21 = *(code **)(puVar20 + 0x1cbe04), (uint)uVar24 < 2)) {\nLAB_001dd7c0:\n                    (*pcVar21)(7);\n                    iVar4 = extraout_v1_00;\n                  }\n                  else {\n                    iVar4 = 2;\n                  }" if (parenthesized_expression "(((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n                     (pcVar21 = *(code **)(puVar20 + 0x1cbe04), (uint)uVar24 < 2))" ( (binary_expression "((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n                     (pcVar21 = *(code **)(puVar20 + 0x1cbe04), (uint)uVar24 < 2)" (parenthesized_expression "((int)((ulonglong)uVar24 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar24 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar24 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar24 >> 0x20)" ( (binary_expression "(ulonglong)uVar24 >> 0x20" (cast_expression "(ulonglong)uVar24" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) && (parenthesized_expression "(pcVar21 = *(code **)(puVar20 + 0x1cbe04), (uint)uVar24 < 2)" ( (comma_expression "pcVar21 = *(code **)(puVar20 + 0x1cbe04), (uint)uVar24 < 2" (assignment_expression "pcVar21 = *(code **)(puVar20 + 0x1cbe04)" identifier = (pointer_expression "*(code **)(puVar20 + 0x1cbe04)" * (cast_expression "(code **)(puVar20 + 0x1cbe04)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x1cbe04)" ( (binary_expression "puVar20 + 0x1cbe04" identifier + number_literal) ))))) , (binary_expression "(uint)uVar24 < 2" (cast_expression "(uint)uVar24" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal)) ))) )) (compound_statement "{\nLAB_001dd7c0:\n                    (*pcVar21)(7);\n                    iVar4 = extraout_v1_00;\n                  }" { (labeled_statement "LAB_001dd7c0:\n                    (*pcVar21)(7);" statement_identifier : (expression_statement "(*pcVar21)(7);" (call_expression "(*pcVar21)(7)" (parenthesized_expression "(*pcVar21)" ( (pointer_expression "*pcVar21" * identifier) )) (argument_list "(7)" ( number_literal ))) ;)) (expression_statement "iVar4 = extraout_v1_00;" (assignment_expression "iVar4 = extraout_v1_00" identifier = identifier) ;) }) (else_clause "else {\n                    iVar4 = 2;\n                  }" else (compound_statement "{\n                    iVar4 = 2;\n                  }" { (expression_statement "iVar4 = 2;" (assignment_expression "iVar4 = 2" identifier = number_literal) ;) }))) }))) (expression_statement "iVar11 = *(int *)(puVar20 + 0x1cb66c);" (assignment_expression "iVar11 = *(int *)(puVar20 + 0x1cb66c)" identifier = (pointer_expression "*(int *)(puVar20 + 0x1cb66c)" * (cast_expression "(int *)(puVar20 + 0x1cb66c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x1cb66c)" ( (binary_expression "puVar20 + 0x1cb66c" identifier + number_literal) ))))) ;) }))) (expression_statement "puStack_f8 = (undefined *)0x1;" (assignment_expression "puStack_f8 = (undefined *)0x1" identifier = (cast_expression "(undefined *)0x1" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puStack_f4 = &uStack_118;" (assignment_expression "puStack_f4 = &uStack_118" identifier = (pointer_expression "&uStack_118" & identifier)) ;) (expression_statement "puStack_110 = puVar10;" (assignment_expression "puStack_110 = puVar10" identifier = identifier) ;) (expression_statement "iStack_10c = iVar2;" (assignment_expression "iStack_10c = iVar2" identifier = identifier) ;) (expression_statement "puStack_108 = puVar15;" (assignment_expression "puStack_108 = puVar15" identifier = identifier) ;) (expression_statement "puStack_104 = puVar13;" (assignment_expression "puStack_104 = puVar13" identifier = identifier) ;) (expression_statement "iStack_100 = iVar3;" (assignment_expression "iStack_100 = iVar3" identifier = identifier) ;) (expression_statement "puStack_fc = unaff_s6;" (assignment_expression "puStack_fc = unaff_s6" identifier = identifier) ;) (expression_statement "(**(code **)(puVar20 + 0x1cbe60))(iVar11 + -0x43b4,&puStack_110,iVar4,0);" (call_expression "(**(code **)(puVar20 + 0x1cbe60))(iVar11 + -0x43b4,&puStack_110,iVar4,0)" (parenthesized_expression "(**(code **)(puVar20 + 0x1cbe60))" ( (pointer_expression "**(code **)(puVar20 + 0x1cbe60)" * (pointer_expression "*(code **)(puVar20 + 0x1cbe60)" * (cast_expression "(code **)(puVar20 + 0x1cbe60)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x1cbe60)" ( (binary_expression "puVar20 + 0x1cbe60" identifier + number_literal) ))))) )) (argument_list "(iVar11 + -0x43b4,&puStack_110,iVar4,0)" ( (binary_expression "iVar11 + -0x43b4" identifier + number_literal) , (pointer_expression "&puStack_110" & identifier) , identifier , number_literal ))) ;) (expression_statement "puVar15 = puStack_f8;" (assignment_expression "puVar15 = puStack_f8" identifier = identifier) ;) (expression_statement "(**(code **)(puVar20 + 0x1cbbbc))(puVar13);" (call_expression "(**(code **)(puVar20 + 0x1cbbbc))(puVar13)" (parenthesized_expression "(**(code **)(puVar20 + 0x1cbbbc))" ( (pointer_expression "**(code **)(puVar20 + 0x1cbbbc)" * (pointer_expression "*(code **)(puVar20 + 0x1cbbbc)" * (cast_expression "(code **)(puVar20 + 0x1cbbbc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x1cbbbc)" ( (binary_expression "puVar20 + 0x1cbbbc" identifier + number_literal) ))))) )) (argument_list "(puVar13)" ( identifier ))) ;) (if_statement "if (puVar15 == (undefined *)0x0) {\n                in_stack_00000018 = (**(code **)(puVar20 + 0x1cbc14))(iVar3);\n              }" if (parenthesized_expression "(puVar15 == (undefined *)0x0)" ( (binary_expression "puVar15 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                in_stack_00000018 = (**(code **)(puVar20 + 0x1cbc14))(iVar3);\n              }" { (expression_statement "in_stack_00000018 = (**(code **)(puVar20 + 0x1cbc14))(iVar3);" (assignment_expression "in_stack_00000018 = (**(code **)(puVar20 + 0x1cbc14))(iVar3)" identifier = (call_expression "(**(code **)(puVar20 + 0x1cbc14))(iVar3)" (parenthesized_expression "(**(code **)(puVar20 + 0x1cbc14))" ( (pointer_expression "**(code **)(puVar20 + 0x1cbc14)" * (pointer_expression "*(code **)(puVar20 + 0x1cbc14)" * (cast_expression "(code **)(puVar20 + 0x1cbc14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x1cbc14)" ( (binary_expression "puVar20 + 0x1cbc14" identifier + number_literal) ))))) )) (argument_list "(iVar3)" ( identifier )))) ;) })) })) }))) })) (expression_statement "unaff_s1 = puVar15;" (assignment_expression "unaff_s1 = puVar15" identifier = identifier) ;) (expression_statement "unaff_s3 = iVar2;" (assignment_expression "unaff_s3 = iVar2" identifier = identifier) ;) (expression_statement "unaff_s5 = puVar13;" (assignment_expression "unaff_s5 = puVar13" identifier = identifier) ;) (if_statement "if (iStack_6c == *piVar18) {\n          return in_stack_00000018;\n        }" if (parenthesized_expression "(iStack_6c == *piVar18)" ( (binary_expression "iStack_6c == *piVar18" identifier == (pointer_expression "*piVar18" * identifier)) )) (compound_statement "{\n          return in_stack_00000018;\n        }" { (return_statement "return in_stack_00000018;" return identifier ;) })) (goto_statement "goto LAB_001dd890;" goto statement_identifier ;) })) (goto_statement "goto LAB_001dd8c0;" goto statement_identifier ;) })) }))) (expression_statement "iVar4 = 0x23c;" (assignment_expression "iVar4 = 0x23c" identifier = number_literal) ;) (expression_statement "pcVar21 = *(code **)(puVar20 + 0x1cc2d0);" (assignment_expression "pcVar21 = *(code **)(puVar20 + 0x1cc2d0)" identifier = (pointer_expression "*(code **)(puVar20 + 0x1cc2d0)" * (cast_expression "(code **)(puVar20 + 0x1cc2d0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x1cc2d0)" ( (binary_expression "puVar20 + 0x1cc2d0" identifier + number_literal) ))))) ;) (expression_statement "iVar3 = *(int *)(puVar20 + 0x1cb5b4) + -0x12ec;" (assignment_expression "iVar3 = *(int *)(puVar20 + 0x1cb5b4) + -0x12ec" identifier = (binary_expression "*(int *)(puVar20 + 0x1cb5b4) + -0x12ec" (pointer_expression "*(int *)(puVar20 + 0x1cb5b4)" * (cast_expression "(int *)(puVar20 + 0x1cb5b4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x1cb5b4)" ( (binary_expression "puVar20 + 0x1cb5b4" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "puVar12 = (undefined1 *)(*(int *)(puVar20 + 0x1cb5a8) + 0x1cac);" (assignment_expression "puVar12 = (undefined1 *)(*(int *)(puVar20 + 0x1cb5a8) + 0x1cac)" identifier = (cast_expression "(undefined1 *)(*(int *)(puVar20 + 0x1cb5a8) + 0x1cac)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar20 + 0x1cb5a8) + 0x1cac)" ( (binary_expression "*(int *)(puVar20 + 0x1cb5a8) + 0x1cac" (pointer_expression "*(int *)(puVar20 + 0x1cb5a8)" * (cast_expression "(int *)(puVar20 + 0x1cb5a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x1cb5a8)" ( (binary_expression "puVar20 + 0x1cb5a8" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar21)();" (call_expression "(*pcVar21)()" (parenthesized_expression "(*pcVar21)" ( (pointer_expression "*pcVar21" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "piVar6 = *(int **)(pcVar21 + 0x1cb928);" (assignment_expression "piVar6 = *(int **)(pcVar21 + 0x1cb928)" identifier = (pointer_expression "*(int **)(pcVar21 + 0x1cb928)" * (cast_expression "(int **)(pcVar21 + 0x1cb928)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x1cb928)" ( (binary_expression "pcVar21 + 0x1cb928" identifier + number_literal) ))))) ;) (expression_statement "iStack_16c = *piVar6;" (assignment_expression "iStack_16c = *piVar6" identifier = (pointer_expression "*piVar6" * identifier)) ;) (expression_statement "iStack_168 = in_stack_00000018;" (assignment_expression "iStack_168 = in_stack_00000018" identifier = identifier) ;) (expression_statement "puStack_164 = puVar15;" (assignment_expression "puStack_164 = puVar15" identifier = identifier) ;) (expression_statement "puStack_160 = puVar10;" (assignment_expression "puStack_160 = puVar10" identifier = identifier) ;) (expression_statement "iStack_15c = iVar2;" (assignment_expression "iStack_15c = iVar2" identifier = identifier) ;) (expression_statement "piStack_158 = piVar18;" (assignment_expression "piStack_158 = piVar18" identifier = identifier) ;) (expression_statement "puStack_154 = puVar13;" (assignment_expression "puStack_154 = puVar13" identifier = identifier) ;) (expression_statement "puStack_150 = unaff_s6;" (assignment_expression "puStack_150 = unaff_s6" identifier = identifier) ;) (expression_statement "(**(code **)(pcVar21 + 0x1cbdcc))(auStack_1290,0,0x120);" (call_expression "(**(code **)(pcVar21 + 0x1cbdcc))(auStack_1290,0,0x120)" (parenthesized_expression "(**(code **)(pcVar21 + 0x1cbdcc))" ( (pointer_expression "**(code **)(pcVar21 + 0x1cbdcc)" * (pointer_expression "*(code **)(pcVar21 + 0x1cbdcc)" * (cast_expression "(code **)(pcVar21 + 0x1cbdcc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x1cbdcc)" ( (binary_expression "pcVar21 + 0x1cbdcc" identifier + number_literal) ))))) )) (argument_list "(auStack_1290,0,0x120)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "auStack_1290[0] = *(undefined8 *)(*(int *)(pcVar21 + 0x1cafd8) + 0x1438);" (assignment_expression "auStack_1290[0] = *(undefined8 *)(*(int *)(pcVar21 + 0x1cafd8) + 0x1438)" (subscript_expression "auStack_1290[0]" identifier [ number_literal ]) = (pointer_expression "*(undefined8 *)(*(int *)(pcVar21 + 0x1cafd8) + 0x1438)" * (cast_expression "(undefined8 *)(*(int *)(pcVar21 + 0x1cafd8) + 0x1438)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar21 + 0x1cafd8) + 0x1438)" ( (binary_expression "*(int *)(pcVar21 + 0x1cafd8) + 0x1438" (pointer_expression "*(int *)(pcVar21 + 0x1cafd8)" * (cast_expression "(int *)(pcVar21 + 0x1cafd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar21 + 0x1cafd8)" ( (binary_expression "pcVar21 + 0x1cafd8" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "uStack_1258 = auStack_1290[0];" (assignment_expression "uStack_1258 = auStack_1290[0]" identifier = (subscript_expression "auStack_1290[0]" identifier [ number_literal ])) ;) (expression_statement "uStack_1220 = auStack_1290[0];" (assignment_expression "uStack_1220 = auStack_1290[0]" identifier = (subscript_expression "auStack_1290[0]" identifier [ number_literal ])) ;) (expression_statement "uStack_11e8 = auStack_1290[0];" (assignment_expression "uStack_11e8 = auStack_1290[0]" identifier = (subscript_expression "auStack_1290[0]" identifier [ number_literal ])) ;) (expression_statement "uStack_11b0 = auStack_1290[0];" (assignment_expression "uStack_11b0 = auStack_1290[0]" identifier = (subscript_expression "auStack_1290[0]" identifier [ number_literal ])) ;) (expression_statement "uStack_1178 = auStack_1290[0];" (assignment_expression "uStack_1178 = auStack_1290[0]" identifier = (subscript_expression "auStack_1290[0]" identifier [ number_literal ])) ;) (if_statement "if (puVar12 == (undefined1 *)0x0) {\n    iVar2 = (**(code **)(pcVar21 + 0x1cbd00))\n                      (*(int *)(pcVar21 + 0x1cafd8) + 0xdd0,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,\n                       0x2f9,*(int *)(pcVar21 + 0x1cafe4) + -0xf20);\n    return iVar2;\n  }" if (parenthesized_expression "(puVar12 == (undefined1 *)0x0)" ( (binary_expression "puVar12 == (undefined1 *)0x0" identifier == (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    iVar2 = (**(code **)(pcVar21 + 0x1cbd00))\n                      (*(int *)(pcVar21 + 0x1cafd8) + 0xdd0,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,\n                       0x2f9,*(int *)(pcVar21 + 0x1cafe4) + -0xf20);\n    return iVar2;\n  }" { (expression_statement "iVar2 = (**(code **)(pcVar21 + 0x1cbd00))\n                      (*(int *)(pcVar21 + 0x1cafd8) + 0xdd0,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,\n                       0x2f9,*(int *)(pcVar21 + 0x1cafe4) + -0xf20);" (assignment_expression "iVar2 = (**(code **)(pcVar21 + 0x1cbd00))\n                      (*(int *)(pcVar21 + 0x1cafd8) + 0xdd0,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,\n                       0x2f9,*(int *)(pcVar21 + 0x1cafe4) + -0xf20)" identifier = (call_expression "(**(code **)(pcVar21 + 0x1cbd00))\n                      (*(int *)(pcVar21 + 0x1cafd8) + 0xdd0,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,\n                       0x2f9,*(int *)(pcVar21 + 0x1cafe4) + -0xf20)" (parenthesized_expression "(**(code **)(pcVar21 + 0x1cbd00))" ( (pointer_expression "**(code **)(pcVar21 + 0x1cbd00)" * (pointer_expression "*(code **)(pcVar21 + 0x1cbd00)" * (cast_expression "(code **)(pcVar21 + 0x1cbd00)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x1cbd00)" ( (binary_expression "pcVar21 + 0x1cbd00" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar21 + 0x1cafd8) + 0xdd0,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,\n                       0x2f9,*(int *)(pcVar21 + 0x1cafe4) + -0xf20)" ( (binary_expression "*(int *)(pcVar21 + 0x1cafd8) + 0xdd0" (pointer_expression "*(int *)(pcVar21 + 0x1cafd8)" * (cast_expression "(int *)(pcVar21 + 0x1cafd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar21 + 0x1cafd8)" ( (binary_expression "pcVar21 + 0x1cafd8" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar21 + 0x1cafe4) + -0x12ec" (pointer_expression "*(int *)(pcVar21 + 0x1cafe4)" * (cast_expression "(int *)(pcVar21 + 0x1cafe4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar21 + 0x1cafe4)" ( (binary_expression "pcVar21 + 0x1cafe4" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar21 + 0x1cafe4) + -0xf20" (pointer_expression "*(int *)(pcVar21 + 0x1cafe4)" * (cast_expression "(int *)(pcVar21 + 0x1cafe4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar21 + 0x1cafe4)" ( (binary_expression "pcVar21 + 0x1cafe4" identifier + number_literal) )))) + number_literal) )))) ;) (return_statement "return iVar2;" return identifier ;) })) (expression_statement "iVar2 = *(int *)(pcVar21 + 0x1cafe4);" (assignment_expression "iVar2 = *(int *)(pcVar21 + 0x1cafe4)" identifier = (pointer_expression "*(int *)(pcVar21 + 0x1cafe4)" * (cast_expression "(int *)(pcVar21 + 0x1cafe4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar21 + 0x1cafe4)" ( (binary_expression "pcVar21 + 0x1cafe4" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(puVar12 + 0x336c) != -0x54535255) goto LAB_001ddf28;" if (parenthesized_expression "(*(int *)(puVar12 + 0x336c) != -0x54535255)" ( (binary_expression "*(int *)(puVar12 + 0x336c) != -0x54535255" (pointer_expression "*(int *)(puVar12 + 0x336c)" * (cast_expression "(int *)(puVar12 + 0x336c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x336c)" ( (binary_expression "puVar12 + 0x336c" identifier + number_literal) )))) != number_literal) )) (goto_statement "goto LAB_001ddf28;" goto statement_identifier ;)) (if_statement "if (*(int *)(puVar12 + 0x3350) != 0) {\n    (**(code **)(pcVar21 + 0x1cb8d8))\n              (0x8000,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,*(int *)(pcVar21 + 0x1cafe4) + -0xf34,\n               0x2fc,*(int *)(pcVar21 + 0x1cafdc) + -0x62ac,puVar12 + 0x340);\n  }" if (parenthesized_expression "(*(int *)(puVar12 + 0x3350) != 0)" ( (binary_expression "*(int *)(puVar12 + 0x3350) != 0" (pointer_expression "*(int *)(puVar12 + 0x3350)" * (cast_expression "(int *)(puVar12 + 0x3350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x3350)" ( (binary_expression "puVar12 + 0x3350" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    (**(code **)(pcVar21 + 0x1cb8d8))\n              (0x8000,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,*(int *)(pcVar21 + 0x1cafe4) + -0xf34,\n               0x2fc,*(int *)(pcVar21 + 0x1cafdc) + -0x62ac,puVar12 + 0x340);\n  }" { (expression_statement "(**(code **)(pcVar21 + 0x1cb8d8))\n              (0x8000,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,*(int *)(pcVar21 + 0x1cafe4) + -0xf34,\n               0x2fc,*(int *)(pcVar21 + 0x1cafdc) + -0x62ac,puVar12 + 0x340);" (call_expression "(**(code **)(pcVar21 + 0x1cb8d8))\n              (0x8000,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,*(int *)(pcVar21 + 0x1cafe4) + -0xf34,\n               0x2fc,*(int *)(pcVar21 + 0x1cafdc) + -0x62ac,puVar12 + 0x340)" (parenthesized_expression "(**(code **)(pcVar21 + 0x1cb8d8))" ( (pointer_expression "**(code **)(pcVar21 + 0x1cb8d8)" * (pointer_expression "*(code **)(pcVar21 + 0x1cb8d8)" * (cast_expression "(code **)(pcVar21 + 0x1cb8d8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x1cb8d8)" ( (binary_expression "pcVar21 + 0x1cb8d8" identifier + number_literal) ))))) )) (argument_list "(0x8000,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,*(int *)(pcVar21 + 0x1cafe4) + -0xf34,\n               0x2fc,*(int *)(pcVar21 + 0x1cafdc) + -0x62ac,puVar12 + 0x340)" ( number_literal , (binary_expression "*(int *)(pcVar21 + 0x1cafe4) + -0x12ec" (pointer_expression "*(int *)(pcVar21 + 0x1cafe4)" * (cast_expression "(int *)(pcVar21 + 0x1cafe4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar21 + 0x1cafe4)" ( (binary_expression "pcVar21 + 0x1cafe4" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar21 + 0x1cafe4) + -0xf34" (pointer_expression "*(int *)(pcVar21 + 0x1cafe4)" * (cast_expression "(int *)(pcVar21 + 0x1cafe4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar21 + 0x1cafe4)" ( (binary_expression "pcVar21 + 0x1cafe4" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar21 + 0x1cafdc) + -0x62ac" (pointer_expression "*(int *)(pcVar21 + 0x1cafdc)" * (cast_expression "(int *)(pcVar21 + 0x1cafdc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar21 + 0x1cafdc)" ( (binary_expression "pcVar21 + 0x1cafdc" identifier + number_literal) )))) + number_literal) , (binary_expression "puVar12 + 0x340" identifier + number_literal) ))) ;) })) (if_statement "if (iVar4 == 0) {\n    iVar2 = (**(code **)(pcVar21 + 0x1cbd00))\n                      (*(int *)(pcVar21 + 0x1cafd8) + 0x1cac,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,\n                       0x2fd,*(int *)(pcVar21 + 0x1cafe4) + -0xf20);\n    return iVar2;\n  }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n    iVar2 = (**(code **)(pcVar21 + 0x1cbd00))\n                      (*(int *)(pcVar21 + 0x1cafd8) + 0x1cac,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,\n                       0x2fd,*(int *)(pcVar21 + 0x1cafe4) + -0xf20);\n    return iVar2;\n  }" { (expression_statement "iVar2 = (**(code **)(pcVar21 + 0x1cbd00))\n                      (*(int *)(pcVar21 + 0x1cafd8) + 0x1cac,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,\n                       0x2fd,*(int *)(pcVar21 + 0x1cafe4) + -0xf20);" (assignment_expression "iVar2 = (**(code **)(pcVar21 + 0x1cbd00))\n                      (*(int *)(pcVar21 + 0x1cafd8) + 0x1cac,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,\n                       0x2fd,*(int *)(pcVar21 + 0x1cafe4) + -0xf20)" identifier = (call_expression "(**(code **)(pcVar21 + 0x1cbd00))\n                      (*(int *)(pcVar21 + 0x1cafd8) + 0x1cac,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,\n                       0x2fd,*(int *)(pcVar21 + 0x1cafe4) + -0xf20)" (parenthesized_expression "(**(code **)(pcVar21 + 0x1cbd00))" ( (pointer_expression "**(code **)(pcVar21 + 0x1cbd00)" * (pointer_expression "*(code **)(pcVar21 + 0x1cbd00)" * (cast_expression "(code **)(pcVar21 + 0x1cbd00)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x1cbd00)" ( (binary_expression "pcVar21 + 0x1cbd00" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar21 + 0x1cafd8) + 0x1cac,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,\n                       0x2fd,*(int *)(pcVar21 + 0x1cafe4) + -0xf20)" ( (binary_expression "*(int *)(pcVar21 + 0x1cafd8) + 0x1cac" (pointer_expression "*(int *)(pcVar21 + 0x1cafd8)" * (cast_expression "(int *)(pcVar21 + 0x1cafd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar21 + 0x1cafd8)" ( (binary_expression "pcVar21 + 0x1cafd8" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar21 + 0x1cafe4) + -0x12ec" (pointer_expression "*(int *)(pcVar21 + 0x1cafe4)" * (cast_expression "(int *)(pcVar21 + 0x1cafe4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar21 + 0x1cafe4)" ( (binary_expression "pcVar21 + 0x1cafe4" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar21 + 0x1cafe4) + -0xf20" (pointer_expression "*(int *)(pcVar21 + 0x1cafe4)" * (cast_expression "(int *)(pcVar21 + 0x1cafe4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar21 + 0x1cafe4)" ( (binary_expression "pcVar21 + 0x1cafe4" identifier + number_literal) )))) + number_literal) )))) ;) (return_statement "return iVar2;" return identifier ;) })) (if_statement "if (*(int *)(iVar4 + 0x1c) != -0x54535255) {\n    iVar2 = (**(code **)(pcVar21 + 0x1cbd00))\n                      (*(int *)(pcVar21 + 0x1cafd8) + 0x294c,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,\n                       0x2fe,*(int *)(pcVar21 + 0x1cafe4) + -0xf20);\n    return iVar2;\n  }" if (parenthesized_expression "(*(int *)(iVar4 + 0x1c) != -0x54535255)" ( (binary_expression "*(int *)(iVar4 + 0x1c) != -0x54535255" (pointer_expression "*(int *)(iVar4 + 0x1c)" * (cast_expression "(int *)(iVar4 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x1c)" ( (binary_expression "iVar4 + 0x1c" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    iVar2 = (**(code **)(pcVar21 + 0x1cbd00))\n                      (*(int *)(pcVar21 + 0x1cafd8) + 0x294c,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,\n                       0x2fe,*(int *)(pcVar21 + 0x1cafe4) + -0xf20);\n    return iVar2;\n  }" { (expression_statement "iVar2 = (**(code **)(pcVar21 + 0x1cbd00))\n                      (*(int *)(pcVar21 + 0x1cafd8) + 0x294c,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,\n                       0x2fe,*(int *)(pcVar21 + 0x1cafe4) + -0xf20);" (assignment_expression "iVar2 = (**(code **)(pcVar21 + 0x1cbd00))\n                      (*(int *)(pcVar21 + 0x1cafd8) + 0x294c,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,\n                       0x2fe,*(int *)(pcVar21 + 0x1cafe4) + -0xf20)" identifier = (call_expression "(**(code **)(pcVar21 + 0x1cbd00))\n                      (*(int *)(pcVar21 + 0x1cafd8) + 0x294c,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,\n                       0x2fe,*(int *)(pcVar21 + 0x1cafe4) + -0xf20)" (parenthesized_expression "(**(code **)(pcVar21 + 0x1cbd00))" ( (pointer_expression "**(code **)(pcVar21 + 0x1cbd00)" * (pointer_expression "*(code **)(pcVar21 + 0x1cbd00)" * (cast_expression "(code **)(pcVar21 + 0x1cbd00)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x1cbd00)" ( (binary_expression "pcVar21 + 0x1cbd00" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar21 + 0x1cafd8) + 0x294c,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,\n                       0x2fe,*(int *)(pcVar21 + 0x1cafe4) + -0xf20)" ( (binary_expression "*(int *)(pcVar21 + 0x1cafd8) + 0x294c" (pointer_expression "*(int *)(pcVar21 + 0x1cafd8)" * (cast_expression "(int *)(pcVar21 + 0x1cafd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar21 + 0x1cafd8)" ( (binary_expression "pcVar21 + 0x1cafd8" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar21 + 0x1cafe4) + -0x12ec" (pointer_expression "*(int *)(pcVar21 + 0x1cafe4)" * (cast_expression "(int *)(pcVar21 + 0x1cafe4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar21 + 0x1cafe4)" ( (binary_expression "pcVar21 + 0x1cafe4" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar21 + 0x1cafe4) + -0xf20" (pointer_expression "*(int *)(pcVar21 + 0x1cafe4)" * (cast_expression "(int *)(pcVar21 + 0x1cafe4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar21 + 0x1cafe4)" ( (binary_expression "pcVar21 + 0x1cafe4" identifier + number_literal) )))) + number_literal) )))) ;) (return_statement "return iVar2;" return identifier ;) })) (expression_statement "iVar11 = *(int *)(iVar3 + 8);" (assignment_expression "iVar11 = *(int *)(iVar3 + 8)" identifier = (pointer_expression "*(int *)(iVar3 + 8)" * (cast_expression "(int *)(iVar3 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 8)" ( (binary_expression "iVar3 + 8" identifier + number_literal) ))))) ;) (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" identifier = number_literal) ;) (if_statement "if (0 < iVar11) {\n    iVar14 = *(int *)(iVar3 + 4);\n    iVar17 = 0;\n    puVar16 = auStack_1290;\n    do {\n      if (0 < iVar14) {\n        iVar7 = 0;\n        do {\n          if ((iVar2 < 6) && (iVar7 < 6)) {\n            puVar16[iVar7] = *(undefined8 *)(*(int *)(iVar3 + 0x14) + (iVar17 + iVar7) * 8);\n          }\n          iVar7 = iVar7 + 1;\n        } while (iVar7 != iVar14);\n        iVar17 = iVar17 + iVar14;\n      }\n      iVar2 = iVar2 + 1;\n      puVar16 = puVar16 + 6;\n    } while (iVar2 != iVar11);\n  }" if (parenthesized_expression "(0 < iVar11)" ( (binary_expression "0 < iVar11" number_literal < identifier) )) (compound_statement "{\n    iVar14 = *(int *)(iVar3 + 4);\n    iVar17 = 0;\n    puVar16 = auStack_1290;\n    do {\n      if (0 < iVar14) {\n        iVar7 = 0;\n        do {\n          if ((iVar2 < 6) && (iVar7 < 6)) {\n            puVar16[iVar7] = *(undefined8 *)(*(int *)(iVar3 + 0x14) + (iVar17 + iVar7) * 8);\n          }\n          iVar7 = iVar7 + 1;\n        } while (iVar7 != iVar14);\n        iVar17 = iVar17 + iVar14;\n      }\n      iVar2 = iVar2 + 1;\n      puVar16 = puVar16 + 6;\n    } while (iVar2 != iVar11);\n  }" { (expression_statement "iVar14 = *(int *)(iVar3 + 4);" (assignment_expression "iVar14 = *(int *)(iVar3 + 4)" identifier = (pointer_expression "*(int *)(iVar3 + 4)" * (cast_expression "(int *)(iVar3 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 4)" ( (binary_expression "iVar3 + 4" identifier + number_literal) ))))) ;) (expression_statement "iVar17 = 0;" (assignment_expression "iVar17 = 0" identifier = number_literal) ;) (expression_statement "puVar16 = auStack_1290;" (assignment_expression "puVar16 = auStack_1290" identifier = identifier) ;) (do_statement "do {\n      if (0 < iVar14) {\n        iVar7 = 0;\n        do {\n          if ((iVar2 < 6) && (iVar7 < 6)) {\n            puVar16[iVar7] = *(undefined8 *)(*(int *)(iVar3 + 0x14) + (iVar17 + iVar7) * 8);\n          }\n          iVar7 = iVar7 + 1;\n        } while (iVar7 != iVar14);\n        iVar17 = iVar17 + iVar14;\n      }\n      iVar2 = iVar2 + 1;\n      puVar16 = puVar16 + 6;\n    } while (iVar2 != iVar11);" do (compound_statement "{\n      if (0 < iVar14) {\n        iVar7 = 0;\n        do {\n          if ((iVar2 < 6) && (iVar7 < 6)) {\n            puVar16[iVar7] = *(undefined8 *)(*(int *)(iVar3 + 0x14) + (iVar17 + iVar7) * 8);\n          }\n          iVar7 = iVar7 + 1;\n        } while (iVar7 != iVar14);\n        iVar17 = iVar17 + iVar14;\n      }\n      iVar2 = iVar2 + 1;\n      puVar16 = puVar16 + 6;\n    }" { (if_statement "if (0 < iVar14) {\n        iVar7 = 0;\n        do {\n          if ((iVar2 < 6) && (iVar7 < 6)) {\n            puVar16[iVar7] = *(undefined8 *)(*(int *)(iVar3 + 0x14) + (iVar17 + iVar7) * 8);\n          }\n          iVar7 = iVar7 + 1;\n        } while (iVar7 != iVar14);\n        iVar17 = iVar17 + iVar14;\n      }" if (parenthesized_expression "(0 < iVar14)" ( (binary_expression "0 < iVar14" number_literal < identifier) )) (compound_statement "{\n        iVar7 = 0;\n        do {\n          if ((iVar2 < 6) && (iVar7 < 6)) {\n            puVar16[iVar7] = *(undefined8 *)(*(int *)(iVar3 + 0x14) + (iVar17 + iVar7) * 8);\n          }\n          iVar7 = iVar7 + 1;\n        } while (iVar7 != iVar14);\n        iVar17 = iVar17 + iVar14;\n      }" { (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) (do_statement "do {\n          if ((iVar2 < 6) && (iVar7 < 6)) {\n            puVar16[iVar7] = *(undefined8 *)(*(int *)(iVar3 + 0x14) + (iVar17 + iVar7) * 8);\n          }\n          iVar7 = iVar7 + 1;\n        } while (iVar7 != iVar14);" do (compound_statement "{\n          if ((iVar2 < 6) && (iVar7 < 6)) {\n            puVar16[iVar7] = *(undefined8 *)(*(int *)(iVar3 + 0x14) + (iVar17 + iVar7) * 8);\n          }\n          iVar7 = iVar7 + 1;\n        }" { (if_statement "if ((iVar2 < 6) && (iVar7 < 6)) {\n            puVar16[iVar7] = *(undefined8 *)(*(int *)(iVar3 + 0x14) + (iVar17 + iVar7) * 8);\n          }" if (parenthesized_expression "((iVar2 < 6) && (iVar7 < 6))" ( (binary_expression "(iVar2 < 6) && (iVar7 < 6)" (parenthesized_expression "(iVar2 < 6)" ( (binary_expression "iVar2 < 6" identifier < number_literal) )) && (parenthesized_expression "(iVar7 < 6)" ( (binary_expression "iVar7 < 6" identifier < number_literal) ))) )) (compound_statement "{\n            puVar16[iVar7] = *(undefined8 *)(*(int *)(iVar3 + 0x14) + (iVar17 + iVar7) * 8);\n          }" { (expression_statement "puVar16[iVar7] = *(undefined8 *)(*(int *)(iVar3 + 0x14) + (iVar17 + iVar7) * 8);" (assignment_expression "puVar16[iVar7] = *(undefined8 *)(*(int *)(iVar3 + 0x14) + (iVar17 + iVar7) * 8)" (subscript_expression "puVar16[iVar7]" identifier [ identifier ]) = (pointer_expression "*(undefined8 *)(*(int *)(iVar3 + 0x14) + (iVar17 + iVar7) * 8)" * (cast_expression "(undefined8 *)(*(int *)(iVar3 + 0x14) + (iVar17 + iVar7) * 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar3 + 0x14) + (iVar17 + iVar7) * 8)" ( (binary_expression "*(int *)(iVar3 + 0x14) + (iVar17 + iVar7) * 8" (pointer_expression "*(int *)(iVar3 + 0x14)" * (cast_expression "(int *)(iVar3 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x14)" ( (binary_expression "iVar3 + 0x14" identifier + number_literal) )))) + (binary_expression "(iVar17 + iVar7) * 8" (parenthesized_expression "(iVar17 + iVar7)" ( (binary_expression "iVar17 + iVar7" identifier + identifier) )) * number_literal)) ))))) ;) })) (expression_statement "iVar7 = iVar7 + 1;" (assignment_expression "iVar7 = iVar7 + 1" identifier = (binary_expression "iVar7 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar7 != iVar14)" ( (binary_expression "iVar7 != iVar14" identifier != identifier) )) ;) (expression_statement "iVar17 = iVar17 + iVar14;" (assignment_expression "iVar17 = iVar17 + iVar14" identifier = (binary_expression "iVar17 + iVar14" identifier + identifier)) ;) })) (expression_statement "iVar2 = iVar2 + 1;" (assignment_expression "iVar2 = iVar2 + 1" identifier = (binary_expression "iVar2 + 1" identifier + number_literal)) ;) (expression_statement "puVar16 = puVar16 + 6;" (assignment_expression "puVar16 = puVar16 + 6" identifier = (binary_expression "puVar16 + 6" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar2 != iVar11)" ( (binary_expression "iVar2 != iVar11" identifier != identifier) )) ;) })) (expression_statement "iVar2 = 1;" (assignment_expression "iVar2 = 1" identifier = number_literal) ;) (expression_statement "iStack_12dc = (**(code **)(pcVar21 + 0x1cbf28))(puVar12,0,0,1,iVar4);" (assignment_expression "iStack_12dc = (**(code **)(pcVar21 + 0x1cbf28))(puVar12,0,0,1,iVar4)" identifier = (call_expression "(**(code **)(pcVar21 + 0x1cbf28))(puVar12,0,0,1,iVar4)" (parenthesized_expression "(**(code **)(pcVar21 + 0x1cbf28))" ( (pointer_expression "**(code **)(pcVar21 + 0x1cbf28)" * (pointer_expression "*(code **)(pcVar21 + 0x1cbf28)" * (cast_expression "(code **)(pcVar21 + 0x1cbf28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x1cbf28)" ( (binary_expression "pcVar21 + 0x1cbf28" identifier + number_literal) ))))) )) (argument_list "(puVar12,0,0,1,iVar4)" ( identifier , number_literal , number_literal , number_literal , identifier )))) ;) (if_statement "if (iStack_12dc != 0) {\n    iVar11 = (**(code **)(pcVar21 + 0x1cbf1c))(iStack_12dc,1,iVar4);\n    if (iVar11 == 0) {\n      (**(code **)(pcVar21 + 0x1cb644))(iStack_12dc);\n      iStack_12dc = 0;\n    }\n    else {\n      if (*(int *)(puVar12 + 0x3350) != 0) {\n        iVar17 = *(int *)(pcVar21 + 0x1cafe4);\n        iVar14 = *(int *)(pcVar21 + 0x1cafe4);\n        (**(code **)(pcVar21 + 0x1cb8d8))\n                  (0x10000,iVar14 + -0x12ec,iVar17 + -0xf34,0x318,\n                   *(int *)(pcVar21 + 0x1cafe4) + -0x12d0);\n        puStack_12b4 = (undefined1 *)\n                       (**(code **)(pcVar21 + 0x1cbf0c))(*(int *)(pcVar21 + 0x1cafdc) + -0x3688);\n        iStack_12e4 = 0;\n        iVar2 = *(int *)(pcVar21 + 0x1cafdc);\n        iVar7 = *(int *)(pcVar21 + 0x1cafe0);\n        iVar11 = *(int *)(pcVar21 + 0x1cafdc);\n        do {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb474);\n          iVar19 = 0;\n          *puStack_12b4 = 0;\n          (*pcVar22)(auStack_116c,0x1000,iVar11 + -0x66b8);\n          (**(code **)(pcVar21 + 0x1cbaa0))(&puStack_12b4,auStack_116c);\n          do {\n            iVar19 = iVar19 + 1;\n            (**(code **)(pcVar21 + 0x1cb474))(auStack_116c,0x1000,iVar7 + 0x4930);\n            (**(code **)(pcVar21 + 0x1cbaa0))(&puStack_12b4,auStack_116c);\n          } while (iVar19 != 6);\n          iStack_12e4 = iStack_12e4 + 1;\n          (**(code **)(pcVar21 + 0x1cb8d8))\n                    (0x10000,iVar14 + -0x12ec,iVar17 + -0xf34,0x326,iVar2 + -0x62ac,puStack_12b4);\n        } while (iStack_12e4 != 6);\n        (**(code **)(pcVar21 + 0x1cb76c))(puStack_12b4);\n      }\n      uStack_12bc = 0;\n      uStack_12c0 = 0;\n      uVar8 = (**(code **)(pcVar21 + 0x1cbe4c))(puVar12,iVar4);\n      uVar9 = (**(code **)(pcVar21 + 0x1cb5cc))(iStack_12dc,iVar4);\n      iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(puVar12);\n      if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(puVar12), iVar2 == 3)) &&\n         ((iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc), iVar2 == 3)))) {\n        (**(code **)(pcVar21 + 0x1cb834))(7);\n        iVar2 = *(int *)(puVar12 + 0x1c);\n        if (iVar2 < 0) {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if (iVar2 + 0x3f >> 6 <= extraout_v1_03) goto LAB_001ddc6c;\nLAB_001dde94:\n          (*pcVar22)(7);\n          bVar1 = extraout_v1_05 < 2;\n        }\n        else {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if (extraout_v1_03 < iVar2 >> 6) goto LAB_001dde94;\nLAB_001ddc6c:\n          bVar1 = iVar2 < 0x80;\n        }\n        iVar11 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar21 + 0x1cb834))(7);\n          iVar11 = *(int *)(puVar12 + 0x1c);\n          if (iVar11 < 0) {\n            iVar11 = iVar11 + 0x3f;\n          }\n          iVar11 = iVar11 >> 6;\n          if (extraout_v1_06 < iVar11) {\n            pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n            goto LAB_001dde6c;\n          }\n        }\n      }\n      else {\n        uVar24 = (**(code **)(pcVar21 + 0x1cb834))(7);\n        if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if ((uint)uVar24 < 2) {\n            uVar24 = (*pcVar22)(7);\n            if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001ddb28;\n            pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n            if (1 < (uint)uVar24) goto LAB_001ddb2c;\n            iVar11 = 1;\n            goto LAB_001ddb44;\n          }\n        }\n        else {\nLAB_001ddb28:\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n        }\nLAB_001ddb2c:\n        uVar24 = (*pcVar22)(7);\n        if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n           (pcVar22 = *(code **)(pcVar21 + 0x1cb834), (uint)uVar24 < 2)) {\nLAB_001dde6c:\n          (*pcVar22)(7);\n          iVar11 = extraout_v1_04;\n        }\n        else {\n          iVar11 = 2;\n        }\n      }\nLAB_001ddb44:\n      iVar2 = 0;\n      iStack_1298 = 1;\n      puStack_1294 = &uStack_12c0;\n      puStack_12b4 = puVar12;\n      iStack_12b0 = iVar3;\n      iStack_12ac = iVar4;\n      uStack_12a8 = uVar9;\n      uStack_12a4 = uVar8;\n      puStack_12a0 = auStack_1290;\n      iStack_129c = iStack_12dc;\n      (**(code **)(pcVar21 + 0x1cb890))\n                (*(int *)(pcVar21 + 0x1cb09c) + -0x71ec,&puStack_12b4,iVar11,0);\n      iVar3 = iStack_1298;\n      (**(code **)(pcVar21 + 0x1cb5ec))(uVar9);\n      (**(code **)(pcVar21 + 0x1cb5ec))(uVar8);\n      if (iVar3 == 0) {\n        iStack_12dc = (**(code **)(pcVar21 + 0x1cb644))(iStack_12dc);\n      }\n    }\n  }" if (parenthesized_expression "(iStack_12dc != 0)" ( (binary_expression "iStack_12dc != 0" identifier != number_literal) )) (compound_statement "{\n    iVar11 = (**(code **)(pcVar21 + 0x1cbf1c))(iStack_12dc,1,iVar4);\n    if (iVar11 == 0) {\n      (**(code **)(pcVar21 + 0x1cb644))(iStack_12dc);\n      iStack_12dc = 0;\n    }\n    else {\n      if (*(int *)(puVar12 + 0x3350) != 0) {\n        iVar17 = *(int *)(pcVar21 + 0x1cafe4);\n        iVar14 = *(int *)(pcVar21 + 0x1cafe4);\n        (**(code **)(pcVar21 + 0x1cb8d8))\n                  (0x10000,iVar14 + -0x12ec,iVar17 + -0xf34,0x318,\n                   *(int *)(pcVar21 + 0x1cafe4) + -0x12d0);\n        puStack_12b4 = (undefined1 *)\n                       (**(code **)(pcVar21 + 0x1cbf0c))(*(int *)(pcVar21 + 0x1cafdc) + -0x3688);\n        iStack_12e4 = 0;\n        iVar2 = *(int *)(pcVar21 + 0x1cafdc);\n        iVar7 = *(int *)(pcVar21 + 0x1cafe0);\n        iVar11 = *(int *)(pcVar21 + 0x1cafdc);\n        do {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb474);\n          iVar19 = 0;\n          *puStack_12b4 = 0;\n          (*pcVar22)(auStack_116c,0x1000,iVar11 + -0x66b8);\n          (**(code **)(pcVar21 + 0x1cbaa0))(&puStack_12b4,auStack_116c);\n          do {\n            iVar19 = iVar19 + 1;\n            (**(code **)(pcVar21 + 0x1cb474))(auStack_116c,0x1000,iVar7 + 0x4930);\n            (**(code **)(pcVar21 + 0x1cbaa0))(&puStack_12b4,auStack_116c);\n          } while (iVar19 != 6);\n          iStack_12e4 = iStack_12e4 + 1;\n          (**(code **)(pcVar21 + 0x1cb8d8))\n                    (0x10000,iVar14 + -0x12ec,iVar17 + -0xf34,0x326,iVar2 + -0x62ac,puStack_12b4);\n        } while (iStack_12e4 != 6);\n        (**(code **)(pcVar21 + 0x1cb76c))(puStack_12b4);\n      }\n      uStack_12bc = 0;\n      uStack_12c0 = 0;\n      uVar8 = (**(code **)(pcVar21 + 0x1cbe4c))(puVar12,iVar4);\n      uVar9 = (**(code **)(pcVar21 + 0x1cb5cc))(iStack_12dc,iVar4);\n      iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(puVar12);\n      if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(puVar12), iVar2 == 3)) &&\n         ((iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc), iVar2 == 3)))) {\n        (**(code **)(pcVar21 + 0x1cb834))(7);\n        iVar2 = *(int *)(puVar12 + 0x1c);\n        if (iVar2 < 0) {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if (iVar2 + 0x3f >> 6 <= extraout_v1_03) goto LAB_001ddc6c;\nLAB_001dde94:\n          (*pcVar22)(7);\n          bVar1 = extraout_v1_05 < 2;\n        }\n        else {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if (extraout_v1_03 < iVar2 >> 6) goto LAB_001dde94;\nLAB_001ddc6c:\n          bVar1 = iVar2 < 0x80;\n        }\n        iVar11 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar21 + 0x1cb834))(7);\n          iVar11 = *(int *)(puVar12 + 0x1c);\n          if (iVar11 < 0) {\n            iVar11 = iVar11 + 0x3f;\n          }\n          iVar11 = iVar11 >> 6;\n          if (extraout_v1_06 < iVar11) {\n            pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n            goto LAB_001dde6c;\n          }\n        }\n      }\n      else {\n        uVar24 = (**(code **)(pcVar21 + 0x1cb834))(7);\n        if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if ((uint)uVar24 < 2) {\n            uVar24 = (*pcVar22)(7);\n            if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001ddb28;\n            pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n            if (1 < (uint)uVar24) goto LAB_001ddb2c;\n            iVar11 = 1;\n            goto LAB_001ddb44;\n          }\n        }\n        else {\nLAB_001ddb28:\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n        }\nLAB_001ddb2c:\n        uVar24 = (*pcVar22)(7);\n        if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n           (pcVar22 = *(code **)(pcVar21 + 0x1cb834), (uint)uVar24 < 2)) {\nLAB_001dde6c:\n          (*pcVar22)(7);\n          iVar11 = extraout_v1_04;\n        }\n        else {\n          iVar11 = 2;\n        }\n      }\nLAB_001ddb44:\n      iVar2 = 0;\n      iStack_1298 = 1;\n      puStack_1294 = &uStack_12c0;\n      puStack_12b4 = puVar12;\n      iStack_12b0 = iVar3;\n      iStack_12ac = iVar4;\n      uStack_12a8 = uVar9;\n      uStack_12a4 = uVar8;\n      puStack_12a0 = auStack_1290;\n      iStack_129c = iStack_12dc;\n      (**(code **)(pcVar21 + 0x1cb890))\n                (*(int *)(pcVar21 + 0x1cb09c) + -0x71ec,&puStack_12b4,iVar11,0);\n      iVar3 = iStack_1298;\n      (**(code **)(pcVar21 + 0x1cb5ec))(uVar9);\n      (**(code **)(pcVar21 + 0x1cb5ec))(uVar8);\n      if (iVar3 == 0) {\n        iStack_12dc = (**(code **)(pcVar21 + 0x1cb644))(iStack_12dc);\n      }\n    }\n  }" { (expression_statement "iVar11 = (**(code **)(pcVar21 + 0x1cbf1c))(iStack_12dc,1,iVar4);" (assignment_expression "iVar11 = (**(code **)(pcVar21 + 0x1cbf1c))(iStack_12dc,1,iVar4)" identifier = (call_expression "(**(code **)(pcVar21 + 0x1cbf1c))(iStack_12dc,1,iVar4)" (parenthesized_expression "(**(code **)(pcVar21 + 0x1cbf1c))" ( (pointer_expression "**(code **)(pcVar21 + 0x1cbf1c)" * (pointer_expression "*(code **)(pcVar21 + 0x1cbf1c)" * (cast_expression "(code **)(pcVar21 + 0x1cbf1c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x1cbf1c)" ( (binary_expression "pcVar21 + 0x1cbf1c" identifier + number_literal) ))))) )) (argument_list "(iStack_12dc,1,iVar4)" ( identifier , number_literal , identifier )))) ;) (if_statement "if (iVar11 == 0) {\n      (**(code **)(pcVar21 + 0x1cb644))(iStack_12dc);\n      iStack_12dc = 0;\n    }\n    else {\n      if (*(int *)(puVar12 + 0x3350) != 0) {\n        iVar17 = *(int *)(pcVar21 + 0x1cafe4);\n        iVar14 = *(int *)(pcVar21 + 0x1cafe4);\n        (**(code **)(pcVar21 + 0x1cb8d8))\n                  (0x10000,iVar14 + -0x12ec,iVar17 + -0xf34,0x318,\n                   *(int *)(pcVar21 + 0x1cafe4) + -0x12d0);\n        puStack_12b4 = (undefined1 *)\n                       (**(code **)(pcVar21 + 0x1cbf0c))(*(int *)(pcVar21 + 0x1cafdc) + -0x3688);\n        iStack_12e4 = 0;\n        iVar2 = *(int *)(pcVar21 + 0x1cafdc);\n        iVar7 = *(int *)(pcVar21 + 0x1cafe0);\n        iVar11 = *(int *)(pcVar21 + 0x1cafdc);\n        do {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb474);\n          iVar19 = 0;\n          *puStack_12b4 = 0;\n          (*pcVar22)(auStack_116c,0x1000,iVar11 + -0x66b8);\n          (**(code **)(pcVar21 + 0x1cbaa0))(&puStack_12b4,auStack_116c);\n          do {\n            iVar19 = iVar19 + 1;\n            (**(code **)(pcVar21 + 0x1cb474))(auStack_116c,0x1000,iVar7 + 0x4930);\n            (**(code **)(pcVar21 + 0x1cbaa0))(&puStack_12b4,auStack_116c);\n          } while (iVar19 != 6);\n          iStack_12e4 = iStack_12e4 + 1;\n          (**(code **)(pcVar21 + 0x1cb8d8))\n                    (0x10000,iVar14 + -0x12ec,iVar17 + -0xf34,0x326,iVar2 + -0x62ac,puStack_12b4);\n        } while (iStack_12e4 != 6);\n        (**(code **)(pcVar21 + 0x1cb76c))(puStack_12b4);\n      }\n      uStack_12bc = 0;\n      uStack_12c0 = 0;\n      uVar8 = (**(code **)(pcVar21 + 0x1cbe4c))(puVar12,iVar4);\n      uVar9 = (**(code **)(pcVar21 + 0x1cb5cc))(iStack_12dc,iVar4);\n      iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(puVar12);\n      if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(puVar12), iVar2 == 3)) &&\n         ((iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc), iVar2 == 3)))) {\n        (**(code **)(pcVar21 + 0x1cb834))(7);\n        iVar2 = *(int *)(puVar12 + 0x1c);\n        if (iVar2 < 0) {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if (iVar2 + 0x3f >> 6 <= extraout_v1_03) goto LAB_001ddc6c;\nLAB_001dde94:\n          (*pcVar22)(7);\n          bVar1 = extraout_v1_05 < 2;\n        }\n        else {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if (extraout_v1_03 < iVar2 >> 6) goto LAB_001dde94;\nLAB_001ddc6c:\n          bVar1 = iVar2 < 0x80;\n        }\n        iVar11 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar21 + 0x1cb834))(7);\n          iVar11 = *(int *)(puVar12 + 0x1c);\n          if (iVar11 < 0) {\n            iVar11 = iVar11 + 0x3f;\n          }\n          iVar11 = iVar11 >> 6;\n          if (extraout_v1_06 < iVar11) {\n            pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n            goto LAB_001dde6c;\n          }\n        }\n      }\n      else {\n        uVar24 = (**(code **)(pcVar21 + 0x1cb834))(7);\n        if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if ((uint)uVar24 < 2) {\n            uVar24 = (*pcVar22)(7);\n            if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001ddb28;\n            pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n            if (1 < (uint)uVar24) goto LAB_001ddb2c;\n            iVar11 = 1;\n            goto LAB_001ddb44;\n          }\n        }\n        else {\nLAB_001ddb28:\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n        }\nLAB_001ddb2c:\n        uVar24 = (*pcVar22)(7);\n        if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n           (pcVar22 = *(code **)(pcVar21 + 0x1cb834), (uint)uVar24 < 2)) {\nLAB_001dde6c:\n          (*pcVar22)(7);\n          iVar11 = extraout_v1_04;\n        }\n        else {\n          iVar11 = 2;\n        }\n      }\nLAB_001ddb44:\n      iVar2 = 0;\n      iStack_1298 = 1;\n      puStack_1294 = &uStack_12c0;\n      puStack_12b4 = puVar12;\n      iStack_12b0 = iVar3;\n      iStack_12ac = iVar4;\n      uStack_12a8 = uVar9;\n      uStack_12a4 = uVar8;\n      puStack_12a0 = auStack_1290;\n      iStack_129c = iStack_12dc;\n      (**(code **)(pcVar21 + 0x1cb890))\n                (*(int *)(pcVar21 + 0x1cb09c) + -0x71ec,&puStack_12b4,iVar11,0);\n      iVar3 = iStack_1298;\n      (**(code **)(pcVar21 + 0x1cb5ec))(uVar9);\n      (**(code **)(pcVar21 + 0x1cb5ec))(uVar8);\n      if (iVar3 == 0) {\n        iStack_12dc = (**(code **)(pcVar21 + 0x1cb644))(iStack_12dc);\n      }\n    }" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (compound_statement "{\n      (**(code **)(pcVar21 + 0x1cb644))(iStack_12dc);\n      iStack_12dc = 0;\n    }" { (expression_statement "(**(code **)(pcVar21 + 0x1cb644))(iStack_12dc);" (call_expression "(**(code **)(pcVar21 + 0x1cb644))(iStack_12dc)" (parenthesized_expression "(**(code **)(pcVar21 + 0x1cb644))" ( (pointer_expression "**(code **)(pcVar21 + 0x1cb644)" * (pointer_expression "*(code **)(pcVar21 + 0x1cb644)" * (cast_expression "(code **)(pcVar21 + 0x1cb644)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x1cb644)" ( (binary_expression "pcVar21 + 0x1cb644" identifier + number_literal) ))))) )) (argument_list "(iStack_12dc)" ( identifier ))) ;) (expression_statement "iStack_12dc = 0;" (assignment_expression "iStack_12dc = 0" identifier = number_literal) ;) }) (else_clause "else {\n      if (*(int *)(puVar12 + 0x3350) != 0) {\n        iVar17 = *(int *)(pcVar21 + 0x1cafe4);\n        iVar14 = *(int *)(pcVar21 + 0x1cafe4);\n        (**(code **)(pcVar21 + 0x1cb8d8))\n                  (0x10000,iVar14 + -0x12ec,iVar17 + -0xf34,0x318,\n                   *(int *)(pcVar21 + 0x1cafe4) + -0x12d0);\n        puStack_12b4 = (undefined1 *)\n                       (**(code **)(pcVar21 + 0x1cbf0c))(*(int *)(pcVar21 + 0x1cafdc) + -0x3688);\n        iStack_12e4 = 0;\n        iVar2 = *(int *)(pcVar21 + 0x1cafdc);\n        iVar7 = *(int *)(pcVar21 + 0x1cafe0);\n        iVar11 = *(int *)(pcVar21 + 0x1cafdc);\n        do {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb474);\n          iVar19 = 0;\n          *puStack_12b4 = 0;\n          (*pcVar22)(auStack_116c,0x1000,iVar11 + -0x66b8);\n          (**(code **)(pcVar21 + 0x1cbaa0))(&puStack_12b4,auStack_116c);\n          do {\n            iVar19 = iVar19 + 1;\n            (**(code **)(pcVar21 + 0x1cb474))(auStack_116c,0x1000,iVar7 + 0x4930);\n            (**(code **)(pcVar21 + 0x1cbaa0))(&puStack_12b4,auStack_116c);\n          } while (iVar19 != 6);\n          iStack_12e4 = iStack_12e4 + 1;\n          (**(code **)(pcVar21 + 0x1cb8d8))\n                    (0x10000,iVar14 + -0x12ec,iVar17 + -0xf34,0x326,iVar2 + -0x62ac,puStack_12b4);\n        } while (iStack_12e4 != 6);\n        (**(code **)(pcVar21 + 0x1cb76c))(puStack_12b4);\n      }\n      uStack_12bc = 0;\n      uStack_12c0 = 0;\n      uVar8 = (**(code **)(pcVar21 + 0x1cbe4c))(puVar12,iVar4);\n      uVar9 = (**(code **)(pcVar21 + 0x1cb5cc))(iStack_12dc,iVar4);\n      iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(puVar12);\n      if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(puVar12), iVar2 == 3)) &&\n         ((iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc), iVar2 == 3)))) {\n        (**(code **)(pcVar21 + 0x1cb834))(7);\n        iVar2 = *(int *)(puVar12 + 0x1c);\n        if (iVar2 < 0) {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if (iVar2 + 0x3f >> 6 <= extraout_v1_03) goto LAB_001ddc6c;\nLAB_001dde94:\n          (*pcVar22)(7);\n          bVar1 = extraout_v1_05 < 2;\n        }\n        else {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if (extraout_v1_03 < iVar2 >> 6) goto LAB_001dde94;\nLAB_001ddc6c:\n          bVar1 = iVar2 < 0x80;\n        }\n        iVar11 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar21 + 0x1cb834))(7);\n          iVar11 = *(int *)(puVar12 + 0x1c);\n          if (iVar11 < 0) {\n            iVar11 = iVar11 + 0x3f;\n          }\n          iVar11 = iVar11 >> 6;\n          if (extraout_v1_06 < iVar11) {\n            pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n            goto LAB_001dde6c;\n          }\n        }\n      }\n      else {\n        uVar24 = (**(code **)(pcVar21 + 0x1cb834))(7);\n        if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if ((uint)uVar24 < 2) {\n            uVar24 = (*pcVar22)(7);\n            if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001ddb28;\n            pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n            if (1 < (uint)uVar24) goto LAB_001ddb2c;\n            iVar11 = 1;\n            goto LAB_001ddb44;\n          }\n        }\n        else {\nLAB_001ddb28:\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n        }\nLAB_001ddb2c:\n        uVar24 = (*pcVar22)(7);\n        if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n           (pcVar22 = *(code **)(pcVar21 + 0x1cb834), (uint)uVar24 < 2)) {\nLAB_001dde6c:\n          (*pcVar22)(7);\n          iVar11 = extraout_v1_04;\n        }\n        else {\n          iVar11 = 2;\n        }\n      }\nLAB_001ddb44:\n      iVar2 = 0;\n      iStack_1298 = 1;\n      puStack_1294 = &uStack_12c0;\n      puStack_12b4 = puVar12;\n      iStack_12b0 = iVar3;\n      iStack_12ac = iVar4;\n      uStack_12a8 = uVar9;\n      uStack_12a4 = uVar8;\n      puStack_12a0 = auStack_1290;\n      iStack_129c = iStack_12dc;\n      (**(code **)(pcVar21 + 0x1cb890))\n                (*(int *)(pcVar21 + 0x1cb09c) + -0x71ec,&puStack_12b4,iVar11,0);\n      iVar3 = iStack_1298;\n      (**(code **)(pcVar21 + 0x1cb5ec))(uVar9);\n      (**(code **)(pcVar21 + 0x1cb5ec))(uVar8);\n      if (iVar3 == 0) {\n        iStack_12dc = (**(code **)(pcVar21 + 0x1cb644))(iStack_12dc);\n      }\n    }" else (compound_statement "{\n      if (*(int *)(puVar12 + 0x3350) != 0) {\n        iVar17 = *(int *)(pcVar21 + 0x1cafe4);\n        iVar14 = *(int *)(pcVar21 + 0x1cafe4);\n        (**(code **)(pcVar21 + 0x1cb8d8))\n                  (0x10000,iVar14 + -0x12ec,iVar17 + -0xf34,0x318,\n                   *(int *)(pcVar21 + 0x1cafe4) + -0x12d0);\n        puStack_12b4 = (undefined1 *)\n                       (**(code **)(pcVar21 + 0x1cbf0c))(*(int *)(pcVar21 + 0x1cafdc) + -0x3688);\n        iStack_12e4 = 0;\n        iVar2 = *(int *)(pcVar21 + 0x1cafdc);\n        iVar7 = *(int *)(pcVar21 + 0x1cafe0);\n        iVar11 = *(int *)(pcVar21 + 0x1cafdc);\n        do {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb474);\n          iVar19 = 0;\n          *puStack_12b4 = 0;\n          (*pcVar22)(auStack_116c,0x1000,iVar11 + -0x66b8);\n          (**(code **)(pcVar21 + 0x1cbaa0))(&puStack_12b4,auStack_116c);\n          do {\n            iVar19 = iVar19 + 1;\n            (**(code **)(pcVar21 + 0x1cb474))(auStack_116c,0x1000,iVar7 + 0x4930);\n            (**(code **)(pcVar21 + 0x1cbaa0))(&puStack_12b4,auStack_116c);\n          } while (iVar19 != 6);\n          iStack_12e4 = iStack_12e4 + 1;\n          (**(code **)(pcVar21 + 0x1cb8d8))\n                    (0x10000,iVar14 + -0x12ec,iVar17 + -0xf34,0x326,iVar2 + -0x62ac,puStack_12b4);\n        } while (iStack_12e4 != 6);\n        (**(code **)(pcVar21 + 0x1cb76c))(puStack_12b4);\n      }\n      uStack_12bc = 0;\n      uStack_12c0 = 0;\n      uVar8 = (**(code **)(pcVar21 + 0x1cbe4c))(puVar12,iVar4);\n      uVar9 = (**(code **)(pcVar21 + 0x1cb5cc))(iStack_12dc,iVar4);\n      iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(puVar12);\n      if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(puVar12), iVar2 == 3)) &&\n         ((iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc), iVar2 == 3)))) {\n        (**(code **)(pcVar21 + 0x1cb834))(7);\n        iVar2 = *(int *)(puVar12 + 0x1c);\n        if (iVar2 < 0) {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if (iVar2 + 0x3f >> 6 <= extraout_v1_03) goto LAB_001ddc6c;\nLAB_001dde94:\n          (*pcVar22)(7);\n          bVar1 = extraout_v1_05 < 2;\n        }\n        else {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if (extraout_v1_03 < iVar2 >> 6) goto LAB_001dde94;\nLAB_001ddc6c:\n          bVar1 = iVar2 < 0x80;\n        }\n        iVar11 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar21 + 0x1cb834))(7);\n          iVar11 = *(int *)(puVar12 + 0x1c);\n          if (iVar11 < 0) {\n            iVar11 = iVar11 + 0x3f;\n          }\n          iVar11 = iVar11 >> 6;\n          if (extraout_v1_06 < iVar11) {\n            pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n            goto LAB_001dde6c;\n          }\n        }\n      }\n      else {\n        uVar24 = (**(code **)(pcVar21 + 0x1cb834))(7);\n        if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if ((uint)uVar24 < 2) {\n            uVar24 = (*pcVar22)(7);\n            if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001ddb28;\n            pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n            if (1 < (uint)uVar24) goto LAB_001ddb2c;\n            iVar11 = 1;\n            goto LAB_001ddb44;\n          }\n        }\n        else {\nLAB_001ddb28:\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n        }\nLAB_001ddb2c:\n        uVar24 = (*pcVar22)(7);\n        if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n           (pcVar22 = *(code **)(pcVar21 + 0x1cb834), (uint)uVar24 < 2)) {\nLAB_001dde6c:\n          (*pcVar22)(7);\n          iVar11 = extraout_v1_04;\n        }\n        else {\n          iVar11 = 2;\n        }\n      }\nLAB_001ddb44:\n      iVar2 = 0;\n      iStack_1298 = 1;\n      puStack_1294 = &uStack_12c0;\n      puStack_12b4 = puVar12;\n      iStack_12b0 = iVar3;\n      iStack_12ac = iVar4;\n      uStack_12a8 = uVar9;\n      uStack_12a4 = uVar8;\n      puStack_12a0 = auStack_1290;\n      iStack_129c = iStack_12dc;\n      (**(code **)(pcVar21 + 0x1cb890))\n                (*(int *)(pcVar21 + 0x1cb09c) + -0x71ec,&puStack_12b4,iVar11,0);\n      iVar3 = iStack_1298;\n      (**(code **)(pcVar21 + 0x1cb5ec))(uVar9);\n      (**(code **)(pcVar21 + 0x1cb5ec))(uVar8);\n      if (iVar3 == 0) {\n        iStack_12dc = (**(code **)(pcVar21 + 0x1cb644))(iStack_12dc);\n      }\n    }" { (if_statement "if (*(int *)(puVar12 + 0x3350) != 0) {\n        iVar17 = *(int *)(pcVar21 + 0x1cafe4);\n        iVar14 = *(int *)(pcVar21 + 0x1cafe4);\n        (**(code **)(pcVar21 + 0x1cb8d8))\n                  (0x10000,iVar14 + -0x12ec,iVar17 + -0xf34,0x318,\n                   *(int *)(pcVar21 + 0x1cafe4) + -0x12d0);\n        puStack_12b4 = (undefined1 *)\n                       (**(code **)(pcVar21 + 0x1cbf0c))(*(int *)(pcVar21 + 0x1cafdc) + -0x3688);\n        iStack_12e4 = 0;\n        iVar2 = *(int *)(pcVar21 + 0x1cafdc);\n        iVar7 = *(int *)(pcVar21 + 0x1cafe0);\n        iVar11 = *(int *)(pcVar21 + 0x1cafdc);\n        do {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb474);\n          iVar19 = 0;\n          *puStack_12b4 = 0;\n          (*pcVar22)(auStack_116c,0x1000,iVar11 + -0x66b8);\n          (**(code **)(pcVar21 + 0x1cbaa0))(&puStack_12b4,auStack_116c);\n          do {\n            iVar19 = iVar19 + 1;\n            (**(code **)(pcVar21 + 0x1cb474))(auStack_116c,0x1000,iVar7 + 0x4930);\n            (**(code **)(pcVar21 + 0x1cbaa0))(&puStack_12b4,auStack_116c);\n          } while (iVar19 != 6);\n          iStack_12e4 = iStack_12e4 + 1;\n          (**(code **)(pcVar21 + 0x1cb8d8))\n                    (0x10000,iVar14 + -0x12ec,iVar17 + -0xf34,0x326,iVar2 + -0x62ac,puStack_12b4);\n        } while (iStack_12e4 != 6);\n        (**(code **)(pcVar21 + 0x1cb76c))(puStack_12b4);\n      }" if (parenthesized_expression "(*(int *)(puVar12 + 0x3350) != 0)" ( (binary_expression "*(int *)(puVar12 + 0x3350) != 0" (pointer_expression "*(int *)(puVar12 + 0x3350)" * (cast_expression "(int *)(puVar12 + 0x3350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x3350)" ( (binary_expression "puVar12 + 0x3350" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n        iVar17 = *(int *)(pcVar21 + 0x1cafe4);\n        iVar14 = *(int *)(pcVar21 + 0x1cafe4);\n        (**(code **)(pcVar21 + 0x1cb8d8))\n                  (0x10000,iVar14 + -0x12ec,iVar17 + -0xf34,0x318,\n                   *(int *)(pcVar21 + 0x1cafe4) + -0x12d0);\n        puStack_12b4 = (undefined1 *)\n                       (**(code **)(pcVar21 + 0x1cbf0c))(*(int *)(pcVar21 + 0x1cafdc) + -0x3688);\n        iStack_12e4 = 0;\n        iVar2 = *(int *)(pcVar21 + 0x1cafdc);\n        iVar7 = *(int *)(pcVar21 + 0x1cafe0);\n        iVar11 = *(int *)(pcVar21 + 0x1cafdc);\n        do {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb474);\n          iVar19 = 0;\n          *puStack_12b4 = 0;\n          (*pcVar22)(auStack_116c,0x1000,iVar11 + -0x66b8);\n          (**(code **)(pcVar21 + 0x1cbaa0))(&puStack_12b4,auStack_116c);\n          do {\n            iVar19 = iVar19 + 1;\n            (**(code **)(pcVar21 + 0x1cb474))(auStack_116c,0x1000,iVar7 + 0x4930);\n            (**(code **)(pcVar21 + 0x1cbaa0))(&puStack_12b4,auStack_116c);\n          } while (iVar19 != 6);\n          iStack_12e4 = iStack_12e4 + 1;\n          (**(code **)(pcVar21 + 0x1cb8d8))\n                    (0x10000,iVar14 + -0x12ec,iVar17 + -0xf34,0x326,iVar2 + -0x62ac,puStack_12b4);\n        } while (iStack_12e4 != 6);\n        (**(code **)(pcVar21 + 0x1cb76c))(puStack_12b4);\n      }" { (expression_statement "iVar17 = *(int *)(pcVar21 + 0x1cafe4);" (assignment_expression "iVar17 = *(int *)(pcVar21 + 0x1cafe4)" identifier = (pointer_expression "*(int *)(pcVar21 + 0x1cafe4)" * (cast_expression "(int *)(pcVar21 + 0x1cafe4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar21 + 0x1cafe4)" ( (binary_expression "pcVar21 + 0x1cafe4" identifier + number_literal) ))))) ;) (expression_statement "iVar14 = *(int *)(pcVar21 + 0x1cafe4);" (assignment_expression "iVar14 = *(int *)(pcVar21 + 0x1cafe4)" identifier = (pointer_expression "*(int *)(pcVar21 + 0x1cafe4)" * (cast_expression "(int *)(pcVar21 + 0x1cafe4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar21 + 0x1cafe4)" ( (binary_expression "pcVar21 + 0x1cafe4" identifier + number_literal) ))))) ;) (expression_statement "(**(code **)(pcVar21 + 0x1cb8d8))\n                  (0x10000,iVar14 + -0x12ec,iVar17 + -0xf34,0x318,\n                   *(int *)(pcVar21 + 0x1cafe4) + -0x12d0);" (call_expression "(**(code **)(pcVar21 + 0x1cb8d8))\n                  (0x10000,iVar14 + -0x12ec,iVar17 + -0xf34,0x318,\n                   *(int *)(pcVar21 + 0x1cafe4) + -0x12d0)" (parenthesized_expression "(**(code **)(pcVar21 + 0x1cb8d8))" ( (pointer_expression "**(code **)(pcVar21 + 0x1cb8d8)" * (pointer_expression "*(code **)(pcVar21 + 0x1cb8d8)" * (cast_expression "(code **)(pcVar21 + 0x1cb8d8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x1cb8d8)" ( (binary_expression "pcVar21 + 0x1cb8d8" identifier + number_literal) ))))) )) (argument_list "(0x10000,iVar14 + -0x12ec,iVar17 + -0xf34,0x318,\n                   *(int *)(pcVar21 + 0x1cafe4) + -0x12d0)" ( number_literal , (binary_expression "iVar14 + -0x12ec" identifier + number_literal) , (binary_expression "iVar17 + -0xf34" identifier + number_literal) , number_literal , (binary_expression "*(int *)(pcVar21 + 0x1cafe4) + -0x12d0" (pointer_expression "*(int *)(pcVar21 + 0x1cafe4)" * (cast_expression "(int *)(pcVar21 + 0x1cafe4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar21 + 0x1cafe4)" ( (binary_expression "pcVar21 + 0x1cafe4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "puStack_12b4 = (undefined1 *)\n                       (**(code **)(pcVar21 + 0x1cbf0c))(*(int *)(pcVar21 + 0x1cafdc) + -0x3688);" (assignment_expression "puStack_12b4 = (undefined1 *)\n                       (**(code **)(pcVar21 + 0x1cbf0c))(*(int *)(pcVar21 + 0x1cafdc) + -0x3688)" identifier = (cast_expression "(undefined1 *)\n                       (**(code **)(pcVar21 + 0x1cbf0c))(*(int *)(pcVar21 + 0x1cafdc) + -0x3688)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar21 + 0x1cbf0c))(*(int *)(pcVar21 + 0x1cafdc) + -0x3688)" (parenthesized_expression "(**(code **)(pcVar21 + 0x1cbf0c))" ( (pointer_expression "**(code **)(pcVar21 + 0x1cbf0c)" * (pointer_expression "*(code **)(pcVar21 + 0x1cbf0c)" * (cast_expression "(code **)(pcVar21 + 0x1cbf0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x1cbf0c)" ( (binary_expression "pcVar21 + 0x1cbf0c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar21 + 0x1cafdc) + -0x3688)" ( (binary_expression "*(int *)(pcVar21 + 0x1cafdc) + -0x3688" (pointer_expression "*(int *)(pcVar21 + 0x1cafdc)" * (cast_expression "(int *)(pcVar21 + 0x1cafdc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar21 + 0x1cafdc)" ( (binary_expression "pcVar21 + 0x1cafdc" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "iStack_12e4 = 0;" (assignment_expression "iStack_12e4 = 0" identifier = number_literal) ;) (expression_statement "iVar2 = *(int *)(pcVar21 + 0x1cafdc);" (assignment_expression "iVar2 = *(int *)(pcVar21 + 0x1cafdc)" identifier = (pointer_expression "*(int *)(pcVar21 + 0x1cafdc)" * (cast_expression "(int *)(pcVar21 + 0x1cafdc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar21 + 0x1cafdc)" ( (binary_expression "pcVar21 + 0x1cafdc" identifier + number_literal) ))))) ;) (expression_statement "iVar7 = *(int *)(pcVar21 + 0x1cafe0);" (assignment_expression "iVar7 = *(int *)(pcVar21 + 0x1cafe0)" identifier = (pointer_expression "*(int *)(pcVar21 + 0x1cafe0)" * (cast_expression "(int *)(pcVar21 + 0x1cafe0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar21 + 0x1cafe0)" ( (binary_expression "pcVar21 + 0x1cafe0" identifier + number_literal) ))))) ;) (expression_statement "iVar11 = *(int *)(pcVar21 + 0x1cafdc);" (assignment_expression "iVar11 = *(int *)(pcVar21 + 0x1cafdc)" identifier = (pointer_expression "*(int *)(pcVar21 + 0x1cafdc)" * (cast_expression "(int *)(pcVar21 + 0x1cafdc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar21 + 0x1cafdc)" ( (binary_expression "pcVar21 + 0x1cafdc" identifier + number_literal) ))))) ;) (do_statement "do {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb474);\n          iVar19 = 0;\n          *puStack_12b4 = 0;\n          (*pcVar22)(auStack_116c,0x1000,iVar11 + -0x66b8);\n          (**(code **)(pcVar21 + 0x1cbaa0))(&puStack_12b4,auStack_116c);\n          do {\n            iVar19 = iVar19 + 1;\n            (**(code **)(pcVar21 + 0x1cb474))(auStack_116c,0x1000,iVar7 + 0x4930);\n            (**(code **)(pcVar21 + 0x1cbaa0))(&puStack_12b4,auStack_116c);\n          } while (iVar19 != 6);\n          iStack_12e4 = iStack_12e4 + 1;\n          (**(code **)(pcVar21 + 0x1cb8d8))\n                    (0x10000,iVar14 + -0x12ec,iVar17 + -0xf34,0x326,iVar2 + -0x62ac,puStack_12b4);\n        } while (iStack_12e4 != 6);" do (compound_statement "{\n          pcVar22 = *(code **)(pcVar21 + 0x1cb474);\n          iVar19 = 0;\n          *puStack_12b4 = 0;\n          (*pcVar22)(auStack_116c,0x1000,iVar11 + -0x66b8);\n          (**(code **)(pcVar21 + 0x1cbaa0))(&puStack_12b4,auStack_116c);\n          do {\n            iVar19 = iVar19 + 1;\n            (**(code **)(pcVar21 + 0x1cb474))(auStack_116c,0x1000,iVar7 + 0x4930);\n            (**(code **)(pcVar21 + 0x1cbaa0))(&puStack_12b4,auStack_116c);\n          } while (iVar19 != 6);\n          iStack_12e4 = iStack_12e4 + 1;\n          (**(code **)(pcVar21 + 0x1cb8d8))\n                    (0x10000,iVar14 + -0x12ec,iVar17 + -0xf34,0x326,iVar2 + -0x62ac,puStack_12b4);\n        }" { (expression_statement "pcVar22 = *(code **)(pcVar21 + 0x1cb474);" (assignment_expression "pcVar22 = *(code **)(pcVar21 + 0x1cb474)" identifier = (pointer_expression "*(code **)(pcVar21 + 0x1cb474)" * (cast_expression "(code **)(pcVar21 + 0x1cb474)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x1cb474)" ( (binary_expression "pcVar21 + 0x1cb474" identifier + number_literal) ))))) ;) (expression_statement "iVar19 = 0;" (assignment_expression "iVar19 = 0" identifier = number_literal) ;) (expression_statement "*puStack_12b4 = 0;" (assignment_expression "*puStack_12b4 = 0" (pointer_expression "*puStack_12b4" * identifier) = number_literal) ;) (expression_statement "(*pcVar22)(auStack_116c,0x1000,iVar11 + -0x66b8);" (call_expression "(*pcVar22)(auStack_116c,0x1000,iVar11 + -0x66b8)" (parenthesized_expression "(*pcVar22)" ( (pointer_expression "*pcVar22" * identifier) )) (argument_list "(auStack_116c,0x1000,iVar11 + -0x66b8)" ( identifier , number_literal , (binary_expression "iVar11 + -0x66b8" identifier + number_literal) ))) ;) (expression_statement "(**(code **)(pcVar21 + 0x1cbaa0))(&puStack_12b4,auStack_116c);" (call_expression "(**(code **)(pcVar21 + 0x1cbaa0))(&puStack_12b4,auStack_116c)" (parenthesized_expression "(**(code **)(pcVar21 + 0x1cbaa0))" ( (pointer_expression "**(code **)(pcVar21 + 0x1cbaa0)" * (pointer_expression "*(code **)(pcVar21 + 0x1cbaa0)" * (cast_expression "(code **)(pcVar21 + 0x1cbaa0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x1cbaa0)" ( (binary_expression "pcVar21 + 0x1cbaa0" identifier + number_literal) ))))) )) (argument_list "(&puStack_12b4,auStack_116c)" ( (pointer_expression "&puStack_12b4" & identifier) , identifier ))) ;) (do_statement "do {\n            iVar19 = iVar19 + 1;\n            (**(code **)(pcVar21 + 0x1cb474))(auStack_116c,0x1000,iVar7 + 0x4930);\n            (**(code **)(pcVar21 + 0x1cbaa0))(&puStack_12b4,auStack_116c);\n          } while (iVar19 != 6);" do (compound_statement "{\n            iVar19 = iVar19 + 1;\n            (**(code **)(pcVar21 + 0x1cb474))(auStack_116c,0x1000,iVar7 + 0x4930);\n            (**(code **)(pcVar21 + 0x1cbaa0))(&puStack_12b4,auStack_116c);\n          }" { (expression_statement "iVar19 = iVar19 + 1;" (assignment_expression "iVar19 = iVar19 + 1" identifier = (binary_expression "iVar19 + 1" identifier + number_literal)) ;) (expression_statement "(**(code **)(pcVar21 + 0x1cb474))(auStack_116c,0x1000,iVar7 + 0x4930);" (call_expression "(**(code **)(pcVar21 + 0x1cb474))(auStack_116c,0x1000,iVar7 + 0x4930)" (parenthesized_expression "(**(code **)(pcVar21 + 0x1cb474))" ( (pointer_expression "**(code **)(pcVar21 + 0x1cb474)" * (pointer_expression "*(code **)(pcVar21 + 0x1cb474)" * (cast_expression "(code **)(pcVar21 + 0x1cb474)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x1cb474)" ( (binary_expression "pcVar21 + 0x1cb474" identifier + number_literal) ))))) )) (argument_list "(auStack_116c,0x1000,iVar7 + 0x4930)" ( identifier , number_literal , (binary_expression "iVar7 + 0x4930" identifier + number_literal) ))) ;) (expression_statement "(**(code **)(pcVar21 + 0x1cbaa0))(&puStack_12b4,auStack_116c);" (call_expression "(**(code **)(pcVar21 + 0x1cbaa0))(&puStack_12b4,auStack_116c)" (parenthesized_expression "(**(code **)(pcVar21 + 0x1cbaa0))" ( (pointer_expression "**(code **)(pcVar21 + 0x1cbaa0)" * (pointer_expression "*(code **)(pcVar21 + 0x1cbaa0)" * (cast_expression "(code **)(pcVar21 + 0x1cbaa0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x1cbaa0)" ( (binary_expression "pcVar21 + 0x1cbaa0" identifier + number_literal) ))))) )) (argument_list "(&puStack_12b4,auStack_116c)" ( (pointer_expression "&puStack_12b4" & identifier) , identifier ))) ;) }) while (parenthesized_expression "(iVar19 != 6)" ( (binary_expression "iVar19 != 6" identifier != number_literal) )) ;) (expression_statement "iStack_12e4 = iStack_12e4 + 1;" (assignment_expression "iStack_12e4 = iStack_12e4 + 1" identifier = (binary_expression "iStack_12e4 + 1" identifier + number_literal)) ;) (expression_statement "(**(code **)(pcVar21 + 0x1cb8d8))\n                    (0x10000,iVar14 + -0x12ec,iVar17 + -0xf34,0x326,iVar2 + -0x62ac,puStack_12b4);" (call_expression "(**(code **)(pcVar21 + 0x1cb8d8))\n                    (0x10000,iVar14 + -0x12ec,iVar17 + -0xf34,0x326,iVar2 + -0x62ac,puStack_12b4)" (parenthesized_expression "(**(code **)(pcVar21 + 0x1cb8d8))" ( (pointer_expression "**(code **)(pcVar21 + 0x1cb8d8)" * (pointer_expression "*(code **)(pcVar21 + 0x1cb8d8)" * (cast_expression "(code **)(pcVar21 + 0x1cb8d8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x1cb8d8)" ( (binary_expression "pcVar21 + 0x1cb8d8" identifier + number_literal) ))))) )) (argument_list "(0x10000,iVar14 + -0x12ec,iVar17 + -0xf34,0x326,iVar2 + -0x62ac,puStack_12b4)" ( number_literal , (binary_expression "iVar14 + -0x12ec" identifier + number_literal) , (binary_expression "iVar17 + -0xf34" identifier + number_literal) , number_literal , (binary_expression "iVar2 + -0x62ac" identifier + number_literal) , identifier ))) ;) }) while (parenthesized_expression "(iStack_12e4 != 6)" ( (binary_expression "iStack_12e4 != 6" identifier != number_literal) )) ;) (expression_statement "(**(code **)(pcVar21 + 0x1cb76c))(puStack_12b4);" (call_expression "(**(code **)(pcVar21 + 0x1cb76c))(puStack_12b4)" (parenthesized_expression "(**(code **)(pcVar21 + 0x1cb76c))" ( (pointer_expression "**(code **)(pcVar21 + 0x1cb76c)" * (pointer_expression "*(code **)(pcVar21 + 0x1cb76c)" * (cast_expression "(code **)(pcVar21 + 0x1cb76c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x1cb76c)" ( (binary_expression "pcVar21 + 0x1cb76c" identifier + number_literal) ))))) )) (argument_list "(puStack_12b4)" ( identifier ))) ;) })) (expression_statement "uStack_12bc = 0;" (assignment_expression "uStack_12bc = 0" identifier = number_literal) ;) (expression_statement "uStack_12c0 = 0;" (assignment_expression "uStack_12c0 = 0" identifier = number_literal) ;) (expression_statement "uVar8 = (**(code **)(pcVar21 + 0x1cbe4c))(puVar12,iVar4);" (assignment_expression "uVar8 = (**(code **)(pcVar21 + 0x1cbe4c))(puVar12,iVar4)" identifier = (call_expression "(**(code **)(pcVar21 + 0x1cbe4c))(puVar12,iVar4)" (parenthesized_expression "(**(code **)(pcVar21 + 0x1cbe4c))" ( (pointer_expression "**(code **)(pcVar21 + 0x1cbe4c)" * (pointer_expression "*(code **)(pcVar21 + 0x1cbe4c)" * (cast_expression "(code **)(pcVar21 + 0x1cbe4c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x1cbe4c)" ( (binary_expression "pcVar21 + 0x1cbe4c" identifier + number_literal) ))))) )) (argument_list "(puVar12,iVar4)" ( identifier , identifier )))) ;) (expression_statement "uVar9 = (**(code **)(pcVar21 + 0x1cb5cc))(iStack_12dc,iVar4);" (assignment_expression "uVar9 = (**(code **)(pcVar21 + 0x1cb5cc))(iStack_12dc,iVar4)" identifier = (call_expression "(**(code **)(pcVar21 + 0x1cb5cc))(iStack_12dc,iVar4)" (parenthesized_expression "(**(code **)(pcVar21 + 0x1cb5cc))" ( (pointer_expression "**(code **)(pcVar21 + 0x1cb5cc)" * (pointer_expression "*(code **)(pcVar21 + 0x1cb5cc)" * (cast_expression "(code **)(pcVar21 + 0x1cb5cc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x1cb5cc)" ( (binary_expression "pcVar21 + 0x1cb5cc" identifier + number_literal) ))))) )) (argument_list "(iStack_12dc,iVar4)" ( identifier , identifier )))) ;) (expression_statement "iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(puVar12);" (assignment_expression "iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(puVar12)" identifier = (call_expression "(**(code **)(pcVar21 + 0x1cbbac))(puVar12)" (parenthesized_expression "(**(code **)(pcVar21 + 0x1cbbac))" ( (pointer_expression "**(code **)(pcVar21 + 0x1cbbac)" * (pointer_expression "*(code **)(pcVar21 + 0x1cbbac)" * (cast_expression "(code **)(pcVar21 + 0x1cbbac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x1cbbac)" ( (binary_expression "pcVar21 + 0x1cbbac" identifier + number_literal) ))))) )) (argument_list "(puVar12)" ( identifier )))) ;) (if_statement "if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(puVar12), iVar2 == 3)) &&\n         ((iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc), iVar2 == 3)))) {\n        (**(code **)(pcVar21 + 0x1cb834))(7);\n        iVar2 = *(int *)(puVar12 + 0x1c);\n        if (iVar2 < 0) {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if (iVar2 + 0x3f >> 6 <= extraout_v1_03) goto LAB_001ddc6c;\nLAB_001dde94:\n          (*pcVar22)(7);\n          bVar1 = extraout_v1_05 < 2;\n        }\n        else {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if (extraout_v1_03 < iVar2 >> 6) goto LAB_001dde94;\nLAB_001ddc6c:\n          bVar1 = iVar2 < 0x80;\n        }\n        iVar11 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar21 + 0x1cb834))(7);\n          iVar11 = *(int *)(puVar12 + 0x1c);\n          if (iVar11 < 0) {\n            iVar11 = iVar11 + 0x3f;\n          }\n          iVar11 = iVar11 >> 6;\n          if (extraout_v1_06 < iVar11) {\n            pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n            goto LAB_001dde6c;\n          }\n        }\n      }\n      else {\n        uVar24 = (**(code **)(pcVar21 + 0x1cb834))(7);\n        if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if ((uint)uVar24 < 2) {\n            uVar24 = (*pcVar22)(7);\n            if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001ddb28;\n            pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n            if (1 < (uint)uVar24) goto LAB_001ddb2c;\n            iVar11 = 1;\n            goto LAB_001ddb44;\n          }\n        }\n        else {\nLAB_001ddb28:\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n        }\nLAB_001ddb2c:\n        uVar24 = (*pcVar22)(7);\n        if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n           (pcVar22 = *(code **)(pcVar21 + 0x1cb834), (uint)uVar24 < 2)) {\nLAB_001dde6c:\n          (*pcVar22)(7);\n          iVar11 = extraout_v1_04;\n        }\n        else {\n          iVar11 = 2;\n        }\n      }" if (parenthesized_expression "(((iVar2 == 4) || (iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(puVar12), iVar2 == 3)) &&\n         ((iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc), iVar2 == 3))))" ( (binary_expression "((iVar2 == 4) || (iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(puVar12), iVar2 == 3)) &&\n         ((iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc), iVar2 == 3)))" (parenthesized_expression "((iVar2 == 4) || (iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(puVar12), iVar2 == 3))" ( (binary_expression "(iVar2 == 4) || (iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(puVar12), iVar2 == 3)" (parenthesized_expression "(iVar2 == 4)" ( (binary_expression "iVar2 == 4" identifier == number_literal) )) || (parenthesized_expression "(iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(puVar12), iVar2 == 3)" ( (comma_expression "iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(puVar12), iVar2 == 3" (assignment_expression "iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(puVar12)" identifier = (call_expression "(**(code **)(pcVar21 + 0x1cbbac))(puVar12)" (parenthesized_expression "(**(code **)(pcVar21 + 0x1cbbac))" ( (pointer_expression "**(code **)(pcVar21 + 0x1cbbac)" * (pointer_expression "*(code **)(pcVar21 + 0x1cbbac)" * (cast_expression "(code **)(pcVar21 + 0x1cbbac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x1cbbac)" ( (binary_expression "pcVar21 + 0x1cbbac" identifier + number_literal) ))))) )) (argument_list "(puVar12)" ( identifier )))) , (binary_expression "iVar2 == 3" identifier == number_literal)) ))) )) && (parenthesized_expression "((iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc), iVar2 == 3)))" ( (parenthesized_expression "(iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc), iVar2 == 3))" ( (comma_expression "iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc), iVar2 == 3)" (assignment_expression "iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc)" identifier = (call_expression "(**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc)" (parenthesized_expression "(**(code **)(pcVar21 + 0x1cbbac))" ( (pointer_expression "**(code **)(pcVar21 + 0x1cbbac)" * (pointer_expression "*(code **)(pcVar21 + 0x1cbbac)" * (cast_expression "(code **)(pcVar21 + 0x1cbbac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x1cbbac)" ( (binary_expression "pcVar21 + 0x1cbbac" identifier + number_literal) ))))) )) (argument_list "(iStack_12dc)" ( identifier )))) , (binary_expression "iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc), iVar2 == 3)" (binary_expression "iVar2 == 4" identifier == number_literal) || (parenthesized_expression "(iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc), iVar2 == 3)" ( (comma_expression "iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc), iVar2 == 3" (assignment_expression "iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc)" identifier = (call_expression "(**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc)" (parenthesized_expression "(**(code **)(pcVar21 + 0x1cbbac))" ( (pointer_expression "**(code **)(pcVar21 + 0x1cbbac)" * (pointer_expression "*(code **)(pcVar21 + 0x1cbbac)" * (cast_expression "(code **)(pcVar21 + 0x1cbbac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x1cbbac)" ( (binary_expression "pcVar21 + 0x1cbbac" identifier + number_literal) ))))) )) (argument_list "(iStack_12dc)" ( identifier )))) , (binary_expression "iVar2 == 3" identifier == number_literal)) )))) )) ))) )) (compound_statement "{\n        (**(code **)(pcVar21 + 0x1cb834))(7);\n        iVar2 = *(int *)(puVar12 + 0x1c);\n        if (iVar2 < 0) {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if (iVar2 + 0x3f >> 6 <= extraout_v1_03) goto LAB_001ddc6c;\nLAB_001dde94:\n          (*pcVar22)(7);\n          bVar1 = extraout_v1_05 < 2;\n        }\n        else {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if (extraout_v1_03 < iVar2 >> 6) goto LAB_001dde94;\nLAB_001ddc6c:\n          bVar1 = iVar2 < 0x80;\n        }\n        iVar11 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar21 + 0x1cb834))(7);\n          iVar11 = *(int *)(puVar12 + 0x1c);\n          if (iVar11 < 0) {\n            iVar11 = iVar11 + 0x3f;\n          }\n          iVar11 = iVar11 >> 6;\n          if (extraout_v1_06 < iVar11) {\n            pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n            goto LAB_001dde6c;\n          }\n        }\n      }" { (expression_statement "(**(code **)(pcVar21 + 0x1cb834))(7);" (call_expression "(**(code **)(pcVar21 + 0x1cb834))(7)" (parenthesized_expression "(**(code **)(pcVar21 + 0x1cb834))" ( (pointer_expression "**(code **)(pcVar21 + 0x1cb834)" * (pointer_expression "*(code **)(pcVar21 + 0x1cb834)" * (cast_expression "(code **)(pcVar21 + 0x1cb834)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x1cb834)" ( (binary_expression "pcVar21 + 0x1cb834" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "iVar2 = *(int *)(puVar12 + 0x1c);" (assignment_expression "iVar2 = *(int *)(puVar12 + 0x1c)" identifier = (pointer_expression "*(int *)(puVar12 + 0x1c)" * (cast_expression "(int *)(puVar12 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x1c)" ( (binary_expression "puVar12 + 0x1c" identifier + number_literal) ))))) ;) (if_statement "if (iVar2 < 0) {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if (iVar2 + 0x3f >> 6 <= extraout_v1_03) goto LAB_001ddc6c;\nLAB_001dde94:\n          (*pcVar22)(7);\n          bVar1 = extraout_v1_05 < 2;\n        }\n        else {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if (extraout_v1_03 < iVar2 >> 6) goto LAB_001dde94;\nLAB_001ddc6c:\n          bVar1 = iVar2 < 0x80;\n        }" if (parenthesized_expression "(iVar2 < 0)" ( (binary_expression "iVar2 < 0" identifier < number_literal) )) (compound_statement "{\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if (iVar2 + 0x3f >> 6 <= extraout_v1_03) goto LAB_001ddc6c;\nLAB_001dde94:\n          (*pcVar22)(7);\n          bVar1 = extraout_v1_05 < 2;\n        }" { (expression_statement "pcVar22 = *(code **)(pcVar21 + 0x1cb834);" (assignment_expression "pcVar22 = *(code **)(pcVar21 + 0x1cb834)" identifier = (pointer_expression "*(code **)(pcVar21 + 0x1cb834)" * (cast_expression "(code **)(pcVar21 + 0x1cb834)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x1cb834)" ( (binary_expression "pcVar21 + 0x1cb834" identifier + number_literal) ))))) ;) (if_statement "if (iVar2 + 0x3f >> 6 <= extraout_v1_03) goto LAB_001ddc6c;" if (parenthesized_expression "(iVar2 + 0x3f >> 6 <= extraout_v1_03)" ( (binary_expression "iVar2 + 0x3f >> 6 <= extraout_v1_03" (binary_expression "iVar2 + 0x3f >> 6" (binary_expression "iVar2 + 0x3f" identifier + number_literal) >> number_literal) <= identifier) )) (goto_statement "goto LAB_001ddc6c;" goto statement_identifier ;)) (labeled_statement "LAB_001dde94:\n          (*pcVar22)(7);" statement_identifier : (expression_statement "(*pcVar22)(7);" (call_expression "(*pcVar22)(7)" (parenthesized_expression "(*pcVar22)" ( (pointer_expression "*pcVar22" * identifier) )) (argument_list "(7)" ( number_literal ))) ;)) (expression_statement "bVar1 = extraout_v1_05 < 2;" (assignment_expression "bVar1 = extraout_v1_05 < 2" identifier = (binary_expression "extraout_v1_05 < 2" identifier < number_literal)) ;) }) (else_clause "else {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if (extraout_v1_03 < iVar2 >> 6) goto LAB_001dde94;\nLAB_001ddc6c:\n          bVar1 = iVar2 < 0x80;\n        }" else (compound_statement "{\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if (extraout_v1_03 < iVar2 >> 6) goto LAB_001dde94;\nLAB_001ddc6c:\n          bVar1 = iVar2 < 0x80;\n        }" { (expression_statement "pcVar22 = *(code **)(pcVar21 + 0x1cb834);" (assignment_expression "pcVar22 = *(code **)(pcVar21 + 0x1cb834)" identifier = (pointer_expression "*(code **)(pcVar21 + 0x1cb834)" * (cast_expression "(code **)(pcVar21 + 0x1cb834)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x1cb834)" ( (binary_expression "pcVar21 + 0x1cb834" identifier + number_literal) ))))) ;) (if_statement "if (extraout_v1_03 < iVar2 >> 6) goto LAB_001dde94;" if (parenthesized_expression "(extraout_v1_03 < iVar2 >> 6)" ( (binary_expression "extraout_v1_03 < iVar2 >> 6" identifier < (binary_expression "iVar2 >> 6" identifier >> number_literal)) )) (goto_statement "goto LAB_001dde94;" goto statement_identifier ;)) (labeled_statement "LAB_001ddc6c:\n          bVar1 = iVar2 < 0x80;" statement_identifier : (expression_statement "bVar1 = iVar2 < 0x80;" (assignment_expression "bVar1 = iVar2 < 0x80" identifier = (binary_expression "iVar2 < 0x80" identifier < number_literal)) ;)) }))) (expression_statement "iVar11 = 1;" (assignment_expression "iVar11 = 1" identifier = number_literal) ;) (if_statement "if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar21 + 0x1cb834))(7);\n          iVar11 = *(int *)(puVar12 + 0x1c);\n          if (iVar11 < 0) {\n            iVar11 = iVar11 + 0x3f;\n          }\n          iVar11 = iVar11 >> 6;\n          if (extraout_v1_06 < iVar11) {\n            pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n            goto LAB_001dde6c;\n          }\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 **)(pcVar21 + 0x1cb834))(7);\n          iVar11 = *(int *)(puVar12 + 0x1c);\n          if (iVar11 < 0) {\n            iVar11 = iVar11 + 0x3f;\n          }\n          iVar11 = iVar11 >> 6;\n          if (extraout_v1_06 < iVar11) {\n            pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n            goto LAB_001dde6c;\n          }\n        }" { (expression_statement "(**(code **)(pcVar21 + 0x1cb834))(7);" (call_expression "(**(code **)(pcVar21 + 0x1cb834))(7)" (parenthesized_expression "(**(code **)(pcVar21 + 0x1cb834))" ( (pointer_expression "**(code **)(pcVar21 + 0x1cb834)" * (pointer_expression "*(code **)(pcVar21 + 0x1cb834)" * (cast_expression "(code **)(pcVar21 + 0x1cb834)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x1cb834)" ( (binary_expression "pcVar21 + 0x1cb834" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "iVar11 = *(int *)(puVar12 + 0x1c);" (assignment_expression "iVar11 = *(int *)(puVar12 + 0x1c)" identifier = (pointer_expression "*(int *)(puVar12 + 0x1c)" * (cast_expression "(int *)(puVar12 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x1c)" ( (binary_expression "puVar12 + 0x1c" identifier + number_literal) ))))) ;) (if_statement "if (iVar11 < 0) {\n            iVar11 = iVar11 + 0x3f;\n          }" if (parenthesized_expression "(iVar11 < 0)" ( (binary_expression "iVar11 < 0" identifier < number_literal) )) (compound_statement "{\n            iVar11 = iVar11 + 0x3f;\n          }" { (expression_statement "iVar11 = iVar11 + 0x3f;" (assignment_expression "iVar11 = iVar11 + 0x3f" identifier = (binary_expression "iVar11 + 0x3f" identifier + number_literal)) ;) })) (expression_statement "iVar11 = iVar11 >> 6;" (assignment_expression "iVar11 = iVar11 >> 6" identifier = (binary_expression "iVar11 >> 6" identifier >> number_literal)) ;) (if_statement "if (extraout_v1_06 < iVar11) {\n            pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n            goto LAB_001dde6c;\n          }" if (parenthesized_expression "(extraout_v1_06 < iVar11)" ( (binary_expression "extraout_v1_06 < iVar11" identifier < identifier) )) (compound_statement "{\n            pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n            goto LAB_001dde6c;\n          }" { (expression_statement "pcVar22 = *(code **)(pcVar21 + 0x1cb834);" (assignment_expression "pcVar22 = *(code **)(pcVar21 + 0x1cb834)" identifier = (pointer_expression "*(code **)(pcVar21 + 0x1cb834)" * (cast_expression "(code **)(pcVar21 + 0x1cb834)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x1cb834)" ( (binary_expression "pcVar21 + 0x1cb834" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_001dde6c;" goto statement_identifier ;) })) })) }) (else_clause "else {\n        uVar24 = (**(code **)(pcVar21 + 0x1cb834))(7);\n        if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if ((uint)uVar24 < 2) {\n            uVar24 = (*pcVar22)(7);\n            if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001ddb28;\n            pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n            if (1 < (uint)uVar24) goto LAB_001ddb2c;\n            iVar11 = 1;\n            goto LAB_001ddb44;\n          }\n        }\n        else {\nLAB_001ddb28:\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n        }\nLAB_001ddb2c:\n        uVar24 = (*pcVar22)(7);\n        if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n           (pcVar22 = *(code **)(pcVar21 + 0x1cb834), (uint)uVar24 < 2)) {\nLAB_001dde6c:\n          (*pcVar22)(7);\n          iVar11 = extraout_v1_04;\n        }\n        else {\n          iVar11 = 2;\n        }\n      }" else (compound_statement "{\n        uVar24 = (**(code **)(pcVar21 + 0x1cb834))(7);\n        if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if ((uint)uVar24 < 2) {\n            uVar24 = (*pcVar22)(7);\n            if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001ddb28;\n            pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n            if (1 < (uint)uVar24) goto LAB_001ddb2c;\n            iVar11 = 1;\n            goto LAB_001ddb44;\n          }\n        }\n        else {\nLAB_001ddb28:\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n        }\nLAB_001ddb2c:\n        uVar24 = (*pcVar22)(7);\n        if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n           (pcVar22 = *(code **)(pcVar21 + 0x1cb834), (uint)uVar24 < 2)) {\nLAB_001dde6c:\n          (*pcVar22)(7);\n          iVar11 = extraout_v1_04;\n        }\n        else {\n          iVar11 = 2;\n        }\n      }" { (expression_statement "uVar24 = (**(code **)(pcVar21 + 0x1cb834))(7);" (assignment_expression "uVar24 = (**(code **)(pcVar21 + 0x1cb834))(7)" identifier = (call_expression "(**(code **)(pcVar21 + 0x1cb834))(7)" (parenthesized_expression "(**(code **)(pcVar21 + 0x1cb834))" ( (pointer_expression "**(code **)(pcVar21 + 0x1cb834)" * (pointer_expression "*(code **)(pcVar21 + 0x1cb834)" * (cast_expression "(code **)(pcVar21 + 0x1cb834)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x1cb834)" ( (binary_expression "pcVar21 + 0x1cb834" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if ((uint)uVar24 < 2) {\n            uVar24 = (*pcVar22)(7);\n            if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001ddb28;\n            pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n            if (1 < (uint)uVar24) goto LAB_001ddb2c;\n            iVar11 = 1;\n            goto LAB_001ddb44;\n          }\n        }\n        else {\nLAB_001ddb28:\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n        }" if (parenthesized_expression "((int)((ulonglong)uVar24 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar24 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar24 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar24 >> 0x20)" ( (binary_expression "(ulonglong)uVar24 >> 0x20" (cast_expression "(ulonglong)uVar24" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) (compound_statement "{\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if ((uint)uVar24 < 2) {\n            uVar24 = (*pcVar22)(7);\n            if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001ddb28;\n            pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n            if (1 < (uint)uVar24) goto LAB_001ddb2c;\n            iVar11 = 1;\n            goto LAB_001ddb44;\n          }\n        }" { (expression_statement "pcVar22 = *(code **)(pcVar21 + 0x1cb834);" (assignment_expression "pcVar22 = *(code **)(pcVar21 + 0x1cb834)" identifier = (pointer_expression "*(code **)(pcVar21 + 0x1cb834)" * (cast_expression "(code **)(pcVar21 + 0x1cb834)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x1cb834)" ( (binary_expression "pcVar21 + 0x1cb834" identifier + number_literal) ))))) ;) (if_statement "if ((uint)uVar24 < 2) {\n            uVar24 = (*pcVar22)(7);\n            if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001ddb28;\n            pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n            if (1 < (uint)uVar24) goto LAB_001ddb2c;\n            iVar11 = 1;\n            goto LAB_001ddb44;\n          }" if (parenthesized_expression "((uint)uVar24 < 2)" ( (binary_expression "(uint)uVar24 < 2" (cast_expression "(uint)uVar24" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) )) (compound_statement "{\n            uVar24 = (*pcVar22)(7);\n            if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001ddb28;\n            pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n            if (1 < (uint)uVar24) goto LAB_001ddb2c;\n            iVar11 = 1;\n            goto LAB_001ddb44;\n          }" { (expression_statement "uVar24 = (*pcVar22)(7);" (assignment_expression "uVar24 = (*pcVar22)(7)" identifier = (call_expression "(*pcVar22)(7)" (parenthesized_expression "(*pcVar22)" ( (pointer_expression "*pcVar22" * identifier) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001ddb28;" if (parenthesized_expression "((int)((ulonglong)uVar24 >> 0x20) != 0)" ( (binary_expression "(int)((ulonglong)uVar24 >> 0x20) != 0" (cast_expression "(int)((ulonglong)uVar24 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar24 >> 0x20)" ( (binary_expression "(ulonglong)uVar24 >> 0x20" (cast_expression "(ulonglong)uVar24" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) != number_literal) )) (goto_statement "goto LAB_001ddb28;" goto statement_identifier ;)) (expression_statement "pcVar22 = *(code **)(pcVar21 + 0x1cb834);" (assignment_expression "pcVar22 = *(code **)(pcVar21 + 0x1cb834)" identifier = (pointer_expression "*(code **)(pcVar21 + 0x1cb834)" * (cast_expression "(code **)(pcVar21 + 0x1cb834)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x1cb834)" ( (binary_expression "pcVar21 + 0x1cb834" identifier + number_literal) ))))) ;) (if_statement "if (1 < (uint)uVar24) goto LAB_001ddb2c;" if (parenthesized_expression "(1 < (uint)uVar24)" ( (binary_expression "1 < (uint)uVar24" number_literal < (cast_expression "(uint)uVar24" ( (type_descriptor "uint" type_identifier) ) identifier)) )) (goto_statement "goto LAB_001ddb2c;" goto statement_identifier ;)) (expression_statement "iVar11 = 1;" (assignment_expression "iVar11 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_001ddb44;" goto statement_identifier ;) })) }) (else_clause "else {\nLAB_001ddb28:\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n        }" else (compound_statement "{\nLAB_001ddb28:\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n        }" { (labeled_statement "LAB_001ddb28:\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);" statement_identifier : (expression_statement "pcVar22 = *(code **)(pcVar21 + 0x1cb834);" (assignment_expression "pcVar22 = *(code **)(pcVar21 + 0x1cb834)" identifier = (pointer_expression "*(code **)(pcVar21 + 0x1cb834)" * (cast_expression "(code **)(pcVar21 + 0x1cb834)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x1cb834)" ( (binary_expression "pcVar21 + 0x1cb834" identifier + number_literal) ))))) ;)) }))) (labeled_statement "LAB_001ddb2c:\n        uVar24 = (*pcVar22)(7);" statement_identifier : (expression_statement "uVar24 = (*pcVar22)(7);" (assignment_expression "uVar24 = (*pcVar22)(7)" identifier = (call_expression "(*pcVar22)(7)" (parenthesized_expression "(*pcVar22)" ( (pointer_expression "*pcVar22" * identifier) )) (argument_list "(7)" ( number_literal )))) ;)) (if_statement "if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n           (pcVar22 = *(code **)(pcVar21 + 0x1cb834), (uint)uVar24 < 2)) {\nLAB_001dde6c:\n          (*pcVar22)(7);\n          iVar11 = extraout_v1_04;\n        }\n        else {\n          iVar11 = 2;\n        }" if (parenthesized_expression "(((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n           (pcVar22 = *(code **)(pcVar21 + 0x1cb834), (uint)uVar24 < 2))" ( (binary_expression "((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n           (pcVar22 = *(code **)(pcVar21 + 0x1cb834), (uint)uVar24 < 2)" (parenthesized_expression "((int)((ulonglong)uVar24 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar24 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar24 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar24 >> 0x20)" ( (binary_expression "(ulonglong)uVar24 >> 0x20" (cast_expression "(ulonglong)uVar24" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) && (parenthesized_expression "(pcVar22 = *(code **)(pcVar21 + 0x1cb834), (uint)uVar24 < 2)" ( (comma_expression "pcVar22 = *(code **)(pcVar21 + 0x1cb834), (uint)uVar24 < 2" (assignment_expression "pcVar22 = *(code **)(pcVar21 + 0x1cb834)" identifier = (pointer_expression "*(code **)(pcVar21 + 0x1cb834)" * (cast_expression "(code **)(pcVar21 + 0x1cb834)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x1cb834)" ( (binary_expression "pcVar21 + 0x1cb834" identifier + number_literal) ))))) , (binary_expression "(uint)uVar24 < 2" (cast_expression "(uint)uVar24" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal)) ))) )) (compound_statement "{\nLAB_001dde6c:\n          (*pcVar22)(7);\n          iVar11 = extraout_v1_04;\n        }" { (labeled_statement "LAB_001dde6c:\n          (*pcVar22)(7);" statement_identifier : (expression_statement "(*pcVar22)(7);" (call_expression "(*pcVar22)(7)" (parenthesized_expression "(*pcVar22)" ( (pointer_expression "*pcVar22" * identifier) )) (argument_list "(7)" ( number_literal ))) ;)) (expression_statement "iVar11 = extraout_v1_04;" (assignment_expression "iVar11 = extraout_v1_04" identifier = identifier) ;) }) (else_clause "else {\n          iVar11 = 2;\n        }" else (compound_statement "{\n          iVar11 = 2;\n        }" { (expression_statement "iVar11 = 2;" (assignment_expression "iVar11 = 2" identifier = number_literal) ;) }))) }))) (labeled_statement "LAB_001ddb44:\n      iVar2 = 0;" statement_identifier : (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" identifier = number_literal) ;)) (expression_statement "iStack_1298 = 1;" (assignment_expression "iStack_1298 = 1" identifier = number_literal) ;) (expression_statement "puStack_1294 = &uStack_12c0;" (assignment_expression "puStack_1294 = &uStack_12c0" identifier = (pointer_expression "&uStack_12c0" & identifier)) ;) (expression_statement "puStack_12b4 = puVar12;" (assignment_expression "puStack_12b4 = puVar12" identifier = identifier) ;) (expression_statement "iStack_12b0 = iVar3;" (assignment_expression "iStack_12b0 = iVar3" identifier = identifier) ;) (expression_statement "iStack_12ac = iVar4;" (assignment_expression "iStack_12ac = iVar4" identifier = identifier) ;) (expression_statement "uStack_12a8 = uVar9;" (assignment_expression "uStack_12a8 = uVar9" identifier = identifier) ;) (expression_statement "uStack_12a4 = uVar8;" (assignment_expression "uStack_12a4 = uVar8" identifier = identifier) ;) (expression_statement "puStack_12a0 = auStack_1290;" (assignment_expression "puStack_12a0 = auStack_1290" identifier = identifier) ;) (expression_statement "iStack_129c = iStack_12dc;" (assignment_expression "iStack_129c = iStack_12dc" identifier = identifier) ;) (expression_statement "(**(code **)(pcVar21 + 0x1cb890))\n                (*(int *)(pcVar21 + 0x1cb09c) + -0x71ec,&puStack_12b4,iVar11,0);" (call_expression "(**(code **)(pcVar21 + 0x1cb890))\n                (*(int *)(pcVar21 + 0x1cb09c) + -0x71ec,&puStack_12b4,iVar11,0)" (parenthesized_expression "(**(code **)(pcVar21 + 0x1cb890))" ( (pointer_expression "**(code **)(pcVar21 + 0x1cb890)" * (pointer_expression "*(code **)(pcVar21 + 0x1cb890)" * (cast_expression "(code **)(pcVar21 + 0x1cb890)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x1cb890)" ( (binary_expression "pcVar21 + 0x1cb890" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar21 + 0x1cb09c) + -0x71ec,&puStack_12b4,iVar11,0)" ( (binary_expression "*(int *)(pcVar21 + 0x1cb09c) + -0x71ec" (pointer_expression "*(int *)(pcVar21 + 0x1cb09c)" * (cast_expression "(int *)(pcVar21 + 0x1cb09c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar21 + 0x1cb09c)" ( (binary_expression "pcVar21 + 0x1cb09c" identifier + number_literal) )))) + number_literal) , (pointer_expression "&puStack_12b4" & identifier) , identifier , number_literal ))) ;) (expression_statement "iVar3 = iStack_1298;" (assignment_expression "iVar3 = iStack_1298" identifier = identifier) ;) (expression_statement "(**(code **)(pcVar21 + 0x1cb5ec))(uVar9);" (call_expression "(**(code **)(pcVar21 + 0x1cb5ec))(uVar9)" (parenthesized_expression "(**(code **)(pcVar21 + 0x1cb5ec))" ( (pointer_expression "**(code **)(pcVar21 + 0x1cb5ec)" * (pointer_expression "*(code **)(pcVar21 + 0x1cb5ec)" * (cast_expression "(code **)(pcVar21 + 0x1cb5ec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x1cb5ec)" ( (binary_expression "pcVar21 + 0x1cb5ec" identifier + number_literal) ))))) )) (argument_list "(uVar9)" ( identifier ))) ;) (expression_statement "(**(code **)(pcVar21 + 0x1cb5ec))(uVar8);" (call_expression "(**(code **)(pcVar21 + 0x1cb5ec))(uVar8)" (parenthesized_expression "(**(code **)(pcVar21 + 0x1cb5ec))" ( (pointer_expression "**(code **)(pcVar21 + 0x1cb5ec)" * (pointer_expression "*(code **)(pcVar21 + 0x1cb5ec)" * (cast_expression "(code **)(pcVar21 + 0x1cb5ec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x1cb5ec)" ( (binary_expression "pcVar21 + 0x1cb5ec" identifier + number_literal) ))))) )) (argument_list "(uVar8)" ( identifier ))) ;) (if_statement "if (iVar3 == 0) {\n        iStack_12dc = (**(code **)(pcVar21 + 0x1cb644))(iStack_12dc);\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        iStack_12dc = (**(code **)(pcVar21 + 0x1cb644))(iStack_12dc);\n      }" { (expression_statement "iStack_12dc = (**(code **)(pcVar21 + 0x1cb644))(iStack_12dc);" (assignment_expression "iStack_12dc = (**(code **)(pcVar21 + 0x1cb644))(iStack_12dc)" identifier = (call_expression "(**(code **)(pcVar21 + 0x1cb644))(iStack_12dc)" (parenthesized_expression "(**(code **)(pcVar21 + 0x1cb644))" ( (pointer_expression "**(code **)(pcVar21 + 0x1cb644)" * (pointer_expression "*(code **)(pcVar21 + 0x1cb644)" * (cast_expression "(code **)(pcVar21 + 0x1cb644)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x1cb644)" ( (binary_expression "pcVar21 + 0x1cb644" identifier + number_literal) ))))) )) (argument_list "(iStack_12dc)" ( identifier )))) ;) })) }))) })) (if_statement "if (iStack_16c == *piVar6) {\n    return iStack_12dc;\n  }" if (parenthesized_expression "(iStack_16c == *piVar6)" ( (binary_expression "iStack_16c == *piVar6" identifier == (pointer_expression "*piVar6" * identifier)) )) (compound_statement "{\n    return iStack_12dc;\n  }" { (return_statement "return iStack_12dc;" return identifier ;) })) (expression_statement "(**(code **)(pcVar21 + 0x1cb75c))();" (call_expression "(**(code **)(pcVar21 + 0x1cb75c))()" (parenthesized_expression "(**(code **)(pcVar21 + 0x1cb75c))" ( (pointer_expression "**(code **)(pcVar21 + 0x1cb75c)" * (pointer_expression "*(code **)(pcVar21 + 0x1cb75c)" * (cast_expression "(code **)(pcVar21 + 0x1cb75c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x1cb75c)" ( (binary_expression "pcVar21 + 0x1cb75c" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (labeled_statement "LAB_001ddf28:\n  iVar2 = (**(code **)(pcVar21 + 0x1cbd00))\n                    (*(int *)(pcVar21 + 0x1cafe0) + -0x3784,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,\n                     0x2fa,iVar2 + -0xf20);" statement_identifier : (expression_statement "iVar2 = (**(code **)(pcVar21 + 0x1cbd00))\n                    (*(int *)(pcVar21 + 0x1cafe0) + -0x3784,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,\n                     0x2fa,iVar2 + -0xf20);" (assignment_expression "iVar2 = (**(code **)(pcVar21 + 0x1cbd00))\n                    (*(int *)(pcVar21 + 0x1cafe0) + -0x3784,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,\n                     0x2fa,iVar2 + -0xf20)" identifier = (call_expression "(**(code **)(pcVar21 + 0x1cbd00))\n                    (*(int *)(pcVar21 + 0x1cafe0) + -0x3784,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,\n                     0x2fa,iVar2 + -0xf20)" (parenthesized_expression "(**(code **)(pcVar21 + 0x1cbd00))" ( (pointer_expression "**(code **)(pcVar21 + 0x1cbd00)" * (pointer_expression "*(code **)(pcVar21 + 0x1cbd00)" * (cast_expression "(code **)(pcVar21 + 0x1cbd00)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x1cbd00)" ( (binary_expression "pcVar21 + 0x1cbd00" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar21 + 0x1cafe0) + -0x3784,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,\n                     0x2fa,iVar2 + -0xf20)" ( (binary_expression "*(int *)(pcVar21 + 0x1cafe0) + -0x3784" (pointer_expression "*(int *)(pcVar21 + 0x1cafe0)" * (cast_expression "(int *)(pcVar21 + 0x1cafe0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar21 + 0x1cafe0)" ( (binary_expression "pcVar21 + 0x1cafe0" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar21 + 0x1cafe4) + -0x12ec" (pointer_expression "*(int *)(pcVar21 + 0x1cafe4)" * (cast_expression "(int *)(pcVar21 + 0x1cafe4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar21 + 0x1cafe4)" ( (binary_expression "pcVar21 + 0x1cafe4" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "iVar2 + -0xf20" identifier + number_literal) )))) ;)) (return_statement "return iVar2;" return identifier ;) })))
(translation_unit "/* WARNING: Enum "GravityType": Some values do not have unique names */\n/* WARNING: Enum "DisposeType": Some values do not have unique names */\n/* WARNING: Enum "ChannelType": Some values do not have unique names */\n/* WARNING: Enum "PixelChannel": Some values do not have unique names */\n/* WARNING: Enum "ExceptionType": Some values do not have unique names */\n\nImage * CharcoalImage(Image *image,double radius,double sigma,ExceptionInfo *exception)\n\n{\n  bool bVar1;\n  int iVar2;\n  int iVar3;\n  Image *pIVar4;\n  Image *pIVar5;\n  uint uVar6;\n  size_t sVar7;\n  int *piVar8;\n  int iVar9;\n  undefined4 uVar10;\n  undefined4 uVar11;\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 extraout_v1_04;\n  int extraout_v1_05;\n  int extraout_v1_06;\n  undefined *puVar12;\n  int iVar13;\n  size_t sVar14;\n  undefined1 *puVar15;\n  undefined *puVar16;\n  int iVar17;\n  undefined8 *puVar18;\n  int iVar19;\n  int iVar20;\n  Image *unaff_s1;\n  undefined *unaff_s2;\n  int unaff_s3;\n  int *piVar21;\n  undefined *unaff_s5;\n  undefined1 *unaff_s6;\n  int iVar22;\n  undefined *puVar23;\n  code *pcVar24;\n  code *pcVar25;\n  double dVar26;\n  undefined8 uVar27;\n  Image *in_stack_00000018;\n  int iStack_12e4;\n  Image *pIStack_12dc;\n  undefined4 uStack_12c0;\n  undefined4 uStack_12bc;\n  undefined1 *puStack_12b4;\n  int iStack_12b0;\n  int iStack_12ac;\n  undefined4 uStack_12a8;\n  undefined4 uStack_12a4;\n  undefined8 *puStack_12a0;\n  Image *pIStack_129c;\n  int iStack_1298;\n  undefined4 *puStack_1294;\n  undefined8 auStack_1290 [7];\n  undefined8 uStack_1258;\n  undefined8 uStack_1220;\n  undefined8 uStack_11e8;\n  undefined8 uStack_11b0;\n  undefined8 uStack_1178;\n  undefined1 auStack_116c [4096];\n  int iStack_16c;\n  Image *pIStack_168;\n  Image *pIStack_164;\n  undefined *puStack_160;\n  int iStack_15c;\n  int *piStack_158;\n  undefined *puStack_154;\n  undefined1 *puStack_150;\n  undefined4 uStack_118;\n  undefined4 uStack_114;\n  undefined *puStack_110;\n  int iStack_10c;\n  Image *pIStack_108;\n  undefined *puStack_104;\n  Image *pIStack_100;\n  undefined1 *puStack_fc;\n  Image *pIStack_f8;\n  undefined4 *puStack_f4;\n  undefined8 uStack_f0;\n  undefined8 uStack_e8;\n  undefined8 uStack_e0;\n  undefined8 uStack_d8;\n  undefined8 uStack_d0;\n  undefined1 auStack_c8 [4];\n  int iStack_c4;\n  undefined8 uStack_a0;\n  undefined8 uStack_98;\n  undefined8 uStack_90;\n  undefined8 uStack_88;\n  undefined8 uStack_80;\n  int iStack_6c;\n  Image *pIStack_64;\n  \n  if (image == (Image *)0x0) {\nLAB_001dd2cc:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0xdd0,PTR_s_courses_003a88ec + -0x12ec,0x1da,\n               PTR_s_courses_003a88ec + -0xedc);\nLAB_001dd2f0:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x294c,PTR_s_courses_003a88ec + -0x12ec,0x1df,\n               PTR_s_courses_003a88ec + -0xedc);\n  }\n  else {\n    unaff_s1 = image;\n    if (image->signature != 0xabacadab) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                 PTR_s_courses_003a88ec + -0x12ec,0x1db,PTR_s_courses_003a88ec + -0xedc);\n      goto LAB_001dd2cc;\n    }\n    if (image->debug != MagickFalse) {\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_courses_003a88ec + -0x12ec,PTR_s_courses_003a88ec + -0xeec,0x1dd);\n    }\n    if (in_stack_00000018 != (Image *)0x0) {\n      if (in_stack_00000018->rows == 0xabacadab) {\n        iVar2 = (*(code *)PTR_EdgeImage_003a8dec)(image);\n        puVar12 = PTR_ClampImage_003a93c8;\n        if (iVar2 != 0) {\n          *(undefined4 *)(iVar2 + 700) = 0;\n          iVar3 = (*(code *)puVar12)(iVar2,in_stack_00000018);\n          if (iVar3 == 0) {\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n          }\n          else {\n            pIVar4 = (Image *)(*(code *)PTR_BlurImage_003a95c0)(iVar2);\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n            if (pIVar4 != (Image *)0x0) {\n              iVar2 = (*(code *)PTR_NormalizeImage_003a8f7c)(pIVar4,in_stack_00000018);\n              if (((iVar2 != 0) &&\n                  (iVar2 = (*(code *)PTR_NegateImage_003a985c)(pIVar4,0,in_stack_00000018),\n                  iVar2 != 0)) &&\n                 (iVar2 = (*(code *)PTR_GrayscaleImage_003a91cc)\n                                    (pIVar4,image->intensity,in_stack_00000018), iVar2 != 0)) {\n                return pIVar4;\n              }\n                    /* WARNING: Could not recover jumptable at 0x001dd244. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              pIVar4 = (Image *)(*(code *)PTR_DestroyImage_003a8f4c)(pIVar4);\n              return pIVar4;\n            }\n          }\n        }\n        return (Image *)0x0;\n      }\n      goto LAB_001dd2f0;\n    }\n  }\n  iVar2 = 0x1de;\n  pIVar4 = (Image *)(PTR_s_courses_003a88ec + -0xedc);\n  puVar16 = PTR_s_courses_003a88ec + -0x12ec;\n  puVar12 = PTR_LAB_003a88e0 + 0x1cac;\n  puVar23 = PTR___assert_fail_003a9608;\n  (*(code *)PTR___assert_fail_003a9608)();\n  piVar21 = *(int **)(puVar23 + 0x1cbef8);\n  iStack_6c = *piVar21;\n  pIStack_64 = unaff_s1;\n  if (puVar12 == (undefined *)0x0) {\n    (**(code **)(puVar23 + 0x1cc2d0))\n              (*(int *)(puVar23 + 0x1cb5b0) + -0x37b0,*(int *)(puVar23 + 0x1cb5b4) + -0x12ec,0x238,\n               *(int *)(puVar23 + 0x1cb5b4) + -0xefc);\n    puVar12 = unaff_s2;\nLAB_001dd890:\n    (**(code **)(puVar23 + 0x1cbd2c))();\nLAB_001dd89c:\n    puVar16 = unaff_s5;\n    iVar2 = unaff_s3;\n    pIVar4 = unaff_s1;\n    (**(code **)(puVar23 + 0x1cc2d0))\n              (*(int *)(puVar23 + 0x1cb5b0) + -0x3784,*(int *)(puVar23 + 0x1cb5b4) + -0x12ec,0x239,\n               *(int *)(puVar23 + 0x1cb5b4) + -0xefc);\nLAB_001dd8c0:\n    (**(code **)(puVar23 + 0x1cc2d0))\n              (*(int *)(puVar23 + 0x1cb5a8) + 0x294c,*(int *)(puVar23 + 0x1cb5b4) + -0x12ec,0x23d,\n               *(int *)(puVar23 + 0x1cb5b4) + -0xefc);\n  }\n  else {\n    if (*(int *)(puVar12 + 0x336c) != -0x54535255) goto LAB_001dd89c;\n    if (*(int *)(puVar12 + 0x3350) != 0) {\n      (**(code **)(puVar23 + 0x1cbea8))\n                (0x8000,*(int *)(puVar23 + 0x1cb5b4) + -0x12ec,*(int *)(puVar23 + 0x1cb5b4) + -0xf0c\n                 ,0x23b);\n    }\n    if (pIVar4 != (Image *)0x0) {\n      if (pIVar4->rows == 0xabacadab) {\n        pIVar5 = (Image *)(**(code **)(puVar23 + 0x1cc4f8))(puVar12,0,0,1);\n        in_stack_00000018 = pIVar5;\n        if (pIVar5 != (Image *)0x0) {\n          iVar3 = (**(code **)(puVar23 + 0x1cc4ec))(pIVar5,1,pIVar4);\n          if (iVar3 == 0) {\n            in_stack_00000018 = (Image *)0x0;\n            (**(code **)(puVar23 + 0x1cbc14))(pIVar5);\n          }\n          else {\n            if (pIVar5->colorspace == LinearGRAYColorspace) {\nLAB_001dd4b8:\n              pcVar24 = *(code **)(puVar23 + 0x1cba08);\nLAB_001dd4bc:\n              (*pcVar24)(pIVar5,0x17,pIVar4);\n            }\n            else {\n              pcVar24 = *(code **)(puVar23 + 0x1cba08);\n              if (pIVar5->colorspace == GRAYColorspace) goto LAB_001dd4bc;\n              dVar26 = *(double *)(iVar2 + 0x28) - *(double *)(iVar2 + 0x30);\n              if (dVar26 < 0.0) {\n                dVar26 = -dVar26;\n              }\n              if (dVar26 < *(double *)(*(int *)(puVar23 + 0x1cb5a8) + 0x13f8)) {\n                dVar26 = *(double *)(iVar2 + 0x30) - *(double *)(iVar2 + 0x38);\n                if (dVar26 < 0.0) {\n                  dVar26 = -dVar26;\n                }\n                if (dVar26 < *(double *)(*(int *)(puVar23 + 0x1cb5a8) + 0x13f8)) goto LAB_001dd4b8;\n              }\n            }\n            if ((pIVar5->alpha_trait == UndefinedPixelTrait) && (*(int *)(iVar2 + 8) != 0)) {\n              (**(code **)(puVar23 + 0x1cb940))\n                        (pIVar5,*(undefined4 *)(*(int *)(puVar23 + 0x1cb5a8) + 0x1a50),pIVar4);\n            }\n            if (puVar16 != (undefined *)0x0) {\n              unaff_s6 = auStack_c8;\n              (**(code **)(puVar23 + 0x1cbf7c))(pIVar5,unaff_s6);\n              uVar6 = (**(code **)(puVar23 + 0x1cc11c))(puVar16,&uStack_f0);\n              uStack_80 = 0;\n              uStack_a0 = uStack_f0;\n              uStack_98 = uStack_f0;\n              uStack_90 = uStack_f0;\n              uStack_88 = uStack_f0;\n              if ((uVar6 & 8) != 0) {\n                uStack_98 = uStack_e8;\n              }\n              if ((uVar6 & 1) != 0) {\n                uStack_90 = uStack_e0;\n              }\n              if ((uVar6 & 2) == 0) {\n                pcVar24 = *(code **)(puVar23 + 0x1cc41c);\n                uVar27 = uStack_88;\n                if (iStack_c4 == 2) goto LAB_001dd6b0;\n              }\n              else {\n                uStack_80 = uStack_d8;\n                uVar27 = uStack_d8;\n                if (iStack_c4 == 2) {\nLAB_001dd6b0:\n                  uStack_88 = uVar27;\n                  pcVar24 = *(code **)(puVar23 + 0x1cc41c);\n                  if ((uVar6 & 0x10) != 0) {\n                    uStack_80 = uStack_d0;\n                  }\n                }\n                else {\n                  pcVar24 = *(code **)(puVar23 + 0x1cc41c);\n                }\n              }\n              uStack_114 = 0;\n              uStack_118 = 0;\n              puVar16 = (undefined *)(*pcVar24)(pIVar5,pIVar4);\n              iVar3 = (**(code **)(puVar23 + 0x1cc17c))(pIVar5);\n              if (((iVar3 == 4) || (iVar3 = (**(code **)(puVar23 + 0x1cc17c))(pIVar5), iVar3 == 3))\n                 && ((iVar3 = (**(code **)(puVar23 + 0x1cc17c))(pIVar5), iVar3 == 4 ||\n                     (iVar3 = (**(code **)(puVar23 + 0x1cc17c))(pIVar5), iVar3 == 3)))) {\n                (**(code **)(puVar23 + 0x1cbe04))(7);\n                sVar7 = pIVar5->rows;\n                sVar14 = sVar7;\n                if ((int)sVar7 < 0) {\n                  sVar14 = sVar7 + 0x3f;\n                }\n                if (extraout_v1 < (int)sVar14 >> 6) {\n                  (**(code **)(puVar23 + 0x1cbe04))(7);\n                  bVar1 = extraout_v1_02 < 2;\n                }\n                else {\n                  bVar1 = (int)sVar7 < 0x80;\n                }\n                iVar3 = 1;\n                if ((bool)(bVar1 ^ 1)) {\n                  (**(code **)(puVar23 + 0x1cbe04))(7);\n                  sVar14 = pIVar5->rows;\n                  if ((int)sVar14 < 0) {\n                    sVar14 = sVar14 + 0x3f;\n                  }\n                  iVar3 = (int)sVar14 >> 6;\n                  iVar13 = *(int *)(puVar23 + 0x1cb66c);\n                  if (extraout_v1_01 < iVar3) {\n                    pcVar24 = *(code **)(puVar23 + 0x1cbe04);\n                    goto LAB_001dd7c0;\n                  }\n                }\n                else {\n                  iVar13 = *(int *)(puVar23 + 0x1cb66c);\n                }\n              }\n              else {\n                uVar27 = (**(code **)(puVar23 + 0x1cbe04))(7);\n                if ((int)((ulonglong)uVar27 >> 0x20) == 0) {\n                  pcVar24 = *(code **)(puVar23 + 0x1cbe04);\n                  if (1 < (uint)uVar27) goto LAB_001dd5d4;\n                  uVar27 = (*pcVar24)(7);\n                  if ((int)((ulonglong)uVar27 >> 0x20) != 0) goto LAB_001dd5d0;\n                  pcVar24 = *(code **)(puVar23 + 0x1cbe04);\n                  if (1 < (uint)uVar27) goto LAB_001dd5d4;\n                  iVar3 = 1;\n                }\n                else {\nLAB_001dd5d0:\n                  pcVar24 = *(code **)(puVar23 + 0x1cbe04);\nLAB_001dd5d4:\n                  uVar27 = (*pcVar24)(7);\n                  if (((int)((ulonglong)uVar27 >> 0x20) == 0) &&\n                     (pcVar24 = *(code **)(puVar23 + 0x1cbe04), (uint)uVar27 < 2)) {\nLAB_001dd7c0:\n                    (*pcVar24)(7);\n                    iVar3 = extraout_v1_00;\n                  }\n                  else {\n                    iVar3 = 2;\n                  }\n                }\n                iVar13 = *(int *)(puVar23 + 0x1cb66c);\n              }\n              pIStack_f8 = (Image *)0x1;\n              puStack_f4 = &uStack_118;\n              puStack_110 = puVar12;\n              iStack_10c = iVar2;\n              pIStack_108 = pIVar4;\n              puStack_104 = puVar16;\n              pIStack_100 = pIVar5;\n              puStack_fc = unaff_s6;\n              (**(code **)(puVar23 + 0x1cbe60))(iVar13 + -0x43b4,&puStack_110,iVar3,0);\n              pIVar4 = pIStack_f8;\n              (**(code **)(puVar23 + 0x1cbbbc))(puVar16);\n              if (pIVar4 == (Image *)0x0) {\n                in_stack_00000018 = (Image *)(**(code **)(puVar23 + 0x1cbc14))(pIVar5);\n              }\n            }\n          }\n        }\n        unaff_s1 = pIVar4;\n        unaff_s3 = iVar2;\n        unaff_s5 = puVar16;\n        if (iStack_6c == *piVar21) {\n          return in_stack_00000018;\n        }\n        goto LAB_001dd890;\n      }\n      goto LAB_001dd8c0;\n    }\n  }\n  iVar13 = 0x23c;\n  pcVar24 = *(code **)(puVar23 + 0x1cc2d0);\n  iVar3 = *(int *)(puVar23 + 0x1cb5b4) + -0x12ec;\n  puVar15 = (undefined1 *)(*(int *)(puVar23 + 0x1cb5a8) + 0x1cac);\n  (*pcVar24)();\n  piVar8 = *(int **)(pcVar24 + 0x1cb928);\n  iStack_16c = *piVar8;\n  pIStack_168 = in_stack_00000018;\n  pIStack_164 = pIVar4;\n  puStack_160 = puVar12;\n  iStack_15c = iVar2;\n  piStack_158 = piVar21;\n  puStack_154 = puVar16;\n  puStack_150 = unaff_s6;\n  (**(code **)(pcVar24 + 0x1cbdcc))(auStack_1290,0,0x120);\n  auStack_1290[0] = *(undefined8 *)(*(int *)(pcVar24 + 0x1cafd8) + 0x1438);\n  uStack_1258 = auStack_1290[0];\n  uStack_1220 = auStack_1290[0];\n  uStack_11e8 = auStack_1290[0];\n  uStack_11b0 = auStack_1290[0];\n  uStack_1178 = auStack_1290[0];\n  if (puVar15 == (undefined1 *)0x0) {\n    pIVar4 = (Image *)(**(code **)(pcVar24 + 0x1cbd00))\n                                (*(int *)(pcVar24 + 0x1cafd8) + 0xdd0,\n                                 *(int *)(pcVar24 + 0x1cafe4) + -0x12ec,0x2f9,\n                                 *(int *)(pcVar24 + 0x1cafe4) + -0xf20);\n    return pIVar4;\n  }\n  iVar2 = *(int *)(pcVar24 + 0x1cafe4);\n  if (*(int *)(puVar15 + 0x336c) != -0x54535255) goto LAB_001ddf28;\n  if (*(int *)(puVar15 + 0x3350) != 0) {\n    (**(code **)(pcVar24 + 0x1cb8d8))\n              (0x8000,*(int *)(pcVar24 + 0x1cafe4) + -0x12ec,*(int *)(pcVar24 + 0x1cafe4) + -0xf34,\n               0x2fc,*(int *)(pcVar24 + 0x1cafdc) + -0x62ac,puVar15 + 0x340);\n  }\n  if (iVar13 == 0) {\n    pIVar4 = (Image *)(**(code **)(pcVar24 + 0x1cbd00))\n                                (*(int *)(pcVar24 + 0x1cafd8) + 0x1cac,\n                                 *(int *)(pcVar24 + 0x1cafe4) + -0x12ec,0x2fd,\n                                 *(int *)(pcVar24 + 0x1cafe4) + -0xf20);\n    return pIVar4;\n  }\n  if (*(int *)(iVar13 + 0x1c) != -0x54535255) {\n    pIVar4 = (Image *)(**(code **)(pcVar24 + 0x1cbd00))\n                                (*(int *)(pcVar24 + 0x1cafd8) + 0x294c,\n                                 *(int *)(pcVar24 + 0x1cafe4) + -0x12ec,0x2fe,\n                                 *(int *)(pcVar24 + 0x1cafe4) + -0xf20);\n    return pIVar4;\n  }\n  iVar20 = *(int *)(iVar3 + 8);\n  iVar2 = 0;\n  if (0 < iVar20) {\n    iVar17 = *(int *)(iVar3 + 4);\n    iVar19 = 0;\n    puVar18 = auStack_1290;\n    do {\n      if (0 < iVar17) {\n        iVar9 = 0;\n        do {\n          if ((iVar2 < 6) && (iVar9 < 6)) {\n            puVar18[iVar9] = *(undefined8 *)(*(int *)(iVar3 + 0x14) + (iVar19 + iVar9) * 8);\n          }\n          iVar9 = iVar9 + 1;\n        } while (iVar9 != iVar17);\n        iVar19 = iVar19 + iVar17;\n      }\n      iVar2 = iVar2 + 1;\n      puVar18 = puVar18 + 6;\n    } while (iVar2 != iVar20);\n  }\n  iVar2 = 1;\n  pIStack_12dc = (Image *)(**(code **)(pcVar24 + 0x1cbf28))(puVar15,0,0,1,iVar13);\n  if (pIStack_12dc != (Image *)0x0) {\n    iVar20 = (**(code **)(pcVar24 + 0x1cbf1c))(pIStack_12dc,1,iVar13);\n    if (iVar20 == 0) {\n      (**(code **)(pcVar24 + 0x1cb644))(pIStack_12dc);\n      pIStack_12dc = (Image *)0x0;\n    }\n    else {\n      if (*(int *)(puVar15 + 0x3350) != 0) {\n        iVar19 = *(int *)(pcVar24 + 0x1cafe4);\n        iVar17 = *(int *)(pcVar24 + 0x1cafe4);\n        (**(code **)(pcVar24 + 0x1cb8d8))\n                  (0x10000,iVar17 + -0x12ec,iVar19 + -0xf34,0x318,\n                   *(int *)(pcVar24 + 0x1cafe4) + -0x12d0);\n        puStack_12b4 = (undefined1 *)\n                       (**(code **)(pcVar24 + 0x1cbf0c))(*(int *)(pcVar24 + 0x1cafdc) + -0x3688);\n        iStack_12e4 = 0;\n        iVar2 = *(int *)(pcVar24 + 0x1cafdc);\n        iVar9 = *(int *)(pcVar24 + 0x1cafe0);\n        iVar20 = *(int *)(pcVar24 + 0x1cafdc);\n        do {\n          pcVar25 = *(code **)(pcVar24 + 0x1cb474);\n          iVar22 = 0;\n          *puStack_12b4 = 0;\n          (*pcVar25)(auStack_116c,0x1000,iVar20 + -0x66b8);\n          (**(code **)(pcVar24 + 0x1cbaa0))(&puStack_12b4,auStack_116c);\n          do {\n            iVar22 = iVar22 + 1;\n            (**(code **)(pcVar24 + 0x1cb474))(auStack_116c,0x1000,iVar9 + 0x4930);\n            (**(code **)(pcVar24 + 0x1cbaa0))(&puStack_12b4,auStack_116c);\n          } while (iVar22 != 6);\n          iStack_12e4 = iStack_12e4 + 1;\n          (**(code **)(pcVar24 + 0x1cb8d8))\n                    (0x10000,iVar17 + -0x12ec,iVar19 + -0xf34,0x326,iVar2 + -0x62ac,puStack_12b4);\n        } while (iStack_12e4 != 6);\n        (**(code **)(pcVar24 + 0x1cb76c))(puStack_12b4);\n      }\n      uStack_12bc = 0;\n      uStack_12c0 = 0;\n      uVar10 = (**(code **)(pcVar24 + 0x1cbe4c))(puVar15,iVar13);\n      uVar11 = (**(code **)(pcVar24 + 0x1cb5cc))(pIStack_12dc,iVar13);\n      iVar2 = (**(code **)(pcVar24 + 0x1cbbac))(puVar15);\n      if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar24 + 0x1cbbac))(puVar15), iVar2 == 3)) &&\n         ((iVar2 = (**(code **)(pcVar24 + 0x1cbbac))(pIStack_12dc), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar24 + 0x1cbbac))(pIStack_12dc), iVar2 == 3)))) {\n        (**(code **)(pcVar24 + 0x1cb834))(7);\n        iVar2 = *(int *)(puVar15 + 0x1c);\n        if (iVar2 < 0) {\n          pcVar25 = *(code **)(pcVar24 + 0x1cb834);\n          if (iVar2 + 0x3f >> 6 <= extraout_v1_03) goto LAB_001ddc6c;\nLAB_001dde94:\n          (*pcVar25)(7);\n          bVar1 = extraout_v1_05 < 2;\n        }\n        else {\n          pcVar25 = *(code **)(pcVar24 + 0x1cb834);\n          if (extraout_v1_03 < iVar2 >> 6) goto LAB_001dde94;\nLAB_001ddc6c:\n          bVar1 = iVar2 < 0x80;\n        }\n        iVar20 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar24 + 0x1cb834))(7);\n          iVar20 = *(int *)(puVar15 + 0x1c);\n          if (iVar20 < 0) {\n            iVar20 = iVar20 + 0x3f;\n          }\n          iVar20 = iVar20 >> 6;\n          if (extraout_v1_06 < iVar20) {\n            pcVar25 = *(code **)(pcVar24 + 0x1cb834);\n            goto LAB_001dde6c;\n          }\n        }\n      }\n      else {\n        uVar27 = (**(code **)(pcVar24 + 0x1cb834))(7);\n        if ((int)((ulonglong)uVar27 >> 0x20) == 0) {\n          pcVar25 = *(code **)(pcVar24 + 0x1cb834);\n          if ((uint)uVar27 < 2) {\n            uVar27 = (*pcVar25)(7);\n            if ((int)((ulonglong)uVar27 >> 0x20) != 0) goto LAB_001ddb28;\n            pcVar25 = *(code **)(pcVar24 + 0x1cb834);\n            if (1 < (uint)uVar27) goto LAB_001ddb2c;\n            iVar20 = 1;\n            goto LAB_001ddb44;\n          }\n        }\n        else {\nLAB_001ddb28:\n          pcVar25 = *(code **)(pcVar24 + 0x1cb834);\n        }\nLAB_001ddb2c:\n        uVar27 = (*pcVar25)(7);\n        if (((int)((ulonglong)uVar27 >> 0x20) == 0) &&\n           (pcVar25 = *(code **)(pcVar24 + 0x1cb834), (uint)uVar27 < 2)) {\nLAB_001dde6c:\n          (*pcVar25)(7);\n          iVar20 = extraout_v1_04;\n        }\n        else {\n          iVar20 = 2;\n        }\n      }\nLAB_001ddb44:\n      iVar2 = 0;\n      iStack_1298 = 1;\n      puStack_1294 = &uStack_12c0;\n      puStack_12b4 = puVar15;\n      iStack_12b0 = iVar3;\n      iStack_12ac = iVar13;\n      uStack_12a8 = uVar11;\n      uStack_12a4 = uVar10;\n      puStack_12a0 = auStack_1290;\n      pIStack_129c = pIStack_12dc;\n      (**(code **)(pcVar24 + 0x1cb890))\n                (*(int *)(pcVar24 + 0x1cb09c) + -0x71ec,&puStack_12b4,iVar20,0);\n      iVar3 = iStack_1298;\n      (**(code **)(pcVar24 + 0x1cb5ec))(uVar11);\n      (**(code **)(pcVar24 + 0x1cb5ec))(uVar10);\n      if (iVar3 == 0) {\n        pIStack_12dc = (Image *)(**(code **)(pcVar24 + 0x1cb644))(pIStack_12dc);\n      }\n    }\n  }\n  if (iStack_16c == *piVar8) {\n    return pIStack_12dc;\n  }\n  (**(code **)(pcVar24 + 0x1cb75c))();\nLAB_001ddf28:\n  pIVar4 = (Image *)(**(code **)(pcVar24 + 0x1cbd00))\n                              (*(int *)(pcVar24 + 0x1cafe0) + -0x3784,\n                               *(int *)(pcVar24 + 0x1cafe4) + -0x12ec,0x2fa,iVar2 + -0xf20);\n  return pIVar4;\n}\n\n" comment comment comment comment comment (function_definition "Image * CharcoalImage(Image *image,double radius,double sigma,ExceptionInfo *exception)\n\n{\n  bool bVar1;\n  int iVar2;\n  int iVar3;\n  Image *pIVar4;\n  Image *pIVar5;\n  uint uVar6;\n  size_t sVar7;\n  int *piVar8;\n  int iVar9;\n  undefined4 uVar10;\n  undefined4 uVar11;\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 extraout_v1_04;\n  int extraout_v1_05;\n  int extraout_v1_06;\n  undefined *puVar12;\n  int iVar13;\n  size_t sVar14;\n  undefined1 *puVar15;\n  undefined *puVar16;\n  int iVar17;\n  undefined8 *puVar18;\n  int iVar19;\n  int iVar20;\n  Image *unaff_s1;\n  undefined *unaff_s2;\n  int unaff_s3;\n  int *piVar21;\n  undefined *unaff_s5;\n  undefined1 *unaff_s6;\n  int iVar22;\n  undefined *puVar23;\n  code *pcVar24;\n  code *pcVar25;\n  double dVar26;\n  undefined8 uVar27;\n  Image *in_stack_00000018;\n  int iStack_12e4;\n  Image *pIStack_12dc;\n  undefined4 uStack_12c0;\n  undefined4 uStack_12bc;\n  undefined1 *puStack_12b4;\n  int iStack_12b0;\n  int iStack_12ac;\n  undefined4 uStack_12a8;\n  undefined4 uStack_12a4;\n  undefined8 *puStack_12a0;\n  Image *pIStack_129c;\n  int iStack_1298;\n  undefined4 *puStack_1294;\n  undefined8 auStack_1290 [7];\n  undefined8 uStack_1258;\n  undefined8 uStack_1220;\n  undefined8 uStack_11e8;\n  undefined8 uStack_11b0;\n  undefined8 uStack_1178;\n  undefined1 auStack_116c [4096];\n  int iStack_16c;\n  Image *pIStack_168;\n  Image *pIStack_164;\n  undefined *puStack_160;\n  int iStack_15c;\n  int *piStack_158;\n  undefined *puStack_154;\n  undefined1 *puStack_150;\n  undefined4 uStack_118;\n  undefined4 uStack_114;\n  undefined *puStack_110;\n  int iStack_10c;\n  Image *pIStack_108;\n  undefined *puStack_104;\n  Image *pIStack_100;\n  undefined1 *puStack_fc;\n  Image *pIStack_f8;\n  undefined4 *puStack_f4;\n  undefined8 uStack_f0;\n  undefined8 uStack_e8;\n  undefined8 uStack_e0;\n  undefined8 uStack_d8;\n  undefined8 uStack_d0;\n  undefined1 auStack_c8 [4];\n  int iStack_c4;\n  undefined8 uStack_a0;\n  undefined8 uStack_98;\n  undefined8 uStack_90;\n  undefined8 uStack_88;\n  undefined8 uStack_80;\n  int iStack_6c;\n  Image *pIStack_64;\n  \n  if (image == (Image *)0x0) {\nLAB_001dd2cc:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0xdd0,PTR_s_courses_003a88ec + -0x12ec,0x1da,\n               PTR_s_courses_003a88ec + -0xedc);\nLAB_001dd2f0:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x294c,PTR_s_courses_003a88ec + -0x12ec,0x1df,\n               PTR_s_courses_003a88ec + -0xedc);\n  }\n  else {\n    unaff_s1 = image;\n    if (image->signature != 0xabacadab) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                 PTR_s_courses_003a88ec + -0x12ec,0x1db,PTR_s_courses_003a88ec + -0xedc);\n      goto LAB_001dd2cc;\n    }\n    if (image->debug != MagickFalse) {\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_courses_003a88ec + -0x12ec,PTR_s_courses_003a88ec + -0xeec,0x1dd);\n    }\n    if (in_stack_00000018 != (Image *)0x0) {\n      if (in_stack_00000018->rows == 0xabacadab) {\n        iVar2 = (*(code *)PTR_EdgeImage_003a8dec)(image);\n        puVar12 = PTR_ClampImage_003a93c8;\n        if (iVar2 != 0) {\n          *(undefined4 *)(iVar2 + 700) = 0;\n          iVar3 = (*(code *)puVar12)(iVar2,in_stack_00000018);\n          if (iVar3 == 0) {\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n          }\n          else {\n            pIVar4 = (Image *)(*(code *)PTR_BlurImage_003a95c0)(iVar2);\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n            if (pIVar4 != (Image *)0x0) {\n              iVar2 = (*(code *)PTR_NormalizeImage_003a8f7c)(pIVar4,in_stack_00000018);\n              if (((iVar2 != 0) &&\n                  (iVar2 = (*(code *)PTR_NegateImage_003a985c)(pIVar4,0,in_stack_00000018),\n                  iVar2 != 0)) &&\n                 (iVar2 = (*(code *)PTR_GrayscaleImage_003a91cc)\n                                    (pIVar4,image->intensity,in_stack_00000018), iVar2 != 0)) {\n                return pIVar4;\n              }\n                    /* WARNING: Could not recover jumptable at 0x001dd244. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              pIVar4 = (Image *)(*(code *)PTR_DestroyImage_003a8f4c)(pIVar4);\n              return pIVar4;\n            }\n          }\n        }\n        return (Image *)0x0;\n      }\n      goto LAB_001dd2f0;\n    }\n  }\n  iVar2 = 0x1de;\n  pIVar4 = (Image *)(PTR_s_courses_003a88ec + -0xedc);\n  puVar16 = PTR_s_courses_003a88ec + -0x12ec;\n  puVar12 = PTR_LAB_003a88e0 + 0x1cac;\n  puVar23 = PTR___assert_fail_003a9608;\n  (*(code *)PTR___assert_fail_003a9608)();\n  piVar21 = *(int **)(puVar23 + 0x1cbef8);\n  iStack_6c = *piVar21;\n  pIStack_64 = unaff_s1;\n  if (puVar12 == (undefined *)0x0) {\n    (**(code **)(puVar23 + 0x1cc2d0))\n              (*(int *)(puVar23 + 0x1cb5b0) + -0x37b0,*(int *)(puVar23 + 0x1cb5b4) + -0x12ec,0x238,\n               *(int *)(puVar23 + 0x1cb5b4) + -0xefc);\n    puVar12 = unaff_s2;\nLAB_001dd890:\n    (**(code **)(puVar23 + 0x1cbd2c))();\nLAB_001dd89c:\n    puVar16 = unaff_s5;\n    iVar2 = unaff_s3;\n    pIVar4 = unaff_s1;\n    (**(code **)(puVar23 + 0x1cc2d0))\n              (*(int *)(puVar23 + 0x1cb5b0) + -0x3784,*(int *)(puVar23 + 0x1cb5b4) + -0x12ec,0x239,\n               *(int *)(puVar23 + 0x1cb5b4) + -0xefc);\nLAB_001dd8c0:\n    (**(code **)(puVar23 + 0x1cc2d0))\n              (*(int *)(puVar23 + 0x1cb5a8) + 0x294c,*(int *)(puVar23 + 0x1cb5b4) + -0x12ec,0x23d,\n               *(int *)(puVar23 + 0x1cb5b4) + -0xefc);\n  }\n  else {\n    if (*(int *)(puVar12 + 0x336c) != -0x54535255) goto LAB_001dd89c;\n    if (*(int *)(puVar12 + 0x3350) != 0) {\n      (**(code **)(puVar23 + 0x1cbea8))\n                (0x8000,*(int *)(puVar23 + 0x1cb5b4) + -0x12ec,*(int *)(puVar23 + 0x1cb5b4) + -0xf0c\n                 ,0x23b);\n    }\n    if (pIVar4 != (Image *)0x0) {\n      if (pIVar4->rows == 0xabacadab) {\n        pIVar5 = (Image *)(**(code **)(puVar23 + 0x1cc4f8))(puVar12,0,0,1);\n        in_stack_00000018 = pIVar5;\n        if (pIVar5 != (Image *)0x0) {\n          iVar3 = (**(code **)(puVar23 + 0x1cc4ec))(pIVar5,1,pIVar4);\n          if (iVar3 == 0) {\n            in_stack_00000018 = (Image *)0x0;\n            (**(code **)(puVar23 + 0x1cbc14))(pIVar5);\n          }\n          else {\n            if (pIVar5->colorspace == LinearGRAYColorspace) {\nLAB_001dd4b8:\n              pcVar24 = *(code **)(puVar23 + 0x1cba08);\nLAB_001dd4bc:\n              (*pcVar24)(pIVar5,0x17,pIVar4);\n            }\n            else {\n              pcVar24 = *(code **)(puVar23 + 0x1cba08);\n              if (pIVar5->colorspace == GRAYColorspace) goto LAB_001dd4bc;\n              dVar26 = *(double *)(iVar2 + 0x28) - *(double *)(iVar2 + 0x30);\n              if (dVar26 < 0.0) {\n                dVar26 = -dVar26;\n              }\n              if (dVar26 < *(double *)(*(int *)(puVar23 + 0x1cb5a8) + 0x13f8)) {\n                dVar26 = *(double *)(iVar2 + 0x30) - *(double *)(iVar2 + 0x38);\n                if (dVar26 < 0.0) {\n                  dVar26 = -dVar26;\n                }\n                if (dVar26 < *(double *)(*(int *)(puVar23 + 0x1cb5a8) + 0x13f8)) goto LAB_001dd4b8;\n              }\n            }\n            if ((pIVar5->alpha_trait == UndefinedPixelTrait) && (*(int *)(iVar2 + 8) != 0)) {\n              (**(code **)(puVar23 + 0x1cb940))\n                        (pIVar5,*(undefined4 *)(*(int *)(puVar23 + 0x1cb5a8) + 0x1a50),pIVar4);\n            }\n            if (puVar16 != (undefined *)0x0) {\n              unaff_s6 = auStack_c8;\n              (**(code **)(puVar23 + 0x1cbf7c))(pIVar5,unaff_s6);\n              uVar6 = (**(code **)(puVar23 + 0x1cc11c))(puVar16,&uStack_f0);\n              uStack_80 = 0;\n              uStack_a0 = uStack_f0;\n              uStack_98 = uStack_f0;\n              uStack_90 = uStack_f0;\n              uStack_88 = uStack_f0;\n              if ((uVar6 & 8) != 0) {\n                uStack_98 = uStack_e8;\n              }\n              if ((uVar6 & 1) != 0) {\n                uStack_90 = uStack_e0;\n              }\n              if ((uVar6 & 2) == 0) {\n                pcVar24 = *(code **)(puVar23 + 0x1cc41c);\n                uVar27 = uStack_88;\n                if (iStack_c4 == 2) goto LAB_001dd6b0;\n              }\n              else {\n                uStack_80 = uStack_d8;\n                uVar27 = uStack_d8;\n                if (iStack_c4 == 2) {\nLAB_001dd6b0:\n                  uStack_88 = uVar27;\n                  pcVar24 = *(code **)(puVar23 + 0x1cc41c);\n                  if ((uVar6 & 0x10) != 0) {\n                    uStack_80 = uStack_d0;\n                  }\n                }\n                else {\n                  pcVar24 = *(code **)(puVar23 + 0x1cc41c);\n                }\n              }\n              uStack_114 = 0;\n              uStack_118 = 0;\n              puVar16 = (undefined *)(*pcVar24)(pIVar5,pIVar4);\n              iVar3 = (**(code **)(puVar23 + 0x1cc17c))(pIVar5);\n              if (((iVar3 == 4) || (iVar3 = (**(code **)(puVar23 + 0x1cc17c))(pIVar5), iVar3 == 3))\n                 && ((iVar3 = (**(code **)(puVar23 + 0x1cc17c))(pIVar5), iVar3 == 4 ||\n                     (iVar3 = (**(code **)(puVar23 + 0x1cc17c))(pIVar5), iVar3 == 3)))) {\n                (**(code **)(puVar23 + 0x1cbe04))(7);\n                sVar7 = pIVar5->rows;\n                sVar14 = sVar7;\n                if ((int)sVar7 < 0) {\n                  sVar14 = sVar7 + 0x3f;\n                }\n                if (extraout_v1 < (int)sVar14 >> 6) {\n                  (**(code **)(puVar23 + 0x1cbe04))(7);\n                  bVar1 = extraout_v1_02 < 2;\n                }\n                else {\n                  bVar1 = (int)sVar7 < 0x80;\n                }\n                iVar3 = 1;\n                if ((bool)(bVar1 ^ 1)) {\n                  (**(code **)(puVar23 + 0x1cbe04))(7);\n                  sVar14 = pIVar5->rows;\n                  if ((int)sVar14 < 0) {\n                    sVar14 = sVar14 + 0x3f;\n                  }\n                  iVar3 = (int)sVar14 >> 6;\n                  iVar13 = *(int *)(puVar23 + 0x1cb66c);\n                  if (extraout_v1_01 < iVar3) {\n                    pcVar24 = *(code **)(puVar23 + 0x1cbe04);\n                    goto LAB_001dd7c0;\n                  }\n                }\n                else {\n                  iVar13 = *(int *)(puVar23 + 0x1cb66c);\n                }\n              }\n              else {\n                uVar27 = (**(code **)(puVar23 + 0x1cbe04))(7);\n                if ((int)((ulonglong)uVar27 >> 0x20) == 0) {\n                  pcVar24 = *(code **)(puVar23 + 0x1cbe04);\n                  if (1 < (uint)uVar27) goto LAB_001dd5d4;\n                  uVar27 = (*pcVar24)(7);\n                  if ((int)((ulonglong)uVar27 >> 0x20) != 0) goto LAB_001dd5d0;\n                  pcVar24 = *(code **)(puVar23 + 0x1cbe04);\n                  if (1 < (uint)uVar27) goto LAB_001dd5d4;\n                  iVar3 = 1;\n                }\n                else {\nLAB_001dd5d0:\n                  pcVar24 = *(code **)(puVar23 + 0x1cbe04);\nLAB_001dd5d4:\n                  uVar27 = (*pcVar24)(7);\n                  if (((int)((ulonglong)uVar27 >> 0x20) == 0) &&\n                     (pcVar24 = *(code **)(puVar23 + 0x1cbe04), (uint)uVar27 < 2)) {\nLAB_001dd7c0:\n                    (*pcVar24)(7);\n                    iVar3 = extraout_v1_00;\n                  }\n                  else {\n                    iVar3 = 2;\n                  }\n                }\n                iVar13 = *(int *)(puVar23 + 0x1cb66c);\n              }\n              pIStack_f8 = (Image *)0x1;\n              puStack_f4 = &uStack_118;\n              puStack_110 = puVar12;\n              iStack_10c = iVar2;\n              pIStack_108 = pIVar4;\n              puStack_104 = puVar16;\n              pIStack_100 = pIVar5;\n              puStack_fc = unaff_s6;\n              (**(code **)(puVar23 + 0x1cbe60))(iVar13 + -0x43b4,&puStack_110,iVar3,0);\n              pIVar4 = pIStack_f8;\n              (**(code **)(puVar23 + 0x1cbbbc))(puVar16);\n              if (pIVar4 == (Image *)0x0) {\n                in_stack_00000018 = (Image *)(**(code **)(puVar23 + 0x1cbc14))(pIVar5);\n              }\n            }\n          }\n        }\n        unaff_s1 = pIVar4;\n        unaff_s3 = iVar2;\n        unaff_s5 = puVar16;\n        if (iStack_6c == *piVar21) {\n          return in_stack_00000018;\n        }\n        goto LAB_001dd890;\n      }\n      goto LAB_001dd8c0;\n    }\n  }\n  iVar13 = 0x23c;\n  pcVar24 = *(code **)(puVar23 + 0x1cc2d0);\n  iVar3 = *(int *)(puVar23 + 0x1cb5b4) + -0x12ec;\n  puVar15 = (undefined1 *)(*(int *)(puVar23 + 0x1cb5a8) + 0x1cac);\n  (*pcVar24)();\n  piVar8 = *(int **)(pcVar24 + 0x1cb928);\n  iStack_16c = *piVar8;\n  pIStack_168 = in_stack_00000018;\n  pIStack_164 = pIVar4;\n  puStack_160 = puVar12;\n  iStack_15c = iVar2;\n  piStack_158 = piVar21;\n  puStack_154 = puVar16;\n  puStack_150 = unaff_s6;\n  (**(code **)(pcVar24 + 0x1cbdcc))(auStack_1290,0,0x120);\n  auStack_1290[0] = *(undefined8 *)(*(int *)(pcVar24 + 0x1cafd8) + 0x1438);\n  uStack_1258 = auStack_1290[0];\n  uStack_1220 = auStack_1290[0];\n  uStack_11e8 = auStack_1290[0];\n  uStack_11b0 = auStack_1290[0];\n  uStack_1178 = auStack_1290[0];\n  if (puVar15 == (undefined1 *)0x0) {\n    pIVar4 = (Image *)(**(code **)(pcVar24 + 0x1cbd00))\n                                (*(int *)(pcVar24 + 0x1cafd8) + 0xdd0,\n                                 *(int *)(pcVar24 + 0x1cafe4) + -0x12ec,0x2f9,\n                                 *(int *)(pcVar24 + 0x1cafe4) + -0xf20);\n    return pIVar4;\n  }\n  iVar2 = *(int *)(pcVar24 + 0x1cafe4);\n  if (*(int *)(puVar15 + 0x336c) != -0x54535255) goto LAB_001ddf28;\n  if (*(int *)(puVar15 + 0x3350) != 0) {\n    (**(code **)(pcVar24 + 0x1cb8d8))\n              (0x8000,*(int *)(pcVar24 + 0x1cafe4) + -0x12ec,*(int *)(pcVar24 + 0x1cafe4) + -0xf34,\n               0x2fc,*(int *)(pcVar24 + 0x1cafdc) + -0x62ac,puVar15 + 0x340);\n  }\n  if (iVar13 == 0) {\n    pIVar4 = (Image *)(**(code **)(pcVar24 + 0x1cbd00))\n                                (*(int *)(pcVar24 + 0x1cafd8) + 0x1cac,\n                                 *(int *)(pcVar24 + 0x1cafe4) + -0x12ec,0x2fd,\n                                 *(int *)(pcVar24 + 0x1cafe4) + -0xf20);\n    return pIVar4;\n  }\n  if (*(int *)(iVar13 + 0x1c) != -0x54535255) {\n    pIVar4 = (Image *)(**(code **)(pcVar24 + 0x1cbd00))\n                                (*(int *)(pcVar24 + 0x1cafd8) + 0x294c,\n                                 *(int *)(pcVar24 + 0x1cafe4) + -0x12ec,0x2fe,\n                                 *(int *)(pcVar24 + 0x1cafe4) + -0xf20);\n    return pIVar4;\n  }\n  iVar20 = *(int *)(iVar3 + 8);\n  iVar2 = 0;\n  if (0 < iVar20) {\n    iVar17 = *(int *)(iVar3 + 4);\n    iVar19 = 0;\n    puVar18 = auStack_1290;\n    do {\n      if (0 < iVar17) {\n        iVar9 = 0;\n        do {\n          if ((iVar2 < 6) && (iVar9 < 6)) {\n            puVar18[iVar9] = *(undefined8 *)(*(int *)(iVar3 + 0x14) + (iVar19 + iVar9) * 8);\n          }\n          iVar9 = iVar9 + 1;\n        } while (iVar9 != iVar17);\n        iVar19 = iVar19 + iVar17;\n      }\n      iVar2 = iVar2 + 1;\n      puVar18 = puVar18 + 6;\n    } while (iVar2 != iVar20);\n  }\n  iVar2 = 1;\n  pIStack_12dc = (Image *)(**(code **)(pcVar24 + 0x1cbf28))(puVar15,0,0,1,iVar13);\n  if (pIStack_12dc != (Image *)0x0) {\n    iVar20 = (**(code **)(pcVar24 + 0x1cbf1c))(pIStack_12dc,1,iVar13);\n    if (iVar20 == 0) {\n      (**(code **)(pcVar24 + 0x1cb644))(pIStack_12dc);\n      pIStack_12dc = (Image *)0x0;\n    }\n    else {\n      if (*(int *)(puVar15 + 0x3350) != 0) {\n        iVar19 = *(int *)(pcVar24 + 0x1cafe4);\n        iVar17 = *(int *)(pcVar24 + 0x1cafe4);\n        (**(code **)(pcVar24 + 0x1cb8d8))\n                  (0x10000,iVar17 + -0x12ec,iVar19 + -0xf34,0x318,\n                   *(int *)(pcVar24 + 0x1cafe4) + -0x12d0);\n        puStack_12b4 = (undefined1 *)\n                       (**(code **)(pcVar24 + 0x1cbf0c))(*(int *)(pcVar24 + 0x1cafdc) + -0x3688);\n        iStack_12e4 = 0;\n        iVar2 = *(int *)(pcVar24 + 0x1cafdc);\n        iVar9 = *(int *)(pcVar24 + 0x1cafe0);\n        iVar20 = *(int *)(pcVar24 + 0x1cafdc);\n        do {\n          pcVar25 = *(code **)(pcVar24 + 0x1cb474);\n          iVar22 = 0;\n          *puStack_12b4 = 0;\n          (*pcVar25)(auStack_116c,0x1000,iVar20 + -0x66b8);\n          (**(code **)(pcVar24 + 0x1cbaa0))(&puStack_12b4,auStack_116c);\n          do {\n            iVar22 = iVar22 + 1;\n            (**(code **)(pcVar24 + 0x1cb474))(auStack_116c,0x1000,iVar9 + 0x4930);\n            (**(code **)(pcVar24 + 0x1cbaa0))(&puStack_12b4,auStack_116c);\n          } while (iVar22 != 6);\n          iStack_12e4 = iStack_12e4 + 1;\n          (**(code **)(pcVar24 + 0x1cb8d8))\n                    (0x10000,iVar17 + -0x12ec,iVar19 + -0xf34,0x326,iVar2 + -0x62ac,puStack_12b4);\n        } while (iStack_12e4 != 6);\n        (**(code **)(pcVar24 + 0x1cb76c))(puStack_12b4);\n      }\n      uStack_12bc = 0;\n      uStack_12c0 = 0;\n      uVar10 = (**(code **)(pcVar24 + 0x1cbe4c))(puVar15,iVar13);\n      uVar11 = (**(code **)(pcVar24 + 0x1cb5cc))(pIStack_12dc,iVar13);\n      iVar2 = (**(code **)(pcVar24 + 0x1cbbac))(puVar15);\n      if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar24 + 0x1cbbac))(puVar15), iVar2 == 3)) &&\n         ((iVar2 = (**(code **)(pcVar24 + 0x1cbbac))(pIStack_12dc), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar24 + 0x1cbbac))(pIStack_12dc), iVar2 == 3)))) {\n        (**(code **)(pcVar24 + 0x1cb834))(7);\n        iVar2 = *(int *)(puVar15 + 0x1c);\n        if (iVar2 < 0) {\n          pcVar25 = *(code **)(pcVar24 + 0x1cb834);\n          if (iVar2 + 0x3f >> 6 <= extraout_v1_03) goto LAB_001ddc6c;\nLAB_001dde94:\n          (*pcVar25)(7);\n          bVar1 = extraout_v1_05 < 2;\n        }\n        else {\n          pcVar25 = *(code **)(pcVar24 + 0x1cb834);\n          if (extraout_v1_03 < iVar2 >> 6) goto LAB_001dde94;\nLAB_001ddc6c:\n          bVar1 = iVar2 < 0x80;\n        }\n        iVar20 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar24 + 0x1cb834))(7);\n          iVar20 = *(int *)(puVar15 + 0x1c);\n          if (iVar20 < 0) {\n            iVar20 = iVar20 + 0x3f;\n          }\n          iVar20 = iVar20 >> 6;\n          if (extraout_v1_06 < iVar20) {\n            pcVar25 = *(code **)(pcVar24 + 0x1cb834);\n            goto LAB_001dde6c;\n          }\n        }\n      }\n      else {\n        uVar27 = (**(code **)(pcVar24 + 0x1cb834))(7);\n        if ((int)((ulonglong)uVar27 >> 0x20) == 0) {\n          pcVar25 = *(code **)(pcVar24 + 0x1cb834);\n          if ((uint)uVar27 < 2) {\n            uVar27 = (*pcVar25)(7);\n            if ((int)((ulonglong)uVar27 >> 0x20) != 0) goto LAB_001ddb28;\n            pcVar25 = *(code **)(pcVar24 + 0x1cb834);\n            if (1 < (uint)uVar27) goto LAB_001ddb2c;\n            iVar20 = 1;\n            goto LAB_001ddb44;\n          }\n        }\n        else {\nLAB_001ddb28:\n          pcVar25 = *(code **)(pcVar24 + 0x1cb834);\n        }\nLAB_001ddb2c:\n        uVar27 = (*pcVar25)(7);\n        if (((int)((ulonglong)uVar27 >> 0x20) == 0) &&\n           (pcVar25 = *(code **)(pcVar24 + 0x1cb834), (uint)uVar27 < 2)) {\nLAB_001dde6c:\n          (*pcVar25)(7);\n          iVar20 = extraout_v1_04;\n        }\n        else {\n          iVar20 = 2;\n        }\n      }\nLAB_001ddb44:\n      iVar2 = 0;\n      iStack_1298 = 1;\n      puStack_1294 = &uStack_12c0;\n      puStack_12b4 = puVar15;\n      iStack_12b0 = iVar3;\n      iStack_12ac = iVar13;\n      uStack_12a8 = uVar11;\n      uStack_12a4 = uVar10;\n      puStack_12a0 = auStack_1290;\n      pIStack_129c = pIStack_12dc;\n      (**(code **)(pcVar24 + 0x1cb890))\n                (*(int *)(pcVar24 + 0x1cb09c) + -0x71ec,&puStack_12b4,iVar20,0);\n      iVar3 = iStack_1298;\n      (**(code **)(pcVar24 + 0x1cb5ec))(uVar11);\n      (**(code **)(pcVar24 + 0x1cb5ec))(uVar10);\n      if (iVar3 == 0) {\n        pIStack_12dc = (Image *)(**(code **)(pcVar24 + 0x1cb644))(pIStack_12dc);\n      }\n    }\n  }\n  if (iStack_16c == *piVar8) {\n    return pIStack_12dc;\n  }\n  (**(code **)(pcVar24 + 0x1cb75c))();\nLAB_001ddf28:\n  pIVar4 = (Image *)(**(code **)(pcVar24 + 0x1cbd00))\n                              (*(int *)(pcVar24 + 0x1cafe0) + -0x3784,\n                               *(int *)(pcVar24 + 0x1cafe4) + -0x12ec,0x2fa,iVar2 + -0xf20);\n  return pIVar4;\n}" type_identifier (pointer_declarator "* CharcoalImage(Image *image,double radius,double sigma,ExceptionInfo *exception)" * (function_declarator "CharcoalImage(Image *image,double radius,double sigma,ExceptionInfo *exception)" identifier (parameter_list "(Image *image,double radius,double sigma,ExceptionInfo *exception)" ( (parameter_declaration "Image *image" type_identifier (pointer_declarator "*image" * identifier)) , (parameter_declaration "double radius" primitive_type identifier) , (parameter_declaration "double sigma" primitive_type identifier) , (parameter_declaration "ExceptionInfo *exception" type_identifier (pointer_declarator "*exception" * identifier)) )))) (compound_statement "{\n  bool bVar1;\n  int iVar2;\n  int iVar3;\n  Image *pIVar4;\n  Image *pIVar5;\n  uint uVar6;\n  size_t sVar7;\n  int *piVar8;\n  int iVar9;\n  undefined4 uVar10;\n  undefined4 uVar11;\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 extraout_v1_04;\n  int extraout_v1_05;\n  int extraout_v1_06;\n  undefined *puVar12;\n  int iVar13;\n  size_t sVar14;\n  undefined1 *puVar15;\n  undefined *puVar16;\n  int iVar17;\n  undefined8 *puVar18;\n  int iVar19;\n  int iVar20;\n  Image *unaff_s1;\n  undefined *unaff_s2;\n  int unaff_s3;\n  int *piVar21;\n  undefined *unaff_s5;\n  undefined1 *unaff_s6;\n  int iVar22;\n  undefined *puVar23;\n  code *pcVar24;\n  code *pcVar25;\n  double dVar26;\n  undefined8 uVar27;\n  Image *in_stack_00000018;\n  int iStack_12e4;\n  Image *pIStack_12dc;\n  undefined4 uStack_12c0;\n  undefined4 uStack_12bc;\n  undefined1 *puStack_12b4;\n  int iStack_12b0;\n  int iStack_12ac;\n  undefined4 uStack_12a8;\n  undefined4 uStack_12a4;\n  undefined8 *puStack_12a0;\n  Image *pIStack_129c;\n  int iStack_1298;\n  undefined4 *puStack_1294;\n  undefined8 auStack_1290 [7];\n  undefined8 uStack_1258;\n  undefined8 uStack_1220;\n  undefined8 uStack_11e8;\n  undefined8 uStack_11b0;\n  undefined8 uStack_1178;\n  undefined1 auStack_116c [4096];\n  int iStack_16c;\n  Image *pIStack_168;\n  Image *pIStack_164;\n  undefined *puStack_160;\n  int iStack_15c;\n  int *piStack_158;\n  undefined *puStack_154;\n  undefined1 *puStack_150;\n  undefined4 uStack_118;\n  undefined4 uStack_114;\n  undefined *puStack_110;\n  int iStack_10c;\n  Image *pIStack_108;\n  undefined *puStack_104;\n  Image *pIStack_100;\n  undefined1 *puStack_fc;\n  Image *pIStack_f8;\n  undefined4 *puStack_f4;\n  undefined8 uStack_f0;\n  undefined8 uStack_e8;\n  undefined8 uStack_e0;\n  undefined8 uStack_d8;\n  undefined8 uStack_d0;\n  undefined1 auStack_c8 [4];\n  int iStack_c4;\n  undefined8 uStack_a0;\n  undefined8 uStack_98;\n  undefined8 uStack_90;\n  undefined8 uStack_88;\n  undefined8 uStack_80;\n  int iStack_6c;\n  Image *pIStack_64;\n  \n  if (image == (Image *)0x0) {\nLAB_001dd2cc:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0xdd0,PTR_s_courses_003a88ec + -0x12ec,0x1da,\n               PTR_s_courses_003a88ec + -0xedc);\nLAB_001dd2f0:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x294c,PTR_s_courses_003a88ec + -0x12ec,0x1df,\n               PTR_s_courses_003a88ec + -0xedc);\n  }\n  else {\n    unaff_s1 = image;\n    if (image->signature != 0xabacadab) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                 PTR_s_courses_003a88ec + -0x12ec,0x1db,PTR_s_courses_003a88ec + -0xedc);\n      goto LAB_001dd2cc;\n    }\n    if (image->debug != MagickFalse) {\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_courses_003a88ec + -0x12ec,PTR_s_courses_003a88ec + -0xeec,0x1dd);\n    }\n    if (in_stack_00000018 != (Image *)0x0) {\n      if (in_stack_00000018->rows == 0xabacadab) {\n        iVar2 = (*(code *)PTR_EdgeImage_003a8dec)(image);\n        puVar12 = PTR_ClampImage_003a93c8;\n        if (iVar2 != 0) {\n          *(undefined4 *)(iVar2 + 700) = 0;\n          iVar3 = (*(code *)puVar12)(iVar2,in_stack_00000018);\n          if (iVar3 == 0) {\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n          }\n          else {\n            pIVar4 = (Image *)(*(code *)PTR_BlurImage_003a95c0)(iVar2);\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n            if (pIVar4 != (Image *)0x0) {\n              iVar2 = (*(code *)PTR_NormalizeImage_003a8f7c)(pIVar4,in_stack_00000018);\n              if (((iVar2 != 0) &&\n                  (iVar2 = (*(code *)PTR_NegateImage_003a985c)(pIVar4,0,in_stack_00000018),\n                  iVar2 != 0)) &&\n                 (iVar2 = (*(code *)PTR_GrayscaleImage_003a91cc)\n                                    (pIVar4,image->intensity,in_stack_00000018), iVar2 != 0)) {\n                return pIVar4;\n              }\n                    /* WARNING: Could not recover jumptable at 0x001dd244. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              pIVar4 = (Image *)(*(code *)PTR_DestroyImage_003a8f4c)(pIVar4);\n              return pIVar4;\n            }\n          }\n        }\n        return (Image *)0x0;\n      }\n      goto LAB_001dd2f0;\n    }\n  }\n  iVar2 = 0x1de;\n  pIVar4 = (Image *)(PTR_s_courses_003a88ec + -0xedc);\n  puVar16 = PTR_s_courses_003a88ec + -0x12ec;\n  puVar12 = PTR_LAB_003a88e0 + 0x1cac;\n  puVar23 = PTR___assert_fail_003a9608;\n  (*(code *)PTR___assert_fail_003a9608)();\n  piVar21 = *(int **)(puVar23 + 0x1cbef8);\n  iStack_6c = *piVar21;\n  pIStack_64 = unaff_s1;\n  if (puVar12 == (undefined *)0x0) {\n    (**(code **)(puVar23 + 0x1cc2d0))\n              (*(int *)(puVar23 + 0x1cb5b0) + -0x37b0,*(int *)(puVar23 + 0x1cb5b4) + -0x12ec,0x238,\n               *(int *)(puVar23 + 0x1cb5b4) + -0xefc);\n    puVar12 = unaff_s2;\nLAB_001dd890:\n    (**(code **)(puVar23 + 0x1cbd2c))();\nLAB_001dd89c:\n    puVar16 = unaff_s5;\n    iVar2 = unaff_s3;\n    pIVar4 = unaff_s1;\n    (**(code **)(puVar23 + 0x1cc2d0))\n              (*(int *)(puVar23 + 0x1cb5b0) + -0x3784,*(int *)(puVar23 + 0x1cb5b4) + -0x12ec,0x239,\n               *(int *)(puVar23 + 0x1cb5b4) + -0xefc);\nLAB_001dd8c0:\n    (**(code **)(puVar23 + 0x1cc2d0))\n              (*(int *)(puVar23 + 0x1cb5a8) + 0x294c,*(int *)(puVar23 + 0x1cb5b4) + -0x12ec,0x23d,\n               *(int *)(puVar23 + 0x1cb5b4) + -0xefc);\n  }\n  else {\n    if (*(int *)(puVar12 + 0x336c) != -0x54535255) goto LAB_001dd89c;\n    if (*(int *)(puVar12 + 0x3350) != 0) {\n      (**(code **)(puVar23 + 0x1cbea8))\n                (0x8000,*(int *)(puVar23 + 0x1cb5b4) + -0x12ec,*(int *)(puVar23 + 0x1cb5b4) + -0xf0c\n                 ,0x23b);\n    }\n    if (pIVar4 != (Image *)0x0) {\n      if (pIVar4->rows == 0xabacadab) {\n        pIVar5 = (Image *)(**(code **)(puVar23 + 0x1cc4f8))(puVar12,0,0,1);\n        in_stack_00000018 = pIVar5;\n        if (pIVar5 != (Image *)0x0) {\n          iVar3 = (**(code **)(puVar23 + 0x1cc4ec))(pIVar5,1,pIVar4);\n          if (iVar3 == 0) {\n            in_stack_00000018 = (Image *)0x0;\n            (**(code **)(puVar23 + 0x1cbc14))(pIVar5);\n          }\n          else {\n            if (pIVar5->colorspace == LinearGRAYColorspace) {\nLAB_001dd4b8:\n              pcVar24 = *(code **)(puVar23 + 0x1cba08);\nLAB_001dd4bc:\n              (*pcVar24)(pIVar5,0x17,pIVar4);\n            }\n            else {\n              pcVar24 = *(code **)(puVar23 + 0x1cba08);\n              if (pIVar5->colorspace == GRAYColorspace) goto LAB_001dd4bc;\n              dVar26 = *(double *)(iVar2 + 0x28) - *(double *)(iVar2 + 0x30);\n              if (dVar26 < 0.0) {\n                dVar26 = -dVar26;\n              }\n              if (dVar26 < *(double *)(*(int *)(puVar23 + 0x1cb5a8) + 0x13f8)) {\n                dVar26 = *(double *)(iVar2 + 0x30) - *(double *)(iVar2 + 0x38);\n                if (dVar26 < 0.0) {\n                  dVar26 = -dVar26;\n                }\n                if (dVar26 < *(double *)(*(int *)(puVar23 + 0x1cb5a8) + 0x13f8)) goto LAB_001dd4b8;\n              }\n            }\n            if ((pIVar5->alpha_trait == UndefinedPixelTrait) && (*(int *)(iVar2 + 8) != 0)) {\n              (**(code **)(puVar23 + 0x1cb940))\n                        (pIVar5,*(undefined4 *)(*(int *)(puVar23 + 0x1cb5a8) + 0x1a50),pIVar4);\n            }\n            if (puVar16 != (undefined *)0x0) {\n              unaff_s6 = auStack_c8;\n              (**(code **)(puVar23 + 0x1cbf7c))(pIVar5,unaff_s6);\n              uVar6 = (**(code **)(puVar23 + 0x1cc11c))(puVar16,&uStack_f0);\n              uStack_80 = 0;\n              uStack_a0 = uStack_f0;\n              uStack_98 = uStack_f0;\n              uStack_90 = uStack_f0;\n              uStack_88 = uStack_f0;\n              if ((uVar6 & 8) != 0) {\n                uStack_98 = uStack_e8;\n              }\n              if ((uVar6 & 1) != 0) {\n                uStack_90 = uStack_e0;\n              }\n              if ((uVar6 & 2) == 0) {\n                pcVar24 = *(code **)(puVar23 + 0x1cc41c);\n                uVar27 = uStack_88;\n                if (iStack_c4 == 2) goto LAB_001dd6b0;\n              }\n              else {\n                uStack_80 = uStack_d8;\n                uVar27 = uStack_d8;\n                if (iStack_c4 == 2) {\nLAB_001dd6b0:\n                  uStack_88 = uVar27;\n                  pcVar24 = *(code **)(puVar23 + 0x1cc41c);\n                  if ((uVar6 & 0x10) != 0) {\n                    uStack_80 = uStack_d0;\n                  }\n                }\n                else {\n                  pcVar24 = *(code **)(puVar23 + 0x1cc41c);\n                }\n              }\n              uStack_114 = 0;\n              uStack_118 = 0;\n              puVar16 = (undefined *)(*pcVar24)(pIVar5,pIVar4);\n              iVar3 = (**(code **)(puVar23 + 0x1cc17c))(pIVar5);\n              if (((iVar3 == 4) || (iVar3 = (**(code **)(puVar23 + 0x1cc17c))(pIVar5), iVar3 == 3))\n                 && ((iVar3 = (**(code **)(puVar23 + 0x1cc17c))(pIVar5), iVar3 == 4 ||\n                     (iVar3 = (**(code **)(puVar23 + 0x1cc17c))(pIVar5), iVar3 == 3)))) {\n                (**(code **)(puVar23 + 0x1cbe04))(7);\n                sVar7 = pIVar5->rows;\n                sVar14 = sVar7;\n                if ((int)sVar7 < 0) {\n                  sVar14 = sVar7 + 0x3f;\n                }\n                if (extraout_v1 < (int)sVar14 >> 6) {\n                  (**(code **)(puVar23 + 0x1cbe04))(7);\n                  bVar1 = extraout_v1_02 < 2;\n                }\n                else {\n                  bVar1 = (int)sVar7 < 0x80;\n                }\n                iVar3 = 1;\n                if ((bool)(bVar1 ^ 1)) {\n                  (**(code **)(puVar23 + 0x1cbe04))(7);\n                  sVar14 = pIVar5->rows;\n                  if ((int)sVar14 < 0) {\n                    sVar14 = sVar14 + 0x3f;\n                  }\n                  iVar3 = (int)sVar14 >> 6;\n                  iVar13 = *(int *)(puVar23 + 0x1cb66c);\n                  if (extraout_v1_01 < iVar3) {\n                    pcVar24 = *(code **)(puVar23 + 0x1cbe04);\n                    goto LAB_001dd7c0;\n                  }\n                }\n                else {\n                  iVar13 = *(int *)(puVar23 + 0x1cb66c);\n                }\n              }\n              else {\n                uVar27 = (**(code **)(puVar23 + 0x1cbe04))(7);\n                if ((int)((ulonglong)uVar27 >> 0x20) == 0) {\n                  pcVar24 = *(code **)(puVar23 + 0x1cbe04);\n                  if (1 < (uint)uVar27) goto LAB_001dd5d4;\n                  uVar27 = (*pcVar24)(7);\n                  if ((int)((ulonglong)uVar27 >> 0x20) != 0) goto LAB_001dd5d0;\n                  pcVar24 = *(code **)(puVar23 + 0x1cbe04);\n                  if (1 < (uint)uVar27) goto LAB_001dd5d4;\n                  iVar3 = 1;\n                }\n                else {\nLAB_001dd5d0:\n                  pcVar24 = *(code **)(puVar23 + 0x1cbe04);\nLAB_001dd5d4:\n                  uVar27 = (*pcVar24)(7);\n                  if (((int)((ulonglong)uVar27 >> 0x20) == 0) &&\n                     (pcVar24 = *(code **)(puVar23 + 0x1cbe04), (uint)uVar27 < 2)) {\nLAB_001dd7c0:\n                    (*pcVar24)(7);\n                    iVar3 = extraout_v1_00;\n                  }\n                  else {\n                    iVar3 = 2;\n                  }\n                }\n                iVar13 = *(int *)(puVar23 + 0x1cb66c);\n              }\n              pIStack_f8 = (Image *)0x1;\n              puStack_f4 = &uStack_118;\n              puStack_110 = puVar12;\n              iStack_10c = iVar2;\n              pIStack_108 = pIVar4;\n              puStack_104 = puVar16;\n              pIStack_100 = pIVar5;\n              puStack_fc = unaff_s6;\n              (**(code **)(puVar23 + 0x1cbe60))(iVar13 + -0x43b4,&puStack_110,iVar3,0);\n              pIVar4 = pIStack_f8;\n              (**(code **)(puVar23 + 0x1cbbbc))(puVar16);\n              if (pIVar4 == (Image *)0x0) {\n                in_stack_00000018 = (Image *)(**(code **)(puVar23 + 0x1cbc14))(pIVar5);\n              }\n            }\n          }\n        }\n        unaff_s1 = pIVar4;\n        unaff_s3 = iVar2;\n        unaff_s5 = puVar16;\n        if (iStack_6c == *piVar21) {\n          return in_stack_00000018;\n        }\n        goto LAB_001dd890;\n      }\n      goto LAB_001dd8c0;\n    }\n  }\n  iVar13 = 0x23c;\n  pcVar24 = *(code **)(puVar23 + 0x1cc2d0);\n  iVar3 = *(int *)(puVar23 + 0x1cb5b4) + -0x12ec;\n  puVar15 = (undefined1 *)(*(int *)(puVar23 + 0x1cb5a8) + 0x1cac);\n  (*pcVar24)();\n  piVar8 = *(int **)(pcVar24 + 0x1cb928);\n  iStack_16c = *piVar8;\n  pIStack_168 = in_stack_00000018;\n  pIStack_164 = pIVar4;\n  puStack_160 = puVar12;\n  iStack_15c = iVar2;\n  piStack_158 = piVar21;\n  puStack_154 = puVar16;\n  puStack_150 = unaff_s6;\n  (**(code **)(pcVar24 + 0x1cbdcc))(auStack_1290,0,0x120);\n  auStack_1290[0] = *(undefined8 *)(*(int *)(pcVar24 + 0x1cafd8) + 0x1438);\n  uStack_1258 = auStack_1290[0];\n  uStack_1220 = auStack_1290[0];\n  uStack_11e8 = auStack_1290[0];\n  uStack_11b0 = auStack_1290[0];\n  uStack_1178 = auStack_1290[0];\n  if (puVar15 == (undefined1 *)0x0) {\n    pIVar4 = (Image *)(**(code **)(pcVar24 + 0x1cbd00))\n                                (*(int *)(pcVar24 + 0x1cafd8) + 0xdd0,\n                                 *(int *)(pcVar24 + 0x1cafe4) + -0x12ec,0x2f9,\n                                 *(int *)(pcVar24 + 0x1cafe4) + -0xf20);\n    return pIVar4;\n  }\n  iVar2 = *(int *)(pcVar24 + 0x1cafe4);\n  if (*(int *)(puVar15 + 0x336c) != -0x54535255) goto LAB_001ddf28;\n  if (*(int *)(puVar15 + 0x3350) != 0) {\n    (**(code **)(pcVar24 + 0x1cb8d8))\n              (0x8000,*(int *)(pcVar24 + 0x1cafe4) + -0x12ec,*(int *)(pcVar24 + 0x1cafe4) + -0xf34,\n               0x2fc,*(int *)(pcVar24 + 0x1cafdc) + -0x62ac,puVar15 + 0x340);\n  }\n  if (iVar13 == 0) {\n    pIVar4 = (Image *)(**(code **)(pcVar24 + 0x1cbd00))\n                                (*(int *)(pcVar24 + 0x1cafd8) + 0x1cac,\n                                 *(int *)(pcVar24 + 0x1cafe4) + -0x12ec,0x2fd,\n                                 *(int *)(pcVar24 + 0x1cafe4) + -0xf20);\n    return pIVar4;\n  }\n  if (*(int *)(iVar13 + 0x1c) != -0x54535255) {\n    pIVar4 = (Image *)(**(code **)(pcVar24 + 0x1cbd00))\n                                (*(int *)(pcVar24 + 0x1cafd8) + 0x294c,\n                                 *(int *)(pcVar24 + 0x1cafe4) + -0x12ec,0x2fe,\n                                 *(int *)(pcVar24 + 0x1cafe4) + -0xf20);\n    return pIVar4;\n  }\n  iVar20 = *(int *)(iVar3 + 8);\n  iVar2 = 0;\n  if (0 < iVar20) {\n    iVar17 = *(int *)(iVar3 + 4);\n    iVar19 = 0;\n    puVar18 = auStack_1290;\n    do {\n      if (0 < iVar17) {\n        iVar9 = 0;\n        do {\n          if ((iVar2 < 6) && (iVar9 < 6)) {\n            puVar18[iVar9] = *(undefined8 *)(*(int *)(iVar3 + 0x14) + (iVar19 + iVar9) * 8);\n          }\n          iVar9 = iVar9 + 1;\n        } while (iVar9 != iVar17);\n        iVar19 = iVar19 + iVar17;\n      }\n      iVar2 = iVar2 + 1;\n      puVar18 = puVar18 + 6;\n    } while (iVar2 != iVar20);\n  }\n  iVar2 = 1;\n  pIStack_12dc = (Image *)(**(code **)(pcVar24 + 0x1cbf28))(puVar15,0,0,1,iVar13);\n  if (pIStack_12dc != (Image *)0x0) {\n    iVar20 = (**(code **)(pcVar24 + 0x1cbf1c))(pIStack_12dc,1,iVar13);\n    if (iVar20 == 0) {\n      (**(code **)(pcVar24 + 0x1cb644))(pIStack_12dc);\n      pIStack_12dc = (Image *)0x0;\n    }\n    else {\n      if (*(int *)(puVar15 + 0x3350) != 0) {\n        iVar19 = *(int *)(pcVar24 + 0x1cafe4);\n        iVar17 = *(int *)(pcVar24 + 0x1cafe4);\n        (**(code **)(pcVar24 + 0x1cb8d8))\n                  (0x10000,iVar17 + -0x12ec,iVar19 + -0xf34,0x318,\n                   *(int *)(pcVar24 + 0x1cafe4) + -0x12d0);\n        puStack_12b4 = (undefined1 *)\n                       (**(code **)(pcVar24 + 0x1cbf0c))(*(int *)(pcVar24 + 0x1cafdc) + -0x3688);\n        iStack_12e4 = 0;\n        iVar2 = *(int *)(pcVar24 + 0x1cafdc);\n        iVar9 = *(int *)(pcVar24 + 0x1cafe0);\n        iVar20 = *(int *)(pcVar24 + 0x1cafdc);\n        do {\n          pcVar25 = *(code **)(pcVar24 + 0x1cb474);\n          iVar22 = 0;\n          *puStack_12b4 = 0;\n          (*pcVar25)(auStack_116c,0x1000,iVar20 + -0x66b8);\n          (**(code **)(pcVar24 + 0x1cbaa0))(&puStack_12b4,auStack_116c);\n          do {\n            iVar22 = iVar22 + 1;\n            (**(code **)(pcVar24 + 0x1cb474))(auStack_116c,0x1000,iVar9 + 0x4930);\n            (**(code **)(pcVar24 + 0x1cbaa0))(&puStack_12b4,auStack_116c);\n          } while (iVar22 != 6);\n          iStack_12e4 = iStack_12e4 + 1;\n          (**(code **)(pcVar24 + 0x1cb8d8))\n                    (0x10000,iVar17 + -0x12ec,iVar19 + -0xf34,0x326,iVar2 + -0x62ac,puStack_12b4);\n        } while (iStack_12e4 != 6);\n        (**(code **)(pcVar24 + 0x1cb76c))(puStack_12b4);\n      }\n      uStack_12bc = 0;\n      uStack_12c0 = 0;\n      uVar10 = (**(code **)(pcVar24 + 0x1cbe4c))(puVar15,iVar13);\n      uVar11 = (**(code **)(pcVar24 + 0x1cb5cc))(pIStack_12dc,iVar13);\n      iVar2 = (**(code **)(pcVar24 + 0x1cbbac))(puVar15);\n      if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar24 + 0x1cbbac))(puVar15), iVar2 == 3)) &&\n         ((iVar2 = (**(code **)(pcVar24 + 0x1cbbac))(pIStack_12dc), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar24 + 0x1cbbac))(pIStack_12dc), iVar2 == 3)))) {\n        (**(code **)(pcVar24 + 0x1cb834))(7);\n        iVar2 = *(int *)(puVar15 + 0x1c);\n        if (iVar2 < 0) {\n          pcVar25 = *(code **)(pcVar24 + 0x1cb834);\n          if (iVar2 + 0x3f >> 6 <= extraout_v1_03) goto LAB_001ddc6c;\nLAB_001dde94:\n          (*pcVar25)(7);\n          bVar1 = extraout_v1_05 < 2;\n        }\n        else {\n          pcVar25 = *(code **)(pcVar24 + 0x1cb834);\n          if (extraout_v1_03 < iVar2 >> 6) goto LAB_001dde94;\nLAB_001ddc6c:\n          bVar1 = iVar2 < 0x80;\n        }\n        iVar20 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar24 + 0x1cb834))(7);\n          iVar20 = *(int *)(puVar15 + 0x1c);\n          if (iVar20 < 0) {\n            iVar20 = iVar20 + 0x3f;\n          }\n          iVar20 = iVar20 >> 6;\n          if (extraout_v1_06 < iVar20) {\n            pcVar25 = *(code **)(pcVar24 + 0x1cb834);\n            goto LAB_001dde6c;\n          }\n        }\n      }\n      else {\n        uVar27 = (**(code **)(pcVar24 + 0x1cb834))(7);\n        if ((int)((ulonglong)uVar27 >> 0x20) == 0) {\n          pcVar25 = *(code **)(pcVar24 + 0x1cb834);\n          if ((uint)uVar27 < 2) {\n            uVar27 = (*pcVar25)(7);\n            if ((int)((ulonglong)uVar27 >> 0x20) != 0) goto LAB_001ddb28;\n            pcVar25 = *(code **)(pcVar24 + 0x1cb834);\n            if (1 < (uint)uVar27) goto LAB_001ddb2c;\n            iVar20 = 1;\n            goto LAB_001ddb44;\n          }\n        }\n        else {\nLAB_001ddb28:\n          pcVar25 = *(code **)(pcVar24 + 0x1cb834);\n        }\nLAB_001ddb2c:\n        uVar27 = (*pcVar25)(7);\n        if (((int)((ulonglong)uVar27 >> 0x20) == 0) &&\n           (pcVar25 = *(code **)(pcVar24 + 0x1cb834), (uint)uVar27 < 2)) {\nLAB_001dde6c:\n          (*pcVar25)(7);\n          iVar20 = extraout_v1_04;\n        }\n        else {\n          iVar20 = 2;\n        }\n      }\nLAB_001ddb44:\n      iVar2 = 0;\n      iStack_1298 = 1;\n      puStack_1294 = &uStack_12c0;\n      puStack_12b4 = puVar15;\n      iStack_12b0 = iVar3;\n      iStack_12ac = iVar13;\n      uStack_12a8 = uVar11;\n      uStack_12a4 = uVar10;\n      puStack_12a0 = auStack_1290;\n      pIStack_129c = pIStack_12dc;\n      (**(code **)(pcVar24 + 0x1cb890))\n                (*(int *)(pcVar24 + 0x1cb09c) + -0x71ec,&puStack_12b4,iVar20,0);\n      iVar3 = iStack_1298;\n      (**(code **)(pcVar24 + 0x1cb5ec))(uVar11);\n      (**(code **)(pcVar24 + 0x1cb5ec))(uVar10);\n      if (iVar3 == 0) {\n        pIStack_12dc = (Image *)(**(code **)(pcVar24 + 0x1cb644))(pIStack_12dc);\n      }\n    }\n  }\n  if (iStack_16c == *piVar8) {\n    return pIStack_12dc;\n  }\n  (**(code **)(pcVar24 + 0x1cb75c))();\nLAB_001ddf28:\n  pIVar4 = (Image *)(**(code **)(pcVar24 + 0x1cbd00))\n                              (*(int *)(pcVar24 + 0x1cafe0) + -0x3784,\n                               *(int *)(pcVar24 + 0x1cafe4) + -0x12ec,0x2fa,iVar2 + -0xf20);\n  return pIVar4;\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "Image *pIVar4;" type_identifier (pointer_declarator "*pIVar4" * identifier) ;) (declaration "Image *pIVar5;" type_identifier (pointer_declarator "*pIVar5" * identifier) ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "size_t sVar7;" primitive_type identifier ;) (declaration "int *piVar8;" primitive_type (pointer_declarator "*piVar8" * identifier) ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "undefined4 uVar10;" type_identifier identifier ;) (declaration "undefined4 uVar11;" type_identifier 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 extraout_v1_04;" primitive_type identifier ;) (declaration "int extraout_v1_05;" primitive_type identifier ;) (declaration "int extraout_v1_06;" primitive_type identifier ;) (declaration "undefined *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "size_t sVar14;" primitive_type identifier ;) (declaration "undefined1 *puVar15;" type_identifier (pointer_declarator "*puVar15" * identifier) ;) (declaration "undefined *puVar16;" type_identifier (pointer_declarator "*puVar16" * identifier) ;) (declaration "int iVar17;" primitive_type identifier ;) (declaration "undefined8 *puVar18;" type_identifier (pointer_declarator "*puVar18" * identifier) ;) (declaration "int iVar19;" primitive_type identifier ;) (declaration "int iVar20;" primitive_type identifier ;) (declaration "Image *unaff_s1;" type_identifier (pointer_declarator "*unaff_s1" * identifier) ;) (declaration "undefined *unaff_s2;" type_identifier (pointer_declarator "*unaff_s2" * identifier) ;) (declaration "int unaff_s3;" primitive_type identifier ;) (declaration "int *piVar21;" primitive_type (pointer_declarator "*piVar21" * identifier) ;) (declaration "undefined *unaff_s5;" type_identifier (pointer_declarator "*unaff_s5" * identifier) ;) (declaration "undefined1 *unaff_s6;" type_identifier (pointer_declarator "*unaff_s6" * identifier) ;) (declaration "int iVar22;" primitive_type identifier ;) (declaration "undefined *puVar23;" type_identifier (pointer_declarator "*puVar23" * identifier) ;) (declaration "code *pcVar24;" type_identifier (pointer_declarator "*pcVar24" * identifier) ;) (declaration "code *pcVar25;" type_identifier (pointer_declarator "*pcVar25" * identifier) ;) (declaration "double dVar26;" primitive_type identifier ;) (declaration "undefined8 uVar27;" type_identifier identifier ;) (declaration "Image *in_stack_00000018;" type_identifier (pointer_declarator "*in_stack_00000018" * identifier) ;) (declaration "int iStack_12e4;" primitive_type identifier ;) (declaration "Image *pIStack_12dc;" type_identifier (pointer_declarator "*pIStack_12dc" * identifier) ;) (declaration "undefined4 uStack_12c0;" type_identifier identifier ;) (declaration "undefined4 uStack_12bc;" type_identifier identifier ;) (declaration "undefined1 *puStack_12b4;" type_identifier (pointer_declarator "*puStack_12b4" * identifier) ;) (declaration "int iStack_12b0;" primitive_type identifier ;) (declaration "int iStack_12ac;" primitive_type identifier ;) (declaration "undefined4 uStack_12a8;" type_identifier identifier ;) (declaration "undefined4 uStack_12a4;" type_identifier identifier ;) (declaration "undefined8 *puStack_12a0;" type_identifier (pointer_declarator "*puStack_12a0" * identifier) ;) (declaration "Image *pIStack_129c;" type_identifier (pointer_declarator "*pIStack_129c" * identifier) ;) (declaration "int iStack_1298;" primitive_type identifier ;) (declaration "undefined4 *puStack_1294;" type_identifier (pointer_declarator "*puStack_1294" * identifier) ;) (declaration "undefined8 auStack_1290 [7];" type_identifier (array_declarator "auStack_1290 [7]" identifier [ number_literal ]) ;) (declaration "undefined8 uStack_1258;" type_identifier identifier ;) (declaration "undefined8 uStack_1220;" type_identifier identifier ;) (declaration "undefined8 uStack_11e8;" type_identifier identifier ;) (declaration "undefined8 uStack_11b0;" type_identifier identifier ;) (declaration "undefined8 uStack_1178;" type_identifier identifier ;) (declaration "undefined1 auStack_116c [4096];" type_identifier (array_declarator "auStack_116c [4096]" identifier [ number_literal ]) ;) (declaration "int iStack_16c;" primitive_type identifier ;) (declaration "Image *pIStack_168;" type_identifier (pointer_declarator "*pIStack_168" * identifier) ;) (declaration "Image *pIStack_164;" type_identifier (pointer_declarator "*pIStack_164" * identifier) ;) (declaration "undefined *puStack_160;" type_identifier (pointer_declarator "*puStack_160" * identifier) ;) (declaration "int iStack_15c;" primitive_type identifier ;) (declaration "int *piStack_158;" primitive_type (pointer_declarator "*piStack_158" * identifier) ;) (declaration "undefined *puStack_154;" type_identifier (pointer_declarator "*puStack_154" * identifier) ;) (declaration "undefined1 *puStack_150;" type_identifier (pointer_declarator "*puStack_150" * identifier) ;) (declaration "undefined4 uStack_118;" type_identifier identifier ;) (declaration "undefined4 uStack_114;" type_identifier identifier ;) (declaration "undefined *puStack_110;" type_identifier (pointer_declarator "*puStack_110" * identifier) ;) (declaration "int iStack_10c;" primitive_type identifier ;) (declaration "Image *pIStack_108;" type_identifier (pointer_declarator "*pIStack_108" * identifier) ;) (declaration "undefined *puStack_104;" type_identifier (pointer_declarator "*puStack_104" * identifier) ;) (declaration "Image *pIStack_100;" type_identifier (pointer_declarator "*pIStack_100" * identifier) ;) (declaration "undefined1 *puStack_fc;" type_identifier (pointer_declarator "*puStack_fc" * identifier) ;) (declaration "Image *pIStack_f8;" type_identifier (pointer_declarator "*pIStack_f8" * identifier) ;) (declaration "undefined4 *puStack_f4;" type_identifier (pointer_declarator "*puStack_f4" * identifier) ;) (declaration "undefined8 uStack_f0;" type_identifier identifier ;) (declaration "undefined8 uStack_e8;" type_identifier identifier ;) (declaration "undefined8 uStack_e0;" type_identifier identifier ;) (declaration "undefined8 uStack_d8;" type_identifier identifier ;) (declaration "undefined8 uStack_d0;" type_identifier identifier ;) (declaration "undefined1 auStack_c8 [4];" type_identifier (array_declarator "auStack_c8 [4]" identifier [ number_literal ]) ;) (declaration "int iStack_c4;" primitive_type identifier ;) (declaration "undefined8 uStack_a0;" type_identifier identifier ;) (declaration "undefined8 uStack_98;" type_identifier identifier ;) (declaration "undefined8 uStack_90;" type_identifier identifier ;) (declaration "undefined8 uStack_88;" type_identifier identifier ;) (declaration "undefined8 uStack_80;" type_identifier identifier ;) (declaration "int iStack_6c;" primitive_type identifier ;) (declaration "Image *pIStack_64;" type_identifier (pointer_declarator "*pIStack_64" * identifier) ;) (if_statement "if (image == (Image *)0x0) {\nLAB_001dd2cc:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0xdd0,PTR_s_courses_003a88ec + -0x12ec,0x1da,\n               PTR_s_courses_003a88ec + -0xedc);\nLAB_001dd2f0:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x294c,PTR_s_courses_003a88ec + -0x12ec,0x1df,\n               PTR_s_courses_003a88ec + -0xedc);\n  }\n  else {\n    unaff_s1 = image;\n    if (image->signature != 0xabacadab) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                 PTR_s_courses_003a88ec + -0x12ec,0x1db,PTR_s_courses_003a88ec + -0xedc);\n      goto LAB_001dd2cc;\n    }\n    if (image->debug != MagickFalse) {\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_courses_003a88ec + -0x12ec,PTR_s_courses_003a88ec + -0xeec,0x1dd);\n    }\n    if (in_stack_00000018 != (Image *)0x0) {\n      if (in_stack_00000018->rows == 0xabacadab) {\n        iVar2 = (*(code *)PTR_EdgeImage_003a8dec)(image);\n        puVar12 = PTR_ClampImage_003a93c8;\n        if (iVar2 != 0) {\n          *(undefined4 *)(iVar2 + 700) = 0;\n          iVar3 = (*(code *)puVar12)(iVar2,in_stack_00000018);\n          if (iVar3 == 0) {\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n          }\n          else {\n            pIVar4 = (Image *)(*(code *)PTR_BlurImage_003a95c0)(iVar2);\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n            if (pIVar4 != (Image *)0x0) {\n              iVar2 = (*(code *)PTR_NormalizeImage_003a8f7c)(pIVar4,in_stack_00000018);\n              if (((iVar2 != 0) &&\n                  (iVar2 = (*(code *)PTR_NegateImage_003a985c)(pIVar4,0,in_stack_00000018),\n                  iVar2 != 0)) &&\n                 (iVar2 = (*(code *)PTR_GrayscaleImage_003a91cc)\n                                    (pIVar4,image->intensity,in_stack_00000018), iVar2 != 0)) {\n                return pIVar4;\n              }\n                    /* WARNING: Could not recover jumptable at 0x001dd244. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              pIVar4 = (Image *)(*(code *)PTR_DestroyImage_003a8f4c)(pIVar4);\n              return pIVar4;\n            }\n          }\n        }\n        return (Image *)0x0;\n      }\n      goto LAB_001dd2f0;\n    }\n  }" if (parenthesized_expression "(image == (Image *)0x0)" ( (binary_expression "image == (Image *)0x0" identifier == (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_001dd2cc:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0xdd0,PTR_s_courses_003a88ec + -0x12ec,0x1da,\n               PTR_s_courses_003a88ec + -0xedc);\nLAB_001dd2f0:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x294c,PTR_s_courses_003a88ec + -0x12ec,0x1df,\n               PTR_s_courses_003a88ec + -0xedc);\n  }" { (labeled_statement "LAB_001dd2cc:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0xdd0,PTR_s_courses_003a88ec + -0x12ec,0x1da,\n               PTR_s_courses_003a88ec + -0xedc);" statement_identifier : (expression_statement "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0xdd0,PTR_s_courses_003a88ec + -0x12ec,0x1da,\n               PTR_s_courses_003a88ec + -0xedc);" (call_expression "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0xdd0,PTR_s_courses_003a88ec + -0x12ec,0x1da,\n               PTR_s_courses_003a88ec + -0xedc)" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" ( (pointer_expression "*(code *)PTR___assert_fail_003a9608" * (cast_expression "(code *)PTR___assert_fail_003a9608" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_LAB_003a88e0 + 0xdd0,PTR_s_courses_003a88ec + -0x12ec,0x1da,\n               PTR_s_courses_003a88ec + -0xedc)" ( (binary_expression "PTR_LAB_003a88e0 + 0xdd0" identifier + number_literal) , (binary_expression "PTR_s_courses_003a88ec + -0x12ec" identifier + number_literal) , number_literal , (binary_expression "PTR_s_courses_003a88ec + -0xedc" identifier + number_literal) ))) ;)) (labeled_statement "LAB_001dd2f0:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x294c,PTR_s_courses_003a88ec + -0x12ec,0x1df,\n               PTR_s_courses_003a88ec + -0xedc);" statement_identifier : (expression_statement "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x294c,PTR_s_courses_003a88ec + -0x12ec,0x1df,\n               PTR_s_courses_003a88ec + -0xedc);" (call_expression "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x294c,PTR_s_courses_003a88ec + -0x12ec,0x1df,\n               PTR_s_courses_003a88ec + -0xedc)" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" ( (pointer_expression "*(code *)PTR___assert_fail_003a9608" * (cast_expression "(code *)PTR___assert_fail_003a9608" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_LAB_003a88e0 + 0x294c,PTR_s_courses_003a88ec + -0x12ec,0x1df,\n               PTR_s_courses_003a88ec + -0xedc)" ( (binary_expression "PTR_LAB_003a88e0 + 0x294c" identifier + number_literal) , (binary_expression "PTR_s_courses_003a88ec + -0x12ec" identifier + number_literal) , number_literal , (binary_expression "PTR_s_courses_003a88ec + -0xedc" identifier + number_literal) ))) ;)) }) (else_clause "else {\n    unaff_s1 = image;\n    if (image->signature != 0xabacadab) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                 PTR_s_courses_003a88ec + -0x12ec,0x1db,PTR_s_courses_003a88ec + -0xedc);\n      goto LAB_001dd2cc;\n    }\n    if (image->debug != MagickFalse) {\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_courses_003a88ec + -0x12ec,PTR_s_courses_003a88ec + -0xeec,0x1dd);\n    }\n    if (in_stack_00000018 != (Image *)0x0) {\n      if (in_stack_00000018->rows == 0xabacadab) {\n        iVar2 = (*(code *)PTR_EdgeImage_003a8dec)(image);\n        puVar12 = PTR_ClampImage_003a93c8;\n        if (iVar2 != 0) {\n          *(undefined4 *)(iVar2 + 700) = 0;\n          iVar3 = (*(code *)puVar12)(iVar2,in_stack_00000018);\n          if (iVar3 == 0) {\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n          }\n          else {\n            pIVar4 = (Image *)(*(code *)PTR_BlurImage_003a95c0)(iVar2);\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n            if (pIVar4 != (Image *)0x0) {\n              iVar2 = (*(code *)PTR_NormalizeImage_003a8f7c)(pIVar4,in_stack_00000018);\n              if (((iVar2 != 0) &&\n                  (iVar2 = (*(code *)PTR_NegateImage_003a985c)(pIVar4,0,in_stack_00000018),\n                  iVar2 != 0)) &&\n                 (iVar2 = (*(code *)PTR_GrayscaleImage_003a91cc)\n                                    (pIVar4,image->intensity,in_stack_00000018), iVar2 != 0)) {\n                return pIVar4;\n              }\n                    /* WARNING: Could not recover jumptable at 0x001dd244. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              pIVar4 = (Image *)(*(code *)PTR_DestroyImage_003a8f4c)(pIVar4);\n              return pIVar4;\n            }\n          }\n        }\n        return (Image *)0x0;\n      }\n      goto LAB_001dd2f0;\n    }\n  }" else (compound_statement "{\n    unaff_s1 = image;\n    if (image->signature != 0xabacadab) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                 PTR_s_courses_003a88ec + -0x12ec,0x1db,PTR_s_courses_003a88ec + -0xedc);\n      goto LAB_001dd2cc;\n    }\n    if (image->debug != MagickFalse) {\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_courses_003a88ec + -0x12ec,PTR_s_courses_003a88ec + -0xeec,0x1dd);\n    }\n    if (in_stack_00000018 != (Image *)0x0) {\n      if (in_stack_00000018->rows == 0xabacadab) {\n        iVar2 = (*(code *)PTR_EdgeImage_003a8dec)(image);\n        puVar12 = PTR_ClampImage_003a93c8;\n        if (iVar2 != 0) {\n          *(undefined4 *)(iVar2 + 700) = 0;\n          iVar3 = (*(code *)puVar12)(iVar2,in_stack_00000018);\n          if (iVar3 == 0) {\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n          }\n          else {\n            pIVar4 = (Image *)(*(code *)PTR_BlurImage_003a95c0)(iVar2);\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n            if (pIVar4 != (Image *)0x0) {\n              iVar2 = (*(code *)PTR_NormalizeImage_003a8f7c)(pIVar4,in_stack_00000018);\n              if (((iVar2 != 0) &&\n                  (iVar2 = (*(code *)PTR_NegateImage_003a985c)(pIVar4,0,in_stack_00000018),\n                  iVar2 != 0)) &&\n                 (iVar2 = (*(code *)PTR_GrayscaleImage_003a91cc)\n                                    (pIVar4,image->intensity,in_stack_00000018), iVar2 != 0)) {\n                return pIVar4;\n              }\n                    /* WARNING: Could not recover jumptable at 0x001dd244. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              pIVar4 = (Image *)(*(code *)PTR_DestroyImage_003a8f4c)(pIVar4);\n              return pIVar4;\n            }\n          }\n        }\n        return (Image *)0x0;\n      }\n      goto LAB_001dd2f0;\n    }\n  }" { (expression_statement "unaff_s1 = image;" (assignment_expression "unaff_s1 = image" identifier = identifier) ;) (if_statement "if (image->signature != 0xabacadab) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                 PTR_s_courses_003a88ec + -0x12ec,0x1db,PTR_s_courses_003a88ec + -0xedc);\n      goto LAB_001dd2cc;\n    }" if (parenthesized_expression "(image->signature != 0xabacadab)" ( (binary_expression "image->signature != 0xabacadab" (field_expression "image->signature" identifier -> field_identifier) != number_literal) )) (compound_statement "{\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                 PTR_s_courses_003a88ec + -0x12ec,0x1db,PTR_s_courses_003a88ec + -0xedc);\n      goto LAB_001dd2cc;\n    }" { (expression_statement "(*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                 PTR_s_courses_003a88ec + -0x12ec,0x1db,PTR_s_courses_003a88ec + -0xedc);" (call_expression "(*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                 PTR_s_courses_003a88ec + -0x12ec,0x1db,PTR_s_courses_003a88ec + -0xedc)" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" ( (pointer_expression "*(code *)PTR___assert_fail_003a9608" * (cast_expression "(code *)PTR___assert_fail_003a9608" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                 PTR_s_courses_003a88ec + -0x12ec,0x1db,PTR_s_courses_003a88ec + -0xedc)" ( (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784" identifier + number_literal) , (binary_expression "PTR_s_courses_003a88ec + -0x12ec" identifier + number_literal) , number_literal , (binary_expression "PTR_s_courses_003a88ec + -0xedc" identifier + number_literal) ))) ;) (goto_statement "goto LAB_001dd2cc;" goto statement_identifier ;) })) (if_statement "if (image->debug != MagickFalse) {\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_courses_003a88ec + -0x12ec,PTR_s_courses_003a88ec + -0xeec,0x1dd);\n    }" if (parenthesized_expression "(image->debug != MagickFalse)" ( (binary_expression "image->debug != MagickFalse" (field_expression "image->debug" identifier -> field_identifier) != identifier) )) (compound_statement "{\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_courses_003a88ec + -0x12ec,PTR_s_courses_003a88ec + -0xeec,0x1dd);\n    }" { (expression_statement "(*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_courses_003a88ec + -0x12ec,PTR_s_courses_003a88ec + -0xeec,0x1dd);" (call_expression "(*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_courses_003a88ec + -0x12ec,PTR_s_courses_003a88ec + -0xeec,0x1dd)" (parenthesized_expression "(*(code *)PTR_LogMagickEvent_003a91e0)" ( (pointer_expression "*(code *)PTR_LogMagickEvent_003a91e0" * (cast_expression "(code *)PTR_LogMagickEvent_003a91e0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x8000,PTR_s_courses_003a88ec + -0x12ec,PTR_s_courses_003a88ec + -0xeec,0x1dd)" ( number_literal , (binary_expression "PTR_s_courses_003a88ec + -0x12ec" identifier + number_literal) , (binary_expression "PTR_s_courses_003a88ec + -0xeec" identifier + number_literal) , number_literal ))) ;) })) (if_statement "if (in_stack_00000018 != (Image *)0x0) {\n      if (in_stack_00000018->rows == 0xabacadab) {\n        iVar2 = (*(code *)PTR_EdgeImage_003a8dec)(image);\n        puVar12 = PTR_ClampImage_003a93c8;\n        if (iVar2 != 0) {\n          *(undefined4 *)(iVar2 + 700) = 0;\n          iVar3 = (*(code *)puVar12)(iVar2,in_stack_00000018);\n          if (iVar3 == 0) {\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n          }\n          else {\n            pIVar4 = (Image *)(*(code *)PTR_BlurImage_003a95c0)(iVar2);\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n            if (pIVar4 != (Image *)0x0) {\n              iVar2 = (*(code *)PTR_NormalizeImage_003a8f7c)(pIVar4,in_stack_00000018);\n              if (((iVar2 != 0) &&\n                  (iVar2 = (*(code *)PTR_NegateImage_003a985c)(pIVar4,0,in_stack_00000018),\n                  iVar2 != 0)) &&\n                 (iVar2 = (*(code *)PTR_GrayscaleImage_003a91cc)\n                                    (pIVar4,image->intensity,in_stack_00000018), iVar2 != 0)) {\n                return pIVar4;\n              }\n                    /* WARNING: Could not recover jumptable at 0x001dd244. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              pIVar4 = (Image *)(*(code *)PTR_DestroyImage_003a8f4c)(pIVar4);\n              return pIVar4;\n            }\n          }\n        }\n        return (Image *)0x0;\n      }\n      goto LAB_001dd2f0;\n    }" if (parenthesized_expression "(in_stack_00000018 != (Image *)0x0)" ( (binary_expression "in_stack_00000018 != (Image *)0x0" identifier != (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      if (in_stack_00000018->rows == 0xabacadab) {\n        iVar2 = (*(code *)PTR_EdgeImage_003a8dec)(image);\n        puVar12 = PTR_ClampImage_003a93c8;\n        if (iVar2 != 0) {\n          *(undefined4 *)(iVar2 + 700) = 0;\n          iVar3 = (*(code *)puVar12)(iVar2,in_stack_00000018);\n          if (iVar3 == 0) {\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n          }\n          else {\n            pIVar4 = (Image *)(*(code *)PTR_BlurImage_003a95c0)(iVar2);\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n            if (pIVar4 != (Image *)0x0) {\n              iVar2 = (*(code *)PTR_NormalizeImage_003a8f7c)(pIVar4,in_stack_00000018);\n              if (((iVar2 != 0) &&\n                  (iVar2 = (*(code *)PTR_NegateImage_003a985c)(pIVar4,0,in_stack_00000018),\n                  iVar2 != 0)) &&\n                 (iVar2 = (*(code *)PTR_GrayscaleImage_003a91cc)\n                                    (pIVar4,image->intensity,in_stack_00000018), iVar2 != 0)) {\n                return pIVar4;\n              }\n                    /* WARNING: Could not recover jumptable at 0x001dd244. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              pIVar4 = (Image *)(*(code *)PTR_DestroyImage_003a8f4c)(pIVar4);\n              return pIVar4;\n            }\n          }\n        }\n        return (Image *)0x0;\n      }\n      goto LAB_001dd2f0;\n    }" { (if_statement "if (in_stack_00000018->rows == 0xabacadab) {\n        iVar2 = (*(code *)PTR_EdgeImage_003a8dec)(image);\n        puVar12 = PTR_ClampImage_003a93c8;\n        if (iVar2 != 0) {\n          *(undefined4 *)(iVar2 + 700) = 0;\n          iVar3 = (*(code *)puVar12)(iVar2,in_stack_00000018);\n          if (iVar3 == 0) {\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n          }\n          else {\n            pIVar4 = (Image *)(*(code *)PTR_BlurImage_003a95c0)(iVar2);\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n            if (pIVar4 != (Image *)0x0) {\n              iVar2 = (*(code *)PTR_NormalizeImage_003a8f7c)(pIVar4,in_stack_00000018);\n              if (((iVar2 != 0) &&\n                  (iVar2 = (*(code *)PTR_NegateImage_003a985c)(pIVar4,0,in_stack_00000018),\n                  iVar2 != 0)) &&\n                 (iVar2 = (*(code *)PTR_GrayscaleImage_003a91cc)\n                                    (pIVar4,image->intensity,in_stack_00000018), iVar2 != 0)) {\n                return pIVar4;\n              }\n                    /* WARNING: Could not recover jumptable at 0x001dd244. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              pIVar4 = (Image *)(*(code *)PTR_DestroyImage_003a8f4c)(pIVar4);\n              return pIVar4;\n            }\n          }\n        }\n        return (Image *)0x0;\n      }" if (parenthesized_expression "(in_stack_00000018->rows == 0xabacadab)" ( (binary_expression "in_stack_00000018->rows == 0xabacadab" (field_expression "in_stack_00000018->rows" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n        iVar2 = (*(code *)PTR_EdgeImage_003a8dec)(image);\n        puVar12 = PTR_ClampImage_003a93c8;\n        if (iVar2 != 0) {\n          *(undefined4 *)(iVar2 + 700) = 0;\n          iVar3 = (*(code *)puVar12)(iVar2,in_stack_00000018);\n          if (iVar3 == 0) {\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n          }\n          else {\n            pIVar4 = (Image *)(*(code *)PTR_BlurImage_003a95c0)(iVar2);\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n            if (pIVar4 != (Image *)0x0) {\n              iVar2 = (*(code *)PTR_NormalizeImage_003a8f7c)(pIVar4,in_stack_00000018);\n              if (((iVar2 != 0) &&\n                  (iVar2 = (*(code *)PTR_NegateImage_003a985c)(pIVar4,0,in_stack_00000018),\n                  iVar2 != 0)) &&\n                 (iVar2 = (*(code *)PTR_GrayscaleImage_003a91cc)\n                                    (pIVar4,image->intensity,in_stack_00000018), iVar2 != 0)) {\n                return pIVar4;\n              }\n                    /* WARNING: Could not recover jumptable at 0x001dd244. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              pIVar4 = (Image *)(*(code *)PTR_DestroyImage_003a8f4c)(pIVar4);\n              return pIVar4;\n            }\n          }\n        }\n        return (Image *)0x0;\n      }" { (expression_statement "iVar2 = (*(code *)PTR_EdgeImage_003a8dec)(image);" (assignment_expression "iVar2 = (*(code *)PTR_EdgeImage_003a8dec)(image)" identifier = (call_expression "(*(code *)PTR_EdgeImage_003a8dec)(image)" (parenthesized_expression "(*(code *)PTR_EdgeImage_003a8dec)" ( (pointer_expression "*(code *)PTR_EdgeImage_003a8dec" * (cast_expression "(code *)PTR_EdgeImage_003a8dec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(image)" ( identifier )))) ;) (expression_statement "puVar12 = PTR_ClampImage_003a93c8;" (assignment_expression "puVar12 = PTR_ClampImage_003a93c8" identifier = identifier) ;) (if_statement "if (iVar2 != 0) {\n          *(undefined4 *)(iVar2 + 700) = 0;\n          iVar3 = (*(code *)puVar12)(iVar2,in_stack_00000018);\n          if (iVar3 == 0) {\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n          }\n          else {\n            pIVar4 = (Image *)(*(code *)PTR_BlurImage_003a95c0)(iVar2);\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n            if (pIVar4 != (Image *)0x0) {\n              iVar2 = (*(code *)PTR_NormalizeImage_003a8f7c)(pIVar4,in_stack_00000018);\n              if (((iVar2 != 0) &&\n                  (iVar2 = (*(code *)PTR_NegateImage_003a985c)(pIVar4,0,in_stack_00000018),\n                  iVar2 != 0)) &&\n                 (iVar2 = (*(code *)PTR_GrayscaleImage_003a91cc)\n                                    (pIVar4,image->intensity,in_stack_00000018), iVar2 != 0)) {\n                return pIVar4;\n              }\n                    /* WARNING: Could not recover jumptable at 0x001dd244. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              pIVar4 = (Image *)(*(code *)PTR_DestroyImage_003a8f4c)(pIVar4);\n              return pIVar4;\n            }\n          }\n        }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n          *(undefined4 *)(iVar2 + 700) = 0;\n          iVar3 = (*(code *)puVar12)(iVar2,in_stack_00000018);\n          if (iVar3 == 0) {\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n          }\n          else {\n            pIVar4 = (Image *)(*(code *)PTR_BlurImage_003a95c0)(iVar2);\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n            if (pIVar4 != (Image *)0x0) {\n              iVar2 = (*(code *)PTR_NormalizeImage_003a8f7c)(pIVar4,in_stack_00000018);\n              if (((iVar2 != 0) &&\n                  (iVar2 = (*(code *)PTR_NegateImage_003a985c)(pIVar4,0,in_stack_00000018),\n                  iVar2 != 0)) &&\n                 (iVar2 = (*(code *)PTR_GrayscaleImage_003a91cc)\n                                    (pIVar4,image->intensity,in_stack_00000018), iVar2 != 0)) {\n                return pIVar4;\n              }\n                    /* WARNING: Could not recover jumptable at 0x001dd244. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              pIVar4 = (Image *)(*(code *)PTR_DestroyImage_003a8f4c)(pIVar4);\n              return pIVar4;\n            }\n          }\n        }" { (expression_statement "*(undefined4 *)(iVar2 + 700) = 0;" (assignment_expression "*(undefined4 *)(iVar2 + 700) = 0" (pointer_expression "*(undefined4 *)(iVar2 + 700)" * (cast_expression "(undefined4 *)(iVar2 + 700)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 700)" ( (binary_expression "iVar2 + 700" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar3 = (*(code *)puVar12)(iVar2,in_stack_00000018);" (assignment_expression "iVar3 = (*(code *)puVar12)(iVar2,in_stack_00000018)" identifier = (call_expression "(*(code *)puVar12)(iVar2,in_stack_00000018)" (parenthesized_expression "(*(code *)puVar12)" ( (pointer_expression "*(code *)puVar12" * (cast_expression "(code *)puVar12" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar2,in_stack_00000018)" ( identifier , identifier )))) ;) (if_statement "if (iVar3 == 0) {\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n          }\n          else {\n            pIVar4 = (Image *)(*(code *)PTR_BlurImage_003a95c0)(iVar2);\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n            if (pIVar4 != (Image *)0x0) {\n              iVar2 = (*(code *)PTR_NormalizeImage_003a8f7c)(pIVar4,in_stack_00000018);\n              if (((iVar2 != 0) &&\n                  (iVar2 = (*(code *)PTR_NegateImage_003a985c)(pIVar4,0,in_stack_00000018),\n                  iVar2 != 0)) &&\n                 (iVar2 = (*(code *)PTR_GrayscaleImage_003a91cc)\n                                    (pIVar4,image->intensity,in_stack_00000018), iVar2 != 0)) {\n                return pIVar4;\n              }\n                    /* WARNING: Could not recover jumptable at 0x001dd244. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              pIVar4 = (Image *)(*(code *)PTR_DestroyImage_003a8f4c)(pIVar4);\n              return pIVar4;\n            }\n          }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n          }" { (expression_statement "(*(code *)PTR_DestroyImage_003a8f4c)(iVar2);" (call_expression "(*(code *)PTR_DestroyImage_003a8f4c)(iVar2)" (parenthesized_expression "(*(code *)PTR_DestroyImage_003a8f4c)" ( (pointer_expression "*(code *)PTR_DestroyImage_003a8f4c" * (cast_expression "(code *)PTR_DestroyImage_003a8f4c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar2)" ( identifier ))) ;) }) (else_clause "else {\n            pIVar4 = (Image *)(*(code *)PTR_BlurImage_003a95c0)(iVar2);\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n            if (pIVar4 != (Image *)0x0) {\n              iVar2 = (*(code *)PTR_NormalizeImage_003a8f7c)(pIVar4,in_stack_00000018);\n              if (((iVar2 != 0) &&\n                  (iVar2 = (*(code *)PTR_NegateImage_003a985c)(pIVar4,0,in_stack_00000018),\n                  iVar2 != 0)) &&\n                 (iVar2 = (*(code *)PTR_GrayscaleImage_003a91cc)\n                                    (pIVar4,image->intensity,in_stack_00000018), iVar2 != 0)) {\n                return pIVar4;\n              }\n                    /* WARNING: Could not recover jumptable at 0x001dd244. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              pIVar4 = (Image *)(*(code *)PTR_DestroyImage_003a8f4c)(pIVar4);\n              return pIVar4;\n            }\n          }" else (compound_statement "{\n            pIVar4 = (Image *)(*(code *)PTR_BlurImage_003a95c0)(iVar2);\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n            if (pIVar4 != (Image *)0x0) {\n              iVar2 = (*(code *)PTR_NormalizeImage_003a8f7c)(pIVar4,in_stack_00000018);\n              if (((iVar2 != 0) &&\n                  (iVar2 = (*(code *)PTR_NegateImage_003a985c)(pIVar4,0,in_stack_00000018),\n                  iVar2 != 0)) &&\n                 (iVar2 = (*(code *)PTR_GrayscaleImage_003a91cc)\n                                    (pIVar4,image->intensity,in_stack_00000018), iVar2 != 0)) {\n                return pIVar4;\n              }\n                    /* WARNING: Could not recover jumptable at 0x001dd244. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              pIVar4 = (Image *)(*(code *)PTR_DestroyImage_003a8f4c)(pIVar4);\n              return pIVar4;\n            }\n          }" { (expression_statement "pIVar4 = (Image *)(*(code *)PTR_BlurImage_003a95c0)(iVar2);" (assignment_expression "pIVar4 = (Image *)(*(code *)PTR_BlurImage_003a95c0)(iVar2)" identifier = (cast_expression "(Image *)(*(code *)PTR_BlurImage_003a95c0)(iVar2)" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_BlurImage_003a95c0)(iVar2)" (parenthesized_expression "(*(code *)PTR_BlurImage_003a95c0)" ( (pointer_expression "*(code *)PTR_BlurImage_003a95c0" * (cast_expression "(code *)PTR_BlurImage_003a95c0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar2)" ( identifier ))))) ;) (expression_statement "(*(code *)PTR_DestroyImage_003a8f4c)(iVar2);" (call_expression "(*(code *)PTR_DestroyImage_003a8f4c)(iVar2)" (parenthesized_expression "(*(code *)PTR_DestroyImage_003a8f4c)" ( (pointer_expression "*(code *)PTR_DestroyImage_003a8f4c" * (cast_expression "(code *)PTR_DestroyImage_003a8f4c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar2)" ( identifier ))) ;) (if_statement "if (pIVar4 != (Image *)0x0) {\n              iVar2 = (*(code *)PTR_NormalizeImage_003a8f7c)(pIVar4,in_stack_00000018);\n              if (((iVar2 != 0) &&\n                  (iVar2 = (*(code *)PTR_NegateImage_003a985c)(pIVar4,0,in_stack_00000018),\n                  iVar2 != 0)) &&\n                 (iVar2 = (*(code *)PTR_GrayscaleImage_003a91cc)\n                                    (pIVar4,image->intensity,in_stack_00000018), iVar2 != 0)) {\n                return pIVar4;\n              }\n                    /* WARNING: Could not recover jumptable at 0x001dd244. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              pIVar4 = (Image *)(*(code *)PTR_DestroyImage_003a8f4c)(pIVar4);\n              return pIVar4;\n            }" if (parenthesized_expression "(pIVar4 != (Image *)0x0)" ( (binary_expression "pIVar4 != (Image *)0x0" identifier != (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              iVar2 = (*(code *)PTR_NormalizeImage_003a8f7c)(pIVar4,in_stack_00000018);\n              if (((iVar2 != 0) &&\n                  (iVar2 = (*(code *)PTR_NegateImage_003a985c)(pIVar4,0,in_stack_00000018),\n                  iVar2 != 0)) &&\n                 (iVar2 = (*(code *)PTR_GrayscaleImage_003a91cc)\n                                    (pIVar4,image->intensity,in_stack_00000018), iVar2 != 0)) {\n                return pIVar4;\n              }\n                    /* WARNING: Could not recover jumptable at 0x001dd244. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              pIVar4 = (Image *)(*(code *)PTR_DestroyImage_003a8f4c)(pIVar4);\n              return pIVar4;\n            }" { (expression_statement "iVar2 = (*(code *)PTR_NormalizeImage_003a8f7c)(pIVar4,in_stack_00000018);" (assignment_expression "iVar2 = (*(code *)PTR_NormalizeImage_003a8f7c)(pIVar4,in_stack_00000018)" identifier = (call_expression "(*(code *)PTR_NormalizeImage_003a8f7c)(pIVar4,in_stack_00000018)" (parenthesized_expression "(*(code *)PTR_NormalizeImage_003a8f7c)" ( (pointer_expression "*(code *)PTR_NormalizeImage_003a8f7c" * (cast_expression "(code *)PTR_NormalizeImage_003a8f7c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pIVar4,in_stack_00000018)" ( identifier , identifier )))) ;) (if_statement "if (((iVar2 != 0) &&\n                  (iVar2 = (*(code *)PTR_NegateImage_003a985c)(pIVar4,0,in_stack_00000018),\n                  iVar2 != 0)) &&\n                 (iVar2 = (*(code *)PTR_GrayscaleImage_003a91cc)\n                                    (pIVar4,image->intensity,in_stack_00000018), iVar2 != 0)) {\n                return pIVar4;\n              }" if (parenthesized_expression "(((iVar2 != 0) &&\n                  (iVar2 = (*(code *)PTR_NegateImage_003a985c)(pIVar4,0,in_stack_00000018),\n                  iVar2 != 0)) &&\n                 (iVar2 = (*(code *)PTR_GrayscaleImage_003a91cc)\n                                    (pIVar4,image->intensity,in_stack_00000018), iVar2 != 0))" ( (binary_expression "((iVar2 != 0) &&\n                  (iVar2 = (*(code *)PTR_NegateImage_003a985c)(pIVar4,0,in_stack_00000018),\n                  iVar2 != 0)) &&\n                 (iVar2 = (*(code *)PTR_GrayscaleImage_003a91cc)\n                                    (pIVar4,image->intensity,in_stack_00000018), iVar2 != 0)" (parenthesized_expression "((iVar2 != 0) &&\n                  (iVar2 = (*(code *)PTR_NegateImage_003a985c)(pIVar4,0,in_stack_00000018),\n                  iVar2 != 0))" ( (binary_expression "(iVar2 != 0) &&\n                  (iVar2 = (*(code *)PTR_NegateImage_003a985c)(pIVar4,0,in_stack_00000018),\n                  iVar2 != 0)" (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar2 = (*(code *)PTR_NegateImage_003a985c)(pIVar4,0,in_stack_00000018),\n                  iVar2 != 0)" ( (comma_expression "iVar2 = (*(code *)PTR_NegateImage_003a985c)(pIVar4,0,in_stack_00000018),\n                  iVar2 != 0" (assignment_expression "iVar2 = (*(code *)PTR_NegateImage_003a985c)(pIVar4,0,in_stack_00000018)" identifier = (call_expression "(*(code *)PTR_NegateImage_003a985c)(pIVar4,0,in_stack_00000018)" (parenthesized_expression "(*(code *)PTR_NegateImage_003a985c)" ( (pointer_expression "*(code *)PTR_NegateImage_003a985c" * (cast_expression "(code *)PTR_NegateImage_003a985c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pIVar4,0,in_stack_00000018)" ( identifier , number_literal , identifier )))) , (binary_expression "iVar2 != 0" identifier != number_literal)) ))) )) && (parenthesized_expression "(iVar2 = (*(code *)PTR_GrayscaleImage_003a91cc)\n                                    (pIVar4,image->intensity,in_stack_00000018), iVar2 != 0)" ( (comma_expression "iVar2 = (*(code *)PTR_GrayscaleImage_003a91cc)\n                                    (pIVar4,image->intensity,in_stack_00000018), iVar2 != 0" (assignment_expression "iVar2 = (*(code *)PTR_GrayscaleImage_003a91cc)\n                                    (pIVar4,image->intensity,in_stack_00000018)" identifier = (call_expression "(*(code *)PTR_GrayscaleImage_003a91cc)\n                                    (pIVar4,image->intensity,in_stack_00000018)" (parenthesized_expression "(*(code *)PTR_GrayscaleImage_003a91cc)" ( (pointer_expression "*(code *)PTR_GrayscaleImage_003a91cc" * (cast_expression "(code *)PTR_GrayscaleImage_003a91cc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pIVar4,image->intensity,in_stack_00000018)" ( identifier , (field_expression "image->intensity" identifier -> field_identifier) , identifier )))) , (binary_expression "iVar2 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n                return pIVar4;\n              }" { (return_statement "return pIVar4;" return identifier ;) })) comment comment (expression_statement "pIVar4 = (Image *)(*(code *)PTR_DestroyImage_003a8f4c)(pIVar4);" (assignment_expression "pIVar4 = (Image *)(*(code *)PTR_DestroyImage_003a8f4c)(pIVar4)" identifier = (cast_expression "(Image *)(*(code *)PTR_DestroyImage_003a8f4c)(pIVar4)" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_DestroyImage_003a8f4c)(pIVar4)" (parenthesized_expression "(*(code *)PTR_DestroyImage_003a8f4c)" ( (pointer_expression "*(code *)PTR_DestroyImage_003a8f4c" * (cast_expression "(code *)PTR_DestroyImage_003a8f4c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pIVar4)" ( identifier ))))) ;) (return_statement "return pIVar4;" return identifier ;) })) }))) })) (return_statement "return (Image *)0x0;" return (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) (goto_statement "goto LAB_001dd2f0;" goto statement_identifier ;) })) }))) (expression_statement "iVar2 = 0x1de;" (assignment_expression "iVar2 = 0x1de" identifier = number_literal) ;) (expression_statement "pIVar4 = (Image *)(PTR_s_courses_003a88ec + -0xedc);" (assignment_expression "pIVar4 = (Image *)(PTR_s_courses_003a88ec + -0xedc)" identifier = (cast_expression "(Image *)(PTR_s_courses_003a88ec + -0xedc)" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_courses_003a88ec + -0xedc)" ( (binary_expression "PTR_s_courses_003a88ec + -0xedc" identifier + number_literal) )))) ;) (expression_statement "puVar16 = PTR_s_courses_003a88ec + -0x12ec;" (assignment_expression "puVar16 = PTR_s_courses_003a88ec + -0x12ec" identifier = (binary_expression "PTR_s_courses_003a88ec + -0x12ec" identifier + number_literal)) ;) (expression_statement "puVar12 = PTR_LAB_003a88e0 + 0x1cac;" (assignment_expression "puVar12 = PTR_LAB_003a88e0 + 0x1cac" identifier = (binary_expression "PTR_LAB_003a88e0 + 0x1cac" identifier + number_literal)) ;) (expression_statement "puVar23 = PTR___assert_fail_003a9608;" (assignment_expression "puVar23 = PTR___assert_fail_003a9608" identifier = identifier) ;) (expression_statement "(*(code *)PTR___assert_fail_003a9608)();" (call_expression "(*(code *)PTR___assert_fail_003a9608)()" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" ( (pointer_expression "*(code *)PTR___assert_fail_003a9608" * (cast_expression "(code *)PTR___assert_fail_003a9608" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "piVar21 = *(int **)(puVar23 + 0x1cbef8);" (assignment_expression "piVar21 = *(int **)(puVar23 + 0x1cbef8)" identifier = (pointer_expression "*(int **)(puVar23 + 0x1cbef8)" * (cast_expression "(int **)(puVar23 + 0x1cbef8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + 0x1cbef8)" ( (binary_expression "puVar23 + 0x1cbef8" identifier + number_literal) ))))) ;) (expression_statement "iStack_6c = *piVar21;" (assignment_expression "iStack_6c = *piVar21" identifier = (pointer_expression "*piVar21" * identifier)) ;) (expression_statement "pIStack_64 = unaff_s1;" (assignment_expression "pIStack_64 = unaff_s1" identifier = identifier) ;) (if_statement "if (puVar12 == (undefined *)0x0) {\n    (**(code **)(puVar23 + 0x1cc2d0))\n              (*(int *)(puVar23 + 0x1cb5b0) + -0x37b0,*(int *)(puVar23 + 0x1cb5b4) + -0x12ec,0x238,\n               *(int *)(puVar23 + 0x1cb5b4) + -0xefc);\n    puVar12 = unaff_s2;\nLAB_001dd890:\n    (**(code **)(puVar23 + 0x1cbd2c))();\nLAB_001dd89c:\n    puVar16 = unaff_s5;\n    iVar2 = unaff_s3;\n    pIVar4 = unaff_s1;\n    (**(code **)(puVar23 + 0x1cc2d0))\n              (*(int *)(puVar23 + 0x1cb5b0) + -0x3784,*(int *)(puVar23 + 0x1cb5b4) + -0x12ec,0x239,\n               *(int *)(puVar23 + 0x1cb5b4) + -0xefc);\nLAB_001dd8c0:\n    (**(code **)(puVar23 + 0x1cc2d0))\n              (*(int *)(puVar23 + 0x1cb5a8) + 0x294c,*(int *)(puVar23 + 0x1cb5b4) + -0x12ec,0x23d,\n               *(int *)(puVar23 + 0x1cb5b4) + -0xefc);\n  }\n  else {\n    if (*(int *)(puVar12 + 0x336c) != -0x54535255) goto LAB_001dd89c;\n    if (*(int *)(puVar12 + 0x3350) != 0) {\n      (**(code **)(puVar23 + 0x1cbea8))\n                (0x8000,*(int *)(puVar23 + 0x1cb5b4) + -0x12ec,*(int *)(puVar23 + 0x1cb5b4) + -0xf0c\n                 ,0x23b);\n    }\n    if (pIVar4 != (Image *)0x0) {\n      if (pIVar4->rows == 0xabacadab) {\n        pIVar5 = (Image *)(**(code **)(puVar23 + 0x1cc4f8))(puVar12,0,0,1);\n        in_stack_00000018 = pIVar5;\n        if (pIVar5 != (Image *)0x0) {\n          iVar3 = (**(code **)(puVar23 + 0x1cc4ec))(pIVar5,1,pIVar4);\n          if (iVar3 == 0) {\n            in_stack_00000018 = (Image *)0x0;\n            (**(code **)(puVar23 + 0x1cbc14))(pIVar5);\n          }\n          else {\n            if (pIVar5->colorspace == LinearGRAYColorspace) {\nLAB_001dd4b8:\n              pcVar24 = *(code **)(puVar23 + 0x1cba08);\nLAB_001dd4bc:\n              (*pcVar24)(pIVar5,0x17,pIVar4);\n            }\n            else {\n              pcVar24 = *(code **)(puVar23 + 0x1cba08);\n              if (pIVar5->colorspace == GRAYColorspace) goto LAB_001dd4bc;\n              dVar26 = *(double *)(iVar2 + 0x28) - *(double *)(iVar2 + 0x30);\n              if (dVar26 < 0.0) {\n                dVar26 = -dVar26;\n              }\n              if (dVar26 < *(double *)(*(int *)(puVar23 + 0x1cb5a8) + 0x13f8)) {\n                dVar26 = *(double *)(iVar2 + 0x30) - *(double *)(iVar2 + 0x38);\n                if (dVar26 < 0.0) {\n                  dVar26 = -dVar26;\n                }\n                if (dVar26 < *(double *)(*(int *)(puVar23 + 0x1cb5a8) + 0x13f8)) goto LAB_001dd4b8;\n              }\n            }\n            if ((pIVar5->alpha_trait == UndefinedPixelTrait) && (*(int *)(iVar2 + 8) != 0)) {\n              (**(code **)(puVar23 + 0x1cb940))\n                        (pIVar5,*(undefined4 *)(*(int *)(puVar23 + 0x1cb5a8) + 0x1a50),pIVar4);\n            }\n            if (puVar16 != (undefined *)0x0) {\n              unaff_s6 = auStack_c8;\n              (**(code **)(puVar23 + 0x1cbf7c))(pIVar5,unaff_s6);\n              uVar6 = (**(code **)(puVar23 + 0x1cc11c))(puVar16,&uStack_f0);\n              uStack_80 = 0;\n              uStack_a0 = uStack_f0;\n              uStack_98 = uStack_f0;\n              uStack_90 = uStack_f0;\n              uStack_88 = uStack_f0;\n              if ((uVar6 & 8) != 0) {\n                uStack_98 = uStack_e8;\n              }\n              if ((uVar6 & 1) != 0) {\n                uStack_90 = uStack_e0;\n              }\n              if ((uVar6 & 2) == 0) {\n                pcVar24 = *(code **)(puVar23 + 0x1cc41c);\n                uVar27 = uStack_88;\n                if (iStack_c4 == 2) goto LAB_001dd6b0;\n              }\n              else {\n                uStack_80 = uStack_d8;\n                uVar27 = uStack_d8;\n                if (iStack_c4 == 2) {\nLAB_001dd6b0:\n                  uStack_88 = uVar27;\n                  pcVar24 = *(code **)(puVar23 + 0x1cc41c);\n                  if ((uVar6 & 0x10) != 0) {\n                    uStack_80 = uStack_d0;\n                  }\n                }\n                else {\n                  pcVar24 = *(code **)(puVar23 + 0x1cc41c);\n                }\n              }\n              uStack_114 = 0;\n              uStack_118 = 0;\n              puVar16 = (undefined *)(*pcVar24)(pIVar5,pIVar4);\n              iVar3 = (**(code **)(puVar23 + 0x1cc17c))(pIVar5);\n              if (((iVar3 == 4) || (iVar3 = (**(code **)(puVar23 + 0x1cc17c))(pIVar5), iVar3 == 3))\n                 && ((iVar3 = (**(code **)(puVar23 + 0x1cc17c))(pIVar5), iVar3 == 4 ||\n                     (iVar3 = (**(code **)(puVar23 + 0x1cc17c))(pIVar5), iVar3 == 3)))) {\n                (**(code **)(puVar23 + 0x1cbe04))(7);\n                sVar7 = pIVar5->rows;\n                sVar14 = sVar7;\n                if ((int)sVar7 < 0) {\n                  sVar14 = sVar7 + 0x3f;\n                }\n                if (extraout_v1 < (int)sVar14 >> 6) {\n                  (**(code **)(puVar23 + 0x1cbe04))(7);\n                  bVar1 = extraout_v1_02 < 2;\n                }\n                else {\n                  bVar1 = (int)sVar7 < 0x80;\n                }\n                iVar3 = 1;\n                if ((bool)(bVar1 ^ 1)) {\n                  (**(code **)(puVar23 + 0x1cbe04))(7);\n                  sVar14 = pIVar5->rows;\n                  if ((int)sVar14 < 0) {\n                    sVar14 = sVar14 + 0x3f;\n                  }\n                  iVar3 = (int)sVar14 >> 6;\n                  iVar13 = *(int *)(puVar23 + 0x1cb66c);\n                  if (extraout_v1_01 < iVar3) {\n                    pcVar24 = *(code **)(puVar23 + 0x1cbe04);\n                    goto LAB_001dd7c0;\n                  }\n                }\n                else {\n                  iVar13 = *(int *)(puVar23 + 0x1cb66c);\n                }\n              }\n              else {\n                uVar27 = (**(code **)(puVar23 + 0x1cbe04))(7);\n                if ((int)((ulonglong)uVar27 >> 0x20) == 0) {\n                  pcVar24 = *(code **)(puVar23 + 0x1cbe04);\n                  if (1 < (uint)uVar27) goto LAB_001dd5d4;\n                  uVar27 = (*pcVar24)(7);\n                  if ((int)((ulonglong)uVar27 >> 0x20) != 0) goto LAB_001dd5d0;\n                  pcVar24 = *(code **)(puVar23 + 0x1cbe04);\n                  if (1 < (uint)uVar27) goto LAB_001dd5d4;\n                  iVar3 = 1;\n                }\n                else {\nLAB_001dd5d0:\n                  pcVar24 = *(code **)(puVar23 + 0x1cbe04);\nLAB_001dd5d4:\n                  uVar27 = (*pcVar24)(7);\n                  if (((int)((ulonglong)uVar27 >> 0x20) == 0) &&\n                     (pcVar24 = *(code **)(puVar23 + 0x1cbe04), (uint)uVar27 < 2)) {\nLAB_001dd7c0:\n                    (*pcVar24)(7);\n                    iVar3 = extraout_v1_00;\n                  }\n                  else {\n                    iVar3 = 2;\n                  }\n                }\n                iVar13 = *(int *)(puVar23 + 0x1cb66c);\n              }\n              pIStack_f8 = (Image *)0x1;\n              puStack_f4 = &uStack_118;\n              puStack_110 = puVar12;\n              iStack_10c = iVar2;\n              pIStack_108 = pIVar4;\n              puStack_104 = puVar16;\n              pIStack_100 = pIVar5;\n              puStack_fc = unaff_s6;\n              (**(code **)(puVar23 + 0x1cbe60))(iVar13 + -0x43b4,&puStack_110,iVar3,0);\n              pIVar4 = pIStack_f8;\n              (**(code **)(puVar23 + 0x1cbbbc))(puVar16);\n              if (pIVar4 == (Image *)0x0) {\n                in_stack_00000018 = (Image *)(**(code **)(puVar23 + 0x1cbc14))(pIVar5);\n              }\n            }\n          }\n        }\n        unaff_s1 = pIVar4;\n        unaff_s3 = iVar2;\n        unaff_s5 = puVar16;\n        if (iStack_6c == *piVar21) {\n          return in_stack_00000018;\n        }\n        goto LAB_001dd890;\n      }\n      goto LAB_001dd8c0;\n    }\n  }" if (parenthesized_expression "(puVar12 == (undefined *)0x0)" ( (binary_expression "puVar12 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    (**(code **)(puVar23 + 0x1cc2d0))\n              (*(int *)(puVar23 + 0x1cb5b0) + -0x37b0,*(int *)(puVar23 + 0x1cb5b4) + -0x12ec,0x238,\n               *(int *)(puVar23 + 0x1cb5b4) + -0xefc);\n    puVar12 = unaff_s2;\nLAB_001dd890:\n    (**(code **)(puVar23 + 0x1cbd2c))();\nLAB_001dd89c:\n    puVar16 = unaff_s5;\n    iVar2 = unaff_s3;\n    pIVar4 = unaff_s1;\n    (**(code **)(puVar23 + 0x1cc2d0))\n              (*(int *)(puVar23 + 0x1cb5b0) + -0x3784,*(int *)(puVar23 + 0x1cb5b4) + -0x12ec,0x239,\n               *(int *)(puVar23 + 0x1cb5b4) + -0xefc);\nLAB_001dd8c0:\n    (**(code **)(puVar23 + 0x1cc2d0))\n              (*(int *)(puVar23 + 0x1cb5a8) + 0x294c,*(int *)(puVar23 + 0x1cb5b4) + -0x12ec,0x23d,\n               *(int *)(puVar23 + 0x1cb5b4) + -0xefc);\n  }" { (expression_statement "(**(code **)(puVar23 + 0x1cc2d0))\n              (*(int *)(puVar23 + 0x1cb5b0) + -0x37b0,*(int *)(puVar23 + 0x1cb5b4) + -0x12ec,0x238,\n               *(int *)(puVar23 + 0x1cb5b4) + -0xefc);" (call_expression "(**(code **)(puVar23 + 0x1cc2d0))\n              (*(int *)(puVar23 + 0x1cb5b0) + -0x37b0,*(int *)(puVar23 + 0x1cb5b4) + -0x12ec,0x238,\n               *(int *)(puVar23 + 0x1cb5b4) + -0xefc)" (parenthesized_expression "(**(code **)(puVar23 + 0x1cc2d0))" ( (pointer_expression "**(code **)(puVar23 + 0x1cc2d0)" * (pointer_expression "*(code **)(puVar23 + 0x1cc2d0)" * (cast_expression "(code **)(puVar23 + 0x1cc2d0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + 0x1cc2d0)" ( (binary_expression "puVar23 + 0x1cc2d0" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar23 + 0x1cb5b0) + -0x37b0,*(int *)(puVar23 + 0x1cb5b4) + -0x12ec,0x238,\n               *(int *)(puVar23 + 0x1cb5b4) + -0xefc)" ( (binary_expression "*(int *)(puVar23 + 0x1cb5b0) + -0x37b0" (pointer_expression "*(int *)(puVar23 + 0x1cb5b0)" * (cast_expression "(int *)(puVar23 + 0x1cb5b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + 0x1cb5b0)" ( (binary_expression "puVar23 + 0x1cb5b0" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar23 + 0x1cb5b4) + -0x12ec" (pointer_expression "*(int *)(puVar23 + 0x1cb5b4)" * (cast_expression "(int *)(puVar23 + 0x1cb5b4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + 0x1cb5b4)" ( (binary_expression "puVar23 + 0x1cb5b4" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar23 + 0x1cb5b4) + -0xefc" (pointer_expression "*(int *)(puVar23 + 0x1cb5b4)" * (cast_expression "(int *)(puVar23 + 0x1cb5b4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + 0x1cb5b4)" ( (binary_expression "puVar23 + 0x1cb5b4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "puVar12 = unaff_s2;" (assignment_expression "puVar12 = unaff_s2" identifier = identifier) ;) (labeled_statement "LAB_001dd890:\n    (**(code **)(puVar23 + 0x1cbd2c))();" statement_identifier : (expression_statement "(**(code **)(puVar23 + 0x1cbd2c))();" (call_expression "(**(code **)(puVar23 + 0x1cbd2c))()" (parenthesized_expression "(**(code **)(puVar23 + 0x1cbd2c))" ( (pointer_expression "**(code **)(puVar23 + 0x1cbd2c)" * (pointer_expression "*(code **)(puVar23 + 0x1cbd2c)" * (cast_expression "(code **)(puVar23 + 0x1cbd2c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + 0x1cbd2c)" ( (binary_expression "puVar23 + 0x1cbd2c" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;)) (labeled_statement "LAB_001dd89c:\n    puVar16 = unaff_s5;" statement_identifier : (expression_statement "puVar16 = unaff_s5;" (assignment_expression "puVar16 = unaff_s5" identifier = identifier) ;)) (expression_statement "iVar2 = unaff_s3;" (assignment_expression "iVar2 = unaff_s3" identifier = identifier) ;) (expression_statement "pIVar4 = unaff_s1;" (assignment_expression "pIVar4 = unaff_s1" identifier = identifier) ;) (expression_statement "(**(code **)(puVar23 + 0x1cc2d0))\n              (*(int *)(puVar23 + 0x1cb5b0) + -0x3784,*(int *)(puVar23 + 0x1cb5b4) + -0x12ec,0x239,\n               *(int *)(puVar23 + 0x1cb5b4) + -0xefc);" (call_expression "(**(code **)(puVar23 + 0x1cc2d0))\n              (*(int *)(puVar23 + 0x1cb5b0) + -0x3784,*(int *)(puVar23 + 0x1cb5b4) + -0x12ec,0x239,\n               *(int *)(puVar23 + 0x1cb5b4) + -0xefc)" (parenthesized_expression "(**(code **)(puVar23 + 0x1cc2d0))" ( (pointer_expression "**(code **)(puVar23 + 0x1cc2d0)" * (pointer_expression "*(code **)(puVar23 + 0x1cc2d0)" * (cast_expression "(code **)(puVar23 + 0x1cc2d0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + 0x1cc2d0)" ( (binary_expression "puVar23 + 0x1cc2d0" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar23 + 0x1cb5b0) + -0x3784,*(int *)(puVar23 + 0x1cb5b4) + -0x12ec,0x239,\n               *(int *)(puVar23 + 0x1cb5b4) + -0xefc)" ( (binary_expression "*(int *)(puVar23 + 0x1cb5b0) + -0x3784" (pointer_expression "*(int *)(puVar23 + 0x1cb5b0)" * (cast_expression "(int *)(puVar23 + 0x1cb5b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + 0x1cb5b0)" ( (binary_expression "puVar23 + 0x1cb5b0" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar23 + 0x1cb5b4) + -0x12ec" (pointer_expression "*(int *)(puVar23 + 0x1cb5b4)" * (cast_expression "(int *)(puVar23 + 0x1cb5b4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + 0x1cb5b4)" ( (binary_expression "puVar23 + 0x1cb5b4" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar23 + 0x1cb5b4) + -0xefc" (pointer_expression "*(int *)(puVar23 + 0x1cb5b4)" * (cast_expression "(int *)(puVar23 + 0x1cb5b4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + 0x1cb5b4)" ( (binary_expression "puVar23 + 0x1cb5b4" identifier + number_literal) )))) + number_literal) ))) ;) (labeled_statement "LAB_001dd8c0:\n    (**(code **)(puVar23 + 0x1cc2d0))\n              (*(int *)(puVar23 + 0x1cb5a8) + 0x294c,*(int *)(puVar23 + 0x1cb5b4) + -0x12ec,0x23d,\n               *(int *)(puVar23 + 0x1cb5b4) + -0xefc);" statement_identifier : (expression_statement "(**(code **)(puVar23 + 0x1cc2d0))\n              (*(int *)(puVar23 + 0x1cb5a8) + 0x294c,*(int *)(puVar23 + 0x1cb5b4) + -0x12ec,0x23d,\n               *(int *)(puVar23 + 0x1cb5b4) + -0xefc);" (call_expression "(**(code **)(puVar23 + 0x1cc2d0))\n              (*(int *)(puVar23 + 0x1cb5a8) + 0x294c,*(int *)(puVar23 + 0x1cb5b4) + -0x12ec,0x23d,\n               *(int *)(puVar23 + 0x1cb5b4) + -0xefc)" (parenthesized_expression "(**(code **)(puVar23 + 0x1cc2d0))" ( (pointer_expression "**(code **)(puVar23 + 0x1cc2d0)" * (pointer_expression "*(code **)(puVar23 + 0x1cc2d0)" * (cast_expression "(code **)(puVar23 + 0x1cc2d0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + 0x1cc2d0)" ( (binary_expression "puVar23 + 0x1cc2d0" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar23 + 0x1cb5a8) + 0x294c,*(int *)(puVar23 + 0x1cb5b4) + -0x12ec,0x23d,\n               *(int *)(puVar23 + 0x1cb5b4) + -0xefc)" ( (binary_expression "*(int *)(puVar23 + 0x1cb5a8) + 0x294c" (pointer_expression "*(int *)(puVar23 + 0x1cb5a8)" * (cast_expression "(int *)(puVar23 + 0x1cb5a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + 0x1cb5a8)" ( (binary_expression "puVar23 + 0x1cb5a8" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar23 + 0x1cb5b4) + -0x12ec" (pointer_expression "*(int *)(puVar23 + 0x1cb5b4)" * (cast_expression "(int *)(puVar23 + 0x1cb5b4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + 0x1cb5b4)" ( (binary_expression "puVar23 + 0x1cb5b4" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar23 + 0x1cb5b4) + -0xefc" (pointer_expression "*(int *)(puVar23 + 0x1cb5b4)" * (cast_expression "(int *)(puVar23 + 0x1cb5b4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + 0x1cb5b4)" ( (binary_expression "puVar23 + 0x1cb5b4" identifier + number_literal) )))) + number_literal) ))) ;)) }) (else_clause "else {\n    if (*(int *)(puVar12 + 0x336c) != -0x54535255) goto LAB_001dd89c;\n    if (*(int *)(puVar12 + 0x3350) != 0) {\n      (**(code **)(puVar23 + 0x1cbea8))\n                (0x8000,*(int *)(puVar23 + 0x1cb5b4) + -0x12ec,*(int *)(puVar23 + 0x1cb5b4) + -0xf0c\n                 ,0x23b);\n    }\n    if (pIVar4 != (Image *)0x0) {\n      if (pIVar4->rows == 0xabacadab) {\n        pIVar5 = (Image *)(**(code **)(puVar23 + 0x1cc4f8))(puVar12,0,0,1);\n        in_stack_00000018 = pIVar5;\n        if (pIVar5 != (Image *)0x0) {\n          iVar3 = (**(code **)(puVar23 + 0x1cc4ec))(pIVar5,1,pIVar4);\n          if (iVar3 == 0) {\n            in_stack_00000018 = (Image *)0x0;\n            (**(code **)(puVar23 + 0x1cbc14))(pIVar5);\n          }\n          else {\n            if (pIVar5->colorspace == LinearGRAYColorspace) {\nLAB_001dd4b8:\n              pcVar24 = *(code **)(puVar23 + 0x1cba08);\nLAB_001dd4bc:\n              (*pcVar24)(pIVar5,0x17,pIVar4);\n            }\n            else {\n              pcVar24 = *(code **)(puVar23 + 0x1cba08);\n              if (pIVar5->colorspace == GRAYColorspace) goto LAB_001dd4bc;\n              dVar26 = *(double *)(iVar2 + 0x28) - *(double *)(iVar2 + 0x30);\n              if (dVar26 < 0.0) {\n                dVar26 = -dVar26;\n              }\n              if (dVar26 < *(double *)(*(int *)(puVar23 + 0x1cb5a8) + 0x13f8)) {\n                dVar26 = *(double *)(iVar2 + 0x30) - *(double *)(iVar2 + 0x38);\n                if (dVar26 < 0.0) {\n                  dVar26 = -dVar26;\n                }\n                if (dVar26 < *(double *)(*(int *)(puVar23 + 0x1cb5a8) + 0x13f8)) goto LAB_001dd4b8;\n              }\n            }\n            if ((pIVar5->alpha_trait == UndefinedPixelTrait) && (*(int *)(iVar2 + 8) != 0)) {\n              (**(code **)(puVar23 + 0x1cb940))\n                        (pIVar5,*(undefined4 *)(*(int *)(puVar23 + 0x1cb5a8) + 0x1a50),pIVar4);\n            }\n            if (puVar16 != (undefined *)0x0) {\n              unaff_s6 = auStack_c8;\n              (**(code **)(puVar23 + 0x1cbf7c))(pIVar5,unaff_s6);\n              uVar6 = (**(code **)(puVar23 + 0x1cc11c))(puVar16,&uStack_f0);\n              uStack_80 = 0;\n              uStack_a0 = uStack_f0;\n              uStack_98 = uStack_f0;\n              uStack_90 = uStack_f0;\n              uStack_88 = uStack_f0;\n              if ((uVar6 & 8) != 0) {\n                uStack_98 = uStack_e8;\n              }\n              if ((uVar6 & 1) != 0) {\n                uStack_90 = uStack_e0;\n              }\n              if ((uVar6 & 2) == 0) {\n                pcVar24 = *(code **)(puVar23 + 0x1cc41c);\n                uVar27 = uStack_88;\n                if (iStack_c4 == 2) goto LAB_001dd6b0;\n              }\n              else {\n                uStack_80 = uStack_d8;\n                uVar27 = uStack_d8;\n                if (iStack_c4 == 2) {\nLAB_001dd6b0:\n                  uStack_88 = uVar27;\n                  pcVar24 = *(code **)(puVar23 + 0x1cc41c);\n                  if ((uVar6 & 0x10) != 0) {\n                    uStack_80 = uStack_d0;\n                  }\n                }\n                else {\n                  pcVar24 = *(code **)(puVar23 + 0x1cc41c);\n                }\n              }\n              uStack_114 = 0;\n              uStack_118 = 0;\n              puVar16 = (undefined *)(*pcVar24)(pIVar5,pIVar4);\n              iVar3 = (**(code **)(puVar23 + 0x1cc17c))(pIVar5);\n              if (((iVar3 == 4) || (iVar3 = (**(code **)(puVar23 + 0x1cc17c))(pIVar5), iVar3 == 3))\n                 && ((iVar3 = (**(code **)(puVar23 + 0x1cc17c))(pIVar5), iVar3 == 4 ||\n                     (iVar3 = (**(code **)(puVar23 + 0x1cc17c))(pIVar5), iVar3 == 3)))) {\n                (**(code **)(puVar23 + 0x1cbe04))(7);\n                sVar7 = pIVar5->rows;\n                sVar14 = sVar7;\n                if ((int)sVar7 < 0) {\n                  sVar14 = sVar7 + 0x3f;\n                }\n                if (extraout_v1 < (int)sVar14 >> 6) {\n                  (**(code **)(puVar23 + 0x1cbe04))(7);\n                  bVar1 = extraout_v1_02 < 2;\n                }\n                else {\n                  bVar1 = (int)sVar7 < 0x80;\n                }\n                iVar3 = 1;\n                if ((bool)(bVar1 ^ 1)) {\n                  (**(code **)(puVar23 + 0x1cbe04))(7);\n                  sVar14 = pIVar5->rows;\n                  if ((int)sVar14 < 0) {\n                    sVar14 = sVar14 + 0x3f;\n                  }\n                  iVar3 = (int)sVar14 >> 6;\n                  iVar13 = *(int *)(puVar23 + 0x1cb66c);\n                  if (extraout_v1_01 < iVar3) {\n                    pcVar24 = *(code **)(puVar23 + 0x1cbe04);\n                    goto LAB_001dd7c0;\n                  }\n                }\n                else {\n                  iVar13 = *(int *)(puVar23 + 0x1cb66c);\n                }\n              }\n              else {\n                uVar27 = (**(code **)(puVar23 + 0x1cbe04))(7);\n                if ((int)((ulonglong)uVar27 >> 0x20) == 0) {\n                  pcVar24 = *(code **)(puVar23 + 0x1cbe04);\n                  if (1 < (uint)uVar27) goto LAB_001dd5d4;\n                  uVar27 = (*pcVar24)(7);\n                  if ((int)((ulonglong)uVar27 >> 0x20) != 0) goto LAB_001dd5d0;\n                  pcVar24 = *(code **)(puVar23 + 0x1cbe04);\n                  if (1 < (uint)uVar27) goto LAB_001dd5d4;\n                  iVar3 = 1;\n                }\n                else {\nLAB_001dd5d0:\n                  pcVar24 = *(code **)(puVar23 + 0x1cbe04);\nLAB_001dd5d4:\n                  uVar27 = (*pcVar24)(7);\n                  if (((int)((ulonglong)uVar27 >> 0x20) == 0) &&\n                     (pcVar24 = *(code **)(puVar23 + 0x1cbe04), (uint)uVar27 < 2)) {\nLAB_001dd7c0:\n                    (*pcVar24)(7);\n                    iVar3 = extraout_v1_00;\n                  }\n                  else {\n                    iVar3 = 2;\n                  }\n                }\n                iVar13 = *(int *)(puVar23 + 0x1cb66c);\n              }\n              pIStack_f8 = (Image *)0x1;\n              puStack_f4 = &uStack_118;\n              puStack_110 = puVar12;\n              iStack_10c = iVar2;\n              pIStack_108 = pIVar4;\n              puStack_104 = puVar16;\n              pIStack_100 = pIVar5;\n              puStack_fc = unaff_s6;\n              (**(code **)(puVar23 + 0x1cbe60))(iVar13 + -0x43b4,&puStack_110,iVar3,0);\n              pIVar4 = pIStack_f8;\n              (**(code **)(puVar23 + 0x1cbbbc))(puVar16);\n              if (pIVar4 == (Image *)0x0) {\n                in_stack_00000018 = (Image *)(**(code **)(puVar23 + 0x1cbc14))(pIVar5);\n              }\n            }\n          }\n        }\n        unaff_s1 = pIVar4;\n        unaff_s3 = iVar2;\n        unaff_s5 = puVar16;\n        if (iStack_6c == *piVar21) {\n          return in_stack_00000018;\n        }\n        goto LAB_001dd890;\n      }\n      goto LAB_001dd8c0;\n    }\n  }" else (compound_statement "{\n    if (*(int *)(puVar12 + 0x336c) != -0x54535255) goto LAB_001dd89c;\n    if (*(int *)(puVar12 + 0x3350) != 0) {\n      (**(code **)(puVar23 + 0x1cbea8))\n                (0x8000,*(int *)(puVar23 + 0x1cb5b4) + -0x12ec,*(int *)(puVar23 + 0x1cb5b4) + -0xf0c\n                 ,0x23b);\n    }\n    if (pIVar4 != (Image *)0x0) {\n      if (pIVar4->rows == 0xabacadab) {\n        pIVar5 = (Image *)(**(code **)(puVar23 + 0x1cc4f8))(puVar12,0,0,1);\n        in_stack_00000018 = pIVar5;\n        if (pIVar5 != (Image *)0x0) {\n          iVar3 = (**(code **)(puVar23 + 0x1cc4ec))(pIVar5,1,pIVar4);\n          if (iVar3 == 0) {\n            in_stack_00000018 = (Image *)0x0;\n            (**(code **)(puVar23 + 0x1cbc14))(pIVar5);\n          }\n          else {\n            if (pIVar5->colorspace == LinearGRAYColorspace) {\nLAB_001dd4b8:\n              pcVar24 = *(code **)(puVar23 + 0x1cba08);\nLAB_001dd4bc:\n              (*pcVar24)(pIVar5,0x17,pIVar4);\n            }\n            else {\n              pcVar24 = *(code **)(puVar23 + 0x1cba08);\n              if (pIVar5->colorspace == GRAYColorspace) goto LAB_001dd4bc;\n              dVar26 = *(double *)(iVar2 + 0x28) - *(double *)(iVar2 + 0x30);\n              if (dVar26 < 0.0) {\n                dVar26 = -dVar26;\n              }\n              if (dVar26 < *(double *)(*(int *)(puVar23 + 0x1cb5a8) + 0x13f8)) {\n                dVar26 = *(double *)(iVar2 + 0x30) - *(double *)(iVar2 + 0x38);\n                if (dVar26 < 0.0) {\n                  dVar26 = -dVar26;\n                }\n                if (dVar26 < *(double *)(*(int *)(puVar23 + 0x1cb5a8) + 0x13f8)) goto LAB_001dd4b8;\n              }\n            }\n            if ((pIVar5->alpha_trait == UndefinedPixelTrait) && (*(int *)(iVar2 + 8) != 0)) {\n              (**(code **)(puVar23 + 0x1cb940))\n                        (pIVar5,*(undefined4 *)(*(int *)(puVar23 + 0x1cb5a8) + 0x1a50),pIVar4);\n            }\n            if (puVar16 != (undefined *)0x0) {\n              unaff_s6 = auStack_c8;\n              (**(code **)(puVar23 + 0x1cbf7c))(pIVar5,unaff_s6);\n              uVar6 = (**(code **)(puVar23 + 0x1cc11c))(puVar16,&uStack_f0);\n              uStack_80 = 0;\n              uStack_a0 = uStack_f0;\n              uStack_98 = uStack_f0;\n              uStack_90 = uStack_f0;\n              uStack_88 = uStack_f0;\n              if ((uVar6 & 8) != 0) {\n                uStack_98 = uStack_e8;\n              }\n              if ((uVar6 & 1) != 0) {\n                uStack_90 = uStack_e0;\n              }\n              if ((uVar6 & 2) == 0) {\n                pcVar24 = *(code **)(puVar23 + 0x1cc41c);\n                uVar27 = uStack_88;\n                if (iStack_c4 == 2) goto LAB_001dd6b0;\n              }\n              else {\n                uStack_80 = uStack_d8;\n                uVar27 = uStack_d8;\n                if (iStack_c4 == 2) {\nLAB_001dd6b0:\n                  uStack_88 = uVar27;\n                  pcVar24 = *(code **)(puVar23 + 0x1cc41c);\n                  if ((uVar6 & 0x10) != 0) {\n                    uStack_80 = uStack_d0;\n                  }\n                }\n                else {\n                  pcVar24 = *(code **)(puVar23 + 0x1cc41c);\n                }\n              }\n              uStack_114 = 0;\n              uStack_118 = 0;\n              puVar16 = (undefined *)(*pcVar24)(pIVar5,pIVar4);\n              iVar3 = (**(code **)(puVar23 + 0x1cc17c))(pIVar5);\n              if (((iVar3 == 4) || (iVar3 = (**(code **)(puVar23 + 0x1cc17c))(pIVar5), iVar3 == 3))\n                 && ((iVar3 = (**(code **)(puVar23 + 0x1cc17c))(pIVar5), iVar3 == 4 ||\n                     (iVar3 = (**(code **)(puVar23 + 0x1cc17c))(pIVar5), iVar3 == 3)))) {\n                (**(code **)(puVar23 + 0x1cbe04))(7);\n                sVar7 = pIVar5->rows;\n                sVar14 = sVar7;\n                if ((int)sVar7 < 0) {\n                  sVar14 = sVar7 + 0x3f;\n                }\n                if (extraout_v1 < (int)sVar14 >> 6) {\n                  (**(code **)(puVar23 + 0x1cbe04))(7);\n                  bVar1 = extraout_v1_02 < 2;\n                }\n                else {\n                  bVar1 = (int)sVar7 < 0x80;\n                }\n                iVar3 = 1;\n                if ((bool)(bVar1 ^ 1)) {\n                  (**(code **)(puVar23 + 0x1cbe04))(7);\n                  sVar14 = pIVar5->rows;\n                  if ((int)sVar14 < 0) {\n                    sVar14 = sVar14 + 0x3f;\n                  }\n                  iVar3 = (int)sVar14 >> 6;\n                  iVar13 = *(int *)(puVar23 + 0x1cb66c);\n                  if (extraout_v1_01 < iVar3) {\n                    pcVar24 = *(code **)(puVar23 + 0x1cbe04);\n                    goto LAB_001dd7c0;\n                  }\n                }\n                else {\n                  iVar13 = *(int *)(puVar23 + 0x1cb66c);\n                }\n              }\n              else {\n                uVar27 = (**(code **)(puVar23 + 0x1cbe04))(7);\n                if ((int)((ulonglong)uVar27 >> 0x20) == 0) {\n                  pcVar24 = *(code **)(puVar23 + 0x1cbe04);\n                  if (1 < (uint)uVar27) goto LAB_001dd5d4;\n                  uVar27 = (*pcVar24)(7);\n                  if ((int)((ulonglong)uVar27 >> 0x20) != 0) goto LAB_001dd5d0;\n                  pcVar24 = *(code **)(puVar23 + 0x1cbe04);\n                  if (1 < (uint)uVar27) goto LAB_001dd5d4;\n                  iVar3 = 1;\n                }\n                else {\nLAB_001dd5d0:\n                  pcVar24 = *(code **)(puVar23 + 0x1cbe04);\nLAB_001dd5d4:\n                  uVar27 = (*pcVar24)(7);\n                  if (((int)((ulonglong)uVar27 >> 0x20) == 0) &&\n                     (pcVar24 = *(code **)(puVar23 + 0x1cbe04), (uint)uVar27 < 2)) {\nLAB_001dd7c0:\n                    (*pcVar24)(7);\n                    iVar3 = extraout_v1_00;\n                  }\n                  else {\n                    iVar3 = 2;\n                  }\n                }\n                iVar13 = *(int *)(puVar23 + 0x1cb66c);\n              }\n              pIStack_f8 = (Image *)0x1;\n              puStack_f4 = &uStack_118;\n              puStack_110 = puVar12;\n              iStack_10c = iVar2;\n              pIStack_108 = pIVar4;\n              puStack_104 = puVar16;\n              pIStack_100 = pIVar5;\n              puStack_fc = unaff_s6;\n              (**(code **)(puVar23 + 0x1cbe60))(iVar13 + -0x43b4,&puStack_110,iVar3,0);\n              pIVar4 = pIStack_f8;\n              (**(code **)(puVar23 + 0x1cbbbc))(puVar16);\n              if (pIVar4 == (Image *)0x0) {\n                in_stack_00000018 = (Image *)(**(code **)(puVar23 + 0x1cbc14))(pIVar5);\n              }\n            }\n          }\n        }\n        unaff_s1 = pIVar4;\n        unaff_s3 = iVar2;\n        unaff_s5 = puVar16;\n        if (iStack_6c == *piVar21) {\n          return in_stack_00000018;\n        }\n        goto LAB_001dd890;\n      }\n      goto LAB_001dd8c0;\n    }\n  }" { (if_statement "if (*(int *)(puVar12 + 0x336c) != -0x54535255) goto LAB_001dd89c;" if (parenthesized_expression "(*(int *)(puVar12 + 0x336c) != -0x54535255)" ( (binary_expression "*(int *)(puVar12 + 0x336c) != -0x54535255" (pointer_expression "*(int *)(puVar12 + 0x336c)" * (cast_expression "(int *)(puVar12 + 0x336c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x336c)" ( (binary_expression "puVar12 + 0x336c" identifier + number_literal) )))) != number_literal) )) (goto_statement "goto LAB_001dd89c;" goto statement_identifier ;)) (if_statement "if (*(int *)(puVar12 + 0x3350) != 0) {\n      (**(code **)(puVar23 + 0x1cbea8))\n                (0x8000,*(int *)(puVar23 + 0x1cb5b4) + -0x12ec,*(int *)(puVar23 + 0x1cb5b4) + -0xf0c\n                 ,0x23b);\n    }" if (parenthesized_expression "(*(int *)(puVar12 + 0x3350) != 0)" ( (binary_expression "*(int *)(puVar12 + 0x3350) != 0" (pointer_expression "*(int *)(puVar12 + 0x3350)" * (cast_expression "(int *)(puVar12 + 0x3350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x3350)" ( (binary_expression "puVar12 + 0x3350" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      (**(code **)(puVar23 + 0x1cbea8))\n                (0x8000,*(int *)(puVar23 + 0x1cb5b4) + -0x12ec,*(int *)(puVar23 + 0x1cb5b4) + -0xf0c\n                 ,0x23b);\n    }" { (expression_statement "(**(code **)(puVar23 + 0x1cbea8))\n                (0x8000,*(int *)(puVar23 + 0x1cb5b4) + -0x12ec,*(int *)(puVar23 + 0x1cb5b4) + -0xf0c\n                 ,0x23b);" (call_expression "(**(code **)(puVar23 + 0x1cbea8))\n                (0x8000,*(int *)(puVar23 + 0x1cb5b4) + -0x12ec,*(int *)(puVar23 + 0x1cb5b4) + -0xf0c\n                 ,0x23b)" (parenthesized_expression "(**(code **)(puVar23 + 0x1cbea8))" ( (pointer_expression "**(code **)(puVar23 + 0x1cbea8)" * (pointer_expression "*(code **)(puVar23 + 0x1cbea8)" * (cast_expression "(code **)(puVar23 + 0x1cbea8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + 0x1cbea8)" ( (binary_expression "puVar23 + 0x1cbea8" identifier + number_literal) ))))) )) (argument_list "(0x8000,*(int *)(puVar23 + 0x1cb5b4) + -0x12ec,*(int *)(puVar23 + 0x1cb5b4) + -0xf0c\n                 ,0x23b)" ( number_literal , (binary_expression "*(int *)(puVar23 + 0x1cb5b4) + -0x12ec" (pointer_expression "*(int *)(puVar23 + 0x1cb5b4)" * (cast_expression "(int *)(puVar23 + 0x1cb5b4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + 0x1cb5b4)" ( (binary_expression "puVar23 + 0x1cb5b4" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar23 + 0x1cb5b4) + -0xf0c" (pointer_expression "*(int *)(puVar23 + 0x1cb5b4)" * (cast_expression "(int *)(puVar23 + 0x1cb5b4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + 0x1cb5b4)" ( (binary_expression "puVar23 + 0x1cb5b4" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) })) (if_statement "if (pIVar4 != (Image *)0x0) {\n      if (pIVar4->rows == 0xabacadab) {\n        pIVar5 = (Image *)(**(code **)(puVar23 + 0x1cc4f8))(puVar12,0,0,1);\n        in_stack_00000018 = pIVar5;\n        if (pIVar5 != (Image *)0x0) {\n          iVar3 = (**(code **)(puVar23 + 0x1cc4ec))(pIVar5,1,pIVar4);\n          if (iVar3 == 0) {\n            in_stack_00000018 = (Image *)0x0;\n            (**(code **)(puVar23 + 0x1cbc14))(pIVar5);\n          }\n          else {\n            if (pIVar5->colorspace == LinearGRAYColorspace) {\nLAB_001dd4b8:\n              pcVar24 = *(code **)(puVar23 + 0x1cba08);\nLAB_001dd4bc:\n              (*pcVar24)(pIVar5,0x17,pIVar4);\n            }\n            else {\n              pcVar24 = *(code **)(puVar23 + 0x1cba08);\n              if (pIVar5->colorspace == GRAYColorspace) goto LAB_001dd4bc;\n              dVar26 = *(double *)(iVar2 + 0x28) - *(double *)(iVar2 + 0x30);\n              if (dVar26 < 0.0) {\n                dVar26 = -dVar26;\n              }\n              if (dVar26 < *(double *)(*(int *)(puVar23 + 0x1cb5a8) + 0x13f8)) {\n                dVar26 = *(double *)(iVar2 + 0x30) - *(double *)(iVar2 + 0x38);\n                if (dVar26 < 0.0) {\n                  dVar26 = -dVar26;\n                }\n                if (dVar26 < *(double *)(*(int *)(puVar23 + 0x1cb5a8) + 0x13f8)) goto LAB_001dd4b8;\n              }\n            }\n            if ((pIVar5->alpha_trait == UndefinedPixelTrait) && (*(int *)(iVar2 + 8) != 0)) {\n              (**(code **)(puVar23 + 0x1cb940))\n                        (pIVar5,*(undefined4 *)(*(int *)(puVar23 + 0x1cb5a8) + 0x1a50),pIVar4);\n            }\n            if (puVar16 != (undefined *)0x0) {\n              unaff_s6 = auStack_c8;\n              (**(code **)(puVar23 + 0x1cbf7c))(pIVar5,unaff_s6);\n              uVar6 = (**(code **)(puVar23 + 0x1cc11c))(puVar16,&uStack_f0);\n              uStack_80 = 0;\n              uStack_a0 = uStack_f0;\n              uStack_98 = uStack_f0;\n              uStack_90 = uStack_f0;\n              uStack_88 = uStack_f0;\n              if ((uVar6 & 8) != 0) {\n                uStack_98 = uStack_e8;\n              }\n              if ((uVar6 & 1) != 0) {\n                uStack_90 = uStack_e0;\n              }\n              if ((uVar6 & 2) == 0) {\n                pcVar24 = *(code **)(puVar23 + 0x1cc41c);\n                uVar27 = uStack_88;\n                if (iStack_c4 == 2) goto LAB_001dd6b0;\n              }\n              else {\n                uStack_80 = uStack_d8;\n                uVar27 = uStack_d8;\n                if (iStack_c4 == 2) {\nLAB_001dd6b0:\n                  uStack_88 = uVar27;\n                  pcVar24 = *(code **)(puVar23 + 0x1cc41c);\n                  if ((uVar6 & 0x10) != 0) {\n                    uStack_80 = uStack_d0;\n                  }\n                }\n                else {\n                  pcVar24 = *(code **)(puVar23 + 0x1cc41c);\n                }\n              }\n              uStack_114 = 0;\n              uStack_118 = 0;\n              puVar16 = (undefined *)(*pcVar24)(pIVar5,pIVar4);\n              iVar3 = (**(code **)(puVar23 + 0x1cc17c))(pIVar5);\n              if (((iVar3 == 4) || (iVar3 = (**(code **)(puVar23 + 0x1cc17c))(pIVar5), iVar3 == 3))\n                 && ((iVar3 = (**(code **)(puVar23 + 0x1cc17c))(pIVar5), iVar3 == 4 ||\n                     (iVar3 = (**(code **)(puVar23 + 0x1cc17c))(pIVar5), iVar3 == 3)))) {\n                (**(code **)(puVar23 + 0x1cbe04))(7);\n                sVar7 = pIVar5->rows;\n                sVar14 = sVar7;\n                if ((int)sVar7 < 0) {\n                  sVar14 = sVar7 + 0x3f;\n                }\n                if (extraout_v1 < (int)sVar14 >> 6) {\n                  (**(code **)(puVar23 + 0x1cbe04))(7);\n                  bVar1 = extraout_v1_02 < 2;\n                }\n                else {\n                  bVar1 = (int)sVar7 < 0x80;\n                }\n                iVar3 = 1;\n                if ((bool)(bVar1 ^ 1)) {\n                  (**(code **)(puVar23 + 0x1cbe04))(7);\n                  sVar14 = pIVar5->rows;\n                  if ((int)sVar14 < 0) {\n                    sVar14 = sVar14 + 0x3f;\n                  }\n                  iVar3 = (int)sVar14 >> 6;\n                  iVar13 = *(int *)(puVar23 + 0x1cb66c);\n                  if (extraout_v1_01 < iVar3) {\n                    pcVar24 = *(code **)(puVar23 + 0x1cbe04);\n                    goto LAB_001dd7c0;\n                  }\n                }\n                else {\n                  iVar13 = *(int *)(puVar23 + 0x1cb66c);\n                }\n              }\n              else {\n                uVar27 = (**(code **)(puVar23 + 0x1cbe04))(7);\n                if ((int)((ulonglong)uVar27 >> 0x20) == 0) {\n                  pcVar24 = *(code **)(puVar23 + 0x1cbe04);\n                  if (1 < (uint)uVar27) goto LAB_001dd5d4;\n                  uVar27 = (*pcVar24)(7);\n                  if ((int)((ulonglong)uVar27 >> 0x20) != 0) goto LAB_001dd5d0;\n                  pcVar24 = *(code **)(puVar23 + 0x1cbe04);\n                  if (1 < (uint)uVar27) goto LAB_001dd5d4;\n                  iVar3 = 1;\n                }\n                else {\nLAB_001dd5d0:\n                  pcVar24 = *(code **)(puVar23 + 0x1cbe04);\nLAB_001dd5d4:\n                  uVar27 = (*pcVar24)(7);\n                  if (((int)((ulonglong)uVar27 >> 0x20) == 0) &&\n                     (pcVar24 = *(code **)(puVar23 + 0x1cbe04), (uint)uVar27 < 2)) {\nLAB_001dd7c0:\n                    (*pcVar24)(7);\n                    iVar3 = extraout_v1_00;\n                  }\n                  else {\n                    iVar3 = 2;\n                  }\n                }\n                iVar13 = *(int *)(puVar23 + 0x1cb66c);\n              }\n              pIStack_f8 = (Image *)0x1;\n              puStack_f4 = &uStack_118;\n              puStack_110 = puVar12;\n              iStack_10c = iVar2;\n              pIStack_108 = pIVar4;\n              puStack_104 = puVar16;\n              pIStack_100 = pIVar5;\n              puStack_fc = unaff_s6;\n              (**(code **)(puVar23 + 0x1cbe60))(iVar13 + -0x43b4,&puStack_110,iVar3,0);\n              pIVar4 = pIStack_f8;\n              (**(code **)(puVar23 + 0x1cbbbc))(puVar16);\n              if (pIVar4 == (Image *)0x0) {\n                in_stack_00000018 = (Image *)(**(code **)(puVar23 + 0x1cbc14))(pIVar5);\n              }\n            }\n          }\n        }\n        unaff_s1 = pIVar4;\n        unaff_s3 = iVar2;\n        unaff_s5 = puVar16;\n        if (iStack_6c == *piVar21) {\n          return in_stack_00000018;\n        }\n        goto LAB_001dd890;\n      }\n      goto LAB_001dd8c0;\n    }" if (parenthesized_expression "(pIVar4 != (Image *)0x0)" ( (binary_expression "pIVar4 != (Image *)0x0" identifier != (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      if (pIVar4->rows == 0xabacadab) {\n        pIVar5 = (Image *)(**(code **)(puVar23 + 0x1cc4f8))(puVar12,0,0,1);\n        in_stack_00000018 = pIVar5;\n        if (pIVar5 != (Image *)0x0) {\n          iVar3 = (**(code **)(puVar23 + 0x1cc4ec))(pIVar5,1,pIVar4);\n          if (iVar3 == 0) {\n            in_stack_00000018 = (Image *)0x0;\n            (**(code **)(puVar23 + 0x1cbc14))(pIVar5);\n          }\n          else {\n            if (pIVar5->colorspace == LinearGRAYColorspace) {\nLAB_001dd4b8:\n              pcVar24 = *(code **)(puVar23 + 0x1cba08);\nLAB_001dd4bc:\n              (*pcVar24)(pIVar5,0x17,pIVar4);\n            }\n            else {\n              pcVar24 = *(code **)(puVar23 + 0x1cba08);\n              if (pIVar5->colorspace == GRAYColorspace) goto LAB_001dd4bc;\n              dVar26 = *(double *)(iVar2 + 0x28) - *(double *)(iVar2 + 0x30);\n              if (dVar26 < 0.0) {\n                dVar26 = -dVar26;\n              }\n              if (dVar26 < *(double *)(*(int *)(puVar23 + 0x1cb5a8) + 0x13f8)) {\n                dVar26 = *(double *)(iVar2 + 0x30) - *(double *)(iVar2 + 0x38);\n                if (dVar26 < 0.0) {\n                  dVar26 = -dVar26;\n                }\n                if (dVar26 < *(double *)(*(int *)(puVar23 + 0x1cb5a8) + 0x13f8)) goto LAB_001dd4b8;\n              }\n            }\n            if ((pIVar5->alpha_trait == UndefinedPixelTrait) && (*(int *)(iVar2 + 8) != 0)) {\n              (**(code **)(puVar23 + 0x1cb940))\n                        (pIVar5,*(undefined4 *)(*(int *)(puVar23 + 0x1cb5a8) + 0x1a50),pIVar4);\n            }\n            if (puVar16 != (undefined *)0x0) {\n              unaff_s6 = auStack_c8;\n              (**(code **)(puVar23 + 0x1cbf7c))(pIVar5,unaff_s6);\n              uVar6 = (**(code **)(puVar23 + 0x1cc11c))(puVar16,&uStack_f0);\n              uStack_80 = 0;\n              uStack_a0 = uStack_f0;\n              uStack_98 = uStack_f0;\n              uStack_90 = uStack_f0;\n              uStack_88 = uStack_f0;\n              if ((uVar6 & 8) != 0) {\n                uStack_98 = uStack_e8;\n              }\n              if ((uVar6 & 1) != 0) {\n                uStack_90 = uStack_e0;\n              }\n              if ((uVar6 & 2) == 0) {\n                pcVar24 = *(code **)(puVar23 + 0x1cc41c);\n                uVar27 = uStack_88;\n                if (iStack_c4 == 2) goto LAB_001dd6b0;\n              }\n              else {\n                uStack_80 = uStack_d8;\n                uVar27 = uStack_d8;\n                if (iStack_c4 == 2) {\nLAB_001dd6b0:\n                  uStack_88 = uVar27;\n                  pcVar24 = *(code **)(puVar23 + 0x1cc41c);\n                  if ((uVar6 & 0x10) != 0) {\n                    uStack_80 = uStack_d0;\n                  }\n                }\n                else {\n                  pcVar24 = *(code **)(puVar23 + 0x1cc41c);\n                }\n              }\n              uStack_114 = 0;\n              uStack_118 = 0;\n              puVar16 = (undefined *)(*pcVar24)(pIVar5,pIVar4);\n              iVar3 = (**(code **)(puVar23 + 0x1cc17c))(pIVar5);\n              if (((iVar3 == 4) || (iVar3 = (**(code **)(puVar23 + 0x1cc17c))(pIVar5), iVar3 == 3))\n                 && ((iVar3 = (**(code **)(puVar23 + 0x1cc17c))(pIVar5), iVar3 == 4 ||\n                     (iVar3 = (**(code **)(puVar23 + 0x1cc17c))(pIVar5), iVar3 == 3)))) {\n                (**(code **)(puVar23 + 0x1cbe04))(7);\n                sVar7 = pIVar5->rows;\n                sVar14 = sVar7;\n                if ((int)sVar7 < 0) {\n                  sVar14 = sVar7 + 0x3f;\n                }\n                if (extraout_v1 < (int)sVar14 >> 6) {\n                  (**(code **)(puVar23 + 0x1cbe04))(7);\n                  bVar1 = extraout_v1_02 < 2;\n                }\n                else {\n                  bVar1 = (int)sVar7 < 0x80;\n                }\n                iVar3 = 1;\n                if ((bool)(bVar1 ^ 1)) {\n                  (**(code **)(puVar23 + 0x1cbe04))(7);\n                  sVar14 = pIVar5->rows;\n                  if ((int)sVar14 < 0) {\n                    sVar14 = sVar14 + 0x3f;\n                  }\n                  iVar3 = (int)sVar14 >> 6;\n                  iVar13 = *(int *)(puVar23 + 0x1cb66c);\n                  if (extraout_v1_01 < iVar3) {\n                    pcVar24 = *(code **)(puVar23 + 0x1cbe04);\n                    goto LAB_001dd7c0;\n                  }\n                }\n                else {\n                  iVar13 = *(int *)(puVar23 + 0x1cb66c);\n                }\n              }\n              else {\n                uVar27 = (**(code **)(puVar23 + 0x1cbe04))(7);\n                if ((int)((ulonglong)uVar27 >> 0x20) == 0) {\n                  pcVar24 = *(code **)(puVar23 + 0x1cbe04);\n                  if (1 < (uint)uVar27) goto LAB_001dd5d4;\n                  uVar27 = (*pcVar24)(7);\n                  if ((int)((ulonglong)uVar27 >> 0x20) != 0) goto LAB_001dd5d0;\n                  pcVar24 = *(code **)(puVar23 + 0x1cbe04);\n                  if (1 < (uint)uVar27) goto LAB_001dd5d4;\n                  iVar3 = 1;\n                }\n                else {\nLAB_001dd5d0:\n                  pcVar24 = *(code **)(puVar23 + 0x1cbe04);\nLAB_001dd5d4:\n                  uVar27 = (*pcVar24)(7);\n                  if (((int)((ulonglong)uVar27 >> 0x20) == 0) &&\n                     (pcVar24 = *(code **)(puVar23 + 0x1cbe04), (uint)uVar27 < 2)) {\nLAB_001dd7c0:\n                    (*pcVar24)(7);\n                    iVar3 = extraout_v1_00;\n                  }\n                  else {\n                    iVar3 = 2;\n                  }\n                }\n                iVar13 = *(int *)(puVar23 + 0x1cb66c);\n              }\n              pIStack_f8 = (Image *)0x1;\n              puStack_f4 = &uStack_118;\n              puStack_110 = puVar12;\n              iStack_10c = iVar2;\n              pIStack_108 = pIVar4;\n              puStack_104 = puVar16;\n              pIStack_100 = pIVar5;\n              puStack_fc = unaff_s6;\n              (**(code **)(puVar23 + 0x1cbe60))(iVar13 + -0x43b4,&puStack_110,iVar3,0);\n              pIVar4 = pIStack_f8;\n              (**(code **)(puVar23 + 0x1cbbbc))(puVar16);\n              if (pIVar4 == (Image *)0x0) {\n                in_stack_00000018 = (Image *)(**(code **)(puVar23 + 0x1cbc14))(pIVar5);\n              }\n            }\n          }\n        }\n        unaff_s1 = pIVar4;\n        unaff_s3 = iVar2;\n        unaff_s5 = puVar16;\n        if (iStack_6c == *piVar21) {\n          return in_stack_00000018;\n        }\n        goto LAB_001dd890;\n      }\n      goto LAB_001dd8c0;\n    }" { (if_statement "if (pIVar4->rows == 0xabacadab) {\n        pIVar5 = (Image *)(**(code **)(puVar23 + 0x1cc4f8))(puVar12,0,0,1);\n        in_stack_00000018 = pIVar5;\n        if (pIVar5 != (Image *)0x0) {\n          iVar3 = (**(code **)(puVar23 + 0x1cc4ec))(pIVar5,1,pIVar4);\n          if (iVar3 == 0) {\n            in_stack_00000018 = (Image *)0x0;\n            (**(code **)(puVar23 + 0x1cbc14))(pIVar5);\n          }\n          else {\n            if (pIVar5->colorspace == LinearGRAYColorspace) {\nLAB_001dd4b8:\n              pcVar24 = *(code **)(puVar23 + 0x1cba08);\nLAB_001dd4bc:\n              (*pcVar24)(pIVar5,0x17,pIVar4);\n            }\n            else {\n              pcVar24 = *(code **)(puVar23 + 0x1cba08);\n              if (pIVar5->colorspace == GRAYColorspace) goto LAB_001dd4bc;\n              dVar26 = *(double *)(iVar2 + 0x28) - *(double *)(iVar2 + 0x30);\n              if (dVar26 < 0.0) {\n                dVar26 = -dVar26;\n              }\n              if (dVar26 < *(double *)(*(int *)(puVar23 + 0x1cb5a8) + 0x13f8)) {\n                dVar26 = *(double *)(iVar2 + 0x30) - *(double *)(iVar2 + 0x38);\n                if (dVar26 < 0.0) {\n                  dVar26 = -dVar26;\n                }\n                if (dVar26 < *(double *)(*(int *)(puVar23 + 0x1cb5a8) + 0x13f8)) goto LAB_001dd4b8;\n              }\n            }\n            if ((pIVar5->alpha_trait == UndefinedPixelTrait) && (*(int *)(iVar2 + 8) != 0)) {\n              (**(code **)(puVar23 + 0x1cb940))\n                        (pIVar5,*(undefined4 *)(*(int *)(puVar23 + 0x1cb5a8) + 0x1a50),pIVar4);\n            }\n            if (puVar16 != (undefined *)0x0) {\n              unaff_s6 = auStack_c8;\n              (**(code **)(puVar23 + 0x1cbf7c))(pIVar5,unaff_s6);\n              uVar6 = (**(code **)(puVar23 + 0x1cc11c))(puVar16,&uStack_f0);\n              uStack_80 = 0;\n              uStack_a0 = uStack_f0;\n              uStack_98 = uStack_f0;\n              uStack_90 = uStack_f0;\n              uStack_88 = uStack_f0;\n              if ((uVar6 & 8) != 0) {\n                uStack_98 = uStack_e8;\n              }\n              if ((uVar6 & 1) != 0) {\n                uStack_90 = uStack_e0;\n              }\n              if ((uVar6 & 2) == 0) {\n                pcVar24 = *(code **)(puVar23 + 0x1cc41c);\n                uVar27 = uStack_88;\n                if (iStack_c4 == 2) goto LAB_001dd6b0;\n              }\n              else {\n                uStack_80 = uStack_d8;\n                uVar27 = uStack_d8;\n                if (iStack_c4 == 2) {\nLAB_001dd6b0:\n                  uStack_88 = uVar27;\n                  pcVar24 = *(code **)(puVar23 + 0x1cc41c);\n                  if ((uVar6 & 0x10) != 0) {\n                    uStack_80 = uStack_d0;\n                  }\n                }\n                else {\n                  pcVar24 = *(code **)(puVar23 + 0x1cc41c);\n                }\n              }\n              uStack_114 = 0;\n              uStack_118 = 0;\n              puVar16 = (undefined *)(*pcVar24)(pIVar5,pIVar4);\n              iVar3 = (**(code **)(puVar23 + 0x1cc17c))(pIVar5);\n              if (((iVar3 == 4) || (iVar3 = (**(code **)(puVar23 + 0x1cc17c))(pIVar5), iVar3 == 3))\n                 && ((iVar3 = (**(code **)(puVar23 + 0x1cc17c))(pIVar5), iVar3 == 4 ||\n                     (iVar3 = (**(code **)(puVar23 + 0x1cc17c))(pIVar5), iVar3 == 3)))) {\n                (**(code **)(puVar23 + 0x1cbe04))(7);\n                sVar7 = pIVar5->rows;\n                sVar14 = sVar7;\n                if ((int)sVar7 < 0) {\n                  sVar14 = sVar7 + 0x3f;\n                }\n                if (extraout_v1 < (int)sVar14 >> 6) {\n                  (**(code **)(puVar23 + 0x1cbe04))(7);\n                  bVar1 = extraout_v1_02 < 2;\n                }\n                else {\n                  bVar1 = (int)sVar7 < 0x80;\n                }\n                iVar3 = 1;\n                if ((bool)(bVar1 ^ 1)) {\n                  (**(code **)(puVar23 + 0x1cbe04))(7);\n                  sVar14 = pIVar5->rows;\n                  if ((int)sVar14 < 0) {\n                    sVar14 = sVar14 + 0x3f;\n                  }\n                  iVar3 = (int)sVar14 >> 6;\n                  iVar13 = *(int *)(puVar23 + 0x1cb66c);\n                  if (extraout_v1_01 < iVar3) {\n                    pcVar24 = *(code **)(puVar23 + 0x1cbe04);\n                    goto LAB_001dd7c0;\n                  }\n                }\n                else {\n                  iVar13 = *(int *)(puVar23 + 0x1cb66c);\n                }\n              }\n              else {\n                uVar27 = (**(code **)(puVar23 + 0x1cbe04))(7);\n                if ((int)((ulonglong)uVar27 >> 0x20) == 0) {\n                  pcVar24 = *(code **)(puVar23 + 0x1cbe04);\n                  if (1 < (uint)uVar27) goto LAB_001dd5d4;\n                  uVar27 = (*pcVar24)(7);\n                  if ((int)((ulonglong)uVar27 >> 0x20) != 0) goto LAB_001dd5d0;\n                  pcVar24 = *(code **)(puVar23 + 0x1cbe04);\n                  if (1 < (uint)uVar27) goto LAB_001dd5d4;\n                  iVar3 = 1;\n                }\n                else {\nLAB_001dd5d0:\n                  pcVar24 = *(code **)(puVar23 + 0x1cbe04);\nLAB_001dd5d4:\n                  uVar27 = (*pcVar24)(7);\n                  if (((int)((ulonglong)uVar27 >> 0x20) == 0) &&\n                     (pcVar24 = *(code **)(puVar23 + 0x1cbe04), (uint)uVar27 < 2)) {\nLAB_001dd7c0:\n                    (*pcVar24)(7);\n                    iVar3 = extraout_v1_00;\n                  }\n                  else {\n                    iVar3 = 2;\n                  }\n                }\n                iVar13 = *(int *)(puVar23 + 0x1cb66c);\n              }\n              pIStack_f8 = (Image *)0x1;\n              puStack_f4 = &uStack_118;\n              puStack_110 = puVar12;\n              iStack_10c = iVar2;\n              pIStack_108 = pIVar4;\n              puStack_104 = puVar16;\n              pIStack_100 = pIVar5;\n              puStack_fc = unaff_s6;\n              (**(code **)(puVar23 + 0x1cbe60))(iVar13 + -0x43b4,&puStack_110,iVar3,0);\n              pIVar4 = pIStack_f8;\n              (**(code **)(puVar23 + 0x1cbbbc))(puVar16);\n              if (pIVar4 == (Image *)0x0) {\n                in_stack_00000018 = (Image *)(**(code **)(puVar23 + 0x1cbc14))(pIVar5);\n              }\n            }\n          }\n        }\n        unaff_s1 = pIVar4;\n        unaff_s3 = iVar2;\n        unaff_s5 = puVar16;\n        if (iStack_6c == *piVar21) {\n          return in_stack_00000018;\n        }\n        goto LAB_001dd890;\n      }" if (parenthesized_expression "(pIVar4->rows == 0xabacadab)" ( (binary_expression "pIVar4->rows == 0xabacadab" (field_expression "pIVar4->rows" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n        pIVar5 = (Image *)(**(code **)(puVar23 + 0x1cc4f8))(puVar12,0,0,1);\n        in_stack_00000018 = pIVar5;\n        if (pIVar5 != (Image *)0x0) {\n          iVar3 = (**(code **)(puVar23 + 0x1cc4ec))(pIVar5,1,pIVar4);\n          if (iVar3 == 0) {\n            in_stack_00000018 = (Image *)0x0;\n            (**(code **)(puVar23 + 0x1cbc14))(pIVar5);\n          }\n          else {\n            if (pIVar5->colorspace == LinearGRAYColorspace) {\nLAB_001dd4b8:\n              pcVar24 = *(code **)(puVar23 + 0x1cba08);\nLAB_001dd4bc:\n              (*pcVar24)(pIVar5,0x17,pIVar4);\n            }\n            else {\n              pcVar24 = *(code **)(puVar23 + 0x1cba08);\n              if (pIVar5->colorspace == GRAYColorspace) goto LAB_001dd4bc;\n              dVar26 = *(double *)(iVar2 + 0x28) - *(double *)(iVar2 + 0x30);\n              if (dVar26 < 0.0) {\n                dVar26 = -dVar26;\n              }\n              if (dVar26 < *(double *)(*(int *)(puVar23 + 0x1cb5a8) + 0x13f8)) {\n                dVar26 = *(double *)(iVar2 + 0x30) - *(double *)(iVar2 + 0x38);\n                if (dVar26 < 0.0) {\n                  dVar26 = -dVar26;\n                }\n                if (dVar26 < *(double *)(*(int *)(puVar23 + 0x1cb5a8) + 0x13f8)) goto LAB_001dd4b8;\n              }\n            }\n            if ((pIVar5->alpha_trait == UndefinedPixelTrait) && (*(int *)(iVar2 + 8) != 0)) {\n              (**(code **)(puVar23 + 0x1cb940))\n                        (pIVar5,*(undefined4 *)(*(int *)(puVar23 + 0x1cb5a8) + 0x1a50),pIVar4);\n            }\n            if (puVar16 != (undefined *)0x0) {\n              unaff_s6 = auStack_c8;\n              (**(code **)(puVar23 + 0x1cbf7c))(pIVar5,unaff_s6);\n              uVar6 = (**(code **)(puVar23 + 0x1cc11c))(puVar16,&uStack_f0);\n              uStack_80 = 0;\n              uStack_a0 = uStack_f0;\n              uStack_98 = uStack_f0;\n              uStack_90 = uStack_f0;\n              uStack_88 = uStack_f0;\n              if ((uVar6 & 8) != 0) {\n                uStack_98 = uStack_e8;\n              }\n              if ((uVar6 & 1) != 0) {\n                uStack_90 = uStack_e0;\n              }\n              if ((uVar6 & 2) == 0) {\n                pcVar24 = *(code **)(puVar23 + 0x1cc41c);\n                uVar27 = uStack_88;\n                if (iStack_c4 == 2) goto LAB_001dd6b0;\n              }\n              else {\n                uStack_80 = uStack_d8;\n                uVar27 = uStack_d8;\n                if (iStack_c4 == 2) {\nLAB_001dd6b0:\n                  uStack_88 = uVar27;\n                  pcVar24 = *(code **)(puVar23 + 0x1cc41c);\n                  if ((uVar6 & 0x10) != 0) {\n                    uStack_80 = uStack_d0;\n                  }\n                }\n                else {\n                  pcVar24 = *(code **)(puVar23 + 0x1cc41c);\n                }\n              }\n              uStack_114 = 0;\n              uStack_118 = 0;\n              puVar16 = (undefined *)(*pcVar24)(pIVar5,pIVar4);\n              iVar3 = (**(code **)(puVar23 + 0x1cc17c))(pIVar5);\n              if (((iVar3 == 4) || (iVar3 = (**(code **)(puVar23 + 0x1cc17c))(pIVar5), iVar3 == 3))\n                 && ((iVar3 = (**(code **)(puVar23 + 0x1cc17c))(pIVar5), iVar3 == 4 ||\n                     (iVar3 = (**(code **)(puVar23 + 0x1cc17c))(pIVar5), iVar3 == 3)))) {\n                (**(code **)(puVar23 + 0x1cbe04))(7);\n                sVar7 = pIVar5->rows;\n                sVar14 = sVar7;\n                if ((int)sVar7 < 0) {\n                  sVar14 = sVar7 + 0x3f;\n                }\n                if (extraout_v1 < (int)sVar14 >> 6) {\n                  (**(code **)(puVar23 + 0x1cbe04))(7);\n                  bVar1 = extraout_v1_02 < 2;\n                }\n                else {\n                  bVar1 = (int)sVar7 < 0x80;\n                }\n                iVar3 = 1;\n                if ((bool)(bVar1 ^ 1)) {\n                  (**(code **)(puVar23 + 0x1cbe04))(7);\n                  sVar14 = pIVar5->rows;\n                  if ((int)sVar14 < 0) {\n                    sVar14 = sVar14 + 0x3f;\n                  }\n                  iVar3 = (int)sVar14 >> 6;\n                  iVar13 = *(int *)(puVar23 + 0x1cb66c);\n                  if (extraout_v1_01 < iVar3) {\n                    pcVar24 = *(code **)(puVar23 + 0x1cbe04);\n                    goto LAB_001dd7c0;\n                  }\n                }\n                else {\n                  iVar13 = *(int *)(puVar23 + 0x1cb66c);\n                }\n              }\n              else {\n                uVar27 = (**(code **)(puVar23 + 0x1cbe04))(7);\n                if ((int)((ulonglong)uVar27 >> 0x20) == 0) {\n                  pcVar24 = *(code **)(puVar23 + 0x1cbe04);\n                  if (1 < (uint)uVar27) goto LAB_001dd5d4;\n                  uVar27 = (*pcVar24)(7);\n                  if ((int)((ulonglong)uVar27 >> 0x20) != 0) goto LAB_001dd5d0;\n                  pcVar24 = *(code **)(puVar23 + 0x1cbe04);\n                  if (1 < (uint)uVar27) goto LAB_001dd5d4;\n                  iVar3 = 1;\n                }\n                else {\nLAB_001dd5d0:\n                  pcVar24 = *(code **)(puVar23 + 0x1cbe04);\nLAB_001dd5d4:\n                  uVar27 = (*pcVar24)(7);\n                  if (((int)((ulonglong)uVar27 >> 0x20) == 0) &&\n                     (pcVar24 = *(code **)(puVar23 + 0x1cbe04), (uint)uVar27 < 2)) {\nLAB_001dd7c0:\n                    (*pcVar24)(7);\n                    iVar3 = extraout_v1_00;\n                  }\n                  else {\n                    iVar3 = 2;\n                  }\n                }\n                iVar13 = *(int *)(puVar23 + 0x1cb66c);\n              }\n              pIStack_f8 = (Image *)0x1;\n              puStack_f4 = &uStack_118;\n              puStack_110 = puVar12;\n              iStack_10c = iVar2;\n              pIStack_108 = pIVar4;\n              puStack_104 = puVar16;\n              pIStack_100 = pIVar5;\n              puStack_fc = unaff_s6;\n              (**(code **)(puVar23 + 0x1cbe60))(iVar13 + -0x43b4,&puStack_110,iVar3,0);\n              pIVar4 = pIStack_f8;\n              (**(code **)(puVar23 + 0x1cbbbc))(puVar16);\n              if (pIVar4 == (Image *)0x0) {\n                in_stack_00000018 = (Image *)(**(code **)(puVar23 + 0x1cbc14))(pIVar5);\n              }\n            }\n          }\n        }\n        unaff_s1 = pIVar4;\n        unaff_s3 = iVar2;\n        unaff_s5 = puVar16;\n        if (iStack_6c == *piVar21) {\n          return in_stack_00000018;\n        }\n        goto LAB_001dd890;\n      }" { (expression_statement "pIVar5 = (Image *)(**(code **)(puVar23 + 0x1cc4f8))(puVar12,0,0,1);" (assignment_expression "pIVar5 = (Image *)(**(code **)(puVar23 + 0x1cc4f8))(puVar12,0,0,1)" identifier = (cast_expression "(Image *)(**(code **)(puVar23 + 0x1cc4f8))(puVar12,0,0,1)" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar23 + 0x1cc4f8))(puVar12,0,0,1)" (parenthesized_expression "(**(code **)(puVar23 + 0x1cc4f8))" ( (pointer_expression "**(code **)(puVar23 + 0x1cc4f8)" * (pointer_expression "*(code **)(puVar23 + 0x1cc4f8)" * (cast_expression "(code **)(puVar23 + 0x1cc4f8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + 0x1cc4f8)" ( (binary_expression "puVar23 + 0x1cc4f8" identifier + number_literal) ))))) )) (argument_list "(puVar12,0,0,1)" ( identifier , number_literal , number_literal , number_literal ))))) ;) (expression_statement "in_stack_00000018 = pIVar5;" (assignment_expression "in_stack_00000018 = pIVar5" identifier = identifier) ;) (if_statement "if (pIVar5 != (Image *)0x0) {\n          iVar3 = (**(code **)(puVar23 + 0x1cc4ec))(pIVar5,1,pIVar4);\n          if (iVar3 == 0) {\n            in_stack_00000018 = (Image *)0x0;\n            (**(code **)(puVar23 + 0x1cbc14))(pIVar5);\n          }\n          else {\n            if (pIVar5->colorspace == LinearGRAYColorspace) {\nLAB_001dd4b8:\n              pcVar24 = *(code **)(puVar23 + 0x1cba08);\nLAB_001dd4bc:\n              (*pcVar24)(pIVar5,0x17,pIVar4);\n            }\n            else {\n              pcVar24 = *(code **)(puVar23 + 0x1cba08);\n              if (pIVar5->colorspace == GRAYColorspace) goto LAB_001dd4bc;\n              dVar26 = *(double *)(iVar2 + 0x28) - *(double *)(iVar2 + 0x30);\n              if (dVar26 < 0.0) {\n                dVar26 = -dVar26;\n              }\n              if (dVar26 < *(double *)(*(int *)(puVar23 + 0x1cb5a8) + 0x13f8)) {\n                dVar26 = *(double *)(iVar2 + 0x30) - *(double *)(iVar2 + 0x38);\n                if (dVar26 < 0.0) {\n                  dVar26 = -dVar26;\n                }\n                if (dVar26 < *(double *)(*(int *)(puVar23 + 0x1cb5a8) + 0x13f8)) goto LAB_001dd4b8;\n              }\n            }\n            if ((pIVar5->alpha_trait == UndefinedPixelTrait) && (*(int *)(iVar2 + 8) != 0)) {\n              (**(code **)(puVar23 + 0x1cb940))\n                        (pIVar5,*(undefined4 *)(*(int *)(puVar23 + 0x1cb5a8) + 0x1a50),pIVar4);\n            }\n            if (puVar16 != (undefined *)0x0) {\n              unaff_s6 = auStack_c8;\n              (**(code **)(puVar23 + 0x1cbf7c))(pIVar5,unaff_s6);\n              uVar6 = (**(code **)(puVar23 + 0x1cc11c))(puVar16,&uStack_f0);\n              uStack_80 = 0;\n              uStack_a0 = uStack_f0;\n              uStack_98 = uStack_f0;\n              uStack_90 = uStack_f0;\n              uStack_88 = uStack_f0;\n              if ((uVar6 & 8) != 0) {\n                uStack_98 = uStack_e8;\n              }\n              if ((uVar6 & 1) != 0) {\n                uStack_90 = uStack_e0;\n              }\n              if ((uVar6 & 2) == 0) {\n                pcVar24 = *(code **)(puVar23 + 0x1cc41c);\n                uVar27 = uStack_88;\n                if (iStack_c4 == 2) goto LAB_001dd6b0;\n              }\n              else {\n                uStack_80 = uStack_d8;\n                uVar27 = uStack_d8;\n                if (iStack_c4 == 2) {\nLAB_001dd6b0:\n                  uStack_88 = uVar27;\n                  pcVar24 = *(code **)(puVar23 + 0x1cc41c);\n                  if ((uVar6 & 0x10) != 0) {\n                    uStack_80 = uStack_d0;\n                  }\n                }\n                else {\n                  pcVar24 = *(code **)(puVar23 + 0x1cc41c);\n                }\n              }\n              uStack_114 = 0;\n              uStack_118 = 0;\n              puVar16 = (undefined *)(*pcVar24)(pIVar5,pIVar4);\n              iVar3 = (**(code **)(puVar23 + 0x1cc17c))(pIVar5);\n              if (((iVar3 == 4) || (iVar3 = (**(code **)(puVar23 + 0x1cc17c))(pIVar5), iVar3 == 3))\n                 && ((iVar3 = (**(code **)(puVar23 + 0x1cc17c))(pIVar5), iVar3 == 4 ||\n                     (iVar3 = (**(code **)(puVar23 + 0x1cc17c))(pIVar5), iVar3 == 3)))) {\n                (**(code **)(puVar23 + 0x1cbe04))(7);\n                sVar7 = pIVar5->rows;\n                sVar14 = sVar7;\n                if ((int)sVar7 < 0) {\n                  sVar14 = sVar7 + 0x3f;\n                }\n                if (extraout_v1 < (int)sVar14 >> 6) {\n                  (**(code **)(puVar23 + 0x1cbe04))(7);\n                  bVar1 = extraout_v1_02 < 2;\n                }\n                else {\n                  bVar1 = (int)sVar7 < 0x80;\n                }\n                iVar3 = 1;\n                if ((bool)(bVar1 ^ 1)) {\n                  (**(code **)(puVar23 + 0x1cbe04))(7);\n                  sVar14 = pIVar5->rows;\n                  if ((int)sVar14 < 0) {\n                    sVar14 = sVar14 + 0x3f;\n                  }\n                  iVar3 = (int)sVar14 >> 6;\n                  iVar13 = *(int *)(puVar23 + 0x1cb66c);\n                  if (extraout_v1_01 < iVar3) {\n                    pcVar24 = *(code **)(puVar23 + 0x1cbe04);\n                    goto LAB_001dd7c0;\n                  }\n                }\n                else {\n                  iVar13 = *(int *)(puVar23 + 0x1cb66c);\n                }\n              }\n              else {\n                uVar27 = (**(code **)(puVar23 + 0x1cbe04))(7);\n                if ((int)((ulonglong)uVar27 >> 0x20) == 0) {\n                  pcVar24 = *(code **)(puVar23 + 0x1cbe04);\n                  if (1 < (uint)uVar27) goto LAB_001dd5d4;\n                  uVar27 = (*pcVar24)(7);\n                  if ((int)((ulonglong)uVar27 >> 0x20) != 0) goto LAB_001dd5d0;\n                  pcVar24 = *(code **)(puVar23 + 0x1cbe04);\n                  if (1 < (uint)uVar27) goto LAB_001dd5d4;\n                  iVar3 = 1;\n                }\n                else {\nLAB_001dd5d0:\n                  pcVar24 = *(code **)(puVar23 + 0x1cbe04);\nLAB_001dd5d4:\n                  uVar27 = (*pcVar24)(7);\n                  if (((int)((ulonglong)uVar27 >> 0x20) == 0) &&\n                     (pcVar24 = *(code **)(puVar23 + 0x1cbe04), (uint)uVar27 < 2)) {\nLAB_001dd7c0:\n                    (*pcVar24)(7);\n                    iVar3 = extraout_v1_00;\n                  }\n                  else {\n                    iVar3 = 2;\n                  }\n                }\n                iVar13 = *(int *)(puVar23 + 0x1cb66c);\n              }\n              pIStack_f8 = (Image *)0x1;\n              puStack_f4 = &uStack_118;\n              puStack_110 = puVar12;\n              iStack_10c = iVar2;\n              pIStack_108 = pIVar4;\n              puStack_104 = puVar16;\n              pIStack_100 = pIVar5;\n              puStack_fc = unaff_s6;\n              (**(code **)(puVar23 + 0x1cbe60))(iVar13 + -0x43b4,&puStack_110,iVar3,0);\n              pIVar4 = pIStack_f8;\n              (**(code **)(puVar23 + 0x1cbbbc))(puVar16);\n              if (pIVar4 == (Image *)0x0) {\n                in_stack_00000018 = (Image *)(**(code **)(puVar23 + 0x1cbc14))(pIVar5);\n              }\n            }\n          }\n        }" if (parenthesized_expression "(pIVar5 != (Image *)0x0)" ( (binary_expression "pIVar5 != (Image *)0x0" identifier != (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          iVar3 = (**(code **)(puVar23 + 0x1cc4ec))(pIVar5,1,pIVar4);\n          if (iVar3 == 0) {\n            in_stack_00000018 = (Image *)0x0;\n            (**(code **)(puVar23 + 0x1cbc14))(pIVar5);\n          }\n          else {\n            if (pIVar5->colorspace == LinearGRAYColorspace) {\nLAB_001dd4b8:\n              pcVar24 = *(code **)(puVar23 + 0x1cba08);\nLAB_001dd4bc:\n              (*pcVar24)(pIVar5,0x17,pIVar4);\n            }\n            else {\n              pcVar24 = *(code **)(puVar23 + 0x1cba08);\n              if (pIVar5->colorspace == GRAYColorspace) goto LAB_001dd4bc;\n              dVar26 = *(double *)(iVar2 + 0x28) - *(double *)(iVar2 + 0x30);\n              if (dVar26 < 0.0) {\n                dVar26 = -dVar26;\n              }\n              if (dVar26 < *(double *)(*(int *)(puVar23 + 0x1cb5a8) + 0x13f8)) {\n                dVar26 = *(double *)(iVar2 + 0x30) - *(double *)(iVar2 + 0x38);\n                if (dVar26 < 0.0) {\n                  dVar26 = -dVar26;\n                }\n                if (dVar26 < *(double *)(*(int *)(puVar23 + 0x1cb5a8) + 0x13f8)) goto LAB_001dd4b8;\n              }\n            }\n            if ((pIVar5->alpha_trait == UndefinedPixelTrait) && (*(int *)(iVar2 + 8) != 0)) {\n              (**(code **)(puVar23 + 0x1cb940))\n                        (pIVar5,*(undefined4 *)(*(int *)(puVar23 + 0x1cb5a8) + 0x1a50),pIVar4);\n            }\n            if (puVar16 != (undefined *)0x0) {\n              unaff_s6 = auStack_c8;\n              (**(code **)(puVar23 + 0x1cbf7c))(pIVar5,unaff_s6);\n              uVar6 = (**(code **)(puVar23 + 0x1cc11c))(puVar16,&uStack_f0);\n              uStack_80 = 0;\n              uStack_a0 = uStack_f0;\n              uStack_98 = uStack_f0;\n              uStack_90 = uStack_f0;\n              uStack_88 = uStack_f0;\n              if ((uVar6 & 8) != 0) {\n                uStack_98 = uStack_e8;\n              }\n              if ((uVar6 & 1) != 0) {\n                uStack_90 = uStack_e0;\n              }\n              if ((uVar6 & 2) == 0) {\n                pcVar24 = *(code **)(puVar23 + 0x1cc41c);\n                uVar27 = uStack_88;\n                if (iStack_c4 == 2) goto LAB_001dd6b0;\n              }\n              else {\n                uStack_80 = uStack_d8;\n                uVar27 = uStack_d8;\n                if (iStack_c4 == 2) {\nLAB_001dd6b0:\n                  uStack_88 = uVar27;\n                  pcVar24 = *(code **)(puVar23 + 0x1cc41c);\n                  if ((uVar6 & 0x10) != 0) {\n                    uStack_80 = uStack_d0;\n                  }\n                }\n                else {\n                  pcVar24 = *(code **)(puVar23 + 0x1cc41c);\n                }\n              }\n              uStack_114 = 0;\n              uStack_118 = 0;\n              puVar16 = (undefined *)(*pcVar24)(pIVar5,pIVar4);\n              iVar3 = (**(code **)(puVar23 + 0x1cc17c))(pIVar5);\n              if (((iVar3 == 4) || (iVar3 = (**(code **)(puVar23 + 0x1cc17c))(pIVar5), iVar3 == 3))\n                 && ((iVar3 = (**(code **)(puVar23 + 0x1cc17c))(pIVar5), iVar3 == 4 ||\n                     (iVar3 = (**(code **)(puVar23 + 0x1cc17c))(pIVar5), iVar3 == 3)))) {\n                (**(code **)(puVar23 + 0x1cbe04))(7);\n                sVar7 = pIVar5->rows;\n                sVar14 = sVar7;\n                if ((int)sVar7 < 0) {\n                  sVar14 = sVar7 + 0x3f;\n                }\n                if (extraout_v1 < (int)sVar14 >> 6) {\n                  (**(code **)(puVar23 + 0x1cbe04))(7);\n                  bVar1 = extraout_v1_02 < 2;\n                }\n                else {\n                  bVar1 = (int)sVar7 < 0x80;\n                }\n                iVar3 = 1;\n                if ((bool)(bVar1 ^ 1)) {\n                  (**(code **)(puVar23 + 0x1cbe04))(7);\n                  sVar14 = pIVar5->rows;\n                  if ((int)sVar14 < 0) {\n                    sVar14 = sVar14 + 0x3f;\n                  }\n                  iVar3 = (int)sVar14 >> 6;\n                  iVar13 = *(int *)(puVar23 + 0x1cb66c);\n                  if (extraout_v1_01 < iVar3) {\n                    pcVar24 = *(code **)(puVar23 + 0x1cbe04);\n                    goto LAB_001dd7c0;\n                  }\n                }\n                else {\n                  iVar13 = *(int *)(puVar23 + 0x1cb66c);\n                }\n              }\n              else {\n                uVar27 = (**(code **)(puVar23 + 0x1cbe04))(7);\n                if ((int)((ulonglong)uVar27 >> 0x20) == 0) {\n                  pcVar24 = *(code **)(puVar23 + 0x1cbe04);\n                  if (1 < (uint)uVar27) goto LAB_001dd5d4;\n                  uVar27 = (*pcVar24)(7);\n                  if ((int)((ulonglong)uVar27 >> 0x20) != 0) goto LAB_001dd5d0;\n                  pcVar24 = *(code **)(puVar23 + 0x1cbe04);\n                  if (1 < (uint)uVar27) goto LAB_001dd5d4;\n                  iVar3 = 1;\n                }\n                else {\nLAB_001dd5d0:\n                  pcVar24 = *(code **)(puVar23 + 0x1cbe04);\nLAB_001dd5d4:\n                  uVar27 = (*pcVar24)(7);\n                  if (((int)((ulonglong)uVar27 >> 0x20) == 0) &&\n                     (pcVar24 = *(code **)(puVar23 + 0x1cbe04), (uint)uVar27 < 2)) {\nLAB_001dd7c0:\n                    (*pcVar24)(7);\n                    iVar3 = extraout_v1_00;\n                  }\n                  else {\n                    iVar3 = 2;\n                  }\n                }\n                iVar13 = *(int *)(puVar23 + 0x1cb66c);\n              }\n              pIStack_f8 = (Image *)0x1;\n              puStack_f4 = &uStack_118;\n              puStack_110 = puVar12;\n              iStack_10c = iVar2;\n              pIStack_108 = pIVar4;\n              puStack_104 = puVar16;\n              pIStack_100 = pIVar5;\n              puStack_fc = unaff_s6;\n              (**(code **)(puVar23 + 0x1cbe60))(iVar13 + -0x43b4,&puStack_110,iVar3,0);\n              pIVar4 = pIStack_f8;\n              (**(code **)(puVar23 + 0x1cbbbc))(puVar16);\n              if (pIVar4 == (Image *)0x0) {\n                in_stack_00000018 = (Image *)(**(code **)(puVar23 + 0x1cbc14))(pIVar5);\n              }\n            }\n          }\n        }" { (expression_statement "iVar3 = (**(code **)(puVar23 + 0x1cc4ec))(pIVar5,1,pIVar4);" (assignment_expression "iVar3 = (**(code **)(puVar23 + 0x1cc4ec))(pIVar5,1,pIVar4)" identifier = (call_expression "(**(code **)(puVar23 + 0x1cc4ec))(pIVar5,1,pIVar4)" (parenthesized_expression "(**(code **)(puVar23 + 0x1cc4ec))" ( (pointer_expression "**(code **)(puVar23 + 0x1cc4ec)" * (pointer_expression "*(code **)(puVar23 + 0x1cc4ec)" * (cast_expression "(code **)(puVar23 + 0x1cc4ec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + 0x1cc4ec)" ( (binary_expression "puVar23 + 0x1cc4ec" identifier + number_literal) ))))) )) (argument_list "(pIVar5,1,pIVar4)" ( identifier , number_literal , identifier )))) ;) (if_statement "if (iVar3 == 0) {\n            in_stack_00000018 = (Image *)0x0;\n            (**(code **)(puVar23 + 0x1cbc14))(pIVar5);\n          }\n          else {\n            if (pIVar5->colorspace == LinearGRAYColorspace) {\nLAB_001dd4b8:\n              pcVar24 = *(code **)(puVar23 + 0x1cba08);\nLAB_001dd4bc:\n              (*pcVar24)(pIVar5,0x17,pIVar4);\n            }\n            else {\n              pcVar24 = *(code **)(puVar23 + 0x1cba08);\n              if (pIVar5->colorspace == GRAYColorspace) goto LAB_001dd4bc;\n              dVar26 = *(double *)(iVar2 + 0x28) - *(double *)(iVar2 + 0x30);\n              if (dVar26 < 0.0) {\n                dVar26 = -dVar26;\n              }\n              if (dVar26 < *(double *)(*(int *)(puVar23 + 0x1cb5a8) + 0x13f8)) {\n                dVar26 = *(double *)(iVar2 + 0x30) - *(double *)(iVar2 + 0x38);\n                if (dVar26 < 0.0) {\n                  dVar26 = -dVar26;\n                }\n                if (dVar26 < *(double *)(*(int *)(puVar23 + 0x1cb5a8) + 0x13f8)) goto LAB_001dd4b8;\n              }\n            }\n            if ((pIVar5->alpha_trait == UndefinedPixelTrait) && (*(int *)(iVar2 + 8) != 0)) {\n              (**(code **)(puVar23 + 0x1cb940))\n                        (pIVar5,*(undefined4 *)(*(int *)(puVar23 + 0x1cb5a8) + 0x1a50),pIVar4);\n            }\n            if (puVar16 != (undefined *)0x0) {\n              unaff_s6 = auStack_c8;\n              (**(code **)(puVar23 + 0x1cbf7c))(pIVar5,unaff_s6);\n              uVar6 = (**(code **)(puVar23 + 0x1cc11c))(puVar16,&uStack_f0);\n              uStack_80 = 0;\n              uStack_a0 = uStack_f0;\n              uStack_98 = uStack_f0;\n              uStack_90 = uStack_f0;\n              uStack_88 = uStack_f0;\n              if ((uVar6 & 8) != 0) {\n                uStack_98 = uStack_e8;\n              }\n              if ((uVar6 & 1) != 0) {\n                uStack_90 = uStack_e0;\n              }\n              if ((uVar6 & 2) == 0) {\n                pcVar24 = *(code **)(puVar23 + 0x1cc41c);\n                uVar27 = uStack_88;\n                if (iStack_c4 == 2) goto LAB_001dd6b0;\n              }\n              else {\n                uStack_80 = uStack_d8;\n                uVar27 = uStack_d8;\n                if (iStack_c4 == 2) {\nLAB_001dd6b0:\n                  uStack_88 = uVar27;\n                  pcVar24 = *(code **)(puVar23 + 0x1cc41c);\n                  if ((uVar6 & 0x10) != 0) {\n                    uStack_80 = uStack_d0;\n                  }\n                }\n                else {\n                  pcVar24 = *(code **)(puVar23 + 0x1cc41c);\n                }\n              }\n              uStack_114 = 0;\n              uStack_118 = 0;\n              puVar16 = (undefined *)(*pcVar24)(pIVar5,pIVar4);\n              iVar3 = (**(code **)(puVar23 + 0x1cc17c))(pIVar5);\n              if (((iVar3 == 4) || (iVar3 = (**(code **)(puVar23 + 0x1cc17c))(pIVar5), iVar3 == 3))\n                 && ((iVar3 = (**(code **)(puVar23 + 0x1cc17c))(pIVar5), iVar3 == 4 ||\n                     (iVar3 = (**(code **)(puVar23 + 0x1cc17c))(pIVar5), iVar3 == 3)))) {\n                (**(code **)(puVar23 + 0x1cbe04))(7);\n                sVar7 = pIVar5->rows;\n                sVar14 = sVar7;\n                if ((int)sVar7 < 0) {\n                  sVar14 = sVar7 + 0x3f;\n                }\n                if (extraout_v1 < (int)sVar14 >> 6) {\n                  (**(code **)(puVar23 + 0x1cbe04))(7);\n                  bVar1 = extraout_v1_02 < 2;\n                }\n                else {\n                  bVar1 = (int)sVar7 < 0x80;\n                }\n                iVar3 = 1;\n                if ((bool)(bVar1 ^ 1)) {\n                  (**(code **)(puVar23 + 0x1cbe04))(7);\n                  sVar14 = pIVar5->rows;\n                  if ((int)sVar14 < 0) {\n                    sVar14 = sVar14 + 0x3f;\n                  }\n                  iVar3 = (int)sVar14 >> 6;\n                  iVar13 = *(int *)(puVar23 + 0x1cb66c);\n                  if (extraout_v1_01 < iVar3) {\n                    pcVar24 = *(code **)(puVar23 + 0x1cbe04);\n                    goto LAB_001dd7c0;\n                  }\n                }\n                else {\n                  iVar13 = *(int *)(puVar23 + 0x1cb66c);\n                }\n              }\n              else {\n                uVar27 = (**(code **)(puVar23 + 0x1cbe04))(7);\n                if ((int)((ulonglong)uVar27 >> 0x20) == 0) {\n                  pcVar24 = *(code **)(puVar23 + 0x1cbe04);\n                  if (1 < (uint)uVar27) goto LAB_001dd5d4;\n                  uVar27 = (*pcVar24)(7);\n                  if ((int)((ulonglong)uVar27 >> 0x20) != 0) goto LAB_001dd5d0;\n                  pcVar24 = *(code **)(puVar23 + 0x1cbe04);\n                  if (1 < (uint)uVar27) goto LAB_001dd5d4;\n                  iVar3 = 1;\n                }\n                else {\nLAB_001dd5d0:\n                  pcVar24 = *(code **)(puVar23 + 0x1cbe04);\nLAB_001dd5d4:\n                  uVar27 = (*pcVar24)(7);\n                  if (((int)((ulonglong)uVar27 >> 0x20) == 0) &&\n                     (pcVar24 = *(code **)(puVar23 + 0x1cbe04), (uint)uVar27 < 2)) {\nLAB_001dd7c0:\n                    (*pcVar24)(7);\n                    iVar3 = extraout_v1_00;\n                  }\n                  else {\n                    iVar3 = 2;\n                  }\n                }\n                iVar13 = *(int *)(puVar23 + 0x1cb66c);\n              }\n              pIStack_f8 = (Image *)0x1;\n              puStack_f4 = &uStack_118;\n              puStack_110 = puVar12;\n              iStack_10c = iVar2;\n              pIStack_108 = pIVar4;\n              puStack_104 = puVar16;\n              pIStack_100 = pIVar5;\n              puStack_fc = unaff_s6;\n              (**(code **)(puVar23 + 0x1cbe60))(iVar13 + -0x43b4,&puStack_110,iVar3,0);\n              pIVar4 = pIStack_f8;\n              (**(code **)(puVar23 + 0x1cbbbc))(puVar16);\n              if (pIVar4 == (Image *)0x0) {\n                in_stack_00000018 = (Image *)(**(code **)(puVar23 + 0x1cbc14))(pIVar5);\n              }\n            }\n          }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n            in_stack_00000018 = (Image *)0x0;\n            (**(code **)(puVar23 + 0x1cbc14))(pIVar5);\n          }" { (expression_statement "in_stack_00000018 = (Image *)0x0;" (assignment_expression "in_stack_00000018 = (Image *)0x0" identifier = (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(**(code **)(puVar23 + 0x1cbc14))(pIVar5);" (call_expression "(**(code **)(puVar23 + 0x1cbc14))(pIVar5)" (parenthesized_expression "(**(code **)(puVar23 + 0x1cbc14))" ( (pointer_expression "**(code **)(puVar23 + 0x1cbc14)" * (pointer_expression "*(code **)(puVar23 + 0x1cbc14)" * (cast_expression "(code **)(puVar23 + 0x1cbc14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + 0x1cbc14)" ( (binary_expression "puVar23 + 0x1cbc14" identifier + number_literal) ))))) )) (argument_list "(pIVar5)" ( identifier ))) ;) }) (else_clause "else {\n            if (pIVar5->colorspace == LinearGRAYColorspace) {\nLAB_001dd4b8:\n              pcVar24 = *(code **)(puVar23 + 0x1cba08);\nLAB_001dd4bc:\n              (*pcVar24)(pIVar5,0x17,pIVar4);\n            }\n            else {\n              pcVar24 = *(code **)(puVar23 + 0x1cba08);\n              if (pIVar5->colorspace == GRAYColorspace) goto LAB_001dd4bc;\n              dVar26 = *(double *)(iVar2 + 0x28) - *(double *)(iVar2 + 0x30);\n              if (dVar26 < 0.0) {\n                dVar26 = -dVar26;\n              }\n              if (dVar26 < *(double *)(*(int *)(puVar23 + 0x1cb5a8) + 0x13f8)) {\n                dVar26 = *(double *)(iVar2 + 0x30) - *(double *)(iVar2 + 0x38);\n                if (dVar26 < 0.0) {\n                  dVar26 = -dVar26;\n                }\n                if (dVar26 < *(double *)(*(int *)(puVar23 + 0x1cb5a8) + 0x13f8)) goto LAB_001dd4b8;\n              }\n            }\n            if ((pIVar5->alpha_trait == UndefinedPixelTrait) && (*(int *)(iVar2 + 8) != 0)) {\n              (**(code **)(puVar23 + 0x1cb940))\n                        (pIVar5,*(undefined4 *)(*(int *)(puVar23 + 0x1cb5a8) + 0x1a50),pIVar4);\n            }\n            if (puVar16 != (undefined *)0x0) {\n              unaff_s6 = auStack_c8;\n              (**(code **)(puVar23 + 0x1cbf7c))(pIVar5,unaff_s6);\n              uVar6 = (**(code **)(puVar23 + 0x1cc11c))(puVar16,&uStack_f0);\n              uStack_80 = 0;\n              uStack_a0 = uStack_f0;\n              uStack_98 = uStack_f0;\n              uStack_90 = uStack_f0;\n              uStack_88 = uStack_f0;\n              if ((uVar6 & 8) != 0) {\n                uStack_98 = uStack_e8;\n              }\n              if ((uVar6 & 1) != 0) {\n                uStack_90 = uStack_e0;\n              }\n              if ((uVar6 & 2) == 0) {\n                pcVar24 = *(code **)(puVar23 + 0x1cc41c);\n                uVar27 = uStack_88;\n                if (iStack_c4 == 2) goto LAB_001dd6b0;\n              }\n              else {\n                uStack_80 = uStack_d8;\n                uVar27 = uStack_d8;\n                if (iStack_c4 == 2) {\nLAB_001dd6b0:\n                  uStack_88 = uVar27;\n                  pcVar24 = *(code **)(puVar23 + 0x1cc41c);\n                  if ((uVar6 & 0x10) != 0) {\n                    uStack_80 = uStack_d0;\n                  }\n                }\n                else {\n                  pcVar24 = *(code **)(puVar23 + 0x1cc41c);\n                }\n              }\n              uStack_114 = 0;\n              uStack_118 = 0;\n              puVar16 = (undefined *)(*pcVar24)(pIVar5,pIVar4);\n              iVar3 = (**(code **)(puVar23 + 0x1cc17c))(pIVar5);\n              if (((iVar3 == 4) || (iVar3 = (**(code **)(puVar23 + 0x1cc17c))(pIVar5), iVar3 == 3))\n                 && ((iVar3 = (**(code **)(puVar23 + 0x1cc17c))(pIVar5), iVar3 == 4 ||\n                     (iVar3 = (**(code **)(puVar23 + 0x1cc17c))(pIVar5), iVar3 == 3)))) {\n                (**(code **)(puVar23 + 0x1cbe04))(7);\n                sVar7 = pIVar5->rows;\n                sVar14 = sVar7;\n                if ((int)sVar7 < 0) {\n                  sVar14 = sVar7 + 0x3f;\n                }\n                if (extraout_v1 < (int)sVar14 >> 6) {\n                  (**(code **)(puVar23 + 0x1cbe04))(7);\n                  bVar1 = extraout_v1_02 < 2;\n                }\n                else {\n                  bVar1 = (int)sVar7 < 0x80;\n                }\n                iVar3 = 1;\n                if ((bool)(bVar1 ^ 1)) {\n                  (**(code **)(puVar23 + 0x1cbe04))(7);\n                  sVar14 = pIVar5->rows;\n                  if ((int)sVar14 < 0) {\n                    sVar14 = sVar14 + 0x3f;\n                  }\n                  iVar3 = (int)sVar14 >> 6;\n                  iVar13 = *(int *)(puVar23 + 0x1cb66c);\n                  if (extraout_v1_01 < iVar3) {\n                    pcVar24 = *(code **)(puVar23 + 0x1cbe04);\n                    goto LAB_001dd7c0;\n                  }\n                }\n                else {\n                  iVar13 = *(int *)(puVar23 + 0x1cb66c);\n                }\n              }\n              else {\n                uVar27 = (**(code **)(puVar23 + 0x1cbe04))(7);\n                if ((int)((ulonglong)uVar27 >> 0x20) == 0) {\n                  pcVar24 = *(code **)(puVar23 + 0x1cbe04);\n                  if (1 < (uint)uVar27) goto LAB_001dd5d4;\n                  uVar27 = (*pcVar24)(7);\n                  if ((int)((ulonglong)uVar27 >> 0x20) != 0) goto LAB_001dd5d0;\n                  pcVar24 = *(code **)(puVar23 + 0x1cbe04);\n                  if (1 < (uint)uVar27) goto LAB_001dd5d4;\n                  iVar3 = 1;\n                }\n                else {\nLAB_001dd5d0:\n                  pcVar24 = *(code **)(puVar23 + 0x1cbe04);\nLAB_001dd5d4:\n                  uVar27 = (*pcVar24)(7);\n                  if (((int)((ulonglong)uVar27 >> 0x20) == 0) &&\n                     (pcVar24 = *(code **)(puVar23 + 0x1cbe04), (uint)uVar27 < 2)) {\nLAB_001dd7c0:\n                    (*pcVar24)(7);\n                    iVar3 = extraout_v1_00;\n                  }\n                  else {\n                    iVar3 = 2;\n                  }\n                }\n                iVar13 = *(int *)(puVar23 + 0x1cb66c);\n              }\n              pIStack_f8 = (Image *)0x1;\n              puStack_f4 = &uStack_118;\n              puStack_110 = puVar12;\n              iStack_10c = iVar2;\n              pIStack_108 = pIVar4;\n              puStack_104 = puVar16;\n              pIStack_100 = pIVar5;\n              puStack_fc = unaff_s6;\n              (**(code **)(puVar23 + 0x1cbe60))(iVar13 + -0x43b4,&puStack_110,iVar3,0);\n              pIVar4 = pIStack_f8;\n              (**(code **)(puVar23 + 0x1cbbbc))(puVar16);\n              if (pIVar4 == (Image *)0x0) {\n                in_stack_00000018 = (Image *)(**(code **)(puVar23 + 0x1cbc14))(pIVar5);\n              }\n            }\n          }" else (compound_statement "{\n            if (pIVar5->colorspace == LinearGRAYColorspace) {\nLAB_001dd4b8:\n              pcVar24 = *(code **)(puVar23 + 0x1cba08);\nLAB_001dd4bc:\n              (*pcVar24)(pIVar5,0x17,pIVar4);\n            }\n            else {\n              pcVar24 = *(code **)(puVar23 + 0x1cba08);\n              if (pIVar5->colorspace == GRAYColorspace) goto LAB_001dd4bc;\n              dVar26 = *(double *)(iVar2 + 0x28) - *(double *)(iVar2 + 0x30);\n              if (dVar26 < 0.0) {\n                dVar26 = -dVar26;\n              }\n              if (dVar26 < *(double *)(*(int *)(puVar23 + 0x1cb5a8) + 0x13f8)) {\n                dVar26 = *(double *)(iVar2 + 0x30) - *(double *)(iVar2 + 0x38);\n                if (dVar26 < 0.0) {\n                  dVar26 = -dVar26;\n                }\n                if (dVar26 < *(double *)(*(int *)(puVar23 + 0x1cb5a8) + 0x13f8)) goto LAB_001dd4b8;\n              }\n            }\n            if ((pIVar5->alpha_trait == UndefinedPixelTrait) && (*(int *)(iVar2 + 8) != 0)) {\n              (**(code **)(puVar23 + 0x1cb940))\n                        (pIVar5,*(undefined4 *)(*(int *)(puVar23 + 0x1cb5a8) + 0x1a50),pIVar4);\n            }\n            if (puVar16 != (undefined *)0x0) {\n              unaff_s6 = auStack_c8;\n              (**(code **)(puVar23 + 0x1cbf7c))(pIVar5,unaff_s6);\n              uVar6 = (**(code **)(puVar23 + 0x1cc11c))(puVar16,&uStack_f0);\n              uStack_80 = 0;\n              uStack_a0 = uStack_f0;\n              uStack_98 = uStack_f0;\n              uStack_90 = uStack_f0;\n              uStack_88 = uStack_f0;\n              if ((uVar6 & 8) != 0) {\n                uStack_98 = uStack_e8;\n              }\n              if ((uVar6 & 1) != 0) {\n                uStack_90 = uStack_e0;\n              }\n              if ((uVar6 & 2) == 0) {\n                pcVar24 = *(code **)(puVar23 + 0x1cc41c);\n                uVar27 = uStack_88;\n                if (iStack_c4 == 2) goto LAB_001dd6b0;\n              }\n              else {\n                uStack_80 = uStack_d8;\n                uVar27 = uStack_d8;\n                if (iStack_c4 == 2) {\nLAB_001dd6b0:\n                  uStack_88 = uVar27;\n                  pcVar24 = *(code **)(puVar23 + 0x1cc41c);\n                  if ((uVar6 & 0x10) != 0) {\n                    uStack_80 = uStack_d0;\n                  }\n                }\n                else {\n                  pcVar24 = *(code **)(puVar23 + 0x1cc41c);\n                }\n              }\n              uStack_114 = 0;\n              uStack_118 = 0;\n              puVar16 = (undefined *)(*pcVar24)(pIVar5,pIVar4);\n              iVar3 = (**(code **)(puVar23 + 0x1cc17c))(pIVar5);\n              if (((iVar3 == 4) || (iVar3 = (**(code **)(puVar23 + 0x1cc17c))(pIVar5), iVar3 == 3))\n                 && ((iVar3 = (**(code **)(puVar23 + 0x1cc17c))(pIVar5), iVar3 == 4 ||\n                     (iVar3 = (**(code **)(puVar23 + 0x1cc17c))(pIVar5), iVar3 == 3)))) {\n                (**(code **)(puVar23 + 0x1cbe04))(7);\n                sVar7 = pIVar5->rows;\n                sVar14 = sVar7;\n                if ((int)sVar7 < 0) {\n                  sVar14 = sVar7 + 0x3f;\n                }\n                if (extraout_v1 < (int)sVar14 >> 6) {\n                  (**(code **)(puVar23 + 0x1cbe04))(7);\n                  bVar1 = extraout_v1_02 < 2;\n                }\n                else {\n                  bVar1 = (int)sVar7 < 0x80;\n                }\n                iVar3 = 1;\n                if ((bool)(bVar1 ^ 1)) {\n                  (**(code **)(puVar23 + 0x1cbe04))(7);\n                  sVar14 = pIVar5->rows;\n                  if ((int)sVar14 < 0) {\n                    sVar14 = sVar14 + 0x3f;\n                  }\n                  iVar3 = (int)sVar14 >> 6;\n                  iVar13 = *(int *)(puVar23 + 0x1cb66c);\n                  if (extraout_v1_01 < iVar3) {\n                    pcVar24 = *(code **)(puVar23 + 0x1cbe04);\n                    goto LAB_001dd7c0;\n                  }\n                }\n                else {\n                  iVar13 = *(int *)(puVar23 + 0x1cb66c);\n                }\n              }\n              else {\n                uVar27 = (**(code **)(puVar23 + 0x1cbe04))(7);\n                if ((int)((ulonglong)uVar27 >> 0x20) == 0) {\n                  pcVar24 = *(code **)(puVar23 + 0x1cbe04);\n                  if (1 < (uint)uVar27) goto LAB_001dd5d4;\n                  uVar27 = (*pcVar24)(7);\n                  if ((int)((ulonglong)uVar27 >> 0x20) != 0) goto LAB_001dd5d0;\n                  pcVar24 = *(code **)(puVar23 + 0x1cbe04);\n                  if (1 < (uint)uVar27) goto LAB_001dd5d4;\n                  iVar3 = 1;\n                }\n                else {\nLAB_001dd5d0:\n                  pcVar24 = *(code **)(puVar23 + 0x1cbe04);\nLAB_001dd5d4:\n                  uVar27 = (*pcVar24)(7);\n                  if (((int)((ulonglong)uVar27 >> 0x20) == 0) &&\n                     (pcVar24 = *(code **)(puVar23 + 0x1cbe04), (uint)uVar27 < 2)) {\nLAB_001dd7c0:\n                    (*pcVar24)(7);\n                    iVar3 = extraout_v1_00;\n                  }\n                  else {\n                    iVar3 = 2;\n                  }\n                }\n                iVar13 = *(int *)(puVar23 + 0x1cb66c);\n              }\n              pIStack_f8 = (Image *)0x1;\n              puStack_f4 = &uStack_118;\n              puStack_110 = puVar12;\n              iStack_10c = iVar2;\n              pIStack_108 = pIVar4;\n              puStack_104 = puVar16;\n              pIStack_100 = pIVar5;\n              puStack_fc = unaff_s6;\n              (**(code **)(puVar23 + 0x1cbe60))(iVar13 + -0x43b4,&puStack_110,iVar3,0);\n              pIVar4 = pIStack_f8;\n              (**(code **)(puVar23 + 0x1cbbbc))(puVar16);\n              if (pIVar4 == (Image *)0x0) {\n                in_stack_00000018 = (Image *)(**(code **)(puVar23 + 0x1cbc14))(pIVar5);\n              }\n            }\n          }" { (if_statement "if (pIVar5->colorspace == LinearGRAYColorspace) {\nLAB_001dd4b8:\n              pcVar24 = *(code **)(puVar23 + 0x1cba08);\nLAB_001dd4bc:\n              (*pcVar24)(pIVar5,0x17,pIVar4);\n            }\n            else {\n              pcVar24 = *(code **)(puVar23 + 0x1cba08);\n              if (pIVar5->colorspace == GRAYColorspace) goto LAB_001dd4bc;\n              dVar26 = *(double *)(iVar2 + 0x28) - *(double *)(iVar2 + 0x30);\n              if (dVar26 < 0.0) {\n                dVar26 = -dVar26;\n              }\n              if (dVar26 < *(double *)(*(int *)(puVar23 + 0x1cb5a8) + 0x13f8)) {\n                dVar26 = *(double *)(iVar2 + 0x30) - *(double *)(iVar2 + 0x38);\n                if (dVar26 < 0.0) {\n                  dVar26 = -dVar26;\n                }\n                if (dVar26 < *(double *)(*(int *)(puVar23 + 0x1cb5a8) + 0x13f8)) goto LAB_001dd4b8;\n              }\n            }" if (parenthesized_expression "(pIVar5->colorspace == LinearGRAYColorspace)" ( (binary_expression "pIVar5->colorspace == LinearGRAYColorspace" (field_expression "pIVar5->colorspace" identifier -> field_identifier) == identifier) )) (compound_statement "{\nLAB_001dd4b8:\n              pcVar24 = *(code **)(puVar23 + 0x1cba08);\nLAB_001dd4bc:\n              (*pcVar24)(pIVar5,0x17,pIVar4);\n            }" { (labeled_statement "LAB_001dd4b8:\n              pcVar24 = *(code **)(puVar23 + 0x1cba08);" statement_identifier : (expression_statement "pcVar24 = *(code **)(puVar23 + 0x1cba08);" (assignment_expression "pcVar24 = *(code **)(puVar23 + 0x1cba08)" identifier = (pointer_expression "*(code **)(puVar23 + 0x1cba08)" * (cast_expression "(code **)(puVar23 + 0x1cba08)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + 0x1cba08)" ( (binary_expression "puVar23 + 0x1cba08" identifier + number_literal) ))))) ;)) (labeled_statement "LAB_001dd4bc:\n              (*pcVar24)(pIVar5,0x17,pIVar4);" statement_identifier : (expression_statement "(*pcVar24)(pIVar5,0x17,pIVar4);" (call_expression "(*pcVar24)(pIVar5,0x17,pIVar4)" (parenthesized_expression "(*pcVar24)" ( (pointer_expression "*pcVar24" * identifier) )) (argument_list "(pIVar5,0x17,pIVar4)" ( identifier , number_literal , identifier ))) ;)) }) (else_clause "else {\n              pcVar24 = *(code **)(puVar23 + 0x1cba08);\n              if (pIVar5->colorspace == GRAYColorspace) goto LAB_001dd4bc;\n              dVar26 = *(double *)(iVar2 + 0x28) - *(double *)(iVar2 + 0x30);\n              if (dVar26 < 0.0) {\n                dVar26 = -dVar26;\n              }\n              if (dVar26 < *(double *)(*(int *)(puVar23 + 0x1cb5a8) + 0x13f8)) {\n                dVar26 = *(double *)(iVar2 + 0x30) - *(double *)(iVar2 + 0x38);\n                if (dVar26 < 0.0) {\n                  dVar26 = -dVar26;\n                }\n                if (dVar26 < *(double *)(*(int *)(puVar23 + 0x1cb5a8) + 0x13f8)) goto LAB_001dd4b8;\n              }\n            }" else (compound_statement "{\n              pcVar24 = *(code **)(puVar23 + 0x1cba08);\n              if (pIVar5->colorspace == GRAYColorspace) goto LAB_001dd4bc;\n              dVar26 = *(double *)(iVar2 + 0x28) - *(double *)(iVar2 + 0x30);\n              if (dVar26 < 0.0) {\n                dVar26 = -dVar26;\n              }\n              if (dVar26 < *(double *)(*(int *)(puVar23 + 0x1cb5a8) + 0x13f8)) {\n                dVar26 = *(double *)(iVar2 + 0x30) - *(double *)(iVar2 + 0x38);\n                if (dVar26 < 0.0) {\n                  dVar26 = -dVar26;\n                }\n                if (dVar26 < *(double *)(*(int *)(puVar23 + 0x1cb5a8) + 0x13f8)) goto LAB_001dd4b8;\n              }\n            }" { (expression_statement "pcVar24 = *(code **)(puVar23 + 0x1cba08);" (assignment_expression "pcVar24 = *(code **)(puVar23 + 0x1cba08)" identifier = (pointer_expression "*(code **)(puVar23 + 0x1cba08)" * (cast_expression "(code **)(puVar23 + 0x1cba08)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + 0x1cba08)" ( (binary_expression "puVar23 + 0x1cba08" identifier + number_literal) ))))) ;) (if_statement "if (pIVar5->colorspace == GRAYColorspace) goto LAB_001dd4bc;" if (parenthesized_expression "(pIVar5->colorspace == GRAYColorspace)" ( (binary_expression "pIVar5->colorspace == GRAYColorspace" (field_expression "pIVar5->colorspace" identifier -> field_identifier) == identifier) )) (goto_statement "goto LAB_001dd4bc;" goto statement_identifier ;)) (expression_statement "dVar26 = *(double *)(iVar2 + 0x28) - *(double *)(iVar2 + 0x30);" (assignment_expression "dVar26 = *(double *)(iVar2 + 0x28) - *(double *)(iVar2 + 0x30)" identifier = (binary_expression "*(double *)(iVar2 + 0x28) - *(double *)(iVar2 + 0x30)" (pointer_expression "*(double *)(iVar2 + 0x28)" * (cast_expression "(double *)(iVar2 + 0x28)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x28)" ( (binary_expression "iVar2 + 0x28" identifier + number_literal) )))) - (pointer_expression "*(double *)(iVar2 + 0x30)" * (cast_expression "(double *)(iVar2 + 0x30)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x30)" ( (binary_expression "iVar2 + 0x30" identifier + number_literal) )))))) ;) (if_statement "if (dVar26 < 0.0) {\n                dVar26 = -dVar26;\n              }" if (parenthesized_expression "(dVar26 < 0.0)" ( (binary_expression "dVar26 < 0.0" identifier < number_literal) )) (compound_statement "{\n                dVar26 = -dVar26;\n              }" { (expression_statement "dVar26 = -dVar26;" (assignment_expression "dVar26 = -dVar26" identifier = (unary_expression "-dVar26" - identifier)) ;) })) (if_statement "if (dVar26 < *(double *)(*(int *)(puVar23 + 0x1cb5a8) + 0x13f8)) {\n                dVar26 = *(double *)(iVar2 + 0x30) - *(double *)(iVar2 + 0x38);\n                if (dVar26 < 0.0) {\n                  dVar26 = -dVar26;\n                }\n                if (dVar26 < *(double *)(*(int *)(puVar23 + 0x1cb5a8) + 0x13f8)) goto LAB_001dd4b8;\n              }" if (parenthesized_expression "(dVar26 < *(double *)(*(int *)(puVar23 + 0x1cb5a8) + 0x13f8))" ( (binary_expression "dVar26 < *(double *)(*(int *)(puVar23 + 0x1cb5a8) + 0x13f8)" identifier < (pointer_expression "*(double *)(*(int *)(puVar23 + 0x1cb5a8) + 0x13f8)" * (cast_expression "(double *)(*(int *)(puVar23 + 0x1cb5a8) + 0x13f8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar23 + 0x1cb5a8) + 0x13f8)" ( (binary_expression "*(int *)(puVar23 + 0x1cb5a8) + 0x13f8" (pointer_expression "*(int *)(puVar23 + 0x1cb5a8)" * (cast_expression "(int *)(puVar23 + 0x1cb5a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + 0x1cb5a8)" ( (binary_expression "puVar23 + 0x1cb5a8" identifier + number_literal) )))) + number_literal) ))))) )) (compound_statement "{\n                dVar26 = *(double *)(iVar2 + 0x30) - *(double *)(iVar2 + 0x38);\n                if (dVar26 < 0.0) {\n                  dVar26 = -dVar26;\n                }\n                if (dVar26 < *(double *)(*(int *)(puVar23 + 0x1cb5a8) + 0x13f8)) goto LAB_001dd4b8;\n              }" { (expression_statement "dVar26 = *(double *)(iVar2 + 0x30) - *(double *)(iVar2 + 0x38);" (assignment_expression "dVar26 = *(double *)(iVar2 + 0x30) - *(double *)(iVar2 + 0x38)" identifier = (binary_expression "*(double *)(iVar2 + 0x30) - *(double *)(iVar2 + 0x38)" (pointer_expression "*(double *)(iVar2 + 0x30)" * (cast_expression "(double *)(iVar2 + 0x30)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x30)" ( (binary_expression "iVar2 + 0x30" identifier + number_literal) )))) - (pointer_expression "*(double *)(iVar2 + 0x38)" * (cast_expression "(double *)(iVar2 + 0x38)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x38)" ( (binary_expression "iVar2 + 0x38" identifier + number_literal) )))))) ;) (if_statement "if (dVar26 < 0.0) {\n                  dVar26 = -dVar26;\n                }" if (parenthesized_expression "(dVar26 < 0.0)" ( (binary_expression "dVar26 < 0.0" identifier < number_literal) )) (compound_statement "{\n                  dVar26 = -dVar26;\n                }" { (expression_statement "dVar26 = -dVar26;" (assignment_expression "dVar26 = -dVar26" identifier = (unary_expression "-dVar26" - identifier)) ;) })) (if_statement "if (dVar26 < *(double *)(*(int *)(puVar23 + 0x1cb5a8) + 0x13f8)) goto LAB_001dd4b8;" if (parenthesized_expression "(dVar26 < *(double *)(*(int *)(puVar23 + 0x1cb5a8) + 0x13f8))" ( (binary_expression "dVar26 < *(double *)(*(int *)(puVar23 + 0x1cb5a8) + 0x13f8)" identifier < (pointer_expression "*(double *)(*(int *)(puVar23 + 0x1cb5a8) + 0x13f8)" * (cast_expression "(double *)(*(int *)(puVar23 + 0x1cb5a8) + 0x13f8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar23 + 0x1cb5a8) + 0x13f8)" ( (binary_expression "*(int *)(puVar23 + 0x1cb5a8) + 0x13f8" (pointer_expression "*(int *)(puVar23 + 0x1cb5a8)" * (cast_expression "(int *)(puVar23 + 0x1cb5a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + 0x1cb5a8)" ( (binary_expression "puVar23 + 0x1cb5a8" identifier + number_literal) )))) + number_literal) ))))) )) (goto_statement "goto LAB_001dd4b8;" goto statement_identifier ;)) })) }))) (if_statement "if ((pIVar5->alpha_trait == UndefinedPixelTrait) && (*(int *)(iVar2 + 8) != 0)) {\n              (**(code **)(puVar23 + 0x1cb940))\n                        (pIVar5,*(undefined4 *)(*(int *)(puVar23 + 0x1cb5a8) + 0x1a50),pIVar4);\n            }" if (parenthesized_expression "((pIVar5->alpha_trait == UndefinedPixelTrait) && (*(int *)(iVar2 + 8) != 0))" ( (binary_expression "(pIVar5->alpha_trait == UndefinedPixelTrait) && (*(int *)(iVar2 + 8) != 0)" (parenthesized_expression "(pIVar5->alpha_trait == UndefinedPixelTrait)" ( (binary_expression "pIVar5->alpha_trait == UndefinedPixelTrait" (field_expression "pIVar5->alpha_trait" identifier -> field_identifier) == identifier) )) && (parenthesized_expression "(*(int *)(iVar2 + 8) != 0)" ( (binary_expression "*(int *)(iVar2 + 8) != 0" (pointer_expression "*(int *)(iVar2 + 8)" * (cast_expression "(int *)(iVar2 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 8)" ( (binary_expression "iVar2 + 8" identifier + number_literal) )))) != number_literal) ))) )) (compound_statement "{\n              (**(code **)(puVar23 + 0x1cb940))\n                        (pIVar5,*(undefined4 *)(*(int *)(puVar23 + 0x1cb5a8) + 0x1a50),pIVar4);\n            }" { (expression_statement "(**(code **)(puVar23 + 0x1cb940))\n                        (pIVar5,*(undefined4 *)(*(int *)(puVar23 + 0x1cb5a8) + 0x1a50),pIVar4);" (call_expression "(**(code **)(puVar23 + 0x1cb940))\n                        (pIVar5,*(undefined4 *)(*(int *)(puVar23 + 0x1cb5a8) + 0x1a50),pIVar4)" (parenthesized_expression "(**(code **)(puVar23 + 0x1cb940))" ( (pointer_expression "**(code **)(puVar23 + 0x1cb940)" * (pointer_expression "*(code **)(puVar23 + 0x1cb940)" * (cast_expression "(code **)(puVar23 + 0x1cb940)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + 0x1cb940)" ( (binary_expression "puVar23 + 0x1cb940" identifier + number_literal) ))))) )) (argument_list "(pIVar5,*(undefined4 *)(*(int *)(puVar23 + 0x1cb5a8) + 0x1a50),pIVar4)" ( identifier , (pointer_expression "*(undefined4 *)(*(int *)(puVar23 + 0x1cb5a8) + 0x1a50)" * (cast_expression "(undefined4 *)(*(int *)(puVar23 + 0x1cb5a8) + 0x1a50)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar23 + 0x1cb5a8) + 0x1a50)" ( (binary_expression "*(int *)(puVar23 + 0x1cb5a8) + 0x1a50" (pointer_expression "*(int *)(puVar23 + 0x1cb5a8)" * (cast_expression "(int *)(puVar23 + 0x1cb5a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + 0x1cb5a8)" ( (binary_expression "puVar23 + 0x1cb5a8" identifier + number_literal) )))) + number_literal) )))) , identifier ))) ;) })) (if_statement "if (puVar16 != (undefined *)0x0) {\n              unaff_s6 = auStack_c8;\n              (**(code **)(puVar23 + 0x1cbf7c))(pIVar5,unaff_s6);\n              uVar6 = (**(code **)(puVar23 + 0x1cc11c))(puVar16,&uStack_f0);\n              uStack_80 = 0;\n              uStack_a0 = uStack_f0;\n              uStack_98 = uStack_f0;\n              uStack_90 = uStack_f0;\n              uStack_88 = uStack_f0;\n              if ((uVar6 & 8) != 0) {\n                uStack_98 = uStack_e8;\n              }\n              if ((uVar6 & 1) != 0) {\n                uStack_90 = uStack_e0;\n              }\n              if ((uVar6 & 2) == 0) {\n                pcVar24 = *(code **)(puVar23 + 0x1cc41c);\n                uVar27 = uStack_88;\n                if (iStack_c4 == 2) goto LAB_001dd6b0;\n              }\n              else {\n                uStack_80 = uStack_d8;\n                uVar27 = uStack_d8;\n                if (iStack_c4 == 2) {\nLAB_001dd6b0:\n                  uStack_88 = uVar27;\n                  pcVar24 = *(code **)(puVar23 + 0x1cc41c);\n                  if ((uVar6 & 0x10) != 0) {\n                    uStack_80 = uStack_d0;\n                  }\n                }\n                else {\n                  pcVar24 = *(code **)(puVar23 + 0x1cc41c);\n                }\n              }\n              uStack_114 = 0;\n              uStack_118 = 0;\n              puVar16 = (undefined *)(*pcVar24)(pIVar5,pIVar4);\n              iVar3 = (**(code **)(puVar23 + 0x1cc17c))(pIVar5);\n              if (((iVar3 == 4) || (iVar3 = (**(code **)(puVar23 + 0x1cc17c))(pIVar5), iVar3 == 3))\n                 && ((iVar3 = (**(code **)(puVar23 + 0x1cc17c))(pIVar5), iVar3 == 4 ||\n                     (iVar3 = (**(code **)(puVar23 + 0x1cc17c))(pIVar5), iVar3 == 3)))) {\n                (**(code **)(puVar23 + 0x1cbe04))(7);\n                sVar7 = pIVar5->rows;\n                sVar14 = sVar7;\n                if ((int)sVar7 < 0) {\n                  sVar14 = sVar7 + 0x3f;\n                }\n                if (extraout_v1 < (int)sVar14 >> 6) {\n                  (**(code **)(puVar23 + 0x1cbe04))(7);\n                  bVar1 = extraout_v1_02 < 2;\n                }\n                else {\n                  bVar1 = (int)sVar7 < 0x80;\n                }\n                iVar3 = 1;\n                if ((bool)(bVar1 ^ 1)) {\n                  (**(code **)(puVar23 + 0x1cbe04))(7);\n                  sVar14 = pIVar5->rows;\n                  if ((int)sVar14 < 0) {\n                    sVar14 = sVar14 + 0x3f;\n                  }\n                  iVar3 = (int)sVar14 >> 6;\n                  iVar13 = *(int *)(puVar23 + 0x1cb66c);\n                  if (extraout_v1_01 < iVar3) {\n                    pcVar24 = *(code **)(puVar23 + 0x1cbe04);\n                    goto LAB_001dd7c0;\n                  }\n                }\n                else {\n                  iVar13 = *(int *)(puVar23 + 0x1cb66c);\n                }\n              }\n              else {\n                uVar27 = (**(code **)(puVar23 + 0x1cbe04))(7);\n                if ((int)((ulonglong)uVar27 >> 0x20) == 0) {\n                  pcVar24 = *(code **)(puVar23 + 0x1cbe04);\n                  if (1 < (uint)uVar27) goto LAB_001dd5d4;\n                  uVar27 = (*pcVar24)(7);\n                  if ((int)((ulonglong)uVar27 >> 0x20) != 0) goto LAB_001dd5d0;\n                  pcVar24 = *(code **)(puVar23 + 0x1cbe04);\n                  if (1 < (uint)uVar27) goto LAB_001dd5d4;\n                  iVar3 = 1;\n                }\n                else {\nLAB_001dd5d0:\n                  pcVar24 = *(code **)(puVar23 + 0x1cbe04);\nLAB_001dd5d4:\n                  uVar27 = (*pcVar24)(7);\n                  if (((int)((ulonglong)uVar27 >> 0x20) == 0) &&\n                     (pcVar24 = *(code **)(puVar23 + 0x1cbe04), (uint)uVar27 < 2)) {\nLAB_001dd7c0:\n                    (*pcVar24)(7);\n                    iVar3 = extraout_v1_00;\n                  }\n                  else {\n                    iVar3 = 2;\n                  }\n                }\n                iVar13 = *(int *)(puVar23 + 0x1cb66c);\n              }\n              pIStack_f8 = (Image *)0x1;\n              puStack_f4 = &uStack_118;\n              puStack_110 = puVar12;\n              iStack_10c = iVar2;\n              pIStack_108 = pIVar4;\n              puStack_104 = puVar16;\n              pIStack_100 = pIVar5;\n              puStack_fc = unaff_s6;\n              (**(code **)(puVar23 + 0x1cbe60))(iVar13 + -0x43b4,&puStack_110,iVar3,0);\n              pIVar4 = pIStack_f8;\n              (**(code **)(puVar23 + 0x1cbbbc))(puVar16);\n              if (pIVar4 == (Image *)0x0) {\n                in_stack_00000018 = (Image *)(**(code **)(puVar23 + 0x1cbc14))(pIVar5);\n              }\n            }" if (parenthesized_expression "(puVar16 != (undefined *)0x0)" ( (binary_expression "puVar16 != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              unaff_s6 = auStack_c8;\n              (**(code **)(puVar23 + 0x1cbf7c))(pIVar5,unaff_s6);\n              uVar6 = (**(code **)(puVar23 + 0x1cc11c))(puVar16,&uStack_f0);\n              uStack_80 = 0;\n              uStack_a0 = uStack_f0;\n              uStack_98 = uStack_f0;\n              uStack_90 = uStack_f0;\n              uStack_88 = uStack_f0;\n              if ((uVar6 & 8) != 0) {\n                uStack_98 = uStack_e8;\n              }\n              if ((uVar6 & 1) != 0) {\n                uStack_90 = uStack_e0;\n              }\n              if ((uVar6 & 2) == 0) {\n                pcVar24 = *(code **)(puVar23 + 0x1cc41c);\n                uVar27 = uStack_88;\n                if (iStack_c4 == 2) goto LAB_001dd6b0;\n              }\n              else {\n                uStack_80 = uStack_d8;\n                uVar27 = uStack_d8;\n                if (iStack_c4 == 2) {\nLAB_001dd6b0:\n                  uStack_88 = uVar27;\n                  pcVar24 = *(code **)(puVar23 + 0x1cc41c);\n                  if ((uVar6 & 0x10) != 0) {\n                    uStack_80 = uStack_d0;\n                  }\n                }\n                else {\n                  pcVar24 = *(code **)(puVar23 + 0x1cc41c);\n                }\n              }\n              uStack_114 = 0;\n              uStack_118 = 0;\n              puVar16 = (undefined *)(*pcVar24)(pIVar5,pIVar4);\n              iVar3 = (**(code **)(puVar23 + 0x1cc17c))(pIVar5);\n              if (((iVar3 == 4) || (iVar3 = (**(code **)(puVar23 + 0x1cc17c))(pIVar5), iVar3 == 3))\n                 && ((iVar3 = (**(code **)(puVar23 + 0x1cc17c))(pIVar5), iVar3 == 4 ||\n                     (iVar3 = (**(code **)(puVar23 + 0x1cc17c))(pIVar5), iVar3 == 3)))) {\n                (**(code **)(puVar23 + 0x1cbe04))(7);\n                sVar7 = pIVar5->rows;\n                sVar14 = sVar7;\n                if ((int)sVar7 < 0) {\n                  sVar14 = sVar7 + 0x3f;\n                }\n                if (extraout_v1 < (int)sVar14 >> 6) {\n                  (**(code **)(puVar23 + 0x1cbe04))(7);\n                  bVar1 = extraout_v1_02 < 2;\n                }\n                else {\n                  bVar1 = (int)sVar7 < 0x80;\n                }\n                iVar3 = 1;\n                if ((bool)(bVar1 ^ 1)) {\n                  (**(code **)(puVar23 + 0x1cbe04))(7);\n                  sVar14 = pIVar5->rows;\n                  if ((int)sVar14 < 0) {\n                    sVar14 = sVar14 + 0x3f;\n                  }\n                  iVar3 = (int)sVar14 >> 6;\n                  iVar13 = *(int *)(puVar23 + 0x1cb66c);\n                  if (extraout_v1_01 < iVar3) {\n                    pcVar24 = *(code **)(puVar23 + 0x1cbe04);\n                    goto LAB_001dd7c0;\n                  }\n                }\n                else {\n                  iVar13 = *(int *)(puVar23 + 0x1cb66c);\n                }\n              }\n              else {\n                uVar27 = (**(code **)(puVar23 + 0x1cbe04))(7);\n                if ((int)((ulonglong)uVar27 >> 0x20) == 0) {\n                  pcVar24 = *(code **)(puVar23 + 0x1cbe04);\n                  if (1 < (uint)uVar27) goto LAB_001dd5d4;\n                  uVar27 = (*pcVar24)(7);\n                  if ((int)((ulonglong)uVar27 >> 0x20) != 0) goto LAB_001dd5d0;\n                  pcVar24 = *(code **)(puVar23 + 0x1cbe04);\n                  if (1 < (uint)uVar27) goto LAB_001dd5d4;\n                  iVar3 = 1;\n                }\n                else {\nLAB_001dd5d0:\n                  pcVar24 = *(code **)(puVar23 + 0x1cbe04);\nLAB_001dd5d4:\n                  uVar27 = (*pcVar24)(7);\n                  if (((int)((ulonglong)uVar27 >> 0x20) == 0) &&\n                     (pcVar24 = *(code **)(puVar23 + 0x1cbe04), (uint)uVar27 < 2)) {\nLAB_001dd7c0:\n                    (*pcVar24)(7);\n                    iVar3 = extraout_v1_00;\n                  }\n                  else {\n                    iVar3 = 2;\n                  }\n                }\n                iVar13 = *(int *)(puVar23 + 0x1cb66c);\n              }\n              pIStack_f8 = (Image *)0x1;\n              puStack_f4 = &uStack_118;\n              puStack_110 = puVar12;\n              iStack_10c = iVar2;\n              pIStack_108 = pIVar4;\n              puStack_104 = puVar16;\n              pIStack_100 = pIVar5;\n              puStack_fc = unaff_s6;\n              (**(code **)(puVar23 + 0x1cbe60))(iVar13 + -0x43b4,&puStack_110,iVar3,0);\n              pIVar4 = pIStack_f8;\n              (**(code **)(puVar23 + 0x1cbbbc))(puVar16);\n              if (pIVar4 == (Image *)0x0) {\n                in_stack_00000018 = (Image *)(**(code **)(puVar23 + 0x1cbc14))(pIVar5);\n              }\n            }" { (expression_statement "unaff_s6 = auStack_c8;" (assignment_expression "unaff_s6 = auStack_c8" identifier = identifier) ;) (expression_statement "(**(code **)(puVar23 + 0x1cbf7c))(pIVar5,unaff_s6);" (call_expression "(**(code **)(puVar23 + 0x1cbf7c))(pIVar5,unaff_s6)" (parenthesized_expression "(**(code **)(puVar23 + 0x1cbf7c))" ( (pointer_expression "**(code **)(puVar23 + 0x1cbf7c)" * (pointer_expression "*(code **)(puVar23 + 0x1cbf7c)" * (cast_expression "(code **)(puVar23 + 0x1cbf7c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + 0x1cbf7c)" ( (binary_expression "puVar23 + 0x1cbf7c" identifier + number_literal) ))))) )) (argument_list "(pIVar5,unaff_s6)" ( identifier , identifier ))) ;) (expression_statement "uVar6 = (**(code **)(puVar23 + 0x1cc11c))(puVar16,&uStack_f0);" (assignment_expression "uVar6 = (**(code **)(puVar23 + 0x1cc11c))(puVar16,&uStack_f0)" identifier = (call_expression "(**(code **)(puVar23 + 0x1cc11c))(puVar16,&uStack_f0)" (parenthesized_expression "(**(code **)(puVar23 + 0x1cc11c))" ( (pointer_expression "**(code **)(puVar23 + 0x1cc11c)" * (pointer_expression "*(code **)(puVar23 + 0x1cc11c)" * (cast_expression "(code **)(puVar23 + 0x1cc11c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + 0x1cc11c)" ( (binary_expression "puVar23 + 0x1cc11c" identifier + number_literal) ))))) )) (argument_list "(puVar16,&uStack_f0)" ( identifier , (pointer_expression "&uStack_f0" & identifier) )))) ;) (expression_statement "uStack_80 = 0;" (assignment_expression "uStack_80 = 0" identifier = number_literal) ;) (expression_statement "uStack_a0 = uStack_f0;" (assignment_expression "uStack_a0 = uStack_f0" identifier = identifier) ;) (expression_statement "uStack_98 = uStack_f0;" (assignment_expression "uStack_98 = uStack_f0" identifier = identifier) ;) (expression_statement "uStack_90 = uStack_f0;" (assignment_expression "uStack_90 = uStack_f0" identifier = identifier) ;) (expression_statement "uStack_88 = uStack_f0;" (assignment_expression "uStack_88 = uStack_f0" identifier = identifier) ;) (if_statement "if ((uVar6 & 8) != 0) {\n                uStack_98 = uStack_e8;\n              }" if (parenthesized_expression "((uVar6 & 8) != 0)" ( (binary_expression "(uVar6 & 8) != 0" (parenthesized_expression "(uVar6 & 8)" ( (binary_expression "uVar6 & 8" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                uStack_98 = uStack_e8;\n              }" { (expression_statement "uStack_98 = uStack_e8;" (assignment_expression "uStack_98 = uStack_e8" identifier = identifier) ;) })) (if_statement "if ((uVar6 & 1) != 0) {\n                uStack_90 = uStack_e0;\n              }" if (parenthesized_expression "((uVar6 & 1) != 0)" ( (binary_expression "(uVar6 & 1) != 0" (parenthesized_expression "(uVar6 & 1)" ( (binary_expression "uVar6 & 1" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                uStack_90 = uStack_e0;\n              }" { (expression_statement "uStack_90 = uStack_e0;" (assignment_expression "uStack_90 = uStack_e0" identifier = identifier) ;) })) (if_statement "if ((uVar6 & 2) == 0) {\n                pcVar24 = *(code **)(puVar23 + 0x1cc41c);\n                uVar27 = uStack_88;\n                if (iStack_c4 == 2) goto LAB_001dd6b0;\n              }\n              else {\n                uStack_80 = uStack_d8;\n                uVar27 = uStack_d8;\n                if (iStack_c4 == 2) {\nLAB_001dd6b0:\n                  uStack_88 = uVar27;\n                  pcVar24 = *(code **)(puVar23 + 0x1cc41c);\n                  if ((uVar6 & 0x10) != 0) {\n                    uStack_80 = uStack_d0;\n                  }\n                }\n                else {\n                  pcVar24 = *(code **)(puVar23 + 0x1cc41c);\n                }\n              }" if (parenthesized_expression "((uVar6 & 2) == 0)" ( (binary_expression "(uVar6 & 2) == 0" (parenthesized_expression "(uVar6 & 2)" ( (binary_expression "uVar6 & 2" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n                pcVar24 = *(code **)(puVar23 + 0x1cc41c);\n                uVar27 = uStack_88;\n                if (iStack_c4 == 2) goto LAB_001dd6b0;\n              }" { (expression_statement "pcVar24 = *(code **)(puVar23 + 0x1cc41c);" (assignment_expression "pcVar24 = *(code **)(puVar23 + 0x1cc41c)" identifier = (pointer_expression "*(code **)(puVar23 + 0x1cc41c)" * (cast_expression "(code **)(puVar23 + 0x1cc41c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + 0x1cc41c)" ( (binary_expression "puVar23 + 0x1cc41c" identifier + number_literal) ))))) ;) (expression_statement "uVar27 = uStack_88;" (assignment_expression "uVar27 = uStack_88" identifier = identifier) ;) (if_statement "if (iStack_c4 == 2) goto LAB_001dd6b0;" if (parenthesized_expression "(iStack_c4 == 2)" ( (binary_expression "iStack_c4 == 2" identifier == number_literal) )) (goto_statement "goto LAB_001dd6b0;" goto statement_identifier ;)) }) (else_clause "else {\n                uStack_80 = uStack_d8;\n                uVar27 = uStack_d8;\n                if (iStack_c4 == 2) {\nLAB_001dd6b0:\n                  uStack_88 = uVar27;\n                  pcVar24 = *(code **)(puVar23 + 0x1cc41c);\n                  if ((uVar6 & 0x10) != 0) {\n                    uStack_80 = uStack_d0;\n                  }\n                }\n                else {\n                  pcVar24 = *(code **)(puVar23 + 0x1cc41c);\n                }\n              }" else (compound_statement "{\n                uStack_80 = uStack_d8;\n                uVar27 = uStack_d8;\n                if (iStack_c4 == 2) {\nLAB_001dd6b0:\n                  uStack_88 = uVar27;\n                  pcVar24 = *(code **)(puVar23 + 0x1cc41c);\n                  if ((uVar6 & 0x10) != 0) {\n                    uStack_80 = uStack_d0;\n                  }\n                }\n                else {\n                  pcVar24 = *(code **)(puVar23 + 0x1cc41c);\n                }\n              }" { (expression_statement "uStack_80 = uStack_d8;" (assignment_expression "uStack_80 = uStack_d8" identifier = identifier) ;) (expression_statement "uVar27 = uStack_d8;" (assignment_expression "uVar27 = uStack_d8" identifier = identifier) ;) (if_statement "if (iStack_c4 == 2) {\nLAB_001dd6b0:\n                  uStack_88 = uVar27;\n                  pcVar24 = *(code **)(puVar23 + 0x1cc41c);\n                  if ((uVar6 & 0x10) != 0) {\n                    uStack_80 = uStack_d0;\n                  }\n                }\n                else {\n                  pcVar24 = *(code **)(puVar23 + 0x1cc41c);\n                }" if (parenthesized_expression "(iStack_c4 == 2)" ( (binary_expression "iStack_c4 == 2" identifier == number_literal) )) (compound_statement "{\nLAB_001dd6b0:\n                  uStack_88 = uVar27;\n                  pcVar24 = *(code **)(puVar23 + 0x1cc41c);\n                  if ((uVar6 & 0x10) != 0) {\n                    uStack_80 = uStack_d0;\n                  }\n                }" { (labeled_statement "LAB_001dd6b0:\n                  uStack_88 = uVar27;" statement_identifier : (expression_statement "uStack_88 = uVar27;" (assignment_expression "uStack_88 = uVar27" identifier = identifier) ;)) (expression_statement "pcVar24 = *(code **)(puVar23 + 0x1cc41c);" (assignment_expression "pcVar24 = *(code **)(puVar23 + 0x1cc41c)" identifier = (pointer_expression "*(code **)(puVar23 + 0x1cc41c)" * (cast_expression "(code **)(puVar23 + 0x1cc41c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + 0x1cc41c)" ( (binary_expression "puVar23 + 0x1cc41c" identifier + number_literal) ))))) ;) (if_statement "if ((uVar6 & 0x10) != 0) {\n                    uStack_80 = uStack_d0;\n                  }" if (parenthesized_expression "((uVar6 & 0x10) != 0)" ( (binary_expression "(uVar6 & 0x10) != 0" (parenthesized_expression "(uVar6 & 0x10)" ( (binary_expression "uVar6 & 0x10" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                    uStack_80 = uStack_d0;\n                  }" { (expression_statement "uStack_80 = uStack_d0;" (assignment_expression "uStack_80 = uStack_d0" identifier = identifier) ;) })) }) (else_clause "else {\n                  pcVar24 = *(code **)(puVar23 + 0x1cc41c);\n                }" else (compound_statement "{\n                  pcVar24 = *(code **)(puVar23 + 0x1cc41c);\n                }" { (expression_statement "pcVar24 = *(code **)(puVar23 + 0x1cc41c);" (assignment_expression "pcVar24 = *(code **)(puVar23 + 0x1cc41c)" identifier = (pointer_expression "*(code **)(puVar23 + 0x1cc41c)" * (cast_expression "(code **)(puVar23 + 0x1cc41c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + 0x1cc41c)" ( (binary_expression "puVar23 + 0x1cc41c" identifier + number_literal) ))))) ;) }))) }))) (expression_statement "uStack_114 = 0;" (assignment_expression "uStack_114 = 0" identifier = number_literal) ;) (expression_statement "uStack_118 = 0;" (assignment_expression "uStack_118 = 0" identifier = number_literal) ;) (expression_statement "puVar16 = (undefined *)(*pcVar24)(pIVar5,pIVar4);" (assignment_expression "puVar16 = (undefined *)(*pcVar24)(pIVar5,pIVar4)" identifier = (cast_expression "(undefined *)(*pcVar24)(pIVar5,pIVar4)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar24)(pIVar5,pIVar4)" (parenthesized_expression "(*pcVar24)" ( (pointer_expression "*pcVar24" * identifier) )) (argument_list "(pIVar5,pIVar4)" ( identifier , identifier ))))) ;) (expression_statement "iVar3 = (**(code **)(puVar23 + 0x1cc17c))(pIVar5);" (assignment_expression "iVar3 = (**(code **)(puVar23 + 0x1cc17c))(pIVar5)" identifier = (call_expression "(**(code **)(puVar23 + 0x1cc17c))(pIVar5)" (parenthesized_expression "(**(code **)(puVar23 + 0x1cc17c))" ( (pointer_expression "**(code **)(puVar23 + 0x1cc17c)" * (pointer_expression "*(code **)(puVar23 + 0x1cc17c)" * (cast_expression "(code **)(puVar23 + 0x1cc17c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + 0x1cc17c)" ( (binary_expression "puVar23 + 0x1cc17c" identifier + number_literal) ))))) )) (argument_list "(pIVar5)" ( identifier )))) ;) (if_statement "if (((iVar3 == 4) || (iVar3 = (**(code **)(puVar23 + 0x1cc17c))(pIVar5), iVar3 == 3))\n                 && ((iVar3 = (**(code **)(puVar23 + 0x1cc17c))(pIVar5), iVar3 == 4 ||\n                     (iVar3 = (**(code **)(puVar23 + 0x1cc17c))(pIVar5), iVar3 == 3)))) {\n                (**(code **)(puVar23 + 0x1cbe04))(7);\n                sVar7 = pIVar5->rows;\n                sVar14 = sVar7;\n                if ((int)sVar7 < 0) {\n                  sVar14 = sVar7 + 0x3f;\n                }\n                if (extraout_v1 < (int)sVar14 >> 6) {\n                  (**(code **)(puVar23 + 0x1cbe04))(7);\n                  bVar1 = extraout_v1_02 < 2;\n                }\n                else {\n                  bVar1 = (int)sVar7 < 0x80;\n                }\n                iVar3 = 1;\n                if ((bool)(bVar1 ^ 1)) {\n                  (**(code **)(puVar23 + 0x1cbe04))(7);\n                  sVar14 = pIVar5->rows;\n                  if ((int)sVar14 < 0) {\n                    sVar14 = sVar14 + 0x3f;\n                  }\n                  iVar3 = (int)sVar14 >> 6;\n                  iVar13 = *(int *)(puVar23 + 0x1cb66c);\n                  if (extraout_v1_01 < iVar3) {\n                    pcVar24 = *(code **)(puVar23 + 0x1cbe04);\n                    goto LAB_001dd7c0;\n                  }\n                }\n                else {\n                  iVar13 = *(int *)(puVar23 + 0x1cb66c);\n                }\n              }\n              else {\n                uVar27 = (**(code **)(puVar23 + 0x1cbe04))(7);\n                if ((int)((ulonglong)uVar27 >> 0x20) == 0) {\n                  pcVar24 = *(code **)(puVar23 + 0x1cbe04);\n                  if (1 < (uint)uVar27) goto LAB_001dd5d4;\n                  uVar27 = (*pcVar24)(7);\n                  if ((int)((ulonglong)uVar27 >> 0x20) != 0) goto LAB_001dd5d0;\n                  pcVar24 = *(code **)(puVar23 + 0x1cbe04);\n                  if (1 < (uint)uVar27) goto LAB_001dd5d4;\n                  iVar3 = 1;\n                }\n                else {\nLAB_001dd5d0:\n                  pcVar24 = *(code **)(puVar23 + 0x1cbe04);\nLAB_001dd5d4:\n                  uVar27 = (*pcVar24)(7);\n                  if (((int)((ulonglong)uVar27 >> 0x20) == 0) &&\n                     (pcVar24 = *(code **)(puVar23 + 0x1cbe04), (uint)uVar27 < 2)) {\nLAB_001dd7c0:\n                    (*pcVar24)(7);\n                    iVar3 = extraout_v1_00;\n                  }\n                  else {\n                    iVar3 = 2;\n                  }\n                }\n                iVar13 = *(int *)(puVar23 + 0x1cb66c);\n              }" if (parenthesized_expression "(((iVar3 == 4) || (iVar3 = (**(code **)(puVar23 + 0x1cc17c))(pIVar5), iVar3 == 3))\n                 && ((iVar3 = (**(code **)(puVar23 + 0x1cc17c))(pIVar5), iVar3 == 4 ||\n                     (iVar3 = (**(code **)(puVar23 + 0x1cc17c))(pIVar5), iVar3 == 3))))" ( (binary_expression "((iVar3 == 4) || (iVar3 = (**(code **)(puVar23 + 0x1cc17c))(pIVar5), iVar3 == 3))\n                 && ((iVar3 = (**(code **)(puVar23 + 0x1cc17c))(pIVar5), iVar3 == 4 ||\n                     (iVar3 = (**(code **)(puVar23 + 0x1cc17c))(pIVar5), iVar3 == 3)))" (parenthesized_expression "((iVar3 == 4) || (iVar3 = (**(code **)(puVar23 + 0x1cc17c))(pIVar5), iVar3 == 3))" ( (binary_expression "(iVar3 == 4) || (iVar3 = (**(code **)(puVar23 + 0x1cc17c))(pIVar5), iVar3 == 3)" (parenthesized_expression "(iVar3 == 4)" ( (binary_expression "iVar3 == 4" identifier == number_literal) )) || (parenthesized_expression "(iVar3 = (**(code **)(puVar23 + 0x1cc17c))(pIVar5), iVar3 == 3)" ( (comma_expression "iVar3 = (**(code **)(puVar23 + 0x1cc17c))(pIVar5), iVar3 == 3" (assignment_expression "iVar3 = (**(code **)(puVar23 + 0x1cc17c))(pIVar5)" identifier = (call_expression "(**(code **)(puVar23 + 0x1cc17c))(pIVar5)" (parenthesized_expression "(**(code **)(puVar23 + 0x1cc17c))" ( (pointer_expression "**(code **)(puVar23 + 0x1cc17c)" * (pointer_expression "*(code **)(puVar23 + 0x1cc17c)" * (cast_expression "(code **)(puVar23 + 0x1cc17c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + 0x1cc17c)" ( (binary_expression "puVar23 + 0x1cc17c" identifier + number_literal) ))))) )) (argument_list "(pIVar5)" ( identifier )))) , (binary_expression "iVar3 == 3" identifier == number_literal)) ))) )) && (parenthesized_expression "((iVar3 = (**(code **)(puVar23 + 0x1cc17c))(pIVar5), iVar3 == 4 ||\n                     (iVar3 = (**(code **)(puVar23 + 0x1cc17c))(pIVar5), iVar3 == 3)))" ( (parenthesized_expression "(iVar3 = (**(code **)(puVar23 + 0x1cc17c))(pIVar5), iVar3 == 4 ||\n                     (iVar3 = (**(code **)(puVar23 + 0x1cc17c))(pIVar5), iVar3 == 3))" ( (comma_expression "iVar3 = (**(code **)(puVar23 + 0x1cc17c))(pIVar5), iVar3 == 4 ||\n                     (iVar3 = (**(code **)(puVar23 + 0x1cc17c))(pIVar5), iVar3 == 3)" (assignment_expression "iVar3 = (**(code **)(puVar23 + 0x1cc17c))(pIVar5)" identifier = (call_expression "(**(code **)(puVar23 + 0x1cc17c))(pIVar5)" (parenthesized_expression "(**(code **)(puVar23 + 0x1cc17c))" ( (pointer_expression "**(code **)(puVar23 + 0x1cc17c)" * (pointer_expression "*(code **)(puVar23 + 0x1cc17c)" * (cast_expression "(code **)(puVar23 + 0x1cc17c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + 0x1cc17c)" ( (binary_expression "puVar23 + 0x1cc17c" identifier + number_literal) ))))) )) (argument_list "(pIVar5)" ( identifier )))) , (binary_expression "iVar3 == 4 ||\n                     (iVar3 = (**(code **)(puVar23 + 0x1cc17c))(pIVar5), iVar3 == 3)" (binary_expression "iVar3 == 4" identifier == number_literal) || (parenthesized_expression "(iVar3 = (**(code **)(puVar23 + 0x1cc17c))(pIVar5), iVar3 == 3)" ( (comma_expression "iVar3 = (**(code **)(puVar23 + 0x1cc17c))(pIVar5), iVar3 == 3" (assignment_expression "iVar3 = (**(code **)(puVar23 + 0x1cc17c))(pIVar5)" identifier = (call_expression "(**(code **)(puVar23 + 0x1cc17c))(pIVar5)" (parenthesized_expression "(**(code **)(puVar23 + 0x1cc17c))" ( (pointer_expression "**(code **)(puVar23 + 0x1cc17c)" * (pointer_expression "*(code **)(puVar23 + 0x1cc17c)" * (cast_expression "(code **)(puVar23 + 0x1cc17c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + 0x1cc17c)" ( (binary_expression "puVar23 + 0x1cc17c" identifier + number_literal) ))))) )) (argument_list "(pIVar5)" ( identifier )))) , (binary_expression "iVar3 == 3" identifier == number_literal)) )))) )) ))) )) (compound_statement "{\n                (**(code **)(puVar23 + 0x1cbe04))(7);\n                sVar7 = pIVar5->rows;\n                sVar14 = sVar7;\n                if ((int)sVar7 < 0) {\n                  sVar14 = sVar7 + 0x3f;\n                }\n                if (extraout_v1 < (int)sVar14 >> 6) {\n                  (**(code **)(puVar23 + 0x1cbe04))(7);\n                  bVar1 = extraout_v1_02 < 2;\n                }\n                else {\n                  bVar1 = (int)sVar7 < 0x80;\n                }\n                iVar3 = 1;\n                if ((bool)(bVar1 ^ 1)) {\n                  (**(code **)(puVar23 + 0x1cbe04))(7);\n                  sVar14 = pIVar5->rows;\n                  if ((int)sVar14 < 0) {\n                    sVar14 = sVar14 + 0x3f;\n                  }\n                  iVar3 = (int)sVar14 >> 6;\n                  iVar13 = *(int *)(puVar23 + 0x1cb66c);\n                  if (extraout_v1_01 < iVar3) {\n                    pcVar24 = *(code **)(puVar23 + 0x1cbe04);\n                    goto LAB_001dd7c0;\n                  }\n                }\n                else {\n                  iVar13 = *(int *)(puVar23 + 0x1cb66c);\n                }\n              }" { (expression_statement "(**(code **)(puVar23 + 0x1cbe04))(7);" (call_expression "(**(code **)(puVar23 + 0x1cbe04))(7)" (parenthesized_expression "(**(code **)(puVar23 + 0x1cbe04))" ( (pointer_expression "**(code **)(puVar23 + 0x1cbe04)" * (pointer_expression "*(code **)(puVar23 + 0x1cbe04)" * (cast_expression "(code **)(puVar23 + 0x1cbe04)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + 0x1cbe04)" ( (binary_expression "puVar23 + 0x1cbe04" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "sVar7 = pIVar5->rows;" (assignment_expression "sVar7 = pIVar5->rows" identifier = (field_expression "pIVar5->rows" identifier -> field_identifier)) ;) (expression_statement "sVar14 = sVar7;" (assignment_expression "sVar14 = sVar7" identifier = identifier) ;) (if_statement "if ((int)sVar7 < 0) {\n                  sVar14 = sVar7 + 0x3f;\n                }" if (parenthesized_expression "((int)sVar7 < 0)" ( (binary_expression "(int)sVar7 < 0" (cast_expression "(int)sVar7" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n                  sVar14 = sVar7 + 0x3f;\n                }" { (expression_statement "sVar14 = sVar7 + 0x3f;" (assignment_expression "sVar14 = sVar7 + 0x3f" identifier = (binary_expression "sVar7 + 0x3f" identifier + number_literal)) ;) })) (if_statement "if (extraout_v1 < (int)sVar14 >> 6) {\n                  (**(code **)(puVar23 + 0x1cbe04))(7);\n                  bVar1 = extraout_v1_02 < 2;\n                }\n                else {\n                  bVar1 = (int)sVar7 < 0x80;\n                }" if (parenthesized_expression "(extraout_v1 < (int)sVar14 >> 6)" ( (binary_expression "extraout_v1 < (int)sVar14 >> 6" identifier < (binary_expression "(int)sVar14 >> 6" (cast_expression "(int)sVar14" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) )) (compound_statement "{\n                  (**(code **)(puVar23 + 0x1cbe04))(7);\n                  bVar1 = extraout_v1_02 < 2;\n                }" { (expression_statement "(**(code **)(puVar23 + 0x1cbe04))(7);" (call_expression "(**(code **)(puVar23 + 0x1cbe04))(7)" (parenthesized_expression "(**(code **)(puVar23 + 0x1cbe04))" ( (pointer_expression "**(code **)(puVar23 + 0x1cbe04)" * (pointer_expression "*(code **)(puVar23 + 0x1cbe04)" * (cast_expression "(code **)(puVar23 + 0x1cbe04)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + 0x1cbe04)" ( (binary_expression "puVar23 + 0x1cbe04" 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 = (int)sVar7 < 0x80;\n                }" else (compound_statement "{\n                  bVar1 = (int)sVar7 < 0x80;\n                }" { (expression_statement "bVar1 = (int)sVar7 < 0x80;" (assignment_expression "bVar1 = (int)sVar7 < 0x80" identifier = (binary_expression "(int)sVar7 < 0x80" (cast_expression "(int)sVar7" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal)) ;) }))) (expression_statement "iVar3 = 1;" (assignment_expression "iVar3 = 1" identifier = number_literal) ;) (if_statement "if ((bool)(bVar1 ^ 1)) {\n                  (**(code **)(puVar23 + 0x1cbe04))(7);\n                  sVar14 = pIVar5->rows;\n                  if ((int)sVar14 < 0) {\n                    sVar14 = sVar14 + 0x3f;\n                  }\n                  iVar3 = (int)sVar14 >> 6;\n                  iVar13 = *(int *)(puVar23 + 0x1cb66c);\n                  if (extraout_v1_01 < iVar3) {\n                    pcVar24 = *(code **)(puVar23 + 0x1cbe04);\n                    goto LAB_001dd7c0;\n                  }\n                }\n                else {\n                  iVar13 = *(int *)(puVar23 + 0x1cb66c);\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 **)(puVar23 + 0x1cbe04))(7);\n                  sVar14 = pIVar5->rows;\n                  if ((int)sVar14 < 0) {\n                    sVar14 = sVar14 + 0x3f;\n                  }\n                  iVar3 = (int)sVar14 >> 6;\n                  iVar13 = *(int *)(puVar23 + 0x1cb66c);\n                  if (extraout_v1_01 < iVar3) {\n                    pcVar24 = *(code **)(puVar23 + 0x1cbe04);\n                    goto LAB_001dd7c0;\n                  }\n                }" { (expression_statement "(**(code **)(puVar23 + 0x1cbe04))(7);" (call_expression "(**(code **)(puVar23 + 0x1cbe04))(7)" (parenthesized_expression "(**(code **)(puVar23 + 0x1cbe04))" ( (pointer_expression "**(code **)(puVar23 + 0x1cbe04)" * (pointer_expression "*(code **)(puVar23 + 0x1cbe04)" * (cast_expression "(code **)(puVar23 + 0x1cbe04)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + 0x1cbe04)" ( (binary_expression "puVar23 + 0x1cbe04" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "sVar14 = pIVar5->rows;" (assignment_expression "sVar14 = pIVar5->rows" identifier = (field_expression "pIVar5->rows" identifier -> field_identifier)) ;) (if_statement "if ((int)sVar14 < 0) {\n                    sVar14 = sVar14 + 0x3f;\n                  }" if (parenthesized_expression "((int)sVar14 < 0)" ( (binary_expression "(int)sVar14 < 0" (cast_expression "(int)sVar14" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n                    sVar14 = sVar14 + 0x3f;\n                  }" { (expression_statement "sVar14 = sVar14 + 0x3f;" (assignment_expression "sVar14 = sVar14 + 0x3f" identifier = (binary_expression "sVar14 + 0x3f" identifier + number_literal)) ;) })) (expression_statement "iVar3 = (int)sVar14 >> 6;" (assignment_expression "iVar3 = (int)sVar14 >> 6" identifier = (binary_expression "(int)sVar14 >> 6" (cast_expression "(int)sVar14" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) (expression_statement "iVar13 = *(int *)(puVar23 + 0x1cb66c);" (assignment_expression "iVar13 = *(int *)(puVar23 + 0x1cb66c)" identifier = (pointer_expression "*(int *)(puVar23 + 0x1cb66c)" * (cast_expression "(int *)(puVar23 + 0x1cb66c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + 0x1cb66c)" ( (binary_expression "puVar23 + 0x1cb66c" identifier + number_literal) ))))) ;) (if_statement "if (extraout_v1_01 < iVar3) {\n                    pcVar24 = *(code **)(puVar23 + 0x1cbe04);\n                    goto LAB_001dd7c0;\n                  }" if (parenthesized_expression "(extraout_v1_01 < iVar3)" ( (binary_expression "extraout_v1_01 < iVar3" identifier < identifier) )) (compound_statement "{\n                    pcVar24 = *(code **)(puVar23 + 0x1cbe04);\n                    goto LAB_001dd7c0;\n                  }" { (expression_statement "pcVar24 = *(code **)(puVar23 + 0x1cbe04);" (assignment_expression "pcVar24 = *(code **)(puVar23 + 0x1cbe04)" identifier = (pointer_expression "*(code **)(puVar23 + 0x1cbe04)" * (cast_expression "(code **)(puVar23 + 0x1cbe04)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + 0x1cbe04)" ( (binary_expression "puVar23 + 0x1cbe04" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_001dd7c0;" goto statement_identifier ;) })) }) (else_clause "else {\n                  iVar13 = *(int *)(puVar23 + 0x1cb66c);\n                }" else (compound_statement "{\n                  iVar13 = *(int *)(puVar23 + 0x1cb66c);\n                }" { (expression_statement "iVar13 = *(int *)(puVar23 + 0x1cb66c);" (assignment_expression "iVar13 = *(int *)(puVar23 + 0x1cb66c)" identifier = (pointer_expression "*(int *)(puVar23 + 0x1cb66c)" * (cast_expression "(int *)(puVar23 + 0x1cb66c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + 0x1cb66c)" ( (binary_expression "puVar23 + 0x1cb66c" identifier + number_literal) ))))) ;) }))) }) (else_clause "else {\n                uVar27 = (**(code **)(puVar23 + 0x1cbe04))(7);\n                if ((int)((ulonglong)uVar27 >> 0x20) == 0) {\n                  pcVar24 = *(code **)(puVar23 + 0x1cbe04);\n                  if (1 < (uint)uVar27) goto LAB_001dd5d4;\n                  uVar27 = (*pcVar24)(7);\n                  if ((int)((ulonglong)uVar27 >> 0x20) != 0) goto LAB_001dd5d0;\n                  pcVar24 = *(code **)(puVar23 + 0x1cbe04);\n                  if (1 < (uint)uVar27) goto LAB_001dd5d4;\n                  iVar3 = 1;\n                }\n                else {\nLAB_001dd5d0:\n                  pcVar24 = *(code **)(puVar23 + 0x1cbe04);\nLAB_001dd5d4:\n                  uVar27 = (*pcVar24)(7);\n                  if (((int)((ulonglong)uVar27 >> 0x20) == 0) &&\n                     (pcVar24 = *(code **)(puVar23 + 0x1cbe04), (uint)uVar27 < 2)) {\nLAB_001dd7c0:\n                    (*pcVar24)(7);\n                    iVar3 = extraout_v1_00;\n                  }\n                  else {\n                    iVar3 = 2;\n                  }\n                }\n                iVar13 = *(int *)(puVar23 + 0x1cb66c);\n              }" else (compound_statement "{\n                uVar27 = (**(code **)(puVar23 + 0x1cbe04))(7);\n                if ((int)((ulonglong)uVar27 >> 0x20) == 0) {\n                  pcVar24 = *(code **)(puVar23 + 0x1cbe04);\n                  if (1 < (uint)uVar27) goto LAB_001dd5d4;\n                  uVar27 = (*pcVar24)(7);\n                  if ((int)((ulonglong)uVar27 >> 0x20) != 0) goto LAB_001dd5d0;\n                  pcVar24 = *(code **)(puVar23 + 0x1cbe04);\n                  if (1 < (uint)uVar27) goto LAB_001dd5d4;\n                  iVar3 = 1;\n                }\n                else {\nLAB_001dd5d0:\n                  pcVar24 = *(code **)(puVar23 + 0x1cbe04);\nLAB_001dd5d4:\n                  uVar27 = (*pcVar24)(7);\n                  if (((int)((ulonglong)uVar27 >> 0x20) == 0) &&\n                     (pcVar24 = *(code **)(puVar23 + 0x1cbe04), (uint)uVar27 < 2)) {\nLAB_001dd7c0:\n                    (*pcVar24)(7);\n                    iVar3 = extraout_v1_00;\n                  }\n                  else {\n                    iVar3 = 2;\n                  }\n                }\n                iVar13 = *(int *)(puVar23 + 0x1cb66c);\n              }" { (expression_statement "uVar27 = (**(code **)(puVar23 + 0x1cbe04))(7);" (assignment_expression "uVar27 = (**(code **)(puVar23 + 0x1cbe04))(7)" identifier = (call_expression "(**(code **)(puVar23 + 0x1cbe04))(7)" (parenthesized_expression "(**(code **)(puVar23 + 0x1cbe04))" ( (pointer_expression "**(code **)(puVar23 + 0x1cbe04)" * (pointer_expression "*(code **)(puVar23 + 0x1cbe04)" * (cast_expression "(code **)(puVar23 + 0x1cbe04)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + 0x1cbe04)" ( (binary_expression "puVar23 + 0x1cbe04" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if ((int)((ulonglong)uVar27 >> 0x20) == 0) {\n                  pcVar24 = *(code **)(puVar23 + 0x1cbe04);\n                  if (1 < (uint)uVar27) goto LAB_001dd5d4;\n                  uVar27 = (*pcVar24)(7);\n                  if ((int)((ulonglong)uVar27 >> 0x20) != 0) goto LAB_001dd5d0;\n                  pcVar24 = *(code **)(puVar23 + 0x1cbe04);\n                  if (1 < (uint)uVar27) goto LAB_001dd5d4;\n                  iVar3 = 1;\n                }\n                else {\nLAB_001dd5d0:\n                  pcVar24 = *(code **)(puVar23 + 0x1cbe04);\nLAB_001dd5d4:\n                  uVar27 = (*pcVar24)(7);\n                  if (((int)((ulonglong)uVar27 >> 0x20) == 0) &&\n                     (pcVar24 = *(code **)(puVar23 + 0x1cbe04), (uint)uVar27 < 2)) {\nLAB_001dd7c0:\n                    (*pcVar24)(7);\n                    iVar3 = extraout_v1_00;\n                  }\n                  else {\n                    iVar3 = 2;\n                  }\n                }" if (parenthesized_expression "((int)((ulonglong)uVar27 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar27 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar27 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar27 >> 0x20)" ( (binary_expression "(ulonglong)uVar27 >> 0x20" (cast_expression "(ulonglong)uVar27" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) (compound_statement "{\n                  pcVar24 = *(code **)(puVar23 + 0x1cbe04);\n                  if (1 < (uint)uVar27) goto LAB_001dd5d4;\n                  uVar27 = (*pcVar24)(7);\n                  if ((int)((ulonglong)uVar27 >> 0x20) != 0) goto LAB_001dd5d0;\n                  pcVar24 = *(code **)(puVar23 + 0x1cbe04);\n                  if (1 < (uint)uVar27) goto LAB_001dd5d4;\n                  iVar3 = 1;\n                }" { (expression_statement "pcVar24 = *(code **)(puVar23 + 0x1cbe04);" (assignment_expression "pcVar24 = *(code **)(puVar23 + 0x1cbe04)" identifier = (pointer_expression "*(code **)(puVar23 + 0x1cbe04)" * (cast_expression "(code **)(puVar23 + 0x1cbe04)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + 0x1cbe04)" ( (binary_expression "puVar23 + 0x1cbe04" identifier + number_literal) ))))) ;) (if_statement "if (1 < (uint)uVar27) goto LAB_001dd5d4;" if (parenthesized_expression "(1 < (uint)uVar27)" ( (binary_expression "1 < (uint)uVar27" number_literal < (cast_expression "(uint)uVar27" ( (type_descriptor "uint" type_identifier) ) identifier)) )) (goto_statement "goto LAB_001dd5d4;" goto statement_identifier ;)) (expression_statement "uVar27 = (*pcVar24)(7);" (assignment_expression "uVar27 = (*pcVar24)(7)" identifier = (call_expression "(*pcVar24)(7)" (parenthesized_expression "(*pcVar24)" ( (pointer_expression "*pcVar24" * identifier) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if ((int)((ulonglong)uVar27 >> 0x20) != 0) goto LAB_001dd5d0;" if (parenthesized_expression "((int)((ulonglong)uVar27 >> 0x20) != 0)" ( (binary_expression "(int)((ulonglong)uVar27 >> 0x20) != 0" (cast_expression "(int)((ulonglong)uVar27 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar27 >> 0x20)" ( (binary_expression "(ulonglong)uVar27 >> 0x20" (cast_expression "(ulonglong)uVar27" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) != number_literal) )) (goto_statement "goto LAB_001dd5d0;" goto statement_identifier ;)) (expression_statement "pcVar24 = *(code **)(puVar23 + 0x1cbe04);" (assignment_expression "pcVar24 = *(code **)(puVar23 + 0x1cbe04)" identifier = (pointer_expression "*(code **)(puVar23 + 0x1cbe04)" * (cast_expression "(code **)(puVar23 + 0x1cbe04)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + 0x1cbe04)" ( (binary_expression "puVar23 + 0x1cbe04" identifier + number_literal) ))))) ;) (if_statement "if (1 < (uint)uVar27) goto LAB_001dd5d4;" if (parenthesized_expression "(1 < (uint)uVar27)" ( (binary_expression "1 < (uint)uVar27" number_literal < (cast_expression "(uint)uVar27" ( (type_descriptor "uint" type_identifier) ) identifier)) )) (goto_statement "goto LAB_001dd5d4;" goto statement_identifier ;)) (expression_statement "iVar3 = 1;" (assignment_expression "iVar3 = 1" identifier = number_literal) ;) }) (else_clause "else {\nLAB_001dd5d0:\n                  pcVar24 = *(code **)(puVar23 + 0x1cbe04);\nLAB_001dd5d4:\n                  uVar27 = (*pcVar24)(7);\n                  if (((int)((ulonglong)uVar27 >> 0x20) == 0) &&\n                     (pcVar24 = *(code **)(puVar23 + 0x1cbe04), (uint)uVar27 < 2)) {\nLAB_001dd7c0:\n                    (*pcVar24)(7);\n                    iVar3 = extraout_v1_00;\n                  }\n                  else {\n                    iVar3 = 2;\n                  }\n                }" else (compound_statement "{\nLAB_001dd5d0:\n                  pcVar24 = *(code **)(puVar23 + 0x1cbe04);\nLAB_001dd5d4:\n                  uVar27 = (*pcVar24)(7);\n                  if (((int)((ulonglong)uVar27 >> 0x20) == 0) &&\n                     (pcVar24 = *(code **)(puVar23 + 0x1cbe04), (uint)uVar27 < 2)) {\nLAB_001dd7c0:\n                    (*pcVar24)(7);\n                    iVar3 = extraout_v1_00;\n                  }\n                  else {\n                    iVar3 = 2;\n                  }\n                }" { (labeled_statement "LAB_001dd5d0:\n                  pcVar24 = *(code **)(puVar23 + 0x1cbe04);" statement_identifier : (expression_statement "pcVar24 = *(code **)(puVar23 + 0x1cbe04);" (assignment_expression "pcVar24 = *(code **)(puVar23 + 0x1cbe04)" identifier = (pointer_expression "*(code **)(puVar23 + 0x1cbe04)" * (cast_expression "(code **)(puVar23 + 0x1cbe04)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + 0x1cbe04)" ( (binary_expression "puVar23 + 0x1cbe04" identifier + number_literal) ))))) ;)) (labeled_statement "LAB_001dd5d4:\n                  uVar27 = (*pcVar24)(7);" statement_identifier : (expression_statement "uVar27 = (*pcVar24)(7);" (assignment_expression "uVar27 = (*pcVar24)(7)" identifier = (call_expression "(*pcVar24)(7)" (parenthesized_expression "(*pcVar24)" ( (pointer_expression "*pcVar24" * identifier) )) (argument_list "(7)" ( number_literal )))) ;)) (if_statement "if (((int)((ulonglong)uVar27 >> 0x20) == 0) &&\n                     (pcVar24 = *(code **)(puVar23 + 0x1cbe04), (uint)uVar27 < 2)) {\nLAB_001dd7c0:\n                    (*pcVar24)(7);\n                    iVar3 = extraout_v1_00;\n                  }\n                  else {\n                    iVar3 = 2;\n                  }" if (parenthesized_expression "(((int)((ulonglong)uVar27 >> 0x20) == 0) &&\n                     (pcVar24 = *(code **)(puVar23 + 0x1cbe04), (uint)uVar27 < 2))" ( (binary_expression "((int)((ulonglong)uVar27 >> 0x20) == 0) &&\n                     (pcVar24 = *(code **)(puVar23 + 0x1cbe04), (uint)uVar27 < 2)" (parenthesized_expression "((int)((ulonglong)uVar27 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar27 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar27 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar27 >> 0x20)" ( (binary_expression "(ulonglong)uVar27 >> 0x20" (cast_expression "(ulonglong)uVar27" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) && (parenthesized_expression "(pcVar24 = *(code **)(puVar23 + 0x1cbe04), (uint)uVar27 < 2)" ( (comma_expression "pcVar24 = *(code **)(puVar23 + 0x1cbe04), (uint)uVar27 < 2" (assignment_expression "pcVar24 = *(code **)(puVar23 + 0x1cbe04)" identifier = (pointer_expression "*(code **)(puVar23 + 0x1cbe04)" * (cast_expression "(code **)(puVar23 + 0x1cbe04)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + 0x1cbe04)" ( (binary_expression "puVar23 + 0x1cbe04" identifier + number_literal) ))))) , (binary_expression "(uint)uVar27 < 2" (cast_expression "(uint)uVar27" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal)) ))) )) (compound_statement "{\nLAB_001dd7c0:\n                    (*pcVar24)(7);\n                    iVar3 = extraout_v1_00;\n                  }" { (labeled_statement "LAB_001dd7c0:\n                    (*pcVar24)(7);" statement_identifier : (expression_statement "(*pcVar24)(7);" (call_expression "(*pcVar24)(7)" (parenthesized_expression "(*pcVar24)" ( (pointer_expression "*pcVar24" * identifier) )) (argument_list "(7)" ( number_literal ))) ;)) (expression_statement "iVar3 = extraout_v1_00;" (assignment_expression "iVar3 = extraout_v1_00" identifier = identifier) ;) }) (else_clause "else {\n                    iVar3 = 2;\n                  }" else (compound_statement "{\n                    iVar3 = 2;\n                  }" { (expression_statement "iVar3 = 2;" (assignment_expression "iVar3 = 2" identifier = number_literal) ;) }))) }))) (expression_statement "iVar13 = *(int *)(puVar23 + 0x1cb66c);" (assignment_expression "iVar13 = *(int *)(puVar23 + 0x1cb66c)" identifier = (pointer_expression "*(int *)(puVar23 + 0x1cb66c)" * (cast_expression "(int *)(puVar23 + 0x1cb66c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + 0x1cb66c)" ( (binary_expression "puVar23 + 0x1cb66c" identifier + number_literal) ))))) ;) }))) (expression_statement "pIStack_f8 = (Image *)0x1;" (assignment_expression "pIStack_f8 = (Image *)0x1" identifier = (cast_expression "(Image *)0x1" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puStack_f4 = &uStack_118;" (assignment_expression "puStack_f4 = &uStack_118" identifier = (pointer_expression "&uStack_118" & identifier)) ;) (expression_statement "puStack_110 = puVar12;" (assignment_expression "puStack_110 = puVar12" identifier = identifier) ;) (expression_statement "iStack_10c = iVar2;" (assignment_expression "iStack_10c = iVar2" identifier = identifier) ;) (expression_statement "pIStack_108 = pIVar4;" (assignment_expression "pIStack_108 = pIVar4" identifier = identifier) ;) (expression_statement "puStack_104 = puVar16;" (assignment_expression "puStack_104 = puVar16" identifier = identifier) ;) (expression_statement "pIStack_100 = pIVar5;" (assignment_expression "pIStack_100 = pIVar5" identifier = identifier) ;) (expression_statement "puStack_fc = unaff_s6;" (assignment_expression "puStack_fc = unaff_s6" identifier = identifier) ;) (expression_statement "(**(code **)(puVar23 + 0x1cbe60))(iVar13 + -0x43b4,&puStack_110,iVar3,0);" (call_expression "(**(code **)(puVar23 + 0x1cbe60))(iVar13 + -0x43b4,&puStack_110,iVar3,0)" (parenthesized_expression "(**(code **)(puVar23 + 0x1cbe60))" ( (pointer_expression "**(code **)(puVar23 + 0x1cbe60)" * (pointer_expression "*(code **)(puVar23 + 0x1cbe60)" * (cast_expression "(code **)(puVar23 + 0x1cbe60)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + 0x1cbe60)" ( (binary_expression "puVar23 + 0x1cbe60" identifier + number_literal) ))))) )) (argument_list "(iVar13 + -0x43b4,&puStack_110,iVar3,0)" ( (binary_expression "iVar13 + -0x43b4" identifier + number_literal) , (pointer_expression "&puStack_110" & identifier) , identifier , number_literal ))) ;) (expression_statement "pIVar4 = pIStack_f8;" (assignment_expression "pIVar4 = pIStack_f8" identifier = identifier) ;) (expression_statement "(**(code **)(puVar23 + 0x1cbbbc))(puVar16);" (call_expression "(**(code **)(puVar23 + 0x1cbbbc))(puVar16)" (parenthesized_expression "(**(code **)(puVar23 + 0x1cbbbc))" ( (pointer_expression "**(code **)(puVar23 + 0x1cbbbc)" * (pointer_expression "*(code **)(puVar23 + 0x1cbbbc)" * (cast_expression "(code **)(puVar23 + 0x1cbbbc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + 0x1cbbbc)" ( (binary_expression "puVar23 + 0x1cbbbc" identifier + number_literal) ))))) )) (argument_list "(puVar16)" ( identifier ))) ;) (if_statement "if (pIVar4 == (Image *)0x0) {\n                in_stack_00000018 = (Image *)(**(code **)(puVar23 + 0x1cbc14))(pIVar5);\n              }" if (parenthesized_expression "(pIVar4 == (Image *)0x0)" ( (binary_expression "pIVar4 == (Image *)0x0" identifier == (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                in_stack_00000018 = (Image *)(**(code **)(puVar23 + 0x1cbc14))(pIVar5);\n              }" { (expression_statement "in_stack_00000018 = (Image *)(**(code **)(puVar23 + 0x1cbc14))(pIVar5);" (assignment_expression "in_stack_00000018 = (Image *)(**(code **)(puVar23 + 0x1cbc14))(pIVar5)" identifier = (cast_expression "(Image *)(**(code **)(puVar23 + 0x1cbc14))(pIVar5)" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar23 + 0x1cbc14))(pIVar5)" (parenthesized_expression "(**(code **)(puVar23 + 0x1cbc14))" ( (pointer_expression "**(code **)(puVar23 + 0x1cbc14)" * (pointer_expression "*(code **)(puVar23 + 0x1cbc14)" * (cast_expression "(code **)(puVar23 + 0x1cbc14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + 0x1cbc14)" ( (binary_expression "puVar23 + 0x1cbc14" identifier + number_literal) ))))) )) (argument_list "(pIVar5)" ( identifier ))))) ;) })) })) }))) })) (expression_statement "unaff_s1 = pIVar4;" (assignment_expression "unaff_s1 = pIVar4" identifier = identifier) ;) (expression_statement "unaff_s3 = iVar2;" (assignment_expression "unaff_s3 = iVar2" identifier = identifier) ;) (expression_statement "unaff_s5 = puVar16;" (assignment_expression "unaff_s5 = puVar16" identifier = identifier) ;) (if_statement "if (iStack_6c == *piVar21) {\n          return in_stack_00000018;\n        }" if (parenthesized_expression "(iStack_6c == *piVar21)" ( (binary_expression "iStack_6c == *piVar21" identifier == (pointer_expression "*piVar21" * identifier)) )) (compound_statement "{\n          return in_stack_00000018;\n        }" { (return_statement "return in_stack_00000018;" return identifier ;) })) (goto_statement "goto LAB_001dd890;" goto statement_identifier ;) })) (goto_statement "goto LAB_001dd8c0;" goto statement_identifier ;) })) }))) (expression_statement "iVar13 = 0x23c;" (assignment_expression "iVar13 = 0x23c" identifier = number_literal) ;) (expression_statement "pcVar24 = *(code **)(puVar23 + 0x1cc2d0);" (assignment_expression "pcVar24 = *(code **)(puVar23 + 0x1cc2d0)" identifier = (pointer_expression "*(code **)(puVar23 + 0x1cc2d0)" * (cast_expression "(code **)(puVar23 + 0x1cc2d0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + 0x1cc2d0)" ( (binary_expression "puVar23 + 0x1cc2d0" identifier + number_literal) ))))) ;) (expression_statement "iVar3 = *(int *)(puVar23 + 0x1cb5b4) + -0x12ec;" (assignment_expression "iVar3 = *(int *)(puVar23 + 0x1cb5b4) + -0x12ec" identifier = (binary_expression "*(int *)(puVar23 + 0x1cb5b4) + -0x12ec" (pointer_expression "*(int *)(puVar23 + 0x1cb5b4)" * (cast_expression "(int *)(puVar23 + 0x1cb5b4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + 0x1cb5b4)" ( (binary_expression "puVar23 + 0x1cb5b4" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "puVar15 = (undefined1 *)(*(int *)(puVar23 + 0x1cb5a8) + 0x1cac);" (assignment_expression "puVar15 = (undefined1 *)(*(int *)(puVar23 + 0x1cb5a8) + 0x1cac)" identifier = (cast_expression "(undefined1 *)(*(int *)(puVar23 + 0x1cb5a8) + 0x1cac)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar23 + 0x1cb5a8) + 0x1cac)" ( (binary_expression "*(int *)(puVar23 + 0x1cb5a8) + 0x1cac" (pointer_expression "*(int *)(puVar23 + 0x1cb5a8)" * (cast_expression "(int *)(puVar23 + 0x1cb5a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + 0x1cb5a8)" ( (binary_expression "puVar23 + 0x1cb5a8" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar24)();" (call_expression "(*pcVar24)()" (parenthesized_expression "(*pcVar24)" ( (pointer_expression "*pcVar24" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "piVar8 = *(int **)(pcVar24 + 0x1cb928);" (assignment_expression "piVar8 = *(int **)(pcVar24 + 0x1cb928)" identifier = (pointer_expression "*(int **)(pcVar24 + 0x1cb928)" * (cast_expression "(int **)(pcVar24 + 0x1cb928)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0x1cb928)" ( (binary_expression "pcVar24 + 0x1cb928" identifier + number_literal) ))))) ;) (expression_statement "iStack_16c = *piVar8;" (assignment_expression "iStack_16c = *piVar8" identifier = (pointer_expression "*piVar8" * identifier)) ;) (expression_statement "pIStack_168 = in_stack_00000018;" (assignment_expression "pIStack_168 = in_stack_00000018" identifier = identifier) ;) (expression_statement "pIStack_164 = pIVar4;" (assignment_expression "pIStack_164 = pIVar4" identifier = identifier) ;) (expression_statement "puStack_160 = puVar12;" (assignment_expression "puStack_160 = puVar12" identifier = identifier) ;) (expression_statement "iStack_15c = iVar2;" (assignment_expression "iStack_15c = iVar2" identifier = identifier) ;) (expression_statement "piStack_158 = piVar21;" (assignment_expression "piStack_158 = piVar21" identifier = identifier) ;) (expression_statement "puStack_154 = puVar16;" (assignment_expression "puStack_154 = puVar16" identifier = identifier) ;) (expression_statement "puStack_150 = unaff_s6;" (assignment_expression "puStack_150 = unaff_s6" identifier = identifier) ;) (expression_statement "(**(code **)(pcVar24 + 0x1cbdcc))(auStack_1290,0,0x120);" (call_expression "(**(code **)(pcVar24 + 0x1cbdcc))(auStack_1290,0,0x120)" (parenthesized_expression "(**(code **)(pcVar24 + 0x1cbdcc))" ( (pointer_expression "**(code **)(pcVar24 + 0x1cbdcc)" * (pointer_expression "*(code **)(pcVar24 + 0x1cbdcc)" * (cast_expression "(code **)(pcVar24 + 0x1cbdcc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0x1cbdcc)" ( (binary_expression "pcVar24 + 0x1cbdcc" identifier + number_literal) ))))) )) (argument_list "(auStack_1290,0,0x120)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "auStack_1290[0] = *(undefined8 *)(*(int *)(pcVar24 + 0x1cafd8) + 0x1438);" (assignment_expression "auStack_1290[0] = *(undefined8 *)(*(int *)(pcVar24 + 0x1cafd8) + 0x1438)" (subscript_expression "auStack_1290[0]" identifier [ number_literal ]) = (pointer_expression "*(undefined8 *)(*(int *)(pcVar24 + 0x1cafd8) + 0x1438)" * (cast_expression "(undefined8 *)(*(int *)(pcVar24 + 0x1cafd8) + 0x1438)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar24 + 0x1cafd8) + 0x1438)" ( (binary_expression "*(int *)(pcVar24 + 0x1cafd8) + 0x1438" (pointer_expression "*(int *)(pcVar24 + 0x1cafd8)" * (cast_expression "(int *)(pcVar24 + 0x1cafd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0x1cafd8)" ( (binary_expression "pcVar24 + 0x1cafd8" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "uStack_1258 = auStack_1290[0];" (assignment_expression "uStack_1258 = auStack_1290[0]" identifier = (subscript_expression "auStack_1290[0]" identifier [ number_literal ])) ;) (expression_statement "uStack_1220 = auStack_1290[0];" (assignment_expression "uStack_1220 = auStack_1290[0]" identifier = (subscript_expression "auStack_1290[0]" identifier [ number_literal ])) ;) (expression_statement "uStack_11e8 = auStack_1290[0];" (assignment_expression "uStack_11e8 = auStack_1290[0]" identifier = (subscript_expression "auStack_1290[0]" identifier [ number_literal ])) ;) (expression_statement "uStack_11b0 = auStack_1290[0];" (assignment_expression "uStack_11b0 = auStack_1290[0]" identifier = (subscript_expression "auStack_1290[0]" identifier [ number_literal ])) ;) (expression_statement "uStack_1178 = auStack_1290[0];" (assignment_expression "uStack_1178 = auStack_1290[0]" identifier = (subscript_expression "auStack_1290[0]" identifier [ number_literal ])) ;) (if_statement "if (puVar15 == (undefined1 *)0x0) {\n    pIVar4 = (Image *)(**(code **)(pcVar24 + 0x1cbd00))\n                                (*(int *)(pcVar24 + 0x1cafd8) + 0xdd0,\n                                 *(int *)(pcVar24 + 0x1cafe4) + -0x12ec,0x2f9,\n                                 *(int *)(pcVar24 + 0x1cafe4) + -0xf20);\n    return pIVar4;\n  }" if (parenthesized_expression "(puVar15 == (undefined1 *)0x0)" ( (binary_expression "puVar15 == (undefined1 *)0x0" identifier == (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    pIVar4 = (Image *)(**(code **)(pcVar24 + 0x1cbd00))\n                                (*(int *)(pcVar24 + 0x1cafd8) + 0xdd0,\n                                 *(int *)(pcVar24 + 0x1cafe4) + -0x12ec,0x2f9,\n                                 *(int *)(pcVar24 + 0x1cafe4) + -0xf20);\n    return pIVar4;\n  }" { (expression_statement "pIVar4 = (Image *)(**(code **)(pcVar24 + 0x1cbd00))\n                                (*(int *)(pcVar24 + 0x1cafd8) + 0xdd0,\n                                 *(int *)(pcVar24 + 0x1cafe4) + -0x12ec,0x2f9,\n                                 *(int *)(pcVar24 + 0x1cafe4) + -0xf20);" (assignment_expression "pIVar4 = (Image *)(**(code **)(pcVar24 + 0x1cbd00))\n                                (*(int *)(pcVar24 + 0x1cafd8) + 0xdd0,\n                                 *(int *)(pcVar24 + 0x1cafe4) + -0x12ec,0x2f9,\n                                 *(int *)(pcVar24 + 0x1cafe4) + -0xf20)" identifier = (cast_expression "(Image *)(**(code **)(pcVar24 + 0x1cbd00))\n                                (*(int *)(pcVar24 + 0x1cafd8) + 0xdd0,\n                                 *(int *)(pcVar24 + 0x1cafe4) + -0x12ec,0x2f9,\n                                 *(int *)(pcVar24 + 0x1cafe4) + -0xf20)" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar24 + 0x1cbd00))\n                                (*(int *)(pcVar24 + 0x1cafd8) + 0xdd0,\n                                 *(int *)(pcVar24 + 0x1cafe4) + -0x12ec,0x2f9,\n                                 *(int *)(pcVar24 + 0x1cafe4) + -0xf20)" (parenthesized_expression "(**(code **)(pcVar24 + 0x1cbd00))" ( (pointer_expression "**(code **)(pcVar24 + 0x1cbd00)" * (pointer_expression "*(code **)(pcVar24 + 0x1cbd00)" * (cast_expression "(code **)(pcVar24 + 0x1cbd00)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0x1cbd00)" ( (binary_expression "pcVar24 + 0x1cbd00" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar24 + 0x1cafd8) + 0xdd0,\n                                 *(int *)(pcVar24 + 0x1cafe4) + -0x12ec,0x2f9,\n                                 *(int *)(pcVar24 + 0x1cafe4) + -0xf20)" ( (binary_expression "*(int *)(pcVar24 + 0x1cafd8) + 0xdd0" (pointer_expression "*(int *)(pcVar24 + 0x1cafd8)" * (cast_expression "(int *)(pcVar24 + 0x1cafd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0x1cafd8)" ( (binary_expression "pcVar24 + 0x1cafd8" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar24 + 0x1cafe4) + -0x12ec" (pointer_expression "*(int *)(pcVar24 + 0x1cafe4)" * (cast_expression "(int *)(pcVar24 + 0x1cafe4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0x1cafe4)" ( (binary_expression "pcVar24 + 0x1cafe4" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar24 + 0x1cafe4) + -0xf20" (pointer_expression "*(int *)(pcVar24 + 0x1cafe4)" * (cast_expression "(int *)(pcVar24 + 0x1cafe4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0x1cafe4)" ( (binary_expression "pcVar24 + 0x1cafe4" identifier + number_literal) )))) + number_literal) ))))) ;) (return_statement "return pIVar4;" return identifier ;) })) (expression_statement "iVar2 = *(int *)(pcVar24 + 0x1cafe4);" (assignment_expression "iVar2 = *(int *)(pcVar24 + 0x1cafe4)" identifier = (pointer_expression "*(int *)(pcVar24 + 0x1cafe4)" * (cast_expression "(int *)(pcVar24 + 0x1cafe4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0x1cafe4)" ( (binary_expression "pcVar24 + 0x1cafe4" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(puVar15 + 0x336c) != -0x54535255) goto LAB_001ddf28;" if (parenthesized_expression "(*(int *)(puVar15 + 0x336c) != -0x54535255)" ( (binary_expression "*(int *)(puVar15 + 0x336c) != -0x54535255" (pointer_expression "*(int *)(puVar15 + 0x336c)" * (cast_expression "(int *)(puVar15 + 0x336c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x336c)" ( (binary_expression "puVar15 + 0x336c" identifier + number_literal) )))) != number_literal) )) (goto_statement "goto LAB_001ddf28;" goto statement_identifier ;)) (if_statement "if (*(int *)(puVar15 + 0x3350) != 0) {\n    (**(code **)(pcVar24 + 0x1cb8d8))\n              (0x8000,*(int *)(pcVar24 + 0x1cafe4) + -0x12ec,*(int *)(pcVar24 + 0x1cafe4) + -0xf34,\n               0x2fc,*(int *)(pcVar24 + 0x1cafdc) + -0x62ac,puVar15 + 0x340);\n  }" if (parenthesized_expression "(*(int *)(puVar15 + 0x3350) != 0)" ( (binary_expression "*(int *)(puVar15 + 0x3350) != 0" (pointer_expression "*(int *)(puVar15 + 0x3350)" * (cast_expression "(int *)(puVar15 + 0x3350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x3350)" ( (binary_expression "puVar15 + 0x3350" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    (**(code **)(pcVar24 + 0x1cb8d8))\n              (0x8000,*(int *)(pcVar24 + 0x1cafe4) + -0x12ec,*(int *)(pcVar24 + 0x1cafe4) + -0xf34,\n               0x2fc,*(int *)(pcVar24 + 0x1cafdc) + -0x62ac,puVar15 + 0x340);\n  }" { (expression_statement "(**(code **)(pcVar24 + 0x1cb8d8))\n              (0x8000,*(int *)(pcVar24 + 0x1cafe4) + -0x12ec,*(int *)(pcVar24 + 0x1cafe4) + -0xf34,\n               0x2fc,*(int *)(pcVar24 + 0x1cafdc) + -0x62ac,puVar15 + 0x340);" (call_expression "(**(code **)(pcVar24 + 0x1cb8d8))\n              (0x8000,*(int *)(pcVar24 + 0x1cafe4) + -0x12ec,*(int *)(pcVar24 + 0x1cafe4) + -0xf34,\n               0x2fc,*(int *)(pcVar24 + 0x1cafdc) + -0x62ac,puVar15 + 0x340)" (parenthesized_expression "(**(code **)(pcVar24 + 0x1cb8d8))" ( (pointer_expression "**(code **)(pcVar24 + 0x1cb8d8)" * (pointer_expression "*(code **)(pcVar24 + 0x1cb8d8)" * (cast_expression "(code **)(pcVar24 + 0x1cb8d8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0x1cb8d8)" ( (binary_expression "pcVar24 + 0x1cb8d8" identifier + number_literal) ))))) )) (argument_list "(0x8000,*(int *)(pcVar24 + 0x1cafe4) + -0x12ec,*(int *)(pcVar24 + 0x1cafe4) + -0xf34,\n               0x2fc,*(int *)(pcVar24 + 0x1cafdc) + -0x62ac,puVar15 + 0x340)" ( number_literal , (binary_expression "*(int *)(pcVar24 + 0x1cafe4) + -0x12ec" (pointer_expression "*(int *)(pcVar24 + 0x1cafe4)" * (cast_expression "(int *)(pcVar24 + 0x1cafe4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0x1cafe4)" ( (binary_expression "pcVar24 + 0x1cafe4" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar24 + 0x1cafe4) + -0xf34" (pointer_expression "*(int *)(pcVar24 + 0x1cafe4)" * (cast_expression "(int *)(pcVar24 + 0x1cafe4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0x1cafe4)" ( (binary_expression "pcVar24 + 0x1cafe4" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar24 + 0x1cafdc) + -0x62ac" (pointer_expression "*(int *)(pcVar24 + 0x1cafdc)" * (cast_expression "(int *)(pcVar24 + 0x1cafdc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0x1cafdc)" ( (binary_expression "pcVar24 + 0x1cafdc" identifier + number_literal) )))) + number_literal) , (binary_expression "puVar15 + 0x340" identifier + number_literal) ))) ;) })) (if_statement "if (iVar13 == 0) {\n    pIVar4 = (Image *)(**(code **)(pcVar24 + 0x1cbd00))\n                                (*(int *)(pcVar24 + 0x1cafd8) + 0x1cac,\n                                 *(int *)(pcVar24 + 0x1cafe4) + -0x12ec,0x2fd,\n                                 *(int *)(pcVar24 + 0x1cafe4) + -0xf20);\n    return pIVar4;\n  }" if (parenthesized_expression "(iVar13 == 0)" ( (binary_expression "iVar13 == 0" identifier == number_literal) )) (compound_statement "{\n    pIVar4 = (Image *)(**(code **)(pcVar24 + 0x1cbd00))\n                                (*(int *)(pcVar24 + 0x1cafd8) + 0x1cac,\n                                 *(int *)(pcVar24 + 0x1cafe4) + -0x12ec,0x2fd,\n                                 *(int *)(pcVar24 + 0x1cafe4) + -0xf20);\n    return pIVar4;\n  }" { (expression_statement "pIVar4 = (Image *)(**(code **)(pcVar24 + 0x1cbd00))\n                                (*(int *)(pcVar24 + 0x1cafd8) + 0x1cac,\n                                 *(int *)(pcVar24 + 0x1cafe4) + -0x12ec,0x2fd,\n                                 *(int *)(pcVar24 + 0x1cafe4) + -0xf20);" (assignment_expression "pIVar4 = (Image *)(**(code **)(pcVar24 + 0x1cbd00))\n                                (*(int *)(pcVar24 + 0x1cafd8) + 0x1cac,\n                                 *(int *)(pcVar24 + 0x1cafe4) + -0x12ec,0x2fd,\n                                 *(int *)(pcVar24 + 0x1cafe4) + -0xf20)" identifier = (cast_expression "(Image *)(**(code **)(pcVar24 + 0x1cbd00))\n                                (*(int *)(pcVar24 + 0x1cafd8) + 0x1cac,\n                                 *(int *)(pcVar24 + 0x1cafe4) + -0x12ec,0x2fd,\n                                 *(int *)(pcVar24 + 0x1cafe4) + -0xf20)" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar24 + 0x1cbd00))\n                                (*(int *)(pcVar24 + 0x1cafd8) + 0x1cac,\n                                 *(int *)(pcVar24 + 0x1cafe4) + -0x12ec,0x2fd,\n                                 *(int *)(pcVar24 + 0x1cafe4) + -0xf20)" (parenthesized_expression "(**(code **)(pcVar24 + 0x1cbd00))" ( (pointer_expression "**(code **)(pcVar24 + 0x1cbd00)" * (pointer_expression "*(code **)(pcVar24 + 0x1cbd00)" * (cast_expression "(code **)(pcVar24 + 0x1cbd00)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0x1cbd00)" ( (binary_expression "pcVar24 + 0x1cbd00" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar24 + 0x1cafd8) + 0x1cac,\n                                 *(int *)(pcVar24 + 0x1cafe4) + -0x12ec,0x2fd,\n                                 *(int *)(pcVar24 + 0x1cafe4) + -0xf20)" ( (binary_expression "*(int *)(pcVar24 + 0x1cafd8) + 0x1cac" (pointer_expression "*(int *)(pcVar24 + 0x1cafd8)" * (cast_expression "(int *)(pcVar24 + 0x1cafd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0x1cafd8)" ( (binary_expression "pcVar24 + 0x1cafd8" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar24 + 0x1cafe4) + -0x12ec" (pointer_expression "*(int *)(pcVar24 + 0x1cafe4)" * (cast_expression "(int *)(pcVar24 + 0x1cafe4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0x1cafe4)" ( (binary_expression "pcVar24 + 0x1cafe4" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar24 + 0x1cafe4) + -0xf20" (pointer_expression "*(int *)(pcVar24 + 0x1cafe4)" * (cast_expression "(int *)(pcVar24 + 0x1cafe4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0x1cafe4)" ( (binary_expression "pcVar24 + 0x1cafe4" identifier + number_literal) )))) + number_literal) ))))) ;) (return_statement "return pIVar4;" return identifier ;) })) (if_statement "if (*(int *)(iVar13 + 0x1c) != -0x54535255) {\n    pIVar4 = (Image *)(**(code **)(pcVar24 + 0x1cbd00))\n                                (*(int *)(pcVar24 + 0x1cafd8) + 0x294c,\n                                 *(int *)(pcVar24 + 0x1cafe4) + -0x12ec,0x2fe,\n                                 *(int *)(pcVar24 + 0x1cafe4) + -0xf20);\n    return pIVar4;\n  }" if (parenthesized_expression "(*(int *)(iVar13 + 0x1c) != -0x54535255)" ( (binary_expression "*(int *)(iVar13 + 0x1c) != -0x54535255" (pointer_expression "*(int *)(iVar13 + 0x1c)" * (cast_expression "(int *)(iVar13 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x1c)" ( (binary_expression "iVar13 + 0x1c" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    pIVar4 = (Image *)(**(code **)(pcVar24 + 0x1cbd00))\n                                (*(int *)(pcVar24 + 0x1cafd8) + 0x294c,\n                                 *(int *)(pcVar24 + 0x1cafe4) + -0x12ec,0x2fe,\n                                 *(int *)(pcVar24 + 0x1cafe4) + -0xf20);\n    return pIVar4;\n  }" { (expression_statement "pIVar4 = (Image *)(**(code **)(pcVar24 + 0x1cbd00))\n                                (*(int *)(pcVar24 + 0x1cafd8) + 0x294c,\n                                 *(int *)(pcVar24 + 0x1cafe4) + -0x12ec,0x2fe,\n                                 *(int *)(pcVar24 + 0x1cafe4) + -0xf20);" (assignment_expression "pIVar4 = (Image *)(**(code **)(pcVar24 + 0x1cbd00))\n                                (*(int *)(pcVar24 + 0x1cafd8) + 0x294c,\n                                 *(int *)(pcVar24 + 0x1cafe4) + -0x12ec,0x2fe,\n                                 *(int *)(pcVar24 + 0x1cafe4) + -0xf20)" identifier = (cast_expression "(Image *)(**(code **)(pcVar24 + 0x1cbd00))\n                                (*(int *)(pcVar24 + 0x1cafd8) + 0x294c,\n                                 *(int *)(pcVar24 + 0x1cafe4) + -0x12ec,0x2fe,\n                                 *(int *)(pcVar24 + 0x1cafe4) + -0xf20)" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar24 + 0x1cbd00))\n                                (*(int *)(pcVar24 + 0x1cafd8) + 0x294c,\n                                 *(int *)(pcVar24 + 0x1cafe4) + -0x12ec,0x2fe,\n                                 *(int *)(pcVar24 + 0x1cafe4) + -0xf20)" (parenthesized_expression "(**(code **)(pcVar24 + 0x1cbd00))" ( (pointer_expression "**(code **)(pcVar24 + 0x1cbd00)" * (pointer_expression "*(code **)(pcVar24 + 0x1cbd00)" * (cast_expression "(code **)(pcVar24 + 0x1cbd00)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0x1cbd00)" ( (binary_expression "pcVar24 + 0x1cbd00" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar24 + 0x1cafd8) + 0x294c,\n                                 *(int *)(pcVar24 + 0x1cafe4) + -0x12ec,0x2fe,\n                                 *(int *)(pcVar24 + 0x1cafe4) + -0xf20)" ( (binary_expression "*(int *)(pcVar24 + 0x1cafd8) + 0x294c" (pointer_expression "*(int *)(pcVar24 + 0x1cafd8)" * (cast_expression "(int *)(pcVar24 + 0x1cafd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0x1cafd8)" ( (binary_expression "pcVar24 + 0x1cafd8" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar24 + 0x1cafe4) + -0x12ec" (pointer_expression "*(int *)(pcVar24 + 0x1cafe4)" * (cast_expression "(int *)(pcVar24 + 0x1cafe4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0x1cafe4)" ( (binary_expression "pcVar24 + 0x1cafe4" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar24 + 0x1cafe4) + -0xf20" (pointer_expression "*(int *)(pcVar24 + 0x1cafe4)" * (cast_expression "(int *)(pcVar24 + 0x1cafe4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0x1cafe4)" ( (binary_expression "pcVar24 + 0x1cafe4" identifier + number_literal) )))) + number_literal) ))))) ;) (return_statement "return pIVar4;" return identifier ;) })) (expression_statement "iVar20 = *(int *)(iVar3 + 8);" (assignment_expression "iVar20 = *(int *)(iVar3 + 8)" identifier = (pointer_expression "*(int *)(iVar3 + 8)" * (cast_expression "(int *)(iVar3 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 8)" ( (binary_expression "iVar3 + 8" identifier + number_literal) ))))) ;) (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" identifier = number_literal) ;) (if_statement "if (0 < iVar20) {\n    iVar17 = *(int *)(iVar3 + 4);\n    iVar19 = 0;\n    puVar18 = auStack_1290;\n    do {\n      if (0 < iVar17) {\n        iVar9 = 0;\n        do {\n          if ((iVar2 < 6) && (iVar9 < 6)) {\n            puVar18[iVar9] = *(undefined8 *)(*(int *)(iVar3 + 0x14) + (iVar19 + iVar9) * 8);\n          }\n          iVar9 = iVar9 + 1;\n        } while (iVar9 != iVar17);\n        iVar19 = iVar19 + iVar17;\n      }\n      iVar2 = iVar2 + 1;\n      puVar18 = puVar18 + 6;\n    } while (iVar2 != iVar20);\n  }" if (parenthesized_expression "(0 < iVar20)" ( (binary_expression "0 < iVar20" number_literal < identifier) )) (compound_statement "{\n    iVar17 = *(int *)(iVar3 + 4);\n    iVar19 = 0;\n    puVar18 = auStack_1290;\n    do {\n      if (0 < iVar17) {\n        iVar9 = 0;\n        do {\n          if ((iVar2 < 6) && (iVar9 < 6)) {\n            puVar18[iVar9] = *(undefined8 *)(*(int *)(iVar3 + 0x14) + (iVar19 + iVar9) * 8);\n          }\n          iVar9 = iVar9 + 1;\n        } while (iVar9 != iVar17);\n        iVar19 = iVar19 + iVar17;\n      }\n      iVar2 = iVar2 + 1;\n      puVar18 = puVar18 + 6;\n    } while (iVar2 != iVar20);\n  }" { (expression_statement "iVar17 = *(int *)(iVar3 + 4);" (assignment_expression "iVar17 = *(int *)(iVar3 + 4)" identifier = (pointer_expression "*(int *)(iVar3 + 4)" * (cast_expression "(int *)(iVar3 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 4)" ( (binary_expression "iVar3 + 4" identifier + number_literal) ))))) ;) (expression_statement "iVar19 = 0;" (assignment_expression "iVar19 = 0" identifier = number_literal) ;) (expression_statement "puVar18 = auStack_1290;" (assignment_expression "puVar18 = auStack_1290" identifier = identifier) ;) (do_statement "do {\n      if (0 < iVar17) {\n        iVar9 = 0;\n        do {\n          if ((iVar2 < 6) && (iVar9 < 6)) {\n            puVar18[iVar9] = *(undefined8 *)(*(int *)(iVar3 + 0x14) + (iVar19 + iVar9) * 8);\n          }\n          iVar9 = iVar9 + 1;\n        } while (iVar9 != iVar17);\n        iVar19 = iVar19 + iVar17;\n      }\n      iVar2 = iVar2 + 1;\n      puVar18 = puVar18 + 6;\n    } while (iVar2 != iVar20);" do (compound_statement "{\n      if (0 < iVar17) {\n        iVar9 = 0;\n        do {\n          if ((iVar2 < 6) && (iVar9 < 6)) {\n            puVar18[iVar9] = *(undefined8 *)(*(int *)(iVar3 + 0x14) + (iVar19 + iVar9) * 8);\n          }\n          iVar9 = iVar9 + 1;\n        } while (iVar9 != iVar17);\n        iVar19 = iVar19 + iVar17;\n      }\n      iVar2 = iVar2 + 1;\n      puVar18 = puVar18 + 6;\n    }" { (if_statement "if (0 < iVar17) {\n        iVar9 = 0;\n        do {\n          if ((iVar2 < 6) && (iVar9 < 6)) {\n            puVar18[iVar9] = *(undefined8 *)(*(int *)(iVar3 + 0x14) + (iVar19 + iVar9) * 8);\n          }\n          iVar9 = iVar9 + 1;\n        } while (iVar9 != iVar17);\n        iVar19 = iVar19 + iVar17;\n      }" if (parenthesized_expression "(0 < iVar17)" ( (binary_expression "0 < iVar17" number_literal < identifier) )) (compound_statement "{\n        iVar9 = 0;\n        do {\n          if ((iVar2 < 6) && (iVar9 < 6)) {\n            puVar18[iVar9] = *(undefined8 *)(*(int *)(iVar3 + 0x14) + (iVar19 + iVar9) * 8);\n          }\n          iVar9 = iVar9 + 1;\n        } while (iVar9 != iVar17);\n        iVar19 = iVar19 + iVar17;\n      }" { (expression_statement "iVar9 = 0;" (assignment_expression "iVar9 = 0" identifier = number_literal) ;) (do_statement "do {\n          if ((iVar2 < 6) && (iVar9 < 6)) {\n            puVar18[iVar9] = *(undefined8 *)(*(int *)(iVar3 + 0x14) + (iVar19 + iVar9) * 8);\n          }\n          iVar9 = iVar9 + 1;\n        } while (iVar9 != iVar17);" do (compound_statement "{\n          if ((iVar2 < 6) && (iVar9 < 6)) {\n            puVar18[iVar9] = *(undefined8 *)(*(int *)(iVar3 + 0x14) + (iVar19 + iVar9) * 8);\n          }\n          iVar9 = iVar9 + 1;\n        }" { (if_statement "if ((iVar2 < 6) && (iVar9 < 6)) {\n            puVar18[iVar9] = *(undefined8 *)(*(int *)(iVar3 + 0x14) + (iVar19 + iVar9) * 8);\n          }" if (parenthesized_expression "((iVar2 < 6) && (iVar9 < 6))" ( (binary_expression "(iVar2 < 6) && (iVar9 < 6)" (parenthesized_expression "(iVar2 < 6)" ( (binary_expression "iVar2 < 6" identifier < number_literal) )) && (parenthesized_expression "(iVar9 < 6)" ( (binary_expression "iVar9 < 6" identifier < number_literal) ))) )) (compound_statement "{\n            puVar18[iVar9] = *(undefined8 *)(*(int *)(iVar3 + 0x14) + (iVar19 + iVar9) * 8);\n          }" { (expression_statement "puVar18[iVar9] = *(undefined8 *)(*(int *)(iVar3 + 0x14) + (iVar19 + iVar9) * 8);" (assignment_expression "puVar18[iVar9] = *(undefined8 *)(*(int *)(iVar3 + 0x14) + (iVar19 + iVar9) * 8)" (subscript_expression "puVar18[iVar9]" identifier [ identifier ]) = (pointer_expression "*(undefined8 *)(*(int *)(iVar3 + 0x14) + (iVar19 + iVar9) * 8)" * (cast_expression "(undefined8 *)(*(int *)(iVar3 + 0x14) + (iVar19 + iVar9) * 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar3 + 0x14) + (iVar19 + iVar9) * 8)" ( (binary_expression "*(int *)(iVar3 + 0x14) + (iVar19 + iVar9) * 8" (pointer_expression "*(int *)(iVar3 + 0x14)" * (cast_expression "(int *)(iVar3 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x14)" ( (binary_expression "iVar3 + 0x14" identifier + number_literal) )))) + (binary_expression "(iVar19 + iVar9) * 8" (parenthesized_expression "(iVar19 + iVar9)" ( (binary_expression "iVar19 + iVar9" identifier + identifier) )) * number_literal)) ))))) ;) })) (expression_statement "iVar9 = iVar9 + 1;" (assignment_expression "iVar9 = iVar9 + 1" identifier = (binary_expression "iVar9 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar9 != iVar17)" ( (binary_expression "iVar9 != iVar17" identifier != identifier) )) ;) (expression_statement "iVar19 = iVar19 + iVar17;" (assignment_expression "iVar19 = iVar19 + iVar17" identifier = (binary_expression "iVar19 + iVar17" identifier + identifier)) ;) })) (expression_statement "iVar2 = iVar2 + 1;" (assignment_expression "iVar2 = iVar2 + 1" identifier = (binary_expression "iVar2 + 1" identifier + number_literal)) ;) (expression_statement "puVar18 = puVar18 + 6;" (assignment_expression "puVar18 = puVar18 + 6" identifier = (binary_expression "puVar18 + 6" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar2 != iVar20)" ( (binary_expression "iVar2 != iVar20" identifier != identifier) )) ;) })) (expression_statement "iVar2 = 1;" (assignment_expression "iVar2 = 1" identifier = number_literal) ;) (expression_statement "pIStack_12dc = (Image *)(**(code **)(pcVar24 + 0x1cbf28))(puVar15,0,0,1,iVar13);" (assignment_expression "pIStack_12dc = (Image *)(**(code **)(pcVar24 + 0x1cbf28))(puVar15,0,0,1,iVar13)" identifier = (cast_expression "(Image *)(**(code **)(pcVar24 + 0x1cbf28))(puVar15,0,0,1,iVar13)" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar24 + 0x1cbf28))(puVar15,0,0,1,iVar13)" (parenthesized_expression "(**(code **)(pcVar24 + 0x1cbf28))" ( (pointer_expression "**(code **)(pcVar24 + 0x1cbf28)" * (pointer_expression "*(code **)(pcVar24 + 0x1cbf28)" * (cast_expression "(code **)(pcVar24 + 0x1cbf28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0x1cbf28)" ( (binary_expression "pcVar24 + 0x1cbf28" identifier + number_literal) ))))) )) (argument_list "(puVar15,0,0,1,iVar13)" ( identifier , number_literal , number_literal , number_literal , identifier ))))) ;) (if_statement "if (pIStack_12dc != (Image *)0x0) {\n    iVar20 = (**(code **)(pcVar24 + 0x1cbf1c))(pIStack_12dc,1,iVar13);\n    if (iVar20 == 0) {\n      (**(code **)(pcVar24 + 0x1cb644))(pIStack_12dc);\n      pIStack_12dc = (Image *)0x0;\n    }\n    else {\n      if (*(int *)(puVar15 + 0x3350) != 0) {\n        iVar19 = *(int *)(pcVar24 + 0x1cafe4);\n        iVar17 = *(int *)(pcVar24 + 0x1cafe4);\n        (**(code **)(pcVar24 + 0x1cb8d8))\n                  (0x10000,iVar17 + -0x12ec,iVar19 + -0xf34,0x318,\n                   *(int *)(pcVar24 + 0x1cafe4) + -0x12d0);\n        puStack_12b4 = (undefined1 *)\n                       (**(code **)(pcVar24 + 0x1cbf0c))(*(int *)(pcVar24 + 0x1cafdc) + -0x3688);\n        iStack_12e4 = 0;\n        iVar2 = *(int *)(pcVar24 + 0x1cafdc);\n        iVar9 = *(int *)(pcVar24 + 0x1cafe0);\n        iVar20 = *(int *)(pcVar24 + 0x1cafdc);\n        do {\n          pcVar25 = *(code **)(pcVar24 + 0x1cb474);\n          iVar22 = 0;\n          *puStack_12b4 = 0;\n          (*pcVar25)(auStack_116c,0x1000,iVar20 + -0x66b8);\n          (**(code **)(pcVar24 + 0x1cbaa0))(&puStack_12b4,auStack_116c);\n          do {\n            iVar22 = iVar22 + 1;\n            (**(code **)(pcVar24 + 0x1cb474))(auStack_116c,0x1000,iVar9 + 0x4930);\n            (**(code **)(pcVar24 + 0x1cbaa0))(&puStack_12b4,auStack_116c);\n          } while (iVar22 != 6);\n          iStack_12e4 = iStack_12e4 + 1;\n          (**(code **)(pcVar24 + 0x1cb8d8))\n                    (0x10000,iVar17 + -0x12ec,iVar19 + -0xf34,0x326,iVar2 + -0x62ac,puStack_12b4);\n        } while (iStack_12e4 != 6);\n        (**(code **)(pcVar24 + 0x1cb76c))(puStack_12b4);\n      }\n      uStack_12bc = 0;\n      uStack_12c0 = 0;\n      uVar10 = (**(code **)(pcVar24 + 0x1cbe4c))(puVar15,iVar13);\n      uVar11 = (**(code **)(pcVar24 + 0x1cb5cc))(pIStack_12dc,iVar13);\n      iVar2 = (**(code **)(pcVar24 + 0x1cbbac))(puVar15);\n      if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar24 + 0x1cbbac))(puVar15), iVar2 == 3)) &&\n         ((iVar2 = (**(code **)(pcVar24 + 0x1cbbac))(pIStack_12dc), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar24 + 0x1cbbac))(pIStack_12dc), iVar2 == 3)))) {\n        (**(code **)(pcVar24 + 0x1cb834))(7);\n        iVar2 = *(int *)(puVar15 + 0x1c);\n        if (iVar2 < 0) {\n          pcVar25 = *(code **)(pcVar24 + 0x1cb834);\n          if (iVar2 + 0x3f >> 6 <= extraout_v1_03) goto LAB_001ddc6c;\nLAB_001dde94:\n          (*pcVar25)(7);\n          bVar1 = extraout_v1_05 < 2;\n        }\n        else {\n          pcVar25 = *(code **)(pcVar24 + 0x1cb834);\n          if (extraout_v1_03 < iVar2 >> 6) goto LAB_001dde94;\nLAB_001ddc6c:\n          bVar1 = iVar2 < 0x80;\n        }\n        iVar20 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar24 + 0x1cb834))(7);\n          iVar20 = *(int *)(puVar15 + 0x1c);\n          if (iVar20 < 0) {\n            iVar20 = iVar20 + 0x3f;\n          }\n          iVar20 = iVar20 >> 6;\n          if (extraout_v1_06 < iVar20) {\n            pcVar25 = *(code **)(pcVar24 + 0x1cb834);\n            goto LAB_001dde6c;\n          }\n        }\n      }\n      else {\n        uVar27 = (**(code **)(pcVar24 + 0x1cb834))(7);\n        if ((int)((ulonglong)uVar27 >> 0x20) == 0) {\n          pcVar25 = *(code **)(pcVar24 + 0x1cb834);\n          if ((uint)uVar27 < 2) {\n            uVar27 = (*pcVar25)(7);\n            if ((int)((ulonglong)uVar27 >> 0x20) != 0) goto LAB_001ddb28;\n            pcVar25 = *(code **)(pcVar24 + 0x1cb834);\n            if (1 < (uint)uVar27) goto LAB_001ddb2c;\n            iVar20 = 1;\n            goto LAB_001ddb44;\n          }\n        }\n        else {\nLAB_001ddb28:\n          pcVar25 = *(code **)(pcVar24 + 0x1cb834);\n        }\nLAB_001ddb2c:\n        uVar27 = (*pcVar25)(7);\n        if (((int)((ulonglong)uVar27 >> 0x20) == 0) &&\n           (pcVar25 = *(code **)(pcVar24 + 0x1cb834), (uint)uVar27 < 2)) {\nLAB_001dde6c:\n          (*pcVar25)(7);\n          iVar20 = extraout_v1_04;\n        }\n        else {\n          iVar20 = 2;\n        }\n      }\nLAB_001ddb44:\n      iVar2 = 0;\n      iStack_1298 = 1;\n      puStack_1294 = &uStack_12c0;\n      puStack_12b4 = puVar15;\n      iStack_12b0 = iVar3;\n      iStack_12ac = iVar13;\n      uStack_12a8 = uVar11;\n      uStack_12a4 = uVar10;\n      puStack_12a0 = auStack_1290;\n      pIStack_129c = pIStack_12dc;\n      (**(code **)(pcVar24 + 0x1cb890))\n                (*(int *)(pcVar24 + 0x1cb09c) + -0x71ec,&puStack_12b4,iVar20,0);\n      iVar3 = iStack_1298;\n      (**(code **)(pcVar24 + 0x1cb5ec))(uVar11);\n      (**(code **)(pcVar24 + 0x1cb5ec))(uVar10);\n      if (iVar3 == 0) {\n        pIStack_12dc = (Image *)(**(code **)(pcVar24 + 0x1cb644))(pIStack_12dc);\n      }\n    }\n  }" if (parenthesized_expression "(pIStack_12dc != (Image *)0x0)" ( (binary_expression "pIStack_12dc != (Image *)0x0" identifier != (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    iVar20 = (**(code **)(pcVar24 + 0x1cbf1c))(pIStack_12dc,1,iVar13);\n    if (iVar20 == 0) {\n      (**(code **)(pcVar24 + 0x1cb644))(pIStack_12dc);\n      pIStack_12dc = (Image *)0x0;\n    }\n    else {\n      if (*(int *)(puVar15 + 0x3350) != 0) {\n        iVar19 = *(int *)(pcVar24 + 0x1cafe4);\n        iVar17 = *(int *)(pcVar24 + 0x1cafe4);\n        (**(code **)(pcVar24 + 0x1cb8d8))\n                  (0x10000,iVar17 + -0x12ec,iVar19 + -0xf34,0x318,\n                   *(int *)(pcVar24 + 0x1cafe4) + -0x12d0);\n        puStack_12b4 = (undefined1 *)\n                       (**(code **)(pcVar24 + 0x1cbf0c))(*(int *)(pcVar24 + 0x1cafdc) + -0x3688);\n        iStack_12e4 = 0;\n        iVar2 = *(int *)(pcVar24 + 0x1cafdc);\n        iVar9 = *(int *)(pcVar24 + 0x1cafe0);\n        iVar20 = *(int *)(pcVar24 + 0x1cafdc);\n        do {\n          pcVar25 = *(code **)(pcVar24 + 0x1cb474);\n          iVar22 = 0;\n          *puStack_12b4 = 0;\n          (*pcVar25)(auStack_116c,0x1000,iVar20 + -0x66b8);\n          (**(code **)(pcVar24 + 0x1cbaa0))(&puStack_12b4,auStack_116c);\n          do {\n            iVar22 = iVar22 + 1;\n            (**(code **)(pcVar24 + 0x1cb474))(auStack_116c,0x1000,iVar9 + 0x4930);\n            (**(code **)(pcVar24 + 0x1cbaa0))(&puStack_12b4,auStack_116c);\n          } while (iVar22 != 6);\n          iStack_12e4 = iStack_12e4 + 1;\n          (**(code **)(pcVar24 + 0x1cb8d8))\n                    (0x10000,iVar17 + -0x12ec,iVar19 + -0xf34,0x326,iVar2 + -0x62ac,puStack_12b4);\n        } while (iStack_12e4 != 6);\n        (**(code **)(pcVar24 + 0x1cb76c))(puStack_12b4);\n      }\n      uStack_12bc = 0;\n      uStack_12c0 = 0;\n      uVar10 = (**(code **)(pcVar24 + 0x1cbe4c))(puVar15,iVar13);\n      uVar11 = (**(code **)(pcVar24 + 0x1cb5cc))(pIStack_12dc,iVar13);\n      iVar2 = (**(code **)(pcVar24 + 0x1cbbac))(puVar15);\n      if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar24 + 0x1cbbac))(puVar15), iVar2 == 3)) &&\n         ((iVar2 = (**(code **)(pcVar24 + 0x1cbbac))(pIStack_12dc), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar24 + 0x1cbbac))(pIStack_12dc), iVar2 == 3)))) {\n        (**(code **)(pcVar24 + 0x1cb834))(7);\n        iVar2 = *(int *)(puVar15 + 0x1c);\n        if (iVar2 < 0) {\n          pcVar25 = *(code **)(pcVar24 + 0x1cb834);\n          if (iVar2 + 0x3f >> 6 <= extraout_v1_03) goto LAB_001ddc6c;\nLAB_001dde94:\n          (*pcVar25)(7);\n          bVar1 = extraout_v1_05 < 2;\n        }\n        else {\n          pcVar25 = *(code **)(pcVar24 + 0x1cb834);\n          if (extraout_v1_03 < iVar2 >> 6) goto LAB_001dde94;\nLAB_001ddc6c:\n          bVar1 = iVar2 < 0x80;\n        }\n        iVar20 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar24 + 0x1cb834))(7);\n          iVar20 = *(int *)(puVar15 + 0x1c);\n          if (iVar20 < 0) {\n            iVar20 = iVar20 + 0x3f;\n          }\n          iVar20 = iVar20 >> 6;\n          if (extraout_v1_06 < iVar20) {\n            pcVar25 = *(code **)(pcVar24 + 0x1cb834);\n            goto LAB_001dde6c;\n          }\n        }\n      }\n      else {\n        uVar27 = (**(code **)(pcVar24 + 0x1cb834))(7);\n        if ((int)((ulonglong)uVar27 >> 0x20) == 0) {\n          pcVar25 = *(code **)(pcVar24 + 0x1cb834);\n          if ((uint)uVar27 < 2) {\n            uVar27 = (*pcVar25)(7);\n            if ((int)((ulonglong)uVar27 >> 0x20) != 0) goto LAB_001ddb28;\n            pcVar25 = *(code **)(pcVar24 + 0x1cb834);\n            if (1 < (uint)uVar27) goto LAB_001ddb2c;\n            iVar20 = 1;\n            goto LAB_001ddb44;\n          }\n        }\n        else {\nLAB_001ddb28:\n          pcVar25 = *(code **)(pcVar24 + 0x1cb834);\n        }\nLAB_001ddb2c:\n        uVar27 = (*pcVar25)(7);\n        if (((int)((ulonglong)uVar27 >> 0x20) == 0) &&\n           (pcVar25 = *(code **)(pcVar24 + 0x1cb834), (uint)uVar27 < 2)) {\nLAB_001dde6c:\n          (*pcVar25)(7);\n          iVar20 = extraout_v1_04;\n        }\n        else {\n          iVar20 = 2;\n        }\n      }\nLAB_001ddb44:\n      iVar2 = 0;\n      iStack_1298 = 1;\n      puStack_1294 = &uStack_12c0;\n      puStack_12b4 = puVar15;\n      iStack_12b0 = iVar3;\n      iStack_12ac = iVar13;\n      uStack_12a8 = uVar11;\n      uStack_12a4 = uVar10;\n      puStack_12a0 = auStack_1290;\n      pIStack_129c = pIStack_12dc;\n      (**(code **)(pcVar24 + 0x1cb890))\n                (*(int *)(pcVar24 + 0x1cb09c) + -0x71ec,&puStack_12b4,iVar20,0);\n      iVar3 = iStack_1298;\n      (**(code **)(pcVar24 + 0x1cb5ec))(uVar11);\n      (**(code **)(pcVar24 + 0x1cb5ec))(uVar10);\n      if (iVar3 == 0) {\n        pIStack_12dc = (Image *)(**(code **)(pcVar24 + 0x1cb644))(pIStack_12dc);\n      }\n    }\n  }" { (expression_statement "iVar20 = (**(code **)(pcVar24 + 0x1cbf1c))(pIStack_12dc,1,iVar13);" (assignment_expression "iVar20 = (**(code **)(pcVar24 + 0x1cbf1c))(pIStack_12dc,1,iVar13)" identifier = (call_expression "(**(code **)(pcVar24 + 0x1cbf1c))(pIStack_12dc,1,iVar13)" (parenthesized_expression "(**(code **)(pcVar24 + 0x1cbf1c))" ( (pointer_expression "**(code **)(pcVar24 + 0x1cbf1c)" * (pointer_expression "*(code **)(pcVar24 + 0x1cbf1c)" * (cast_expression "(code **)(pcVar24 + 0x1cbf1c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0x1cbf1c)" ( (binary_expression "pcVar24 + 0x1cbf1c" identifier + number_literal) ))))) )) (argument_list "(pIStack_12dc,1,iVar13)" ( identifier , number_literal , identifier )))) ;) (if_statement "if (iVar20 == 0) {\n      (**(code **)(pcVar24 + 0x1cb644))(pIStack_12dc);\n      pIStack_12dc = (Image *)0x0;\n    }\n    else {\n      if (*(int *)(puVar15 + 0x3350) != 0) {\n        iVar19 = *(int *)(pcVar24 + 0x1cafe4);\n        iVar17 = *(int *)(pcVar24 + 0x1cafe4);\n        (**(code **)(pcVar24 + 0x1cb8d8))\n                  (0x10000,iVar17 + -0x12ec,iVar19 + -0xf34,0x318,\n                   *(int *)(pcVar24 + 0x1cafe4) + -0x12d0);\n        puStack_12b4 = (undefined1 *)\n                       (**(code **)(pcVar24 + 0x1cbf0c))(*(int *)(pcVar24 + 0x1cafdc) + -0x3688);\n        iStack_12e4 = 0;\n        iVar2 = *(int *)(pcVar24 + 0x1cafdc);\n        iVar9 = *(int *)(pcVar24 + 0x1cafe0);\n        iVar20 = *(int *)(pcVar24 + 0x1cafdc);\n        do {\n          pcVar25 = *(code **)(pcVar24 + 0x1cb474);\n          iVar22 = 0;\n          *puStack_12b4 = 0;\n          (*pcVar25)(auStack_116c,0x1000,iVar20 + -0x66b8);\n          (**(code **)(pcVar24 + 0x1cbaa0))(&puStack_12b4,auStack_116c);\n          do {\n            iVar22 = iVar22 + 1;\n            (**(code **)(pcVar24 + 0x1cb474))(auStack_116c,0x1000,iVar9 + 0x4930);\n            (**(code **)(pcVar24 + 0x1cbaa0))(&puStack_12b4,auStack_116c);\n          } while (iVar22 != 6);\n          iStack_12e4 = iStack_12e4 + 1;\n          (**(code **)(pcVar24 + 0x1cb8d8))\n                    (0x10000,iVar17 + -0x12ec,iVar19 + -0xf34,0x326,iVar2 + -0x62ac,puStack_12b4);\n        } while (iStack_12e4 != 6);\n        (**(code **)(pcVar24 + 0x1cb76c))(puStack_12b4);\n      }\n      uStack_12bc = 0;\n      uStack_12c0 = 0;\n      uVar10 = (**(code **)(pcVar24 + 0x1cbe4c))(puVar15,iVar13);\n      uVar11 = (**(code **)(pcVar24 + 0x1cb5cc))(pIStack_12dc,iVar13);\n      iVar2 = (**(code **)(pcVar24 + 0x1cbbac))(puVar15);\n      if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar24 + 0x1cbbac))(puVar15), iVar2 == 3)) &&\n         ((iVar2 = (**(code **)(pcVar24 + 0x1cbbac))(pIStack_12dc), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar24 + 0x1cbbac))(pIStack_12dc), iVar2 == 3)))) {\n        (**(code **)(pcVar24 + 0x1cb834))(7);\n        iVar2 = *(int *)(puVar15 + 0x1c);\n        if (iVar2 < 0) {\n          pcVar25 = *(code **)(pcVar24 + 0x1cb834);\n          if (iVar2 + 0x3f >> 6 <= extraout_v1_03) goto LAB_001ddc6c;\nLAB_001dde94:\n          (*pcVar25)(7);\n          bVar1 = extraout_v1_05 < 2;\n        }\n        else {\n          pcVar25 = *(code **)(pcVar24 + 0x1cb834);\n          if (extraout_v1_03 < iVar2 >> 6) goto LAB_001dde94;\nLAB_001ddc6c:\n          bVar1 = iVar2 < 0x80;\n        }\n        iVar20 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar24 + 0x1cb834))(7);\n          iVar20 = *(int *)(puVar15 + 0x1c);\n          if (iVar20 < 0) {\n            iVar20 = iVar20 + 0x3f;\n          }\n          iVar20 = iVar20 >> 6;\n          if (extraout_v1_06 < iVar20) {\n            pcVar25 = *(code **)(pcVar24 + 0x1cb834);\n            goto LAB_001dde6c;\n          }\n        }\n      }\n      else {\n        uVar27 = (**(code **)(pcVar24 + 0x1cb834))(7);\n        if ((int)((ulonglong)uVar27 >> 0x20) == 0) {\n          pcVar25 = *(code **)(pcVar24 + 0x1cb834);\n          if ((uint)uVar27 < 2) {\n            uVar27 = (*pcVar25)(7);\n            if ((int)((ulonglong)uVar27 >> 0x20) != 0) goto LAB_001ddb28;\n            pcVar25 = *(code **)(pcVar24 + 0x1cb834);\n            if (1 < (uint)uVar27) goto LAB_001ddb2c;\n            iVar20 = 1;\n            goto LAB_001ddb44;\n          }\n        }\n        else {\nLAB_001ddb28:\n          pcVar25 = *(code **)(pcVar24 + 0x1cb834);\n        }\nLAB_001ddb2c:\n        uVar27 = (*pcVar25)(7);\n        if (((int)((ulonglong)uVar27 >> 0x20) == 0) &&\n           (pcVar25 = *(code **)(pcVar24 + 0x1cb834), (uint)uVar27 < 2)) {\nLAB_001dde6c:\n          (*pcVar25)(7);\n          iVar20 = extraout_v1_04;\n        }\n        else {\n          iVar20 = 2;\n        }\n      }\nLAB_001ddb44:\n      iVar2 = 0;\n      iStack_1298 = 1;\n      puStack_1294 = &uStack_12c0;\n      puStack_12b4 = puVar15;\n      iStack_12b0 = iVar3;\n      iStack_12ac = iVar13;\n      uStack_12a8 = uVar11;\n      uStack_12a4 = uVar10;\n      puStack_12a0 = auStack_1290;\n      pIStack_129c = pIStack_12dc;\n      (**(code **)(pcVar24 + 0x1cb890))\n                (*(int *)(pcVar24 + 0x1cb09c) + -0x71ec,&puStack_12b4,iVar20,0);\n      iVar3 = iStack_1298;\n      (**(code **)(pcVar24 + 0x1cb5ec))(uVar11);\n      (**(code **)(pcVar24 + 0x1cb5ec))(uVar10);\n      if (iVar3 == 0) {\n        pIStack_12dc = (Image *)(**(code **)(pcVar24 + 0x1cb644))(pIStack_12dc);\n      }\n    }" if (parenthesized_expression "(iVar20 == 0)" ( (binary_expression "iVar20 == 0" identifier == number_literal) )) (compound_statement "{\n      (**(code **)(pcVar24 + 0x1cb644))(pIStack_12dc);\n      pIStack_12dc = (Image *)0x0;\n    }" { (expression_statement "(**(code **)(pcVar24 + 0x1cb644))(pIStack_12dc);" (call_expression "(**(code **)(pcVar24 + 0x1cb644))(pIStack_12dc)" (parenthesized_expression "(**(code **)(pcVar24 + 0x1cb644))" ( (pointer_expression "**(code **)(pcVar24 + 0x1cb644)" * (pointer_expression "*(code **)(pcVar24 + 0x1cb644)" * (cast_expression "(code **)(pcVar24 + 0x1cb644)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0x1cb644)" ( (binary_expression "pcVar24 + 0x1cb644" identifier + number_literal) ))))) )) (argument_list "(pIStack_12dc)" ( identifier ))) ;) (expression_statement "pIStack_12dc = (Image *)0x0;" (assignment_expression "pIStack_12dc = (Image *)0x0" identifier = (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n      if (*(int *)(puVar15 + 0x3350) != 0) {\n        iVar19 = *(int *)(pcVar24 + 0x1cafe4);\n        iVar17 = *(int *)(pcVar24 + 0x1cafe4);\n        (**(code **)(pcVar24 + 0x1cb8d8))\n                  (0x10000,iVar17 + -0x12ec,iVar19 + -0xf34,0x318,\n                   *(int *)(pcVar24 + 0x1cafe4) + -0x12d0);\n        puStack_12b4 = (undefined1 *)\n                       (**(code **)(pcVar24 + 0x1cbf0c))(*(int *)(pcVar24 + 0x1cafdc) + -0x3688);\n        iStack_12e4 = 0;\n        iVar2 = *(int *)(pcVar24 + 0x1cafdc);\n        iVar9 = *(int *)(pcVar24 + 0x1cafe0);\n        iVar20 = *(int *)(pcVar24 + 0x1cafdc);\n        do {\n          pcVar25 = *(code **)(pcVar24 + 0x1cb474);\n          iVar22 = 0;\n          *puStack_12b4 = 0;\n          (*pcVar25)(auStack_116c,0x1000,iVar20 + -0x66b8);\n          (**(code **)(pcVar24 + 0x1cbaa0))(&puStack_12b4,auStack_116c);\n          do {\n            iVar22 = iVar22 + 1;\n            (**(code **)(pcVar24 + 0x1cb474))(auStack_116c,0x1000,iVar9 + 0x4930);\n            (**(code **)(pcVar24 + 0x1cbaa0))(&puStack_12b4,auStack_116c);\n          } while (iVar22 != 6);\n          iStack_12e4 = iStack_12e4 + 1;\n          (**(code **)(pcVar24 + 0x1cb8d8))\n                    (0x10000,iVar17 + -0x12ec,iVar19 + -0xf34,0x326,iVar2 + -0x62ac,puStack_12b4);\n        } while (iStack_12e4 != 6);\n        (**(code **)(pcVar24 + 0x1cb76c))(puStack_12b4);\n      }\n      uStack_12bc = 0;\n      uStack_12c0 = 0;\n      uVar10 = (**(code **)(pcVar24 + 0x1cbe4c))(puVar15,iVar13);\n      uVar11 = (**(code **)(pcVar24 + 0x1cb5cc))(pIStack_12dc,iVar13);\n      iVar2 = (**(code **)(pcVar24 + 0x1cbbac))(puVar15);\n      if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar24 + 0x1cbbac))(puVar15), iVar2 == 3)) &&\n         ((iVar2 = (**(code **)(pcVar24 + 0x1cbbac))(pIStack_12dc), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar24 + 0x1cbbac))(pIStack_12dc), iVar2 == 3)))) {\n        (**(code **)(pcVar24 + 0x1cb834))(7);\n        iVar2 = *(int *)(puVar15 + 0x1c);\n        if (iVar2 < 0) {\n          pcVar25 = *(code **)(pcVar24 + 0x1cb834);\n          if (iVar2 + 0x3f >> 6 <= extraout_v1_03) goto LAB_001ddc6c;\nLAB_001dde94:\n          (*pcVar25)(7);\n          bVar1 = extraout_v1_05 < 2;\n        }\n        else {\n          pcVar25 = *(code **)(pcVar24 + 0x1cb834);\n          if (extraout_v1_03 < iVar2 >> 6) goto LAB_001dde94;\nLAB_001ddc6c:\n          bVar1 = iVar2 < 0x80;\n        }\n        iVar20 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar24 + 0x1cb834))(7);\n          iVar20 = *(int *)(puVar15 + 0x1c);\n          if (iVar20 < 0) {\n            iVar20 = iVar20 + 0x3f;\n          }\n          iVar20 = iVar20 >> 6;\n          if (extraout_v1_06 < iVar20) {\n            pcVar25 = *(code **)(pcVar24 + 0x1cb834);\n            goto LAB_001dde6c;\n          }\n        }\n      }\n      else {\n        uVar27 = (**(code **)(pcVar24 + 0x1cb834))(7);\n        if ((int)((ulonglong)uVar27 >> 0x20) == 0) {\n          pcVar25 = *(code **)(pcVar24 + 0x1cb834);\n          if ((uint)uVar27 < 2) {\n            uVar27 = (*pcVar25)(7);\n            if ((int)((ulonglong)uVar27 >> 0x20) != 0) goto LAB_001ddb28;\n            pcVar25 = *(code **)(pcVar24 + 0x1cb834);\n            if (1 < (uint)uVar27) goto LAB_001ddb2c;\n            iVar20 = 1;\n            goto LAB_001ddb44;\n          }\n        }\n        else {\nLAB_001ddb28:\n          pcVar25 = *(code **)(pcVar24 + 0x1cb834);\n        }\nLAB_001ddb2c:\n        uVar27 = (*pcVar25)(7);\n        if (((int)((ulonglong)uVar27 >> 0x20) == 0) &&\n           (pcVar25 = *(code **)(pcVar24 + 0x1cb834), (uint)uVar27 < 2)) {\nLAB_001dde6c:\n          (*pcVar25)(7);\n          iVar20 = extraout_v1_04;\n        }\n        else {\n          iVar20 = 2;\n        }\n      }\nLAB_001ddb44:\n      iVar2 = 0;\n      iStack_1298 = 1;\n      puStack_1294 = &uStack_12c0;\n      puStack_12b4 = puVar15;\n      iStack_12b0 = iVar3;\n      iStack_12ac = iVar13;\n      uStack_12a8 = uVar11;\n      uStack_12a4 = uVar10;\n      puStack_12a0 = auStack_1290;\n      pIStack_129c = pIStack_12dc;\n      (**(code **)(pcVar24 + 0x1cb890))\n                (*(int *)(pcVar24 + 0x1cb09c) + -0x71ec,&puStack_12b4,iVar20,0);\n      iVar3 = iStack_1298;\n      (**(code **)(pcVar24 + 0x1cb5ec))(uVar11);\n      (**(code **)(pcVar24 + 0x1cb5ec))(uVar10);\n      if (iVar3 == 0) {\n        pIStack_12dc = (Image *)(**(code **)(pcVar24 + 0x1cb644))(pIStack_12dc);\n      }\n    }" else (compound_statement "{\n      if (*(int *)(puVar15 + 0x3350) != 0) {\n        iVar19 = *(int *)(pcVar24 + 0x1cafe4);\n        iVar17 = *(int *)(pcVar24 + 0x1cafe4);\n        (**(code **)(pcVar24 + 0x1cb8d8))\n                  (0x10000,iVar17 + -0x12ec,iVar19 + -0xf34,0x318,\n                   *(int *)(pcVar24 + 0x1cafe4) + -0x12d0);\n        puStack_12b4 = (undefined1 *)\n                       (**(code **)(pcVar24 + 0x1cbf0c))(*(int *)(pcVar24 + 0x1cafdc) + -0x3688);\n        iStack_12e4 = 0;\n        iVar2 = *(int *)(pcVar24 + 0x1cafdc);\n        iVar9 = *(int *)(pcVar24 + 0x1cafe0);\n        iVar20 = *(int *)(pcVar24 + 0x1cafdc);\n        do {\n          pcVar25 = *(code **)(pcVar24 + 0x1cb474);\n          iVar22 = 0;\n          *puStack_12b4 = 0;\n          (*pcVar25)(auStack_116c,0x1000,iVar20 + -0x66b8);\n          (**(code **)(pcVar24 + 0x1cbaa0))(&puStack_12b4,auStack_116c);\n          do {\n            iVar22 = iVar22 + 1;\n            (**(code **)(pcVar24 + 0x1cb474))(auStack_116c,0x1000,iVar9 + 0x4930);\n            (**(code **)(pcVar24 + 0x1cbaa0))(&puStack_12b4,auStack_116c);\n          } while (iVar22 != 6);\n          iStack_12e4 = iStack_12e4 + 1;\n          (**(code **)(pcVar24 + 0x1cb8d8))\n                    (0x10000,iVar17 + -0x12ec,iVar19 + -0xf34,0x326,iVar2 + -0x62ac,puStack_12b4);\n        } while (iStack_12e4 != 6);\n        (**(code **)(pcVar24 + 0x1cb76c))(puStack_12b4);\n      }\n      uStack_12bc = 0;\n      uStack_12c0 = 0;\n      uVar10 = (**(code **)(pcVar24 + 0x1cbe4c))(puVar15,iVar13);\n      uVar11 = (**(code **)(pcVar24 + 0x1cb5cc))(pIStack_12dc,iVar13);\n      iVar2 = (**(code **)(pcVar24 + 0x1cbbac))(puVar15);\n      if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar24 + 0x1cbbac))(puVar15), iVar2 == 3)) &&\n         ((iVar2 = (**(code **)(pcVar24 + 0x1cbbac))(pIStack_12dc), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar24 + 0x1cbbac))(pIStack_12dc), iVar2 == 3)))) {\n        (**(code **)(pcVar24 + 0x1cb834))(7);\n        iVar2 = *(int *)(puVar15 + 0x1c);\n        if (iVar2 < 0) {\n          pcVar25 = *(code **)(pcVar24 + 0x1cb834);\n          if (iVar2 + 0x3f >> 6 <= extraout_v1_03) goto LAB_001ddc6c;\nLAB_001dde94:\n          (*pcVar25)(7);\n          bVar1 = extraout_v1_05 < 2;\n        }\n        else {\n          pcVar25 = *(code **)(pcVar24 + 0x1cb834);\n          if (extraout_v1_03 < iVar2 >> 6) goto LAB_001dde94;\nLAB_001ddc6c:\n          bVar1 = iVar2 < 0x80;\n        }\n        iVar20 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar24 + 0x1cb834))(7);\n          iVar20 = *(int *)(puVar15 + 0x1c);\n          if (iVar20 < 0) {\n            iVar20 = iVar20 + 0x3f;\n          }\n          iVar20 = iVar20 >> 6;\n          if (extraout_v1_06 < iVar20) {\n            pcVar25 = *(code **)(pcVar24 + 0x1cb834);\n            goto LAB_001dde6c;\n          }\n        }\n      }\n      else {\n        uVar27 = (**(code **)(pcVar24 + 0x1cb834))(7);\n        if ((int)((ulonglong)uVar27 >> 0x20) == 0) {\n          pcVar25 = *(code **)(pcVar24 + 0x1cb834);\n          if ((uint)uVar27 < 2) {\n            uVar27 = (*pcVar25)(7);\n            if ((int)((ulonglong)uVar27 >> 0x20) != 0) goto LAB_001ddb28;\n            pcVar25 = *(code **)(pcVar24 + 0x1cb834);\n            if (1 < (uint)uVar27) goto LAB_001ddb2c;\n            iVar20 = 1;\n            goto LAB_001ddb44;\n          }\n        }\n        else {\nLAB_001ddb28:\n          pcVar25 = *(code **)(pcVar24 + 0x1cb834);\n        }\nLAB_001ddb2c:\n        uVar27 = (*pcVar25)(7);\n        if (((int)((ulonglong)uVar27 >> 0x20) == 0) &&\n           (pcVar25 = *(code **)(pcVar24 + 0x1cb834), (uint)uVar27 < 2)) {\nLAB_001dde6c:\n          (*pcVar25)(7);\n          iVar20 = extraout_v1_04;\n        }\n        else {\n          iVar20 = 2;\n        }\n      }\nLAB_001ddb44:\n      iVar2 = 0;\n      iStack_1298 = 1;\n      puStack_1294 = &uStack_12c0;\n      puStack_12b4 = puVar15;\n      iStack_12b0 = iVar3;\n      iStack_12ac = iVar13;\n      uStack_12a8 = uVar11;\n      uStack_12a4 = uVar10;\n      puStack_12a0 = auStack_1290;\n      pIStack_129c = pIStack_12dc;\n      (**(code **)(pcVar24 + 0x1cb890))\n                (*(int *)(pcVar24 + 0x1cb09c) + -0x71ec,&puStack_12b4,iVar20,0);\n      iVar3 = iStack_1298;\n      (**(code **)(pcVar24 + 0x1cb5ec))(uVar11);\n      (**(code **)(pcVar24 + 0x1cb5ec))(uVar10);\n      if (iVar3 == 0) {\n        pIStack_12dc = (Image *)(**(code **)(pcVar24 + 0x1cb644))(pIStack_12dc);\n      }\n    }" { (if_statement "if (*(int *)(puVar15 + 0x3350) != 0) {\n        iVar19 = *(int *)(pcVar24 + 0x1cafe4);\n        iVar17 = *(int *)(pcVar24 + 0x1cafe4);\n        (**(code **)(pcVar24 + 0x1cb8d8))\n                  (0x10000,iVar17 + -0x12ec,iVar19 + -0xf34,0x318,\n                   *(int *)(pcVar24 + 0x1cafe4) + -0x12d0);\n        puStack_12b4 = (undefined1 *)\n                       (**(code **)(pcVar24 + 0x1cbf0c))(*(int *)(pcVar24 + 0x1cafdc) + -0x3688);\n        iStack_12e4 = 0;\n        iVar2 = *(int *)(pcVar24 + 0x1cafdc);\n        iVar9 = *(int *)(pcVar24 + 0x1cafe0);\n        iVar20 = *(int *)(pcVar24 + 0x1cafdc);\n        do {\n          pcVar25 = *(code **)(pcVar24 + 0x1cb474);\n          iVar22 = 0;\n          *puStack_12b4 = 0;\n          (*pcVar25)(auStack_116c,0x1000,iVar20 + -0x66b8);\n          (**(code **)(pcVar24 + 0x1cbaa0))(&puStack_12b4,auStack_116c);\n          do {\n            iVar22 = iVar22 + 1;\n            (**(code **)(pcVar24 + 0x1cb474))(auStack_116c,0x1000,iVar9 + 0x4930);\n            (**(code **)(pcVar24 + 0x1cbaa0))(&puStack_12b4,auStack_116c);\n          } while (iVar22 != 6);\n          iStack_12e4 = iStack_12e4 + 1;\n          (**(code **)(pcVar24 + 0x1cb8d8))\n                    (0x10000,iVar17 + -0x12ec,iVar19 + -0xf34,0x326,iVar2 + -0x62ac,puStack_12b4);\n        } while (iStack_12e4 != 6);\n        (**(code **)(pcVar24 + 0x1cb76c))(puStack_12b4);\n      }" if (parenthesized_expression "(*(int *)(puVar15 + 0x3350) != 0)" ( (binary_expression "*(int *)(puVar15 + 0x3350) != 0" (pointer_expression "*(int *)(puVar15 + 0x3350)" * (cast_expression "(int *)(puVar15 + 0x3350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x3350)" ( (binary_expression "puVar15 + 0x3350" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n        iVar19 = *(int *)(pcVar24 + 0x1cafe4);\n        iVar17 = *(int *)(pcVar24 + 0x1cafe4);\n        (**(code **)(pcVar24 + 0x1cb8d8))\n                  (0x10000,iVar17 + -0x12ec,iVar19 + -0xf34,0x318,\n                   *(int *)(pcVar24 + 0x1cafe4) + -0x12d0);\n        puStack_12b4 = (undefined1 *)\n                       (**(code **)(pcVar24 + 0x1cbf0c))(*(int *)(pcVar24 + 0x1cafdc) + -0x3688);\n        iStack_12e4 = 0;\n        iVar2 = *(int *)(pcVar24 + 0x1cafdc);\n        iVar9 = *(int *)(pcVar24 + 0x1cafe0);\n        iVar20 = *(int *)(pcVar24 + 0x1cafdc);\n        do {\n          pcVar25 = *(code **)(pcVar24 + 0x1cb474);\n          iVar22 = 0;\n          *puStack_12b4 = 0;\n          (*pcVar25)(auStack_116c,0x1000,iVar20 + -0x66b8);\n          (**(code **)(pcVar24 + 0x1cbaa0))(&puStack_12b4,auStack_116c);\n          do {\n            iVar22 = iVar22 + 1;\n            (**(code **)(pcVar24 + 0x1cb474))(auStack_116c,0x1000,iVar9 + 0x4930);\n            (**(code **)(pcVar24 + 0x1cbaa0))(&puStack_12b4,auStack_116c);\n          } while (iVar22 != 6);\n          iStack_12e4 = iStack_12e4 + 1;\n          (**(code **)(pcVar24 + 0x1cb8d8))\n                    (0x10000,iVar17 + -0x12ec,iVar19 + -0xf34,0x326,iVar2 + -0x62ac,puStack_12b4);\n        } while (iStack_12e4 != 6);\n        (**(code **)(pcVar24 + 0x1cb76c))(puStack_12b4);\n      }" { (expression_statement "iVar19 = *(int *)(pcVar24 + 0x1cafe4);" (assignment_expression "iVar19 = *(int *)(pcVar24 + 0x1cafe4)" identifier = (pointer_expression "*(int *)(pcVar24 + 0x1cafe4)" * (cast_expression "(int *)(pcVar24 + 0x1cafe4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0x1cafe4)" ( (binary_expression "pcVar24 + 0x1cafe4" identifier + number_literal) ))))) ;) (expression_statement "iVar17 = *(int *)(pcVar24 + 0x1cafe4);" (assignment_expression "iVar17 = *(int *)(pcVar24 + 0x1cafe4)" identifier = (pointer_expression "*(int *)(pcVar24 + 0x1cafe4)" * (cast_expression "(int *)(pcVar24 + 0x1cafe4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0x1cafe4)" ( (binary_expression "pcVar24 + 0x1cafe4" identifier + number_literal) ))))) ;) (expression_statement "(**(code **)(pcVar24 + 0x1cb8d8))\n                  (0x10000,iVar17 + -0x12ec,iVar19 + -0xf34,0x318,\n                   *(int *)(pcVar24 + 0x1cafe4) + -0x12d0);" (call_expression "(**(code **)(pcVar24 + 0x1cb8d8))\n                  (0x10000,iVar17 + -0x12ec,iVar19 + -0xf34,0x318,\n                   *(int *)(pcVar24 + 0x1cafe4) + -0x12d0)" (parenthesized_expression "(**(code **)(pcVar24 + 0x1cb8d8))" ( (pointer_expression "**(code **)(pcVar24 + 0x1cb8d8)" * (pointer_expression "*(code **)(pcVar24 + 0x1cb8d8)" * (cast_expression "(code **)(pcVar24 + 0x1cb8d8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0x1cb8d8)" ( (binary_expression "pcVar24 + 0x1cb8d8" identifier + number_literal) ))))) )) (argument_list "(0x10000,iVar17 + -0x12ec,iVar19 + -0xf34,0x318,\n                   *(int *)(pcVar24 + 0x1cafe4) + -0x12d0)" ( number_literal , (binary_expression "iVar17 + -0x12ec" identifier + number_literal) , (binary_expression "iVar19 + -0xf34" identifier + number_literal) , number_literal , (binary_expression "*(int *)(pcVar24 + 0x1cafe4) + -0x12d0" (pointer_expression "*(int *)(pcVar24 + 0x1cafe4)" * (cast_expression "(int *)(pcVar24 + 0x1cafe4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0x1cafe4)" ( (binary_expression "pcVar24 + 0x1cafe4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "puStack_12b4 = (undefined1 *)\n                       (**(code **)(pcVar24 + 0x1cbf0c))(*(int *)(pcVar24 + 0x1cafdc) + -0x3688);" (assignment_expression "puStack_12b4 = (undefined1 *)\n                       (**(code **)(pcVar24 + 0x1cbf0c))(*(int *)(pcVar24 + 0x1cafdc) + -0x3688)" identifier = (cast_expression "(undefined1 *)\n                       (**(code **)(pcVar24 + 0x1cbf0c))(*(int *)(pcVar24 + 0x1cafdc) + -0x3688)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar24 + 0x1cbf0c))(*(int *)(pcVar24 + 0x1cafdc) + -0x3688)" (parenthesized_expression "(**(code **)(pcVar24 + 0x1cbf0c))" ( (pointer_expression "**(code **)(pcVar24 + 0x1cbf0c)" * (pointer_expression "*(code **)(pcVar24 + 0x1cbf0c)" * (cast_expression "(code **)(pcVar24 + 0x1cbf0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0x1cbf0c)" ( (binary_expression "pcVar24 + 0x1cbf0c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar24 + 0x1cafdc) + -0x3688)" ( (binary_expression "*(int *)(pcVar24 + 0x1cafdc) + -0x3688" (pointer_expression "*(int *)(pcVar24 + 0x1cafdc)" * (cast_expression "(int *)(pcVar24 + 0x1cafdc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0x1cafdc)" ( (binary_expression "pcVar24 + 0x1cafdc" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "iStack_12e4 = 0;" (assignment_expression "iStack_12e4 = 0" identifier = number_literal) ;) (expression_statement "iVar2 = *(int *)(pcVar24 + 0x1cafdc);" (assignment_expression "iVar2 = *(int *)(pcVar24 + 0x1cafdc)" identifier = (pointer_expression "*(int *)(pcVar24 + 0x1cafdc)" * (cast_expression "(int *)(pcVar24 + 0x1cafdc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0x1cafdc)" ( (binary_expression "pcVar24 + 0x1cafdc" identifier + number_literal) ))))) ;) (expression_statement "iVar9 = *(int *)(pcVar24 + 0x1cafe0);" (assignment_expression "iVar9 = *(int *)(pcVar24 + 0x1cafe0)" identifier = (pointer_expression "*(int *)(pcVar24 + 0x1cafe0)" * (cast_expression "(int *)(pcVar24 + 0x1cafe0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0x1cafe0)" ( (binary_expression "pcVar24 + 0x1cafe0" identifier + number_literal) ))))) ;) (expression_statement "iVar20 = *(int *)(pcVar24 + 0x1cafdc);" (assignment_expression "iVar20 = *(int *)(pcVar24 + 0x1cafdc)" identifier = (pointer_expression "*(int *)(pcVar24 + 0x1cafdc)" * (cast_expression "(int *)(pcVar24 + 0x1cafdc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0x1cafdc)" ( (binary_expression "pcVar24 + 0x1cafdc" identifier + number_literal) ))))) ;) (do_statement "do {\n          pcVar25 = *(code **)(pcVar24 + 0x1cb474);\n          iVar22 = 0;\n          *puStack_12b4 = 0;\n          (*pcVar25)(auStack_116c,0x1000,iVar20 + -0x66b8);\n          (**(code **)(pcVar24 + 0x1cbaa0))(&puStack_12b4,auStack_116c);\n          do {\n            iVar22 = iVar22 + 1;\n            (**(code **)(pcVar24 + 0x1cb474))(auStack_116c,0x1000,iVar9 + 0x4930);\n            (**(code **)(pcVar24 + 0x1cbaa0))(&puStack_12b4,auStack_116c);\n          } while (iVar22 != 6);\n          iStack_12e4 = iStack_12e4 + 1;\n          (**(code **)(pcVar24 + 0x1cb8d8))\n                    (0x10000,iVar17 + -0x12ec,iVar19 + -0xf34,0x326,iVar2 + -0x62ac,puStack_12b4);\n        } while (iStack_12e4 != 6);" do (compound_statement "{\n          pcVar25 = *(code **)(pcVar24 + 0x1cb474);\n          iVar22 = 0;\n          *puStack_12b4 = 0;\n          (*pcVar25)(auStack_116c,0x1000,iVar20 + -0x66b8);\n          (**(code **)(pcVar24 + 0x1cbaa0))(&puStack_12b4,auStack_116c);\n          do {\n            iVar22 = iVar22 + 1;\n            (**(code **)(pcVar24 + 0x1cb474))(auStack_116c,0x1000,iVar9 + 0x4930);\n            (**(code **)(pcVar24 + 0x1cbaa0))(&puStack_12b4,auStack_116c);\n          } while (iVar22 != 6);\n          iStack_12e4 = iStack_12e4 + 1;\n          (**(code **)(pcVar24 + 0x1cb8d8))\n                    (0x10000,iVar17 + -0x12ec,iVar19 + -0xf34,0x326,iVar2 + -0x62ac,puStack_12b4);\n        }" { (expression_statement "pcVar25 = *(code **)(pcVar24 + 0x1cb474);" (assignment_expression "pcVar25 = *(code **)(pcVar24 + 0x1cb474)" identifier = (pointer_expression "*(code **)(pcVar24 + 0x1cb474)" * (cast_expression "(code **)(pcVar24 + 0x1cb474)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0x1cb474)" ( (binary_expression "pcVar24 + 0x1cb474" identifier + number_literal) ))))) ;) (expression_statement "iVar22 = 0;" (assignment_expression "iVar22 = 0" identifier = number_literal) ;) (expression_statement "*puStack_12b4 = 0;" (assignment_expression "*puStack_12b4 = 0" (pointer_expression "*puStack_12b4" * identifier) = number_literal) ;) (expression_statement "(*pcVar25)(auStack_116c,0x1000,iVar20 + -0x66b8);" (call_expression "(*pcVar25)(auStack_116c,0x1000,iVar20 + -0x66b8)" (parenthesized_expression "(*pcVar25)" ( (pointer_expression "*pcVar25" * identifier) )) (argument_list "(auStack_116c,0x1000,iVar20 + -0x66b8)" ( identifier , number_literal , (binary_expression "iVar20 + -0x66b8" identifier + number_literal) ))) ;) (expression_statement "(**(code **)(pcVar24 + 0x1cbaa0))(&puStack_12b4,auStack_116c);" (call_expression "(**(code **)(pcVar24 + 0x1cbaa0))(&puStack_12b4,auStack_116c)" (parenthesized_expression "(**(code **)(pcVar24 + 0x1cbaa0))" ( (pointer_expression "**(code **)(pcVar24 + 0x1cbaa0)" * (pointer_expression "*(code **)(pcVar24 + 0x1cbaa0)" * (cast_expression "(code **)(pcVar24 + 0x1cbaa0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0x1cbaa0)" ( (binary_expression "pcVar24 + 0x1cbaa0" identifier + number_literal) ))))) )) (argument_list "(&puStack_12b4,auStack_116c)" ( (pointer_expression "&puStack_12b4" & identifier) , identifier ))) ;) (do_statement "do {\n            iVar22 = iVar22 + 1;\n            (**(code **)(pcVar24 + 0x1cb474))(auStack_116c,0x1000,iVar9 + 0x4930);\n            (**(code **)(pcVar24 + 0x1cbaa0))(&puStack_12b4,auStack_116c);\n          } while (iVar22 != 6);" do (compound_statement "{\n            iVar22 = iVar22 + 1;\n            (**(code **)(pcVar24 + 0x1cb474))(auStack_116c,0x1000,iVar9 + 0x4930);\n            (**(code **)(pcVar24 + 0x1cbaa0))(&puStack_12b4,auStack_116c);\n          }" { (expression_statement "iVar22 = iVar22 + 1;" (assignment_expression "iVar22 = iVar22 + 1" identifier = (binary_expression "iVar22 + 1" identifier + number_literal)) ;) (expression_statement "(**(code **)(pcVar24 + 0x1cb474))(auStack_116c,0x1000,iVar9 + 0x4930);" (call_expression "(**(code **)(pcVar24 + 0x1cb474))(auStack_116c,0x1000,iVar9 + 0x4930)" (parenthesized_expression "(**(code **)(pcVar24 + 0x1cb474))" ( (pointer_expression "**(code **)(pcVar24 + 0x1cb474)" * (pointer_expression "*(code **)(pcVar24 + 0x1cb474)" * (cast_expression "(code **)(pcVar24 + 0x1cb474)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0x1cb474)" ( (binary_expression "pcVar24 + 0x1cb474" identifier + number_literal) ))))) )) (argument_list "(auStack_116c,0x1000,iVar9 + 0x4930)" ( identifier , number_literal , (binary_expression "iVar9 + 0x4930" identifier + number_literal) ))) ;) (expression_statement "(**(code **)(pcVar24 + 0x1cbaa0))(&puStack_12b4,auStack_116c);" (call_expression "(**(code **)(pcVar24 + 0x1cbaa0))(&puStack_12b4,auStack_116c)" (parenthesized_expression "(**(code **)(pcVar24 + 0x1cbaa0))" ( (pointer_expression "**(code **)(pcVar24 + 0x1cbaa0)" * (pointer_expression "*(code **)(pcVar24 + 0x1cbaa0)" * (cast_expression "(code **)(pcVar24 + 0x1cbaa0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0x1cbaa0)" ( (binary_expression "pcVar24 + 0x1cbaa0" identifier + number_literal) ))))) )) (argument_list "(&puStack_12b4,auStack_116c)" ( (pointer_expression "&puStack_12b4" & identifier) , identifier ))) ;) }) while (parenthesized_expression "(iVar22 != 6)" ( (binary_expression "iVar22 != 6" identifier != number_literal) )) ;) (expression_statement "iStack_12e4 = iStack_12e4 + 1;" (assignment_expression "iStack_12e4 = iStack_12e4 + 1" identifier = (binary_expression "iStack_12e4 + 1" identifier + number_literal)) ;) (expression_statement "(**(code **)(pcVar24 + 0x1cb8d8))\n                    (0x10000,iVar17 + -0x12ec,iVar19 + -0xf34,0x326,iVar2 + -0x62ac,puStack_12b4);" (call_expression "(**(code **)(pcVar24 + 0x1cb8d8))\n                    (0x10000,iVar17 + -0x12ec,iVar19 + -0xf34,0x326,iVar2 + -0x62ac,puStack_12b4)" (parenthesized_expression "(**(code **)(pcVar24 + 0x1cb8d8))" ( (pointer_expression "**(code **)(pcVar24 + 0x1cb8d8)" * (pointer_expression "*(code **)(pcVar24 + 0x1cb8d8)" * (cast_expression "(code **)(pcVar24 + 0x1cb8d8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0x1cb8d8)" ( (binary_expression "pcVar24 + 0x1cb8d8" identifier + number_literal) ))))) )) (argument_list "(0x10000,iVar17 + -0x12ec,iVar19 + -0xf34,0x326,iVar2 + -0x62ac,puStack_12b4)" ( number_literal , (binary_expression "iVar17 + -0x12ec" identifier + number_literal) , (binary_expression "iVar19 + -0xf34" identifier + number_literal) , number_literal , (binary_expression "iVar2 + -0x62ac" identifier + number_literal) , identifier ))) ;) }) while (parenthesized_expression "(iStack_12e4 != 6)" ( (binary_expression "iStack_12e4 != 6" identifier != number_literal) )) ;) (expression_statement "(**(code **)(pcVar24 + 0x1cb76c))(puStack_12b4);" (call_expression "(**(code **)(pcVar24 + 0x1cb76c))(puStack_12b4)" (parenthesized_expression "(**(code **)(pcVar24 + 0x1cb76c))" ( (pointer_expression "**(code **)(pcVar24 + 0x1cb76c)" * (pointer_expression "*(code **)(pcVar24 + 0x1cb76c)" * (cast_expression "(code **)(pcVar24 + 0x1cb76c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0x1cb76c)" ( (binary_expression "pcVar24 + 0x1cb76c" identifier + number_literal) ))))) )) (argument_list "(puStack_12b4)" ( identifier ))) ;) })) (expression_statement "uStack_12bc = 0;" (assignment_expression "uStack_12bc = 0" identifier = number_literal) ;) (expression_statement "uStack_12c0 = 0;" (assignment_expression "uStack_12c0 = 0" identifier = number_literal) ;) (expression_statement "uVar10 = (**(code **)(pcVar24 + 0x1cbe4c))(puVar15,iVar13);" (assignment_expression "uVar10 = (**(code **)(pcVar24 + 0x1cbe4c))(puVar15,iVar13)" identifier = (call_expression "(**(code **)(pcVar24 + 0x1cbe4c))(puVar15,iVar13)" (parenthesized_expression "(**(code **)(pcVar24 + 0x1cbe4c))" ( (pointer_expression "**(code **)(pcVar24 + 0x1cbe4c)" * (pointer_expression "*(code **)(pcVar24 + 0x1cbe4c)" * (cast_expression "(code **)(pcVar24 + 0x1cbe4c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0x1cbe4c)" ( (binary_expression "pcVar24 + 0x1cbe4c" identifier + number_literal) ))))) )) (argument_list "(puVar15,iVar13)" ( identifier , identifier )))) ;) (expression_statement "uVar11 = (**(code **)(pcVar24 + 0x1cb5cc))(pIStack_12dc,iVar13);" (assignment_expression "uVar11 = (**(code **)(pcVar24 + 0x1cb5cc))(pIStack_12dc,iVar13)" identifier = (call_expression "(**(code **)(pcVar24 + 0x1cb5cc))(pIStack_12dc,iVar13)" (parenthesized_expression "(**(code **)(pcVar24 + 0x1cb5cc))" ( (pointer_expression "**(code **)(pcVar24 + 0x1cb5cc)" * (pointer_expression "*(code **)(pcVar24 + 0x1cb5cc)" * (cast_expression "(code **)(pcVar24 + 0x1cb5cc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0x1cb5cc)" ( (binary_expression "pcVar24 + 0x1cb5cc" identifier + number_literal) ))))) )) (argument_list "(pIStack_12dc,iVar13)" ( identifier , identifier )))) ;) (expression_statement "iVar2 = (**(code **)(pcVar24 + 0x1cbbac))(puVar15);" (assignment_expression "iVar2 = (**(code **)(pcVar24 + 0x1cbbac))(puVar15)" identifier = (call_expression "(**(code **)(pcVar24 + 0x1cbbac))(puVar15)" (parenthesized_expression "(**(code **)(pcVar24 + 0x1cbbac))" ( (pointer_expression "**(code **)(pcVar24 + 0x1cbbac)" * (pointer_expression "*(code **)(pcVar24 + 0x1cbbac)" * (cast_expression "(code **)(pcVar24 + 0x1cbbac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0x1cbbac)" ( (binary_expression "pcVar24 + 0x1cbbac" identifier + number_literal) ))))) )) (argument_list "(puVar15)" ( identifier )))) ;) (if_statement "if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar24 + 0x1cbbac))(puVar15), iVar2 == 3)) &&\n         ((iVar2 = (**(code **)(pcVar24 + 0x1cbbac))(pIStack_12dc), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar24 + 0x1cbbac))(pIStack_12dc), iVar2 == 3)))) {\n        (**(code **)(pcVar24 + 0x1cb834))(7);\n        iVar2 = *(int *)(puVar15 + 0x1c);\n        if (iVar2 < 0) {\n          pcVar25 = *(code **)(pcVar24 + 0x1cb834);\n          if (iVar2 + 0x3f >> 6 <= extraout_v1_03) goto LAB_001ddc6c;\nLAB_001dde94:\n          (*pcVar25)(7);\n          bVar1 = extraout_v1_05 < 2;\n        }\n        else {\n          pcVar25 = *(code **)(pcVar24 + 0x1cb834);\n          if (extraout_v1_03 < iVar2 >> 6) goto LAB_001dde94;\nLAB_001ddc6c:\n          bVar1 = iVar2 < 0x80;\n        }\n        iVar20 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar24 + 0x1cb834))(7);\n          iVar20 = *(int *)(puVar15 + 0x1c);\n          if (iVar20 < 0) {\n            iVar20 = iVar20 + 0x3f;\n          }\n          iVar20 = iVar20 >> 6;\n          if (extraout_v1_06 < iVar20) {\n            pcVar25 = *(code **)(pcVar24 + 0x1cb834);\n            goto LAB_001dde6c;\n          }\n        }\n      }\n      else {\n        uVar27 = (**(code **)(pcVar24 + 0x1cb834))(7);\n        if ((int)((ulonglong)uVar27 >> 0x20) == 0) {\n          pcVar25 = *(code **)(pcVar24 + 0x1cb834);\n          if ((uint)uVar27 < 2) {\n            uVar27 = (*pcVar25)(7);\n            if ((int)((ulonglong)uVar27 >> 0x20) != 0) goto LAB_001ddb28;\n            pcVar25 = *(code **)(pcVar24 + 0x1cb834);\n            if (1 < (uint)uVar27) goto LAB_001ddb2c;\n            iVar20 = 1;\n            goto LAB_001ddb44;\n          }\n        }\n        else {\nLAB_001ddb28:\n          pcVar25 = *(code **)(pcVar24 + 0x1cb834);\n        }\nLAB_001ddb2c:\n        uVar27 = (*pcVar25)(7);\n        if (((int)((ulonglong)uVar27 >> 0x20) == 0) &&\n           (pcVar25 = *(code **)(pcVar24 + 0x1cb834), (uint)uVar27 < 2)) {\nLAB_001dde6c:\n          (*pcVar25)(7);\n          iVar20 = extraout_v1_04;\n        }\n        else {\n          iVar20 = 2;\n        }\n      }" if (parenthesized_expression "(((iVar2 == 4) || (iVar2 = (**(code **)(pcVar24 + 0x1cbbac))(puVar15), iVar2 == 3)) &&\n         ((iVar2 = (**(code **)(pcVar24 + 0x1cbbac))(pIStack_12dc), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar24 + 0x1cbbac))(pIStack_12dc), iVar2 == 3))))" ( (binary_expression "((iVar2 == 4) || (iVar2 = (**(code **)(pcVar24 + 0x1cbbac))(puVar15), iVar2 == 3)) &&\n         ((iVar2 = (**(code **)(pcVar24 + 0x1cbbac))(pIStack_12dc), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar24 + 0x1cbbac))(pIStack_12dc), iVar2 == 3)))" (parenthesized_expression "((iVar2 == 4) || (iVar2 = (**(code **)(pcVar24 + 0x1cbbac))(puVar15), iVar2 == 3))" ( (binary_expression "(iVar2 == 4) || (iVar2 = (**(code **)(pcVar24 + 0x1cbbac))(puVar15), iVar2 == 3)" (parenthesized_expression "(iVar2 == 4)" ( (binary_expression "iVar2 == 4" identifier == number_literal) )) || (parenthesized_expression "(iVar2 = (**(code **)(pcVar24 + 0x1cbbac))(puVar15), iVar2 == 3)" ( (comma_expression "iVar2 = (**(code **)(pcVar24 + 0x1cbbac))(puVar15), iVar2 == 3" (assignment_expression "iVar2 = (**(code **)(pcVar24 + 0x1cbbac))(puVar15)" identifier = (call_expression "(**(code **)(pcVar24 + 0x1cbbac))(puVar15)" (parenthesized_expression "(**(code **)(pcVar24 + 0x1cbbac))" ( (pointer_expression "**(code **)(pcVar24 + 0x1cbbac)" * (pointer_expression "*(code **)(pcVar24 + 0x1cbbac)" * (cast_expression "(code **)(pcVar24 + 0x1cbbac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0x1cbbac)" ( (binary_expression "pcVar24 + 0x1cbbac" identifier + number_literal) ))))) )) (argument_list "(puVar15)" ( identifier )))) , (binary_expression "iVar2 == 3" identifier == number_literal)) ))) )) && (parenthesized_expression "((iVar2 = (**(code **)(pcVar24 + 0x1cbbac))(pIStack_12dc), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar24 + 0x1cbbac))(pIStack_12dc), iVar2 == 3)))" ( (parenthesized_expression "(iVar2 = (**(code **)(pcVar24 + 0x1cbbac))(pIStack_12dc), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar24 + 0x1cbbac))(pIStack_12dc), iVar2 == 3))" ( (comma_expression "iVar2 = (**(code **)(pcVar24 + 0x1cbbac))(pIStack_12dc), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar24 + 0x1cbbac))(pIStack_12dc), iVar2 == 3)" (assignment_expression "iVar2 = (**(code **)(pcVar24 + 0x1cbbac))(pIStack_12dc)" identifier = (call_expression "(**(code **)(pcVar24 + 0x1cbbac))(pIStack_12dc)" (parenthesized_expression "(**(code **)(pcVar24 + 0x1cbbac))" ( (pointer_expression "**(code **)(pcVar24 + 0x1cbbac)" * (pointer_expression "*(code **)(pcVar24 + 0x1cbbac)" * (cast_expression "(code **)(pcVar24 + 0x1cbbac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0x1cbbac)" ( (binary_expression "pcVar24 + 0x1cbbac" identifier + number_literal) ))))) )) (argument_list "(pIStack_12dc)" ( identifier )))) , (binary_expression "iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar24 + 0x1cbbac))(pIStack_12dc), iVar2 == 3)" (binary_expression "iVar2 == 4" identifier == number_literal) || (parenthesized_expression "(iVar2 = (**(code **)(pcVar24 + 0x1cbbac))(pIStack_12dc), iVar2 == 3)" ( (comma_expression "iVar2 = (**(code **)(pcVar24 + 0x1cbbac))(pIStack_12dc), iVar2 == 3" (assignment_expression "iVar2 = (**(code **)(pcVar24 + 0x1cbbac))(pIStack_12dc)" identifier = (call_expression "(**(code **)(pcVar24 + 0x1cbbac))(pIStack_12dc)" (parenthesized_expression "(**(code **)(pcVar24 + 0x1cbbac))" ( (pointer_expression "**(code **)(pcVar24 + 0x1cbbac)" * (pointer_expression "*(code **)(pcVar24 + 0x1cbbac)" * (cast_expression "(code **)(pcVar24 + 0x1cbbac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0x1cbbac)" ( (binary_expression "pcVar24 + 0x1cbbac" identifier + number_literal) ))))) )) (argument_list "(pIStack_12dc)" ( identifier )))) , (binary_expression "iVar2 == 3" identifier == number_literal)) )))) )) ))) )) (compound_statement "{\n        (**(code **)(pcVar24 + 0x1cb834))(7);\n        iVar2 = *(int *)(puVar15 + 0x1c);\n        if (iVar2 < 0) {\n          pcVar25 = *(code **)(pcVar24 + 0x1cb834);\n          if (iVar2 + 0x3f >> 6 <= extraout_v1_03) goto LAB_001ddc6c;\nLAB_001dde94:\n          (*pcVar25)(7);\n          bVar1 = extraout_v1_05 < 2;\n        }\n        else {\n          pcVar25 = *(code **)(pcVar24 + 0x1cb834);\n          if (extraout_v1_03 < iVar2 >> 6) goto LAB_001dde94;\nLAB_001ddc6c:\n          bVar1 = iVar2 < 0x80;\n        }\n        iVar20 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar24 + 0x1cb834))(7);\n          iVar20 = *(int *)(puVar15 + 0x1c);\n          if (iVar20 < 0) {\n            iVar20 = iVar20 + 0x3f;\n          }\n          iVar20 = iVar20 >> 6;\n          if (extraout_v1_06 < iVar20) {\n            pcVar25 = *(code **)(pcVar24 + 0x1cb834);\n            goto LAB_001dde6c;\n          }\n        }\n      }" { (expression_statement "(**(code **)(pcVar24 + 0x1cb834))(7);" (call_expression "(**(code **)(pcVar24 + 0x1cb834))(7)" (parenthesized_expression "(**(code **)(pcVar24 + 0x1cb834))" ( (pointer_expression "**(code **)(pcVar24 + 0x1cb834)" * (pointer_expression "*(code **)(pcVar24 + 0x1cb834)" * (cast_expression "(code **)(pcVar24 + 0x1cb834)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0x1cb834)" ( (binary_expression "pcVar24 + 0x1cb834" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "iVar2 = *(int *)(puVar15 + 0x1c);" (assignment_expression "iVar2 = *(int *)(puVar15 + 0x1c)" identifier = (pointer_expression "*(int *)(puVar15 + 0x1c)" * (cast_expression "(int *)(puVar15 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x1c)" ( (binary_expression "puVar15 + 0x1c" identifier + number_literal) ))))) ;) (if_statement "if (iVar2 < 0) {\n          pcVar25 = *(code **)(pcVar24 + 0x1cb834);\n          if (iVar2 + 0x3f >> 6 <= extraout_v1_03) goto LAB_001ddc6c;\nLAB_001dde94:\n          (*pcVar25)(7);\n          bVar1 = extraout_v1_05 < 2;\n        }\n        else {\n          pcVar25 = *(code **)(pcVar24 + 0x1cb834);\n          if (extraout_v1_03 < iVar2 >> 6) goto LAB_001dde94;\nLAB_001ddc6c:\n          bVar1 = iVar2 < 0x80;\n        }" if (parenthesized_expression "(iVar2 < 0)" ( (binary_expression "iVar2 < 0" identifier < number_literal) )) (compound_statement "{\n          pcVar25 = *(code **)(pcVar24 + 0x1cb834);\n          if (iVar2 + 0x3f >> 6 <= extraout_v1_03) goto LAB_001ddc6c;\nLAB_001dde94:\n          (*pcVar25)(7);\n          bVar1 = extraout_v1_05 < 2;\n        }" { (expression_statement "pcVar25 = *(code **)(pcVar24 + 0x1cb834);" (assignment_expression "pcVar25 = *(code **)(pcVar24 + 0x1cb834)" identifier = (pointer_expression "*(code **)(pcVar24 + 0x1cb834)" * (cast_expression "(code **)(pcVar24 + 0x1cb834)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0x1cb834)" ( (binary_expression "pcVar24 + 0x1cb834" identifier + number_literal) ))))) ;) (if_statement "if (iVar2 + 0x3f >> 6 <= extraout_v1_03) goto LAB_001ddc6c;" if (parenthesized_expression "(iVar2 + 0x3f >> 6 <= extraout_v1_03)" ( (binary_expression "iVar2 + 0x3f >> 6 <= extraout_v1_03" (binary_expression "iVar2 + 0x3f >> 6" (binary_expression "iVar2 + 0x3f" identifier + number_literal) >> number_literal) <= identifier) )) (goto_statement "goto LAB_001ddc6c;" goto statement_identifier ;)) (labeled_statement "LAB_001dde94:\n          (*pcVar25)(7);" statement_identifier : (expression_statement "(*pcVar25)(7);" (call_expression "(*pcVar25)(7)" (parenthesized_expression "(*pcVar25)" ( (pointer_expression "*pcVar25" * identifier) )) (argument_list "(7)" ( number_literal ))) ;)) (expression_statement "bVar1 = extraout_v1_05 < 2;" (assignment_expression "bVar1 = extraout_v1_05 < 2" identifier = (binary_expression "extraout_v1_05 < 2" identifier < number_literal)) ;) }) (else_clause "else {\n          pcVar25 = *(code **)(pcVar24 + 0x1cb834);\n          if (extraout_v1_03 < iVar2 >> 6) goto LAB_001dde94;\nLAB_001ddc6c:\n          bVar1 = iVar2 < 0x80;\n        }" else (compound_statement "{\n          pcVar25 = *(code **)(pcVar24 + 0x1cb834);\n          if (extraout_v1_03 < iVar2 >> 6) goto LAB_001dde94;\nLAB_001ddc6c:\n          bVar1 = iVar2 < 0x80;\n        }" { (expression_statement "pcVar25 = *(code **)(pcVar24 + 0x1cb834);" (assignment_expression "pcVar25 = *(code **)(pcVar24 + 0x1cb834)" identifier = (pointer_expression "*(code **)(pcVar24 + 0x1cb834)" * (cast_expression "(code **)(pcVar24 + 0x1cb834)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0x1cb834)" ( (binary_expression "pcVar24 + 0x1cb834" identifier + number_literal) ))))) ;) (if_statement "if (extraout_v1_03 < iVar2 >> 6) goto LAB_001dde94;" if (parenthesized_expression "(extraout_v1_03 < iVar2 >> 6)" ( (binary_expression "extraout_v1_03 < iVar2 >> 6" identifier < (binary_expression "iVar2 >> 6" identifier >> number_literal)) )) (goto_statement "goto LAB_001dde94;" goto statement_identifier ;)) (labeled_statement "LAB_001ddc6c:\n          bVar1 = iVar2 < 0x80;" statement_identifier : (expression_statement "bVar1 = iVar2 < 0x80;" (assignment_expression "bVar1 = iVar2 < 0x80" identifier = (binary_expression "iVar2 < 0x80" identifier < number_literal)) ;)) }))) (expression_statement "iVar20 = 1;" (assignment_expression "iVar20 = 1" identifier = number_literal) ;) (if_statement "if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar24 + 0x1cb834))(7);\n          iVar20 = *(int *)(puVar15 + 0x1c);\n          if (iVar20 < 0) {\n            iVar20 = iVar20 + 0x3f;\n          }\n          iVar20 = iVar20 >> 6;\n          if (extraout_v1_06 < iVar20) {\n            pcVar25 = *(code **)(pcVar24 + 0x1cb834);\n            goto LAB_001dde6c;\n          }\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 **)(pcVar24 + 0x1cb834))(7);\n          iVar20 = *(int *)(puVar15 + 0x1c);\n          if (iVar20 < 0) {\n            iVar20 = iVar20 + 0x3f;\n          }\n          iVar20 = iVar20 >> 6;\n          if (extraout_v1_06 < iVar20) {\n            pcVar25 = *(code **)(pcVar24 + 0x1cb834);\n            goto LAB_001dde6c;\n          }\n        }" { (expression_statement "(**(code **)(pcVar24 + 0x1cb834))(7);" (call_expression "(**(code **)(pcVar24 + 0x1cb834))(7)" (parenthesized_expression "(**(code **)(pcVar24 + 0x1cb834))" ( (pointer_expression "**(code **)(pcVar24 + 0x1cb834)" * (pointer_expression "*(code **)(pcVar24 + 0x1cb834)" * (cast_expression "(code **)(pcVar24 + 0x1cb834)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0x1cb834)" ( (binary_expression "pcVar24 + 0x1cb834" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "iVar20 = *(int *)(puVar15 + 0x1c);" (assignment_expression "iVar20 = *(int *)(puVar15 + 0x1c)" identifier = (pointer_expression "*(int *)(puVar15 + 0x1c)" * (cast_expression "(int *)(puVar15 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x1c)" ( (binary_expression "puVar15 + 0x1c" identifier + number_literal) ))))) ;) (if_statement "if (iVar20 < 0) {\n            iVar20 = iVar20 + 0x3f;\n          }" if (parenthesized_expression "(iVar20 < 0)" ( (binary_expression "iVar20 < 0" identifier < number_literal) )) (compound_statement "{\n            iVar20 = iVar20 + 0x3f;\n          }" { (expression_statement "iVar20 = iVar20 + 0x3f;" (assignment_expression "iVar20 = iVar20 + 0x3f" identifier = (binary_expression "iVar20 + 0x3f" identifier + number_literal)) ;) })) (expression_statement "iVar20 = iVar20 >> 6;" (assignment_expression "iVar20 = iVar20 >> 6" identifier = (binary_expression "iVar20 >> 6" identifier >> number_literal)) ;) (if_statement "if (extraout_v1_06 < iVar20) {\n            pcVar25 = *(code **)(pcVar24 + 0x1cb834);\n            goto LAB_001dde6c;\n          }" if (parenthesized_expression "(extraout_v1_06 < iVar20)" ( (binary_expression "extraout_v1_06 < iVar20" identifier < identifier) )) (compound_statement "{\n            pcVar25 = *(code **)(pcVar24 + 0x1cb834);\n            goto LAB_001dde6c;\n          }" { (expression_statement "pcVar25 = *(code **)(pcVar24 + 0x1cb834);" (assignment_expression "pcVar25 = *(code **)(pcVar24 + 0x1cb834)" identifier = (pointer_expression "*(code **)(pcVar24 + 0x1cb834)" * (cast_expression "(code **)(pcVar24 + 0x1cb834)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0x1cb834)" ( (binary_expression "pcVar24 + 0x1cb834" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_001dde6c;" goto statement_identifier ;) })) })) }) (else_clause "else {\n        uVar27 = (**(code **)(pcVar24 + 0x1cb834))(7);\n        if ((int)((ulonglong)uVar27 >> 0x20) == 0) {\n          pcVar25 = *(code **)(pcVar24 + 0x1cb834);\n          if ((uint)uVar27 < 2) {\n            uVar27 = (*pcVar25)(7);\n            if ((int)((ulonglong)uVar27 >> 0x20) != 0) goto LAB_001ddb28;\n            pcVar25 = *(code **)(pcVar24 + 0x1cb834);\n            if (1 < (uint)uVar27) goto LAB_001ddb2c;\n            iVar20 = 1;\n            goto LAB_001ddb44;\n          }\n        }\n        else {\nLAB_001ddb28:\n          pcVar25 = *(code **)(pcVar24 + 0x1cb834);\n        }\nLAB_001ddb2c:\n        uVar27 = (*pcVar25)(7);\n        if (((int)((ulonglong)uVar27 >> 0x20) == 0) &&\n           (pcVar25 = *(code **)(pcVar24 + 0x1cb834), (uint)uVar27 < 2)) {\nLAB_001dde6c:\n          (*pcVar25)(7);\n          iVar20 = extraout_v1_04;\n        }\n        else {\n          iVar20 = 2;\n        }\n      }" else (compound_statement "{\n        uVar27 = (**(code **)(pcVar24 + 0x1cb834))(7);\n        if ((int)((ulonglong)uVar27 >> 0x20) == 0) {\n          pcVar25 = *(code **)(pcVar24 + 0x1cb834);\n          if ((uint)uVar27 < 2) {\n            uVar27 = (*pcVar25)(7);\n            if ((int)((ulonglong)uVar27 >> 0x20) != 0) goto LAB_001ddb28;\n            pcVar25 = *(code **)(pcVar24 + 0x1cb834);\n            if (1 < (uint)uVar27) goto LAB_001ddb2c;\n            iVar20 = 1;\n            goto LAB_001ddb44;\n          }\n        }\n        else {\nLAB_001ddb28:\n          pcVar25 = *(code **)(pcVar24 + 0x1cb834);\n        }\nLAB_001ddb2c:\n        uVar27 = (*pcVar25)(7);\n        if (((int)((ulonglong)uVar27 >> 0x20) == 0) &&\n           (pcVar25 = *(code **)(pcVar24 + 0x1cb834), (uint)uVar27 < 2)) {\nLAB_001dde6c:\n          (*pcVar25)(7);\n          iVar20 = extraout_v1_04;\n        }\n        else {\n          iVar20 = 2;\n        }\n      }" { (expression_statement "uVar27 = (**(code **)(pcVar24 + 0x1cb834))(7);" (assignment_expression "uVar27 = (**(code **)(pcVar24 + 0x1cb834))(7)" identifier = (call_expression "(**(code **)(pcVar24 + 0x1cb834))(7)" (parenthesized_expression "(**(code **)(pcVar24 + 0x1cb834))" ( (pointer_expression "**(code **)(pcVar24 + 0x1cb834)" * (pointer_expression "*(code **)(pcVar24 + 0x1cb834)" * (cast_expression "(code **)(pcVar24 + 0x1cb834)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0x1cb834)" ( (binary_expression "pcVar24 + 0x1cb834" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if ((int)((ulonglong)uVar27 >> 0x20) == 0) {\n          pcVar25 = *(code **)(pcVar24 + 0x1cb834);\n          if ((uint)uVar27 < 2) {\n            uVar27 = (*pcVar25)(7);\n            if ((int)((ulonglong)uVar27 >> 0x20) != 0) goto LAB_001ddb28;\n            pcVar25 = *(code **)(pcVar24 + 0x1cb834);\n            if (1 < (uint)uVar27) goto LAB_001ddb2c;\n            iVar20 = 1;\n            goto LAB_001ddb44;\n          }\n        }\n        else {\nLAB_001ddb28:\n          pcVar25 = *(code **)(pcVar24 + 0x1cb834);\n        }" if (parenthesized_expression "((int)((ulonglong)uVar27 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar27 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar27 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar27 >> 0x20)" ( (binary_expression "(ulonglong)uVar27 >> 0x20" (cast_expression "(ulonglong)uVar27" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) (compound_statement "{\n          pcVar25 = *(code **)(pcVar24 + 0x1cb834);\n          if ((uint)uVar27 < 2) {\n            uVar27 = (*pcVar25)(7);\n            if ((int)((ulonglong)uVar27 >> 0x20) != 0) goto LAB_001ddb28;\n            pcVar25 = *(code **)(pcVar24 + 0x1cb834);\n            if (1 < (uint)uVar27) goto LAB_001ddb2c;\n            iVar20 = 1;\n            goto LAB_001ddb44;\n          }\n        }" { (expression_statement "pcVar25 = *(code **)(pcVar24 + 0x1cb834);" (assignment_expression "pcVar25 = *(code **)(pcVar24 + 0x1cb834)" identifier = (pointer_expression "*(code **)(pcVar24 + 0x1cb834)" * (cast_expression "(code **)(pcVar24 + 0x1cb834)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0x1cb834)" ( (binary_expression "pcVar24 + 0x1cb834" identifier + number_literal) ))))) ;) (if_statement "if ((uint)uVar27 < 2) {\n            uVar27 = (*pcVar25)(7);\n            if ((int)((ulonglong)uVar27 >> 0x20) != 0) goto LAB_001ddb28;\n            pcVar25 = *(code **)(pcVar24 + 0x1cb834);\n            if (1 < (uint)uVar27) goto LAB_001ddb2c;\n            iVar20 = 1;\n            goto LAB_001ddb44;\n          }" if (parenthesized_expression "((uint)uVar27 < 2)" ( (binary_expression "(uint)uVar27 < 2" (cast_expression "(uint)uVar27" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) )) (compound_statement "{\n            uVar27 = (*pcVar25)(7);\n            if ((int)((ulonglong)uVar27 >> 0x20) != 0) goto LAB_001ddb28;\n            pcVar25 = *(code **)(pcVar24 + 0x1cb834);\n            if (1 < (uint)uVar27) goto LAB_001ddb2c;\n            iVar20 = 1;\n            goto LAB_001ddb44;\n          }" { (expression_statement "uVar27 = (*pcVar25)(7);" (assignment_expression "uVar27 = (*pcVar25)(7)" identifier = (call_expression "(*pcVar25)(7)" (parenthesized_expression "(*pcVar25)" ( (pointer_expression "*pcVar25" * identifier) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if ((int)((ulonglong)uVar27 >> 0x20) != 0) goto LAB_001ddb28;" if (parenthesized_expression "((int)((ulonglong)uVar27 >> 0x20) != 0)" ( (binary_expression "(int)((ulonglong)uVar27 >> 0x20) != 0" (cast_expression "(int)((ulonglong)uVar27 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar27 >> 0x20)" ( (binary_expression "(ulonglong)uVar27 >> 0x20" (cast_expression "(ulonglong)uVar27" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) != number_literal) )) (goto_statement "goto LAB_001ddb28;" goto statement_identifier ;)) (expression_statement "pcVar25 = *(code **)(pcVar24 + 0x1cb834);" (assignment_expression "pcVar25 = *(code **)(pcVar24 + 0x1cb834)" identifier = (pointer_expression "*(code **)(pcVar24 + 0x1cb834)" * (cast_expression "(code **)(pcVar24 + 0x1cb834)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0x1cb834)" ( (binary_expression "pcVar24 + 0x1cb834" identifier + number_literal) ))))) ;) (if_statement "if (1 < (uint)uVar27) goto LAB_001ddb2c;" if (parenthesized_expression "(1 < (uint)uVar27)" ( (binary_expression "1 < (uint)uVar27" number_literal < (cast_expression "(uint)uVar27" ( (type_descriptor "uint" type_identifier) ) identifier)) )) (goto_statement "goto LAB_001ddb2c;" goto statement_identifier ;)) (expression_statement "iVar20 = 1;" (assignment_expression "iVar20 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_001ddb44;" goto statement_identifier ;) })) }) (else_clause "else {\nLAB_001ddb28:\n          pcVar25 = *(code **)(pcVar24 + 0x1cb834);\n        }" else (compound_statement "{\nLAB_001ddb28:\n          pcVar25 = *(code **)(pcVar24 + 0x1cb834);\n        }" { (labeled_statement "LAB_001ddb28:\n          pcVar25 = *(code **)(pcVar24 + 0x1cb834);" statement_identifier : (expression_statement "pcVar25 = *(code **)(pcVar24 + 0x1cb834);" (assignment_expression "pcVar25 = *(code **)(pcVar24 + 0x1cb834)" identifier = (pointer_expression "*(code **)(pcVar24 + 0x1cb834)" * (cast_expression "(code **)(pcVar24 + 0x1cb834)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0x1cb834)" ( (binary_expression "pcVar24 + 0x1cb834" identifier + number_literal) ))))) ;)) }))) (labeled_statement "LAB_001ddb2c:\n        uVar27 = (*pcVar25)(7);" statement_identifier : (expression_statement "uVar27 = (*pcVar25)(7);" (assignment_expression "uVar27 = (*pcVar25)(7)" identifier = (call_expression "(*pcVar25)(7)" (parenthesized_expression "(*pcVar25)" ( (pointer_expression "*pcVar25" * identifier) )) (argument_list "(7)" ( number_literal )))) ;)) (if_statement "if (((int)((ulonglong)uVar27 >> 0x20) == 0) &&\n           (pcVar25 = *(code **)(pcVar24 + 0x1cb834), (uint)uVar27 < 2)) {\nLAB_001dde6c:\n          (*pcVar25)(7);\n          iVar20 = extraout_v1_04;\n        }\n        else {\n          iVar20 = 2;\n        }" if (parenthesized_expression "(((int)((ulonglong)uVar27 >> 0x20) == 0) &&\n           (pcVar25 = *(code **)(pcVar24 + 0x1cb834), (uint)uVar27 < 2))" ( (binary_expression "((int)((ulonglong)uVar27 >> 0x20) == 0) &&\n           (pcVar25 = *(code **)(pcVar24 + 0x1cb834), (uint)uVar27 < 2)" (parenthesized_expression "((int)((ulonglong)uVar27 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar27 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar27 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar27 >> 0x20)" ( (binary_expression "(ulonglong)uVar27 >> 0x20" (cast_expression "(ulonglong)uVar27" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) && (parenthesized_expression "(pcVar25 = *(code **)(pcVar24 + 0x1cb834), (uint)uVar27 < 2)" ( (comma_expression "pcVar25 = *(code **)(pcVar24 + 0x1cb834), (uint)uVar27 < 2" (assignment_expression "pcVar25 = *(code **)(pcVar24 + 0x1cb834)" identifier = (pointer_expression "*(code **)(pcVar24 + 0x1cb834)" * (cast_expression "(code **)(pcVar24 + 0x1cb834)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0x1cb834)" ( (binary_expression "pcVar24 + 0x1cb834" identifier + number_literal) ))))) , (binary_expression "(uint)uVar27 < 2" (cast_expression "(uint)uVar27" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal)) ))) )) (compound_statement "{\nLAB_001dde6c:\n          (*pcVar25)(7);\n          iVar20 = extraout_v1_04;\n        }" { (labeled_statement "LAB_001dde6c:\n          (*pcVar25)(7);" statement_identifier : (expression_statement "(*pcVar25)(7);" (call_expression "(*pcVar25)(7)" (parenthesized_expression "(*pcVar25)" ( (pointer_expression "*pcVar25" * identifier) )) (argument_list "(7)" ( number_literal ))) ;)) (expression_statement "iVar20 = extraout_v1_04;" (assignment_expression "iVar20 = extraout_v1_04" identifier = identifier) ;) }) (else_clause "else {\n          iVar20 = 2;\n        }" else (compound_statement "{\n          iVar20 = 2;\n        }" { (expression_statement "iVar20 = 2;" (assignment_expression "iVar20 = 2" identifier = number_literal) ;) }))) }))) (labeled_statement "LAB_001ddb44:\n      iVar2 = 0;" statement_identifier : (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" identifier = number_literal) ;)) (expression_statement "iStack_1298 = 1;" (assignment_expression "iStack_1298 = 1" identifier = number_literal) ;) (expression_statement "puStack_1294 = &uStack_12c0;" (assignment_expression "puStack_1294 = &uStack_12c0" identifier = (pointer_expression "&uStack_12c0" & identifier)) ;) (expression_statement "puStack_12b4 = puVar15;" (assignment_expression "puStack_12b4 = puVar15" identifier = identifier) ;) (expression_statement "iStack_12b0 = iVar3;" (assignment_expression "iStack_12b0 = iVar3" identifier = identifier) ;) (expression_statement "iStack_12ac = iVar13;" (assignment_expression "iStack_12ac = iVar13" identifier = identifier) ;) (expression_statement "uStack_12a8 = uVar11;" (assignment_expression "uStack_12a8 = uVar11" identifier = identifier) ;) (expression_statement "uStack_12a4 = uVar10;" (assignment_expression "uStack_12a4 = uVar10" identifier = identifier) ;) (expression_statement "puStack_12a0 = auStack_1290;" (assignment_expression "puStack_12a0 = auStack_1290" identifier = identifier) ;) (expression_statement "pIStack_129c = pIStack_12dc;" (assignment_expression "pIStack_129c = pIStack_12dc" identifier = identifier) ;) (expression_statement "(**(code **)(pcVar24 + 0x1cb890))\n                (*(int *)(pcVar24 + 0x1cb09c) + -0x71ec,&puStack_12b4,iVar20,0);" (call_expression "(**(code **)(pcVar24 + 0x1cb890))\n                (*(int *)(pcVar24 + 0x1cb09c) + -0x71ec,&puStack_12b4,iVar20,0)" (parenthesized_expression "(**(code **)(pcVar24 + 0x1cb890))" ( (pointer_expression "**(code **)(pcVar24 + 0x1cb890)" * (pointer_expression "*(code **)(pcVar24 + 0x1cb890)" * (cast_expression "(code **)(pcVar24 + 0x1cb890)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0x1cb890)" ( (binary_expression "pcVar24 + 0x1cb890" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar24 + 0x1cb09c) + -0x71ec,&puStack_12b4,iVar20,0)" ( (binary_expression "*(int *)(pcVar24 + 0x1cb09c) + -0x71ec" (pointer_expression "*(int *)(pcVar24 + 0x1cb09c)" * (cast_expression "(int *)(pcVar24 + 0x1cb09c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0x1cb09c)" ( (binary_expression "pcVar24 + 0x1cb09c" identifier + number_literal) )))) + number_literal) , (pointer_expression "&puStack_12b4" & identifier) , identifier , number_literal ))) ;) (expression_statement "iVar3 = iStack_1298;" (assignment_expression "iVar3 = iStack_1298" identifier = identifier) ;) (expression_statement "(**(code **)(pcVar24 + 0x1cb5ec))(uVar11);" (call_expression "(**(code **)(pcVar24 + 0x1cb5ec))(uVar11)" (parenthesized_expression "(**(code **)(pcVar24 + 0x1cb5ec))" ( (pointer_expression "**(code **)(pcVar24 + 0x1cb5ec)" * (pointer_expression "*(code **)(pcVar24 + 0x1cb5ec)" * (cast_expression "(code **)(pcVar24 + 0x1cb5ec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0x1cb5ec)" ( (binary_expression "pcVar24 + 0x1cb5ec" identifier + number_literal) ))))) )) (argument_list "(uVar11)" ( identifier ))) ;) (expression_statement "(**(code **)(pcVar24 + 0x1cb5ec))(uVar10);" (call_expression "(**(code **)(pcVar24 + 0x1cb5ec))(uVar10)" (parenthesized_expression "(**(code **)(pcVar24 + 0x1cb5ec))" ( (pointer_expression "**(code **)(pcVar24 + 0x1cb5ec)" * (pointer_expression "*(code **)(pcVar24 + 0x1cb5ec)" * (cast_expression "(code **)(pcVar24 + 0x1cb5ec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0x1cb5ec)" ( (binary_expression "pcVar24 + 0x1cb5ec" identifier + number_literal) ))))) )) (argument_list "(uVar10)" ( identifier ))) ;) (if_statement "if (iVar3 == 0) {\n        pIStack_12dc = (Image *)(**(code **)(pcVar24 + 0x1cb644))(pIStack_12dc);\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        pIStack_12dc = (Image *)(**(code **)(pcVar24 + 0x1cb644))(pIStack_12dc);\n      }" { (expression_statement "pIStack_12dc = (Image *)(**(code **)(pcVar24 + 0x1cb644))(pIStack_12dc);" (assignment_expression "pIStack_12dc = (Image *)(**(code **)(pcVar24 + 0x1cb644))(pIStack_12dc)" identifier = (cast_expression "(Image *)(**(code **)(pcVar24 + 0x1cb644))(pIStack_12dc)" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar24 + 0x1cb644))(pIStack_12dc)" (parenthesized_expression "(**(code **)(pcVar24 + 0x1cb644))" ( (pointer_expression "**(code **)(pcVar24 + 0x1cb644)" * (pointer_expression "*(code **)(pcVar24 + 0x1cb644)" * (cast_expression "(code **)(pcVar24 + 0x1cb644)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0x1cb644)" ( (binary_expression "pcVar24 + 0x1cb644" identifier + number_literal) ))))) )) (argument_list "(pIStack_12dc)" ( identifier ))))) ;) })) }))) })) (if_statement "if (iStack_16c == *piVar8) {\n    return pIStack_12dc;\n  }" if (parenthesized_expression "(iStack_16c == *piVar8)" ( (binary_expression "iStack_16c == *piVar8" identifier == (pointer_expression "*piVar8" * identifier)) )) (compound_statement "{\n    return pIStack_12dc;\n  }" { (return_statement "return pIStack_12dc;" return identifier ;) })) (expression_statement "(**(code **)(pcVar24 + 0x1cb75c))();" (call_expression "(**(code **)(pcVar24 + 0x1cb75c))()" (parenthesized_expression "(**(code **)(pcVar24 + 0x1cb75c))" ( (pointer_expression "**(code **)(pcVar24 + 0x1cb75c)" * (pointer_expression "*(code **)(pcVar24 + 0x1cb75c)" * (cast_expression "(code **)(pcVar24 + 0x1cb75c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0x1cb75c)" ( (binary_expression "pcVar24 + 0x1cb75c" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (labeled_statement "LAB_001ddf28:\n  pIVar4 = (Image *)(**(code **)(pcVar24 + 0x1cbd00))\n                              (*(int *)(pcVar24 + 0x1cafe0) + -0x3784,\n                               *(int *)(pcVar24 + 0x1cafe4) + -0x12ec,0x2fa,iVar2 + -0xf20);" statement_identifier : (expression_statement "pIVar4 = (Image *)(**(code **)(pcVar24 + 0x1cbd00))\n                              (*(int *)(pcVar24 + 0x1cafe0) + -0x3784,\n                               *(int *)(pcVar24 + 0x1cafe4) + -0x12ec,0x2fa,iVar2 + -0xf20);" (assignment_expression "pIVar4 = (Image *)(**(code **)(pcVar24 + 0x1cbd00))\n                              (*(int *)(pcVar24 + 0x1cafe0) + -0x3784,\n                               *(int *)(pcVar24 + 0x1cafe4) + -0x12ec,0x2fa,iVar2 + -0xf20)" identifier = (cast_expression "(Image *)(**(code **)(pcVar24 + 0x1cbd00))\n                              (*(int *)(pcVar24 + 0x1cafe0) + -0x3784,\n                               *(int *)(pcVar24 + 0x1cafe4) + -0x12ec,0x2fa,iVar2 + -0xf20)" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar24 + 0x1cbd00))\n                              (*(int *)(pcVar24 + 0x1cafe0) + -0x3784,\n                               *(int *)(pcVar24 + 0x1cafe4) + -0x12ec,0x2fa,iVar2 + -0xf20)" (parenthesized_expression "(**(code **)(pcVar24 + 0x1cbd00))" ( (pointer_expression "**(code **)(pcVar24 + 0x1cbd00)" * (pointer_expression "*(code **)(pcVar24 + 0x1cbd00)" * (cast_expression "(code **)(pcVar24 + 0x1cbd00)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0x1cbd00)" ( (binary_expression "pcVar24 + 0x1cbd00" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar24 + 0x1cafe0) + -0x3784,\n                               *(int *)(pcVar24 + 0x1cafe4) + -0x12ec,0x2fa,iVar2 + -0xf20)" ( (binary_expression "*(int *)(pcVar24 + 0x1cafe0) + -0x3784" (pointer_expression "*(int *)(pcVar24 + 0x1cafe0)" * (cast_expression "(int *)(pcVar24 + 0x1cafe0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0x1cafe0)" ( (binary_expression "pcVar24 + 0x1cafe0" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar24 + 0x1cafe4) + -0x12ec" (pointer_expression "*(int *)(pcVar24 + 0x1cafe4)" * (cast_expression "(int *)(pcVar24 + 0x1cafe4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0x1cafe4)" ( (binary_expression "pcVar24 + 0x1cafe4" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "iVar2 + -0xf20" identifier + number_literal) ))))) ;)) (return_statement "return pIVar4;" return identifier ;) })))
(translation_unit "int CharcoalImage(undefined *param_1)\n\n{\n  bool bVar1;\n  int iVar2;\n  int iVar3;\n  int iVar4;\n  uint uVar5;\n  int *piVar6;\n  int iVar7;\n  undefined4 uVar8;\n  undefined4 uVar9;\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 extraout_v1_04;\n  int extraout_v1_05;\n  int extraout_v1_06;\n  undefined *puVar10;\n  int iVar11;\n  undefined1 *puVar12;\n  undefined *puVar13;\n  int iVar14;\n  undefined *puVar15;\n  undefined8 *puVar16;\n  int iVar17;\n  undefined *unaff_s1;\n  undefined *unaff_s2;\n  int unaff_s3;\n  int *piVar18;\n  undefined *unaff_s5;\n  undefined1 *unaff_s6;\n  int iVar19;\n  undefined *puVar20;\n  code *pcVar21;\n  code *pcVar22;\n  double dVar23;\n  undefined8 uVar24;\n  int in_stack_00000018;\n  int iStack_12e4;\n  int iStack_12dc;\n  undefined4 uStack_12c0;\n  undefined4 uStack_12bc;\n  undefined1 *puStack_12b4;\n  int iStack_12b0;\n  int iStack_12ac;\n  undefined4 uStack_12a8;\n  undefined4 uStack_12a4;\n  undefined8 *puStack_12a0;\n  int iStack_129c;\n  int iStack_1298;\n  undefined4 *puStack_1294;\n  undefined8 auStack_1290 [7];\n  undefined8 uStack_1258;\n  undefined8 uStack_1220;\n  undefined8 uStack_11e8;\n  undefined8 uStack_11b0;\n  undefined8 uStack_1178;\n  undefined1 auStack_116c [4096];\n  int iStack_16c;\n  int iStack_168;\n  undefined *puStack_164;\n  undefined *puStack_160;\n  int iStack_15c;\n  int *piStack_158;\n  undefined *puStack_154;\n  undefined1 *puStack_150;\n  undefined4 uStack_118;\n  undefined4 uStack_114;\n  undefined *puStack_110;\n  int iStack_10c;\n  undefined *puStack_108;\n  undefined *puStack_104;\n  int iStack_100;\n  undefined1 *puStack_fc;\n  undefined *puStack_f8;\n  undefined4 *puStack_f4;\n  undefined8 uStack_f0;\n  undefined8 uStack_e8;\n  undefined8 uStack_e0;\n  undefined8 uStack_d8;\n  undefined8 uStack_d0;\n  undefined1 auStack_c8 [4];\n  int iStack_c4;\n  undefined8 uStack_a0;\n  undefined8 uStack_98;\n  undefined8 uStack_90;\n  undefined8 uStack_88;\n  undefined8 uStack_80;\n  int iStack_6c;\n  int iStack_68;\n  undefined *puStack_64;\n  \n  if (param_1 == (undefined *)0x0) {\nLAB_001dd2cc:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0xdd0,PTR_s_courses_003a88ec + -0x12ec,0x1da,\n               PTR_s_courses_003a88ec + -0xedc);\nLAB_001dd2f0:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x294c,PTR_s_courses_003a88ec + -0x12ec,0x1df,\n               PTR_s_courses_003a88ec + -0xedc);\n  }\n  else {\n    unaff_s1 = param_1;\n    if (*(int *)(param_1 + 0x336c) != -0x54535255) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                 PTR_s_courses_003a88ec + -0x12ec,0x1db,PTR_s_courses_003a88ec + -0xedc);\n      goto LAB_001dd2cc;\n    }\n    if (*(int *)(param_1 + 0x3350) != 0) {\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_courses_003a88ec + -0x12ec,PTR_s_courses_003a88ec + -0xeec,0x1dd);\n    }\n    if (in_stack_00000018 != 0) {\n      if (*(int *)(in_stack_00000018 + 0x1c) == -0x54535255) {\n        iVar2 = (*(code *)PTR_EdgeImage_003a8dec)(param_1);\n        puVar15 = PTR_ClampImage_003a93c8;\n        if (iVar2 != 0) {\n          *(undefined4 *)(iVar2 + 700) = 0;\n          iVar3 = (*(code *)puVar15)(iVar2,in_stack_00000018);\n          if (iVar3 == 0) {\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n          }\n          else {\n            iVar3 = (*(code *)PTR_BlurImage_003a95c0)(iVar2);\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n            if (iVar3 != 0) {\n              iVar2 = (*(code *)PTR_NormalizeImage_003a8f7c)(iVar3,in_stack_00000018);\n              if (((iVar2 != 0) &&\n                  (iVar2 = (*(code *)PTR_NegateImage_003a985c)(iVar3,0,in_stack_00000018),\n                  iVar2 != 0)) &&\n                 (iVar2 = (*(code *)PTR_GrayscaleImage_003a91cc)\n                                    (iVar3,*(undefined4 *)(param_1 + 0x254),in_stack_00000018),\n                 iVar2 != 0)) {\n                return iVar3;\n              }\n                    \n                    \n              iVar2 = (*(code *)PTR_DestroyImage_003a8f4c)(iVar3);\n              return iVar2;\n            }\n          }\n        }\n        return 0;\n      }\n      goto LAB_001dd2f0;\n    }\n  }\n  iVar2 = 0x1de;\n  puVar15 = PTR_s_courses_003a88ec + -0xedc;\n  puVar13 = PTR_s_courses_003a88ec + -0x12ec;\n  puVar10 = PTR_LAB_003a88e0 + 0x1cac;\n  puVar20 = PTR___assert_fail_003a9608;\n  (*(code *)PTR___assert_fail_003a9608)();\n  piVar18 = *(int **)(puVar20 + 0x1cbef8);\n  iStack_68 = in_stack_00000018;\n  iStack_6c = *piVar18;\n  puStack_64 = unaff_s1;\n  if (puVar10 == (undefined *)0x0) {\n    (**(code **)(puVar20 + 0x1cc2d0))\n              (*(int *)(puVar20 + 0x1cb5b0) + -0x37b0,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,0x238,\n               *(int *)(puVar20 + 0x1cb5b4) + -0xefc);\n    puVar10 = unaff_s2;\nLAB_001dd890:\n    (**(code **)(puVar20 + 0x1cbd2c))();\nLAB_001dd89c:\n    puVar13 = unaff_s5;\n    iVar2 = unaff_s3;\n    puVar15 = unaff_s1;\n    (**(code **)(puVar20 + 0x1cc2d0))\n              (*(int *)(puVar20 + 0x1cb5b0) + -0x3784,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,0x239,\n               *(int *)(puVar20 + 0x1cb5b4) + -0xefc);\nLAB_001dd8c0:\n    (**(code **)(puVar20 + 0x1cc2d0))\n              (*(int *)(puVar20 + 0x1cb5a8) + 0x294c,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,0x23d,\n               *(int *)(puVar20 + 0x1cb5b4) + -0xefc);\n  }\n  else {\n    if (*(int *)(puVar10 + 0x336c) != -0x54535255) goto LAB_001dd89c;\n    if (*(int *)(puVar10 + 0x3350) != 0) {\n      (**(code **)(puVar20 + 0x1cbea8))\n                (0x8000,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,*(int *)(puVar20 + 0x1cb5b4) + -0xf0c\n                 ,0x23b);\n    }\n    if (puVar15 != (undefined *)0x0) {\n      if (*(int *)(puVar15 + 0x1c) == -0x54535255) {\n        iVar3 = (**(code **)(puVar20 + 0x1cc4f8))(puVar10,0,0,1);\n        in_stack_00000018 = iVar3;\n        if (iVar3 != 0) {\n          iVar4 = (**(code **)(puVar20 + 0x1cc4ec))(iVar3,1,puVar15);\n          if (iVar4 == 0) {\n            in_stack_00000018 = 0;\n            (**(code **)(puVar20 + 0x1cbc14))(iVar3);\n          }\n          else {\n            if (*(int *)(iVar3 + 4) == 0x21) {\nLAB_001dd4b8:\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);\nLAB_001dd4bc:\n              (*pcVar21)(iVar3,0x17,puVar15);\n            }\n            else {\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);\n              if (*(int *)(iVar3 + 4) == 3) goto LAB_001dd4bc;\n              dVar23 = *(double *)(iVar2 + 0x28) - *(double *)(iVar2 + 0x30);\n              if (dVar23 < 0.0) {\n                dVar23 = -dVar23;\n              }\n              if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) {\n                dVar23 = *(double *)(iVar2 + 0x30) - *(double *)(iVar2 + 0x38);\n                if (dVar23 < 0.0) {\n                  dVar23 = -dVar23;\n                }\n                if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) goto LAB_001dd4b8;\n              }\n            }\n            if ((*(int *)(iVar3 + 700) == 0) && (*(int *)(iVar2 + 8) != 0)) {\n              (**(code **)(puVar20 + 0x1cb940))\n                        (iVar3,*(undefined4 *)(*(int *)(puVar20 + 0x1cb5a8) + 0x1a50),puVar15);\n            }\n            if (puVar13 != (undefined *)0x0) {\n              unaff_s6 = auStack_c8;\n              (**(code **)(puVar20 + 0x1cbf7c))(iVar3,unaff_s6);\n              uVar5 = (**(code **)(puVar20 + 0x1cc11c))(puVar13,&uStack_f0);\n              uStack_80 = 0;\n              uStack_a0 = uStack_f0;\n              uStack_98 = uStack_f0;\n              uStack_90 = uStack_f0;\n              uStack_88 = uStack_f0;\n              if ((uVar5 & 8) != 0) {\n                uStack_98 = uStack_e8;\n              }\n              if ((uVar5 & 1) != 0) {\n                uStack_90 = uStack_e0;\n              }\n              if ((uVar5 & 2) == 0) {\n                pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                uVar24 = uStack_88;\n                if (iStack_c4 == 2) goto LAB_001dd6b0;\n              }\n              else {\n                uStack_80 = uStack_d8;\n                uVar24 = uStack_d8;\n                if (iStack_c4 == 2) {\nLAB_001dd6b0:\n                  uStack_88 = uVar24;\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                  if ((uVar5 & 0x10) != 0) {\n                    uStack_80 = uStack_d0;\n                  }\n                }\n                else {\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                }\n              }\n              uStack_114 = 0;\n              uStack_118 = 0;\n              puVar13 = (undefined *)(*pcVar21)(iVar3,puVar15);\n              iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3);\n              if (((iVar4 == 4) || (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3))\n                 && ((iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 4 ||\n                     (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3)))) {\n                (**(code **)(puVar20 + 0x1cbe04))(7);\n                iVar11 = *(int *)(iVar3 + 0x1c);\n                iVar4 = iVar11;\n                if (iVar11 < 0) {\n                  iVar4 = iVar11 + 0x3f;\n                }\n                if (extraout_v1 < iVar4 >> 6) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  bVar1 = extraout_v1_02 < 2;\n                }\n                else {\n                  bVar1 = iVar11 < 0x80;\n                }\n                iVar4 = 1;\n                if ((bool)(bVar1 ^ 1)) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  iVar4 = *(int *)(iVar3 + 0x1c);\n                  if (iVar4 < 0) {\n                    iVar4 = iVar4 + 0x3f;\n                  }\n                  iVar4 = iVar4 >> 6;\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                  if (extraout_v1_01 < iVar4) {\n                    pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                    goto LAB_001dd7c0;\n                  }\n                }\n                else {\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                }\n              }\n              else {\n                uVar24 = (**(code **)(puVar20 + 0x1cbe04))(7);\n                if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  uVar24 = (*pcVar21)(7);\n                  if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001dd5d0;\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  iVar4 = 1;\n                }\n                else {\nLAB_001dd5d0:\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\nLAB_001dd5d4:\n                  uVar24 = (*pcVar21)(7);\n                  if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n                     (pcVar21 = *(code **)(puVar20 + 0x1cbe04), (uint)uVar24 < 2)) {\nLAB_001dd7c0:\n                    (*pcVar21)(7);\n                    iVar4 = extraout_v1_00;\n                  }\n                  else {\n                    iVar4 = 2;\n                  }\n                }\n                iVar11 = *(int *)(puVar20 + 0x1cb66c);\n              }\n              puStack_f8 = (undefined *)0x1;\n              puStack_f4 = &uStack_118;\n              puStack_110 = puVar10;\n              iStack_10c = iVar2;\n              puStack_108 = puVar15;\n              puStack_104 = puVar13;\n              iStack_100 = iVar3;\n              puStack_fc = unaff_s6;\n              (**(code **)(puVar20 + 0x1cbe60))(iVar11 + -0x43b4,&puStack_110,iVar4,0);\n              puVar15 = puStack_f8;\n              (**(code **)(puVar20 + 0x1cbbbc))(puVar13);\n              if (puVar15 == (undefined *)0x0) {\n                in_stack_00000018 = (**(code **)(puVar20 + 0x1cbc14))(iVar3);\n              }\n            }\n          }\n        }\n        unaff_s1 = puVar15;\n        unaff_s3 = iVar2;\n        unaff_s5 = puVar13;\n        if (iStack_6c == *piVar18) {\n          return in_stack_00000018;\n        }\n        goto LAB_001dd890;\n      }\n      goto LAB_001dd8c0;\n    }\n  }\n  iVar4 = 0x23c;\n  pcVar21 = *(code **)(puVar20 + 0x1cc2d0);\n  iVar3 = *(int *)(puVar20 + 0x1cb5b4) + -0x12ec;\n  puVar12 = (undefined1 *)(*(int *)(puVar20 + 0x1cb5a8) + 0x1cac);\n  (*pcVar21)();\n  piVar6 = *(int **)(pcVar21 + 0x1cb928);\n  iStack_16c = *piVar6;\n  iStack_168 = in_stack_00000018;\n  puStack_164 = puVar15;\n  puStack_160 = puVar10;\n  iStack_15c = iVar2;\n  piStack_158 = piVar18;\n  puStack_154 = puVar13;\n  puStack_150 = unaff_s6;\n  (**(code **)(pcVar21 + 0x1cbdcc))(auStack_1290,0,0x120);\n  auStack_1290[0] = *(undefined8 *)(*(int *)(pcVar21 + 0x1cafd8) + 0x1438);\n  uStack_1258 = auStack_1290[0];\n  uStack_1220 = auStack_1290[0];\n  uStack_11e8 = auStack_1290[0];\n  uStack_11b0 = auStack_1290[0];\n  uStack_1178 = auStack_1290[0];\n  if (puVar12 == (undefined1 *)0x0) {\n    iVar2 = (**(code **)(pcVar21 + 0x1cbd00))\n                      (*(int *)(pcVar21 + 0x1cafd8) + 0xdd0,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,\n                       0x2f9,*(int *)(pcVar21 + 0x1cafe4) + -0xf20);\n    return iVar2;\n  }\n  iVar2 = *(int *)(pcVar21 + 0x1cafe4);\n  if (*(int *)(puVar12 + 0x336c) != -0x54535255) goto LAB_001ddf28;\n  if (*(int *)(puVar12 + 0x3350) != 0) {\n    (**(code **)(pcVar21 + 0x1cb8d8))\n              (0x8000,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,*(int *)(pcVar21 + 0x1cafe4) + -0xf34,\n               0x2fc,*(int *)(pcVar21 + 0x1cafdc) + -0x62ac,puVar12 + 0x340);\n  }\n  if (iVar4 == 0) {\n    iVar2 = (**(code **)(pcVar21 + 0x1cbd00))\n                      (*(int *)(pcVar21 + 0x1cafd8) + 0x1cac,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,\n                       0x2fd,*(int *)(pcVar21 + 0x1cafe4) + -0xf20);\n    return iVar2;\n  }\n  if (*(int *)(iVar4 + 0x1c) != -0x54535255) {\n    iVar2 = (**(code **)(pcVar21 + 0x1cbd00))\n                      (*(int *)(pcVar21 + 0x1cafd8) + 0x294c,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,\n                       0x2fe,*(int *)(pcVar21 + 0x1cafe4) + -0xf20);\n    return iVar2;\n  }\n  iVar11 = *(int *)(iVar3 + 8);\n  iVar2 = 0;\n  if (0 < iVar11) {\n    iVar14 = *(int *)(iVar3 + 4);\n    iVar17 = 0;\n    puVar16 = auStack_1290;\n    do {\n      if (0 < iVar14) {\n        iVar7 = 0;\n        do {\n          if ((iVar2 < 6) && (iVar7 < 6)) {\n            puVar16[iVar7] = *(undefined8 *)(*(int *)(iVar3 + 0x14) + (iVar17 + iVar7) * 8);\n          }\n          iVar7 = iVar7 + 1;\n        } while (iVar7 != iVar14);\n        iVar17 = iVar17 + iVar14;\n      }\n      iVar2 = iVar2 + 1;\n      puVar16 = puVar16 + 6;\n    } while (iVar2 != iVar11);\n  }\n  iVar2 = 1;\n  iStack_12dc = (**(code **)(pcVar21 + 0x1cbf28))(puVar12,0,0,1,iVar4);\n  if (iStack_12dc != 0) {\n    iVar11 = (**(code **)(pcVar21 + 0x1cbf1c))(iStack_12dc,1,iVar4);\n    if (iVar11 == 0) {\n      (**(code **)(pcVar21 + 0x1cb644))(iStack_12dc);\n      iStack_12dc = 0;\n    }\n    else {\n      if (*(int *)(puVar12 + 0x3350) != 0) {\n        iVar17 = *(int *)(pcVar21 + 0x1cafe4);\n        iVar14 = *(int *)(pcVar21 + 0x1cafe4);\n        (**(code **)(pcVar21 + 0x1cb8d8))\n                  (0x10000,iVar14 + -0x12ec,iVar17 + -0xf34,0x318,\n                   *(int *)(pcVar21 + 0x1cafe4) + -0x12d0);\n        puStack_12b4 = (undefined1 *)\n                       (**(code **)(pcVar21 + 0x1cbf0c))(*(int *)(pcVar21 + 0x1cafdc) + -0x3688);\n        iStack_12e4 = 0;\n        iVar2 = *(int *)(pcVar21 + 0x1cafdc);\n        iVar7 = *(int *)(pcVar21 + 0x1cafe0);\n        iVar11 = *(int *)(pcVar21 + 0x1cafdc);\n        do {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb474);\n          iVar19 = 0;\n          *puStack_12b4 = 0;\n          (*pcVar22)(auStack_116c,0x1000,iVar11 + -0x66b8);\n          (**(code **)(pcVar21 + 0x1cbaa0))(&puStack_12b4,auStack_116c);\n          do {\n            iVar19 = iVar19 + 1;\n            (**(code **)(pcVar21 + 0x1cb474))(auStack_116c,0x1000,iVar7 + 0x4930);\n            (**(code **)(pcVar21 + 0x1cbaa0))(&puStack_12b4,auStack_116c);\n          } while (iVar19 != 6);\n          iStack_12e4 = iStack_12e4 + 1;\n          (**(code **)(pcVar21 + 0x1cb8d8))\n                    (0x10000,iVar14 + -0x12ec,iVar17 + -0xf34,0x326,iVar2 + -0x62ac,puStack_12b4);\n        } while (iStack_12e4 != 6);\n        (**(code **)(pcVar21 + 0x1cb76c))(puStack_12b4);\n      }\n      uStack_12bc = 0;\n      uStack_12c0 = 0;\n      uVar8 = (**(code **)(pcVar21 + 0x1cbe4c))(puVar12,iVar4);\n      uVar9 = (**(code **)(pcVar21 + 0x1cb5cc))(iStack_12dc,iVar4);\n      iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(puVar12);\n      if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(puVar12), iVar2 == 3)) &&\n         ((iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc), iVar2 == 3)))) {\n        (**(code **)(pcVar21 + 0x1cb834))(7);\n        iVar2 = *(int *)(puVar12 + 0x1c);\n        if (iVar2 < 0) {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if (iVar2 + 0x3f >> 6 <= extraout_v1_03) goto LAB_001ddc6c;\nLAB_001dde94:\n          (*pcVar22)(7);\n          bVar1 = extraout_v1_05 < 2;\n        }\n        else {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if (extraout_v1_03 < iVar2 >> 6) goto LAB_001dde94;\nLAB_001ddc6c:\n          bVar1 = iVar2 < 0x80;\n        }\n        iVar11 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar21 + 0x1cb834))(7);\n          iVar11 = *(int *)(puVar12 + 0x1c);\n          if (iVar11 < 0) {\n            iVar11 = iVar11 + 0x3f;\n          }\n          iVar11 = iVar11 >> 6;\n          if (extraout_v1_06 < iVar11) {\n            pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n            goto LAB_001dde6c;\n          }\n        }\n      }\n      else {\n        uVar24 = (**(code **)(pcVar21 + 0x1cb834))(7);\n        if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if ((uint)uVar24 < 2) {\n            uVar24 = (*pcVar22)(7);\n            if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001ddb28;\n            pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n            if (1 < (uint)uVar24) goto LAB_001ddb2c;\n            iVar11 = 1;\n            goto LAB_001ddb44;\n          }\n        }\n        else {\nLAB_001ddb28:\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n        }\nLAB_001ddb2c:\n        uVar24 = (*pcVar22)(7);\n        if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n           (pcVar22 = *(code **)(pcVar21 + 0x1cb834), (uint)uVar24 < 2)) {\nLAB_001dde6c:\n          (*pcVar22)(7);\n          iVar11 = extraout_v1_04;\n        }\n        else {\n          iVar11 = 2;\n        }\n      }\nLAB_001ddb44:\n      iVar2 = 0;\n      iStack_1298 = 1;\n      puStack_1294 = &uStack_12c0;\n      puStack_12b4 = puVar12;\n      iStack_12b0 = iVar3;\n      iStack_12ac = iVar4;\n      uStack_12a8 = uVar9;\n      uStack_12a4 = uVar8;\n      puStack_12a0 = auStack_1290;\n      iStack_129c = iStack_12dc;\n      (**(code **)(pcVar21 + 0x1cb890))\n                (*(int *)(pcVar21 + 0x1cb09c) + -0x71ec,&puStack_12b4,iVar11,0);\n      iVar3 = iStack_1298;\n      (**(code **)(pcVar21 + 0x1cb5ec))(uVar9);\n      (**(code **)(pcVar21 + 0x1cb5ec))(uVar8);\n      if (iVar3 == 0) {\n        iStack_12dc = (**(code **)(pcVar21 + 0x1cb644))(iStack_12dc);\n      }\n    }\n  }\n  if (iStack_16c == *piVar6) {\n    return iStack_12dc;\n  }\n  (**(code **)(pcVar21 + 0x1cb75c))();\nLAB_001ddf28:\n  iVar2 = (**(code **)(pcVar21 + 0x1cbd00))\n                    (*(int *)(pcVar21 + 0x1cafe0) + -0x3784,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,\n                     0x2fa,iVar2 + -0xf20);\n  return iVar2;\n}\n\n" (function_definition "int CharcoalImage(undefined *param_1)\n\n{\n  bool bVar1;\n  int iVar2;\n  int iVar3;\n  int iVar4;\n  uint uVar5;\n  int *piVar6;\n  int iVar7;\n  undefined4 uVar8;\n  undefined4 uVar9;\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 extraout_v1_04;\n  int extraout_v1_05;\n  int extraout_v1_06;\n  undefined *puVar10;\n  int iVar11;\n  undefined1 *puVar12;\n  undefined *puVar13;\n  int iVar14;\n  undefined *puVar15;\n  undefined8 *puVar16;\n  int iVar17;\n  undefined *unaff_s1;\n  undefined *unaff_s2;\n  int unaff_s3;\n  int *piVar18;\n  undefined *unaff_s5;\n  undefined1 *unaff_s6;\n  int iVar19;\n  undefined *puVar20;\n  code *pcVar21;\n  code *pcVar22;\n  double dVar23;\n  undefined8 uVar24;\n  int in_stack_00000018;\n  int iStack_12e4;\n  int iStack_12dc;\n  undefined4 uStack_12c0;\n  undefined4 uStack_12bc;\n  undefined1 *puStack_12b4;\n  int iStack_12b0;\n  int iStack_12ac;\n  undefined4 uStack_12a8;\n  undefined4 uStack_12a4;\n  undefined8 *puStack_12a0;\n  int iStack_129c;\n  int iStack_1298;\n  undefined4 *puStack_1294;\n  undefined8 auStack_1290 [7];\n  undefined8 uStack_1258;\n  undefined8 uStack_1220;\n  undefined8 uStack_11e8;\n  undefined8 uStack_11b0;\n  undefined8 uStack_1178;\n  undefined1 auStack_116c [4096];\n  int iStack_16c;\n  int iStack_168;\n  undefined *puStack_164;\n  undefined *puStack_160;\n  int iStack_15c;\n  int *piStack_158;\n  undefined *puStack_154;\n  undefined1 *puStack_150;\n  undefined4 uStack_118;\n  undefined4 uStack_114;\n  undefined *puStack_110;\n  int iStack_10c;\n  undefined *puStack_108;\n  undefined *puStack_104;\n  int iStack_100;\n  undefined1 *puStack_fc;\n  undefined *puStack_f8;\n  undefined4 *puStack_f4;\n  undefined8 uStack_f0;\n  undefined8 uStack_e8;\n  undefined8 uStack_e0;\n  undefined8 uStack_d8;\n  undefined8 uStack_d0;\n  undefined1 auStack_c8 [4];\n  int iStack_c4;\n  undefined8 uStack_a0;\n  undefined8 uStack_98;\n  undefined8 uStack_90;\n  undefined8 uStack_88;\n  undefined8 uStack_80;\n  int iStack_6c;\n  int iStack_68;\n  undefined *puStack_64;\n  \n  if (param_1 == (undefined *)0x0) {\nLAB_001dd2cc:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0xdd0,PTR_s_courses_003a88ec + -0x12ec,0x1da,\n               PTR_s_courses_003a88ec + -0xedc);\nLAB_001dd2f0:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x294c,PTR_s_courses_003a88ec + -0x12ec,0x1df,\n               PTR_s_courses_003a88ec + -0xedc);\n  }\n  else {\n    unaff_s1 = param_1;\n    if (*(int *)(param_1 + 0x336c) != -0x54535255) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                 PTR_s_courses_003a88ec + -0x12ec,0x1db,PTR_s_courses_003a88ec + -0xedc);\n      goto LAB_001dd2cc;\n    }\n    if (*(int *)(param_1 + 0x3350) != 0) {\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_courses_003a88ec + -0x12ec,PTR_s_courses_003a88ec + -0xeec,0x1dd);\n    }\n    if (in_stack_00000018 != 0) {\n      if (*(int *)(in_stack_00000018 + 0x1c) == -0x54535255) {\n        iVar2 = (*(code *)PTR_EdgeImage_003a8dec)(param_1);\n        puVar15 = PTR_ClampImage_003a93c8;\n        if (iVar2 != 0) {\n          *(undefined4 *)(iVar2 + 700) = 0;\n          iVar3 = (*(code *)puVar15)(iVar2,in_stack_00000018);\n          if (iVar3 == 0) {\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n          }\n          else {\n            iVar3 = (*(code *)PTR_BlurImage_003a95c0)(iVar2);\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n            if (iVar3 != 0) {\n              iVar2 = (*(code *)PTR_NormalizeImage_003a8f7c)(iVar3,in_stack_00000018);\n              if (((iVar2 != 0) &&\n                  (iVar2 = (*(code *)PTR_NegateImage_003a985c)(iVar3,0,in_stack_00000018),\n                  iVar2 != 0)) &&\n                 (iVar2 = (*(code *)PTR_GrayscaleImage_003a91cc)\n                                    (iVar3,*(undefined4 *)(param_1 + 0x254),in_stack_00000018),\n                 iVar2 != 0)) {\n                return iVar3;\n              }\n                    \n                    \n              iVar2 = (*(code *)PTR_DestroyImage_003a8f4c)(iVar3);\n              return iVar2;\n            }\n          }\n        }\n        return 0;\n      }\n      goto LAB_001dd2f0;\n    }\n  }\n  iVar2 = 0x1de;\n  puVar15 = PTR_s_courses_003a88ec + -0xedc;\n  puVar13 = PTR_s_courses_003a88ec + -0x12ec;\n  puVar10 = PTR_LAB_003a88e0 + 0x1cac;\n  puVar20 = PTR___assert_fail_003a9608;\n  (*(code *)PTR___assert_fail_003a9608)();\n  piVar18 = *(int **)(puVar20 + 0x1cbef8);\n  iStack_68 = in_stack_00000018;\n  iStack_6c = *piVar18;\n  puStack_64 = unaff_s1;\n  if (puVar10 == (undefined *)0x0) {\n    (**(code **)(puVar20 + 0x1cc2d0))\n              (*(int *)(puVar20 + 0x1cb5b0) + -0x37b0,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,0x238,\n               *(int *)(puVar20 + 0x1cb5b4) + -0xefc);\n    puVar10 = unaff_s2;\nLAB_001dd890:\n    (**(code **)(puVar20 + 0x1cbd2c))();\nLAB_001dd89c:\n    puVar13 = unaff_s5;\n    iVar2 = unaff_s3;\n    puVar15 = unaff_s1;\n    (**(code **)(puVar20 + 0x1cc2d0))\n              (*(int *)(puVar20 + 0x1cb5b0) + -0x3784,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,0x239,\n               *(int *)(puVar20 + 0x1cb5b4) + -0xefc);\nLAB_001dd8c0:\n    (**(code **)(puVar20 + 0x1cc2d0))\n              (*(int *)(puVar20 + 0x1cb5a8) + 0x294c,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,0x23d,\n               *(int *)(puVar20 + 0x1cb5b4) + -0xefc);\n  }\n  else {\n    if (*(int *)(puVar10 + 0x336c) != -0x54535255) goto LAB_001dd89c;\n    if (*(int *)(puVar10 + 0x3350) != 0) {\n      (**(code **)(puVar20 + 0x1cbea8))\n                (0x8000,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,*(int *)(puVar20 + 0x1cb5b4) + -0xf0c\n                 ,0x23b);\n    }\n    if (puVar15 != (undefined *)0x0) {\n      if (*(int *)(puVar15 + 0x1c) == -0x54535255) {\n        iVar3 = (**(code **)(puVar20 + 0x1cc4f8))(puVar10,0,0,1);\n        in_stack_00000018 = iVar3;\n        if (iVar3 != 0) {\n          iVar4 = (**(code **)(puVar20 + 0x1cc4ec))(iVar3,1,puVar15);\n          if (iVar4 == 0) {\n            in_stack_00000018 = 0;\n            (**(code **)(puVar20 + 0x1cbc14))(iVar3);\n          }\n          else {\n            if (*(int *)(iVar3 + 4) == 0x21) {\nLAB_001dd4b8:\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);\nLAB_001dd4bc:\n              (*pcVar21)(iVar3,0x17,puVar15);\n            }\n            else {\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);\n              if (*(int *)(iVar3 + 4) == 3) goto LAB_001dd4bc;\n              dVar23 = *(double *)(iVar2 + 0x28) - *(double *)(iVar2 + 0x30);\n              if (dVar23 < 0.0) {\n                dVar23 = -dVar23;\n              }\n              if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) {\n                dVar23 = *(double *)(iVar2 + 0x30) - *(double *)(iVar2 + 0x38);\n                if (dVar23 < 0.0) {\n                  dVar23 = -dVar23;\n                }\n                if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) goto LAB_001dd4b8;\n              }\n            }\n            if ((*(int *)(iVar3 + 700) == 0) && (*(int *)(iVar2 + 8) != 0)) {\n              (**(code **)(puVar20 + 0x1cb940))\n                        (iVar3,*(undefined4 *)(*(int *)(puVar20 + 0x1cb5a8) + 0x1a50),puVar15);\n            }\n            if (puVar13 != (undefined *)0x0) {\n              unaff_s6 = auStack_c8;\n              (**(code **)(puVar20 + 0x1cbf7c))(iVar3,unaff_s6);\n              uVar5 = (**(code **)(puVar20 + 0x1cc11c))(puVar13,&uStack_f0);\n              uStack_80 = 0;\n              uStack_a0 = uStack_f0;\n              uStack_98 = uStack_f0;\n              uStack_90 = uStack_f0;\n              uStack_88 = uStack_f0;\n              if ((uVar5 & 8) != 0) {\n                uStack_98 = uStack_e8;\n              }\n              if ((uVar5 & 1) != 0) {\n                uStack_90 = uStack_e0;\n              }\n              if ((uVar5 & 2) == 0) {\n                pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                uVar24 = uStack_88;\n                if (iStack_c4 == 2) goto LAB_001dd6b0;\n              }\n              else {\n                uStack_80 = uStack_d8;\n                uVar24 = uStack_d8;\n                if (iStack_c4 == 2) {\nLAB_001dd6b0:\n                  uStack_88 = uVar24;\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                  if ((uVar5 & 0x10) != 0) {\n                    uStack_80 = uStack_d0;\n                  }\n                }\n                else {\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                }\n              }\n              uStack_114 = 0;\n              uStack_118 = 0;\n              puVar13 = (undefined *)(*pcVar21)(iVar3,puVar15);\n              iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3);\n              if (((iVar4 == 4) || (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3))\n                 && ((iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 4 ||\n                     (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3)))) {\n                (**(code **)(puVar20 + 0x1cbe04))(7);\n                iVar11 = *(int *)(iVar3 + 0x1c);\n                iVar4 = iVar11;\n                if (iVar11 < 0) {\n                  iVar4 = iVar11 + 0x3f;\n                }\n                if (extraout_v1 < iVar4 >> 6) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  bVar1 = extraout_v1_02 < 2;\n                }\n                else {\n                  bVar1 = iVar11 < 0x80;\n                }\n                iVar4 = 1;\n                if ((bool)(bVar1 ^ 1)) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  iVar4 = *(int *)(iVar3 + 0x1c);\n                  if (iVar4 < 0) {\n                    iVar4 = iVar4 + 0x3f;\n                  }\n                  iVar4 = iVar4 >> 6;\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                  if (extraout_v1_01 < iVar4) {\n                    pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                    goto LAB_001dd7c0;\n                  }\n                }\n                else {\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                }\n              }\n              else {\n                uVar24 = (**(code **)(puVar20 + 0x1cbe04))(7);\n                if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  uVar24 = (*pcVar21)(7);\n                  if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001dd5d0;\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  iVar4 = 1;\n                }\n                else {\nLAB_001dd5d0:\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\nLAB_001dd5d4:\n                  uVar24 = (*pcVar21)(7);\n                  if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n                     (pcVar21 = *(code **)(puVar20 + 0x1cbe04), (uint)uVar24 < 2)) {\nLAB_001dd7c0:\n                    (*pcVar21)(7);\n                    iVar4 = extraout_v1_00;\n                  }\n                  else {\n                    iVar4 = 2;\n                  }\n                }\n                iVar11 = *(int *)(puVar20 + 0x1cb66c);\n              }\n              puStack_f8 = (undefined *)0x1;\n              puStack_f4 = &uStack_118;\n              puStack_110 = puVar10;\n              iStack_10c = iVar2;\n              puStack_108 = puVar15;\n              puStack_104 = puVar13;\n              iStack_100 = iVar3;\n              puStack_fc = unaff_s6;\n              (**(code **)(puVar20 + 0x1cbe60))(iVar11 + -0x43b4,&puStack_110,iVar4,0);\n              puVar15 = puStack_f8;\n              (**(code **)(puVar20 + 0x1cbbbc))(puVar13);\n              if (puVar15 == (undefined *)0x0) {\n                in_stack_00000018 = (**(code **)(puVar20 + 0x1cbc14))(iVar3);\n              }\n            }\n          }\n        }\n        unaff_s1 = puVar15;\n        unaff_s3 = iVar2;\n        unaff_s5 = puVar13;\n        if (iStack_6c == *piVar18) {\n          return in_stack_00000018;\n        }\n        goto LAB_001dd890;\n      }\n      goto LAB_001dd8c0;\n    }\n  }\n  iVar4 = 0x23c;\n  pcVar21 = *(code **)(puVar20 + 0x1cc2d0);\n  iVar3 = *(int *)(puVar20 + 0x1cb5b4) + -0x12ec;\n  puVar12 = (undefined1 *)(*(int *)(puVar20 + 0x1cb5a8) + 0x1cac);\n  (*pcVar21)();\n  piVar6 = *(int **)(pcVar21 + 0x1cb928);\n  iStack_16c = *piVar6;\n  iStack_168 = in_stack_00000018;\n  puStack_164 = puVar15;\n  puStack_160 = puVar10;\n  iStack_15c = iVar2;\n  piStack_158 = piVar18;\n  puStack_154 = puVar13;\n  puStack_150 = unaff_s6;\n  (**(code **)(pcVar21 + 0x1cbdcc))(auStack_1290,0,0x120);\n  auStack_1290[0] = *(undefined8 *)(*(int *)(pcVar21 + 0x1cafd8) + 0x1438);\n  uStack_1258 = auStack_1290[0];\n  uStack_1220 = auStack_1290[0];\n  uStack_11e8 = auStack_1290[0];\n  uStack_11b0 = auStack_1290[0];\n  uStack_1178 = auStack_1290[0];\n  if (puVar12 == (undefined1 *)0x0) {\n    iVar2 = (**(code **)(pcVar21 + 0x1cbd00))\n                      (*(int *)(pcVar21 + 0x1cafd8) + 0xdd0,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,\n                       0x2f9,*(int *)(pcVar21 + 0x1cafe4) + -0xf20);\n    return iVar2;\n  }\n  iVar2 = *(int *)(pcVar21 + 0x1cafe4);\n  if (*(int *)(puVar12 + 0x336c) != -0x54535255) goto LAB_001ddf28;\n  if (*(int *)(puVar12 + 0x3350) != 0) {\n    (**(code **)(pcVar21 + 0x1cb8d8))\n              (0x8000,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,*(int *)(pcVar21 + 0x1cafe4) + -0xf34,\n               0x2fc,*(int *)(pcVar21 + 0x1cafdc) + -0x62ac,puVar12 + 0x340);\n  }\n  if (iVar4 == 0) {\n    iVar2 = (**(code **)(pcVar21 + 0x1cbd00))\n                      (*(int *)(pcVar21 + 0x1cafd8) + 0x1cac,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,\n                       0x2fd,*(int *)(pcVar21 + 0x1cafe4) + -0xf20);\n    return iVar2;\n  }\n  if (*(int *)(iVar4 + 0x1c) != -0x54535255) {\n    iVar2 = (**(code **)(pcVar21 + 0x1cbd00))\n                      (*(int *)(pcVar21 + 0x1cafd8) + 0x294c,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,\n                       0x2fe,*(int *)(pcVar21 + 0x1cafe4) + -0xf20);\n    return iVar2;\n  }\n  iVar11 = *(int *)(iVar3 + 8);\n  iVar2 = 0;\n  if (0 < iVar11) {\n    iVar14 = *(int *)(iVar3 + 4);\n    iVar17 = 0;\n    puVar16 = auStack_1290;\n    do {\n      if (0 < iVar14) {\n        iVar7 = 0;\n        do {\n          if ((iVar2 < 6) && (iVar7 < 6)) {\n            puVar16[iVar7] = *(undefined8 *)(*(int *)(iVar3 + 0x14) + (iVar17 + iVar7) * 8);\n          }\n          iVar7 = iVar7 + 1;\n        } while (iVar7 != iVar14);\n        iVar17 = iVar17 + iVar14;\n      }\n      iVar2 = iVar2 + 1;\n      puVar16 = puVar16 + 6;\n    } while (iVar2 != iVar11);\n  }\n  iVar2 = 1;\n  iStack_12dc = (**(code **)(pcVar21 + 0x1cbf28))(puVar12,0,0,1,iVar4);\n  if (iStack_12dc != 0) {\n    iVar11 = (**(code **)(pcVar21 + 0x1cbf1c))(iStack_12dc,1,iVar4);\n    if (iVar11 == 0) {\n      (**(code **)(pcVar21 + 0x1cb644))(iStack_12dc);\n      iStack_12dc = 0;\n    }\n    else {\n      if (*(int *)(puVar12 + 0x3350) != 0) {\n        iVar17 = *(int *)(pcVar21 + 0x1cafe4);\n        iVar14 = *(int *)(pcVar21 + 0x1cafe4);\n        (**(code **)(pcVar21 + 0x1cb8d8))\n                  (0x10000,iVar14 + -0x12ec,iVar17 + -0xf34,0x318,\n                   *(int *)(pcVar21 + 0x1cafe4) + -0x12d0);\n        puStack_12b4 = (undefined1 *)\n                       (**(code **)(pcVar21 + 0x1cbf0c))(*(int *)(pcVar21 + 0x1cafdc) + -0x3688);\n        iStack_12e4 = 0;\n        iVar2 = *(int *)(pcVar21 + 0x1cafdc);\n        iVar7 = *(int *)(pcVar21 + 0x1cafe0);\n        iVar11 = *(int *)(pcVar21 + 0x1cafdc);\n        do {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb474);\n          iVar19 = 0;\n          *puStack_12b4 = 0;\n          (*pcVar22)(auStack_116c,0x1000,iVar11 + -0x66b8);\n          (**(code **)(pcVar21 + 0x1cbaa0))(&puStack_12b4,auStack_116c);\n          do {\n            iVar19 = iVar19 + 1;\n            (**(code **)(pcVar21 + 0x1cb474))(auStack_116c,0x1000,iVar7 + 0x4930);\n            (**(code **)(pcVar21 + 0x1cbaa0))(&puStack_12b4,auStack_116c);\n          } while (iVar19 != 6);\n          iStack_12e4 = iStack_12e4 + 1;\n          (**(code **)(pcVar21 + 0x1cb8d8))\n                    (0x10000,iVar14 + -0x12ec,iVar17 + -0xf34,0x326,iVar2 + -0x62ac,puStack_12b4);\n        } while (iStack_12e4 != 6);\n        (**(code **)(pcVar21 + 0x1cb76c))(puStack_12b4);\n      }\n      uStack_12bc = 0;\n      uStack_12c0 = 0;\n      uVar8 = (**(code **)(pcVar21 + 0x1cbe4c))(puVar12,iVar4);\n      uVar9 = (**(code **)(pcVar21 + 0x1cb5cc))(iStack_12dc,iVar4);\n      iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(puVar12);\n      if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(puVar12), iVar2 == 3)) &&\n         ((iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc), iVar2 == 3)))) {\n        (**(code **)(pcVar21 + 0x1cb834))(7);\n        iVar2 = *(int *)(puVar12 + 0x1c);\n        if (iVar2 < 0) {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if (iVar2 + 0x3f >> 6 <= extraout_v1_03) goto LAB_001ddc6c;\nLAB_001dde94:\n          (*pcVar22)(7);\n          bVar1 = extraout_v1_05 < 2;\n        }\n        else {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if (extraout_v1_03 < iVar2 >> 6) goto LAB_001dde94;\nLAB_001ddc6c:\n          bVar1 = iVar2 < 0x80;\n        }\n        iVar11 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar21 + 0x1cb834))(7);\n          iVar11 = *(int *)(puVar12 + 0x1c);\n          if (iVar11 < 0) {\n            iVar11 = iVar11 + 0x3f;\n          }\n          iVar11 = iVar11 >> 6;\n          if (extraout_v1_06 < iVar11) {\n            pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n            goto LAB_001dde6c;\n          }\n        }\n      }\n      else {\n        uVar24 = (**(code **)(pcVar21 + 0x1cb834))(7);\n        if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if ((uint)uVar24 < 2) {\n            uVar24 = (*pcVar22)(7);\n            if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001ddb28;\n            pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n            if (1 < (uint)uVar24) goto LAB_001ddb2c;\n            iVar11 = 1;\n            goto LAB_001ddb44;\n          }\n        }\n        else {\nLAB_001ddb28:\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n        }\nLAB_001ddb2c:\n        uVar24 = (*pcVar22)(7);\n        if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n           (pcVar22 = *(code **)(pcVar21 + 0x1cb834), (uint)uVar24 < 2)) {\nLAB_001dde6c:\n          (*pcVar22)(7);\n          iVar11 = extraout_v1_04;\n        }\n        else {\n          iVar11 = 2;\n        }\n      }\nLAB_001ddb44:\n      iVar2 = 0;\n      iStack_1298 = 1;\n      puStack_1294 = &uStack_12c0;\n      puStack_12b4 = puVar12;\n      iStack_12b0 = iVar3;\n      iStack_12ac = iVar4;\n      uStack_12a8 = uVar9;\n      uStack_12a4 = uVar8;\n      puStack_12a0 = auStack_1290;\n      iStack_129c = iStack_12dc;\n      (**(code **)(pcVar21 + 0x1cb890))\n                (*(int *)(pcVar21 + 0x1cb09c) + -0x71ec,&puStack_12b4,iVar11,0);\n      iVar3 = iStack_1298;\n      (**(code **)(pcVar21 + 0x1cb5ec))(uVar9);\n      (**(code **)(pcVar21 + 0x1cb5ec))(uVar8);\n      if (iVar3 == 0) {\n        iStack_12dc = (**(code **)(pcVar21 + 0x1cb644))(iStack_12dc);\n      }\n    }\n  }\n  if (iStack_16c == *piVar6) {\n    return iStack_12dc;\n  }\n  (**(code **)(pcVar21 + 0x1cb75c))();\nLAB_001ddf28:\n  iVar2 = (**(code **)(pcVar21 + 0x1cbd00))\n                    (*(int *)(pcVar21 + 0x1cafe0) + -0x3784,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,\n                     0x2fa,iVar2 + -0xf20);\n  return iVar2;\n}" primitive_type (function_declarator "CharcoalImage(undefined *param_1)" identifier (parameter_list "(undefined *param_1)" ( (parameter_declaration "undefined *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) ))) (compound_statement "{\n  bool bVar1;\n  int iVar2;\n  int iVar3;\n  int iVar4;\n  uint uVar5;\n  int *piVar6;\n  int iVar7;\n  undefined4 uVar8;\n  undefined4 uVar9;\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 extraout_v1_04;\n  int extraout_v1_05;\n  int extraout_v1_06;\n  undefined *puVar10;\n  int iVar11;\n  undefined1 *puVar12;\n  undefined *puVar13;\n  int iVar14;\n  undefined *puVar15;\n  undefined8 *puVar16;\n  int iVar17;\n  undefined *unaff_s1;\n  undefined *unaff_s2;\n  int unaff_s3;\n  int *piVar18;\n  undefined *unaff_s5;\n  undefined1 *unaff_s6;\n  int iVar19;\n  undefined *puVar20;\n  code *pcVar21;\n  code *pcVar22;\n  double dVar23;\n  undefined8 uVar24;\n  int in_stack_00000018;\n  int iStack_12e4;\n  int iStack_12dc;\n  undefined4 uStack_12c0;\n  undefined4 uStack_12bc;\n  undefined1 *puStack_12b4;\n  int iStack_12b0;\n  int iStack_12ac;\n  undefined4 uStack_12a8;\n  undefined4 uStack_12a4;\n  undefined8 *puStack_12a0;\n  int iStack_129c;\n  int iStack_1298;\n  undefined4 *puStack_1294;\n  undefined8 auStack_1290 [7];\n  undefined8 uStack_1258;\n  undefined8 uStack_1220;\n  undefined8 uStack_11e8;\n  undefined8 uStack_11b0;\n  undefined8 uStack_1178;\n  undefined1 auStack_116c [4096];\n  int iStack_16c;\n  int iStack_168;\n  undefined *puStack_164;\n  undefined *puStack_160;\n  int iStack_15c;\n  int *piStack_158;\n  undefined *puStack_154;\n  undefined1 *puStack_150;\n  undefined4 uStack_118;\n  undefined4 uStack_114;\n  undefined *puStack_110;\n  int iStack_10c;\n  undefined *puStack_108;\n  undefined *puStack_104;\n  int iStack_100;\n  undefined1 *puStack_fc;\n  undefined *puStack_f8;\n  undefined4 *puStack_f4;\n  undefined8 uStack_f0;\n  undefined8 uStack_e8;\n  undefined8 uStack_e0;\n  undefined8 uStack_d8;\n  undefined8 uStack_d0;\n  undefined1 auStack_c8 [4];\n  int iStack_c4;\n  undefined8 uStack_a0;\n  undefined8 uStack_98;\n  undefined8 uStack_90;\n  undefined8 uStack_88;\n  undefined8 uStack_80;\n  int iStack_6c;\n  int iStack_68;\n  undefined *puStack_64;\n  \n  if (param_1 == (undefined *)0x0) {\nLAB_001dd2cc:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0xdd0,PTR_s_courses_003a88ec + -0x12ec,0x1da,\n               PTR_s_courses_003a88ec + -0xedc);\nLAB_001dd2f0:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x294c,PTR_s_courses_003a88ec + -0x12ec,0x1df,\n               PTR_s_courses_003a88ec + -0xedc);\n  }\n  else {\n    unaff_s1 = param_1;\n    if (*(int *)(param_1 + 0x336c) != -0x54535255) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                 PTR_s_courses_003a88ec + -0x12ec,0x1db,PTR_s_courses_003a88ec + -0xedc);\n      goto LAB_001dd2cc;\n    }\n    if (*(int *)(param_1 + 0x3350) != 0) {\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_courses_003a88ec + -0x12ec,PTR_s_courses_003a88ec + -0xeec,0x1dd);\n    }\n    if (in_stack_00000018 != 0) {\n      if (*(int *)(in_stack_00000018 + 0x1c) == -0x54535255) {\n        iVar2 = (*(code *)PTR_EdgeImage_003a8dec)(param_1);\n        puVar15 = PTR_ClampImage_003a93c8;\n        if (iVar2 != 0) {\n          *(undefined4 *)(iVar2 + 700) = 0;\n          iVar3 = (*(code *)puVar15)(iVar2,in_stack_00000018);\n          if (iVar3 == 0) {\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n          }\n          else {\n            iVar3 = (*(code *)PTR_BlurImage_003a95c0)(iVar2);\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n            if (iVar3 != 0) {\n              iVar2 = (*(code *)PTR_NormalizeImage_003a8f7c)(iVar3,in_stack_00000018);\n              if (((iVar2 != 0) &&\n                  (iVar2 = (*(code *)PTR_NegateImage_003a985c)(iVar3,0,in_stack_00000018),\n                  iVar2 != 0)) &&\n                 (iVar2 = (*(code *)PTR_GrayscaleImage_003a91cc)\n                                    (iVar3,*(undefined4 *)(param_1 + 0x254),in_stack_00000018),\n                 iVar2 != 0)) {\n                return iVar3;\n              }\n                    \n                    \n              iVar2 = (*(code *)PTR_DestroyImage_003a8f4c)(iVar3);\n              return iVar2;\n            }\n          }\n        }\n        return 0;\n      }\n      goto LAB_001dd2f0;\n    }\n  }\n  iVar2 = 0x1de;\n  puVar15 = PTR_s_courses_003a88ec + -0xedc;\n  puVar13 = PTR_s_courses_003a88ec + -0x12ec;\n  puVar10 = PTR_LAB_003a88e0 + 0x1cac;\n  puVar20 = PTR___assert_fail_003a9608;\n  (*(code *)PTR___assert_fail_003a9608)();\n  piVar18 = *(int **)(puVar20 + 0x1cbef8);\n  iStack_68 = in_stack_00000018;\n  iStack_6c = *piVar18;\n  puStack_64 = unaff_s1;\n  if (puVar10 == (undefined *)0x0) {\n    (**(code **)(puVar20 + 0x1cc2d0))\n              (*(int *)(puVar20 + 0x1cb5b0) + -0x37b0,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,0x238,\n               *(int *)(puVar20 + 0x1cb5b4) + -0xefc);\n    puVar10 = unaff_s2;\nLAB_001dd890:\n    (**(code **)(puVar20 + 0x1cbd2c))();\nLAB_001dd89c:\n    puVar13 = unaff_s5;\n    iVar2 = unaff_s3;\n    puVar15 = unaff_s1;\n    (**(code **)(puVar20 + 0x1cc2d0))\n              (*(int *)(puVar20 + 0x1cb5b0) + -0x3784,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,0x239,\n               *(int *)(puVar20 + 0x1cb5b4) + -0xefc);\nLAB_001dd8c0:\n    (**(code **)(puVar20 + 0x1cc2d0))\n              (*(int *)(puVar20 + 0x1cb5a8) + 0x294c,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,0x23d,\n               *(int *)(puVar20 + 0x1cb5b4) + -0xefc);\n  }\n  else {\n    if (*(int *)(puVar10 + 0x336c) != -0x54535255) goto LAB_001dd89c;\n    if (*(int *)(puVar10 + 0x3350) != 0) {\n      (**(code **)(puVar20 + 0x1cbea8))\n                (0x8000,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,*(int *)(puVar20 + 0x1cb5b4) + -0xf0c\n                 ,0x23b);\n    }\n    if (puVar15 != (undefined *)0x0) {\n      if (*(int *)(puVar15 + 0x1c) == -0x54535255) {\n        iVar3 = (**(code **)(puVar20 + 0x1cc4f8))(puVar10,0,0,1);\n        in_stack_00000018 = iVar3;\n        if (iVar3 != 0) {\n          iVar4 = (**(code **)(puVar20 + 0x1cc4ec))(iVar3,1,puVar15);\n          if (iVar4 == 0) {\n            in_stack_00000018 = 0;\n            (**(code **)(puVar20 + 0x1cbc14))(iVar3);\n          }\n          else {\n            if (*(int *)(iVar3 + 4) == 0x21) {\nLAB_001dd4b8:\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);\nLAB_001dd4bc:\n              (*pcVar21)(iVar3,0x17,puVar15);\n            }\n            else {\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);\n              if (*(int *)(iVar3 + 4) == 3) goto LAB_001dd4bc;\n              dVar23 = *(double *)(iVar2 + 0x28) - *(double *)(iVar2 + 0x30);\n              if (dVar23 < 0.0) {\n                dVar23 = -dVar23;\n              }\n              if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) {\n                dVar23 = *(double *)(iVar2 + 0x30) - *(double *)(iVar2 + 0x38);\n                if (dVar23 < 0.0) {\n                  dVar23 = -dVar23;\n                }\n                if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) goto LAB_001dd4b8;\n              }\n            }\n            if ((*(int *)(iVar3 + 700) == 0) && (*(int *)(iVar2 + 8) != 0)) {\n              (**(code **)(puVar20 + 0x1cb940))\n                        (iVar3,*(undefined4 *)(*(int *)(puVar20 + 0x1cb5a8) + 0x1a50),puVar15);\n            }\n            if (puVar13 != (undefined *)0x0) {\n              unaff_s6 = auStack_c8;\n              (**(code **)(puVar20 + 0x1cbf7c))(iVar3,unaff_s6);\n              uVar5 = (**(code **)(puVar20 + 0x1cc11c))(puVar13,&uStack_f0);\n              uStack_80 = 0;\n              uStack_a0 = uStack_f0;\n              uStack_98 = uStack_f0;\n              uStack_90 = uStack_f0;\n              uStack_88 = uStack_f0;\n              if ((uVar5 & 8) != 0) {\n                uStack_98 = uStack_e8;\n              }\n              if ((uVar5 & 1) != 0) {\n                uStack_90 = uStack_e0;\n              }\n              if ((uVar5 & 2) == 0) {\n                pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                uVar24 = uStack_88;\n                if (iStack_c4 == 2) goto LAB_001dd6b0;\n              }\n              else {\n                uStack_80 = uStack_d8;\n                uVar24 = uStack_d8;\n                if (iStack_c4 == 2) {\nLAB_001dd6b0:\n                  uStack_88 = uVar24;\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                  if ((uVar5 & 0x10) != 0) {\n                    uStack_80 = uStack_d0;\n                  }\n                }\n                else {\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                }\n              }\n              uStack_114 = 0;\n              uStack_118 = 0;\n              puVar13 = (undefined *)(*pcVar21)(iVar3,puVar15);\n              iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3);\n              if (((iVar4 == 4) || (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3))\n                 && ((iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 4 ||\n                     (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3)))) {\n                (**(code **)(puVar20 + 0x1cbe04))(7);\n                iVar11 = *(int *)(iVar3 + 0x1c);\n                iVar4 = iVar11;\n                if (iVar11 < 0) {\n                  iVar4 = iVar11 + 0x3f;\n                }\n                if (extraout_v1 < iVar4 >> 6) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  bVar1 = extraout_v1_02 < 2;\n                }\n                else {\n                  bVar1 = iVar11 < 0x80;\n                }\n                iVar4 = 1;\n                if ((bool)(bVar1 ^ 1)) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  iVar4 = *(int *)(iVar3 + 0x1c);\n                  if (iVar4 < 0) {\n                    iVar4 = iVar4 + 0x3f;\n                  }\n                  iVar4 = iVar4 >> 6;\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                  if (extraout_v1_01 < iVar4) {\n                    pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                    goto LAB_001dd7c0;\n                  }\n                }\n                else {\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                }\n              }\n              else {\n                uVar24 = (**(code **)(puVar20 + 0x1cbe04))(7);\n                if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  uVar24 = (*pcVar21)(7);\n                  if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001dd5d0;\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  iVar4 = 1;\n                }\n                else {\nLAB_001dd5d0:\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\nLAB_001dd5d4:\n                  uVar24 = (*pcVar21)(7);\n                  if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n                     (pcVar21 = *(code **)(puVar20 + 0x1cbe04), (uint)uVar24 < 2)) {\nLAB_001dd7c0:\n                    (*pcVar21)(7);\n                    iVar4 = extraout_v1_00;\n                  }\n                  else {\n                    iVar4 = 2;\n                  }\n                }\n                iVar11 = *(int *)(puVar20 + 0x1cb66c);\n              }\n              puStack_f8 = (undefined *)0x1;\n              puStack_f4 = &uStack_118;\n              puStack_110 = puVar10;\n              iStack_10c = iVar2;\n              puStack_108 = puVar15;\n              puStack_104 = puVar13;\n              iStack_100 = iVar3;\n              puStack_fc = unaff_s6;\n              (**(code **)(puVar20 + 0x1cbe60))(iVar11 + -0x43b4,&puStack_110,iVar4,0);\n              puVar15 = puStack_f8;\n              (**(code **)(puVar20 + 0x1cbbbc))(puVar13);\n              if (puVar15 == (undefined *)0x0) {\n                in_stack_00000018 = (**(code **)(puVar20 + 0x1cbc14))(iVar3);\n              }\n            }\n          }\n        }\n        unaff_s1 = puVar15;\n        unaff_s3 = iVar2;\n        unaff_s5 = puVar13;\n        if (iStack_6c == *piVar18) {\n          return in_stack_00000018;\n        }\n        goto LAB_001dd890;\n      }\n      goto LAB_001dd8c0;\n    }\n  }\n  iVar4 = 0x23c;\n  pcVar21 = *(code **)(puVar20 + 0x1cc2d0);\n  iVar3 = *(int *)(puVar20 + 0x1cb5b4) + -0x12ec;\n  puVar12 = (undefined1 *)(*(int *)(puVar20 + 0x1cb5a8) + 0x1cac);\n  (*pcVar21)();\n  piVar6 = *(int **)(pcVar21 + 0x1cb928);\n  iStack_16c = *piVar6;\n  iStack_168 = in_stack_00000018;\n  puStack_164 = puVar15;\n  puStack_160 = puVar10;\n  iStack_15c = iVar2;\n  piStack_158 = piVar18;\n  puStack_154 = puVar13;\n  puStack_150 = unaff_s6;\n  (**(code **)(pcVar21 + 0x1cbdcc))(auStack_1290,0,0x120);\n  auStack_1290[0] = *(undefined8 *)(*(int *)(pcVar21 + 0x1cafd8) + 0x1438);\n  uStack_1258 = auStack_1290[0];\n  uStack_1220 = auStack_1290[0];\n  uStack_11e8 = auStack_1290[0];\n  uStack_11b0 = auStack_1290[0];\n  uStack_1178 = auStack_1290[0];\n  if (puVar12 == (undefined1 *)0x0) {\n    iVar2 = (**(code **)(pcVar21 + 0x1cbd00))\n                      (*(int *)(pcVar21 + 0x1cafd8) + 0xdd0,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,\n                       0x2f9,*(int *)(pcVar21 + 0x1cafe4) + -0xf20);\n    return iVar2;\n  }\n  iVar2 = *(int *)(pcVar21 + 0x1cafe4);\n  if (*(int *)(puVar12 + 0x336c) != -0x54535255) goto LAB_001ddf28;\n  if (*(int *)(puVar12 + 0x3350) != 0) {\n    (**(code **)(pcVar21 + 0x1cb8d8))\n              (0x8000,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,*(int *)(pcVar21 + 0x1cafe4) + -0xf34,\n               0x2fc,*(int *)(pcVar21 + 0x1cafdc) + -0x62ac,puVar12 + 0x340);\n  }\n  if (iVar4 == 0) {\n    iVar2 = (**(code **)(pcVar21 + 0x1cbd00))\n                      (*(int *)(pcVar21 + 0x1cafd8) + 0x1cac,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,\n                       0x2fd,*(int *)(pcVar21 + 0x1cafe4) + -0xf20);\n    return iVar2;\n  }\n  if (*(int *)(iVar4 + 0x1c) != -0x54535255) {\n    iVar2 = (**(code **)(pcVar21 + 0x1cbd00))\n                      (*(int *)(pcVar21 + 0x1cafd8) + 0x294c,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,\n                       0x2fe,*(int *)(pcVar21 + 0x1cafe4) + -0xf20);\n    return iVar2;\n  }\n  iVar11 = *(int *)(iVar3 + 8);\n  iVar2 = 0;\n  if (0 < iVar11) {\n    iVar14 = *(int *)(iVar3 + 4);\n    iVar17 = 0;\n    puVar16 = auStack_1290;\n    do {\n      if (0 < iVar14) {\n        iVar7 = 0;\n        do {\n          if ((iVar2 < 6) && (iVar7 < 6)) {\n            puVar16[iVar7] = *(undefined8 *)(*(int *)(iVar3 + 0x14) + (iVar17 + iVar7) * 8);\n          }\n          iVar7 = iVar7 + 1;\n        } while (iVar7 != iVar14);\n        iVar17 = iVar17 + iVar14;\n      }\n      iVar2 = iVar2 + 1;\n      puVar16 = puVar16 + 6;\n    } while (iVar2 != iVar11);\n  }\n  iVar2 = 1;\n  iStack_12dc = (**(code **)(pcVar21 + 0x1cbf28))(puVar12,0,0,1,iVar4);\n  if (iStack_12dc != 0) {\n    iVar11 = (**(code **)(pcVar21 + 0x1cbf1c))(iStack_12dc,1,iVar4);\n    if (iVar11 == 0) {\n      (**(code **)(pcVar21 + 0x1cb644))(iStack_12dc);\n      iStack_12dc = 0;\n    }\n    else {\n      if (*(int *)(puVar12 + 0x3350) != 0) {\n        iVar17 = *(int *)(pcVar21 + 0x1cafe4);\n        iVar14 = *(int *)(pcVar21 + 0x1cafe4);\n        (**(code **)(pcVar21 + 0x1cb8d8))\n                  (0x10000,iVar14 + -0x12ec,iVar17 + -0xf34,0x318,\n                   *(int *)(pcVar21 + 0x1cafe4) + -0x12d0);\n        puStack_12b4 = (undefined1 *)\n                       (**(code **)(pcVar21 + 0x1cbf0c))(*(int *)(pcVar21 + 0x1cafdc) + -0x3688);\n        iStack_12e4 = 0;\n        iVar2 = *(int *)(pcVar21 + 0x1cafdc);\n        iVar7 = *(int *)(pcVar21 + 0x1cafe0);\n        iVar11 = *(int *)(pcVar21 + 0x1cafdc);\n        do {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb474);\n          iVar19 = 0;\n          *puStack_12b4 = 0;\n          (*pcVar22)(auStack_116c,0x1000,iVar11 + -0x66b8);\n          (**(code **)(pcVar21 + 0x1cbaa0))(&puStack_12b4,auStack_116c);\n          do {\n            iVar19 = iVar19 + 1;\n            (**(code **)(pcVar21 + 0x1cb474))(auStack_116c,0x1000,iVar7 + 0x4930);\n            (**(code **)(pcVar21 + 0x1cbaa0))(&puStack_12b4,auStack_116c);\n          } while (iVar19 != 6);\n          iStack_12e4 = iStack_12e4 + 1;\n          (**(code **)(pcVar21 + 0x1cb8d8))\n                    (0x10000,iVar14 + -0x12ec,iVar17 + -0xf34,0x326,iVar2 + -0x62ac,puStack_12b4);\n        } while (iStack_12e4 != 6);\n        (**(code **)(pcVar21 + 0x1cb76c))(puStack_12b4);\n      }\n      uStack_12bc = 0;\n      uStack_12c0 = 0;\n      uVar8 = (**(code **)(pcVar21 + 0x1cbe4c))(puVar12,iVar4);\n      uVar9 = (**(code **)(pcVar21 + 0x1cb5cc))(iStack_12dc,iVar4);\n      iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(puVar12);\n      if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(puVar12), iVar2 == 3)) &&\n         ((iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc), iVar2 == 3)))) {\n        (**(code **)(pcVar21 + 0x1cb834))(7);\n        iVar2 = *(int *)(puVar12 + 0x1c);\n        if (iVar2 < 0) {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if (iVar2 + 0x3f >> 6 <= extraout_v1_03) goto LAB_001ddc6c;\nLAB_001dde94:\n          (*pcVar22)(7);\n          bVar1 = extraout_v1_05 < 2;\n        }\n        else {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if (extraout_v1_03 < iVar2 >> 6) goto LAB_001dde94;\nLAB_001ddc6c:\n          bVar1 = iVar2 < 0x80;\n        }\n        iVar11 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar21 + 0x1cb834))(7);\n          iVar11 = *(int *)(puVar12 + 0x1c);\n          if (iVar11 < 0) {\n            iVar11 = iVar11 + 0x3f;\n          }\n          iVar11 = iVar11 >> 6;\n          if (extraout_v1_06 < iVar11) {\n            pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n            goto LAB_001dde6c;\n          }\n        }\n      }\n      else {\n        uVar24 = (**(code **)(pcVar21 + 0x1cb834))(7);\n        if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if ((uint)uVar24 < 2) {\n            uVar24 = (*pcVar22)(7);\n            if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001ddb28;\n            pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n            if (1 < (uint)uVar24) goto LAB_001ddb2c;\n            iVar11 = 1;\n            goto LAB_001ddb44;\n          }\n        }\n        else {\nLAB_001ddb28:\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n        }\nLAB_001ddb2c:\n        uVar24 = (*pcVar22)(7);\n        if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n           (pcVar22 = *(code **)(pcVar21 + 0x1cb834), (uint)uVar24 < 2)) {\nLAB_001dde6c:\n          (*pcVar22)(7);\n          iVar11 = extraout_v1_04;\n        }\n        else {\n          iVar11 = 2;\n        }\n      }\nLAB_001ddb44:\n      iVar2 = 0;\n      iStack_1298 = 1;\n      puStack_1294 = &uStack_12c0;\n      puStack_12b4 = puVar12;\n      iStack_12b0 = iVar3;\n      iStack_12ac = iVar4;\n      uStack_12a8 = uVar9;\n      uStack_12a4 = uVar8;\n      puStack_12a0 = auStack_1290;\n      iStack_129c = iStack_12dc;\n      (**(code **)(pcVar21 + 0x1cb890))\n                (*(int *)(pcVar21 + 0x1cb09c) + -0x71ec,&puStack_12b4,iVar11,0);\n      iVar3 = iStack_1298;\n      (**(code **)(pcVar21 + 0x1cb5ec))(uVar9);\n      (**(code **)(pcVar21 + 0x1cb5ec))(uVar8);\n      if (iVar3 == 0) {\n        iStack_12dc = (**(code **)(pcVar21 + 0x1cb644))(iStack_12dc);\n      }\n    }\n  }\n  if (iStack_16c == *piVar6) {\n    return iStack_12dc;\n  }\n  (**(code **)(pcVar21 + 0x1cb75c))();\nLAB_001ddf28:\n  iVar2 = (**(code **)(pcVar21 + 0x1cbd00))\n                    (*(int *)(pcVar21 + 0x1cafe0) + -0x3784,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,\n                     0x2fa,iVar2 + -0xf20);\n  return iVar2;\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "int *piVar6;" primitive_type (pointer_declarator "*piVar6" * identifier) ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "undefined4 uVar8;" type_identifier identifier ;) (declaration "undefined4 uVar9;" type_identifier 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 extraout_v1_04;" primitive_type identifier ;) (declaration "int extraout_v1_05;" primitive_type identifier ;) (declaration "int extraout_v1_06;" primitive_type identifier ;) (declaration "undefined *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "undefined1 *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "undefined *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "undefined *puVar15;" type_identifier (pointer_declarator "*puVar15" * identifier) ;) (declaration "undefined8 *puVar16;" type_identifier (pointer_declarator "*puVar16" * identifier) ;) (declaration "int iVar17;" primitive_type identifier ;) (declaration "undefined *unaff_s1;" type_identifier (pointer_declarator "*unaff_s1" * identifier) ;) (declaration "undefined *unaff_s2;" type_identifier (pointer_declarator "*unaff_s2" * identifier) ;) (declaration "int unaff_s3;" primitive_type identifier ;) (declaration "int *piVar18;" primitive_type (pointer_declarator "*piVar18" * identifier) ;) (declaration "undefined *unaff_s5;" type_identifier (pointer_declarator "*unaff_s5" * identifier) ;) (declaration "undefined1 *unaff_s6;" type_identifier (pointer_declarator "*unaff_s6" * identifier) ;) (declaration "int iVar19;" primitive_type identifier ;) (declaration "undefined *puVar20;" type_identifier (pointer_declarator "*puVar20" * identifier) ;) (declaration "code *pcVar21;" type_identifier (pointer_declarator "*pcVar21" * identifier) ;) (declaration "code *pcVar22;" type_identifier (pointer_declarator "*pcVar22" * identifier) ;) (declaration "double dVar23;" primitive_type identifier ;) (declaration "undefined8 uVar24;" type_identifier identifier ;) (declaration "int in_stack_00000018;" primitive_type identifier ;) (declaration "int iStack_12e4;" primitive_type identifier ;) (declaration "int iStack_12dc;" primitive_type identifier ;) (declaration "undefined4 uStack_12c0;" type_identifier identifier ;) (declaration "undefined4 uStack_12bc;" type_identifier identifier ;) (declaration "undefined1 *puStack_12b4;" type_identifier (pointer_declarator "*puStack_12b4" * identifier) ;) (declaration "int iStack_12b0;" primitive_type identifier ;) (declaration "int iStack_12ac;" primitive_type identifier ;) (declaration "undefined4 uStack_12a8;" type_identifier identifier ;) (declaration "undefined4 uStack_12a4;" type_identifier identifier ;) (declaration "undefined8 *puStack_12a0;" type_identifier (pointer_declarator "*puStack_12a0" * identifier) ;) (declaration "int iStack_129c;" primitive_type identifier ;) (declaration "int iStack_1298;" primitive_type identifier ;) (declaration "undefined4 *puStack_1294;" type_identifier (pointer_declarator "*puStack_1294" * identifier) ;) (declaration "undefined8 auStack_1290 [7];" type_identifier (array_declarator "auStack_1290 [7]" identifier [ number_literal ]) ;) (declaration "undefined8 uStack_1258;" type_identifier identifier ;) (declaration "undefined8 uStack_1220;" type_identifier identifier ;) (declaration "undefined8 uStack_11e8;" type_identifier identifier ;) (declaration "undefined8 uStack_11b0;" type_identifier identifier ;) (declaration "undefined8 uStack_1178;" type_identifier identifier ;) (declaration "undefined1 auStack_116c [4096];" type_identifier (array_declarator "auStack_116c [4096]" identifier [ number_literal ]) ;) (declaration "int iStack_16c;" primitive_type identifier ;) (declaration "int iStack_168;" primitive_type identifier ;) (declaration "undefined *puStack_164;" type_identifier (pointer_declarator "*puStack_164" * identifier) ;) (declaration "undefined *puStack_160;" type_identifier (pointer_declarator "*puStack_160" * identifier) ;) (declaration "int iStack_15c;" primitive_type identifier ;) (declaration "int *piStack_158;" primitive_type (pointer_declarator "*piStack_158" * identifier) ;) (declaration "undefined *puStack_154;" type_identifier (pointer_declarator "*puStack_154" * identifier) ;) (declaration "undefined1 *puStack_150;" type_identifier (pointer_declarator "*puStack_150" * identifier) ;) (declaration "undefined4 uStack_118;" type_identifier identifier ;) (declaration "undefined4 uStack_114;" type_identifier identifier ;) (declaration "undefined *puStack_110;" type_identifier (pointer_declarator "*puStack_110" * identifier) ;) (declaration "int iStack_10c;" primitive_type identifier ;) (declaration "undefined *puStack_108;" type_identifier (pointer_declarator "*puStack_108" * identifier) ;) (declaration "undefined *puStack_104;" type_identifier (pointer_declarator "*puStack_104" * identifier) ;) (declaration "int iStack_100;" primitive_type identifier ;) (declaration "undefined1 *puStack_fc;" type_identifier (pointer_declarator "*puStack_fc" * identifier) ;) (declaration "undefined *puStack_f8;" type_identifier (pointer_declarator "*puStack_f8" * identifier) ;) (declaration "undefined4 *puStack_f4;" type_identifier (pointer_declarator "*puStack_f4" * identifier) ;) (declaration "undefined8 uStack_f0;" type_identifier identifier ;) (declaration "undefined8 uStack_e8;" type_identifier identifier ;) (declaration "undefined8 uStack_e0;" type_identifier identifier ;) (declaration "undefined8 uStack_d8;" type_identifier identifier ;) (declaration "undefined8 uStack_d0;" type_identifier identifier ;) (declaration "undefined1 auStack_c8 [4];" type_identifier (array_declarator "auStack_c8 [4]" identifier [ number_literal ]) ;) (declaration "int iStack_c4;" primitive_type identifier ;) (declaration "undefined8 uStack_a0;" type_identifier identifier ;) (declaration "undefined8 uStack_98;" type_identifier identifier ;) (declaration "undefined8 uStack_90;" type_identifier identifier ;) (declaration "undefined8 uStack_88;" type_identifier identifier ;) (declaration "undefined8 uStack_80;" type_identifier identifier ;) (declaration "int iStack_6c;" primitive_type identifier ;) (declaration "int iStack_68;" primitive_type identifier ;) (declaration "undefined *puStack_64;" type_identifier (pointer_declarator "*puStack_64" * identifier) ;) (if_statement "if (param_1 == (undefined *)0x0) {\nLAB_001dd2cc:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0xdd0,PTR_s_courses_003a88ec + -0x12ec,0x1da,\n               PTR_s_courses_003a88ec + -0xedc);\nLAB_001dd2f0:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x294c,PTR_s_courses_003a88ec + -0x12ec,0x1df,\n               PTR_s_courses_003a88ec + -0xedc);\n  }\n  else {\n    unaff_s1 = param_1;\n    if (*(int *)(param_1 + 0x336c) != -0x54535255) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                 PTR_s_courses_003a88ec + -0x12ec,0x1db,PTR_s_courses_003a88ec + -0xedc);\n      goto LAB_001dd2cc;\n    }\n    if (*(int *)(param_1 + 0x3350) != 0) {\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_courses_003a88ec + -0x12ec,PTR_s_courses_003a88ec + -0xeec,0x1dd);\n    }\n    if (in_stack_00000018 != 0) {\n      if (*(int *)(in_stack_00000018 + 0x1c) == -0x54535255) {\n        iVar2 = (*(code *)PTR_EdgeImage_003a8dec)(param_1);\n        puVar15 = PTR_ClampImage_003a93c8;\n        if (iVar2 != 0) {\n          *(undefined4 *)(iVar2 + 700) = 0;\n          iVar3 = (*(code *)puVar15)(iVar2,in_stack_00000018);\n          if (iVar3 == 0) {\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n          }\n          else {\n            iVar3 = (*(code *)PTR_BlurImage_003a95c0)(iVar2);\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n            if (iVar3 != 0) {\n              iVar2 = (*(code *)PTR_NormalizeImage_003a8f7c)(iVar3,in_stack_00000018);\n              if (((iVar2 != 0) &&\n                  (iVar2 = (*(code *)PTR_NegateImage_003a985c)(iVar3,0,in_stack_00000018),\n                  iVar2 != 0)) &&\n                 (iVar2 = (*(code *)PTR_GrayscaleImage_003a91cc)\n                                    (iVar3,*(undefined4 *)(param_1 + 0x254),in_stack_00000018),\n                 iVar2 != 0)) {\n                return iVar3;\n              }\n                    \n                    \n              iVar2 = (*(code *)PTR_DestroyImage_003a8f4c)(iVar3);\n              return iVar2;\n            }\n          }\n        }\n        return 0;\n      }\n      goto LAB_001dd2f0;\n    }\n  }" if (parenthesized_expression "(param_1 == (undefined *)0x0)" ( (binary_expression "param_1 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_001dd2cc:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0xdd0,PTR_s_courses_003a88ec + -0x12ec,0x1da,\n               PTR_s_courses_003a88ec + -0xedc);\nLAB_001dd2f0:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x294c,PTR_s_courses_003a88ec + -0x12ec,0x1df,\n               PTR_s_courses_003a88ec + -0xedc);\n  }" { (labeled_statement "LAB_001dd2cc:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0xdd0,PTR_s_courses_003a88ec + -0x12ec,0x1da,\n               PTR_s_courses_003a88ec + -0xedc);" statement_identifier : (expression_statement "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0xdd0,PTR_s_courses_003a88ec + -0x12ec,0x1da,\n               PTR_s_courses_003a88ec + -0xedc);" (call_expression "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0xdd0,PTR_s_courses_003a88ec + -0x12ec,0x1da,\n               PTR_s_courses_003a88ec + -0xedc)" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" ( (pointer_expression "*(code *)PTR___assert_fail_003a9608" * (cast_expression "(code *)PTR___assert_fail_003a9608" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_LAB_003a88e0 + 0xdd0,PTR_s_courses_003a88ec + -0x12ec,0x1da,\n               PTR_s_courses_003a88ec + -0xedc)" ( (binary_expression "PTR_LAB_003a88e0 + 0xdd0" identifier + number_literal) , (binary_expression "PTR_s_courses_003a88ec + -0x12ec" identifier + number_literal) , number_literal , (binary_expression "PTR_s_courses_003a88ec + -0xedc" identifier + number_literal) ))) ;)) (labeled_statement "LAB_001dd2f0:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x294c,PTR_s_courses_003a88ec + -0x12ec,0x1df,\n               PTR_s_courses_003a88ec + -0xedc);" statement_identifier : (expression_statement "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x294c,PTR_s_courses_003a88ec + -0x12ec,0x1df,\n               PTR_s_courses_003a88ec + -0xedc);" (call_expression "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x294c,PTR_s_courses_003a88ec + -0x12ec,0x1df,\n               PTR_s_courses_003a88ec + -0xedc)" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" ( (pointer_expression "*(code *)PTR___assert_fail_003a9608" * (cast_expression "(code *)PTR___assert_fail_003a9608" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_LAB_003a88e0 + 0x294c,PTR_s_courses_003a88ec + -0x12ec,0x1df,\n               PTR_s_courses_003a88ec + -0xedc)" ( (binary_expression "PTR_LAB_003a88e0 + 0x294c" identifier + number_literal) , (binary_expression "PTR_s_courses_003a88ec + -0x12ec" identifier + number_literal) , number_literal , (binary_expression "PTR_s_courses_003a88ec + -0xedc" identifier + number_literal) ))) ;)) }) (else_clause "else {\n    unaff_s1 = param_1;\n    if (*(int *)(param_1 + 0x336c) != -0x54535255) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                 PTR_s_courses_003a88ec + -0x12ec,0x1db,PTR_s_courses_003a88ec + -0xedc);\n      goto LAB_001dd2cc;\n    }\n    if (*(int *)(param_1 + 0x3350) != 0) {\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_courses_003a88ec + -0x12ec,PTR_s_courses_003a88ec + -0xeec,0x1dd);\n    }\n    if (in_stack_00000018 != 0) {\n      if (*(int *)(in_stack_00000018 + 0x1c) == -0x54535255) {\n        iVar2 = (*(code *)PTR_EdgeImage_003a8dec)(param_1);\n        puVar15 = PTR_ClampImage_003a93c8;\n        if (iVar2 != 0) {\n          *(undefined4 *)(iVar2 + 700) = 0;\n          iVar3 = (*(code *)puVar15)(iVar2,in_stack_00000018);\n          if (iVar3 == 0) {\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n          }\n          else {\n            iVar3 = (*(code *)PTR_BlurImage_003a95c0)(iVar2);\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n            if (iVar3 != 0) {\n              iVar2 = (*(code *)PTR_NormalizeImage_003a8f7c)(iVar3,in_stack_00000018);\n              if (((iVar2 != 0) &&\n                  (iVar2 = (*(code *)PTR_NegateImage_003a985c)(iVar3,0,in_stack_00000018),\n                  iVar2 != 0)) &&\n                 (iVar2 = (*(code *)PTR_GrayscaleImage_003a91cc)\n                                    (iVar3,*(undefined4 *)(param_1 + 0x254),in_stack_00000018),\n                 iVar2 != 0)) {\n                return iVar3;\n              }\n                    \n                    \n              iVar2 = (*(code *)PTR_DestroyImage_003a8f4c)(iVar3);\n              return iVar2;\n            }\n          }\n        }\n        return 0;\n      }\n      goto LAB_001dd2f0;\n    }\n  }" else (compound_statement "{\n    unaff_s1 = param_1;\n    if (*(int *)(param_1 + 0x336c) != -0x54535255) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                 PTR_s_courses_003a88ec + -0x12ec,0x1db,PTR_s_courses_003a88ec + -0xedc);\n      goto LAB_001dd2cc;\n    }\n    if (*(int *)(param_1 + 0x3350) != 0) {\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_courses_003a88ec + -0x12ec,PTR_s_courses_003a88ec + -0xeec,0x1dd);\n    }\n    if (in_stack_00000018 != 0) {\n      if (*(int *)(in_stack_00000018 + 0x1c) == -0x54535255) {\n        iVar2 = (*(code *)PTR_EdgeImage_003a8dec)(param_1);\n        puVar15 = PTR_ClampImage_003a93c8;\n        if (iVar2 != 0) {\n          *(undefined4 *)(iVar2 + 700) = 0;\n          iVar3 = (*(code *)puVar15)(iVar2,in_stack_00000018);\n          if (iVar3 == 0) {\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n          }\n          else {\n            iVar3 = (*(code *)PTR_BlurImage_003a95c0)(iVar2);\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n            if (iVar3 != 0) {\n              iVar2 = (*(code *)PTR_NormalizeImage_003a8f7c)(iVar3,in_stack_00000018);\n              if (((iVar2 != 0) &&\n                  (iVar2 = (*(code *)PTR_NegateImage_003a985c)(iVar3,0,in_stack_00000018),\n                  iVar2 != 0)) &&\n                 (iVar2 = (*(code *)PTR_GrayscaleImage_003a91cc)\n                                    (iVar3,*(undefined4 *)(param_1 + 0x254),in_stack_00000018),\n                 iVar2 != 0)) {\n                return iVar3;\n              }\n                    \n                    \n              iVar2 = (*(code *)PTR_DestroyImage_003a8f4c)(iVar3);\n              return iVar2;\n            }\n          }\n        }\n        return 0;\n      }\n      goto LAB_001dd2f0;\n    }\n  }" { (expression_statement "unaff_s1 = param_1;" (assignment_expression "unaff_s1 = param_1" identifier = identifier) ;) (if_statement "if (*(int *)(param_1 + 0x336c) != -0x54535255) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                 PTR_s_courses_003a88ec + -0x12ec,0x1db,PTR_s_courses_003a88ec + -0xedc);\n      goto LAB_001dd2cc;\n    }" if (parenthesized_expression "(*(int *)(param_1 + 0x336c) != -0x54535255)" ( (binary_expression "*(int *)(param_1 + 0x336c) != -0x54535255" (pointer_expression "*(int *)(param_1 + 0x336c)" * (cast_expression "(int *)(param_1 + 0x336c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x336c)" ( (binary_expression "param_1 + 0x336c" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                 PTR_s_courses_003a88ec + -0x12ec,0x1db,PTR_s_courses_003a88ec + -0xedc);\n      goto LAB_001dd2cc;\n    }" { (expression_statement "(*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                 PTR_s_courses_003a88ec + -0x12ec,0x1db,PTR_s_courses_003a88ec + -0xedc);" (call_expression "(*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                 PTR_s_courses_003a88ec + -0x12ec,0x1db,PTR_s_courses_003a88ec + -0xedc)" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" ( (pointer_expression "*(code *)PTR___assert_fail_003a9608" * (cast_expression "(code *)PTR___assert_fail_003a9608" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                 PTR_s_courses_003a88ec + -0x12ec,0x1db,PTR_s_courses_003a88ec + -0xedc)" ( (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784" identifier + number_literal) , (binary_expression "PTR_s_courses_003a88ec + -0x12ec" identifier + number_literal) , number_literal , (binary_expression "PTR_s_courses_003a88ec + -0xedc" identifier + number_literal) ))) ;) (goto_statement "goto LAB_001dd2cc;" goto statement_identifier ;) })) (if_statement "if (*(int *)(param_1 + 0x3350) != 0) {\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_courses_003a88ec + -0x12ec,PTR_s_courses_003a88ec + -0xeec,0x1dd);\n    }" if (parenthesized_expression "(*(int *)(param_1 + 0x3350) != 0)" ( (binary_expression "*(int *)(param_1 + 0x3350) != 0" (pointer_expression "*(int *)(param_1 + 0x3350)" * (cast_expression "(int *)(param_1 + 0x3350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3350)" ( (binary_expression "param_1 + 0x3350" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_courses_003a88ec + -0x12ec,PTR_s_courses_003a88ec + -0xeec,0x1dd);\n    }" { (expression_statement "(*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_courses_003a88ec + -0x12ec,PTR_s_courses_003a88ec + -0xeec,0x1dd);" (call_expression "(*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_courses_003a88ec + -0x12ec,PTR_s_courses_003a88ec + -0xeec,0x1dd)" (parenthesized_expression "(*(code *)PTR_LogMagickEvent_003a91e0)" ( (pointer_expression "*(code *)PTR_LogMagickEvent_003a91e0" * (cast_expression "(code *)PTR_LogMagickEvent_003a91e0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x8000,PTR_s_courses_003a88ec + -0x12ec,PTR_s_courses_003a88ec + -0xeec,0x1dd)" ( number_literal , (binary_expression "PTR_s_courses_003a88ec + -0x12ec" identifier + number_literal) , (binary_expression "PTR_s_courses_003a88ec + -0xeec" identifier + number_literal) , number_literal ))) ;) })) (if_statement "if (in_stack_00000018 != 0) {\n      if (*(int *)(in_stack_00000018 + 0x1c) == -0x54535255) {\n        iVar2 = (*(code *)PTR_EdgeImage_003a8dec)(param_1);\n        puVar15 = PTR_ClampImage_003a93c8;\n        if (iVar2 != 0) {\n          *(undefined4 *)(iVar2 + 700) = 0;\n          iVar3 = (*(code *)puVar15)(iVar2,in_stack_00000018);\n          if (iVar3 == 0) {\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n          }\n          else {\n            iVar3 = (*(code *)PTR_BlurImage_003a95c0)(iVar2);\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n            if (iVar3 != 0) {\n              iVar2 = (*(code *)PTR_NormalizeImage_003a8f7c)(iVar3,in_stack_00000018);\n              if (((iVar2 != 0) &&\n                  (iVar2 = (*(code *)PTR_NegateImage_003a985c)(iVar3,0,in_stack_00000018),\n                  iVar2 != 0)) &&\n                 (iVar2 = (*(code *)PTR_GrayscaleImage_003a91cc)\n                                    (iVar3,*(undefined4 *)(param_1 + 0x254),in_stack_00000018),\n                 iVar2 != 0)) {\n                return iVar3;\n              }\n                    \n                    \n              iVar2 = (*(code *)PTR_DestroyImage_003a8f4c)(iVar3);\n              return iVar2;\n            }\n          }\n        }\n        return 0;\n      }\n      goto LAB_001dd2f0;\n    }" if (parenthesized_expression "(in_stack_00000018 != 0)" ( (binary_expression "in_stack_00000018 != 0" identifier != number_literal) )) (compound_statement "{\n      if (*(int *)(in_stack_00000018 + 0x1c) == -0x54535255) {\n        iVar2 = (*(code *)PTR_EdgeImage_003a8dec)(param_1);\n        puVar15 = PTR_ClampImage_003a93c8;\n        if (iVar2 != 0) {\n          *(undefined4 *)(iVar2 + 700) = 0;\n          iVar3 = (*(code *)puVar15)(iVar2,in_stack_00000018);\n          if (iVar3 == 0) {\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n          }\n          else {\n            iVar3 = (*(code *)PTR_BlurImage_003a95c0)(iVar2);\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n            if (iVar3 != 0) {\n              iVar2 = (*(code *)PTR_NormalizeImage_003a8f7c)(iVar3,in_stack_00000018);\n              if (((iVar2 != 0) &&\n                  (iVar2 = (*(code *)PTR_NegateImage_003a985c)(iVar3,0,in_stack_00000018),\n                  iVar2 != 0)) &&\n                 (iVar2 = (*(code *)PTR_GrayscaleImage_003a91cc)\n                                    (iVar3,*(undefined4 *)(param_1 + 0x254),in_stack_00000018),\n                 iVar2 != 0)) {\n                return iVar3;\n              }\n                    \n                    \n              iVar2 = (*(code *)PTR_DestroyImage_003a8f4c)(iVar3);\n              return iVar2;\n            }\n          }\n        }\n        return 0;\n      }\n      goto LAB_001dd2f0;\n    }" { (if_statement "if (*(int *)(in_stack_00000018 + 0x1c) == -0x54535255) {\n        iVar2 = (*(code *)PTR_EdgeImage_003a8dec)(param_1);\n        puVar15 = PTR_ClampImage_003a93c8;\n        if (iVar2 != 0) {\n          *(undefined4 *)(iVar2 + 700) = 0;\n          iVar3 = (*(code *)puVar15)(iVar2,in_stack_00000018);\n          if (iVar3 == 0) {\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n          }\n          else {\n            iVar3 = (*(code *)PTR_BlurImage_003a95c0)(iVar2);\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n            if (iVar3 != 0) {\n              iVar2 = (*(code *)PTR_NormalizeImage_003a8f7c)(iVar3,in_stack_00000018);\n              if (((iVar2 != 0) &&\n                  (iVar2 = (*(code *)PTR_NegateImage_003a985c)(iVar3,0,in_stack_00000018),\n                  iVar2 != 0)) &&\n                 (iVar2 = (*(code *)PTR_GrayscaleImage_003a91cc)\n                                    (iVar3,*(undefined4 *)(param_1 + 0x254),in_stack_00000018),\n                 iVar2 != 0)) {\n                return iVar3;\n              }\n                    \n                    \n              iVar2 = (*(code *)PTR_DestroyImage_003a8f4c)(iVar3);\n              return iVar2;\n            }\n          }\n        }\n        return 0;\n      }" if (parenthesized_expression "(*(int *)(in_stack_00000018 + 0x1c) == -0x54535255)" ( (binary_expression "*(int *)(in_stack_00000018 + 0x1c) == -0x54535255" (pointer_expression "*(int *)(in_stack_00000018 + 0x1c)" * (cast_expression "(int *)(in_stack_00000018 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_stack_00000018 + 0x1c)" ( (binary_expression "in_stack_00000018 + 0x1c" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n        iVar2 = (*(code *)PTR_EdgeImage_003a8dec)(param_1);\n        puVar15 = PTR_ClampImage_003a93c8;\n        if (iVar2 != 0) {\n          *(undefined4 *)(iVar2 + 700) = 0;\n          iVar3 = (*(code *)puVar15)(iVar2,in_stack_00000018);\n          if (iVar3 == 0) {\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n          }\n          else {\n            iVar3 = (*(code *)PTR_BlurImage_003a95c0)(iVar2);\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n            if (iVar3 != 0) {\n              iVar2 = (*(code *)PTR_NormalizeImage_003a8f7c)(iVar3,in_stack_00000018);\n              if (((iVar2 != 0) &&\n                  (iVar2 = (*(code *)PTR_NegateImage_003a985c)(iVar3,0,in_stack_00000018),\n                  iVar2 != 0)) &&\n                 (iVar2 = (*(code *)PTR_GrayscaleImage_003a91cc)\n                                    (iVar3,*(undefined4 *)(param_1 + 0x254),in_stack_00000018),\n                 iVar2 != 0)) {\n                return iVar3;\n              }\n                    \n                    \n              iVar2 = (*(code *)PTR_DestroyImage_003a8f4c)(iVar3);\n              return iVar2;\n            }\n          }\n        }\n        return 0;\n      }" { (expression_statement "iVar2 = (*(code *)PTR_EdgeImage_003a8dec)(param_1);" (assignment_expression "iVar2 = (*(code *)PTR_EdgeImage_003a8dec)(param_1)" identifier = (call_expression "(*(code *)PTR_EdgeImage_003a8dec)(param_1)" (parenthesized_expression "(*(code *)PTR_EdgeImage_003a8dec)" ( (pointer_expression "*(code *)PTR_EdgeImage_003a8dec" * (cast_expression "(code *)PTR_EdgeImage_003a8dec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "puVar15 = PTR_ClampImage_003a93c8;" (assignment_expression "puVar15 = PTR_ClampImage_003a93c8" identifier = identifier) ;) (if_statement "if (iVar2 != 0) {\n          *(undefined4 *)(iVar2 + 700) = 0;\n          iVar3 = (*(code *)puVar15)(iVar2,in_stack_00000018);\n          if (iVar3 == 0) {\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n          }\n          else {\n            iVar3 = (*(code *)PTR_BlurImage_003a95c0)(iVar2);\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n            if (iVar3 != 0) {\n              iVar2 = (*(code *)PTR_NormalizeImage_003a8f7c)(iVar3,in_stack_00000018);\n              if (((iVar2 != 0) &&\n                  (iVar2 = (*(code *)PTR_NegateImage_003a985c)(iVar3,0,in_stack_00000018),\n                  iVar2 != 0)) &&\n                 (iVar2 = (*(code *)PTR_GrayscaleImage_003a91cc)\n                                    (iVar3,*(undefined4 *)(param_1 + 0x254),in_stack_00000018),\n                 iVar2 != 0)) {\n                return iVar3;\n              }\n                    \n                    \n              iVar2 = (*(code *)PTR_DestroyImage_003a8f4c)(iVar3);\n              return iVar2;\n            }\n          }\n        }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n          *(undefined4 *)(iVar2 + 700) = 0;\n          iVar3 = (*(code *)puVar15)(iVar2,in_stack_00000018);\n          if (iVar3 == 0) {\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n          }\n          else {\n            iVar3 = (*(code *)PTR_BlurImage_003a95c0)(iVar2);\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n            if (iVar3 != 0) {\n              iVar2 = (*(code *)PTR_NormalizeImage_003a8f7c)(iVar3,in_stack_00000018);\n              if (((iVar2 != 0) &&\n                  (iVar2 = (*(code *)PTR_NegateImage_003a985c)(iVar3,0,in_stack_00000018),\n                  iVar2 != 0)) &&\n                 (iVar2 = (*(code *)PTR_GrayscaleImage_003a91cc)\n                                    (iVar3,*(undefined4 *)(param_1 + 0x254),in_stack_00000018),\n                 iVar2 != 0)) {\n                return iVar3;\n              }\n                    \n                    \n              iVar2 = (*(code *)PTR_DestroyImage_003a8f4c)(iVar3);\n              return iVar2;\n            }\n          }\n        }" { (expression_statement "*(undefined4 *)(iVar2 + 700) = 0;" (assignment_expression "*(undefined4 *)(iVar2 + 700) = 0" (pointer_expression "*(undefined4 *)(iVar2 + 700)" * (cast_expression "(undefined4 *)(iVar2 + 700)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 700)" ( (binary_expression "iVar2 + 700" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar3 = (*(code *)puVar15)(iVar2,in_stack_00000018);" (assignment_expression "iVar3 = (*(code *)puVar15)(iVar2,in_stack_00000018)" identifier = (call_expression "(*(code *)puVar15)(iVar2,in_stack_00000018)" (parenthesized_expression "(*(code *)puVar15)" ( (pointer_expression "*(code *)puVar15" * (cast_expression "(code *)puVar15" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar2,in_stack_00000018)" ( identifier , identifier )))) ;) (if_statement "if (iVar3 == 0) {\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n          }\n          else {\n            iVar3 = (*(code *)PTR_BlurImage_003a95c0)(iVar2);\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n            if (iVar3 != 0) {\n              iVar2 = (*(code *)PTR_NormalizeImage_003a8f7c)(iVar3,in_stack_00000018);\n              if (((iVar2 != 0) &&\n                  (iVar2 = (*(code *)PTR_NegateImage_003a985c)(iVar3,0,in_stack_00000018),\n                  iVar2 != 0)) &&\n                 (iVar2 = (*(code *)PTR_GrayscaleImage_003a91cc)\n                                    (iVar3,*(undefined4 *)(param_1 + 0x254),in_stack_00000018),\n                 iVar2 != 0)) {\n                return iVar3;\n              }\n                    \n                    \n              iVar2 = (*(code *)PTR_DestroyImage_003a8f4c)(iVar3);\n              return iVar2;\n            }\n          }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n          }" { (expression_statement "(*(code *)PTR_DestroyImage_003a8f4c)(iVar2);" (call_expression "(*(code *)PTR_DestroyImage_003a8f4c)(iVar2)" (parenthesized_expression "(*(code *)PTR_DestroyImage_003a8f4c)" ( (pointer_expression "*(code *)PTR_DestroyImage_003a8f4c" * (cast_expression "(code *)PTR_DestroyImage_003a8f4c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar2)" ( identifier ))) ;) }) (else_clause "else {\n            iVar3 = (*(code *)PTR_BlurImage_003a95c0)(iVar2);\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n            if (iVar3 != 0) {\n              iVar2 = (*(code *)PTR_NormalizeImage_003a8f7c)(iVar3,in_stack_00000018);\n              if (((iVar2 != 0) &&\n                  (iVar2 = (*(code *)PTR_NegateImage_003a985c)(iVar3,0,in_stack_00000018),\n                  iVar2 != 0)) &&\n                 (iVar2 = (*(code *)PTR_GrayscaleImage_003a91cc)\n                                    (iVar3,*(undefined4 *)(param_1 + 0x254),in_stack_00000018),\n                 iVar2 != 0)) {\n                return iVar3;\n              }\n                    \n                    \n              iVar2 = (*(code *)PTR_DestroyImage_003a8f4c)(iVar3);\n              return iVar2;\n            }\n          }" else (compound_statement "{\n            iVar3 = (*(code *)PTR_BlurImage_003a95c0)(iVar2);\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n            if (iVar3 != 0) {\n              iVar2 = (*(code *)PTR_NormalizeImage_003a8f7c)(iVar3,in_stack_00000018);\n              if (((iVar2 != 0) &&\n                  (iVar2 = (*(code *)PTR_NegateImage_003a985c)(iVar3,0,in_stack_00000018),\n                  iVar2 != 0)) &&\n                 (iVar2 = (*(code *)PTR_GrayscaleImage_003a91cc)\n                                    (iVar3,*(undefined4 *)(param_1 + 0x254),in_stack_00000018),\n                 iVar2 != 0)) {\n                return iVar3;\n              }\n                    \n                    \n              iVar2 = (*(code *)PTR_DestroyImage_003a8f4c)(iVar3);\n              return iVar2;\n            }\n          }" { (expression_statement "iVar3 = (*(code *)PTR_BlurImage_003a95c0)(iVar2);" (assignment_expression "iVar3 = (*(code *)PTR_BlurImage_003a95c0)(iVar2)" identifier = (call_expression "(*(code *)PTR_BlurImage_003a95c0)(iVar2)" (parenthesized_expression "(*(code *)PTR_BlurImage_003a95c0)" ( (pointer_expression "*(code *)PTR_BlurImage_003a95c0" * (cast_expression "(code *)PTR_BlurImage_003a95c0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar2)" ( identifier )))) ;) (expression_statement "(*(code *)PTR_DestroyImage_003a8f4c)(iVar2);" (call_expression "(*(code *)PTR_DestroyImage_003a8f4c)(iVar2)" (parenthesized_expression "(*(code *)PTR_DestroyImage_003a8f4c)" ( (pointer_expression "*(code *)PTR_DestroyImage_003a8f4c" * (cast_expression "(code *)PTR_DestroyImage_003a8f4c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar2)" ( identifier ))) ;) (if_statement "if (iVar3 != 0) {\n              iVar2 = (*(code *)PTR_NormalizeImage_003a8f7c)(iVar3,in_stack_00000018);\n              if (((iVar2 != 0) &&\n                  (iVar2 = (*(code *)PTR_NegateImage_003a985c)(iVar3,0,in_stack_00000018),\n                  iVar2 != 0)) &&\n                 (iVar2 = (*(code *)PTR_GrayscaleImage_003a91cc)\n                                    (iVar3,*(undefined4 *)(param_1 + 0x254),in_stack_00000018),\n                 iVar2 != 0)) {\n                return iVar3;\n              }\n                    \n                    \n              iVar2 = (*(code *)PTR_DestroyImage_003a8f4c)(iVar3);\n              return iVar2;\n            }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n              iVar2 = (*(code *)PTR_NormalizeImage_003a8f7c)(iVar3,in_stack_00000018);\n              if (((iVar2 != 0) &&\n                  (iVar2 = (*(code *)PTR_NegateImage_003a985c)(iVar3,0,in_stack_00000018),\n                  iVar2 != 0)) &&\n                 (iVar2 = (*(code *)PTR_GrayscaleImage_003a91cc)\n                                    (iVar3,*(undefined4 *)(param_1 + 0x254),in_stack_00000018),\n                 iVar2 != 0)) {\n                return iVar3;\n              }\n                    \n                    \n              iVar2 = (*(code *)PTR_DestroyImage_003a8f4c)(iVar3);\n              return iVar2;\n            }" { (expression_statement "iVar2 = (*(code *)PTR_NormalizeImage_003a8f7c)(iVar3,in_stack_00000018);" (assignment_expression "iVar2 = (*(code *)PTR_NormalizeImage_003a8f7c)(iVar3,in_stack_00000018)" identifier = (call_expression "(*(code *)PTR_NormalizeImage_003a8f7c)(iVar3,in_stack_00000018)" (parenthesized_expression "(*(code *)PTR_NormalizeImage_003a8f7c)" ( (pointer_expression "*(code *)PTR_NormalizeImage_003a8f7c" * (cast_expression "(code *)PTR_NormalizeImage_003a8f7c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar3,in_stack_00000018)" ( identifier , identifier )))) ;) (if_statement "if (((iVar2 != 0) &&\n                  (iVar2 = (*(code *)PTR_NegateImage_003a985c)(iVar3,0,in_stack_00000018),\n                  iVar2 != 0)) &&\n                 (iVar2 = (*(code *)PTR_GrayscaleImage_003a91cc)\n                                    (iVar3,*(undefined4 *)(param_1 + 0x254),in_stack_00000018),\n                 iVar2 != 0)) {\n                return iVar3;\n              }" if (parenthesized_expression "(((iVar2 != 0) &&\n                  (iVar2 = (*(code *)PTR_NegateImage_003a985c)(iVar3,0,in_stack_00000018),\n                  iVar2 != 0)) &&\n                 (iVar2 = (*(code *)PTR_GrayscaleImage_003a91cc)\n                                    (iVar3,*(undefined4 *)(param_1 + 0x254),in_stack_00000018),\n                 iVar2 != 0))" ( (binary_expression "((iVar2 != 0) &&\n                  (iVar2 = (*(code *)PTR_NegateImage_003a985c)(iVar3,0,in_stack_00000018),\n                  iVar2 != 0)) &&\n                 (iVar2 = (*(code *)PTR_GrayscaleImage_003a91cc)\n                                    (iVar3,*(undefined4 *)(param_1 + 0x254),in_stack_00000018),\n                 iVar2 != 0)" (parenthesized_expression "((iVar2 != 0) &&\n                  (iVar2 = (*(code *)PTR_NegateImage_003a985c)(iVar3,0,in_stack_00000018),\n                  iVar2 != 0))" ( (binary_expression "(iVar2 != 0) &&\n                  (iVar2 = (*(code *)PTR_NegateImage_003a985c)(iVar3,0,in_stack_00000018),\n                  iVar2 != 0)" (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar2 = (*(code *)PTR_NegateImage_003a985c)(iVar3,0,in_stack_00000018),\n                  iVar2 != 0)" ( (comma_expression "iVar2 = (*(code *)PTR_NegateImage_003a985c)(iVar3,0,in_stack_00000018),\n                  iVar2 != 0" (assignment_expression "iVar2 = (*(code *)PTR_NegateImage_003a985c)(iVar3,0,in_stack_00000018)" identifier = (call_expression "(*(code *)PTR_NegateImage_003a985c)(iVar3,0,in_stack_00000018)" (parenthesized_expression "(*(code *)PTR_NegateImage_003a985c)" ( (pointer_expression "*(code *)PTR_NegateImage_003a985c" * (cast_expression "(code *)PTR_NegateImage_003a985c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar3,0,in_stack_00000018)" ( identifier , number_literal , identifier )))) , (binary_expression "iVar2 != 0" identifier != number_literal)) ))) )) && (parenthesized_expression "(iVar2 = (*(code *)PTR_GrayscaleImage_003a91cc)\n                                    (iVar3,*(undefined4 *)(param_1 + 0x254),in_stack_00000018),\n                 iVar2 != 0)" ( (comma_expression "iVar2 = (*(code *)PTR_GrayscaleImage_003a91cc)\n                                    (iVar3,*(undefined4 *)(param_1 + 0x254),in_stack_00000018),\n                 iVar2 != 0" (assignment_expression "iVar2 = (*(code *)PTR_GrayscaleImage_003a91cc)\n                                    (iVar3,*(undefined4 *)(param_1 + 0x254),in_stack_00000018)" identifier = (call_expression "(*(code *)PTR_GrayscaleImage_003a91cc)\n                                    (iVar3,*(undefined4 *)(param_1 + 0x254),in_stack_00000018)" (parenthesized_expression "(*(code *)PTR_GrayscaleImage_003a91cc)" ( (pointer_expression "*(code *)PTR_GrayscaleImage_003a91cc" * (cast_expression "(code *)PTR_GrayscaleImage_003a91cc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar3,*(undefined4 *)(param_1 + 0x254),in_stack_00000018)" ( identifier , (pointer_expression "*(undefined4 *)(param_1 + 0x254)" * (cast_expression "(undefined4 *)(param_1 + 0x254)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x254)" ( (binary_expression "param_1 + 0x254" identifier + number_literal) )))) , identifier )))) , (binary_expression "iVar2 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n                return iVar3;\n              }" { (return_statement "return iVar3;" return identifier ;) })) (expression_statement "iVar2 = (*(code *)PTR_DestroyImage_003a8f4c)(iVar3);" (assignment_expression "iVar2 = (*(code *)PTR_DestroyImage_003a8f4c)(iVar3)" identifier = (call_expression "(*(code *)PTR_DestroyImage_003a8f4c)(iVar3)" (parenthesized_expression "(*(code *)PTR_DestroyImage_003a8f4c)" ( (pointer_expression "*(code *)PTR_DestroyImage_003a8f4c" * (cast_expression "(code *)PTR_DestroyImage_003a8f4c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar3)" ( identifier )))) ;) (return_statement "return iVar2;" return identifier ;) })) }))) })) (return_statement "return 0;" return number_literal ;) })) (goto_statement "goto LAB_001dd2f0;" goto statement_identifier ;) })) }))) (expression_statement "iVar2 = 0x1de;" (assignment_expression "iVar2 = 0x1de" identifier = number_literal) ;) (expression_statement "puVar15 = PTR_s_courses_003a88ec + -0xedc;" (assignment_expression "puVar15 = PTR_s_courses_003a88ec + -0xedc" identifier = (binary_expression "PTR_s_courses_003a88ec + -0xedc" identifier + number_literal)) ;) (expression_statement "puVar13 = PTR_s_courses_003a88ec + -0x12ec;" (assignment_expression "puVar13 = PTR_s_courses_003a88ec + -0x12ec" identifier = (binary_expression "PTR_s_courses_003a88ec + -0x12ec" identifier + number_literal)) ;) (expression_statement "puVar10 = PTR_LAB_003a88e0 + 0x1cac;" (assignment_expression "puVar10 = PTR_LAB_003a88e0 + 0x1cac" identifier = (binary_expression "PTR_LAB_003a88e0 + 0x1cac" identifier + number_literal)) ;) (expression_statement "puVar20 = PTR___assert_fail_003a9608;" (assignment_expression "puVar20 = PTR___assert_fail_003a9608" identifier = identifier) ;) (expression_statement "(*(code *)PTR___assert_fail_003a9608)();" (call_expression "(*(code *)PTR___assert_fail_003a9608)()" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" ( (pointer_expression "*(code *)PTR___assert_fail_003a9608" * (cast_expression "(code *)PTR___assert_fail_003a9608" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "piVar18 = *(int **)(puVar20 + 0x1cbef8);" (assignment_expression "piVar18 = *(int **)(puVar20 + 0x1cbef8)" identifier = (pointer_expression "*(int **)(puVar20 + 0x1cbef8)" * (cast_expression "(int **)(puVar20 + 0x1cbef8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x1cbef8)" ( (binary_expression "puVar20 + 0x1cbef8" identifier + number_literal) ))))) ;) (expression_statement "iStack_68 = in_stack_00000018;" (assignment_expression "iStack_68 = in_stack_00000018" identifier = identifier) ;) (expression_statement "iStack_6c = *piVar18;" (assignment_expression "iStack_6c = *piVar18" identifier = (pointer_expression "*piVar18" * identifier)) ;) (expression_statement "puStack_64 = unaff_s1;" (assignment_expression "puStack_64 = unaff_s1" identifier = identifier) ;) (if_statement "if (puVar10 == (undefined *)0x0) {\n    (**(code **)(puVar20 + 0x1cc2d0))\n              (*(int *)(puVar20 + 0x1cb5b0) + -0x37b0,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,0x238,\n               *(int *)(puVar20 + 0x1cb5b4) + -0xefc);\n    puVar10 = unaff_s2;\nLAB_001dd890:\n    (**(code **)(puVar20 + 0x1cbd2c))();\nLAB_001dd89c:\n    puVar13 = unaff_s5;\n    iVar2 = unaff_s3;\n    puVar15 = unaff_s1;\n    (**(code **)(puVar20 + 0x1cc2d0))\n              (*(int *)(puVar20 + 0x1cb5b0) + -0x3784,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,0x239,\n               *(int *)(puVar20 + 0x1cb5b4) + -0xefc);\nLAB_001dd8c0:\n    (**(code **)(puVar20 + 0x1cc2d0))\n              (*(int *)(puVar20 + 0x1cb5a8) + 0x294c,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,0x23d,\n               *(int *)(puVar20 + 0x1cb5b4) + -0xefc);\n  }\n  else {\n    if (*(int *)(puVar10 + 0x336c) != -0x54535255) goto LAB_001dd89c;\n    if (*(int *)(puVar10 + 0x3350) != 0) {\n      (**(code **)(puVar20 + 0x1cbea8))\n                (0x8000,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,*(int *)(puVar20 + 0x1cb5b4) + -0xf0c\n                 ,0x23b);\n    }\n    if (puVar15 != (undefined *)0x0) {\n      if (*(int *)(puVar15 + 0x1c) == -0x54535255) {\n        iVar3 = (**(code **)(puVar20 + 0x1cc4f8))(puVar10,0,0,1);\n        in_stack_00000018 = iVar3;\n        if (iVar3 != 0) {\n          iVar4 = (**(code **)(puVar20 + 0x1cc4ec))(iVar3,1,puVar15);\n          if (iVar4 == 0) {\n            in_stack_00000018 = 0;\n            (**(code **)(puVar20 + 0x1cbc14))(iVar3);\n          }\n          else {\n            if (*(int *)(iVar3 + 4) == 0x21) {\nLAB_001dd4b8:\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);\nLAB_001dd4bc:\n              (*pcVar21)(iVar3,0x17,puVar15);\n            }\n            else {\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);\n              if (*(int *)(iVar3 + 4) == 3) goto LAB_001dd4bc;\n              dVar23 = *(double *)(iVar2 + 0x28) - *(double *)(iVar2 + 0x30);\n              if (dVar23 < 0.0) {\n                dVar23 = -dVar23;\n              }\n              if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) {\n                dVar23 = *(double *)(iVar2 + 0x30) - *(double *)(iVar2 + 0x38);\n                if (dVar23 < 0.0) {\n                  dVar23 = -dVar23;\n                }\n                if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) goto LAB_001dd4b8;\n              }\n            }\n            if ((*(int *)(iVar3 + 700) == 0) && (*(int *)(iVar2 + 8) != 0)) {\n              (**(code **)(puVar20 + 0x1cb940))\n                        (iVar3,*(undefined4 *)(*(int *)(puVar20 + 0x1cb5a8) + 0x1a50),puVar15);\n            }\n            if (puVar13 != (undefined *)0x0) {\n              unaff_s6 = auStack_c8;\n              (**(code **)(puVar20 + 0x1cbf7c))(iVar3,unaff_s6);\n              uVar5 = (**(code **)(puVar20 + 0x1cc11c))(puVar13,&uStack_f0);\n              uStack_80 = 0;\n              uStack_a0 = uStack_f0;\n              uStack_98 = uStack_f0;\n              uStack_90 = uStack_f0;\n              uStack_88 = uStack_f0;\n              if ((uVar5 & 8) != 0) {\n                uStack_98 = uStack_e8;\n              }\n              if ((uVar5 & 1) != 0) {\n                uStack_90 = uStack_e0;\n              }\n              if ((uVar5 & 2) == 0) {\n                pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                uVar24 = uStack_88;\n                if (iStack_c4 == 2) goto LAB_001dd6b0;\n              }\n              else {\n                uStack_80 = uStack_d8;\n                uVar24 = uStack_d8;\n                if (iStack_c4 == 2) {\nLAB_001dd6b0:\n                  uStack_88 = uVar24;\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                  if ((uVar5 & 0x10) != 0) {\n                    uStack_80 = uStack_d0;\n                  }\n                }\n                else {\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                }\n              }\n              uStack_114 = 0;\n              uStack_118 = 0;\n              puVar13 = (undefined *)(*pcVar21)(iVar3,puVar15);\n              iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3);\n              if (((iVar4 == 4) || (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3))\n                 && ((iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 4 ||\n                     (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3)))) {\n                (**(code **)(puVar20 + 0x1cbe04))(7);\n                iVar11 = *(int *)(iVar3 + 0x1c);\n                iVar4 = iVar11;\n                if (iVar11 < 0) {\n                  iVar4 = iVar11 + 0x3f;\n                }\n                if (extraout_v1 < iVar4 >> 6) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  bVar1 = extraout_v1_02 < 2;\n                }\n                else {\n                  bVar1 = iVar11 < 0x80;\n                }\n                iVar4 = 1;\n                if ((bool)(bVar1 ^ 1)) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  iVar4 = *(int *)(iVar3 + 0x1c);\n                  if (iVar4 < 0) {\n                    iVar4 = iVar4 + 0x3f;\n                  }\n                  iVar4 = iVar4 >> 6;\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                  if (extraout_v1_01 < iVar4) {\n                    pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                    goto LAB_001dd7c0;\n                  }\n                }\n                else {\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                }\n              }\n              else {\n                uVar24 = (**(code **)(puVar20 + 0x1cbe04))(7);\n                if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  uVar24 = (*pcVar21)(7);\n                  if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001dd5d0;\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  iVar4 = 1;\n                }\n                else {\nLAB_001dd5d0:\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\nLAB_001dd5d4:\n                  uVar24 = (*pcVar21)(7);\n                  if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n                     (pcVar21 = *(code **)(puVar20 + 0x1cbe04), (uint)uVar24 < 2)) {\nLAB_001dd7c0:\n                    (*pcVar21)(7);\n                    iVar4 = extraout_v1_00;\n                  }\n                  else {\n                    iVar4 = 2;\n                  }\n                }\n                iVar11 = *(int *)(puVar20 + 0x1cb66c);\n              }\n              puStack_f8 = (undefined *)0x1;\n              puStack_f4 = &uStack_118;\n              puStack_110 = puVar10;\n              iStack_10c = iVar2;\n              puStack_108 = puVar15;\n              puStack_104 = puVar13;\n              iStack_100 = iVar3;\n              puStack_fc = unaff_s6;\n              (**(code **)(puVar20 + 0x1cbe60))(iVar11 + -0x43b4,&puStack_110,iVar4,0);\n              puVar15 = puStack_f8;\n              (**(code **)(puVar20 + 0x1cbbbc))(puVar13);\n              if (puVar15 == (undefined *)0x0) {\n                in_stack_00000018 = (**(code **)(puVar20 + 0x1cbc14))(iVar3);\n              }\n            }\n          }\n        }\n        unaff_s1 = puVar15;\n        unaff_s3 = iVar2;\n        unaff_s5 = puVar13;\n        if (iStack_6c == *piVar18) {\n          return in_stack_00000018;\n        }\n        goto LAB_001dd890;\n      }\n      goto LAB_001dd8c0;\n    }\n  }" if (parenthesized_expression "(puVar10 == (undefined *)0x0)" ( (binary_expression "puVar10 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    (**(code **)(puVar20 + 0x1cc2d0))\n              (*(int *)(puVar20 + 0x1cb5b0) + -0x37b0,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,0x238,\n               *(int *)(puVar20 + 0x1cb5b4) + -0xefc);\n    puVar10 = unaff_s2;\nLAB_001dd890:\n    (**(code **)(puVar20 + 0x1cbd2c))();\nLAB_001dd89c:\n    puVar13 = unaff_s5;\n    iVar2 = unaff_s3;\n    puVar15 = unaff_s1;\n    (**(code **)(puVar20 + 0x1cc2d0))\n              (*(int *)(puVar20 + 0x1cb5b0) + -0x3784,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,0x239,\n               *(int *)(puVar20 + 0x1cb5b4) + -0xefc);\nLAB_001dd8c0:\n    (**(code **)(puVar20 + 0x1cc2d0))\n              (*(int *)(puVar20 + 0x1cb5a8) + 0x294c,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,0x23d,\n               *(int *)(puVar20 + 0x1cb5b4) + -0xefc);\n  }" { (expression_statement "(**(code **)(puVar20 + 0x1cc2d0))\n              (*(int *)(puVar20 + 0x1cb5b0) + -0x37b0,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,0x238,\n               *(int *)(puVar20 + 0x1cb5b4) + -0xefc);" (call_expression "(**(code **)(puVar20 + 0x1cc2d0))\n              (*(int *)(puVar20 + 0x1cb5b0) + -0x37b0,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,0x238,\n               *(int *)(puVar20 + 0x1cb5b4) + -0xefc)" (parenthesized_expression "(**(code **)(puVar20 + 0x1cc2d0))" ( (pointer_expression "**(code **)(puVar20 + 0x1cc2d0)" * (pointer_expression "*(code **)(puVar20 + 0x1cc2d0)" * (cast_expression "(code **)(puVar20 + 0x1cc2d0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x1cc2d0)" ( (binary_expression "puVar20 + 0x1cc2d0" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar20 + 0x1cb5b0) + -0x37b0,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,0x238,\n               *(int *)(puVar20 + 0x1cb5b4) + -0xefc)" ( (binary_expression "*(int *)(puVar20 + 0x1cb5b0) + -0x37b0" (pointer_expression "*(int *)(puVar20 + 0x1cb5b0)" * (cast_expression "(int *)(puVar20 + 0x1cb5b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x1cb5b0)" ( (binary_expression "puVar20 + 0x1cb5b0" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar20 + 0x1cb5b4) + -0x12ec" (pointer_expression "*(int *)(puVar20 + 0x1cb5b4)" * (cast_expression "(int *)(puVar20 + 0x1cb5b4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x1cb5b4)" ( (binary_expression "puVar20 + 0x1cb5b4" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar20 + 0x1cb5b4) + -0xefc" (pointer_expression "*(int *)(puVar20 + 0x1cb5b4)" * (cast_expression "(int *)(puVar20 + 0x1cb5b4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x1cb5b4)" ( (binary_expression "puVar20 + 0x1cb5b4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "puVar10 = unaff_s2;" (assignment_expression "puVar10 = unaff_s2" identifier = identifier) ;) (labeled_statement "LAB_001dd890:\n    (**(code **)(puVar20 + 0x1cbd2c))();" statement_identifier : (expression_statement "(**(code **)(puVar20 + 0x1cbd2c))();" (call_expression "(**(code **)(puVar20 + 0x1cbd2c))()" (parenthesized_expression "(**(code **)(puVar20 + 0x1cbd2c))" ( (pointer_expression "**(code **)(puVar20 + 0x1cbd2c)" * (pointer_expression "*(code **)(puVar20 + 0x1cbd2c)" * (cast_expression "(code **)(puVar20 + 0x1cbd2c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x1cbd2c)" ( (binary_expression "puVar20 + 0x1cbd2c" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;)) (labeled_statement "LAB_001dd89c:\n    puVar13 = unaff_s5;" statement_identifier : (expression_statement "puVar13 = unaff_s5;" (assignment_expression "puVar13 = unaff_s5" identifier = identifier) ;)) (expression_statement "iVar2 = unaff_s3;" (assignment_expression "iVar2 = unaff_s3" identifier = identifier) ;) (expression_statement "puVar15 = unaff_s1;" (assignment_expression "puVar15 = unaff_s1" identifier = identifier) ;) (expression_statement "(**(code **)(puVar20 + 0x1cc2d0))\n              (*(int *)(puVar20 + 0x1cb5b0) + -0x3784,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,0x239,\n               *(int *)(puVar20 + 0x1cb5b4) + -0xefc);" (call_expression "(**(code **)(puVar20 + 0x1cc2d0))\n              (*(int *)(puVar20 + 0x1cb5b0) + -0x3784,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,0x239,\n               *(int *)(puVar20 + 0x1cb5b4) + -0xefc)" (parenthesized_expression "(**(code **)(puVar20 + 0x1cc2d0))" ( (pointer_expression "**(code **)(puVar20 + 0x1cc2d0)" * (pointer_expression "*(code **)(puVar20 + 0x1cc2d0)" * (cast_expression "(code **)(puVar20 + 0x1cc2d0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x1cc2d0)" ( (binary_expression "puVar20 + 0x1cc2d0" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar20 + 0x1cb5b0) + -0x3784,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,0x239,\n               *(int *)(puVar20 + 0x1cb5b4) + -0xefc)" ( (binary_expression "*(int *)(puVar20 + 0x1cb5b0) + -0x3784" (pointer_expression "*(int *)(puVar20 + 0x1cb5b0)" * (cast_expression "(int *)(puVar20 + 0x1cb5b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x1cb5b0)" ( (binary_expression "puVar20 + 0x1cb5b0" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar20 + 0x1cb5b4) + -0x12ec" (pointer_expression "*(int *)(puVar20 + 0x1cb5b4)" * (cast_expression "(int *)(puVar20 + 0x1cb5b4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x1cb5b4)" ( (binary_expression "puVar20 + 0x1cb5b4" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar20 + 0x1cb5b4) + -0xefc" (pointer_expression "*(int *)(puVar20 + 0x1cb5b4)" * (cast_expression "(int *)(puVar20 + 0x1cb5b4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x1cb5b4)" ( (binary_expression "puVar20 + 0x1cb5b4" identifier + number_literal) )))) + number_literal) ))) ;) (labeled_statement "LAB_001dd8c0:\n    (**(code **)(puVar20 + 0x1cc2d0))\n              (*(int *)(puVar20 + 0x1cb5a8) + 0x294c,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,0x23d,\n               *(int *)(puVar20 + 0x1cb5b4) + -0xefc);" statement_identifier : (expression_statement "(**(code **)(puVar20 + 0x1cc2d0))\n              (*(int *)(puVar20 + 0x1cb5a8) + 0x294c,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,0x23d,\n               *(int *)(puVar20 + 0x1cb5b4) + -0xefc);" (call_expression "(**(code **)(puVar20 + 0x1cc2d0))\n              (*(int *)(puVar20 + 0x1cb5a8) + 0x294c,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,0x23d,\n               *(int *)(puVar20 + 0x1cb5b4) + -0xefc)" (parenthesized_expression "(**(code **)(puVar20 + 0x1cc2d0))" ( (pointer_expression "**(code **)(puVar20 + 0x1cc2d0)" * (pointer_expression "*(code **)(puVar20 + 0x1cc2d0)" * (cast_expression "(code **)(puVar20 + 0x1cc2d0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x1cc2d0)" ( (binary_expression "puVar20 + 0x1cc2d0" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar20 + 0x1cb5a8) + 0x294c,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,0x23d,\n               *(int *)(puVar20 + 0x1cb5b4) + -0xefc)" ( (binary_expression "*(int *)(puVar20 + 0x1cb5a8) + 0x294c" (pointer_expression "*(int *)(puVar20 + 0x1cb5a8)" * (cast_expression "(int *)(puVar20 + 0x1cb5a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x1cb5a8)" ( (binary_expression "puVar20 + 0x1cb5a8" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar20 + 0x1cb5b4) + -0x12ec" (pointer_expression "*(int *)(puVar20 + 0x1cb5b4)" * (cast_expression "(int *)(puVar20 + 0x1cb5b4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x1cb5b4)" ( (binary_expression "puVar20 + 0x1cb5b4" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar20 + 0x1cb5b4) + -0xefc" (pointer_expression "*(int *)(puVar20 + 0x1cb5b4)" * (cast_expression "(int *)(puVar20 + 0x1cb5b4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x1cb5b4)" ( (binary_expression "puVar20 + 0x1cb5b4" identifier + number_literal) )))) + number_literal) ))) ;)) }) (else_clause "else {\n    if (*(int *)(puVar10 + 0x336c) != -0x54535255) goto LAB_001dd89c;\n    if (*(int *)(puVar10 + 0x3350) != 0) {\n      (**(code **)(puVar20 + 0x1cbea8))\n                (0x8000,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,*(int *)(puVar20 + 0x1cb5b4) + -0xf0c\n                 ,0x23b);\n    }\n    if (puVar15 != (undefined *)0x0) {\n      if (*(int *)(puVar15 + 0x1c) == -0x54535255) {\n        iVar3 = (**(code **)(puVar20 + 0x1cc4f8))(puVar10,0,0,1);\n        in_stack_00000018 = iVar3;\n        if (iVar3 != 0) {\n          iVar4 = (**(code **)(puVar20 + 0x1cc4ec))(iVar3,1,puVar15);\n          if (iVar4 == 0) {\n            in_stack_00000018 = 0;\n            (**(code **)(puVar20 + 0x1cbc14))(iVar3);\n          }\n          else {\n            if (*(int *)(iVar3 + 4) == 0x21) {\nLAB_001dd4b8:\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);\nLAB_001dd4bc:\n              (*pcVar21)(iVar3,0x17,puVar15);\n            }\n            else {\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);\n              if (*(int *)(iVar3 + 4) == 3) goto LAB_001dd4bc;\n              dVar23 = *(double *)(iVar2 + 0x28) - *(double *)(iVar2 + 0x30);\n              if (dVar23 < 0.0) {\n                dVar23 = -dVar23;\n              }\n              if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) {\n                dVar23 = *(double *)(iVar2 + 0x30) - *(double *)(iVar2 + 0x38);\n                if (dVar23 < 0.0) {\n                  dVar23 = -dVar23;\n                }\n                if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) goto LAB_001dd4b8;\n              }\n            }\n            if ((*(int *)(iVar3 + 700) == 0) && (*(int *)(iVar2 + 8) != 0)) {\n              (**(code **)(puVar20 + 0x1cb940))\n                        (iVar3,*(undefined4 *)(*(int *)(puVar20 + 0x1cb5a8) + 0x1a50),puVar15);\n            }\n            if (puVar13 != (undefined *)0x0) {\n              unaff_s6 = auStack_c8;\n              (**(code **)(puVar20 + 0x1cbf7c))(iVar3,unaff_s6);\n              uVar5 = (**(code **)(puVar20 + 0x1cc11c))(puVar13,&uStack_f0);\n              uStack_80 = 0;\n              uStack_a0 = uStack_f0;\n              uStack_98 = uStack_f0;\n              uStack_90 = uStack_f0;\n              uStack_88 = uStack_f0;\n              if ((uVar5 & 8) != 0) {\n                uStack_98 = uStack_e8;\n              }\n              if ((uVar5 & 1) != 0) {\n                uStack_90 = uStack_e0;\n              }\n              if ((uVar5 & 2) == 0) {\n                pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                uVar24 = uStack_88;\n                if (iStack_c4 == 2) goto LAB_001dd6b0;\n              }\n              else {\n                uStack_80 = uStack_d8;\n                uVar24 = uStack_d8;\n                if (iStack_c4 == 2) {\nLAB_001dd6b0:\n                  uStack_88 = uVar24;\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                  if ((uVar5 & 0x10) != 0) {\n                    uStack_80 = uStack_d0;\n                  }\n                }\n                else {\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                }\n              }\n              uStack_114 = 0;\n              uStack_118 = 0;\n              puVar13 = (undefined *)(*pcVar21)(iVar3,puVar15);\n              iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3);\n              if (((iVar4 == 4) || (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3))\n                 && ((iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 4 ||\n                     (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3)))) {\n                (**(code **)(puVar20 + 0x1cbe04))(7);\n                iVar11 = *(int *)(iVar3 + 0x1c);\n                iVar4 = iVar11;\n                if (iVar11 < 0) {\n                  iVar4 = iVar11 + 0x3f;\n                }\n                if (extraout_v1 < iVar4 >> 6) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  bVar1 = extraout_v1_02 < 2;\n                }\n                else {\n                  bVar1 = iVar11 < 0x80;\n                }\n                iVar4 = 1;\n                if ((bool)(bVar1 ^ 1)) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  iVar4 = *(int *)(iVar3 + 0x1c);\n                  if (iVar4 < 0) {\n                    iVar4 = iVar4 + 0x3f;\n                  }\n                  iVar4 = iVar4 >> 6;\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                  if (extraout_v1_01 < iVar4) {\n                    pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                    goto LAB_001dd7c0;\n                  }\n                }\n                else {\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                }\n              }\n              else {\n                uVar24 = (**(code **)(puVar20 + 0x1cbe04))(7);\n                if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  uVar24 = (*pcVar21)(7);\n                  if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001dd5d0;\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  iVar4 = 1;\n                }\n                else {\nLAB_001dd5d0:\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\nLAB_001dd5d4:\n                  uVar24 = (*pcVar21)(7);\n                  if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n                     (pcVar21 = *(code **)(puVar20 + 0x1cbe04), (uint)uVar24 < 2)) {\nLAB_001dd7c0:\n                    (*pcVar21)(7);\n                    iVar4 = extraout_v1_00;\n                  }\n                  else {\n                    iVar4 = 2;\n                  }\n                }\n                iVar11 = *(int *)(puVar20 + 0x1cb66c);\n              }\n              puStack_f8 = (undefined *)0x1;\n              puStack_f4 = &uStack_118;\n              puStack_110 = puVar10;\n              iStack_10c = iVar2;\n              puStack_108 = puVar15;\n              puStack_104 = puVar13;\n              iStack_100 = iVar3;\n              puStack_fc = unaff_s6;\n              (**(code **)(puVar20 + 0x1cbe60))(iVar11 + -0x43b4,&puStack_110,iVar4,0);\n              puVar15 = puStack_f8;\n              (**(code **)(puVar20 + 0x1cbbbc))(puVar13);\n              if (puVar15 == (undefined *)0x0) {\n                in_stack_00000018 = (**(code **)(puVar20 + 0x1cbc14))(iVar3);\n              }\n            }\n          }\n        }\n        unaff_s1 = puVar15;\n        unaff_s3 = iVar2;\n        unaff_s5 = puVar13;\n        if (iStack_6c == *piVar18) {\n          return in_stack_00000018;\n        }\n        goto LAB_001dd890;\n      }\n      goto LAB_001dd8c0;\n    }\n  }" else (compound_statement "{\n    if (*(int *)(puVar10 + 0x336c) != -0x54535255) goto LAB_001dd89c;\n    if (*(int *)(puVar10 + 0x3350) != 0) {\n      (**(code **)(puVar20 + 0x1cbea8))\n                (0x8000,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,*(int *)(puVar20 + 0x1cb5b4) + -0xf0c\n                 ,0x23b);\n    }\n    if (puVar15 != (undefined *)0x0) {\n      if (*(int *)(puVar15 + 0x1c) == -0x54535255) {\n        iVar3 = (**(code **)(puVar20 + 0x1cc4f8))(puVar10,0,0,1);\n        in_stack_00000018 = iVar3;\n        if (iVar3 != 0) {\n          iVar4 = (**(code **)(puVar20 + 0x1cc4ec))(iVar3,1,puVar15);\n          if (iVar4 == 0) {\n            in_stack_00000018 = 0;\n            (**(code **)(puVar20 + 0x1cbc14))(iVar3);\n          }\n          else {\n            if (*(int *)(iVar3 + 4) == 0x21) {\nLAB_001dd4b8:\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);\nLAB_001dd4bc:\n              (*pcVar21)(iVar3,0x17,puVar15);\n            }\n            else {\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);\n              if (*(int *)(iVar3 + 4) == 3) goto LAB_001dd4bc;\n              dVar23 = *(double *)(iVar2 + 0x28) - *(double *)(iVar2 + 0x30);\n              if (dVar23 < 0.0) {\n                dVar23 = -dVar23;\n              }\n              if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) {\n                dVar23 = *(double *)(iVar2 + 0x30) - *(double *)(iVar2 + 0x38);\n                if (dVar23 < 0.0) {\n                  dVar23 = -dVar23;\n                }\n                if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) goto LAB_001dd4b8;\n              }\n            }\n            if ((*(int *)(iVar3 + 700) == 0) && (*(int *)(iVar2 + 8) != 0)) {\n              (**(code **)(puVar20 + 0x1cb940))\n                        (iVar3,*(undefined4 *)(*(int *)(puVar20 + 0x1cb5a8) + 0x1a50),puVar15);\n            }\n            if (puVar13 != (undefined *)0x0) {\n              unaff_s6 = auStack_c8;\n              (**(code **)(puVar20 + 0x1cbf7c))(iVar3,unaff_s6);\n              uVar5 = (**(code **)(puVar20 + 0x1cc11c))(puVar13,&uStack_f0);\n              uStack_80 = 0;\n              uStack_a0 = uStack_f0;\n              uStack_98 = uStack_f0;\n              uStack_90 = uStack_f0;\n              uStack_88 = uStack_f0;\n              if ((uVar5 & 8) != 0) {\n                uStack_98 = uStack_e8;\n              }\n              if ((uVar5 & 1) != 0) {\n                uStack_90 = uStack_e0;\n              }\n              if ((uVar5 & 2) == 0) {\n                pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                uVar24 = uStack_88;\n                if (iStack_c4 == 2) goto LAB_001dd6b0;\n              }\n              else {\n                uStack_80 = uStack_d8;\n                uVar24 = uStack_d8;\n                if (iStack_c4 == 2) {\nLAB_001dd6b0:\n                  uStack_88 = uVar24;\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                  if ((uVar5 & 0x10) != 0) {\n                    uStack_80 = uStack_d0;\n                  }\n                }\n                else {\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                }\n              }\n              uStack_114 = 0;\n              uStack_118 = 0;\n              puVar13 = (undefined *)(*pcVar21)(iVar3,puVar15);\n              iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3);\n              if (((iVar4 == 4) || (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3))\n                 && ((iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 4 ||\n                     (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3)))) {\n                (**(code **)(puVar20 + 0x1cbe04))(7);\n                iVar11 = *(int *)(iVar3 + 0x1c);\n                iVar4 = iVar11;\n                if (iVar11 < 0) {\n                  iVar4 = iVar11 + 0x3f;\n                }\n                if (extraout_v1 < iVar4 >> 6) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  bVar1 = extraout_v1_02 < 2;\n                }\n                else {\n                  bVar1 = iVar11 < 0x80;\n                }\n                iVar4 = 1;\n                if ((bool)(bVar1 ^ 1)) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  iVar4 = *(int *)(iVar3 + 0x1c);\n                  if (iVar4 < 0) {\n                    iVar4 = iVar4 + 0x3f;\n                  }\n                  iVar4 = iVar4 >> 6;\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                  if (extraout_v1_01 < iVar4) {\n                    pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                    goto LAB_001dd7c0;\n                  }\n                }\n                else {\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                }\n              }\n              else {\n                uVar24 = (**(code **)(puVar20 + 0x1cbe04))(7);\n                if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  uVar24 = (*pcVar21)(7);\n                  if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001dd5d0;\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  iVar4 = 1;\n                }\n                else {\nLAB_001dd5d0:\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\nLAB_001dd5d4:\n                  uVar24 = (*pcVar21)(7);\n                  if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n                     (pcVar21 = *(code **)(puVar20 + 0x1cbe04), (uint)uVar24 < 2)) {\nLAB_001dd7c0:\n                    (*pcVar21)(7);\n                    iVar4 = extraout_v1_00;\n                  }\n                  else {\n                    iVar4 = 2;\n                  }\n                }\n                iVar11 = *(int *)(puVar20 + 0x1cb66c);\n              }\n              puStack_f8 = (undefined *)0x1;\n              puStack_f4 = &uStack_118;\n              puStack_110 = puVar10;\n              iStack_10c = iVar2;\n              puStack_108 = puVar15;\n              puStack_104 = puVar13;\n              iStack_100 = iVar3;\n              puStack_fc = unaff_s6;\n              (**(code **)(puVar20 + 0x1cbe60))(iVar11 + -0x43b4,&puStack_110,iVar4,0);\n              puVar15 = puStack_f8;\n              (**(code **)(puVar20 + 0x1cbbbc))(puVar13);\n              if (puVar15 == (undefined *)0x0) {\n                in_stack_00000018 = (**(code **)(puVar20 + 0x1cbc14))(iVar3);\n              }\n            }\n          }\n        }\n        unaff_s1 = puVar15;\n        unaff_s3 = iVar2;\n        unaff_s5 = puVar13;\n        if (iStack_6c == *piVar18) {\n          return in_stack_00000018;\n        }\n        goto LAB_001dd890;\n      }\n      goto LAB_001dd8c0;\n    }\n  }" { (if_statement "if (*(int *)(puVar10 + 0x336c) != -0x54535255) goto LAB_001dd89c;" if (parenthesized_expression "(*(int *)(puVar10 + 0x336c) != -0x54535255)" ( (binary_expression "*(int *)(puVar10 + 0x336c) != -0x54535255" (pointer_expression "*(int *)(puVar10 + 0x336c)" * (cast_expression "(int *)(puVar10 + 0x336c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x336c)" ( (binary_expression "puVar10 + 0x336c" identifier + number_literal) )))) != number_literal) )) (goto_statement "goto LAB_001dd89c;" goto statement_identifier ;)) (if_statement "if (*(int *)(puVar10 + 0x3350) != 0) {\n      (**(code **)(puVar20 + 0x1cbea8))\n                (0x8000,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,*(int *)(puVar20 + 0x1cb5b4) + -0xf0c\n                 ,0x23b);\n    }" if (parenthesized_expression "(*(int *)(puVar10 + 0x3350) != 0)" ( (binary_expression "*(int *)(puVar10 + 0x3350) != 0" (pointer_expression "*(int *)(puVar10 + 0x3350)" * (cast_expression "(int *)(puVar10 + 0x3350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x3350)" ( (binary_expression "puVar10 + 0x3350" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      (**(code **)(puVar20 + 0x1cbea8))\n                (0x8000,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,*(int *)(puVar20 + 0x1cb5b4) + -0xf0c\n                 ,0x23b);\n    }" { (expression_statement "(**(code **)(puVar20 + 0x1cbea8))\n                (0x8000,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,*(int *)(puVar20 + 0x1cb5b4) + -0xf0c\n                 ,0x23b);" (call_expression "(**(code **)(puVar20 + 0x1cbea8))\n                (0x8000,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,*(int *)(puVar20 + 0x1cb5b4) + -0xf0c\n                 ,0x23b)" (parenthesized_expression "(**(code **)(puVar20 + 0x1cbea8))" ( (pointer_expression "**(code **)(puVar20 + 0x1cbea8)" * (pointer_expression "*(code **)(puVar20 + 0x1cbea8)" * (cast_expression "(code **)(puVar20 + 0x1cbea8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x1cbea8)" ( (binary_expression "puVar20 + 0x1cbea8" identifier + number_literal) ))))) )) (argument_list "(0x8000,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,*(int *)(puVar20 + 0x1cb5b4) + -0xf0c\n                 ,0x23b)" ( number_literal , (binary_expression "*(int *)(puVar20 + 0x1cb5b4) + -0x12ec" (pointer_expression "*(int *)(puVar20 + 0x1cb5b4)" * (cast_expression "(int *)(puVar20 + 0x1cb5b4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x1cb5b4)" ( (binary_expression "puVar20 + 0x1cb5b4" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar20 + 0x1cb5b4) + -0xf0c" (pointer_expression "*(int *)(puVar20 + 0x1cb5b4)" * (cast_expression "(int *)(puVar20 + 0x1cb5b4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x1cb5b4)" ( (binary_expression "puVar20 + 0x1cb5b4" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) })) (if_statement "if (puVar15 != (undefined *)0x0) {\n      if (*(int *)(puVar15 + 0x1c) == -0x54535255) {\n        iVar3 = (**(code **)(puVar20 + 0x1cc4f8))(puVar10,0,0,1);\n        in_stack_00000018 = iVar3;\n        if (iVar3 != 0) {\n          iVar4 = (**(code **)(puVar20 + 0x1cc4ec))(iVar3,1,puVar15);\n          if (iVar4 == 0) {\n            in_stack_00000018 = 0;\n            (**(code **)(puVar20 + 0x1cbc14))(iVar3);\n          }\n          else {\n            if (*(int *)(iVar3 + 4) == 0x21) {\nLAB_001dd4b8:\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);\nLAB_001dd4bc:\n              (*pcVar21)(iVar3,0x17,puVar15);\n            }\n            else {\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);\n              if (*(int *)(iVar3 + 4) == 3) goto LAB_001dd4bc;\n              dVar23 = *(double *)(iVar2 + 0x28) - *(double *)(iVar2 + 0x30);\n              if (dVar23 < 0.0) {\n                dVar23 = -dVar23;\n              }\n              if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) {\n                dVar23 = *(double *)(iVar2 + 0x30) - *(double *)(iVar2 + 0x38);\n                if (dVar23 < 0.0) {\n                  dVar23 = -dVar23;\n                }\n                if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) goto LAB_001dd4b8;\n              }\n            }\n            if ((*(int *)(iVar3 + 700) == 0) && (*(int *)(iVar2 + 8) != 0)) {\n              (**(code **)(puVar20 + 0x1cb940))\n                        (iVar3,*(undefined4 *)(*(int *)(puVar20 + 0x1cb5a8) + 0x1a50),puVar15);\n            }\n            if (puVar13 != (undefined *)0x0) {\n              unaff_s6 = auStack_c8;\n              (**(code **)(puVar20 + 0x1cbf7c))(iVar3,unaff_s6);\n              uVar5 = (**(code **)(puVar20 + 0x1cc11c))(puVar13,&uStack_f0);\n              uStack_80 = 0;\n              uStack_a0 = uStack_f0;\n              uStack_98 = uStack_f0;\n              uStack_90 = uStack_f0;\n              uStack_88 = uStack_f0;\n              if ((uVar5 & 8) != 0) {\n                uStack_98 = uStack_e8;\n              }\n              if ((uVar5 & 1) != 0) {\n                uStack_90 = uStack_e0;\n              }\n              if ((uVar5 & 2) == 0) {\n                pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                uVar24 = uStack_88;\n                if (iStack_c4 == 2) goto LAB_001dd6b0;\n              }\n              else {\n                uStack_80 = uStack_d8;\n                uVar24 = uStack_d8;\n                if (iStack_c4 == 2) {\nLAB_001dd6b0:\n                  uStack_88 = uVar24;\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                  if ((uVar5 & 0x10) != 0) {\n                    uStack_80 = uStack_d0;\n                  }\n                }\n                else {\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                }\n              }\n              uStack_114 = 0;\n              uStack_118 = 0;\n              puVar13 = (undefined *)(*pcVar21)(iVar3,puVar15);\n              iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3);\n              if (((iVar4 == 4) || (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3))\n                 && ((iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 4 ||\n                     (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3)))) {\n                (**(code **)(puVar20 + 0x1cbe04))(7);\n                iVar11 = *(int *)(iVar3 + 0x1c);\n                iVar4 = iVar11;\n                if (iVar11 < 0) {\n                  iVar4 = iVar11 + 0x3f;\n                }\n                if (extraout_v1 < iVar4 >> 6) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  bVar1 = extraout_v1_02 < 2;\n                }\n                else {\n                  bVar1 = iVar11 < 0x80;\n                }\n                iVar4 = 1;\n                if ((bool)(bVar1 ^ 1)) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  iVar4 = *(int *)(iVar3 + 0x1c);\n                  if (iVar4 < 0) {\n                    iVar4 = iVar4 + 0x3f;\n                  }\n                  iVar4 = iVar4 >> 6;\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                  if (extraout_v1_01 < iVar4) {\n                    pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                    goto LAB_001dd7c0;\n                  }\n                }\n                else {\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                }\n              }\n              else {\n                uVar24 = (**(code **)(puVar20 + 0x1cbe04))(7);\n                if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  uVar24 = (*pcVar21)(7);\n                  if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001dd5d0;\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  iVar4 = 1;\n                }\n                else {\nLAB_001dd5d0:\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\nLAB_001dd5d4:\n                  uVar24 = (*pcVar21)(7);\n                  if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n                     (pcVar21 = *(code **)(puVar20 + 0x1cbe04), (uint)uVar24 < 2)) {\nLAB_001dd7c0:\n                    (*pcVar21)(7);\n                    iVar4 = extraout_v1_00;\n                  }\n                  else {\n                    iVar4 = 2;\n                  }\n                }\n                iVar11 = *(int *)(puVar20 + 0x1cb66c);\n              }\n              puStack_f8 = (undefined *)0x1;\n              puStack_f4 = &uStack_118;\n              puStack_110 = puVar10;\n              iStack_10c = iVar2;\n              puStack_108 = puVar15;\n              puStack_104 = puVar13;\n              iStack_100 = iVar3;\n              puStack_fc = unaff_s6;\n              (**(code **)(puVar20 + 0x1cbe60))(iVar11 + -0x43b4,&puStack_110,iVar4,0);\n              puVar15 = puStack_f8;\n              (**(code **)(puVar20 + 0x1cbbbc))(puVar13);\n              if (puVar15 == (undefined *)0x0) {\n                in_stack_00000018 = (**(code **)(puVar20 + 0x1cbc14))(iVar3);\n              }\n            }\n          }\n        }\n        unaff_s1 = puVar15;\n        unaff_s3 = iVar2;\n        unaff_s5 = puVar13;\n        if (iStack_6c == *piVar18) {\n          return in_stack_00000018;\n        }\n        goto LAB_001dd890;\n      }\n      goto LAB_001dd8c0;\n    }" if (parenthesized_expression "(puVar15 != (undefined *)0x0)" ( (binary_expression "puVar15 != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      if (*(int *)(puVar15 + 0x1c) == -0x54535255) {\n        iVar3 = (**(code **)(puVar20 + 0x1cc4f8))(puVar10,0,0,1);\n        in_stack_00000018 = iVar3;\n        if (iVar3 != 0) {\n          iVar4 = (**(code **)(puVar20 + 0x1cc4ec))(iVar3,1,puVar15);\n          if (iVar4 == 0) {\n            in_stack_00000018 = 0;\n            (**(code **)(puVar20 + 0x1cbc14))(iVar3);\n          }\n          else {\n            if (*(int *)(iVar3 + 4) == 0x21) {\nLAB_001dd4b8:\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);\nLAB_001dd4bc:\n              (*pcVar21)(iVar3,0x17,puVar15);\n            }\n            else {\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);\n              if (*(int *)(iVar3 + 4) == 3) goto LAB_001dd4bc;\n              dVar23 = *(double *)(iVar2 + 0x28) - *(double *)(iVar2 + 0x30);\n              if (dVar23 < 0.0) {\n                dVar23 = -dVar23;\n              }\n              if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) {\n                dVar23 = *(double *)(iVar2 + 0x30) - *(double *)(iVar2 + 0x38);\n                if (dVar23 < 0.0) {\n                  dVar23 = -dVar23;\n                }\n                if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) goto LAB_001dd4b8;\n              }\n            }\n            if ((*(int *)(iVar3 + 700) == 0) && (*(int *)(iVar2 + 8) != 0)) {\n              (**(code **)(puVar20 + 0x1cb940))\n                        (iVar3,*(undefined4 *)(*(int *)(puVar20 + 0x1cb5a8) + 0x1a50),puVar15);\n            }\n            if (puVar13 != (undefined *)0x0) {\n              unaff_s6 = auStack_c8;\n              (**(code **)(puVar20 + 0x1cbf7c))(iVar3,unaff_s6);\n              uVar5 = (**(code **)(puVar20 + 0x1cc11c))(puVar13,&uStack_f0);\n              uStack_80 = 0;\n              uStack_a0 = uStack_f0;\n              uStack_98 = uStack_f0;\n              uStack_90 = uStack_f0;\n              uStack_88 = uStack_f0;\n              if ((uVar5 & 8) != 0) {\n                uStack_98 = uStack_e8;\n              }\n              if ((uVar5 & 1) != 0) {\n                uStack_90 = uStack_e0;\n              }\n              if ((uVar5 & 2) == 0) {\n                pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                uVar24 = uStack_88;\n                if (iStack_c4 == 2) goto LAB_001dd6b0;\n              }\n              else {\n                uStack_80 = uStack_d8;\n                uVar24 = uStack_d8;\n                if (iStack_c4 == 2) {\nLAB_001dd6b0:\n                  uStack_88 = uVar24;\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                  if ((uVar5 & 0x10) != 0) {\n                    uStack_80 = uStack_d0;\n                  }\n                }\n                else {\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                }\n              }\n              uStack_114 = 0;\n              uStack_118 = 0;\n              puVar13 = (undefined *)(*pcVar21)(iVar3,puVar15);\n              iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3);\n              if (((iVar4 == 4) || (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3))\n                 && ((iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 4 ||\n                     (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3)))) {\n                (**(code **)(puVar20 + 0x1cbe04))(7);\n                iVar11 = *(int *)(iVar3 + 0x1c);\n                iVar4 = iVar11;\n                if (iVar11 < 0) {\n                  iVar4 = iVar11 + 0x3f;\n                }\n                if (extraout_v1 < iVar4 >> 6) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  bVar1 = extraout_v1_02 < 2;\n                }\n                else {\n                  bVar1 = iVar11 < 0x80;\n                }\n                iVar4 = 1;\n                if ((bool)(bVar1 ^ 1)) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  iVar4 = *(int *)(iVar3 + 0x1c);\n                  if (iVar4 < 0) {\n                    iVar4 = iVar4 + 0x3f;\n                  }\n                  iVar4 = iVar4 >> 6;\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                  if (extraout_v1_01 < iVar4) {\n                    pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                    goto LAB_001dd7c0;\n                  }\n                }\n                else {\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                }\n              }\n              else {\n                uVar24 = (**(code **)(puVar20 + 0x1cbe04))(7);\n                if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  uVar24 = (*pcVar21)(7);\n                  if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001dd5d0;\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  iVar4 = 1;\n                }\n                else {\nLAB_001dd5d0:\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\nLAB_001dd5d4:\n                  uVar24 = (*pcVar21)(7);\n                  if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n                     (pcVar21 = *(code **)(puVar20 + 0x1cbe04), (uint)uVar24 < 2)) {\nLAB_001dd7c0:\n                    (*pcVar21)(7);\n                    iVar4 = extraout_v1_00;\n                  }\n                  else {\n                    iVar4 = 2;\n                  }\n                }\n                iVar11 = *(int *)(puVar20 + 0x1cb66c);\n              }\n              puStack_f8 = (undefined *)0x1;\n              puStack_f4 = &uStack_118;\n              puStack_110 = puVar10;\n              iStack_10c = iVar2;\n              puStack_108 = puVar15;\n              puStack_104 = puVar13;\n              iStack_100 = iVar3;\n              puStack_fc = unaff_s6;\n              (**(code **)(puVar20 + 0x1cbe60))(iVar11 + -0x43b4,&puStack_110,iVar4,0);\n              puVar15 = puStack_f8;\n              (**(code **)(puVar20 + 0x1cbbbc))(puVar13);\n              if (puVar15 == (undefined *)0x0) {\n                in_stack_00000018 = (**(code **)(puVar20 + 0x1cbc14))(iVar3);\n              }\n            }\n          }\n        }\n        unaff_s1 = puVar15;\n        unaff_s3 = iVar2;\n        unaff_s5 = puVar13;\n        if (iStack_6c == *piVar18) {\n          return in_stack_00000018;\n        }\n        goto LAB_001dd890;\n      }\n      goto LAB_001dd8c0;\n    }" { (if_statement "if (*(int *)(puVar15 + 0x1c) == -0x54535255) {\n        iVar3 = (**(code **)(puVar20 + 0x1cc4f8))(puVar10,0,0,1);\n        in_stack_00000018 = iVar3;\n        if (iVar3 != 0) {\n          iVar4 = (**(code **)(puVar20 + 0x1cc4ec))(iVar3,1,puVar15);\n          if (iVar4 == 0) {\n            in_stack_00000018 = 0;\n            (**(code **)(puVar20 + 0x1cbc14))(iVar3);\n          }\n          else {\n            if (*(int *)(iVar3 + 4) == 0x21) {\nLAB_001dd4b8:\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);\nLAB_001dd4bc:\n              (*pcVar21)(iVar3,0x17,puVar15);\n            }\n            else {\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);\n              if (*(int *)(iVar3 + 4) == 3) goto LAB_001dd4bc;\n              dVar23 = *(double *)(iVar2 + 0x28) - *(double *)(iVar2 + 0x30);\n              if (dVar23 < 0.0) {\n                dVar23 = -dVar23;\n              }\n              if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) {\n                dVar23 = *(double *)(iVar2 + 0x30) - *(double *)(iVar2 + 0x38);\n                if (dVar23 < 0.0) {\n                  dVar23 = -dVar23;\n                }\n                if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) goto LAB_001dd4b8;\n              }\n            }\n            if ((*(int *)(iVar3 + 700) == 0) && (*(int *)(iVar2 + 8) != 0)) {\n              (**(code **)(puVar20 + 0x1cb940))\n                        (iVar3,*(undefined4 *)(*(int *)(puVar20 + 0x1cb5a8) + 0x1a50),puVar15);\n            }\n            if (puVar13 != (undefined *)0x0) {\n              unaff_s6 = auStack_c8;\n              (**(code **)(puVar20 + 0x1cbf7c))(iVar3,unaff_s6);\n              uVar5 = (**(code **)(puVar20 + 0x1cc11c))(puVar13,&uStack_f0);\n              uStack_80 = 0;\n              uStack_a0 = uStack_f0;\n              uStack_98 = uStack_f0;\n              uStack_90 = uStack_f0;\n              uStack_88 = uStack_f0;\n              if ((uVar5 & 8) != 0) {\n                uStack_98 = uStack_e8;\n              }\n              if ((uVar5 & 1) != 0) {\n                uStack_90 = uStack_e0;\n              }\n              if ((uVar5 & 2) == 0) {\n                pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                uVar24 = uStack_88;\n                if (iStack_c4 == 2) goto LAB_001dd6b0;\n              }\n              else {\n                uStack_80 = uStack_d8;\n                uVar24 = uStack_d8;\n                if (iStack_c4 == 2) {\nLAB_001dd6b0:\n                  uStack_88 = uVar24;\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                  if ((uVar5 & 0x10) != 0) {\n                    uStack_80 = uStack_d0;\n                  }\n                }\n                else {\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                }\n              }\n              uStack_114 = 0;\n              uStack_118 = 0;\n              puVar13 = (undefined *)(*pcVar21)(iVar3,puVar15);\n              iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3);\n              if (((iVar4 == 4) || (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3))\n                 && ((iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 4 ||\n                     (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3)))) {\n                (**(code **)(puVar20 + 0x1cbe04))(7);\n                iVar11 = *(int *)(iVar3 + 0x1c);\n                iVar4 = iVar11;\n                if (iVar11 < 0) {\n                  iVar4 = iVar11 + 0x3f;\n                }\n                if (extraout_v1 < iVar4 >> 6) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  bVar1 = extraout_v1_02 < 2;\n                }\n                else {\n                  bVar1 = iVar11 < 0x80;\n                }\n                iVar4 = 1;\n                if ((bool)(bVar1 ^ 1)) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  iVar4 = *(int *)(iVar3 + 0x1c);\n                  if (iVar4 < 0) {\n                    iVar4 = iVar4 + 0x3f;\n                  }\n                  iVar4 = iVar4 >> 6;\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                  if (extraout_v1_01 < iVar4) {\n                    pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                    goto LAB_001dd7c0;\n                  }\n                }\n                else {\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                }\n              }\n              else {\n                uVar24 = (**(code **)(puVar20 + 0x1cbe04))(7);\n                if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  uVar24 = (*pcVar21)(7);\n                  if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001dd5d0;\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  iVar4 = 1;\n                }\n                else {\nLAB_001dd5d0:\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\nLAB_001dd5d4:\n                  uVar24 = (*pcVar21)(7);\n                  if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n                     (pcVar21 = *(code **)(puVar20 + 0x1cbe04), (uint)uVar24 < 2)) {\nLAB_001dd7c0:\n                    (*pcVar21)(7);\n                    iVar4 = extraout_v1_00;\n                  }\n                  else {\n                    iVar4 = 2;\n                  }\n                }\n                iVar11 = *(int *)(puVar20 + 0x1cb66c);\n              }\n              puStack_f8 = (undefined *)0x1;\n              puStack_f4 = &uStack_118;\n              puStack_110 = puVar10;\n              iStack_10c = iVar2;\n              puStack_108 = puVar15;\n              puStack_104 = puVar13;\n              iStack_100 = iVar3;\n              puStack_fc = unaff_s6;\n              (**(code **)(puVar20 + 0x1cbe60))(iVar11 + -0x43b4,&puStack_110,iVar4,0);\n              puVar15 = puStack_f8;\n              (**(code **)(puVar20 + 0x1cbbbc))(puVar13);\n              if (puVar15 == (undefined *)0x0) {\n                in_stack_00000018 = (**(code **)(puVar20 + 0x1cbc14))(iVar3);\n              }\n            }\n          }\n        }\n        unaff_s1 = puVar15;\n        unaff_s3 = iVar2;\n        unaff_s5 = puVar13;\n        if (iStack_6c == *piVar18) {\n          return in_stack_00000018;\n        }\n        goto LAB_001dd890;\n      }" if (parenthesized_expression "(*(int *)(puVar15 + 0x1c) == -0x54535255)" ( (binary_expression "*(int *)(puVar15 + 0x1c) == -0x54535255" (pointer_expression "*(int *)(puVar15 + 0x1c)" * (cast_expression "(int *)(puVar15 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x1c)" ( (binary_expression "puVar15 + 0x1c" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n        iVar3 = (**(code **)(puVar20 + 0x1cc4f8))(puVar10,0,0,1);\n        in_stack_00000018 = iVar3;\n        if (iVar3 != 0) {\n          iVar4 = (**(code **)(puVar20 + 0x1cc4ec))(iVar3,1,puVar15);\n          if (iVar4 == 0) {\n            in_stack_00000018 = 0;\n            (**(code **)(puVar20 + 0x1cbc14))(iVar3);\n          }\n          else {\n            if (*(int *)(iVar3 + 4) == 0x21) {\nLAB_001dd4b8:\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);\nLAB_001dd4bc:\n              (*pcVar21)(iVar3,0x17,puVar15);\n            }\n            else {\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);\n              if (*(int *)(iVar3 + 4) == 3) goto LAB_001dd4bc;\n              dVar23 = *(double *)(iVar2 + 0x28) - *(double *)(iVar2 + 0x30);\n              if (dVar23 < 0.0) {\n                dVar23 = -dVar23;\n              }\n              if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) {\n                dVar23 = *(double *)(iVar2 + 0x30) - *(double *)(iVar2 + 0x38);\n                if (dVar23 < 0.0) {\n                  dVar23 = -dVar23;\n                }\n                if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) goto LAB_001dd4b8;\n              }\n            }\n            if ((*(int *)(iVar3 + 700) == 0) && (*(int *)(iVar2 + 8) != 0)) {\n              (**(code **)(puVar20 + 0x1cb940))\n                        (iVar3,*(undefined4 *)(*(int *)(puVar20 + 0x1cb5a8) + 0x1a50),puVar15);\n            }\n            if (puVar13 != (undefined *)0x0) {\n              unaff_s6 = auStack_c8;\n              (**(code **)(puVar20 + 0x1cbf7c))(iVar3,unaff_s6);\n              uVar5 = (**(code **)(puVar20 + 0x1cc11c))(puVar13,&uStack_f0);\n              uStack_80 = 0;\n              uStack_a0 = uStack_f0;\n              uStack_98 = uStack_f0;\n              uStack_90 = uStack_f0;\n              uStack_88 = uStack_f0;\n              if ((uVar5 & 8) != 0) {\n                uStack_98 = uStack_e8;\n              }\n              if ((uVar5 & 1) != 0) {\n                uStack_90 = uStack_e0;\n              }\n              if ((uVar5 & 2) == 0) {\n                pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                uVar24 = uStack_88;\n                if (iStack_c4 == 2) goto LAB_001dd6b0;\n              }\n              else {\n                uStack_80 = uStack_d8;\n                uVar24 = uStack_d8;\n                if (iStack_c4 == 2) {\nLAB_001dd6b0:\n                  uStack_88 = uVar24;\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                  if ((uVar5 & 0x10) != 0) {\n                    uStack_80 = uStack_d0;\n                  }\n                }\n                else {\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                }\n              }\n              uStack_114 = 0;\n              uStack_118 = 0;\n              puVar13 = (undefined *)(*pcVar21)(iVar3,puVar15);\n              iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3);\n              if (((iVar4 == 4) || (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3))\n                 && ((iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 4 ||\n                     (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3)))) {\n                (**(code **)(puVar20 + 0x1cbe04))(7);\n                iVar11 = *(int *)(iVar3 + 0x1c);\n                iVar4 = iVar11;\n                if (iVar11 < 0) {\n                  iVar4 = iVar11 + 0x3f;\n                }\n                if (extraout_v1 < iVar4 >> 6) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  bVar1 = extraout_v1_02 < 2;\n                }\n                else {\n                  bVar1 = iVar11 < 0x80;\n                }\n                iVar4 = 1;\n                if ((bool)(bVar1 ^ 1)) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  iVar4 = *(int *)(iVar3 + 0x1c);\n                  if (iVar4 < 0) {\n                    iVar4 = iVar4 + 0x3f;\n                  }\n                  iVar4 = iVar4 >> 6;\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                  if (extraout_v1_01 < iVar4) {\n                    pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                    goto LAB_001dd7c0;\n                  }\n                }\n                else {\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                }\n              }\n              else {\n                uVar24 = (**(code **)(puVar20 + 0x1cbe04))(7);\n                if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  uVar24 = (*pcVar21)(7);\n                  if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001dd5d0;\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  iVar4 = 1;\n                }\n                else {\nLAB_001dd5d0:\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\nLAB_001dd5d4:\n                  uVar24 = (*pcVar21)(7);\n                  if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n                     (pcVar21 = *(code **)(puVar20 + 0x1cbe04), (uint)uVar24 < 2)) {\nLAB_001dd7c0:\n                    (*pcVar21)(7);\n                    iVar4 = extraout_v1_00;\n                  }\n                  else {\n                    iVar4 = 2;\n                  }\n                }\n                iVar11 = *(int *)(puVar20 + 0x1cb66c);\n              }\n              puStack_f8 = (undefined *)0x1;\n              puStack_f4 = &uStack_118;\n              puStack_110 = puVar10;\n              iStack_10c = iVar2;\n              puStack_108 = puVar15;\n              puStack_104 = puVar13;\n              iStack_100 = iVar3;\n              puStack_fc = unaff_s6;\n              (**(code **)(puVar20 + 0x1cbe60))(iVar11 + -0x43b4,&puStack_110,iVar4,0);\n              puVar15 = puStack_f8;\n              (**(code **)(puVar20 + 0x1cbbbc))(puVar13);\n              if (puVar15 == (undefined *)0x0) {\n                in_stack_00000018 = (**(code **)(puVar20 + 0x1cbc14))(iVar3);\n              }\n            }\n          }\n        }\n        unaff_s1 = puVar15;\n        unaff_s3 = iVar2;\n        unaff_s5 = puVar13;\n        if (iStack_6c == *piVar18) {\n          return in_stack_00000018;\n        }\n        goto LAB_001dd890;\n      }" { (expression_statement "iVar3 = (**(code **)(puVar20 + 0x1cc4f8))(puVar10,0,0,1);" (assignment_expression "iVar3 = (**(code **)(puVar20 + 0x1cc4f8))(puVar10,0,0,1)" identifier = (call_expression "(**(code **)(puVar20 + 0x1cc4f8))(puVar10,0,0,1)" (parenthesized_expression "(**(code **)(puVar20 + 0x1cc4f8))" ( (pointer_expression "**(code **)(puVar20 + 0x1cc4f8)" * (pointer_expression "*(code **)(puVar20 + 0x1cc4f8)" * (cast_expression "(code **)(puVar20 + 0x1cc4f8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x1cc4f8)" ( (binary_expression "puVar20 + 0x1cc4f8" identifier + number_literal) ))))) )) (argument_list "(puVar10,0,0,1)" ( identifier , number_literal , number_literal , number_literal )))) ;) (expression_statement "in_stack_00000018 = iVar3;" (assignment_expression "in_stack_00000018 = iVar3" identifier = identifier) ;) (if_statement "if (iVar3 != 0) {\n          iVar4 = (**(code **)(puVar20 + 0x1cc4ec))(iVar3,1,puVar15);\n          if (iVar4 == 0) {\n            in_stack_00000018 = 0;\n            (**(code **)(puVar20 + 0x1cbc14))(iVar3);\n          }\n          else {\n            if (*(int *)(iVar3 + 4) == 0x21) {\nLAB_001dd4b8:\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);\nLAB_001dd4bc:\n              (*pcVar21)(iVar3,0x17,puVar15);\n            }\n            else {\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);\n              if (*(int *)(iVar3 + 4) == 3) goto LAB_001dd4bc;\n              dVar23 = *(double *)(iVar2 + 0x28) - *(double *)(iVar2 + 0x30);\n              if (dVar23 < 0.0) {\n                dVar23 = -dVar23;\n              }\n              if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) {\n                dVar23 = *(double *)(iVar2 + 0x30) - *(double *)(iVar2 + 0x38);\n                if (dVar23 < 0.0) {\n                  dVar23 = -dVar23;\n                }\n                if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) goto LAB_001dd4b8;\n              }\n            }\n            if ((*(int *)(iVar3 + 700) == 0) && (*(int *)(iVar2 + 8) != 0)) {\n              (**(code **)(puVar20 + 0x1cb940))\n                        (iVar3,*(undefined4 *)(*(int *)(puVar20 + 0x1cb5a8) + 0x1a50),puVar15);\n            }\n            if (puVar13 != (undefined *)0x0) {\n              unaff_s6 = auStack_c8;\n              (**(code **)(puVar20 + 0x1cbf7c))(iVar3,unaff_s6);\n              uVar5 = (**(code **)(puVar20 + 0x1cc11c))(puVar13,&uStack_f0);\n              uStack_80 = 0;\n              uStack_a0 = uStack_f0;\n              uStack_98 = uStack_f0;\n              uStack_90 = uStack_f0;\n              uStack_88 = uStack_f0;\n              if ((uVar5 & 8) != 0) {\n                uStack_98 = uStack_e8;\n              }\n              if ((uVar5 & 1) != 0) {\n                uStack_90 = uStack_e0;\n              }\n              if ((uVar5 & 2) == 0) {\n                pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                uVar24 = uStack_88;\n                if (iStack_c4 == 2) goto LAB_001dd6b0;\n              }\n              else {\n                uStack_80 = uStack_d8;\n                uVar24 = uStack_d8;\n                if (iStack_c4 == 2) {\nLAB_001dd6b0:\n                  uStack_88 = uVar24;\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                  if ((uVar5 & 0x10) != 0) {\n                    uStack_80 = uStack_d0;\n                  }\n                }\n                else {\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                }\n              }\n              uStack_114 = 0;\n              uStack_118 = 0;\n              puVar13 = (undefined *)(*pcVar21)(iVar3,puVar15);\n              iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3);\n              if (((iVar4 == 4) || (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3))\n                 && ((iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 4 ||\n                     (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3)))) {\n                (**(code **)(puVar20 + 0x1cbe04))(7);\n                iVar11 = *(int *)(iVar3 + 0x1c);\n                iVar4 = iVar11;\n                if (iVar11 < 0) {\n                  iVar4 = iVar11 + 0x3f;\n                }\n                if (extraout_v1 < iVar4 >> 6) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  bVar1 = extraout_v1_02 < 2;\n                }\n                else {\n                  bVar1 = iVar11 < 0x80;\n                }\n                iVar4 = 1;\n                if ((bool)(bVar1 ^ 1)) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  iVar4 = *(int *)(iVar3 + 0x1c);\n                  if (iVar4 < 0) {\n                    iVar4 = iVar4 + 0x3f;\n                  }\n                  iVar4 = iVar4 >> 6;\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                  if (extraout_v1_01 < iVar4) {\n                    pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                    goto LAB_001dd7c0;\n                  }\n                }\n                else {\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                }\n              }\n              else {\n                uVar24 = (**(code **)(puVar20 + 0x1cbe04))(7);\n                if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  uVar24 = (*pcVar21)(7);\n                  if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001dd5d0;\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  iVar4 = 1;\n                }\n                else {\nLAB_001dd5d0:\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\nLAB_001dd5d4:\n                  uVar24 = (*pcVar21)(7);\n                  if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n                     (pcVar21 = *(code **)(puVar20 + 0x1cbe04), (uint)uVar24 < 2)) {\nLAB_001dd7c0:\n                    (*pcVar21)(7);\n                    iVar4 = extraout_v1_00;\n                  }\n                  else {\n                    iVar4 = 2;\n                  }\n                }\n                iVar11 = *(int *)(puVar20 + 0x1cb66c);\n              }\n              puStack_f8 = (undefined *)0x1;\n              puStack_f4 = &uStack_118;\n              puStack_110 = puVar10;\n              iStack_10c = iVar2;\n              puStack_108 = puVar15;\n              puStack_104 = puVar13;\n              iStack_100 = iVar3;\n              puStack_fc = unaff_s6;\n              (**(code **)(puVar20 + 0x1cbe60))(iVar11 + -0x43b4,&puStack_110,iVar4,0);\n              puVar15 = puStack_f8;\n              (**(code **)(puVar20 + 0x1cbbbc))(puVar13);\n              if (puVar15 == (undefined *)0x0) {\n                in_stack_00000018 = (**(code **)(puVar20 + 0x1cbc14))(iVar3);\n              }\n            }\n          }\n        }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n          iVar4 = (**(code **)(puVar20 + 0x1cc4ec))(iVar3,1,puVar15);\n          if (iVar4 == 0) {\n            in_stack_00000018 = 0;\n            (**(code **)(puVar20 + 0x1cbc14))(iVar3);\n          }\n          else {\n            if (*(int *)(iVar3 + 4) == 0x21) {\nLAB_001dd4b8:\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);\nLAB_001dd4bc:\n              (*pcVar21)(iVar3,0x17,puVar15);\n            }\n            else {\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);\n              if (*(int *)(iVar3 + 4) == 3) goto LAB_001dd4bc;\n              dVar23 = *(double *)(iVar2 + 0x28) - *(double *)(iVar2 + 0x30);\n              if (dVar23 < 0.0) {\n                dVar23 = -dVar23;\n              }\n              if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) {\n                dVar23 = *(double *)(iVar2 + 0x30) - *(double *)(iVar2 + 0x38);\n                if (dVar23 < 0.0) {\n                  dVar23 = -dVar23;\n                }\n                if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) goto LAB_001dd4b8;\n              }\n            }\n            if ((*(int *)(iVar3 + 700) == 0) && (*(int *)(iVar2 + 8) != 0)) {\n              (**(code **)(puVar20 + 0x1cb940))\n                        (iVar3,*(undefined4 *)(*(int *)(puVar20 + 0x1cb5a8) + 0x1a50),puVar15);\n            }\n            if (puVar13 != (undefined *)0x0) {\n              unaff_s6 = auStack_c8;\n              (**(code **)(puVar20 + 0x1cbf7c))(iVar3,unaff_s6);\n              uVar5 = (**(code **)(puVar20 + 0x1cc11c))(puVar13,&uStack_f0);\n              uStack_80 = 0;\n              uStack_a0 = uStack_f0;\n              uStack_98 = uStack_f0;\n              uStack_90 = uStack_f0;\n              uStack_88 = uStack_f0;\n              if ((uVar5 & 8) != 0) {\n                uStack_98 = uStack_e8;\n              }\n              if ((uVar5 & 1) != 0) {\n                uStack_90 = uStack_e0;\n              }\n              if ((uVar5 & 2) == 0) {\n                pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                uVar24 = uStack_88;\n                if (iStack_c4 == 2) goto LAB_001dd6b0;\n              }\n              else {\n                uStack_80 = uStack_d8;\n                uVar24 = uStack_d8;\n                if (iStack_c4 == 2) {\nLAB_001dd6b0:\n                  uStack_88 = uVar24;\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                  if ((uVar5 & 0x10) != 0) {\n                    uStack_80 = uStack_d0;\n                  }\n                }\n                else {\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                }\n              }\n              uStack_114 = 0;\n              uStack_118 = 0;\n              puVar13 = (undefined *)(*pcVar21)(iVar3,puVar15);\n              iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3);\n              if (((iVar4 == 4) || (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3))\n                 && ((iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 4 ||\n                     (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3)))) {\n                (**(code **)(puVar20 + 0x1cbe04))(7);\n                iVar11 = *(int *)(iVar3 + 0x1c);\n                iVar4 = iVar11;\n                if (iVar11 < 0) {\n                  iVar4 = iVar11 + 0x3f;\n                }\n                if (extraout_v1 < iVar4 >> 6) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  bVar1 = extraout_v1_02 < 2;\n                }\n                else {\n                  bVar1 = iVar11 < 0x80;\n                }\n                iVar4 = 1;\n                if ((bool)(bVar1 ^ 1)) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  iVar4 = *(int *)(iVar3 + 0x1c);\n                  if (iVar4 < 0) {\n                    iVar4 = iVar4 + 0x3f;\n                  }\n                  iVar4 = iVar4 >> 6;\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                  if (extraout_v1_01 < iVar4) {\n                    pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                    goto LAB_001dd7c0;\n                  }\n                }\n                else {\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                }\n              }\n              else {\n                uVar24 = (**(code **)(puVar20 + 0x1cbe04))(7);\n                if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  uVar24 = (*pcVar21)(7);\n                  if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001dd5d0;\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  iVar4 = 1;\n                }\n                else {\nLAB_001dd5d0:\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\nLAB_001dd5d4:\n                  uVar24 = (*pcVar21)(7);\n                  if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n                     (pcVar21 = *(code **)(puVar20 + 0x1cbe04), (uint)uVar24 < 2)) {\nLAB_001dd7c0:\n                    (*pcVar21)(7);\n                    iVar4 = extraout_v1_00;\n                  }\n                  else {\n                    iVar4 = 2;\n                  }\n                }\n                iVar11 = *(int *)(puVar20 + 0x1cb66c);\n              }\n              puStack_f8 = (undefined *)0x1;\n              puStack_f4 = &uStack_118;\n              puStack_110 = puVar10;\n              iStack_10c = iVar2;\n              puStack_108 = puVar15;\n              puStack_104 = puVar13;\n              iStack_100 = iVar3;\n              puStack_fc = unaff_s6;\n              (**(code **)(puVar20 + 0x1cbe60))(iVar11 + -0x43b4,&puStack_110,iVar4,0);\n              puVar15 = puStack_f8;\n              (**(code **)(puVar20 + 0x1cbbbc))(puVar13);\n              if (puVar15 == (undefined *)0x0) {\n                in_stack_00000018 = (**(code **)(puVar20 + 0x1cbc14))(iVar3);\n              }\n            }\n          }\n        }" { (expression_statement "iVar4 = (**(code **)(puVar20 + 0x1cc4ec))(iVar3,1,puVar15);" (assignment_expression "iVar4 = (**(code **)(puVar20 + 0x1cc4ec))(iVar3,1,puVar15)" identifier = (call_expression "(**(code **)(puVar20 + 0x1cc4ec))(iVar3,1,puVar15)" (parenthesized_expression "(**(code **)(puVar20 + 0x1cc4ec))" ( (pointer_expression "**(code **)(puVar20 + 0x1cc4ec)" * (pointer_expression "*(code **)(puVar20 + 0x1cc4ec)" * (cast_expression "(code **)(puVar20 + 0x1cc4ec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x1cc4ec)" ( (binary_expression "puVar20 + 0x1cc4ec" identifier + number_literal) ))))) )) (argument_list "(iVar3,1,puVar15)" ( identifier , number_literal , identifier )))) ;) (if_statement "if (iVar4 == 0) {\n            in_stack_00000018 = 0;\n            (**(code **)(puVar20 + 0x1cbc14))(iVar3);\n          }\n          else {\n            if (*(int *)(iVar3 + 4) == 0x21) {\nLAB_001dd4b8:\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);\nLAB_001dd4bc:\n              (*pcVar21)(iVar3,0x17,puVar15);\n            }\n            else {\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);\n              if (*(int *)(iVar3 + 4) == 3) goto LAB_001dd4bc;\n              dVar23 = *(double *)(iVar2 + 0x28) - *(double *)(iVar2 + 0x30);\n              if (dVar23 < 0.0) {\n                dVar23 = -dVar23;\n              }\n              if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) {\n                dVar23 = *(double *)(iVar2 + 0x30) - *(double *)(iVar2 + 0x38);\n                if (dVar23 < 0.0) {\n                  dVar23 = -dVar23;\n                }\n                if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) goto LAB_001dd4b8;\n              }\n            }\n            if ((*(int *)(iVar3 + 700) == 0) && (*(int *)(iVar2 + 8) != 0)) {\n              (**(code **)(puVar20 + 0x1cb940))\n                        (iVar3,*(undefined4 *)(*(int *)(puVar20 + 0x1cb5a8) + 0x1a50),puVar15);\n            }\n            if (puVar13 != (undefined *)0x0) {\n              unaff_s6 = auStack_c8;\n              (**(code **)(puVar20 + 0x1cbf7c))(iVar3,unaff_s6);\n              uVar5 = (**(code **)(puVar20 + 0x1cc11c))(puVar13,&uStack_f0);\n              uStack_80 = 0;\n              uStack_a0 = uStack_f0;\n              uStack_98 = uStack_f0;\n              uStack_90 = uStack_f0;\n              uStack_88 = uStack_f0;\n              if ((uVar5 & 8) != 0) {\n                uStack_98 = uStack_e8;\n              }\n              if ((uVar5 & 1) != 0) {\n                uStack_90 = uStack_e0;\n              }\n              if ((uVar5 & 2) == 0) {\n                pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                uVar24 = uStack_88;\n                if (iStack_c4 == 2) goto LAB_001dd6b0;\n              }\n              else {\n                uStack_80 = uStack_d8;\n                uVar24 = uStack_d8;\n                if (iStack_c4 == 2) {\nLAB_001dd6b0:\n                  uStack_88 = uVar24;\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                  if ((uVar5 & 0x10) != 0) {\n                    uStack_80 = uStack_d0;\n                  }\n                }\n                else {\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                }\n              }\n              uStack_114 = 0;\n              uStack_118 = 0;\n              puVar13 = (undefined *)(*pcVar21)(iVar3,puVar15);\n              iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3);\n              if (((iVar4 == 4) || (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3))\n                 && ((iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 4 ||\n                     (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3)))) {\n                (**(code **)(puVar20 + 0x1cbe04))(7);\n                iVar11 = *(int *)(iVar3 + 0x1c);\n                iVar4 = iVar11;\n                if (iVar11 < 0) {\n                  iVar4 = iVar11 + 0x3f;\n                }\n                if (extraout_v1 < iVar4 >> 6) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  bVar1 = extraout_v1_02 < 2;\n                }\n                else {\n                  bVar1 = iVar11 < 0x80;\n                }\n                iVar4 = 1;\n                if ((bool)(bVar1 ^ 1)) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  iVar4 = *(int *)(iVar3 + 0x1c);\n                  if (iVar4 < 0) {\n                    iVar4 = iVar4 + 0x3f;\n                  }\n                  iVar4 = iVar4 >> 6;\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                  if (extraout_v1_01 < iVar4) {\n                    pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                    goto LAB_001dd7c0;\n                  }\n                }\n                else {\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                }\n              }\n              else {\n                uVar24 = (**(code **)(puVar20 + 0x1cbe04))(7);\n                if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  uVar24 = (*pcVar21)(7);\n                  if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001dd5d0;\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  iVar4 = 1;\n                }\n                else {\nLAB_001dd5d0:\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\nLAB_001dd5d4:\n                  uVar24 = (*pcVar21)(7);\n                  if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n                     (pcVar21 = *(code **)(puVar20 + 0x1cbe04), (uint)uVar24 < 2)) {\nLAB_001dd7c0:\n                    (*pcVar21)(7);\n                    iVar4 = extraout_v1_00;\n                  }\n                  else {\n                    iVar4 = 2;\n                  }\n                }\n                iVar11 = *(int *)(puVar20 + 0x1cb66c);\n              }\n              puStack_f8 = (undefined *)0x1;\n              puStack_f4 = &uStack_118;\n              puStack_110 = puVar10;\n              iStack_10c = iVar2;\n              puStack_108 = puVar15;\n              puStack_104 = puVar13;\n              iStack_100 = iVar3;\n              puStack_fc = unaff_s6;\n              (**(code **)(puVar20 + 0x1cbe60))(iVar11 + -0x43b4,&puStack_110,iVar4,0);\n              puVar15 = puStack_f8;\n              (**(code **)(puVar20 + 0x1cbbbc))(puVar13);\n              if (puVar15 == (undefined *)0x0) {\n                in_stack_00000018 = (**(code **)(puVar20 + 0x1cbc14))(iVar3);\n              }\n            }\n          }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n            in_stack_00000018 = 0;\n            (**(code **)(puVar20 + 0x1cbc14))(iVar3);\n          }" { (expression_statement "in_stack_00000018 = 0;" (assignment_expression "in_stack_00000018 = 0" identifier = number_literal) ;) (expression_statement "(**(code **)(puVar20 + 0x1cbc14))(iVar3);" (call_expression "(**(code **)(puVar20 + 0x1cbc14))(iVar3)" (parenthesized_expression "(**(code **)(puVar20 + 0x1cbc14))" ( (pointer_expression "**(code **)(puVar20 + 0x1cbc14)" * (pointer_expression "*(code **)(puVar20 + 0x1cbc14)" * (cast_expression "(code **)(puVar20 + 0x1cbc14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x1cbc14)" ( (binary_expression "puVar20 + 0x1cbc14" identifier + number_literal) ))))) )) (argument_list "(iVar3)" ( identifier ))) ;) }) (else_clause "else {\n            if (*(int *)(iVar3 + 4) == 0x21) {\nLAB_001dd4b8:\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);\nLAB_001dd4bc:\n              (*pcVar21)(iVar3,0x17,puVar15);\n            }\n            else {\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);\n              if (*(int *)(iVar3 + 4) == 3) goto LAB_001dd4bc;\n              dVar23 = *(double *)(iVar2 + 0x28) - *(double *)(iVar2 + 0x30);\n              if (dVar23 < 0.0) {\n                dVar23 = -dVar23;\n              }\n              if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) {\n                dVar23 = *(double *)(iVar2 + 0x30) - *(double *)(iVar2 + 0x38);\n                if (dVar23 < 0.0) {\n                  dVar23 = -dVar23;\n                }\n                if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) goto LAB_001dd4b8;\n              }\n            }\n            if ((*(int *)(iVar3 + 700) == 0) && (*(int *)(iVar2 + 8) != 0)) {\n              (**(code **)(puVar20 + 0x1cb940))\n                        (iVar3,*(undefined4 *)(*(int *)(puVar20 + 0x1cb5a8) + 0x1a50),puVar15);\n            }\n            if (puVar13 != (undefined *)0x0) {\n              unaff_s6 = auStack_c8;\n              (**(code **)(puVar20 + 0x1cbf7c))(iVar3,unaff_s6);\n              uVar5 = (**(code **)(puVar20 + 0x1cc11c))(puVar13,&uStack_f0);\n              uStack_80 = 0;\n              uStack_a0 = uStack_f0;\n              uStack_98 = uStack_f0;\n              uStack_90 = uStack_f0;\n              uStack_88 = uStack_f0;\n              if ((uVar5 & 8) != 0) {\n                uStack_98 = uStack_e8;\n              }\n              if ((uVar5 & 1) != 0) {\n                uStack_90 = uStack_e0;\n              }\n              if ((uVar5 & 2) == 0) {\n                pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                uVar24 = uStack_88;\n                if (iStack_c4 == 2) goto LAB_001dd6b0;\n              }\n              else {\n                uStack_80 = uStack_d8;\n                uVar24 = uStack_d8;\n                if (iStack_c4 == 2) {\nLAB_001dd6b0:\n                  uStack_88 = uVar24;\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                  if ((uVar5 & 0x10) != 0) {\n                    uStack_80 = uStack_d0;\n                  }\n                }\n                else {\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                }\n              }\n              uStack_114 = 0;\n              uStack_118 = 0;\n              puVar13 = (undefined *)(*pcVar21)(iVar3,puVar15);\n              iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3);\n              if (((iVar4 == 4) || (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3))\n                 && ((iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 4 ||\n                     (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3)))) {\n                (**(code **)(puVar20 + 0x1cbe04))(7);\n                iVar11 = *(int *)(iVar3 + 0x1c);\n                iVar4 = iVar11;\n                if (iVar11 < 0) {\n                  iVar4 = iVar11 + 0x3f;\n                }\n                if (extraout_v1 < iVar4 >> 6) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  bVar1 = extraout_v1_02 < 2;\n                }\n                else {\n                  bVar1 = iVar11 < 0x80;\n                }\n                iVar4 = 1;\n                if ((bool)(bVar1 ^ 1)) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  iVar4 = *(int *)(iVar3 + 0x1c);\n                  if (iVar4 < 0) {\n                    iVar4 = iVar4 + 0x3f;\n                  }\n                  iVar4 = iVar4 >> 6;\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                  if (extraout_v1_01 < iVar4) {\n                    pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                    goto LAB_001dd7c0;\n                  }\n                }\n                else {\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                }\n              }\n              else {\n                uVar24 = (**(code **)(puVar20 + 0x1cbe04))(7);\n                if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  uVar24 = (*pcVar21)(7);\n                  if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001dd5d0;\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  iVar4 = 1;\n                }\n                else {\nLAB_001dd5d0:\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\nLAB_001dd5d4:\n                  uVar24 = (*pcVar21)(7);\n                  if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n                     (pcVar21 = *(code **)(puVar20 + 0x1cbe04), (uint)uVar24 < 2)) {\nLAB_001dd7c0:\n                    (*pcVar21)(7);\n                    iVar4 = extraout_v1_00;\n                  }\n                  else {\n                    iVar4 = 2;\n                  }\n                }\n                iVar11 = *(int *)(puVar20 + 0x1cb66c);\n              }\n              puStack_f8 = (undefined *)0x1;\n              puStack_f4 = &uStack_118;\n              puStack_110 = puVar10;\n              iStack_10c = iVar2;\n              puStack_108 = puVar15;\n              puStack_104 = puVar13;\n              iStack_100 = iVar3;\n              puStack_fc = unaff_s6;\n              (**(code **)(puVar20 + 0x1cbe60))(iVar11 + -0x43b4,&puStack_110,iVar4,0);\n              puVar15 = puStack_f8;\n              (**(code **)(puVar20 + 0x1cbbbc))(puVar13);\n              if (puVar15 == (undefined *)0x0) {\n                in_stack_00000018 = (**(code **)(puVar20 + 0x1cbc14))(iVar3);\n              }\n            }\n          }" else (compound_statement "{\n            if (*(int *)(iVar3 + 4) == 0x21) {\nLAB_001dd4b8:\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);\nLAB_001dd4bc:\n              (*pcVar21)(iVar3,0x17,puVar15);\n            }\n            else {\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);\n              if (*(int *)(iVar3 + 4) == 3) goto LAB_001dd4bc;\n              dVar23 = *(double *)(iVar2 + 0x28) - *(double *)(iVar2 + 0x30);\n              if (dVar23 < 0.0) {\n                dVar23 = -dVar23;\n              }\n              if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) {\n                dVar23 = *(double *)(iVar2 + 0x30) - *(double *)(iVar2 + 0x38);\n                if (dVar23 < 0.0) {\n                  dVar23 = -dVar23;\n                }\n                if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) goto LAB_001dd4b8;\n              }\n            }\n            if ((*(int *)(iVar3 + 700) == 0) && (*(int *)(iVar2 + 8) != 0)) {\n              (**(code **)(puVar20 + 0x1cb940))\n                        (iVar3,*(undefined4 *)(*(int *)(puVar20 + 0x1cb5a8) + 0x1a50),puVar15);\n            }\n            if (puVar13 != (undefined *)0x0) {\n              unaff_s6 = auStack_c8;\n              (**(code **)(puVar20 + 0x1cbf7c))(iVar3,unaff_s6);\n              uVar5 = (**(code **)(puVar20 + 0x1cc11c))(puVar13,&uStack_f0);\n              uStack_80 = 0;\n              uStack_a0 = uStack_f0;\n              uStack_98 = uStack_f0;\n              uStack_90 = uStack_f0;\n              uStack_88 = uStack_f0;\n              if ((uVar5 & 8) != 0) {\n                uStack_98 = uStack_e8;\n              }\n              if ((uVar5 & 1) != 0) {\n                uStack_90 = uStack_e0;\n              }\n              if ((uVar5 & 2) == 0) {\n                pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                uVar24 = uStack_88;\n                if (iStack_c4 == 2) goto LAB_001dd6b0;\n              }\n              else {\n                uStack_80 = uStack_d8;\n                uVar24 = uStack_d8;\n                if (iStack_c4 == 2) {\nLAB_001dd6b0:\n                  uStack_88 = uVar24;\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                  if ((uVar5 & 0x10) != 0) {\n                    uStack_80 = uStack_d0;\n                  }\n                }\n                else {\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                }\n              }\n              uStack_114 = 0;\n              uStack_118 = 0;\n              puVar13 = (undefined *)(*pcVar21)(iVar3,puVar15);\n              iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3);\n              if (((iVar4 == 4) || (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3))\n                 && ((iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 4 ||\n                     (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3)))) {\n                (**(code **)(puVar20 + 0x1cbe04))(7);\n                iVar11 = *(int *)(iVar3 + 0x1c);\n                iVar4 = iVar11;\n                if (iVar11 < 0) {\n                  iVar4 = iVar11 + 0x3f;\n                }\n                if (extraout_v1 < iVar4 >> 6) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  bVar1 = extraout_v1_02 < 2;\n                }\n                else {\n                  bVar1 = iVar11 < 0x80;\n                }\n                iVar4 = 1;\n                if ((bool)(bVar1 ^ 1)) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  iVar4 = *(int *)(iVar3 + 0x1c);\n                  if (iVar4 < 0) {\n                    iVar4 = iVar4 + 0x3f;\n                  }\n                  iVar4 = iVar4 >> 6;\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                  if (extraout_v1_01 < iVar4) {\n                    pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                    goto LAB_001dd7c0;\n                  }\n                }\n                else {\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                }\n              }\n              else {\n                uVar24 = (**(code **)(puVar20 + 0x1cbe04))(7);\n                if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  uVar24 = (*pcVar21)(7);\n                  if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001dd5d0;\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  iVar4 = 1;\n                }\n                else {\nLAB_001dd5d0:\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\nLAB_001dd5d4:\n                  uVar24 = (*pcVar21)(7);\n                  if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n                     (pcVar21 = *(code **)(puVar20 + 0x1cbe04), (uint)uVar24 < 2)) {\nLAB_001dd7c0:\n                    (*pcVar21)(7);\n                    iVar4 = extraout_v1_00;\n                  }\n                  else {\n                    iVar4 = 2;\n                  }\n                }\n                iVar11 = *(int *)(puVar20 + 0x1cb66c);\n              }\n              puStack_f8 = (undefined *)0x1;\n              puStack_f4 = &uStack_118;\n              puStack_110 = puVar10;\n              iStack_10c = iVar2;\n              puStack_108 = puVar15;\n              puStack_104 = puVar13;\n              iStack_100 = iVar3;\n              puStack_fc = unaff_s6;\n              (**(code **)(puVar20 + 0x1cbe60))(iVar11 + -0x43b4,&puStack_110,iVar4,0);\n              puVar15 = puStack_f8;\n              (**(code **)(puVar20 + 0x1cbbbc))(puVar13);\n              if (puVar15 == (undefined *)0x0) {\n                in_stack_00000018 = (**(code **)(puVar20 + 0x1cbc14))(iVar3);\n              }\n            }\n          }" { (if_statement "if (*(int *)(iVar3 + 4) == 0x21) {\nLAB_001dd4b8:\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);\nLAB_001dd4bc:\n              (*pcVar21)(iVar3,0x17,puVar15);\n            }\n            else {\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);\n              if (*(int *)(iVar3 + 4) == 3) goto LAB_001dd4bc;\n              dVar23 = *(double *)(iVar2 + 0x28) - *(double *)(iVar2 + 0x30);\n              if (dVar23 < 0.0) {\n                dVar23 = -dVar23;\n              }\n              if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) {\n                dVar23 = *(double *)(iVar2 + 0x30) - *(double *)(iVar2 + 0x38);\n                if (dVar23 < 0.0) {\n                  dVar23 = -dVar23;\n                }\n                if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) goto LAB_001dd4b8;\n              }\n            }" if (parenthesized_expression "(*(int *)(iVar3 + 4) == 0x21)" ( (binary_expression "*(int *)(iVar3 + 4) == 0x21" (pointer_expression "*(int *)(iVar3 + 4)" * (cast_expression "(int *)(iVar3 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 4)" ( (binary_expression "iVar3 + 4" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\nLAB_001dd4b8:\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);\nLAB_001dd4bc:\n              (*pcVar21)(iVar3,0x17,puVar15);\n            }" { (labeled_statement "LAB_001dd4b8:\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);" statement_identifier : (expression_statement "pcVar21 = *(code **)(puVar20 + 0x1cba08);" (assignment_expression "pcVar21 = *(code **)(puVar20 + 0x1cba08)" identifier = (pointer_expression "*(code **)(puVar20 + 0x1cba08)" * (cast_expression "(code **)(puVar20 + 0x1cba08)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x1cba08)" ( (binary_expression "puVar20 + 0x1cba08" identifier + number_literal) ))))) ;)) (labeled_statement "LAB_001dd4bc:\n              (*pcVar21)(iVar3,0x17,puVar15);" statement_identifier : (expression_statement "(*pcVar21)(iVar3,0x17,puVar15);" (call_expression "(*pcVar21)(iVar3,0x17,puVar15)" (parenthesized_expression "(*pcVar21)" ( (pointer_expression "*pcVar21" * identifier) )) (argument_list "(iVar3,0x17,puVar15)" ( identifier , number_literal , identifier ))) ;)) }) (else_clause "else {\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);\n              if (*(int *)(iVar3 + 4) == 3) goto LAB_001dd4bc;\n              dVar23 = *(double *)(iVar2 + 0x28) - *(double *)(iVar2 + 0x30);\n              if (dVar23 < 0.0) {\n                dVar23 = -dVar23;\n              }\n              if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) {\n                dVar23 = *(double *)(iVar2 + 0x30) - *(double *)(iVar2 + 0x38);\n                if (dVar23 < 0.0) {\n                  dVar23 = -dVar23;\n                }\n                if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) goto LAB_001dd4b8;\n              }\n            }" else (compound_statement "{\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);\n              if (*(int *)(iVar3 + 4) == 3) goto LAB_001dd4bc;\n              dVar23 = *(double *)(iVar2 + 0x28) - *(double *)(iVar2 + 0x30);\n              if (dVar23 < 0.0) {\n                dVar23 = -dVar23;\n              }\n              if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) {\n                dVar23 = *(double *)(iVar2 + 0x30) - *(double *)(iVar2 + 0x38);\n                if (dVar23 < 0.0) {\n                  dVar23 = -dVar23;\n                }\n                if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) goto LAB_001dd4b8;\n              }\n            }" { (expression_statement "pcVar21 = *(code **)(puVar20 + 0x1cba08);" (assignment_expression "pcVar21 = *(code **)(puVar20 + 0x1cba08)" identifier = (pointer_expression "*(code **)(puVar20 + 0x1cba08)" * (cast_expression "(code **)(puVar20 + 0x1cba08)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x1cba08)" ( (binary_expression "puVar20 + 0x1cba08" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(iVar3 + 4) == 3) goto LAB_001dd4bc;" if (parenthesized_expression "(*(int *)(iVar3 + 4) == 3)" ( (binary_expression "*(int *)(iVar3 + 4) == 3" (pointer_expression "*(int *)(iVar3 + 4)" * (cast_expression "(int *)(iVar3 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 4)" ( (binary_expression "iVar3 + 4" identifier + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_001dd4bc;" goto statement_identifier ;)) (expression_statement "dVar23 = *(double *)(iVar2 + 0x28) - *(double *)(iVar2 + 0x30);" (assignment_expression "dVar23 = *(double *)(iVar2 + 0x28) - *(double *)(iVar2 + 0x30)" identifier = (binary_expression "*(double *)(iVar2 + 0x28) - *(double *)(iVar2 + 0x30)" (pointer_expression "*(double *)(iVar2 + 0x28)" * (cast_expression "(double *)(iVar2 + 0x28)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x28)" ( (binary_expression "iVar2 + 0x28" identifier + number_literal) )))) - (pointer_expression "*(double *)(iVar2 + 0x30)" * (cast_expression "(double *)(iVar2 + 0x30)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x30)" ( (binary_expression "iVar2 + 0x30" identifier + number_literal) )))))) ;) (if_statement "if (dVar23 < 0.0) {\n                dVar23 = -dVar23;\n              }" if (parenthesized_expression "(dVar23 < 0.0)" ( (binary_expression "dVar23 < 0.0" identifier < number_literal) )) (compound_statement "{\n                dVar23 = -dVar23;\n              }" { (expression_statement "dVar23 = -dVar23;" (assignment_expression "dVar23 = -dVar23" identifier = (unary_expression "-dVar23" - identifier)) ;) })) (if_statement "if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) {\n                dVar23 = *(double *)(iVar2 + 0x30) - *(double *)(iVar2 + 0x38);\n                if (dVar23 < 0.0) {\n                  dVar23 = -dVar23;\n                }\n                if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) goto LAB_001dd4b8;\n              }" if (parenthesized_expression "(dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8))" ( (binary_expression "dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)" identifier < (pointer_expression "*(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)" * (cast_expression "(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)" ( (binary_expression "*(int *)(puVar20 + 0x1cb5a8) + 0x13f8" (pointer_expression "*(int *)(puVar20 + 0x1cb5a8)" * (cast_expression "(int *)(puVar20 + 0x1cb5a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x1cb5a8)" ( (binary_expression "puVar20 + 0x1cb5a8" identifier + number_literal) )))) + number_literal) ))))) )) (compound_statement "{\n                dVar23 = *(double *)(iVar2 + 0x30) - *(double *)(iVar2 + 0x38);\n                if (dVar23 < 0.0) {\n                  dVar23 = -dVar23;\n                }\n                if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) goto LAB_001dd4b8;\n              }" { (expression_statement "dVar23 = *(double *)(iVar2 + 0x30) - *(double *)(iVar2 + 0x38);" (assignment_expression "dVar23 = *(double *)(iVar2 + 0x30) - *(double *)(iVar2 + 0x38)" identifier = (binary_expression "*(double *)(iVar2 + 0x30) - *(double *)(iVar2 + 0x38)" (pointer_expression "*(double *)(iVar2 + 0x30)" * (cast_expression "(double *)(iVar2 + 0x30)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x30)" ( (binary_expression "iVar2 + 0x30" identifier + number_literal) )))) - (pointer_expression "*(double *)(iVar2 + 0x38)" * (cast_expression "(double *)(iVar2 + 0x38)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x38)" ( (binary_expression "iVar2 + 0x38" identifier + number_literal) )))))) ;) (if_statement "if (dVar23 < 0.0) {\n                  dVar23 = -dVar23;\n                }" if (parenthesized_expression "(dVar23 < 0.0)" ( (binary_expression "dVar23 < 0.0" identifier < number_literal) )) (compound_statement "{\n                  dVar23 = -dVar23;\n                }" { (expression_statement "dVar23 = -dVar23;" (assignment_expression "dVar23 = -dVar23" identifier = (unary_expression "-dVar23" - identifier)) ;) })) (if_statement "if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) goto LAB_001dd4b8;" if (parenthesized_expression "(dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8))" ( (binary_expression "dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)" identifier < (pointer_expression "*(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)" * (cast_expression "(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)" ( (binary_expression "*(int *)(puVar20 + 0x1cb5a8) + 0x13f8" (pointer_expression "*(int *)(puVar20 + 0x1cb5a8)" * (cast_expression "(int *)(puVar20 + 0x1cb5a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x1cb5a8)" ( (binary_expression "puVar20 + 0x1cb5a8" identifier + number_literal) )))) + number_literal) ))))) )) (goto_statement "goto LAB_001dd4b8;" goto statement_identifier ;)) })) }))) (if_statement "if ((*(int *)(iVar3 + 700) == 0) && (*(int *)(iVar2 + 8) != 0)) {\n              (**(code **)(puVar20 + 0x1cb940))\n                        (iVar3,*(undefined4 *)(*(int *)(puVar20 + 0x1cb5a8) + 0x1a50),puVar15);\n            }" if (parenthesized_expression "((*(int *)(iVar3 + 700) == 0) && (*(int *)(iVar2 + 8) != 0))" ( (binary_expression "(*(int *)(iVar3 + 700) == 0) && (*(int *)(iVar2 + 8) != 0)" (parenthesized_expression "(*(int *)(iVar3 + 700) == 0)" ( (binary_expression "*(int *)(iVar3 + 700) == 0" (pointer_expression "*(int *)(iVar3 + 700)" * (cast_expression "(int *)(iVar3 + 700)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 700)" ( (binary_expression "iVar3 + 700" identifier + number_literal) )))) == number_literal) )) && (parenthesized_expression "(*(int *)(iVar2 + 8) != 0)" ( (binary_expression "*(int *)(iVar2 + 8) != 0" (pointer_expression "*(int *)(iVar2 + 8)" * (cast_expression "(int *)(iVar2 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 8)" ( (binary_expression "iVar2 + 8" identifier + number_literal) )))) != number_literal) ))) )) (compound_statement "{\n              (**(code **)(puVar20 + 0x1cb940))\n                        (iVar3,*(undefined4 *)(*(int *)(puVar20 + 0x1cb5a8) + 0x1a50),puVar15);\n            }" { (expression_statement "(**(code **)(puVar20 + 0x1cb940))\n                        (iVar3,*(undefined4 *)(*(int *)(puVar20 + 0x1cb5a8) + 0x1a50),puVar15);" (call_expression "(**(code **)(puVar20 + 0x1cb940))\n                        (iVar3,*(undefined4 *)(*(int *)(puVar20 + 0x1cb5a8) + 0x1a50),puVar15)" (parenthesized_expression "(**(code **)(puVar20 + 0x1cb940))" ( (pointer_expression "**(code **)(puVar20 + 0x1cb940)" * (pointer_expression "*(code **)(puVar20 + 0x1cb940)" * (cast_expression "(code **)(puVar20 + 0x1cb940)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x1cb940)" ( (binary_expression "puVar20 + 0x1cb940" identifier + number_literal) ))))) )) (argument_list "(iVar3,*(undefined4 *)(*(int *)(puVar20 + 0x1cb5a8) + 0x1a50),puVar15)" ( identifier , (pointer_expression "*(undefined4 *)(*(int *)(puVar20 + 0x1cb5a8) + 0x1a50)" * (cast_expression "(undefined4 *)(*(int *)(puVar20 + 0x1cb5a8) + 0x1a50)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar20 + 0x1cb5a8) + 0x1a50)" ( (binary_expression "*(int *)(puVar20 + 0x1cb5a8) + 0x1a50" (pointer_expression "*(int *)(puVar20 + 0x1cb5a8)" * (cast_expression "(int *)(puVar20 + 0x1cb5a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x1cb5a8)" ( (binary_expression "puVar20 + 0x1cb5a8" identifier + number_literal) )))) + number_literal) )))) , identifier ))) ;) })) (if_statement "if (puVar13 != (undefined *)0x0) {\n              unaff_s6 = auStack_c8;\n              (**(code **)(puVar20 + 0x1cbf7c))(iVar3,unaff_s6);\n              uVar5 = (**(code **)(puVar20 + 0x1cc11c))(puVar13,&uStack_f0);\n              uStack_80 = 0;\n              uStack_a0 = uStack_f0;\n              uStack_98 = uStack_f0;\n              uStack_90 = uStack_f0;\n              uStack_88 = uStack_f0;\n              if ((uVar5 & 8) != 0) {\n                uStack_98 = uStack_e8;\n              }\n              if ((uVar5 & 1) != 0) {\n                uStack_90 = uStack_e0;\n              }\n              if ((uVar5 & 2) == 0) {\n                pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                uVar24 = uStack_88;\n                if (iStack_c4 == 2) goto LAB_001dd6b0;\n              }\n              else {\n                uStack_80 = uStack_d8;\n                uVar24 = uStack_d8;\n                if (iStack_c4 == 2) {\nLAB_001dd6b0:\n                  uStack_88 = uVar24;\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                  if ((uVar5 & 0x10) != 0) {\n                    uStack_80 = uStack_d0;\n                  }\n                }\n                else {\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                }\n              }\n              uStack_114 = 0;\n              uStack_118 = 0;\n              puVar13 = (undefined *)(*pcVar21)(iVar3,puVar15);\n              iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3);\n              if (((iVar4 == 4) || (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3))\n                 && ((iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 4 ||\n                     (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3)))) {\n                (**(code **)(puVar20 + 0x1cbe04))(7);\n                iVar11 = *(int *)(iVar3 + 0x1c);\n                iVar4 = iVar11;\n                if (iVar11 < 0) {\n                  iVar4 = iVar11 + 0x3f;\n                }\n                if (extraout_v1 < iVar4 >> 6) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  bVar1 = extraout_v1_02 < 2;\n                }\n                else {\n                  bVar1 = iVar11 < 0x80;\n                }\n                iVar4 = 1;\n                if ((bool)(bVar1 ^ 1)) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  iVar4 = *(int *)(iVar3 + 0x1c);\n                  if (iVar4 < 0) {\n                    iVar4 = iVar4 + 0x3f;\n                  }\n                  iVar4 = iVar4 >> 6;\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                  if (extraout_v1_01 < iVar4) {\n                    pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                    goto LAB_001dd7c0;\n                  }\n                }\n                else {\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                }\n              }\n              else {\n                uVar24 = (**(code **)(puVar20 + 0x1cbe04))(7);\n                if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  uVar24 = (*pcVar21)(7);\n                  if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001dd5d0;\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  iVar4 = 1;\n                }\n                else {\nLAB_001dd5d0:\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\nLAB_001dd5d4:\n                  uVar24 = (*pcVar21)(7);\n                  if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n                     (pcVar21 = *(code **)(puVar20 + 0x1cbe04), (uint)uVar24 < 2)) {\nLAB_001dd7c0:\n                    (*pcVar21)(7);\n                    iVar4 = extraout_v1_00;\n                  }\n                  else {\n                    iVar4 = 2;\n                  }\n                }\n                iVar11 = *(int *)(puVar20 + 0x1cb66c);\n              }\n              puStack_f8 = (undefined *)0x1;\n              puStack_f4 = &uStack_118;\n              puStack_110 = puVar10;\n              iStack_10c = iVar2;\n              puStack_108 = puVar15;\n              puStack_104 = puVar13;\n              iStack_100 = iVar3;\n              puStack_fc = unaff_s6;\n              (**(code **)(puVar20 + 0x1cbe60))(iVar11 + -0x43b4,&puStack_110,iVar4,0);\n              puVar15 = puStack_f8;\n              (**(code **)(puVar20 + 0x1cbbbc))(puVar13);\n              if (puVar15 == (undefined *)0x0) {\n                in_stack_00000018 = (**(code **)(puVar20 + 0x1cbc14))(iVar3);\n              }\n            }" if (parenthesized_expression "(puVar13 != (undefined *)0x0)" ( (binary_expression "puVar13 != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              unaff_s6 = auStack_c8;\n              (**(code **)(puVar20 + 0x1cbf7c))(iVar3,unaff_s6);\n              uVar5 = (**(code **)(puVar20 + 0x1cc11c))(puVar13,&uStack_f0);\n              uStack_80 = 0;\n              uStack_a0 = uStack_f0;\n              uStack_98 = uStack_f0;\n              uStack_90 = uStack_f0;\n              uStack_88 = uStack_f0;\n              if ((uVar5 & 8) != 0) {\n                uStack_98 = uStack_e8;\n              }\n              if ((uVar5 & 1) != 0) {\n                uStack_90 = uStack_e0;\n              }\n              if ((uVar5 & 2) == 0) {\n                pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                uVar24 = uStack_88;\n                if (iStack_c4 == 2) goto LAB_001dd6b0;\n              }\n              else {\n                uStack_80 = uStack_d8;\n                uVar24 = uStack_d8;\n                if (iStack_c4 == 2) {\nLAB_001dd6b0:\n                  uStack_88 = uVar24;\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                  if ((uVar5 & 0x10) != 0) {\n                    uStack_80 = uStack_d0;\n                  }\n                }\n                else {\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                }\n              }\n              uStack_114 = 0;\n              uStack_118 = 0;\n              puVar13 = (undefined *)(*pcVar21)(iVar3,puVar15);\n              iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3);\n              if (((iVar4 == 4) || (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3))\n                 && ((iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 4 ||\n                     (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3)))) {\n                (**(code **)(puVar20 + 0x1cbe04))(7);\n                iVar11 = *(int *)(iVar3 + 0x1c);\n                iVar4 = iVar11;\n                if (iVar11 < 0) {\n                  iVar4 = iVar11 + 0x3f;\n                }\n                if (extraout_v1 < iVar4 >> 6) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  bVar1 = extraout_v1_02 < 2;\n                }\n                else {\n                  bVar1 = iVar11 < 0x80;\n                }\n                iVar4 = 1;\n                if ((bool)(bVar1 ^ 1)) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  iVar4 = *(int *)(iVar3 + 0x1c);\n                  if (iVar4 < 0) {\n                    iVar4 = iVar4 + 0x3f;\n                  }\n                  iVar4 = iVar4 >> 6;\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                  if (extraout_v1_01 < iVar4) {\n                    pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                    goto LAB_001dd7c0;\n                  }\n                }\n                else {\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                }\n              }\n              else {\n                uVar24 = (**(code **)(puVar20 + 0x1cbe04))(7);\n                if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  uVar24 = (*pcVar21)(7);\n                  if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001dd5d0;\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  iVar4 = 1;\n                }\n                else {\nLAB_001dd5d0:\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\nLAB_001dd5d4:\n                  uVar24 = (*pcVar21)(7);\n                  if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n                     (pcVar21 = *(code **)(puVar20 + 0x1cbe04), (uint)uVar24 < 2)) {\nLAB_001dd7c0:\n                    (*pcVar21)(7);\n                    iVar4 = extraout_v1_00;\n                  }\n                  else {\n                    iVar4 = 2;\n                  }\n                }\n                iVar11 = *(int *)(puVar20 + 0x1cb66c);\n              }\n              puStack_f8 = (undefined *)0x1;\n              puStack_f4 = &uStack_118;\n              puStack_110 = puVar10;\n              iStack_10c = iVar2;\n              puStack_108 = puVar15;\n              puStack_104 = puVar13;\n              iStack_100 = iVar3;\n              puStack_fc = unaff_s6;\n              (**(code **)(puVar20 + 0x1cbe60))(iVar11 + -0x43b4,&puStack_110,iVar4,0);\n              puVar15 = puStack_f8;\n              (**(code **)(puVar20 + 0x1cbbbc))(puVar13);\n              if (puVar15 == (undefined *)0x0) {\n                in_stack_00000018 = (**(code **)(puVar20 + 0x1cbc14))(iVar3);\n              }\n            }" { (expression_statement "unaff_s6 = auStack_c8;" (assignment_expression "unaff_s6 = auStack_c8" identifier = identifier) ;) (expression_statement "(**(code **)(puVar20 + 0x1cbf7c))(iVar3,unaff_s6);" (call_expression "(**(code **)(puVar20 + 0x1cbf7c))(iVar3,unaff_s6)" (parenthesized_expression "(**(code **)(puVar20 + 0x1cbf7c))" ( (pointer_expression "**(code **)(puVar20 + 0x1cbf7c)" * (pointer_expression "*(code **)(puVar20 + 0x1cbf7c)" * (cast_expression "(code **)(puVar20 + 0x1cbf7c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x1cbf7c)" ( (binary_expression "puVar20 + 0x1cbf7c" identifier + number_literal) ))))) )) (argument_list "(iVar3,unaff_s6)" ( identifier , identifier ))) ;) (expression_statement "uVar5 = (**(code **)(puVar20 + 0x1cc11c))(puVar13,&uStack_f0);" (assignment_expression "uVar5 = (**(code **)(puVar20 + 0x1cc11c))(puVar13,&uStack_f0)" identifier = (call_expression "(**(code **)(puVar20 + 0x1cc11c))(puVar13,&uStack_f0)" (parenthesized_expression "(**(code **)(puVar20 + 0x1cc11c))" ( (pointer_expression "**(code **)(puVar20 + 0x1cc11c)" * (pointer_expression "*(code **)(puVar20 + 0x1cc11c)" * (cast_expression "(code **)(puVar20 + 0x1cc11c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x1cc11c)" ( (binary_expression "puVar20 + 0x1cc11c" identifier + number_literal) ))))) )) (argument_list "(puVar13,&uStack_f0)" ( identifier , (pointer_expression "&uStack_f0" & identifier) )))) ;) (expression_statement "uStack_80 = 0;" (assignment_expression "uStack_80 = 0" identifier = number_literal) ;) (expression_statement "uStack_a0 = uStack_f0;" (assignment_expression "uStack_a0 = uStack_f0" identifier = identifier) ;) (expression_statement "uStack_98 = uStack_f0;" (assignment_expression "uStack_98 = uStack_f0" identifier = identifier) ;) (expression_statement "uStack_90 = uStack_f0;" (assignment_expression "uStack_90 = uStack_f0" identifier = identifier) ;) (expression_statement "uStack_88 = uStack_f0;" (assignment_expression "uStack_88 = uStack_f0" identifier = identifier) ;) (if_statement "if ((uVar5 & 8) != 0) {\n                uStack_98 = uStack_e8;\n              }" if (parenthesized_expression "((uVar5 & 8) != 0)" ( (binary_expression "(uVar5 & 8) != 0" (parenthesized_expression "(uVar5 & 8)" ( (binary_expression "uVar5 & 8" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                uStack_98 = uStack_e8;\n              }" { (expression_statement "uStack_98 = uStack_e8;" (assignment_expression "uStack_98 = uStack_e8" identifier = identifier) ;) })) (if_statement "if ((uVar5 & 1) != 0) {\n                uStack_90 = uStack_e0;\n              }" if (parenthesized_expression "((uVar5 & 1) != 0)" ( (binary_expression "(uVar5 & 1) != 0" (parenthesized_expression "(uVar5 & 1)" ( (binary_expression "uVar5 & 1" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                uStack_90 = uStack_e0;\n              }" { (expression_statement "uStack_90 = uStack_e0;" (assignment_expression "uStack_90 = uStack_e0" identifier = identifier) ;) })) (if_statement "if ((uVar5 & 2) == 0) {\n                pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                uVar24 = uStack_88;\n                if (iStack_c4 == 2) goto LAB_001dd6b0;\n              }\n              else {\n                uStack_80 = uStack_d8;\n                uVar24 = uStack_d8;\n                if (iStack_c4 == 2) {\nLAB_001dd6b0:\n                  uStack_88 = uVar24;\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                  if ((uVar5 & 0x10) != 0) {\n                    uStack_80 = uStack_d0;\n                  }\n                }\n                else {\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                }\n              }" if (parenthesized_expression "((uVar5 & 2) == 0)" ( (binary_expression "(uVar5 & 2) == 0" (parenthesized_expression "(uVar5 & 2)" ( (binary_expression "uVar5 & 2" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n                pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                uVar24 = uStack_88;\n                if (iStack_c4 == 2) goto LAB_001dd6b0;\n              }" { (expression_statement "pcVar21 = *(code **)(puVar20 + 0x1cc41c);" (assignment_expression "pcVar21 = *(code **)(puVar20 + 0x1cc41c)" identifier = (pointer_expression "*(code **)(puVar20 + 0x1cc41c)" * (cast_expression "(code **)(puVar20 + 0x1cc41c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x1cc41c)" ( (binary_expression "puVar20 + 0x1cc41c" identifier + number_literal) ))))) ;) (expression_statement "uVar24 = uStack_88;" (assignment_expression "uVar24 = uStack_88" identifier = identifier) ;) (if_statement "if (iStack_c4 == 2) goto LAB_001dd6b0;" if (parenthesized_expression "(iStack_c4 == 2)" ( (binary_expression "iStack_c4 == 2" identifier == number_literal) )) (goto_statement "goto LAB_001dd6b0;" goto statement_identifier ;)) }) (else_clause "else {\n                uStack_80 = uStack_d8;\n                uVar24 = uStack_d8;\n                if (iStack_c4 == 2) {\nLAB_001dd6b0:\n                  uStack_88 = uVar24;\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                  if ((uVar5 & 0x10) != 0) {\n                    uStack_80 = uStack_d0;\n                  }\n                }\n                else {\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                }\n              }" else (compound_statement "{\n                uStack_80 = uStack_d8;\n                uVar24 = uStack_d8;\n                if (iStack_c4 == 2) {\nLAB_001dd6b0:\n                  uStack_88 = uVar24;\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                  if ((uVar5 & 0x10) != 0) {\n                    uStack_80 = uStack_d0;\n                  }\n                }\n                else {\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                }\n              }" { (expression_statement "uStack_80 = uStack_d8;" (assignment_expression "uStack_80 = uStack_d8" identifier = identifier) ;) (expression_statement "uVar24 = uStack_d8;" (assignment_expression "uVar24 = uStack_d8" identifier = identifier) ;) (if_statement "if (iStack_c4 == 2) {\nLAB_001dd6b0:\n                  uStack_88 = uVar24;\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                  if ((uVar5 & 0x10) != 0) {\n                    uStack_80 = uStack_d0;\n                  }\n                }\n                else {\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                }" if (parenthesized_expression "(iStack_c4 == 2)" ( (binary_expression "iStack_c4 == 2" identifier == number_literal) )) (compound_statement "{\nLAB_001dd6b0:\n                  uStack_88 = uVar24;\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                  if ((uVar5 & 0x10) != 0) {\n                    uStack_80 = uStack_d0;\n                  }\n                }" { (labeled_statement "LAB_001dd6b0:\n                  uStack_88 = uVar24;" statement_identifier : (expression_statement "uStack_88 = uVar24;" (assignment_expression "uStack_88 = uVar24" identifier = identifier) ;)) (expression_statement "pcVar21 = *(code **)(puVar20 + 0x1cc41c);" (assignment_expression "pcVar21 = *(code **)(puVar20 + 0x1cc41c)" identifier = (pointer_expression "*(code **)(puVar20 + 0x1cc41c)" * (cast_expression "(code **)(puVar20 + 0x1cc41c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x1cc41c)" ( (binary_expression "puVar20 + 0x1cc41c" identifier + number_literal) ))))) ;) (if_statement "if ((uVar5 & 0x10) != 0) {\n                    uStack_80 = uStack_d0;\n                  }" if (parenthesized_expression "((uVar5 & 0x10) != 0)" ( (binary_expression "(uVar5 & 0x10) != 0" (parenthesized_expression "(uVar5 & 0x10)" ( (binary_expression "uVar5 & 0x10" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                    uStack_80 = uStack_d0;\n                  }" { (expression_statement "uStack_80 = uStack_d0;" (assignment_expression "uStack_80 = uStack_d0" identifier = identifier) ;) })) }) (else_clause "else {\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                }" else (compound_statement "{\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                }" { (expression_statement "pcVar21 = *(code **)(puVar20 + 0x1cc41c);" (assignment_expression "pcVar21 = *(code **)(puVar20 + 0x1cc41c)" identifier = (pointer_expression "*(code **)(puVar20 + 0x1cc41c)" * (cast_expression "(code **)(puVar20 + 0x1cc41c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x1cc41c)" ( (binary_expression "puVar20 + 0x1cc41c" identifier + number_literal) ))))) ;) }))) }))) (expression_statement "uStack_114 = 0;" (assignment_expression "uStack_114 = 0" identifier = number_literal) ;) (expression_statement "uStack_118 = 0;" (assignment_expression "uStack_118 = 0" identifier = number_literal) ;) (expression_statement "puVar13 = (undefined *)(*pcVar21)(iVar3,puVar15);" (assignment_expression "puVar13 = (undefined *)(*pcVar21)(iVar3,puVar15)" identifier = (cast_expression "(undefined *)(*pcVar21)(iVar3,puVar15)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar21)(iVar3,puVar15)" (parenthesized_expression "(*pcVar21)" ( (pointer_expression "*pcVar21" * identifier) )) (argument_list "(iVar3,puVar15)" ( identifier , identifier ))))) ;) (expression_statement "iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3);" (assignment_expression "iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3)" identifier = (call_expression "(**(code **)(puVar20 + 0x1cc17c))(iVar3)" (parenthesized_expression "(**(code **)(puVar20 + 0x1cc17c))" ( (pointer_expression "**(code **)(puVar20 + 0x1cc17c)" * (pointer_expression "*(code **)(puVar20 + 0x1cc17c)" * (cast_expression "(code **)(puVar20 + 0x1cc17c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x1cc17c)" ( (binary_expression "puVar20 + 0x1cc17c" identifier + number_literal) ))))) )) (argument_list "(iVar3)" ( identifier )))) ;) (if_statement "if (((iVar4 == 4) || (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3))\n                 && ((iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 4 ||\n                     (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3)))) {\n                (**(code **)(puVar20 + 0x1cbe04))(7);\n                iVar11 = *(int *)(iVar3 + 0x1c);\n                iVar4 = iVar11;\n                if (iVar11 < 0) {\n                  iVar4 = iVar11 + 0x3f;\n                }\n                if (extraout_v1 < iVar4 >> 6) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  bVar1 = extraout_v1_02 < 2;\n                }\n                else {\n                  bVar1 = iVar11 < 0x80;\n                }\n                iVar4 = 1;\n                if ((bool)(bVar1 ^ 1)) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  iVar4 = *(int *)(iVar3 + 0x1c);\n                  if (iVar4 < 0) {\n                    iVar4 = iVar4 + 0x3f;\n                  }\n                  iVar4 = iVar4 >> 6;\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                  if (extraout_v1_01 < iVar4) {\n                    pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                    goto LAB_001dd7c0;\n                  }\n                }\n                else {\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                }\n              }\n              else {\n                uVar24 = (**(code **)(puVar20 + 0x1cbe04))(7);\n                if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  uVar24 = (*pcVar21)(7);\n                  if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001dd5d0;\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  iVar4 = 1;\n                }\n                else {\nLAB_001dd5d0:\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\nLAB_001dd5d4:\n                  uVar24 = (*pcVar21)(7);\n                  if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n                     (pcVar21 = *(code **)(puVar20 + 0x1cbe04), (uint)uVar24 < 2)) {\nLAB_001dd7c0:\n                    (*pcVar21)(7);\n                    iVar4 = extraout_v1_00;\n                  }\n                  else {\n                    iVar4 = 2;\n                  }\n                }\n                iVar11 = *(int *)(puVar20 + 0x1cb66c);\n              }" if (parenthesized_expression "(((iVar4 == 4) || (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3))\n                 && ((iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 4 ||\n                     (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3))))" ( (binary_expression "((iVar4 == 4) || (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3))\n                 && ((iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 4 ||\n                     (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3)))" (parenthesized_expression "((iVar4 == 4) || (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3))" ( (binary_expression "(iVar4 == 4) || (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3)" (parenthesized_expression "(iVar4 == 4)" ( (binary_expression "iVar4 == 4" identifier == number_literal) )) || (parenthesized_expression "(iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3)" ( (comma_expression "iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3" (assignment_expression "iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3)" identifier = (call_expression "(**(code **)(puVar20 + 0x1cc17c))(iVar3)" (parenthesized_expression "(**(code **)(puVar20 + 0x1cc17c))" ( (pointer_expression "**(code **)(puVar20 + 0x1cc17c)" * (pointer_expression "*(code **)(puVar20 + 0x1cc17c)" * (cast_expression "(code **)(puVar20 + 0x1cc17c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x1cc17c)" ( (binary_expression "puVar20 + 0x1cc17c" identifier + number_literal) ))))) )) (argument_list "(iVar3)" ( identifier )))) , (binary_expression "iVar4 == 3" identifier == number_literal)) ))) )) && (parenthesized_expression "((iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 4 ||\n                     (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3)))" ( (parenthesized_expression "(iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 4 ||\n                     (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3))" ( (comma_expression "iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 4 ||\n                     (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3)" (assignment_expression "iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3)" identifier = (call_expression "(**(code **)(puVar20 + 0x1cc17c))(iVar3)" (parenthesized_expression "(**(code **)(puVar20 + 0x1cc17c))" ( (pointer_expression "**(code **)(puVar20 + 0x1cc17c)" * (pointer_expression "*(code **)(puVar20 + 0x1cc17c)" * (cast_expression "(code **)(puVar20 + 0x1cc17c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x1cc17c)" ( (binary_expression "puVar20 + 0x1cc17c" identifier + number_literal) ))))) )) (argument_list "(iVar3)" ( identifier )))) , (binary_expression "iVar4 == 4 ||\n                     (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3)" (binary_expression "iVar4 == 4" identifier == number_literal) || (parenthesized_expression "(iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3)" ( (comma_expression "iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3" (assignment_expression "iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3)" identifier = (call_expression "(**(code **)(puVar20 + 0x1cc17c))(iVar3)" (parenthesized_expression "(**(code **)(puVar20 + 0x1cc17c))" ( (pointer_expression "**(code **)(puVar20 + 0x1cc17c)" * (pointer_expression "*(code **)(puVar20 + 0x1cc17c)" * (cast_expression "(code **)(puVar20 + 0x1cc17c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x1cc17c)" ( (binary_expression "puVar20 + 0x1cc17c" identifier + number_literal) ))))) )) (argument_list "(iVar3)" ( identifier )))) , (binary_expression "iVar4 == 3" identifier == number_literal)) )))) )) ))) )) (compound_statement "{\n                (**(code **)(puVar20 + 0x1cbe04))(7);\n                iVar11 = *(int *)(iVar3 + 0x1c);\n                iVar4 = iVar11;\n                if (iVar11 < 0) {\n                  iVar4 = iVar11 + 0x3f;\n                }\n                if (extraout_v1 < iVar4 >> 6) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  bVar1 = extraout_v1_02 < 2;\n                }\n                else {\n                  bVar1 = iVar11 < 0x80;\n                }\n                iVar4 = 1;\n                if ((bool)(bVar1 ^ 1)) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  iVar4 = *(int *)(iVar3 + 0x1c);\n                  if (iVar4 < 0) {\n                    iVar4 = iVar4 + 0x3f;\n                  }\n                  iVar4 = iVar4 >> 6;\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                  if (extraout_v1_01 < iVar4) {\n                    pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                    goto LAB_001dd7c0;\n                  }\n                }\n                else {\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                }\n              }" { (expression_statement "(**(code **)(puVar20 + 0x1cbe04))(7);" (call_expression "(**(code **)(puVar20 + 0x1cbe04))(7)" (parenthesized_expression "(**(code **)(puVar20 + 0x1cbe04))" ( (pointer_expression "**(code **)(puVar20 + 0x1cbe04)" * (pointer_expression "*(code **)(puVar20 + 0x1cbe04)" * (cast_expression "(code **)(puVar20 + 0x1cbe04)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x1cbe04)" ( (binary_expression "puVar20 + 0x1cbe04" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "iVar11 = *(int *)(iVar3 + 0x1c);" (assignment_expression "iVar11 = *(int *)(iVar3 + 0x1c)" identifier = (pointer_expression "*(int *)(iVar3 + 0x1c)" * (cast_expression "(int *)(iVar3 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x1c)" ( (binary_expression "iVar3 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "iVar4 = iVar11;" (assignment_expression "iVar4 = iVar11" identifier = identifier) ;) (if_statement "if (iVar11 < 0) {\n                  iVar4 = iVar11 + 0x3f;\n                }" if (parenthesized_expression "(iVar11 < 0)" ( (binary_expression "iVar11 < 0" identifier < number_literal) )) (compound_statement "{\n                  iVar4 = iVar11 + 0x3f;\n                }" { (expression_statement "iVar4 = iVar11 + 0x3f;" (assignment_expression "iVar4 = iVar11 + 0x3f" identifier = (binary_expression "iVar11 + 0x3f" identifier + number_literal)) ;) })) (if_statement "if (extraout_v1 < iVar4 >> 6) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  bVar1 = extraout_v1_02 < 2;\n                }\n                else {\n                  bVar1 = iVar11 < 0x80;\n                }" if (parenthesized_expression "(extraout_v1 < iVar4 >> 6)" ( (binary_expression "extraout_v1 < iVar4 >> 6" identifier < (binary_expression "iVar4 >> 6" identifier >> number_literal)) )) (compound_statement "{\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  bVar1 = extraout_v1_02 < 2;\n                }" { (expression_statement "(**(code **)(puVar20 + 0x1cbe04))(7);" (call_expression "(**(code **)(puVar20 + 0x1cbe04))(7)" (parenthesized_expression "(**(code **)(puVar20 + 0x1cbe04))" ( (pointer_expression "**(code **)(puVar20 + 0x1cbe04)" * (pointer_expression "*(code **)(puVar20 + 0x1cbe04)" * (cast_expression "(code **)(puVar20 + 0x1cbe04)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x1cbe04)" ( (binary_expression "puVar20 + 0x1cbe04" 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 = iVar11 < 0x80;\n                }" else (compound_statement "{\n                  bVar1 = iVar11 < 0x80;\n                }" { (expression_statement "bVar1 = iVar11 < 0x80;" (assignment_expression "bVar1 = iVar11 < 0x80" identifier = (binary_expression "iVar11 < 0x80" identifier < number_literal)) ;) }))) (expression_statement "iVar4 = 1;" (assignment_expression "iVar4 = 1" identifier = number_literal) ;) (if_statement "if ((bool)(bVar1 ^ 1)) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  iVar4 = *(int *)(iVar3 + 0x1c);\n                  if (iVar4 < 0) {\n                    iVar4 = iVar4 + 0x3f;\n                  }\n                  iVar4 = iVar4 >> 6;\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                  if (extraout_v1_01 < iVar4) {\n                    pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                    goto LAB_001dd7c0;\n                  }\n                }\n                else {\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\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 **)(puVar20 + 0x1cbe04))(7);\n                  iVar4 = *(int *)(iVar3 + 0x1c);\n                  if (iVar4 < 0) {\n                    iVar4 = iVar4 + 0x3f;\n                  }\n                  iVar4 = iVar4 >> 6;\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                  if (extraout_v1_01 < iVar4) {\n                    pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                    goto LAB_001dd7c0;\n                  }\n                }" { (expression_statement "(**(code **)(puVar20 + 0x1cbe04))(7);" (call_expression "(**(code **)(puVar20 + 0x1cbe04))(7)" (parenthesized_expression "(**(code **)(puVar20 + 0x1cbe04))" ( (pointer_expression "**(code **)(puVar20 + 0x1cbe04)" * (pointer_expression "*(code **)(puVar20 + 0x1cbe04)" * (cast_expression "(code **)(puVar20 + 0x1cbe04)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x1cbe04)" ( (binary_expression "puVar20 + 0x1cbe04" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "iVar4 = *(int *)(iVar3 + 0x1c);" (assignment_expression "iVar4 = *(int *)(iVar3 + 0x1c)" identifier = (pointer_expression "*(int *)(iVar3 + 0x1c)" * (cast_expression "(int *)(iVar3 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x1c)" ( (binary_expression "iVar3 + 0x1c" identifier + number_literal) ))))) ;) (if_statement "if (iVar4 < 0) {\n                    iVar4 = iVar4 + 0x3f;\n                  }" if (parenthesized_expression "(iVar4 < 0)" ( (binary_expression "iVar4 < 0" identifier < number_literal) )) (compound_statement "{\n                    iVar4 = iVar4 + 0x3f;\n                  }" { (expression_statement "iVar4 = iVar4 + 0x3f;" (assignment_expression "iVar4 = iVar4 + 0x3f" identifier = (binary_expression "iVar4 + 0x3f" identifier + number_literal)) ;) })) (expression_statement "iVar4 = iVar4 >> 6;" (assignment_expression "iVar4 = iVar4 >> 6" identifier = (binary_expression "iVar4 >> 6" identifier >> number_literal)) ;) (expression_statement "iVar11 = *(int *)(puVar20 + 0x1cb66c);" (assignment_expression "iVar11 = *(int *)(puVar20 + 0x1cb66c)" identifier = (pointer_expression "*(int *)(puVar20 + 0x1cb66c)" * (cast_expression "(int *)(puVar20 + 0x1cb66c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x1cb66c)" ( (binary_expression "puVar20 + 0x1cb66c" identifier + number_literal) ))))) ;) (if_statement "if (extraout_v1_01 < iVar4) {\n                    pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                    goto LAB_001dd7c0;\n                  }" if (parenthesized_expression "(extraout_v1_01 < iVar4)" ( (binary_expression "extraout_v1_01 < iVar4" identifier < identifier) )) (compound_statement "{\n                    pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                    goto LAB_001dd7c0;\n                  }" { (expression_statement "pcVar21 = *(code **)(puVar20 + 0x1cbe04);" (assignment_expression "pcVar21 = *(code **)(puVar20 + 0x1cbe04)" identifier = (pointer_expression "*(code **)(puVar20 + 0x1cbe04)" * (cast_expression "(code **)(puVar20 + 0x1cbe04)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x1cbe04)" ( (binary_expression "puVar20 + 0x1cbe04" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_001dd7c0;" goto statement_identifier ;) })) }) (else_clause "else {\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                }" else (compound_statement "{\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                }" { (expression_statement "iVar11 = *(int *)(puVar20 + 0x1cb66c);" (assignment_expression "iVar11 = *(int *)(puVar20 + 0x1cb66c)" identifier = (pointer_expression "*(int *)(puVar20 + 0x1cb66c)" * (cast_expression "(int *)(puVar20 + 0x1cb66c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x1cb66c)" ( (binary_expression "puVar20 + 0x1cb66c" identifier + number_literal) ))))) ;) }))) }) (else_clause "else {\n                uVar24 = (**(code **)(puVar20 + 0x1cbe04))(7);\n                if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  uVar24 = (*pcVar21)(7);\n                  if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001dd5d0;\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  iVar4 = 1;\n                }\n                else {\nLAB_001dd5d0:\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\nLAB_001dd5d4:\n                  uVar24 = (*pcVar21)(7);\n                  if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n                     (pcVar21 = *(code **)(puVar20 + 0x1cbe04), (uint)uVar24 < 2)) {\nLAB_001dd7c0:\n                    (*pcVar21)(7);\n                    iVar4 = extraout_v1_00;\n                  }\n                  else {\n                    iVar4 = 2;\n                  }\n                }\n                iVar11 = *(int *)(puVar20 + 0x1cb66c);\n              }" else (compound_statement "{\n                uVar24 = (**(code **)(puVar20 + 0x1cbe04))(7);\n                if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  uVar24 = (*pcVar21)(7);\n                  if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001dd5d0;\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  iVar4 = 1;\n                }\n                else {\nLAB_001dd5d0:\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\nLAB_001dd5d4:\n                  uVar24 = (*pcVar21)(7);\n                  if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n                     (pcVar21 = *(code **)(puVar20 + 0x1cbe04), (uint)uVar24 < 2)) {\nLAB_001dd7c0:\n                    (*pcVar21)(7);\n                    iVar4 = extraout_v1_00;\n                  }\n                  else {\n                    iVar4 = 2;\n                  }\n                }\n                iVar11 = *(int *)(puVar20 + 0x1cb66c);\n              }" { (expression_statement "uVar24 = (**(code **)(puVar20 + 0x1cbe04))(7);" (assignment_expression "uVar24 = (**(code **)(puVar20 + 0x1cbe04))(7)" identifier = (call_expression "(**(code **)(puVar20 + 0x1cbe04))(7)" (parenthesized_expression "(**(code **)(puVar20 + 0x1cbe04))" ( (pointer_expression "**(code **)(puVar20 + 0x1cbe04)" * (pointer_expression "*(code **)(puVar20 + 0x1cbe04)" * (cast_expression "(code **)(puVar20 + 0x1cbe04)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x1cbe04)" ( (binary_expression "puVar20 + 0x1cbe04" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  uVar24 = (*pcVar21)(7);\n                  if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001dd5d0;\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  iVar4 = 1;\n                }\n                else {\nLAB_001dd5d0:\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\nLAB_001dd5d4:\n                  uVar24 = (*pcVar21)(7);\n                  if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n                     (pcVar21 = *(code **)(puVar20 + 0x1cbe04), (uint)uVar24 < 2)) {\nLAB_001dd7c0:\n                    (*pcVar21)(7);\n                    iVar4 = extraout_v1_00;\n                  }\n                  else {\n                    iVar4 = 2;\n                  }\n                }" if (parenthesized_expression "((int)((ulonglong)uVar24 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar24 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar24 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar24 >> 0x20)" ( (binary_expression "(ulonglong)uVar24 >> 0x20" (cast_expression "(ulonglong)uVar24" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) (compound_statement "{\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  uVar24 = (*pcVar21)(7);\n                  if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001dd5d0;\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  iVar4 = 1;\n                }" { (expression_statement "pcVar21 = *(code **)(puVar20 + 0x1cbe04);" (assignment_expression "pcVar21 = *(code **)(puVar20 + 0x1cbe04)" identifier = (pointer_expression "*(code **)(puVar20 + 0x1cbe04)" * (cast_expression "(code **)(puVar20 + 0x1cbe04)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x1cbe04)" ( (binary_expression "puVar20 + 0x1cbe04" identifier + number_literal) ))))) ;) (if_statement "if (1 < (uint)uVar24) goto LAB_001dd5d4;" if (parenthesized_expression "(1 < (uint)uVar24)" ( (binary_expression "1 < (uint)uVar24" number_literal < (cast_expression "(uint)uVar24" ( (type_descriptor "uint" type_identifier) ) identifier)) )) (goto_statement "goto LAB_001dd5d4;" goto statement_identifier ;)) (expression_statement "uVar24 = (*pcVar21)(7);" (assignment_expression "uVar24 = (*pcVar21)(7)" identifier = (call_expression "(*pcVar21)(7)" (parenthesized_expression "(*pcVar21)" ( (pointer_expression "*pcVar21" * identifier) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001dd5d0;" if (parenthesized_expression "((int)((ulonglong)uVar24 >> 0x20) != 0)" ( (binary_expression "(int)((ulonglong)uVar24 >> 0x20) != 0" (cast_expression "(int)((ulonglong)uVar24 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar24 >> 0x20)" ( (binary_expression "(ulonglong)uVar24 >> 0x20" (cast_expression "(ulonglong)uVar24" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) != number_literal) )) (goto_statement "goto LAB_001dd5d0;" goto statement_identifier ;)) (expression_statement "pcVar21 = *(code **)(puVar20 + 0x1cbe04);" (assignment_expression "pcVar21 = *(code **)(puVar20 + 0x1cbe04)" identifier = (pointer_expression "*(code **)(puVar20 + 0x1cbe04)" * (cast_expression "(code **)(puVar20 + 0x1cbe04)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x1cbe04)" ( (binary_expression "puVar20 + 0x1cbe04" identifier + number_literal) ))))) ;) (if_statement "if (1 < (uint)uVar24) goto LAB_001dd5d4;" if (parenthesized_expression "(1 < (uint)uVar24)" ( (binary_expression "1 < (uint)uVar24" number_literal < (cast_expression "(uint)uVar24" ( (type_descriptor "uint" type_identifier) ) identifier)) )) (goto_statement "goto LAB_001dd5d4;" goto statement_identifier ;)) (expression_statement "iVar4 = 1;" (assignment_expression "iVar4 = 1" identifier = number_literal) ;) }) (else_clause "else {\nLAB_001dd5d0:\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\nLAB_001dd5d4:\n                  uVar24 = (*pcVar21)(7);\n                  if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n                     (pcVar21 = *(code **)(puVar20 + 0x1cbe04), (uint)uVar24 < 2)) {\nLAB_001dd7c0:\n                    (*pcVar21)(7);\n                    iVar4 = extraout_v1_00;\n                  }\n                  else {\n                    iVar4 = 2;\n                  }\n                }" else (compound_statement "{\nLAB_001dd5d0:\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\nLAB_001dd5d4:\n                  uVar24 = (*pcVar21)(7);\n                  if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n                     (pcVar21 = *(code **)(puVar20 + 0x1cbe04), (uint)uVar24 < 2)) {\nLAB_001dd7c0:\n                    (*pcVar21)(7);\n                    iVar4 = extraout_v1_00;\n                  }\n                  else {\n                    iVar4 = 2;\n                  }\n                }" { (labeled_statement "LAB_001dd5d0:\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);" statement_identifier : (expression_statement "pcVar21 = *(code **)(puVar20 + 0x1cbe04);" (assignment_expression "pcVar21 = *(code **)(puVar20 + 0x1cbe04)" identifier = (pointer_expression "*(code **)(puVar20 + 0x1cbe04)" * (cast_expression "(code **)(puVar20 + 0x1cbe04)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x1cbe04)" ( (binary_expression "puVar20 + 0x1cbe04" identifier + number_literal) ))))) ;)) (labeled_statement "LAB_001dd5d4:\n                  uVar24 = (*pcVar21)(7);" statement_identifier : (expression_statement "uVar24 = (*pcVar21)(7);" (assignment_expression "uVar24 = (*pcVar21)(7)" identifier = (call_expression "(*pcVar21)(7)" (parenthesized_expression "(*pcVar21)" ( (pointer_expression "*pcVar21" * identifier) )) (argument_list "(7)" ( number_literal )))) ;)) (if_statement "if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n                     (pcVar21 = *(code **)(puVar20 + 0x1cbe04), (uint)uVar24 < 2)) {\nLAB_001dd7c0:\n                    (*pcVar21)(7);\n                    iVar4 = extraout_v1_00;\n                  }\n                  else {\n                    iVar4 = 2;\n                  }" if (parenthesized_expression "(((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n                     (pcVar21 = *(code **)(puVar20 + 0x1cbe04), (uint)uVar24 < 2))" ( (binary_expression "((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n                     (pcVar21 = *(code **)(puVar20 + 0x1cbe04), (uint)uVar24 < 2)" (parenthesized_expression "((int)((ulonglong)uVar24 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar24 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar24 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar24 >> 0x20)" ( (binary_expression "(ulonglong)uVar24 >> 0x20" (cast_expression "(ulonglong)uVar24" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) && (parenthesized_expression "(pcVar21 = *(code **)(puVar20 + 0x1cbe04), (uint)uVar24 < 2)" ( (comma_expression "pcVar21 = *(code **)(puVar20 + 0x1cbe04), (uint)uVar24 < 2" (assignment_expression "pcVar21 = *(code **)(puVar20 + 0x1cbe04)" identifier = (pointer_expression "*(code **)(puVar20 + 0x1cbe04)" * (cast_expression "(code **)(puVar20 + 0x1cbe04)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x1cbe04)" ( (binary_expression "puVar20 + 0x1cbe04" identifier + number_literal) ))))) , (binary_expression "(uint)uVar24 < 2" (cast_expression "(uint)uVar24" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal)) ))) )) (compound_statement "{\nLAB_001dd7c0:\n                    (*pcVar21)(7);\n                    iVar4 = extraout_v1_00;\n                  }" { (labeled_statement "LAB_001dd7c0:\n                    (*pcVar21)(7);" statement_identifier : (expression_statement "(*pcVar21)(7);" (call_expression "(*pcVar21)(7)" (parenthesized_expression "(*pcVar21)" ( (pointer_expression "*pcVar21" * identifier) )) (argument_list "(7)" ( number_literal ))) ;)) (expression_statement "iVar4 = extraout_v1_00;" (assignment_expression "iVar4 = extraout_v1_00" identifier = identifier) ;) }) (else_clause "else {\n                    iVar4 = 2;\n                  }" else (compound_statement "{\n                    iVar4 = 2;\n                  }" { (expression_statement "iVar4 = 2;" (assignment_expression "iVar4 = 2" identifier = number_literal) ;) }))) }))) (expression_statement "iVar11 = *(int *)(puVar20 + 0x1cb66c);" (assignment_expression "iVar11 = *(int *)(puVar20 + 0x1cb66c)" identifier = (pointer_expression "*(int *)(puVar20 + 0x1cb66c)" * (cast_expression "(int *)(puVar20 + 0x1cb66c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x1cb66c)" ( (binary_expression "puVar20 + 0x1cb66c" identifier + number_literal) ))))) ;) }))) (expression_statement "puStack_f8 = (undefined *)0x1;" (assignment_expression "puStack_f8 = (undefined *)0x1" identifier = (cast_expression "(undefined *)0x1" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puStack_f4 = &uStack_118;" (assignment_expression "puStack_f4 = &uStack_118" identifier = (pointer_expression "&uStack_118" & identifier)) ;) (expression_statement "puStack_110 = puVar10;" (assignment_expression "puStack_110 = puVar10" identifier = identifier) ;) (expression_statement "iStack_10c = iVar2;" (assignment_expression "iStack_10c = iVar2" identifier = identifier) ;) (expression_statement "puStack_108 = puVar15;" (assignment_expression "puStack_108 = puVar15" identifier = identifier) ;) (expression_statement "puStack_104 = puVar13;" (assignment_expression "puStack_104 = puVar13" identifier = identifier) ;) (expression_statement "iStack_100 = iVar3;" (assignment_expression "iStack_100 = iVar3" identifier = identifier) ;) (expression_statement "puStack_fc = unaff_s6;" (assignment_expression "puStack_fc = unaff_s6" identifier = identifier) ;) (expression_statement "(**(code **)(puVar20 + 0x1cbe60))(iVar11 + -0x43b4,&puStack_110,iVar4,0);" (call_expression "(**(code **)(puVar20 + 0x1cbe60))(iVar11 + -0x43b4,&puStack_110,iVar4,0)" (parenthesized_expression "(**(code **)(puVar20 + 0x1cbe60))" ( (pointer_expression "**(code **)(puVar20 + 0x1cbe60)" * (pointer_expression "*(code **)(puVar20 + 0x1cbe60)" * (cast_expression "(code **)(puVar20 + 0x1cbe60)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x1cbe60)" ( (binary_expression "puVar20 + 0x1cbe60" identifier + number_literal) ))))) )) (argument_list "(iVar11 + -0x43b4,&puStack_110,iVar4,0)" ( (binary_expression "iVar11 + -0x43b4" identifier + number_literal) , (pointer_expression "&puStack_110" & identifier) , identifier , number_literal ))) ;) (expression_statement "puVar15 = puStack_f8;" (assignment_expression "puVar15 = puStack_f8" identifier = identifier) ;) (expression_statement "(**(code **)(puVar20 + 0x1cbbbc))(puVar13);" (call_expression "(**(code **)(puVar20 + 0x1cbbbc))(puVar13)" (parenthesized_expression "(**(code **)(puVar20 + 0x1cbbbc))" ( (pointer_expression "**(code **)(puVar20 + 0x1cbbbc)" * (pointer_expression "*(code **)(puVar20 + 0x1cbbbc)" * (cast_expression "(code **)(puVar20 + 0x1cbbbc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x1cbbbc)" ( (binary_expression "puVar20 + 0x1cbbbc" identifier + number_literal) ))))) )) (argument_list "(puVar13)" ( identifier ))) ;) (if_statement "if (puVar15 == (undefined *)0x0) {\n                in_stack_00000018 = (**(code **)(puVar20 + 0x1cbc14))(iVar3);\n              }" if (parenthesized_expression "(puVar15 == (undefined *)0x0)" ( (binary_expression "puVar15 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                in_stack_00000018 = (**(code **)(puVar20 + 0x1cbc14))(iVar3);\n              }" { (expression_statement "in_stack_00000018 = (**(code **)(puVar20 + 0x1cbc14))(iVar3);" (assignment_expression "in_stack_00000018 = (**(code **)(puVar20 + 0x1cbc14))(iVar3)" identifier = (call_expression "(**(code **)(puVar20 + 0x1cbc14))(iVar3)" (parenthesized_expression "(**(code **)(puVar20 + 0x1cbc14))" ( (pointer_expression "**(code **)(puVar20 + 0x1cbc14)" * (pointer_expression "*(code **)(puVar20 + 0x1cbc14)" * (cast_expression "(code **)(puVar20 + 0x1cbc14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x1cbc14)" ( (binary_expression "puVar20 + 0x1cbc14" identifier + number_literal) ))))) )) (argument_list "(iVar3)" ( identifier )))) ;) })) })) }))) })) (expression_statement "unaff_s1 = puVar15;" (assignment_expression "unaff_s1 = puVar15" identifier = identifier) ;) (expression_statement "unaff_s3 = iVar2;" (assignment_expression "unaff_s3 = iVar2" identifier = identifier) ;) (expression_statement "unaff_s5 = puVar13;" (assignment_expression "unaff_s5 = puVar13" identifier = identifier) ;) (if_statement "if (iStack_6c == *piVar18) {\n          return in_stack_00000018;\n        }" if (parenthesized_expression "(iStack_6c == *piVar18)" ( (binary_expression "iStack_6c == *piVar18" identifier == (pointer_expression "*piVar18" * identifier)) )) (compound_statement "{\n          return in_stack_00000018;\n        }" { (return_statement "return in_stack_00000018;" return identifier ;) })) (goto_statement "goto LAB_001dd890;" goto statement_identifier ;) })) (goto_statement "goto LAB_001dd8c0;" goto statement_identifier ;) })) }))) (expression_statement "iVar4 = 0x23c;" (assignment_expression "iVar4 = 0x23c" identifier = number_literal) ;) (expression_statement "pcVar21 = *(code **)(puVar20 + 0x1cc2d0);" (assignment_expression "pcVar21 = *(code **)(puVar20 + 0x1cc2d0)" identifier = (pointer_expression "*(code **)(puVar20 + 0x1cc2d0)" * (cast_expression "(code **)(puVar20 + 0x1cc2d0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x1cc2d0)" ( (binary_expression "puVar20 + 0x1cc2d0" identifier + number_literal) ))))) ;) (expression_statement "iVar3 = *(int *)(puVar20 + 0x1cb5b4) + -0x12ec;" (assignment_expression "iVar3 = *(int *)(puVar20 + 0x1cb5b4) + -0x12ec" identifier = (binary_expression "*(int *)(puVar20 + 0x1cb5b4) + -0x12ec" (pointer_expression "*(int *)(puVar20 + 0x1cb5b4)" * (cast_expression "(int *)(puVar20 + 0x1cb5b4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x1cb5b4)" ( (binary_expression "puVar20 + 0x1cb5b4" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "puVar12 = (undefined1 *)(*(int *)(puVar20 + 0x1cb5a8) + 0x1cac);" (assignment_expression "puVar12 = (undefined1 *)(*(int *)(puVar20 + 0x1cb5a8) + 0x1cac)" identifier = (cast_expression "(undefined1 *)(*(int *)(puVar20 + 0x1cb5a8) + 0x1cac)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar20 + 0x1cb5a8) + 0x1cac)" ( (binary_expression "*(int *)(puVar20 + 0x1cb5a8) + 0x1cac" (pointer_expression "*(int *)(puVar20 + 0x1cb5a8)" * (cast_expression "(int *)(puVar20 + 0x1cb5a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x1cb5a8)" ( (binary_expression "puVar20 + 0x1cb5a8" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar21)();" (call_expression "(*pcVar21)()" (parenthesized_expression "(*pcVar21)" ( (pointer_expression "*pcVar21" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "piVar6 = *(int **)(pcVar21 + 0x1cb928);" (assignment_expression "piVar6 = *(int **)(pcVar21 + 0x1cb928)" identifier = (pointer_expression "*(int **)(pcVar21 + 0x1cb928)" * (cast_expression "(int **)(pcVar21 + 0x1cb928)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x1cb928)" ( (binary_expression "pcVar21 + 0x1cb928" identifier + number_literal) ))))) ;) (expression_statement "iStack_16c = *piVar6;" (assignment_expression "iStack_16c = *piVar6" identifier = (pointer_expression "*piVar6" * identifier)) ;) (expression_statement "iStack_168 = in_stack_00000018;" (assignment_expression "iStack_168 = in_stack_00000018" identifier = identifier) ;) (expression_statement "puStack_164 = puVar15;" (assignment_expression "puStack_164 = puVar15" identifier = identifier) ;) (expression_statement "puStack_160 = puVar10;" (assignment_expression "puStack_160 = puVar10" identifier = identifier) ;) (expression_statement "iStack_15c = iVar2;" (assignment_expression "iStack_15c = iVar2" identifier = identifier) ;) (expression_statement "piStack_158 = piVar18;" (assignment_expression "piStack_158 = piVar18" identifier = identifier) ;) (expression_statement "puStack_154 = puVar13;" (assignment_expression "puStack_154 = puVar13" identifier = identifier) ;) (expression_statement "puStack_150 = unaff_s6;" (assignment_expression "puStack_150 = unaff_s6" identifier = identifier) ;) (expression_statement "(**(code **)(pcVar21 + 0x1cbdcc))(auStack_1290,0,0x120);" (call_expression "(**(code **)(pcVar21 + 0x1cbdcc))(auStack_1290,0,0x120)" (parenthesized_expression "(**(code **)(pcVar21 + 0x1cbdcc))" ( (pointer_expression "**(code **)(pcVar21 + 0x1cbdcc)" * (pointer_expression "*(code **)(pcVar21 + 0x1cbdcc)" * (cast_expression "(code **)(pcVar21 + 0x1cbdcc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x1cbdcc)" ( (binary_expression "pcVar21 + 0x1cbdcc" identifier + number_literal) ))))) )) (argument_list "(auStack_1290,0,0x120)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "auStack_1290[0] = *(undefined8 *)(*(int *)(pcVar21 + 0x1cafd8) + 0x1438);" (assignment_expression "auStack_1290[0] = *(undefined8 *)(*(int *)(pcVar21 + 0x1cafd8) + 0x1438)" (subscript_expression "auStack_1290[0]" identifier [ number_literal ]) = (pointer_expression "*(undefined8 *)(*(int *)(pcVar21 + 0x1cafd8) + 0x1438)" * (cast_expression "(undefined8 *)(*(int *)(pcVar21 + 0x1cafd8) + 0x1438)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar21 + 0x1cafd8) + 0x1438)" ( (binary_expression "*(int *)(pcVar21 + 0x1cafd8) + 0x1438" (pointer_expression "*(int *)(pcVar21 + 0x1cafd8)" * (cast_expression "(int *)(pcVar21 + 0x1cafd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar21 + 0x1cafd8)" ( (binary_expression "pcVar21 + 0x1cafd8" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "uStack_1258 = auStack_1290[0];" (assignment_expression "uStack_1258 = auStack_1290[0]" identifier = (subscript_expression "auStack_1290[0]" identifier [ number_literal ])) ;) (expression_statement "uStack_1220 = auStack_1290[0];" (assignment_expression "uStack_1220 = auStack_1290[0]" identifier = (subscript_expression "auStack_1290[0]" identifier [ number_literal ])) ;) (expression_statement "uStack_11e8 = auStack_1290[0];" (assignment_expression "uStack_11e8 = auStack_1290[0]" identifier = (subscript_expression "auStack_1290[0]" identifier [ number_literal ])) ;) (expression_statement "uStack_11b0 = auStack_1290[0];" (assignment_expression "uStack_11b0 = auStack_1290[0]" identifier = (subscript_expression "auStack_1290[0]" identifier [ number_literal ])) ;) (expression_statement "uStack_1178 = auStack_1290[0];" (assignment_expression "uStack_1178 = auStack_1290[0]" identifier = (subscript_expression "auStack_1290[0]" identifier [ number_literal ])) ;) (if_statement "if (puVar12 == (undefined1 *)0x0) {\n    iVar2 = (**(code **)(pcVar21 + 0x1cbd00))\n                      (*(int *)(pcVar21 + 0x1cafd8) + 0xdd0,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,\n                       0x2f9,*(int *)(pcVar21 + 0x1cafe4) + -0xf20);\n    return iVar2;\n  }" if (parenthesized_expression "(puVar12 == (undefined1 *)0x0)" ( (binary_expression "puVar12 == (undefined1 *)0x0" identifier == (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    iVar2 = (**(code **)(pcVar21 + 0x1cbd00))\n                      (*(int *)(pcVar21 + 0x1cafd8) + 0xdd0,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,\n                       0x2f9,*(int *)(pcVar21 + 0x1cafe4) + -0xf20);\n    return iVar2;\n  }" { (expression_statement "iVar2 = (**(code **)(pcVar21 + 0x1cbd00))\n                      (*(int *)(pcVar21 + 0x1cafd8) + 0xdd0,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,\n                       0x2f9,*(int *)(pcVar21 + 0x1cafe4) + -0xf20);" (assignment_expression "iVar2 = (**(code **)(pcVar21 + 0x1cbd00))\n                      (*(int *)(pcVar21 + 0x1cafd8) + 0xdd0,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,\n                       0x2f9,*(int *)(pcVar21 + 0x1cafe4) + -0xf20)" identifier = (call_expression "(**(code **)(pcVar21 + 0x1cbd00))\n                      (*(int *)(pcVar21 + 0x1cafd8) + 0xdd0,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,\n                       0x2f9,*(int *)(pcVar21 + 0x1cafe4) + -0xf20)" (parenthesized_expression "(**(code **)(pcVar21 + 0x1cbd00))" ( (pointer_expression "**(code **)(pcVar21 + 0x1cbd00)" * (pointer_expression "*(code **)(pcVar21 + 0x1cbd00)" * (cast_expression "(code **)(pcVar21 + 0x1cbd00)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x1cbd00)" ( (binary_expression "pcVar21 + 0x1cbd00" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar21 + 0x1cafd8) + 0xdd0,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,\n                       0x2f9,*(int *)(pcVar21 + 0x1cafe4) + -0xf20)" ( (binary_expression "*(int *)(pcVar21 + 0x1cafd8) + 0xdd0" (pointer_expression "*(int *)(pcVar21 + 0x1cafd8)" * (cast_expression "(int *)(pcVar21 + 0x1cafd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar21 + 0x1cafd8)" ( (binary_expression "pcVar21 + 0x1cafd8" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar21 + 0x1cafe4) + -0x12ec" (pointer_expression "*(int *)(pcVar21 + 0x1cafe4)" * (cast_expression "(int *)(pcVar21 + 0x1cafe4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar21 + 0x1cafe4)" ( (binary_expression "pcVar21 + 0x1cafe4" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar21 + 0x1cafe4) + -0xf20" (pointer_expression "*(int *)(pcVar21 + 0x1cafe4)" * (cast_expression "(int *)(pcVar21 + 0x1cafe4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar21 + 0x1cafe4)" ( (binary_expression "pcVar21 + 0x1cafe4" identifier + number_literal) )))) + number_literal) )))) ;) (return_statement "return iVar2;" return identifier ;) })) (expression_statement "iVar2 = *(int *)(pcVar21 + 0x1cafe4);" (assignment_expression "iVar2 = *(int *)(pcVar21 + 0x1cafe4)" identifier = (pointer_expression "*(int *)(pcVar21 + 0x1cafe4)" * (cast_expression "(int *)(pcVar21 + 0x1cafe4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar21 + 0x1cafe4)" ( (binary_expression "pcVar21 + 0x1cafe4" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(puVar12 + 0x336c) != -0x54535255) goto LAB_001ddf28;" if (parenthesized_expression "(*(int *)(puVar12 + 0x336c) != -0x54535255)" ( (binary_expression "*(int *)(puVar12 + 0x336c) != -0x54535255" (pointer_expression "*(int *)(puVar12 + 0x336c)" * (cast_expression "(int *)(puVar12 + 0x336c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x336c)" ( (binary_expression "puVar12 + 0x336c" identifier + number_literal) )))) != number_literal) )) (goto_statement "goto LAB_001ddf28;" goto statement_identifier ;)) (if_statement "if (*(int *)(puVar12 + 0x3350) != 0) {\n    (**(code **)(pcVar21 + 0x1cb8d8))\n              (0x8000,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,*(int *)(pcVar21 + 0x1cafe4) + -0xf34,\n               0x2fc,*(int *)(pcVar21 + 0x1cafdc) + -0x62ac,puVar12 + 0x340);\n  }" if (parenthesized_expression "(*(int *)(puVar12 + 0x3350) != 0)" ( (binary_expression "*(int *)(puVar12 + 0x3350) != 0" (pointer_expression "*(int *)(puVar12 + 0x3350)" * (cast_expression "(int *)(puVar12 + 0x3350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x3350)" ( (binary_expression "puVar12 + 0x3350" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    (**(code **)(pcVar21 + 0x1cb8d8))\n              (0x8000,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,*(int *)(pcVar21 + 0x1cafe4) + -0xf34,\n               0x2fc,*(int *)(pcVar21 + 0x1cafdc) + -0x62ac,puVar12 + 0x340);\n  }" { (expression_statement "(**(code **)(pcVar21 + 0x1cb8d8))\n              (0x8000,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,*(int *)(pcVar21 + 0x1cafe4) + -0xf34,\n               0x2fc,*(int *)(pcVar21 + 0x1cafdc) + -0x62ac,puVar12 + 0x340);" (call_expression "(**(code **)(pcVar21 + 0x1cb8d8))\n              (0x8000,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,*(int *)(pcVar21 + 0x1cafe4) + -0xf34,\n               0x2fc,*(int *)(pcVar21 + 0x1cafdc) + -0x62ac,puVar12 + 0x340)" (parenthesized_expression "(**(code **)(pcVar21 + 0x1cb8d8))" ( (pointer_expression "**(code **)(pcVar21 + 0x1cb8d8)" * (pointer_expression "*(code **)(pcVar21 + 0x1cb8d8)" * (cast_expression "(code **)(pcVar21 + 0x1cb8d8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x1cb8d8)" ( (binary_expression "pcVar21 + 0x1cb8d8" identifier + number_literal) ))))) )) (argument_list "(0x8000,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,*(int *)(pcVar21 + 0x1cafe4) + -0xf34,\n               0x2fc,*(int *)(pcVar21 + 0x1cafdc) + -0x62ac,puVar12 + 0x340)" ( number_literal , (binary_expression "*(int *)(pcVar21 + 0x1cafe4) + -0x12ec" (pointer_expression "*(int *)(pcVar21 + 0x1cafe4)" * (cast_expression "(int *)(pcVar21 + 0x1cafe4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar21 + 0x1cafe4)" ( (binary_expression "pcVar21 + 0x1cafe4" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar21 + 0x1cafe4) + -0xf34" (pointer_expression "*(int *)(pcVar21 + 0x1cafe4)" * (cast_expression "(int *)(pcVar21 + 0x1cafe4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar21 + 0x1cafe4)" ( (binary_expression "pcVar21 + 0x1cafe4" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar21 + 0x1cafdc) + -0x62ac" (pointer_expression "*(int *)(pcVar21 + 0x1cafdc)" * (cast_expression "(int *)(pcVar21 + 0x1cafdc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar21 + 0x1cafdc)" ( (binary_expression "pcVar21 + 0x1cafdc" identifier + number_literal) )))) + number_literal) , (binary_expression "puVar12 + 0x340" identifier + number_literal) ))) ;) })) (if_statement "if (iVar4 == 0) {\n    iVar2 = (**(code **)(pcVar21 + 0x1cbd00))\n                      (*(int *)(pcVar21 + 0x1cafd8) + 0x1cac,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,\n                       0x2fd,*(int *)(pcVar21 + 0x1cafe4) + -0xf20);\n    return iVar2;\n  }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n    iVar2 = (**(code **)(pcVar21 + 0x1cbd00))\n                      (*(int *)(pcVar21 + 0x1cafd8) + 0x1cac,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,\n                       0x2fd,*(int *)(pcVar21 + 0x1cafe4) + -0xf20);\n    return iVar2;\n  }" { (expression_statement "iVar2 = (**(code **)(pcVar21 + 0x1cbd00))\n                      (*(int *)(pcVar21 + 0x1cafd8) + 0x1cac,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,\n                       0x2fd,*(int *)(pcVar21 + 0x1cafe4) + -0xf20);" (assignment_expression "iVar2 = (**(code **)(pcVar21 + 0x1cbd00))\n                      (*(int *)(pcVar21 + 0x1cafd8) + 0x1cac,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,\n                       0x2fd,*(int *)(pcVar21 + 0x1cafe4) + -0xf20)" identifier = (call_expression "(**(code **)(pcVar21 + 0x1cbd00))\n                      (*(int *)(pcVar21 + 0x1cafd8) + 0x1cac,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,\n                       0x2fd,*(int *)(pcVar21 + 0x1cafe4) + -0xf20)" (parenthesized_expression "(**(code **)(pcVar21 + 0x1cbd00))" ( (pointer_expression "**(code **)(pcVar21 + 0x1cbd00)" * (pointer_expression "*(code **)(pcVar21 + 0x1cbd00)" * (cast_expression "(code **)(pcVar21 + 0x1cbd00)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x1cbd00)" ( (binary_expression "pcVar21 + 0x1cbd00" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar21 + 0x1cafd8) + 0x1cac,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,\n                       0x2fd,*(int *)(pcVar21 + 0x1cafe4) + -0xf20)" ( (binary_expression "*(int *)(pcVar21 + 0x1cafd8) + 0x1cac" (pointer_expression "*(int *)(pcVar21 + 0x1cafd8)" * (cast_expression "(int *)(pcVar21 + 0x1cafd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar21 + 0x1cafd8)" ( (binary_expression "pcVar21 + 0x1cafd8" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar21 + 0x1cafe4) + -0x12ec" (pointer_expression "*(int *)(pcVar21 + 0x1cafe4)" * (cast_expression "(int *)(pcVar21 + 0x1cafe4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar21 + 0x1cafe4)" ( (binary_expression "pcVar21 + 0x1cafe4" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar21 + 0x1cafe4) + -0xf20" (pointer_expression "*(int *)(pcVar21 + 0x1cafe4)" * (cast_expression "(int *)(pcVar21 + 0x1cafe4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar21 + 0x1cafe4)" ( (binary_expression "pcVar21 + 0x1cafe4" identifier + number_literal) )))) + number_literal) )))) ;) (return_statement "return iVar2;" return identifier ;) })) (if_statement "if (*(int *)(iVar4 + 0x1c) != -0x54535255) {\n    iVar2 = (**(code **)(pcVar21 + 0x1cbd00))\n                      (*(int *)(pcVar21 + 0x1cafd8) + 0x294c,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,\n                       0x2fe,*(int *)(pcVar21 + 0x1cafe4) + -0xf20);\n    return iVar2;\n  }" if (parenthesized_expression "(*(int *)(iVar4 + 0x1c) != -0x54535255)" ( (binary_expression "*(int *)(iVar4 + 0x1c) != -0x54535255" (pointer_expression "*(int *)(iVar4 + 0x1c)" * (cast_expression "(int *)(iVar4 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x1c)" ( (binary_expression "iVar4 + 0x1c" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    iVar2 = (**(code **)(pcVar21 + 0x1cbd00))\n                      (*(int *)(pcVar21 + 0x1cafd8) + 0x294c,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,\n                       0x2fe,*(int *)(pcVar21 + 0x1cafe4) + -0xf20);\n    return iVar2;\n  }" { (expression_statement "iVar2 = (**(code **)(pcVar21 + 0x1cbd00))\n                      (*(int *)(pcVar21 + 0x1cafd8) + 0x294c,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,\n                       0x2fe,*(int *)(pcVar21 + 0x1cafe4) + -0xf20);" (assignment_expression "iVar2 = (**(code **)(pcVar21 + 0x1cbd00))\n                      (*(int *)(pcVar21 + 0x1cafd8) + 0x294c,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,\n                       0x2fe,*(int *)(pcVar21 + 0x1cafe4) + -0xf20)" identifier = (call_expression "(**(code **)(pcVar21 + 0x1cbd00))\n                      (*(int *)(pcVar21 + 0x1cafd8) + 0x294c,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,\n                       0x2fe,*(int *)(pcVar21 + 0x1cafe4) + -0xf20)" (parenthesized_expression "(**(code **)(pcVar21 + 0x1cbd00))" ( (pointer_expression "**(code **)(pcVar21 + 0x1cbd00)" * (pointer_expression "*(code **)(pcVar21 + 0x1cbd00)" * (cast_expression "(code **)(pcVar21 + 0x1cbd00)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x1cbd00)" ( (binary_expression "pcVar21 + 0x1cbd00" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar21 + 0x1cafd8) + 0x294c,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,\n                       0x2fe,*(int *)(pcVar21 + 0x1cafe4) + -0xf20)" ( (binary_expression "*(int *)(pcVar21 + 0x1cafd8) + 0x294c" (pointer_expression "*(int *)(pcVar21 + 0x1cafd8)" * (cast_expression "(int *)(pcVar21 + 0x1cafd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar21 + 0x1cafd8)" ( (binary_expression "pcVar21 + 0x1cafd8" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar21 + 0x1cafe4) + -0x12ec" (pointer_expression "*(int *)(pcVar21 + 0x1cafe4)" * (cast_expression "(int *)(pcVar21 + 0x1cafe4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar21 + 0x1cafe4)" ( (binary_expression "pcVar21 + 0x1cafe4" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar21 + 0x1cafe4) + -0xf20" (pointer_expression "*(int *)(pcVar21 + 0x1cafe4)" * (cast_expression "(int *)(pcVar21 + 0x1cafe4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar21 + 0x1cafe4)" ( (binary_expression "pcVar21 + 0x1cafe4" identifier + number_literal) )))) + number_literal) )))) ;) (return_statement "return iVar2;" return identifier ;) })) (expression_statement "iVar11 = *(int *)(iVar3 + 8);" (assignment_expression "iVar11 = *(int *)(iVar3 + 8)" identifier = (pointer_expression "*(int *)(iVar3 + 8)" * (cast_expression "(int *)(iVar3 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 8)" ( (binary_expression "iVar3 + 8" identifier + number_literal) ))))) ;) (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" identifier = number_literal) ;) (if_statement "if (0 < iVar11) {\n    iVar14 = *(int *)(iVar3 + 4);\n    iVar17 = 0;\n    puVar16 = auStack_1290;\n    do {\n      if (0 < iVar14) {\n        iVar7 = 0;\n        do {\n          if ((iVar2 < 6) && (iVar7 < 6)) {\n            puVar16[iVar7] = *(undefined8 *)(*(int *)(iVar3 + 0x14) + (iVar17 + iVar7) * 8);\n          }\n          iVar7 = iVar7 + 1;\n        } while (iVar7 != iVar14);\n        iVar17 = iVar17 + iVar14;\n      }\n      iVar2 = iVar2 + 1;\n      puVar16 = puVar16 + 6;\n    } while (iVar2 != iVar11);\n  }" if (parenthesized_expression "(0 < iVar11)" ( (binary_expression "0 < iVar11" number_literal < identifier) )) (compound_statement "{\n    iVar14 = *(int *)(iVar3 + 4);\n    iVar17 = 0;\n    puVar16 = auStack_1290;\n    do {\n      if (0 < iVar14) {\n        iVar7 = 0;\n        do {\n          if ((iVar2 < 6) && (iVar7 < 6)) {\n            puVar16[iVar7] = *(undefined8 *)(*(int *)(iVar3 + 0x14) + (iVar17 + iVar7) * 8);\n          }\n          iVar7 = iVar7 + 1;\n        } while (iVar7 != iVar14);\n        iVar17 = iVar17 + iVar14;\n      }\n      iVar2 = iVar2 + 1;\n      puVar16 = puVar16 + 6;\n    } while (iVar2 != iVar11);\n  }" { (expression_statement "iVar14 = *(int *)(iVar3 + 4);" (assignment_expression "iVar14 = *(int *)(iVar3 + 4)" identifier = (pointer_expression "*(int *)(iVar3 + 4)" * (cast_expression "(int *)(iVar3 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 4)" ( (binary_expression "iVar3 + 4" identifier + number_literal) ))))) ;) (expression_statement "iVar17 = 0;" (assignment_expression "iVar17 = 0" identifier = number_literal) ;) (expression_statement "puVar16 = auStack_1290;" (assignment_expression "puVar16 = auStack_1290" identifier = identifier) ;) (do_statement "do {\n      if (0 < iVar14) {\n        iVar7 = 0;\n        do {\n          if ((iVar2 < 6) && (iVar7 < 6)) {\n            puVar16[iVar7] = *(undefined8 *)(*(int *)(iVar3 + 0x14) + (iVar17 + iVar7) * 8);\n          }\n          iVar7 = iVar7 + 1;\n        } while (iVar7 != iVar14);\n        iVar17 = iVar17 + iVar14;\n      }\n      iVar2 = iVar2 + 1;\n      puVar16 = puVar16 + 6;\n    } while (iVar2 != iVar11);" do (compound_statement "{\n      if (0 < iVar14) {\n        iVar7 = 0;\n        do {\n          if ((iVar2 < 6) && (iVar7 < 6)) {\n            puVar16[iVar7] = *(undefined8 *)(*(int *)(iVar3 + 0x14) + (iVar17 + iVar7) * 8);\n          }\n          iVar7 = iVar7 + 1;\n        } while (iVar7 != iVar14);\n        iVar17 = iVar17 + iVar14;\n      }\n      iVar2 = iVar2 + 1;\n      puVar16 = puVar16 + 6;\n    }" { (if_statement "if (0 < iVar14) {\n        iVar7 = 0;\n        do {\n          if ((iVar2 < 6) && (iVar7 < 6)) {\n            puVar16[iVar7] = *(undefined8 *)(*(int *)(iVar3 + 0x14) + (iVar17 + iVar7) * 8);\n          }\n          iVar7 = iVar7 + 1;\n        } while (iVar7 != iVar14);\n        iVar17 = iVar17 + iVar14;\n      }" if (parenthesized_expression "(0 < iVar14)" ( (binary_expression "0 < iVar14" number_literal < identifier) )) (compound_statement "{\n        iVar7 = 0;\n        do {\n          if ((iVar2 < 6) && (iVar7 < 6)) {\n            puVar16[iVar7] = *(undefined8 *)(*(int *)(iVar3 + 0x14) + (iVar17 + iVar7) * 8);\n          }\n          iVar7 = iVar7 + 1;\n        } while (iVar7 != iVar14);\n        iVar17 = iVar17 + iVar14;\n      }" { (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) (do_statement "do {\n          if ((iVar2 < 6) && (iVar7 < 6)) {\n            puVar16[iVar7] = *(undefined8 *)(*(int *)(iVar3 + 0x14) + (iVar17 + iVar7) * 8);\n          }\n          iVar7 = iVar7 + 1;\n        } while (iVar7 != iVar14);" do (compound_statement "{\n          if ((iVar2 < 6) && (iVar7 < 6)) {\n            puVar16[iVar7] = *(undefined8 *)(*(int *)(iVar3 + 0x14) + (iVar17 + iVar7) * 8);\n          }\n          iVar7 = iVar7 + 1;\n        }" { (if_statement "if ((iVar2 < 6) && (iVar7 < 6)) {\n            puVar16[iVar7] = *(undefined8 *)(*(int *)(iVar3 + 0x14) + (iVar17 + iVar7) * 8);\n          }" if (parenthesized_expression "((iVar2 < 6) && (iVar7 < 6))" ( (binary_expression "(iVar2 < 6) && (iVar7 < 6)" (parenthesized_expression "(iVar2 < 6)" ( (binary_expression "iVar2 < 6" identifier < number_literal) )) && (parenthesized_expression "(iVar7 < 6)" ( (binary_expression "iVar7 < 6" identifier < number_literal) ))) )) (compound_statement "{\n            puVar16[iVar7] = *(undefined8 *)(*(int *)(iVar3 + 0x14) + (iVar17 + iVar7) * 8);\n          }" { (expression_statement "puVar16[iVar7] = *(undefined8 *)(*(int *)(iVar3 + 0x14) + (iVar17 + iVar7) * 8);" (assignment_expression "puVar16[iVar7] = *(undefined8 *)(*(int *)(iVar3 + 0x14) + (iVar17 + iVar7) * 8)" (subscript_expression "puVar16[iVar7]" identifier [ identifier ]) = (pointer_expression "*(undefined8 *)(*(int *)(iVar3 + 0x14) + (iVar17 + iVar7) * 8)" * (cast_expression "(undefined8 *)(*(int *)(iVar3 + 0x14) + (iVar17 + iVar7) * 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar3 + 0x14) + (iVar17 + iVar7) * 8)" ( (binary_expression "*(int *)(iVar3 + 0x14) + (iVar17 + iVar7) * 8" (pointer_expression "*(int *)(iVar3 + 0x14)" * (cast_expression "(int *)(iVar3 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x14)" ( (binary_expression "iVar3 + 0x14" identifier + number_literal) )))) + (binary_expression "(iVar17 + iVar7) * 8" (parenthesized_expression "(iVar17 + iVar7)" ( (binary_expression "iVar17 + iVar7" identifier + identifier) )) * number_literal)) ))))) ;) })) (expression_statement "iVar7 = iVar7 + 1;" (assignment_expression "iVar7 = iVar7 + 1" identifier = (binary_expression "iVar7 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar7 != iVar14)" ( (binary_expression "iVar7 != iVar14" identifier != identifier) )) ;) (expression_statement "iVar17 = iVar17 + iVar14;" (assignment_expression "iVar17 = iVar17 + iVar14" identifier = (binary_expression "iVar17 + iVar14" identifier + identifier)) ;) })) (expression_statement "iVar2 = iVar2 + 1;" (assignment_expression "iVar2 = iVar2 + 1" identifier = (binary_expression "iVar2 + 1" identifier + number_literal)) ;) (expression_statement "puVar16 = puVar16 + 6;" (assignment_expression "puVar16 = puVar16 + 6" identifier = (binary_expression "puVar16 + 6" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar2 != iVar11)" ( (binary_expression "iVar2 != iVar11" identifier != identifier) )) ;) })) (expression_statement "iVar2 = 1;" (assignment_expression "iVar2 = 1" identifier = number_literal) ;) (expression_statement "iStack_12dc = (**(code **)(pcVar21 + 0x1cbf28))(puVar12,0,0,1,iVar4);" (assignment_expression "iStack_12dc = (**(code **)(pcVar21 + 0x1cbf28))(puVar12,0,0,1,iVar4)" identifier = (call_expression "(**(code **)(pcVar21 + 0x1cbf28))(puVar12,0,0,1,iVar4)" (parenthesized_expression "(**(code **)(pcVar21 + 0x1cbf28))" ( (pointer_expression "**(code **)(pcVar21 + 0x1cbf28)" * (pointer_expression "*(code **)(pcVar21 + 0x1cbf28)" * (cast_expression "(code **)(pcVar21 + 0x1cbf28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x1cbf28)" ( (binary_expression "pcVar21 + 0x1cbf28" identifier + number_literal) ))))) )) (argument_list "(puVar12,0,0,1,iVar4)" ( identifier , number_literal , number_literal , number_literal , identifier )))) ;) (if_statement "if (iStack_12dc != 0) {\n    iVar11 = (**(code **)(pcVar21 + 0x1cbf1c))(iStack_12dc,1,iVar4);\n    if (iVar11 == 0) {\n      (**(code **)(pcVar21 + 0x1cb644))(iStack_12dc);\n      iStack_12dc = 0;\n    }\n    else {\n      if (*(int *)(puVar12 + 0x3350) != 0) {\n        iVar17 = *(int *)(pcVar21 + 0x1cafe4);\n        iVar14 = *(int *)(pcVar21 + 0x1cafe4);\n        (**(code **)(pcVar21 + 0x1cb8d8))\n                  (0x10000,iVar14 + -0x12ec,iVar17 + -0xf34,0x318,\n                   *(int *)(pcVar21 + 0x1cafe4) + -0x12d0);\n        puStack_12b4 = (undefined1 *)\n                       (**(code **)(pcVar21 + 0x1cbf0c))(*(int *)(pcVar21 + 0x1cafdc) + -0x3688);\n        iStack_12e4 = 0;\n        iVar2 = *(int *)(pcVar21 + 0x1cafdc);\n        iVar7 = *(int *)(pcVar21 + 0x1cafe0);\n        iVar11 = *(int *)(pcVar21 + 0x1cafdc);\n        do {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb474);\n          iVar19 = 0;\n          *puStack_12b4 = 0;\n          (*pcVar22)(auStack_116c,0x1000,iVar11 + -0x66b8);\n          (**(code **)(pcVar21 + 0x1cbaa0))(&puStack_12b4,auStack_116c);\n          do {\n            iVar19 = iVar19 + 1;\n            (**(code **)(pcVar21 + 0x1cb474))(auStack_116c,0x1000,iVar7 + 0x4930);\n            (**(code **)(pcVar21 + 0x1cbaa0))(&puStack_12b4,auStack_116c);\n          } while (iVar19 != 6);\n          iStack_12e4 = iStack_12e4 + 1;\n          (**(code **)(pcVar21 + 0x1cb8d8))\n                    (0x10000,iVar14 + -0x12ec,iVar17 + -0xf34,0x326,iVar2 + -0x62ac,puStack_12b4);\n        } while (iStack_12e4 != 6);\n        (**(code **)(pcVar21 + 0x1cb76c))(puStack_12b4);\n      }\n      uStack_12bc = 0;\n      uStack_12c0 = 0;\n      uVar8 = (**(code **)(pcVar21 + 0x1cbe4c))(puVar12,iVar4);\n      uVar9 = (**(code **)(pcVar21 + 0x1cb5cc))(iStack_12dc,iVar4);\n      iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(puVar12);\n      if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(puVar12), iVar2 == 3)) &&\n         ((iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc), iVar2 == 3)))) {\n        (**(code **)(pcVar21 + 0x1cb834))(7);\n        iVar2 = *(int *)(puVar12 + 0x1c);\n        if (iVar2 < 0) {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if (iVar2 + 0x3f >> 6 <= extraout_v1_03) goto LAB_001ddc6c;\nLAB_001dde94:\n          (*pcVar22)(7);\n          bVar1 = extraout_v1_05 < 2;\n        }\n        else {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if (extraout_v1_03 < iVar2 >> 6) goto LAB_001dde94;\nLAB_001ddc6c:\n          bVar1 = iVar2 < 0x80;\n        }\n        iVar11 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar21 + 0x1cb834))(7);\n          iVar11 = *(int *)(puVar12 + 0x1c);\n          if (iVar11 < 0) {\n            iVar11 = iVar11 + 0x3f;\n          }\n          iVar11 = iVar11 >> 6;\n          if (extraout_v1_06 < iVar11) {\n            pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n            goto LAB_001dde6c;\n          }\n        }\n      }\n      else {\n        uVar24 = (**(code **)(pcVar21 + 0x1cb834))(7);\n        if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if ((uint)uVar24 < 2) {\n            uVar24 = (*pcVar22)(7);\n            if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001ddb28;\n            pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n            if (1 < (uint)uVar24) goto LAB_001ddb2c;\n            iVar11 = 1;\n            goto LAB_001ddb44;\n          }\n        }\n        else {\nLAB_001ddb28:\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n        }\nLAB_001ddb2c:\n        uVar24 = (*pcVar22)(7);\n        if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n           (pcVar22 = *(code **)(pcVar21 + 0x1cb834), (uint)uVar24 < 2)) {\nLAB_001dde6c:\n          (*pcVar22)(7);\n          iVar11 = extraout_v1_04;\n        }\n        else {\n          iVar11 = 2;\n        }\n      }\nLAB_001ddb44:\n      iVar2 = 0;\n      iStack_1298 = 1;\n      puStack_1294 = &uStack_12c0;\n      puStack_12b4 = puVar12;\n      iStack_12b0 = iVar3;\n      iStack_12ac = iVar4;\n      uStack_12a8 = uVar9;\n      uStack_12a4 = uVar8;\n      puStack_12a0 = auStack_1290;\n      iStack_129c = iStack_12dc;\n      (**(code **)(pcVar21 + 0x1cb890))\n                (*(int *)(pcVar21 + 0x1cb09c) + -0x71ec,&puStack_12b4,iVar11,0);\n      iVar3 = iStack_1298;\n      (**(code **)(pcVar21 + 0x1cb5ec))(uVar9);\n      (**(code **)(pcVar21 + 0x1cb5ec))(uVar8);\n      if (iVar3 == 0) {\n        iStack_12dc = (**(code **)(pcVar21 + 0x1cb644))(iStack_12dc);\n      }\n    }\n  }" if (parenthesized_expression "(iStack_12dc != 0)" ( (binary_expression "iStack_12dc != 0" identifier != number_literal) )) (compound_statement "{\n    iVar11 = (**(code **)(pcVar21 + 0x1cbf1c))(iStack_12dc,1,iVar4);\n    if (iVar11 == 0) {\n      (**(code **)(pcVar21 + 0x1cb644))(iStack_12dc);\n      iStack_12dc = 0;\n    }\n    else {\n      if (*(int *)(puVar12 + 0x3350) != 0) {\n        iVar17 = *(int *)(pcVar21 + 0x1cafe4);\n        iVar14 = *(int *)(pcVar21 + 0x1cafe4);\n        (**(code **)(pcVar21 + 0x1cb8d8))\n                  (0x10000,iVar14 + -0x12ec,iVar17 + -0xf34,0x318,\n                   *(int *)(pcVar21 + 0x1cafe4) + -0x12d0);\n        puStack_12b4 = (undefined1 *)\n                       (**(code **)(pcVar21 + 0x1cbf0c))(*(int *)(pcVar21 + 0x1cafdc) + -0x3688);\n        iStack_12e4 = 0;\n        iVar2 = *(int *)(pcVar21 + 0x1cafdc);\n        iVar7 = *(int *)(pcVar21 + 0x1cafe0);\n        iVar11 = *(int *)(pcVar21 + 0x1cafdc);\n        do {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb474);\n          iVar19 = 0;\n          *puStack_12b4 = 0;\n          (*pcVar22)(auStack_116c,0x1000,iVar11 + -0x66b8);\n          (**(code **)(pcVar21 + 0x1cbaa0))(&puStack_12b4,auStack_116c);\n          do {\n            iVar19 = iVar19 + 1;\n            (**(code **)(pcVar21 + 0x1cb474))(auStack_116c,0x1000,iVar7 + 0x4930);\n            (**(code **)(pcVar21 + 0x1cbaa0))(&puStack_12b4,auStack_116c);\n          } while (iVar19 != 6);\n          iStack_12e4 = iStack_12e4 + 1;\n          (**(code **)(pcVar21 + 0x1cb8d8))\n                    (0x10000,iVar14 + -0x12ec,iVar17 + -0xf34,0x326,iVar2 + -0x62ac,puStack_12b4);\n        } while (iStack_12e4 != 6);\n        (**(code **)(pcVar21 + 0x1cb76c))(puStack_12b4);\n      }\n      uStack_12bc = 0;\n      uStack_12c0 = 0;\n      uVar8 = (**(code **)(pcVar21 + 0x1cbe4c))(puVar12,iVar4);\n      uVar9 = (**(code **)(pcVar21 + 0x1cb5cc))(iStack_12dc,iVar4);\n      iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(puVar12);\n      if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(puVar12), iVar2 == 3)) &&\n         ((iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc), iVar2 == 3)))) {\n        (**(code **)(pcVar21 + 0x1cb834))(7);\n        iVar2 = *(int *)(puVar12 + 0x1c);\n        if (iVar2 < 0) {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if (iVar2 + 0x3f >> 6 <= extraout_v1_03) goto LAB_001ddc6c;\nLAB_001dde94:\n          (*pcVar22)(7);\n          bVar1 = extraout_v1_05 < 2;\n        }\n        else {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if (extraout_v1_03 < iVar2 >> 6) goto LAB_001dde94;\nLAB_001ddc6c:\n          bVar1 = iVar2 < 0x80;\n        }\n        iVar11 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar21 + 0x1cb834))(7);\n          iVar11 = *(int *)(puVar12 + 0x1c);\n          if (iVar11 < 0) {\n            iVar11 = iVar11 + 0x3f;\n          }\n          iVar11 = iVar11 >> 6;\n          if (extraout_v1_06 < iVar11) {\n            pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n            goto LAB_001dde6c;\n          }\n        }\n      }\n      else {\n        uVar24 = (**(code **)(pcVar21 + 0x1cb834))(7);\n        if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if ((uint)uVar24 < 2) {\n            uVar24 = (*pcVar22)(7);\n            if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001ddb28;\n            pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n            if (1 < (uint)uVar24) goto LAB_001ddb2c;\n            iVar11 = 1;\n            goto LAB_001ddb44;\n          }\n        }\n        else {\nLAB_001ddb28:\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n        }\nLAB_001ddb2c:\n        uVar24 = (*pcVar22)(7);\n        if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n           (pcVar22 = *(code **)(pcVar21 + 0x1cb834), (uint)uVar24 < 2)) {\nLAB_001dde6c:\n          (*pcVar22)(7);\n          iVar11 = extraout_v1_04;\n        }\n        else {\n          iVar11 = 2;\n        }\n      }\nLAB_001ddb44:\n      iVar2 = 0;\n      iStack_1298 = 1;\n      puStack_1294 = &uStack_12c0;\n      puStack_12b4 = puVar12;\n      iStack_12b0 = iVar3;\n      iStack_12ac = iVar4;\n      uStack_12a8 = uVar9;\n      uStack_12a4 = uVar8;\n      puStack_12a0 = auStack_1290;\n      iStack_129c = iStack_12dc;\n      (**(code **)(pcVar21 + 0x1cb890))\n                (*(int *)(pcVar21 + 0x1cb09c) + -0x71ec,&puStack_12b4,iVar11,0);\n      iVar3 = iStack_1298;\n      (**(code **)(pcVar21 + 0x1cb5ec))(uVar9);\n      (**(code **)(pcVar21 + 0x1cb5ec))(uVar8);\n      if (iVar3 == 0) {\n        iStack_12dc = (**(code **)(pcVar21 + 0x1cb644))(iStack_12dc);\n      }\n    }\n  }" { (expression_statement "iVar11 = (**(code **)(pcVar21 + 0x1cbf1c))(iStack_12dc,1,iVar4);" (assignment_expression "iVar11 = (**(code **)(pcVar21 + 0x1cbf1c))(iStack_12dc,1,iVar4)" identifier = (call_expression "(**(code **)(pcVar21 + 0x1cbf1c))(iStack_12dc,1,iVar4)" (parenthesized_expression "(**(code **)(pcVar21 + 0x1cbf1c))" ( (pointer_expression "**(code **)(pcVar21 + 0x1cbf1c)" * (pointer_expression "*(code **)(pcVar21 + 0x1cbf1c)" * (cast_expression "(code **)(pcVar21 + 0x1cbf1c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x1cbf1c)" ( (binary_expression "pcVar21 + 0x1cbf1c" identifier + number_literal) ))))) )) (argument_list "(iStack_12dc,1,iVar4)" ( identifier , number_literal , identifier )))) ;) (if_statement "if (iVar11 == 0) {\n      (**(code **)(pcVar21 + 0x1cb644))(iStack_12dc);\n      iStack_12dc = 0;\n    }\n    else {\n      if (*(int *)(puVar12 + 0x3350) != 0) {\n        iVar17 = *(int *)(pcVar21 + 0x1cafe4);\n        iVar14 = *(int *)(pcVar21 + 0x1cafe4);\n        (**(code **)(pcVar21 + 0x1cb8d8))\n                  (0x10000,iVar14 + -0x12ec,iVar17 + -0xf34,0x318,\n                   *(int *)(pcVar21 + 0x1cafe4) + -0x12d0);\n        puStack_12b4 = (undefined1 *)\n                       (**(code **)(pcVar21 + 0x1cbf0c))(*(int *)(pcVar21 + 0x1cafdc) + -0x3688);\n        iStack_12e4 = 0;\n        iVar2 = *(int *)(pcVar21 + 0x1cafdc);\n        iVar7 = *(int *)(pcVar21 + 0x1cafe0);\n        iVar11 = *(int *)(pcVar21 + 0x1cafdc);\n        do {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb474);\n          iVar19 = 0;\n          *puStack_12b4 = 0;\n          (*pcVar22)(auStack_116c,0x1000,iVar11 + -0x66b8);\n          (**(code **)(pcVar21 + 0x1cbaa0))(&puStack_12b4,auStack_116c);\n          do {\n            iVar19 = iVar19 + 1;\n            (**(code **)(pcVar21 + 0x1cb474))(auStack_116c,0x1000,iVar7 + 0x4930);\n            (**(code **)(pcVar21 + 0x1cbaa0))(&puStack_12b4,auStack_116c);\n          } while (iVar19 != 6);\n          iStack_12e4 = iStack_12e4 + 1;\n          (**(code **)(pcVar21 + 0x1cb8d8))\n                    (0x10000,iVar14 + -0x12ec,iVar17 + -0xf34,0x326,iVar2 + -0x62ac,puStack_12b4);\n        } while (iStack_12e4 != 6);\n        (**(code **)(pcVar21 + 0x1cb76c))(puStack_12b4);\n      }\n      uStack_12bc = 0;\n      uStack_12c0 = 0;\n      uVar8 = (**(code **)(pcVar21 + 0x1cbe4c))(puVar12,iVar4);\n      uVar9 = (**(code **)(pcVar21 + 0x1cb5cc))(iStack_12dc,iVar4);\n      iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(puVar12);\n      if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(puVar12), iVar2 == 3)) &&\n         ((iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc), iVar2 == 3)))) {\n        (**(code **)(pcVar21 + 0x1cb834))(7);\n        iVar2 = *(int *)(puVar12 + 0x1c);\n        if (iVar2 < 0) {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if (iVar2 + 0x3f >> 6 <= extraout_v1_03) goto LAB_001ddc6c;\nLAB_001dde94:\n          (*pcVar22)(7);\n          bVar1 = extraout_v1_05 < 2;\n        }\n        else {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if (extraout_v1_03 < iVar2 >> 6) goto LAB_001dde94;\nLAB_001ddc6c:\n          bVar1 = iVar2 < 0x80;\n        }\n        iVar11 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar21 + 0x1cb834))(7);\n          iVar11 = *(int *)(puVar12 + 0x1c);\n          if (iVar11 < 0) {\n            iVar11 = iVar11 + 0x3f;\n          }\n          iVar11 = iVar11 >> 6;\n          if (extraout_v1_06 < iVar11) {\n            pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n            goto LAB_001dde6c;\n          }\n        }\n      }\n      else {\n        uVar24 = (**(code **)(pcVar21 + 0x1cb834))(7);\n        if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if ((uint)uVar24 < 2) {\n            uVar24 = (*pcVar22)(7);\n            if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001ddb28;\n            pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n            if (1 < (uint)uVar24) goto LAB_001ddb2c;\n            iVar11 = 1;\n            goto LAB_001ddb44;\n          }\n        }\n        else {\nLAB_001ddb28:\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n        }\nLAB_001ddb2c:\n        uVar24 = (*pcVar22)(7);\n        if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n           (pcVar22 = *(code **)(pcVar21 + 0x1cb834), (uint)uVar24 < 2)) {\nLAB_001dde6c:\n          (*pcVar22)(7);\n          iVar11 = extraout_v1_04;\n        }\n        else {\n          iVar11 = 2;\n        }\n      }\nLAB_001ddb44:\n      iVar2 = 0;\n      iStack_1298 = 1;\n      puStack_1294 = &uStack_12c0;\n      puStack_12b4 = puVar12;\n      iStack_12b0 = iVar3;\n      iStack_12ac = iVar4;\n      uStack_12a8 = uVar9;\n      uStack_12a4 = uVar8;\n      puStack_12a0 = auStack_1290;\n      iStack_129c = iStack_12dc;\n      (**(code **)(pcVar21 + 0x1cb890))\n                (*(int *)(pcVar21 + 0x1cb09c) + -0x71ec,&puStack_12b4,iVar11,0);\n      iVar3 = iStack_1298;\n      (**(code **)(pcVar21 + 0x1cb5ec))(uVar9);\n      (**(code **)(pcVar21 + 0x1cb5ec))(uVar8);\n      if (iVar3 == 0) {\n        iStack_12dc = (**(code **)(pcVar21 + 0x1cb644))(iStack_12dc);\n      }\n    }" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (compound_statement "{\n      (**(code **)(pcVar21 + 0x1cb644))(iStack_12dc);\n      iStack_12dc = 0;\n    }" { (expression_statement "(**(code **)(pcVar21 + 0x1cb644))(iStack_12dc);" (call_expression "(**(code **)(pcVar21 + 0x1cb644))(iStack_12dc)" (parenthesized_expression "(**(code **)(pcVar21 + 0x1cb644))" ( (pointer_expression "**(code **)(pcVar21 + 0x1cb644)" * (pointer_expression "*(code **)(pcVar21 + 0x1cb644)" * (cast_expression "(code **)(pcVar21 + 0x1cb644)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x1cb644)" ( (binary_expression "pcVar21 + 0x1cb644" identifier + number_literal) ))))) )) (argument_list "(iStack_12dc)" ( identifier ))) ;) (expression_statement "iStack_12dc = 0;" (assignment_expression "iStack_12dc = 0" identifier = number_literal) ;) }) (else_clause "else {\n      if (*(int *)(puVar12 + 0x3350) != 0) {\n        iVar17 = *(int *)(pcVar21 + 0x1cafe4);\n        iVar14 = *(int *)(pcVar21 + 0x1cafe4);\n        (**(code **)(pcVar21 + 0x1cb8d8))\n                  (0x10000,iVar14 + -0x12ec,iVar17 + -0xf34,0x318,\n                   *(int *)(pcVar21 + 0x1cafe4) + -0x12d0);\n        puStack_12b4 = (undefined1 *)\n                       (**(code **)(pcVar21 + 0x1cbf0c))(*(int *)(pcVar21 + 0x1cafdc) + -0x3688);\n        iStack_12e4 = 0;\n        iVar2 = *(int *)(pcVar21 + 0x1cafdc);\n        iVar7 = *(int *)(pcVar21 + 0x1cafe0);\n        iVar11 = *(int *)(pcVar21 + 0x1cafdc);\n        do {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb474);\n          iVar19 = 0;\n          *puStack_12b4 = 0;\n          (*pcVar22)(auStack_116c,0x1000,iVar11 + -0x66b8);\n          (**(code **)(pcVar21 + 0x1cbaa0))(&puStack_12b4,auStack_116c);\n          do {\n            iVar19 = iVar19 + 1;\n            (**(code **)(pcVar21 + 0x1cb474))(auStack_116c,0x1000,iVar7 + 0x4930);\n            (**(code **)(pcVar21 + 0x1cbaa0))(&puStack_12b4,auStack_116c);\n          } while (iVar19 != 6);\n          iStack_12e4 = iStack_12e4 + 1;\n          (**(code **)(pcVar21 + 0x1cb8d8))\n                    (0x10000,iVar14 + -0x12ec,iVar17 + -0xf34,0x326,iVar2 + -0x62ac,puStack_12b4);\n        } while (iStack_12e4 != 6);\n        (**(code **)(pcVar21 + 0x1cb76c))(puStack_12b4);\n      }\n      uStack_12bc = 0;\n      uStack_12c0 = 0;\n      uVar8 = (**(code **)(pcVar21 + 0x1cbe4c))(puVar12,iVar4);\n      uVar9 = (**(code **)(pcVar21 + 0x1cb5cc))(iStack_12dc,iVar4);\n      iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(puVar12);\n      if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(puVar12), iVar2 == 3)) &&\n         ((iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc), iVar2 == 3)))) {\n        (**(code **)(pcVar21 + 0x1cb834))(7);\n        iVar2 = *(int *)(puVar12 + 0x1c);\n        if (iVar2 < 0) {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if (iVar2 + 0x3f >> 6 <= extraout_v1_03) goto LAB_001ddc6c;\nLAB_001dde94:\n          (*pcVar22)(7);\n          bVar1 = extraout_v1_05 < 2;\n        }\n        else {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if (extraout_v1_03 < iVar2 >> 6) goto LAB_001dde94;\nLAB_001ddc6c:\n          bVar1 = iVar2 < 0x80;\n        }\n        iVar11 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar21 + 0x1cb834))(7);\n          iVar11 = *(int *)(puVar12 + 0x1c);\n          if (iVar11 < 0) {\n            iVar11 = iVar11 + 0x3f;\n          }\n          iVar11 = iVar11 >> 6;\n          if (extraout_v1_06 < iVar11) {\n            pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n            goto LAB_001dde6c;\n          }\n        }\n      }\n      else {\n        uVar24 = (**(code **)(pcVar21 + 0x1cb834))(7);\n        if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if ((uint)uVar24 < 2) {\n            uVar24 = (*pcVar22)(7);\n            if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001ddb28;\n            pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n            if (1 < (uint)uVar24) goto LAB_001ddb2c;\n            iVar11 = 1;\n            goto LAB_001ddb44;\n          }\n        }\n        else {\nLAB_001ddb28:\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n        }\nLAB_001ddb2c:\n        uVar24 = (*pcVar22)(7);\n        if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n           (pcVar22 = *(code **)(pcVar21 + 0x1cb834), (uint)uVar24 < 2)) {\nLAB_001dde6c:\n          (*pcVar22)(7);\n          iVar11 = extraout_v1_04;\n        }\n        else {\n          iVar11 = 2;\n        }\n      }\nLAB_001ddb44:\n      iVar2 = 0;\n      iStack_1298 = 1;\n      puStack_1294 = &uStack_12c0;\n      puStack_12b4 = puVar12;\n      iStack_12b0 = iVar3;\n      iStack_12ac = iVar4;\n      uStack_12a8 = uVar9;\n      uStack_12a4 = uVar8;\n      puStack_12a0 = auStack_1290;\n      iStack_129c = iStack_12dc;\n      (**(code **)(pcVar21 + 0x1cb890))\n                (*(int *)(pcVar21 + 0x1cb09c) + -0x71ec,&puStack_12b4,iVar11,0);\n      iVar3 = iStack_1298;\n      (**(code **)(pcVar21 + 0x1cb5ec))(uVar9);\n      (**(code **)(pcVar21 + 0x1cb5ec))(uVar8);\n      if (iVar3 == 0) {\n        iStack_12dc = (**(code **)(pcVar21 + 0x1cb644))(iStack_12dc);\n      }\n    }" else (compound_statement "{\n      if (*(int *)(puVar12 + 0x3350) != 0) {\n        iVar17 = *(int *)(pcVar21 + 0x1cafe4);\n        iVar14 = *(int *)(pcVar21 + 0x1cafe4);\n        (**(code **)(pcVar21 + 0x1cb8d8))\n                  (0x10000,iVar14 + -0x12ec,iVar17 + -0xf34,0x318,\n                   *(int *)(pcVar21 + 0x1cafe4) + -0x12d0);\n        puStack_12b4 = (undefined1 *)\n                       (**(code **)(pcVar21 + 0x1cbf0c))(*(int *)(pcVar21 + 0x1cafdc) + -0x3688);\n        iStack_12e4 = 0;\n        iVar2 = *(int *)(pcVar21 + 0x1cafdc);\n        iVar7 = *(int *)(pcVar21 + 0x1cafe0);\n        iVar11 = *(int *)(pcVar21 + 0x1cafdc);\n        do {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb474);\n          iVar19 = 0;\n          *puStack_12b4 = 0;\n          (*pcVar22)(auStack_116c,0x1000,iVar11 + -0x66b8);\n          (**(code **)(pcVar21 + 0x1cbaa0))(&puStack_12b4,auStack_116c);\n          do {\n            iVar19 = iVar19 + 1;\n            (**(code **)(pcVar21 + 0x1cb474))(auStack_116c,0x1000,iVar7 + 0x4930);\n            (**(code **)(pcVar21 + 0x1cbaa0))(&puStack_12b4,auStack_116c);\n          } while (iVar19 != 6);\n          iStack_12e4 = iStack_12e4 + 1;\n          (**(code **)(pcVar21 + 0x1cb8d8))\n                    (0x10000,iVar14 + -0x12ec,iVar17 + -0xf34,0x326,iVar2 + -0x62ac,puStack_12b4);\n        } while (iStack_12e4 != 6);\n        (**(code **)(pcVar21 + 0x1cb76c))(puStack_12b4);\n      }\n      uStack_12bc = 0;\n      uStack_12c0 = 0;\n      uVar8 = (**(code **)(pcVar21 + 0x1cbe4c))(puVar12,iVar4);\n      uVar9 = (**(code **)(pcVar21 + 0x1cb5cc))(iStack_12dc,iVar4);\n      iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(puVar12);\n      if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(puVar12), iVar2 == 3)) &&\n         ((iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc), iVar2 == 3)))) {\n        (**(code **)(pcVar21 + 0x1cb834))(7);\n        iVar2 = *(int *)(puVar12 + 0x1c);\n        if (iVar2 < 0) {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if (iVar2 + 0x3f >> 6 <= extraout_v1_03) goto LAB_001ddc6c;\nLAB_001dde94:\n          (*pcVar22)(7);\n          bVar1 = extraout_v1_05 < 2;\n        }\n        else {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if (extraout_v1_03 < iVar2 >> 6) goto LAB_001dde94;\nLAB_001ddc6c:\n          bVar1 = iVar2 < 0x80;\n        }\n        iVar11 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar21 + 0x1cb834))(7);\n          iVar11 = *(int *)(puVar12 + 0x1c);\n          if (iVar11 < 0) {\n            iVar11 = iVar11 + 0x3f;\n          }\n          iVar11 = iVar11 >> 6;\n          if (extraout_v1_06 < iVar11) {\n            pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n            goto LAB_001dde6c;\n          }\n        }\n      }\n      else {\n        uVar24 = (**(code **)(pcVar21 + 0x1cb834))(7);\n        if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if ((uint)uVar24 < 2) {\n            uVar24 = (*pcVar22)(7);\n            if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001ddb28;\n            pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n            if (1 < (uint)uVar24) goto LAB_001ddb2c;\n            iVar11 = 1;\n            goto LAB_001ddb44;\n          }\n        }\n        else {\nLAB_001ddb28:\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n        }\nLAB_001ddb2c:\n        uVar24 = (*pcVar22)(7);\n        if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n           (pcVar22 = *(code **)(pcVar21 + 0x1cb834), (uint)uVar24 < 2)) {\nLAB_001dde6c:\n          (*pcVar22)(7);\n          iVar11 = extraout_v1_04;\n        }\n        else {\n          iVar11 = 2;\n        }\n      }\nLAB_001ddb44:\n      iVar2 = 0;\n      iStack_1298 = 1;\n      puStack_1294 = &uStack_12c0;\n      puStack_12b4 = puVar12;\n      iStack_12b0 = iVar3;\n      iStack_12ac = iVar4;\n      uStack_12a8 = uVar9;\n      uStack_12a4 = uVar8;\n      puStack_12a0 = auStack_1290;\n      iStack_129c = iStack_12dc;\n      (**(code **)(pcVar21 + 0x1cb890))\n                (*(int *)(pcVar21 + 0x1cb09c) + -0x71ec,&puStack_12b4,iVar11,0);\n      iVar3 = iStack_1298;\n      (**(code **)(pcVar21 + 0x1cb5ec))(uVar9);\n      (**(code **)(pcVar21 + 0x1cb5ec))(uVar8);\n      if (iVar3 == 0) {\n        iStack_12dc = (**(code **)(pcVar21 + 0x1cb644))(iStack_12dc);\n      }\n    }" { (if_statement "if (*(int *)(puVar12 + 0x3350) != 0) {\n        iVar17 = *(int *)(pcVar21 + 0x1cafe4);\n        iVar14 = *(int *)(pcVar21 + 0x1cafe4);\n        (**(code **)(pcVar21 + 0x1cb8d8))\n                  (0x10000,iVar14 + -0x12ec,iVar17 + -0xf34,0x318,\n                   *(int *)(pcVar21 + 0x1cafe4) + -0x12d0);\n        puStack_12b4 = (undefined1 *)\n                       (**(code **)(pcVar21 + 0x1cbf0c))(*(int *)(pcVar21 + 0x1cafdc) + -0x3688);\n        iStack_12e4 = 0;\n        iVar2 = *(int *)(pcVar21 + 0x1cafdc);\n        iVar7 = *(int *)(pcVar21 + 0x1cafe0);\n        iVar11 = *(int *)(pcVar21 + 0x1cafdc);\n        do {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb474);\n          iVar19 = 0;\n          *puStack_12b4 = 0;\n          (*pcVar22)(auStack_116c,0x1000,iVar11 + -0x66b8);\n          (**(code **)(pcVar21 + 0x1cbaa0))(&puStack_12b4,auStack_116c);\n          do {\n            iVar19 = iVar19 + 1;\n            (**(code **)(pcVar21 + 0x1cb474))(auStack_116c,0x1000,iVar7 + 0x4930);\n            (**(code **)(pcVar21 + 0x1cbaa0))(&puStack_12b4,auStack_116c);\n          } while (iVar19 != 6);\n          iStack_12e4 = iStack_12e4 + 1;\n          (**(code **)(pcVar21 + 0x1cb8d8))\n                    (0x10000,iVar14 + -0x12ec,iVar17 + -0xf34,0x326,iVar2 + -0x62ac,puStack_12b4);\n        } while (iStack_12e4 != 6);\n        (**(code **)(pcVar21 + 0x1cb76c))(puStack_12b4);\n      }" if (parenthesized_expression "(*(int *)(puVar12 + 0x3350) != 0)" ( (binary_expression "*(int *)(puVar12 + 0x3350) != 0" (pointer_expression "*(int *)(puVar12 + 0x3350)" * (cast_expression "(int *)(puVar12 + 0x3350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x3350)" ( (binary_expression "puVar12 + 0x3350" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n        iVar17 = *(int *)(pcVar21 + 0x1cafe4);\n        iVar14 = *(int *)(pcVar21 + 0x1cafe4);\n        (**(code **)(pcVar21 + 0x1cb8d8))\n                  (0x10000,iVar14 + -0x12ec,iVar17 + -0xf34,0x318,\n                   *(int *)(pcVar21 + 0x1cafe4) + -0x12d0);\n        puStack_12b4 = (undefined1 *)\n                       (**(code **)(pcVar21 + 0x1cbf0c))(*(int *)(pcVar21 + 0x1cafdc) + -0x3688);\n        iStack_12e4 = 0;\n        iVar2 = *(int *)(pcVar21 + 0x1cafdc);\n        iVar7 = *(int *)(pcVar21 + 0x1cafe0);\n        iVar11 = *(int *)(pcVar21 + 0x1cafdc);\n        do {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb474);\n          iVar19 = 0;\n          *puStack_12b4 = 0;\n          (*pcVar22)(auStack_116c,0x1000,iVar11 + -0x66b8);\n          (**(code **)(pcVar21 + 0x1cbaa0))(&puStack_12b4,auStack_116c);\n          do {\n            iVar19 = iVar19 + 1;\n            (**(code **)(pcVar21 + 0x1cb474))(auStack_116c,0x1000,iVar7 + 0x4930);\n            (**(code **)(pcVar21 + 0x1cbaa0))(&puStack_12b4,auStack_116c);\n          } while (iVar19 != 6);\n          iStack_12e4 = iStack_12e4 + 1;\n          (**(code **)(pcVar21 + 0x1cb8d8))\n                    (0x10000,iVar14 + -0x12ec,iVar17 + -0xf34,0x326,iVar2 + -0x62ac,puStack_12b4);\n        } while (iStack_12e4 != 6);\n        (**(code **)(pcVar21 + 0x1cb76c))(puStack_12b4);\n      }" { (expression_statement "iVar17 = *(int *)(pcVar21 + 0x1cafe4);" (assignment_expression "iVar17 = *(int *)(pcVar21 + 0x1cafe4)" identifier = (pointer_expression "*(int *)(pcVar21 + 0x1cafe4)" * (cast_expression "(int *)(pcVar21 + 0x1cafe4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar21 + 0x1cafe4)" ( (binary_expression "pcVar21 + 0x1cafe4" identifier + number_literal) ))))) ;) (expression_statement "iVar14 = *(int *)(pcVar21 + 0x1cafe4);" (assignment_expression "iVar14 = *(int *)(pcVar21 + 0x1cafe4)" identifier = (pointer_expression "*(int *)(pcVar21 + 0x1cafe4)" * (cast_expression "(int *)(pcVar21 + 0x1cafe4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar21 + 0x1cafe4)" ( (binary_expression "pcVar21 + 0x1cafe4" identifier + number_literal) ))))) ;) (expression_statement "(**(code **)(pcVar21 + 0x1cb8d8))\n                  (0x10000,iVar14 + -0x12ec,iVar17 + -0xf34,0x318,\n                   *(int *)(pcVar21 + 0x1cafe4) + -0x12d0);" (call_expression "(**(code **)(pcVar21 + 0x1cb8d8))\n                  (0x10000,iVar14 + -0x12ec,iVar17 + -0xf34,0x318,\n                   *(int *)(pcVar21 + 0x1cafe4) + -0x12d0)" (parenthesized_expression "(**(code **)(pcVar21 + 0x1cb8d8))" ( (pointer_expression "**(code **)(pcVar21 + 0x1cb8d8)" * (pointer_expression "*(code **)(pcVar21 + 0x1cb8d8)" * (cast_expression "(code **)(pcVar21 + 0x1cb8d8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x1cb8d8)" ( (binary_expression "pcVar21 + 0x1cb8d8" identifier + number_literal) ))))) )) (argument_list "(0x10000,iVar14 + -0x12ec,iVar17 + -0xf34,0x318,\n                   *(int *)(pcVar21 + 0x1cafe4) + -0x12d0)" ( number_literal , (binary_expression "iVar14 + -0x12ec" identifier + number_literal) , (binary_expression "iVar17 + -0xf34" identifier + number_literal) , number_literal , (binary_expression "*(int *)(pcVar21 + 0x1cafe4) + -0x12d0" (pointer_expression "*(int *)(pcVar21 + 0x1cafe4)" * (cast_expression "(int *)(pcVar21 + 0x1cafe4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar21 + 0x1cafe4)" ( (binary_expression "pcVar21 + 0x1cafe4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "puStack_12b4 = (undefined1 *)\n                       (**(code **)(pcVar21 + 0x1cbf0c))(*(int *)(pcVar21 + 0x1cafdc) + -0x3688);" (assignment_expression "puStack_12b4 = (undefined1 *)\n                       (**(code **)(pcVar21 + 0x1cbf0c))(*(int *)(pcVar21 + 0x1cafdc) + -0x3688)" identifier = (cast_expression "(undefined1 *)\n                       (**(code **)(pcVar21 + 0x1cbf0c))(*(int *)(pcVar21 + 0x1cafdc) + -0x3688)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar21 + 0x1cbf0c))(*(int *)(pcVar21 + 0x1cafdc) + -0x3688)" (parenthesized_expression "(**(code **)(pcVar21 + 0x1cbf0c))" ( (pointer_expression "**(code **)(pcVar21 + 0x1cbf0c)" * (pointer_expression "*(code **)(pcVar21 + 0x1cbf0c)" * (cast_expression "(code **)(pcVar21 + 0x1cbf0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x1cbf0c)" ( (binary_expression "pcVar21 + 0x1cbf0c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar21 + 0x1cafdc) + -0x3688)" ( (binary_expression "*(int *)(pcVar21 + 0x1cafdc) + -0x3688" (pointer_expression "*(int *)(pcVar21 + 0x1cafdc)" * (cast_expression "(int *)(pcVar21 + 0x1cafdc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar21 + 0x1cafdc)" ( (binary_expression "pcVar21 + 0x1cafdc" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "iStack_12e4 = 0;" (assignment_expression "iStack_12e4 = 0" identifier = number_literal) ;) (expression_statement "iVar2 = *(int *)(pcVar21 + 0x1cafdc);" (assignment_expression "iVar2 = *(int *)(pcVar21 + 0x1cafdc)" identifier = (pointer_expression "*(int *)(pcVar21 + 0x1cafdc)" * (cast_expression "(int *)(pcVar21 + 0x1cafdc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar21 + 0x1cafdc)" ( (binary_expression "pcVar21 + 0x1cafdc" identifier + number_literal) ))))) ;) (expression_statement "iVar7 = *(int *)(pcVar21 + 0x1cafe0);" (assignment_expression "iVar7 = *(int *)(pcVar21 + 0x1cafe0)" identifier = (pointer_expression "*(int *)(pcVar21 + 0x1cafe0)" * (cast_expression "(int *)(pcVar21 + 0x1cafe0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar21 + 0x1cafe0)" ( (binary_expression "pcVar21 + 0x1cafe0" identifier + number_literal) ))))) ;) (expression_statement "iVar11 = *(int *)(pcVar21 + 0x1cafdc);" (assignment_expression "iVar11 = *(int *)(pcVar21 + 0x1cafdc)" identifier = (pointer_expression "*(int *)(pcVar21 + 0x1cafdc)" * (cast_expression "(int *)(pcVar21 + 0x1cafdc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar21 + 0x1cafdc)" ( (binary_expression "pcVar21 + 0x1cafdc" identifier + number_literal) ))))) ;) (do_statement "do {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb474);\n          iVar19 = 0;\n          *puStack_12b4 = 0;\n          (*pcVar22)(auStack_116c,0x1000,iVar11 + -0x66b8);\n          (**(code **)(pcVar21 + 0x1cbaa0))(&puStack_12b4,auStack_116c);\n          do {\n            iVar19 = iVar19 + 1;\n            (**(code **)(pcVar21 + 0x1cb474))(auStack_116c,0x1000,iVar7 + 0x4930);\n            (**(code **)(pcVar21 + 0x1cbaa0))(&puStack_12b4,auStack_116c);\n          } while (iVar19 != 6);\n          iStack_12e4 = iStack_12e4 + 1;\n          (**(code **)(pcVar21 + 0x1cb8d8))\n                    (0x10000,iVar14 + -0x12ec,iVar17 + -0xf34,0x326,iVar2 + -0x62ac,puStack_12b4);\n        } while (iStack_12e4 != 6);" do (compound_statement "{\n          pcVar22 = *(code **)(pcVar21 + 0x1cb474);\n          iVar19 = 0;\n          *puStack_12b4 = 0;\n          (*pcVar22)(auStack_116c,0x1000,iVar11 + -0x66b8);\n          (**(code **)(pcVar21 + 0x1cbaa0))(&puStack_12b4,auStack_116c);\n          do {\n            iVar19 = iVar19 + 1;\n            (**(code **)(pcVar21 + 0x1cb474))(auStack_116c,0x1000,iVar7 + 0x4930);\n            (**(code **)(pcVar21 + 0x1cbaa0))(&puStack_12b4,auStack_116c);\n          } while (iVar19 != 6);\n          iStack_12e4 = iStack_12e4 + 1;\n          (**(code **)(pcVar21 + 0x1cb8d8))\n                    (0x10000,iVar14 + -0x12ec,iVar17 + -0xf34,0x326,iVar2 + -0x62ac,puStack_12b4);\n        }" { (expression_statement "pcVar22 = *(code **)(pcVar21 + 0x1cb474);" (assignment_expression "pcVar22 = *(code **)(pcVar21 + 0x1cb474)" identifier = (pointer_expression "*(code **)(pcVar21 + 0x1cb474)" * (cast_expression "(code **)(pcVar21 + 0x1cb474)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x1cb474)" ( (binary_expression "pcVar21 + 0x1cb474" identifier + number_literal) ))))) ;) (expression_statement "iVar19 = 0;" (assignment_expression "iVar19 = 0" identifier = number_literal) ;) (expression_statement "*puStack_12b4 = 0;" (assignment_expression "*puStack_12b4 = 0" (pointer_expression "*puStack_12b4" * identifier) = number_literal) ;) (expression_statement "(*pcVar22)(auStack_116c,0x1000,iVar11 + -0x66b8);" (call_expression "(*pcVar22)(auStack_116c,0x1000,iVar11 + -0x66b8)" (parenthesized_expression "(*pcVar22)" ( (pointer_expression "*pcVar22" * identifier) )) (argument_list "(auStack_116c,0x1000,iVar11 + -0x66b8)" ( identifier , number_literal , (binary_expression "iVar11 + -0x66b8" identifier + number_literal) ))) ;) (expression_statement "(**(code **)(pcVar21 + 0x1cbaa0))(&puStack_12b4,auStack_116c);" (call_expression "(**(code **)(pcVar21 + 0x1cbaa0))(&puStack_12b4,auStack_116c)" (parenthesized_expression "(**(code **)(pcVar21 + 0x1cbaa0))" ( (pointer_expression "**(code **)(pcVar21 + 0x1cbaa0)" * (pointer_expression "*(code **)(pcVar21 + 0x1cbaa0)" * (cast_expression "(code **)(pcVar21 + 0x1cbaa0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x1cbaa0)" ( (binary_expression "pcVar21 + 0x1cbaa0" identifier + number_literal) ))))) )) (argument_list "(&puStack_12b4,auStack_116c)" ( (pointer_expression "&puStack_12b4" & identifier) , identifier ))) ;) (do_statement "do {\n            iVar19 = iVar19 + 1;\n            (**(code **)(pcVar21 + 0x1cb474))(auStack_116c,0x1000,iVar7 + 0x4930);\n            (**(code **)(pcVar21 + 0x1cbaa0))(&puStack_12b4,auStack_116c);\n          } while (iVar19 != 6);" do (compound_statement "{\n            iVar19 = iVar19 + 1;\n            (**(code **)(pcVar21 + 0x1cb474))(auStack_116c,0x1000,iVar7 + 0x4930);\n            (**(code **)(pcVar21 + 0x1cbaa0))(&puStack_12b4,auStack_116c);\n          }" { (expression_statement "iVar19 = iVar19 + 1;" (assignment_expression "iVar19 = iVar19 + 1" identifier = (binary_expression "iVar19 + 1" identifier + number_literal)) ;) (expression_statement "(**(code **)(pcVar21 + 0x1cb474))(auStack_116c,0x1000,iVar7 + 0x4930);" (call_expression "(**(code **)(pcVar21 + 0x1cb474))(auStack_116c,0x1000,iVar7 + 0x4930)" (parenthesized_expression "(**(code **)(pcVar21 + 0x1cb474))" ( (pointer_expression "**(code **)(pcVar21 + 0x1cb474)" * (pointer_expression "*(code **)(pcVar21 + 0x1cb474)" * (cast_expression "(code **)(pcVar21 + 0x1cb474)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x1cb474)" ( (binary_expression "pcVar21 + 0x1cb474" identifier + number_literal) ))))) )) (argument_list "(auStack_116c,0x1000,iVar7 + 0x4930)" ( identifier , number_literal , (binary_expression "iVar7 + 0x4930" identifier + number_literal) ))) ;) (expression_statement "(**(code **)(pcVar21 + 0x1cbaa0))(&puStack_12b4,auStack_116c);" (call_expression "(**(code **)(pcVar21 + 0x1cbaa0))(&puStack_12b4,auStack_116c)" (parenthesized_expression "(**(code **)(pcVar21 + 0x1cbaa0))" ( (pointer_expression "**(code **)(pcVar21 + 0x1cbaa0)" * (pointer_expression "*(code **)(pcVar21 + 0x1cbaa0)" * (cast_expression "(code **)(pcVar21 + 0x1cbaa0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x1cbaa0)" ( (binary_expression "pcVar21 + 0x1cbaa0" identifier + number_literal) ))))) )) (argument_list "(&puStack_12b4,auStack_116c)" ( (pointer_expression "&puStack_12b4" & identifier) , identifier ))) ;) }) while (parenthesized_expression "(iVar19 != 6)" ( (binary_expression "iVar19 != 6" identifier != number_literal) )) ;) (expression_statement "iStack_12e4 = iStack_12e4 + 1;" (assignment_expression "iStack_12e4 = iStack_12e4 + 1" identifier = (binary_expression "iStack_12e4 + 1" identifier + number_literal)) ;) (expression_statement "(**(code **)(pcVar21 + 0x1cb8d8))\n                    (0x10000,iVar14 + -0x12ec,iVar17 + -0xf34,0x326,iVar2 + -0x62ac,puStack_12b4);" (call_expression "(**(code **)(pcVar21 + 0x1cb8d8))\n                    (0x10000,iVar14 + -0x12ec,iVar17 + -0xf34,0x326,iVar2 + -0x62ac,puStack_12b4)" (parenthesized_expression "(**(code **)(pcVar21 + 0x1cb8d8))" ( (pointer_expression "**(code **)(pcVar21 + 0x1cb8d8)" * (pointer_expression "*(code **)(pcVar21 + 0x1cb8d8)" * (cast_expression "(code **)(pcVar21 + 0x1cb8d8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x1cb8d8)" ( (binary_expression "pcVar21 + 0x1cb8d8" identifier + number_literal) ))))) )) (argument_list "(0x10000,iVar14 + -0x12ec,iVar17 + -0xf34,0x326,iVar2 + -0x62ac,puStack_12b4)" ( number_literal , (binary_expression "iVar14 + -0x12ec" identifier + number_literal) , (binary_expression "iVar17 + -0xf34" identifier + number_literal) , number_literal , (binary_expression "iVar2 + -0x62ac" identifier + number_literal) , identifier ))) ;) }) while (parenthesized_expression "(iStack_12e4 != 6)" ( (binary_expression "iStack_12e4 != 6" identifier != number_literal) )) ;) (expression_statement "(**(code **)(pcVar21 + 0x1cb76c))(puStack_12b4);" (call_expression "(**(code **)(pcVar21 + 0x1cb76c))(puStack_12b4)" (parenthesized_expression "(**(code **)(pcVar21 + 0x1cb76c))" ( (pointer_expression "**(code **)(pcVar21 + 0x1cb76c)" * (pointer_expression "*(code **)(pcVar21 + 0x1cb76c)" * (cast_expression "(code **)(pcVar21 + 0x1cb76c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x1cb76c)" ( (binary_expression "pcVar21 + 0x1cb76c" identifier + number_literal) ))))) )) (argument_list "(puStack_12b4)" ( identifier ))) ;) })) (expression_statement "uStack_12bc = 0;" (assignment_expression "uStack_12bc = 0" identifier = number_literal) ;) (expression_statement "uStack_12c0 = 0;" (assignment_expression "uStack_12c0 = 0" identifier = number_literal) ;) (expression_statement "uVar8 = (**(code **)(pcVar21 + 0x1cbe4c))(puVar12,iVar4);" (assignment_expression "uVar8 = (**(code **)(pcVar21 + 0x1cbe4c))(puVar12,iVar4)" identifier = (call_expression "(**(code **)(pcVar21 + 0x1cbe4c))(puVar12,iVar4)" (parenthesized_expression "(**(code **)(pcVar21 + 0x1cbe4c))" ( (pointer_expression "**(code **)(pcVar21 + 0x1cbe4c)" * (pointer_expression "*(code **)(pcVar21 + 0x1cbe4c)" * (cast_expression "(code **)(pcVar21 + 0x1cbe4c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x1cbe4c)" ( (binary_expression "pcVar21 + 0x1cbe4c" identifier + number_literal) ))))) )) (argument_list "(puVar12,iVar4)" ( identifier , identifier )))) ;) (expression_statement "uVar9 = (**(code **)(pcVar21 + 0x1cb5cc))(iStack_12dc,iVar4);" (assignment_expression "uVar9 = (**(code **)(pcVar21 + 0x1cb5cc))(iStack_12dc,iVar4)" identifier = (call_expression "(**(code **)(pcVar21 + 0x1cb5cc))(iStack_12dc,iVar4)" (parenthesized_expression "(**(code **)(pcVar21 + 0x1cb5cc))" ( (pointer_expression "**(code **)(pcVar21 + 0x1cb5cc)" * (pointer_expression "*(code **)(pcVar21 + 0x1cb5cc)" * (cast_expression "(code **)(pcVar21 + 0x1cb5cc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x1cb5cc)" ( (binary_expression "pcVar21 + 0x1cb5cc" identifier + number_literal) ))))) )) (argument_list "(iStack_12dc,iVar4)" ( identifier , identifier )))) ;) (expression_statement "iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(puVar12);" (assignment_expression "iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(puVar12)" identifier = (call_expression "(**(code **)(pcVar21 + 0x1cbbac))(puVar12)" (parenthesized_expression "(**(code **)(pcVar21 + 0x1cbbac))" ( (pointer_expression "**(code **)(pcVar21 + 0x1cbbac)" * (pointer_expression "*(code **)(pcVar21 + 0x1cbbac)" * (cast_expression "(code **)(pcVar21 + 0x1cbbac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x1cbbac)" ( (binary_expression "pcVar21 + 0x1cbbac" identifier + number_literal) ))))) )) (argument_list "(puVar12)" ( identifier )))) ;) (if_statement "if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(puVar12), iVar2 == 3)) &&\n         ((iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc), iVar2 == 3)))) {\n        (**(code **)(pcVar21 + 0x1cb834))(7);\n        iVar2 = *(int *)(puVar12 + 0x1c);\n        if (iVar2 < 0) {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if (iVar2 + 0x3f >> 6 <= extraout_v1_03) goto LAB_001ddc6c;\nLAB_001dde94:\n          (*pcVar22)(7);\n          bVar1 = extraout_v1_05 < 2;\n        }\n        else {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if (extraout_v1_03 < iVar2 >> 6) goto LAB_001dde94;\nLAB_001ddc6c:\n          bVar1 = iVar2 < 0x80;\n        }\n        iVar11 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar21 + 0x1cb834))(7);\n          iVar11 = *(int *)(puVar12 + 0x1c);\n          if (iVar11 < 0) {\n            iVar11 = iVar11 + 0x3f;\n          }\n          iVar11 = iVar11 >> 6;\n          if (extraout_v1_06 < iVar11) {\n            pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n            goto LAB_001dde6c;\n          }\n        }\n      }\n      else {\n        uVar24 = (**(code **)(pcVar21 + 0x1cb834))(7);\n        if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if ((uint)uVar24 < 2) {\n            uVar24 = (*pcVar22)(7);\n            if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001ddb28;\n            pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n            if (1 < (uint)uVar24) goto LAB_001ddb2c;\n            iVar11 = 1;\n            goto LAB_001ddb44;\n          }\n        }\n        else {\nLAB_001ddb28:\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n        }\nLAB_001ddb2c:\n        uVar24 = (*pcVar22)(7);\n        if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n           (pcVar22 = *(code **)(pcVar21 + 0x1cb834), (uint)uVar24 < 2)) {\nLAB_001dde6c:\n          (*pcVar22)(7);\n          iVar11 = extraout_v1_04;\n        }\n        else {\n          iVar11 = 2;\n        }\n      }" if (parenthesized_expression "(((iVar2 == 4) || (iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(puVar12), iVar2 == 3)) &&\n         ((iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc), iVar2 == 3))))" ( (binary_expression "((iVar2 == 4) || (iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(puVar12), iVar2 == 3)) &&\n         ((iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc), iVar2 == 3)))" (parenthesized_expression "((iVar2 == 4) || (iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(puVar12), iVar2 == 3))" ( (binary_expression "(iVar2 == 4) || (iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(puVar12), iVar2 == 3)" (parenthesized_expression "(iVar2 == 4)" ( (binary_expression "iVar2 == 4" identifier == number_literal) )) || (parenthesized_expression "(iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(puVar12), iVar2 == 3)" ( (comma_expression "iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(puVar12), iVar2 == 3" (assignment_expression "iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(puVar12)" identifier = (call_expression "(**(code **)(pcVar21 + 0x1cbbac))(puVar12)" (parenthesized_expression "(**(code **)(pcVar21 + 0x1cbbac))" ( (pointer_expression "**(code **)(pcVar21 + 0x1cbbac)" * (pointer_expression "*(code **)(pcVar21 + 0x1cbbac)" * (cast_expression "(code **)(pcVar21 + 0x1cbbac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x1cbbac)" ( (binary_expression "pcVar21 + 0x1cbbac" identifier + number_literal) ))))) )) (argument_list "(puVar12)" ( identifier )))) , (binary_expression "iVar2 == 3" identifier == number_literal)) ))) )) && (parenthesized_expression "((iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc), iVar2 == 3)))" ( (parenthesized_expression "(iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc), iVar2 == 3))" ( (comma_expression "iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc), iVar2 == 3)" (assignment_expression "iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc)" identifier = (call_expression "(**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc)" (parenthesized_expression "(**(code **)(pcVar21 + 0x1cbbac))" ( (pointer_expression "**(code **)(pcVar21 + 0x1cbbac)" * (pointer_expression "*(code **)(pcVar21 + 0x1cbbac)" * (cast_expression "(code **)(pcVar21 + 0x1cbbac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x1cbbac)" ( (binary_expression "pcVar21 + 0x1cbbac" identifier + number_literal) ))))) )) (argument_list "(iStack_12dc)" ( identifier )))) , (binary_expression "iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc), iVar2 == 3)" (binary_expression "iVar2 == 4" identifier == number_literal) || (parenthesized_expression "(iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc), iVar2 == 3)" ( (comma_expression "iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc), iVar2 == 3" (assignment_expression "iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc)" identifier = (call_expression "(**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc)" (parenthesized_expression "(**(code **)(pcVar21 + 0x1cbbac))" ( (pointer_expression "**(code **)(pcVar21 + 0x1cbbac)" * (pointer_expression "*(code **)(pcVar21 + 0x1cbbac)" * (cast_expression "(code **)(pcVar21 + 0x1cbbac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x1cbbac)" ( (binary_expression "pcVar21 + 0x1cbbac" identifier + number_literal) ))))) )) (argument_list "(iStack_12dc)" ( identifier )))) , (binary_expression "iVar2 == 3" identifier == number_literal)) )))) )) ))) )) (compound_statement "{\n        (**(code **)(pcVar21 + 0x1cb834))(7);\n        iVar2 = *(int *)(puVar12 + 0x1c);\n        if (iVar2 < 0) {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if (iVar2 + 0x3f >> 6 <= extraout_v1_03) goto LAB_001ddc6c;\nLAB_001dde94:\n          (*pcVar22)(7);\n          bVar1 = extraout_v1_05 < 2;\n        }\n        else {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if (extraout_v1_03 < iVar2 >> 6) goto LAB_001dde94;\nLAB_001ddc6c:\n          bVar1 = iVar2 < 0x80;\n        }\n        iVar11 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar21 + 0x1cb834))(7);\n          iVar11 = *(int *)(puVar12 + 0x1c);\n          if (iVar11 < 0) {\n            iVar11 = iVar11 + 0x3f;\n          }\n          iVar11 = iVar11 >> 6;\n          if (extraout_v1_06 < iVar11) {\n            pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n            goto LAB_001dde6c;\n          }\n        }\n      }" { (expression_statement "(**(code **)(pcVar21 + 0x1cb834))(7);" (call_expression "(**(code **)(pcVar21 + 0x1cb834))(7)" (parenthesized_expression "(**(code **)(pcVar21 + 0x1cb834))" ( (pointer_expression "**(code **)(pcVar21 + 0x1cb834)" * (pointer_expression "*(code **)(pcVar21 + 0x1cb834)" * (cast_expression "(code **)(pcVar21 + 0x1cb834)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x1cb834)" ( (binary_expression "pcVar21 + 0x1cb834" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "iVar2 = *(int *)(puVar12 + 0x1c);" (assignment_expression "iVar2 = *(int *)(puVar12 + 0x1c)" identifier = (pointer_expression "*(int *)(puVar12 + 0x1c)" * (cast_expression "(int *)(puVar12 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x1c)" ( (binary_expression "puVar12 + 0x1c" identifier + number_literal) ))))) ;) (if_statement "if (iVar2 < 0) {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if (iVar2 + 0x3f >> 6 <= extraout_v1_03) goto LAB_001ddc6c;\nLAB_001dde94:\n          (*pcVar22)(7);\n          bVar1 = extraout_v1_05 < 2;\n        }\n        else {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if (extraout_v1_03 < iVar2 >> 6) goto LAB_001dde94;\nLAB_001ddc6c:\n          bVar1 = iVar2 < 0x80;\n        }" if (parenthesized_expression "(iVar2 < 0)" ( (binary_expression "iVar2 < 0" identifier < number_literal) )) (compound_statement "{\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if (iVar2 + 0x3f >> 6 <= extraout_v1_03) goto LAB_001ddc6c;\nLAB_001dde94:\n          (*pcVar22)(7);\n          bVar1 = extraout_v1_05 < 2;\n        }" { (expression_statement "pcVar22 = *(code **)(pcVar21 + 0x1cb834);" (assignment_expression "pcVar22 = *(code **)(pcVar21 + 0x1cb834)" identifier = (pointer_expression "*(code **)(pcVar21 + 0x1cb834)" * (cast_expression "(code **)(pcVar21 + 0x1cb834)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x1cb834)" ( (binary_expression "pcVar21 + 0x1cb834" identifier + number_literal) ))))) ;) (if_statement "if (iVar2 + 0x3f >> 6 <= extraout_v1_03) goto LAB_001ddc6c;" if (parenthesized_expression "(iVar2 + 0x3f >> 6 <= extraout_v1_03)" ( (binary_expression "iVar2 + 0x3f >> 6 <= extraout_v1_03" (binary_expression "iVar2 + 0x3f >> 6" (binary_expression "iVar2 + 0x3f" identifier + number_literal) >> number_literal) <= identifier) )) (goto_statement "goto LAB_001ddc6c;" goto statement_identifier ;)) (labeled_statement "LAB_001dde94:\n          (*pcVar22)(7);" statement_identifier : (expression_statement "(*pcVar22)(7);" (call_expression "(*pcVar22)(7)" (parenthesized_expression "(*pcVar22)" ( (pointer_expression "*pcVar22" * identifier) )) (argument_list "(7)" ( number_literal ))) ;)) (expression_statement "bVar1 = extraout_v1_05 < 2;" (assignment_expression "bVar1 = extraout_v1_05 < 2" identifier = (binary_expression "extraout_v1_05 < 2" identifier < number_literal)) ;) }) (else_clause "else {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if (extraout_v1_03 < iVar2 >> 6) goto LAB_001dde94;\nLAB_001ddc6c:\n          bVar1 = iVar2 < 0x80;\n        }" else (compound_statement "{\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if (extraout_v1_03 < iVar2 >> 6) goto LAB_001dde94;\nLAB_001ddc6c:\n          bVar1 = iVar2 < 0x80;\n        }" { (expression_statement "pcVar22 = *(code **)(pcVar21 + 0x1cb834);" (assignment_expression "pcVar22 = *(code **)(pcVar21 + 0x1cb834)" identifier = (pointer_expression "*(code **)(pcVar21 + 0x1cb834)" * (cast_expression "(code **)(pcVar21 + 0x1cb834)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x1cb834)" ( (binary_expression "pcVar21 + 0x1cb834" identifier + number_literal) ))))) ;) (if_statement "if (extraout_v1_03 < iVar2 >> 6) goto LAB_001dde94;" if (parenthesized_expression "(extraout_v1_03 < iVar2 >> 6)" ( (binary_expression "extraout_v1_03 < iVar2 >> 6" identifier < (binary_expression "iVar2 >> 6" identifier >> number_literal)) )) (goto_statement "goto LAB_001dde94;" goto statement_identifier ;)) (labeled_statement "LAB_001ddc6c:\n          bVar1 = iVar2 < 0x80;" statement_identifier : (expression_statement "bVar1 = iVar2 < 0x80;" (assignment_expression "bVar1 = iVar2 < 0x80" identifier = (binary_expression "iVar2 < 0x80" identifier < number_literal)) ;)) }))) (expression_statement "iVar11 = 1;" (assignment_expression "iVar11 = 1" identifier = number_literal) ;) (if_statement "if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar21 + 0x1cb834))(7);\n          iVar11 = *(int *)(puVar12 + 0x1c);\n          if (iVar11 < 0) {\n            iVar11 = iVar11 + 0x3f;\n          }\n          iVar11 = iVar11 >> 6;\n          if (extraout_v1_06 < iVar11) {\n            pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n            goto LAB_001dde6c;\n          }\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 **)(pcVar21 + 0x1cb834))(7);\n          iVar11 = *(int *)(puVar12 + 0x1c);\n          if (iVar11 < 0) {\n            iVar11 = iVar11 + 0x3f;\n          }\n          iVar11 = iVar11 >> 6;\n          if (extraout_v1_06 < iVar11) {\n            pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n            goto LAB_001dde6c;\n          }\n        }" { (expression_statement "(**(code **)(pcVar21 + 0x1cb834))(7);" (call_expression "(**(code **)(pcVar21 + 0x1cb834))(7)" (parenthesized_expression "(**(code **)(pcVar21 + 0x1cb834))" ( (pointer_expression "**(code **)(pcVar21 + 0x1cb834)" * (pointer_expression "*(code **)(pcVar21 + 0x1cb834)" * (cast_expression "(code **)(pcVar21 + 0x1cb834)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x1cb834)" ( (binary_expression "pcVar21 + 0x1cb834" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "iVar11 = *(int *)(puVar12 + 0x1c);" (assignment_expression "iVar11 = *(int *)(puVar12 + 0x1c)" identifier = (pointer_expression "*(int *)(puVar12 + 0x1c)" * (cast_expression "(int *)(puVar12 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x1c)" ( (binary_expression "puVar12 + 0x1c" identifier + number_literal) ))))) ;) (if_statement "if (iVar11 < 0) {\n            iVar11 = iVar11 + 0x3f;\n          }" if (parenthesized_expression "(iVar11 < 0)" ( (binary_expression "iVar11 < 0" identifier < number_literal) )) (compound_statement "{\n            iVar11 = iVar11 + 0x3f;\n          }" { (expression_statement "iVar11 = iVar11 + 0x3f;" (assignment_expression "iVar11 = iVar11 + 0x3f" identifier = (binary_expression "iVar11 + 0x3f" identifier + number_literal)) ;) })) (expression_statement "iVar11 = iVar11 >> 6;" (assignment_expression "iVar11 = iVar11 >> 6" identifier = (binary_expression "iVar11 >> 6" identifier >> number_literal)) ;) (if_statement "if (extraout_v1_06 < iVar11) {\n            pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n            goto LAB_001dde6c;\n          }" if (parenthesized_expression "(extraout_v1_06 < iVar11)" ( (binary_expression "extraout_v1_06 < iVar11" identifier < identifier) )) (compound_statement "{\n            pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n            goto LAB_001dde6c;\n          }" { (expression_statement "pcVar22 = *(code **)(pcVar21 + 0x1cb834);" (assignment_expression "pcVar22 = *(code **)(pcVar21 + 0x1cb834)" identifier = (pointer_expression "*(code **)(pcVar21 + 0x1cb834)" * (cast_expression "(code **)(pcVar21 + 0x1cb834)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x1cb834)" ( (binary_expression "pcVar21 + 0x1cb834" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_001dde6c;" goto statement_identifier ;) })) })) }) (else_clause "else {\n        uVar24 = (**(code **)(pcVar21 + 0x1cb834))(7);\n        if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if ((uint)uVar24 < 2) {\n            uVar24 = (*pcVar22)(7);\n            if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001ddb28;\n            pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n            if (1 < (uint)uVar24) goto LAB_001ddb2c;\n            iVar11 = 1;\n            goto LAB_001ddb44;\n          }\n        }\n        else {\nLAB_001ddb28:\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n        }\nLAB_001ddb2c:\n        uVar24 = (*pcVar22)(7);\n        if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n           (pcVar22 = *(code **)(pcVar21 + 0x1cb834), (uint)uVar24 < 2)) {\nLAB_001dde6c:\n          (*pcVar22)(7);\n          iVar11 = extraout_v1_04;\n        }\n        else {\n          iVar11 = 2;\n        }\n      }" else (compound_statement "{\n        uVar24 = (**(code **)(pcVar21 + 0x1cb834))(7);\n        if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if ((uint)uVar24 < 2) {\n            uVar24 = (*pcVar22)(7);\n            if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001ddb28;\n            pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n            if (1 < (uint)uVar24) goto LAB_001ddb2c;\n            iVar11 = 1;\n            goto LAB_001ddb44;\n          }\n        }\n        else {\nLAB_001ddb28:\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n        }\nLAB_001ddb2c:\n        uVar24 = (*pcVar22)(7);\n        if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n           (pcVar22 = *(code **)(pcVar21 + 0x1cb834), (uint)uVar24 < 2)) {\nLAB_001dde6c:\n          (*pcVar22)(7);\n          iVar11 = extraout_v1_04;\n        }\n        else {\n          iVar11 = 2;\n        }\n      }" { (expression_statement "uVar24 = (**(code **)(pcVar21 + 0x1cb834))(7);" (assignment_expression "uVar24 = (**(code **)(pcVar21 + 0x1cb834))(7)" identifier = (call_expression "(**(code **)(pcVar21 + 0x1cb834))(7)" (parenthesized_expression "(**(code **)(pcVar21 + 0x1cb834))" ( (pointer_expression "**(code **)(pcVar21 + 0x1cb834)" * (pointer_expression "*(code **)(pcVar21 + 0x1cb834)" * (cast_expression "(code **)(pcVar21 + 0x1cb834)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x1cb834)" ( (binary_expression "pcVar21 + 0x1cb834" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if ((uint)uVar24 < 2) {\n            uVar24 = (*pcVar22)(7);\n            if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001ddb28;\n            pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n            if (1 < (uint)uVar24) goto LAB_001ddb2c;\n            iVar11 = 1;\n            goto LAB_001ddb44;\n          }\n        }\n        else {\nLAB_001ddb28:\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n        }" if (parenthesized_expression "((int)((ulonglong)uVar24 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar24 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar24 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar24 >> 0x20)" ( (binary_expression "(ulonglong)uVar24 >> 0x20" (cast_expression "(ulonglong)uVar24" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) (compound_statement "{\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if ((uint)uVar24 < 2) {\n            uVar24 = (*pcVar22)(7);\n            if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001ddb28;\n            pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n            if (1 < (uint)uVar24) goto LAB_001ddb2c;\n            iVar11 = 1;\n            goto LAB_001ddb44;\n          }\n        }" { (expression_statement "pcVar22 = *(code **)(pcVar21 + 0x1cb834);" (assignment_expression "pcVar22 = *(code **)(pcVar21 + 0x1cb834)" identifier = (pointer_expression "*(code **)(pcVar21 + 0x1cb834)" * (cast_expression "(code **)(pcVar21 + 0x1cb834)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x1cb834)" ( (binary_expression "pcVar21 + 0x1cb834" identifier + number_literal) ))))) ;) (if_statement "if ((uint)uVar24 < 2) {\n            uVar24 = (*pcVar22)(7);\n            if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001ddb28;\n            pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n            if (1 < (uint)uVar24) goto LAB_001ddb2c;\n            iVar11 = 1;\n            goto LAB_001ddb44;\n          }" if (parenthesized_expression "((uint)uVar24 < 2)" ( (binary_expression "(uint)uVar24 < 2" (cast_expression "(uint)uVar24" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) )) (compound_statement "{\n            uVar24 = (*pcVar22)(7);\n            if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001ddb28;\n            pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n            if (1 < (uint)uVar24) goto LAB_001ddb2c;\n            iVar11 = 1;\n            goto LAB_001ddb44;\n          }" { (expression_statement "uVar24 = (*pcVar22)(7);" (assignment_expression "uVar24 = (*pcVar22)(7)" identifier = (call_expression "(*pcVar22)(7)" (parenthesized_expression "(*pcVar22)" ( (pointer_expression "*pcVar22" * identifier) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001ddb28;" if (parenthesized_expression "((int)((ulonglong)uVar24 >> 0x20) != 0)" ( (binary_expression "(int)((ulonglong)uVar24 >> 0x20) != 0" (cast_expression "(int)((ulonglong)uVar24 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar24 >> 0x20)" ( (binary_expression "(ulonglong)uVar24 >> 0x20" (cast_expression "(ulonglong)uVar24" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) != number_literal) )) (goto_statement "goto LAB_001ddb28;" goto statement_identifier ;)) (expression_statement "pcVar22 = *(code **)(pcVar21 + 0x1cb834);" (assignment_expression "pcVar22 = *(code **)(pcVar21 + 0x1cb834)" identifier = (pointer_expression "*(code **)(pcVar21 + 0x1cb834)" * (cast_expression "(code **)(pcVar21 + 0x1cb834)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x1cb834)" ( (binary_expression "pcVar21 + 0x1cb834" identifier + number_literal) ))))) ;) (if_statement "if (1 < (uint)uVar24) goto LAB_001ddb2c;" if (parenthesized_expression "(1 < (uint)uVar24)" ( (binary_expression "1 < (uint)uVar24" number_literal < (cast_expression "(uint)uVar24" ( (type_descriptor "uint" type_identifier) ) identifier)) )) (goto_statement "goto LAB_001ddb2c;" goto statement_identifier ;)) (expression_statement "iVar11 = 1;" (assignment_expression "iVar11 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_001ddb44;" goto statement_identifier ;) })) }) (else_clause "else {\nLAB_001ddb28:\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n        }" else (compound_statement "{\nLAB_001ddb28:\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n        }" { (labeled_statement "LAB_001ddb28:\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);" statement_identifier : (expression_statement "pcVar22 = *(code **)(pcVar21 + 0x1cb834);" (assignment_expression "pcVar22 = *(code **)(pcVar21 + 0x1cb834)" identifier = (pointer_expression "*(code **)(pcVar21 + 0x1cb834)" * (cast_expression "(code **)(pcVar21 + 0x1cb834)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x1cb834)" ( (binary_expression "pcVar21 + 0x1cb834" identifier + number_literal) ))))) ;)) }))) (labeled_statement "LAB_001ddb2c:\n        uVar24 = (*pcVar22)(7);" statement_identifier : (expression_statement "uVar24 = (*pcVar22)(7);" (assignment_expression "uVar24 = (*pcVar22)(7)" identifier = (call_expression "(*pcVar22)(7)" (parenthesized_expression "(*pcVar22)" ( (pointer_expression "*pcVar22" * identifier) )) (argument_list "(7)" ( number_literal )))) ;)) (if_statement "if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n           (pcVar22 = *(code **)(pcVar21 + 0x1cb834), (uint)uVar24 < 2)) {\nLAB_001dde6c:\n          (*pcVar22)(7);\n          iVar11 = extraout_v1_04;\n        }\n        else {\n          iVar11 = 2;\n        }" if (parenthesized_expression "(((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n           (pcVar22 = *(code **)(pcVar21 + 0x1cb834), (uint)uVar24 < 2))" ( (binary_expression "((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n           (pcVar22 = *(code **)(pcVar21 + 0x1cb834), (uint)uVar24 < 2)" (parenthesized_expression "((int)((ulonglong)uVar24 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar24 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar24 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar24 >> 0x20)" ( (binary_expression "(ulonglong)uVar24 >> 0x20" (cast_expression "(ulonglong)uVar24" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) && (parenthesized_expression "(pcVar22 = *(code **)(pcVar21 + 0x1cb834), (uint)uVar24 < 2)" ( (comma_expression "pcVar22 = *(code **)(pcVar21 + 0x1cb834), (uint)uVar24 < 2" (assignment_expression "pcVar22 = *(code **)(pcVar21 + 0x1cb834)" identifier = (pointer_expression "*(code **)(pcVar21 + 0x1cb834)" * (cast_expression "(code **)(pcVar21 + 0x1cb834)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x1cb834)" ( (binary_expression "pcVar21 + 0x1cb834" identifier + number_literal) ))))) , (binary_expression "(uint)uVar24 < 2" (cast_expression "(uint)uVar24" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal)) ))) )) (compound_statement "{\nLAB_001dde6c:\n          (*pcVar22)(7);\n          iVar11 = extraout_v1_04;\n        }" { (labeled_statement "LAB_001dde6c:\n          (*pcVar22)(7);" statement_identifier : (expression_statement "(*pcVar22)(7);" (call_expression "(*pcVar22)(7)" (parenthesized_expression "(*pcVar22)" ( (pointer_expression "*pcVar22" * identifier) )) (argument_list "(7)" ( number_literal ))) ;)) (expression_statement "iVar11 = extraout_v1_04;" (assignment_expression "iVar11 = extraout_v1_04" identifier = identifier) ;) }) (else_clause "else {\n          iVar11 = 2;\n        }" else (compound_statement "{\n          iVar11 = 2;\n        }" { (expression_statement "iVar11 = 2;" (assignment_expression "iVar11 = 2" identifier = number_literal) ;) }))) }))) (labeled_statement "LAB_001ddb44:\n      iVar2 = 0;" statement_identifier : (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" identifier = number_literal) ;)) (expression_statement "iStack_1298 = 1;" (assignment_expression "iStack_1298 = 1" identifier = number_literal) ;) (expression_statement "puStack_1294 = &uStack_12c0;" (assignment_expression "puStack_1294 = &uStack_12c0" identifier = (pointer_expression "&uStack_12c0" & identifier)) ;) (expression_statement "puStack_12b4 = puVar12;" (assignment_expression "puStack_12b4 = puVar12" identifier = identifier) ;) (expression_statement "iStack_12b0 = iVar3;" (assignment_expression "iStack_12b0 = iVar3" identifier = identifier) ;) (expression_statement "iStack_12ac = iVar4;" (assignment_expression "iStack_12ac = iVar4" identifier = identifier) ;) (expression_statement "uStack_12a8 = uVar9;" (assignment_expression "uStack_12a8 = uVar9" identifier = identifier) ;) (expression_statement "uStack_12a4 = uVar8;" (assignment_expression "uStack_12a4 = uVar8" identifier = identifier) ;) (expression_statement "puStack_12a0 = auStack_1290;" (assignment_expression "puStack_12a0 = auStack_1290" identifier = identifier) ;) (expression_statement "iStack_129c = iStack_12dc;" (assignment_expression "iStack_129c = iStack_12dc" identifier = identifier) ;) (expression_statement "(**(code **)(pcVar21 + 0x1cb890))\n                (*(int *)(pcVar21 + 0x1cb09c) + -0x71ec,&puStack_12b4,iVar11,0);" (call_expression "(**(code **)(pcVar21 + 0x1cb890))\n                (*(int *)(pcVar21 + 0x1cb09c) + -0x71ec,&puStack_12b4,iVar11,0)" (parenthesized_expression "(**(code **)(pcVar21 + 0x1cb890))" ( (pointer_expression "**(code **)(pcVar21 + 0x1cb890)" * (pointer_expression "*(code **)(pcVar21 + 0x1cb890)" * (cast_expression "(code **)(pcVar21 + 0x1cb890)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x1cb890)" ( (binary_expression "pcVar21 + 0x1cb890" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar21 + 0x1cb09c) + -0x71ec,&puStack_12b4,iVar11,0)" ( (binary_expression "*(int *)(pcVar21 + 0x1cb09c) + -0x71ec" (pointer_expression "*(int *)(pcVar21 + 0x1cb09c)" * (cast_expression "(int *)(pcVar21 + 0x1cb09c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar21 + 0x1cb09c)" ( (binary_expression "pcVar21 + 0x1cb09c" identifier + number_literal) )))) + number_literal) , (pointer_expression "&puStack_12b4" & identifier) , identifier , number_literal ))) ;) (expression_statement "iVar3 = iStack_1298;" (assignment_expression "iVar3 = iStack_1298" identifier = identifier) ;) (expression_statement "(**(code **)(pcVar21 + 0x1cb5ec))(uVar9);" (call_expression "(**(code **)(pcVar21 + 0x1cb5ec))(uVar9)" (parenthesized_expression "(**(code **)(pcVar21 + 0x1cb5ec))" ( (pointer_expression "**(code **)(pcVar21 + 0x1cb5ec)" * (pointer_expression "*(code **)(pcVar21 + 0x1cb5ec)" * (cast_expression "(code **)(pcVar21 + 0x1cb5ec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x1cb5ec)" ( (binary_expression "pcVar21 + 0x1cb5ec" identifier + number_literal) ))))) )) (argument_list "(uVar9)" ( identifier ))) ;) (expression_statement "(**(code **)(pcVar21 + 0x1cb5ec))(uVar8);" (call_expression "(**(code **)(pcVar21 + 0x1cb5ec))(uVar8)" (parenthesized_expression "(**(code **)(pcVar21 + 0x1cb5ec))" ( (pointer_expression "**(code **)(pcVar21 + 0x1cb5ec)" * (pointer_expression "*(code **)(pcVar21 + 0x1cb5ec)" * (cast_expression "(code **)(pcVar21 + 0x1cb5ec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x1cb5ec)" ( (binary_expression "pcVar21 + 0x1cb5ec" identifier + number_literal) ))))) )) (argument_list "(uVar8)" ( identifier ))) ;) (if_statement "if (iVar3 == 0) {\n        iStack_12dc = (**(code **)(pcVar21 + 0x1cb644))(iStack_12dc);\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        iStack_12dc = (**(code **)(pcVar21 + 0x1cb644))(iStack_12dc);\n      }" { (expression_statement "iStack_12dc = (**(code **)(pcVar21 + 0x1cb644))(iStack_12dc);" (assignment_expression "iStack_12dc = (**(code **)(pcVar21 + 0x1cb644))(iStack_12dc)" identifier = (call_expression "(**(code **)(pcVar21 + 0x1cb644))(iStack_12dc)" (parenthesized_expression "(**(code **)(pcVar21 + 0x1cb644))" ( (pointer_expression "**(code **)(pcVar21 + 0x1cb644)" * (pointer_expression "*(code **)(pcVar21 + 0x1cb644)" * (cast_expression "(code **)(pcVar21 + 0x1cb644)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x1cb644)" ( (binary_expression "pcVar21 + 0x1cb644" identifier + number_literal) ))))) )) (argument_list "(iStack_12dc)" ( identifier )))) ;) })) }))) })) (if_statement "if (iStack_16c == *piVar6) {\n    return iStack_12dc;\n  }" if (parenthesized_expression "(iStack_16c == *piVar6)" ( (binary_expression "iStack_16c == *piVar6" identifier == (pointer_expression "*piVar6" * identifier)) )) (compound_statement "{\n    return iStack_12dc;\n  }" { (return_statement "return iStack_12dc;" return identifier ;) })) (expression_statement "(**(code **)(pcVar21 + 0x1cb75c))();" (call_expression "(**(code **)(pcVar21 + 0x1cb75c))()" (parenthesized_expression "(**(code **)(pcVar21 + 0x1cb75c))" ( (pointer_expression "**(code **)(pcVar21 + 0x1cb75c)" * (pointer_expression "*(code **)(pcVar21 + 0x1cb75c)" * (cast_expression "(code **)(pcVar21 + 0x1cb75c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x1cb75c)" ( (binary_expression "pcVar21 + 0x1cb75c" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (labeled_statement "LAB_001ddf28:\n  iVar2 = (**(code **)(pcVar21 + 0x1cbd00))\n                    (*(int *)(pcVar21 + 0x1cafe0) + -0x3784,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,\n                     0x2fa,iVar2 + -0xf20);" statement_identifier : (expression_statement "iVar2 = (**(code **)(pcVar21 + 0x1cbd00))\n                    (*(int *)(pcVar21 + 0x1cafe0) + -0x3784,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,\n                     0x2fa,iVar2 + -0xf20);" (assignment_expression "iVar2 = (**(code **)(pcVar21 + 0x1cbd00))\n                    (*(int *)(pcVar21 + 0x1cafe0) + -0x3784,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,\n                     0x2fa,iVar2 + -0xf20)" identifier = (call_expression "(**(code **)(pcVar21 + 0x1cbd00))\n                    (*(int *)(pcVar21 + 0x1cafe0) + -0x3784,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,\n                     0x2fa,iVar2 + -0xf20)" (parenthesized_expression "(**(code **)(pcVar21 + 0x1cbd00))" ( (pointer_expression "**(code **)(pcVar21 + 0x1cbd00)" * (pointer_expression "*(code **)(pcVar21 + 0x1cbd00)" * (cast_expression "(code **)(pcVar21 + 0x1cbd00)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x1cbd00)" ( (binary_expression "pcVar21 + 0x1cbd00" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar21 + 0x1cafe0) + -0x3784,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,\n                     0x2fa,iVar2 + -0xf20)" ( (binary_expression "*(int *)(pcVar21 + 0x1cafe0) + -0x3784" (pointer_expression "*(int *)(pcVar21 + 0x1cafe0)" * (cast_expression "(int *)(pcVar21 + 0x1cafe0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar21 + 0x1cafe0)" ( (binary_expression "pcVar21 + 0x1cafe0" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar21 + 0x1cafe4) + -0x12ec" (pointer_expression "*(int *)(pcVar21 + 0x1cafe4)" * (cast_expression "(int *)(pcVar21 + 0x1cafe4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar21 + 0x1cafe4)" ( (binary_expression "pcVar21 + 0x1cafe4" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "iVar2 + -0xf20" identifier + number_literal) )))) ;)) (return_statement "return iVar2;" return identifier ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE 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 IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE 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 IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (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) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (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 (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) ))) ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) ))) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , LIT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( 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 ( IDENT ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , 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 * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , IDENT )))) , (binary_expression IDENT != LIT)) ))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT )))) , (binary_expression IDENT != LIT)) ))) )) (compound_statement { (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (return_statement return IDENT ;) })) }))) })) (return_statement return LIT ;) })) (goto_statement goto statement_identifier ;) })) }))) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))) ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = 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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;)) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT , LIT , LIT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , IDENT ))) ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (unary_expression - IDENT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (unary_expression - IDENT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) )) (goto_statement goto statement_identifier ;)) })) }))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) ))) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) , IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_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 , (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }))) }))) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (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 (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + 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)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (binary_expression IDENT >> LIT)) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT ))) ;) (expression_statement (assignment_expression IDENT = (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 ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT >> LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (goto_statement goto statement_identifier ;) })) }) (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) ))))) ;) }))) }) (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 LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (goto_statement goto statement_identifier ;)) (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 LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) }) (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) ))))) ;)) (labeled_statement statement_identifier : (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 ( (comma_expression (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT)) ))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( LIT ))) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }))) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }))) (expression_statement (assignment_expression IDENT = (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 (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 (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) })) })) }))) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * IDENT)) )) (compound_statement { (return_statement return IDENT ;) })) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;) })) }))) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT , LIT ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression IDENT + LIT) ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (return_statement return IDENT ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < LIT) )) && (parenthesized_expression ( (binary_expression IDENT < LIT) ))) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ IDENT ]) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (binary_expression (parenthesized_expression ( (binary_expression IDENT + IDENT) )) * LIT)) ))))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT , LIT , LIT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (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 (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_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) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (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 (pointer_expression * IDENT) = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , (binary_expression IDENT + LIT) ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression & IDENT) , IDENT ))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT , (binary_expression IDENT + LIT) ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression & IDENT) , IDENT ))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) , IDENT ))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) })) (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 , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT )))) ;) (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 (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT + LIT) >> LIT) <= IDENT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( LIT ))) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT < LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (binary_expression IDENT >> LIT)) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (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 ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (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 (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (goto_statement goto statement_identifier ;) })) })) }) (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 LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (goto_statement goto statement_identifier ;)) (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) ))))) ;)) }))) (labeled_statement statement_identifier : (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 ( (comma_expression (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT)) ))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (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 = LIT) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_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) , (pointer_expression & IDENT) , IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) })) }))) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * IDENT)) )) (compound_statement { (return_statement return IDENT ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , (binary_expression IDENT + LIT) )))) ;)) (return_statement return IDENT ;) })))
(function_definition "int CharcoalImage(undefined *param_1)\n\n{\n  bool bVar1;\n  int iVar2;\n  int iVar3;\n  int iVar4;\n  uint uVar5;\n  int *piVar6;\n  int iVar7;\n  undefined4 uVar8;\n  undefined4 uVar9;\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 extraout_v1_04;\n  int extraout_v1_05;\n  int extraout_v1_06;\n  undefined *puVar10;\n  int iVar11;\n  undefined1 *puVar12;\n  undefined *puVar13;\n  int iVar14;\n  undefined *puVar15;\n  undefined8 *puVar16;\n  int iVar17;\n  undefined *unaff_s1;\n  undefined *unaff_s2;\n  int unaff_s3;\n  int *piVar18;\n  undefined *unaff_s5;\n  undefined1 *unaff_s6;\n  int iVar19;\n  undefined *puVar20;\n  code *pcVar21;\n  code *pcVar22;\n  double dVar23;\n  undefined8 uVar24;\n  int in_stack_00000018;\n  int iStack_12e4;\n  int iStack_12dc;\n  undefined4 uStack_12c0;\n  undefined4 uStack_12bc;\n  undefined1 *puStack_12b4;\n  int iStack_12b0;\n  int iStack_12ac;\n  undefined4 uStack_12a8;\n  undefined4 uStack_12a4;\n  undefined8 *puStack_12a0;\n  int iStack_129c;\n  int iStack_1298;\n  undefined4 *puStack_1294;\n  undefined8 auStack_1290 [7];\n  undefined8 uStack_1258;\n  undefined8 uStack_1220;\n  undefined8 uStack_11e8;\n  undefined8 uStack_11b0;\n  undefined8 uStack_1178;\n  undefined1 auStack_116c [4096];\n  int iStack_16c;\n  int iStack_168;\n  undefined *puStack_164;\n  undefined *puStack_160;\n  int iStack_15c;\n  int *piStack_158;\n  undefined *puStack_154;\n  undefined1 *puStack_150;\n  undefined4 uStack_118;\n  undefined4 uStack_114;\n  undefined *puStack_110;\n  int iStack_10c;\n  undefined *puStack_108;\n  undefined *puStack_104;\n  int iStack_100;\n  undefined1 *puStack_fc;\n  undefined *puStack_f8;\n  undefined4 *puStack_f4;\n  undefined8 uStack_f0;\n  undefined8 uStack_e8;\n  undefined8 uStack_e0;\n  undefined8 uStack_d8;\n  undefined8 uStack_d0;\n  undefined1 auStack_c8 [4];\n  int iStack_c4;\n  undefined8 uStack_a0;\n  undefined8 uStack_98;\n  undefined8 uStack_90;\n  undefined8 uStack_88;\n  undefined8 uStack_80;\n  int iStack_6c;\n  int iStack_68;\n  undefined *puStack_64;\n  \n  if (param_1 == (undefined *)0x0) {\nLAB_001dd2cc:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0xdd0,PTR_s_courses_003a88ec + -0x12ec,0x1da,\n               PTR_s_courses_003a88ec + -0xedc);\nLAB_001dd2f0:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x294c,PTR_s_courses_003a88ec + -0x12ec,0x1df,\n               PTR_s_courses_003a88ec + -0xedc);\n  }\n  else {\n    unaff_s1 = param_1;\n    if (*(int *)(param_1 + 0x336c) != -0x54535255) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                 PTR_s_courses_003a88ec + -0x12ec,0x1db,PTR_s_courses_003a88ec + -0xedc);\n      goto LAB_001dd2cc;\n    }\n    if (*(int *)(param_1 + 0x3350) != 0) {\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_courses_003a88ec + -0x12ec,PTR_s_courses_003a88ec + -0xeec,0x1dd);\n    }\n    if (in_stack_00000018 != 0) {\n      if (*(int *)(in_stack_00000018 + 0x1c) == -0x54535255) {\n        iVar2 = (*(code *)PTR_EdgeImage_003a8dec)(param_1);\n        puVar15 = PTR_ClampImage_003a93c8;\n        if (iVar2 != 0) {\n          *(undefined4 *)(iVar2 + 700) = 0;\n          iVar3 = (*(code *)puVar15)(iVar2,in_stack_00000018);\n          if (iVar3 == 0) {\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n          }\n          else {\n            iVar3 = (*(code *)PTR_BlurImage_003a95c0)(iVar2);\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n            if (iVar3 != 0) {\n              iVar2 = (*(code *)PTR_NormalizeImage_003a8f7c)(iVar3,in_stack_00000018);\n              if (((iVar2 != 0) &&\n                  (iVar2 = (*(code *)PTR_NegateImage_003a985c)(iVar3,0,in_stack_00000018),\n                  iVar2 != 0)) &&\n                 (iVar2 = (*(code *)PTR_GrayscaleImage_003a91cc)\n                                    (iVar3,*(undefined4 *)(param_1 + 0x254),in_stack_00000018),\n                 iVar2 != 0)) {\n                return iVar3;\n              }\n                    \n                    \n              iVar2 = (*(code *)PTR_DestroyImage_003a8f4c)(iVar3);\n              return iVar2;\n            }\n          }\n        }\n        return 0;\n      }\n      goto LAB_001dd2f0;\n    }\n  }\n  iVar2 = 0x1de;\n  puVar15 = PTR_s_courses_003a88ec + -0xedc;\n  puVar13 = PTR_s_courses_003a88ec + -0x12ec;\n  puVar10 = PTR_LAB_003a88e0 + 0x1cac;\n  puVar20 = PTR___assert_fail_003a9608;\n  (*(code *)PTR___assert_fail_003a9608)();\n  piVar18 = *(int **)(puVar20 + 0x1cbef8);\n  iStack_68 = in_stack_00000018;\n  iStack_6c = *piVar18;\n  puStack_64 = unaff_s1;\n  if (puVar10 == (undefined *)0x0) {\n    (**(code **)(puVar20 + 0x1cc2d0))\n              (*(int *)(puVar20 + 0x1cb5b0) + -0x37b0,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,0x238,\n               *(int *)(puVar20 + 0x1cb5b4) + -0xefc);\n    puVar10 = unaff_s2;\nLAB_001dd890:\n    (**(code **)(puVar20 + 0x1cbd2c))();\nLAB_001dd89c:\n    puVar13 = unaff_s5;\n    iVar2 = unaff_s3;\n    puVar15 = unaff_s1;\n    (**(code **)(puVar20 + 0x1cc2d0))\n              (*(int *)(puVar20 + 0x1cb5b0) + -0x3784,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,0x239,\n               *(int *)(puVar20 + 0x1cb5b4) + -0xefc);\nLAB_001dd8c0:\n    (**(code **)(puVar20 + 0x1cc2d0))\n              (*(int *)(puVar20 + 0x1cb5a8) + 0x294c,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,0x23d,\n               *(int *)(puVar20 + 0x1cb5b4) + -0xefc);\n  }\n  else {\n    if (*(int *)(puVar10 + 0x336c) != -0x54535255) goto LAB_001dd89c;\n    if (*(int *)(puVar10 + 0x3350) != 0) {\n      (**(code **)(puVar20 + 0x1cbea8))\n                (0x8000,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,*(int *)(puVar20 + 0x1cb5b4) + -0xf0c\n                 ,0x23b);\n    }\n    if (puVar15 != (undefined *)0x0) {\n      if (*(int *)(puVar15 + 0x1c) == -0x54535255) {\n        iVar3 = (**(code **)(puVar20 + 0x1cc4f8))(puVar10,0,0,1);\n        in_stack_00000018 = iVar3;\n        if (iVar3 != 0) {\n          iVar4 = (**(code **)(puVar20 + 0x1cc4ec))(iVar3,1,puVar15);\n          if (iVar4 == 0) {\n            in_stack_00000018 = 0;\n            (**(code **)(puVar20 + 0x1cbc14))(iVar3);\n          }\n          else {\n            if (*(int *)(iVar3 + 4) == 0x21) {\nLAB_001dd4b8:\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);\nLAB_001dd4bc:\n              (*pcVar21)(iVar3,0x17,puVar15);\n            }\n            else {\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);\n              if (*(int *)(iVar3 + 4) == 3) goto LAB_001dd4bc;\n              dVar23 = *(double *)(iVar2 + 0x28) - *(double *)(iVar2 + 0x30);\n              if (dVar23 < 0.0) {\n                dVar23 = -dVar23;\n              }\n              if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) {\n                dVar23 = *(double *)(iVar2 + 0x30) - *(double *)(iVar2 + 0x38);\n                if (dVar23 < 0.0) {\n                  dVar23 = -dVar23;\n                }\n                if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) goto LAB_001dd4b8;\n              }\n            }\n            if ((*(int *)(iVar3 + 700) == 0) && (*(int *)(iVar2 + 8) != 0)) {\n              (**(code **)(puVar20 + 0x1cb940))\n                        (iVar3,*(undefined4 *)(*(int *)(puVar20 + 0x1cb5a8) + 0x1a50),puVar15);\n            }\n            if (puVar13 != (undefined *)0x0) {\n              unaff_s6 = auStack_c8;\n              (**(code **)(puVar20 + 0x1cbf7c))(iVar3,unaff_s6);\n              uVar5 = (**(code **)(puVar20 + 0x1cc11c))(puVar13,&uStack_f0);\n              uStack_80 = 0;\n              uStack_a0 = uStack_f0;\n              uStack_98 = uStack_f0;\n              uStack_90 = uStack_f0;\n              uStack_88 = uStack_f0;\n              if ((uVar5 & 8) != 0) {\n                uStack_98 = uStack_e8;\n              }\n              if ((uVar5 & 1) != 0) {\n                uStack_90 = uStack_e0;\n              }\n              if ((uVar5 & 2) == 0) {\n                pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                uVar24 = uStack_88;\n                if (iStack_c4 == 2) goto LAB_001dd6b0;\n              }\n              else {\n                uStack_80 = uStack_d8;\n                uVar24 = uStack_d8;\n                if (iStack_c4 == 2) {\nLAB_001dd6b0:\n                  uStack_88 = uVar24;\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                  if ((uVar5 & 0x10) != 0) {\n                    uStack_80 = uStack_d0;\n                  }\n                }\n                else {\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                }\n              }\n              uStack_114 = 0;\n              uStack_118 = 0;\n              puVar13 = (undefined *)(*pcVar21)(iVar3,puVar15);\n              iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3);\n              if (((iVar4 == 4) || (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3))\n                 && ((iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 4 ||\n                     (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3)))) {\n                (**(code **)(puVar20 + 0x1cbe04))(7);\n                iVar11 = *(int *)(iVar3 + 0x1c);\n                iVar4 = iVar11;\n                if (iVar11 < 0) {\n                  iVar4 = iVar11 + 0x3f;\n                }\n                if (extraout_v1 < iVar4 >> 6) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  bVar1 = extraout_v1_02 < 2;\n                }\n                else {\n                  bVar1 = iVar11 < 0x80;\n                }\n                iVar4 = 1;\n                if ((bool)(bVar1 ^ 1)) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  iVar4 = *(int *)(iVar3 + 0x1c);\n                  if (iVar4 < 0) {\n                    iVar4 = iVar4 + 0x3f;\n                  }\n                  iVar4 = iVar4 >> 6;\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                  if (extraout_v1_01 < iVar4) {\n                    pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                    goto LAB_001dd7c0;\n                  }\n                }\n                else {\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                }\n              }\n              else {\n                uVar24 = (**(code **)(puVar20 + 0x1cbe04))(7);\n                if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  uVar24 = (*pcVar21)(7);\n                  if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001dd5d0;\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  iVar4 = 1;\n                }\n                else {\nLAB_001dd5d0:\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\nLAB_001dd5d4:\n                  uVar24 = (*pcVar21)(7);\n                  if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n                     (pcVar21 = *(code **)(puVar20 + 0x1cbe04), (uint)uVar24 < 2)) {\nLAB_001dd7c0:\n                    (*pcVar21)(7);\n                    iVar4 = extraout_v1_00;\n                  }\n                  else {\n                    iVar4 = 2;\n                  }\n                }\n                iVar11 = *(int *)(puVar20 + 0x1cb66c);\n              }\n              puStack_f8 = (undefined *)0x1;\n              puStack_f4 = &uStack_118;\n              puStack_110 = puVar10;\n              iStack_10c = iVar2;\n              puStack_108 = puVar15;\n              puStack_104 = puVar13;\n              iStack_100 = iVar3;\n              puStack_fc = unaff_s6;\n              (**(code **)(puVar20 + 0x1cbe60))(iVar11 + -0x43b4,&puStack_110,iVar4,0);\n              puVar15 = puStack_f8;\n              (**(code **)(puVar20 + 0x1cbbbc))(puVar13);\n              if (puVar15 == (undefined *)0x0) {\n                in_stack_00000018 = (**(code **)(puVar20 + 0x1cbc14))(iVar3);\n              }\n            }\n          }\n        }\n        unaff_s1 = puVar15;\n        unaff_s3 = iVar2;\n        unaff_s5 = puVar13;\n        if (iStack_6c == *piVar18) {\n          return in_stack_00000018;\n        }\n        goto LAB_001dd890;\n      }\n      goto LAB_001dd8c0;\n    }\n  }\n  iVar4 = 0x23c;\n  pcVar21 = *(code **)(puVar20 + 0x1cc2d0);\n  iVar3 = *(int *)(puVar20 + 0x1cb5b4) + -0x12ec;\n  puVar12 = (undefined1 *)(*(int *)(puVar20 + 0x1cb5a8) + 0x1cac);\n  (*pcVar21)();\n  piVar6 = *(int **)(pcVar21 + 0x1cb928);\n  iStack_16c = *piVar6;\n  iStack_168 = in_stack_00000018;\n  puStack_164 = puVar15;\n  puStack_160 = puVar10;\n  iStack_15c = iVar2;\n  piStack_158 = piVar18;\n  puStack_154 = puVar13;\n  puStack_150 = unaff_s6;\n  (**(code **)(pcVar21 + 0x1cbdcc))(auStack_1290,0,0x120);\n  auStack_1290[0] = *(undefined8 *)(*(int *)(pcVar21 + 0x1cafd8) + 0x1438);\n  uStack_1258 = auStack_1290[0];\n  uStack_1220 = auStack_1290[0];\n  uStack_11e8 = auStack_1290[0];\n  uStack_11b0 = auStack_1290[0];\n  uStack_1178 = auStack_1290[0];\n  if (puVar12 == (undefined1 *)0x0) {\n    iVar2 = (**(code **)(pcVar21 + 0x1cbd00))\n                      (*(int *)(pcVar21 + 0x1cafd8) + 0xdd0,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,\n                       0x2f9,*(int *)(pcVar21 + 0x1cafe4) + -0xf20);\n    return iVar2;\n  }\n  iVar2 = *(int *)(pcVar21 + 0x1cafe4);\n  if (*(int *)(puVar12 + 0x336c) != -0x54535255) goto LAB_001ddf28;\n  if (*(int *)(puVar12 + 0x3350) != 0) {\n    (**(code **)(pcVar21 + 0x1cb8d8))\n              (0x8000,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,*(int *)(pcVar21 + 0x1cafe4) + -0xf34,\n               0x2fc,*(int *)(pcVar21 + 0x1cafdc) + -0x62ac,puVar12 + 0x340);\n  }\n  if (iVar4 == 0) {\n    iVar2 = (**(code **)(pcVar21 + 0x1cbd00))\n                      (*(int *)(pcVar21 + 0x1cafd8) + 0x1cac,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,\n                       0x2fd,*(int *)(pcVar21 + 0x1cafe4) + -0xf20);\n    return iVar2;\n  }\n  if (*(int *)(iVar4 + 0x1c) != -0x54535255) {\n    iVar2 = (**(code **)(pcVar21 + 0x1cbd00))\n                      (*(int *)(pcVar21 + 0x1cafd8) + 0x294c,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,\n                       0x2fe,*(int *)(pcVar21 + 0x1cafe4) + -0xf20);\n    return iVar2;\n  }\n  iVar11 = *(int *)(iVar3 + 8);\n  iVar2 = 0;\n  if (0 < iVar11) {\n    iVar14 = *(int *)(iVar3 + 4);\n    iVar17 = 0;\n    puVar16 = auStack_1290;\n    do {\n      if (0 < iVar14) {\n        iVar7 = 0;\n        do {\n          if ((iVar2 < 6) && (iVar7 < 6)) {\n            puVar16[iVar7] = *(undefined8 *)(*(int *)(iVar3 + 0x14) + (iVar17 + iVar7) * 8);\n          }\n          iVar7 = iVar7 + 1;\n        } while (iVar7 != iVar14);\n        iVar17 = iVar17 + iVar14;\n      }\n      iVar2 = iVar2 + 1;\n      puVar16 = puVar16 + 6;\n    } while (iVar2 != iVar11);\n  }\n  iVar2 = 1;\n  iStack_12dc = (**(code **)(pcVar21 + 0x1cbf28))(puVar12,0,0,1,iVar4);\n  if (iStack_12dc != 0) {\n    iVar11 = (**(code **)(pcVar21 + 0x1cbf1c))(iStack_12dc,1,iVar4);\n    if (iVar11 == 0) {\n      (**(code **)(pcVar21 + 0x1cb644))(iStack_12dc);\n      iStack_12dc = 0;\n    }\n    else {\n      if (*(int *)(puVar12 + 0x3350) != 0) {\n        iVar17 = *(int *)(pcVar21 + 0x1cafe4);\n        iVar14 = *(int *)(pcVar21 + 0x1cafe4);\n        (**(code **)(pcVar21 + 0x1cb8d8))\n                  (0x10000,iVar14 + -0x12ec,iVar17 + -0xf34,0x318,\n                   *(int *)(pcVar21 + 0x1cafe4) + -0x12d0);\n        puStack_12b4 = (undefined1 *)\n                       (**(code **)(pcVar21 + 0x1cbf0c))(*(int *)(pcVar21 + 0x1cafdc) + -0x3688);\n        iStack_12e4 = 0;\n        iVar2 = *(int *)(pcVar21 + 0x1cafdc);\n        iVar7 = *(int *)(pcVar21 + 0x1cafe0);\n        iVar11 = *(int *)(pcVar21 + 0x1cafdc);\n        do {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb474);\n          iVar19 = 0;\n          *puStack_12b4 = 0;\n          (*pcVar22)(auStack_116c,0x1000,iVar11 + -0x66b8);\n          (**(code **)(pcVar21 + 0x1cbaa0))(&puStack_12b4,auStack_116c);\n          do {\n            iVar19 = iVar19 + 1;\n            (**(code **)(pcVar21 + 0x1cb474))(auStack_116c,0x1000,iVar7 + 0x4930);\n            (**(code **)(pcVar21 + 0x1cbaa0))(&puStack_12b4,auStack_116c);\n          } while (iVar19 != 6);\n          iStack_12e4 = iStack_12e4 + 1;\n          (**(code **)(pcVar21 + 0x1cb8d8))\n                    (0x10000,iVar14 + -0x12ec,iVar17 + -0xf34,0x326,iVar2 + -0x62ac,puStack_12b4);\n        } while (iStack_12e4 != 6);\n        (**(code **)(pcVar21 + 0x1cb76c))(puStack_12b4);\n      }\n      uStack_12bc = 0;\n      uStack_12c0 = 0;\n      uVar8 = (**(code **)(pcVar21 + 0x1cbe4c))(puVar12,iVar4);\n      uVar9 = (**(code **)(pcVar21 + 0x1cb5cc))(iStack_12dc,iVar4);\n      iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(puVar12);\n      if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(puVar12), iVar2 == 3)) &&\n         ((iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc), iVar2 == 3)))) {\n        (**(code **)(pcVar21 + 0x1cb834))(7);\n        iVar2 = *(int *)(puVar12 + 0x1c);\n        if (iVar2 < 0) {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if (iVar2 + 0x3f >> 6 <= extraout_v1_03) goto LAB_001ddc6c;\nLAB_001dde94:\n          (*pcVar22)(7);\n          bVar1 = extraout_v1_05 < 2;\n        }\n        else {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if (extraout_v1_03 < iVar2 >> 6) goto LAB_001dde94;\nLAB_001ddc6c:\n          bVar1 = iVar2 < 0x80;\n        }\n        iVar11 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar21 + 0x1cb834))(7);\n          iVar11 = *(int *)(puVar12 + 0x1c);\n          if (iVar11 < 0) {\n            iVar11 = iVar11 + 0x3f;\n          }\n          iVar11 = iVar11 >> 6;\n          if (extraout_v1_06 < iVar11) {\n            pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n            goto LAB_001dde6c;\n          }\n        }\n      }\n      else {\n        uVar24 = (**(code **)(pcVar21 + 0x1cb834))(7);\n        if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if ((uint)uVar24 < 2) {\n            uVar24 = (*pcVar22)(7);\n            if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001ddb28;\n            pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n            if (1 < (uint)uVar24) goto LAB_001ddb2c;\n            iVar11 = 1;\n            goto LAB_001ddb44;\n          }\n        }\n        else {\nLAB_001ddb28:\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n        }\nLAB_001ddb2c:\n        uVar24 = (*pcVar22)(7);\n        if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n           (pcVar22 = *(code **)(pcVar21 + 0x1cb834), (uint)uVar24 < 2)) {\nLAB_001dde6c:\n          (*pcVar22)(7);\n          iVar11 = extraout_v1_04;\n        }\n        else {\n          iVar11 = 2;\n        }\n      }\nLAB_001ddb44:\n      iVar2 = 0;\n      iStack_1298 = 1;\n      puStack_1294 = &uStack_12c0;\n      puStack_12b4 = puVar12;\n      iStack_12b0 = iVar3;\n      iStack_12ac = iVar4;\n      uStack_12a8 = uVar9;\n      uStack_12a4 = uVar8;\n      puStack_12a0 = auStack_1290;\n      iStack_129c = iStack_12dc;\n      (**(code **)(pcVar21 + 0x1cb890))\n                (*(int *)(pcVar21 + 0x1cb09c) + -0x71ec,&puStack_12b4,iVar11,0);\n      iVar3 = iStack_1298;\n      (**(code **)(pcVar21 + 0x1cb5ec))(uVar9);\n      (**(code **)(pcVar21 + 0x1cb5ec))(uVar8);\n      if (iVar3 == 0) {\n        iStack_12dc = (**(code **)(pcVar21 + 0x1cb644))(iStack_12dc);\n      }\n    }\n  }\n  if (iStack_16c == *piVar6) {\n    return iStack_12dc;\n  }\n  (**(code **)(pcVar21 + 0x1cb75c))();\nLAB_001ddf28:\n  iVar2 = (**(code **)(pcVar21 + 0x1cbd00))\n                    (*(int *)(pcVar21 + 0x1cafe0) + -0x3784,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,\n                     0x2fa,iVar2 + -0xf20);\n  return iVar2;\n}" (primitive_type "int") (function_declarator "CharcoalImage(undefined *param_1)" (identifier "CharcoalImage") (parameter_list "(undefined *param_1)" (( "(") (parameter_declaration "undefined *param_1" (type_identifier "undefined") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) () ")"))) (compound_statement "{\n  bool bVar1;\n  int iVar2;\n  int iVar3;\n  int iVar4;\n  uint uVar5;\n  int *piVar6;\n  int iVar7;\n  undefined4 uVar8;\n  undefined4 uVar9;\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 extraout_v1_04;\n  int extraout_v1_05;\n  int extraout_v1_06;\n  undefined *puVar10;\n  int iVar11;\n  undefined1 *puVar12;\n  undefined *puVar13;\n  int iVar14;\n  undefined *puVar15;\n  undefined8 *puVar16;\n  int iVar17;\n  undefined *unaff_s1;\n  undefined *unaff_s2;\n  int unaff_s3;\n  int *piVar18;\n  undefined *unaff_s5;\n  undefined1 *unaff_s6;\n  int iVar19;\n  undefined *puVar20;\n  code *pcVar21;\n  code *pcVar22;\n  double dVar23;\n  undefined8 uVar24;\n  int in_stack_00000018;\n  int iStack_12e4;\n  int iStack_12dc;\n  undefined4 uStack_12c0;\n  undefined4 uStack_12bc;\n  undefined1 *puStack_12b4;\n  int iStack_12b0;\n  int iStack_12ac;\n  undefined4 uStack_12a8;\n  undefined4 uStack_12a4;\n  undefined8 *puStack_12a0;\n  int iStack_129c;\n  int iStack_1298;\n  undefined4 *puStack_1294;\n  undefined8 auStack_1290 [7];\n  undefined8 uStack_1258;\n  undefined8 uStack_1220;\n  undefined8 uStack_11e8;\n  undefined8 uStack_11b0;\n  undefined8 uStack_1178;\n  undefined1 auStack_116c [4096];\n  int iStack_16c;\n  int iStack_168;\n  undefined *puStack_164;\n  undefined *puStack_160;\n  int iStack_15c;\n  int *piStack_158;\n  undefined *puStack_154;\n  undefined1 *puStack_150;\n  undefined4 uStack_118;\n  undefined4 uStack_114;\n  undefined *puStack_110;\n  int iStack_10c;\n  undefined *puStack_108;\n  undefined *puStack_104;\n  int iStack_100;\n  undefined1 *puStack_fc;\n  undefined *puStack_f8;\n  undefined4 *puStack_f4;\n  undefined8 uStack_f0;\n  undefined8 uStack_e8;\n  undefined8 uStack_e0;\n  undefined8 uStack_d8;\n  undefined8 uStack_d0;\n  undefined1 auStack_c8 [4];\n  int iStack_c4;\n  undefined8 uStack_a0;\n  undefined8 uStack_98;\n  undefined8 uStack_90;\n  undefined8 uStack_88;\n  undefined8 uStack_80;\n  int iStack_6c;\n  int iStack_68;\n  undefined *puStack_64;\n  \n  if (param_1 == (undefined *)0x0) {\nLAB_001dd2cc:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0xdd0,PTR_s_courses_003a88ec + -0x12ec,0x1da,\n               PTR_s_courses_003a88ec + -0xedc);\nLAB_001dd2f0:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x294c,PTR_s_courses_003a88ec + -0x12ec,0x1df,\n               PTR_s_courses_003a88ec + -0xedc);\n  }\n  else {\n    unaff_s1 = param_1;\n    if (*(int *)(param_1 + 0x336c) != -0x54535255) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                 PTR_s_courses_003a88ec + -0x12ec,0x1db,PTR_s_courses_003a88ec + -0xedc);\n      goto LAB_001dd2cc;\n    }\n    if (*(int *)(param_1 + 0x3350) != 0) {\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_courses_003a88ec + -0x12ec,PTR_s_courses_003a88ec + -0xeec,0x1dd);\n    }\n    if (in_stack_00000018 != 0) {\n      if (*(int *)(in_stack_00000018 + 0x1c) == -0x54535255) {\n        iVar2 = (*(code *)PTR_EdgeImage_003a8dec)(param_1);\n        puVar15 = PTR_ClampImage_003a93c8;\n        if (iVar2 != 0) {\n          *(undefined4 *)(iVar2 + 700) = 0;\n          iVar3 = (*(code *)puVar15)(iVar2,in_stack_00000018);\n          if (iVar3 == 0) {\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n          }\n          else {\n            iVar3 = (*(code *)PTR_BlurImage_003a95c0)(iVar2);\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n            if (iVar3 != 0) {\n              iVar2 = (*(code *)PTR_NormalizeImage_003a8f7c)(iVar3,in_stack_00000018);\n              if (((iVar2 != 0) &&\n                  (iVar2 = (*(code *)PTR_NegateImage_003a985c)(iVar3,0,in_stack_00000018),\n                  iVar2 != 0)) &&\n                 (iVar2 = (*(code *)PTR_GrayscaleImage_003a91cc)\n                                    (iVar3,*(undefined4 *)(param_1 + 0x254),in_stack_00000018),\n                 iVar2 != 0)) {\n                return iVar3;\n              }\n                    \n                    \n              iVar2 = (*(code *)PTR_DestroyImage_003a8f4c)(iVar3);\n              return iVar2;\n            }\n          }\n        }\n        return 0;\n      }\n      goto LAB_001dd2f0;\n    }\n  }\n  iVar2 = 0x1de;\n  puVar15 = PTR_s_courses_003a88ec + -0xedc;\n  puVar13 = PTR_s_courses_003a88ec + -0x12ec;\n  puVar10 = PTR_LAB_003a88e0 + 0x1cac;\n  puVar20 = PTR___assert_fail_003a9608;\n  (*(code *)PTR___assert_fail_003a9608)();\n  piVar18 = *(int **)(puVar20 + 0x1cbef8);\n  iStack_68 = in_stack_00000018;\n  iStack_6c = *piVar18;\n  puStack_64 = unaff_s1;\n  if (puVar10 == (undefined *)0x0) {\n    (**(code **)(puVar20 + 0x1cc2d0))\n              (*(int *)(puVar20 + 0x1cb5b0) + -0x37b0,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,0x238,\n               *(int *)(puVar20 + 0x1cb5b4) + -0xefc);\n    puVar10 = unaff_s2;\nLAB_001dd890:\n    (**(code **)(puVar20 + 0x1cbd2c))();\nLAB_001dd89c:\n    puVar13 = unaff_s5;\n    iVar2 = unaff_s3;\n    puVar15 = unaff_s1;\n    (**(code **)(puVar20 + 0x1cc2d0))\n              (*(int *)(puVar20 + 0x1cb5b0) + -0x3784,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,0x239,\n               *(int *)(puVar20 + 0x1cb5b4) + -0xefc);\nLAB_001dd8c0:\n    (**(code **)(puVar20 + 0x1cc2d0))\n              (*(int *)(puVar20 + 0x1cb5a8) + 0x294c,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,0x23d,\n               *(int *)(puVar20 + 0x1cb5b4) + -0xefc);\n  }\n  else {\n    if (*(int *)(puVar10 + 0x336c) != -0x54535255) goto LAB_001dd89c;\n    if (*(int *)(puVar10 + 0x3350) != 0) {\n      (**(code **)(puVar20 + 0x1cbea8))\n                (0x8000,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,*(int *)(puVar20 + 0x1cb5b4) + -0xf0c\n                 ,0x23b);\n    }\n    if (puVar15 != (undefined *)0x0) {\n      if (*(int *)(puVar15 + 0x1c) == -0x54535255) {\n        iVar3 = (**(code **)(puVar20 + 0x1cc4f8))(puVar10,0,0,1);\n        in_stack_00000018 = iVar3;\n        if (iVar3 != 0) {\n          iVar4 = (**(code **)(puVar20 + 0x1cc4ec))(iVar3,1,puVar15);\n          if (iVar4 == 0) {\n            in_stack_00000018 = 0;\n            (**(code **)(puVar20 + 0x1cbc14))(iVar3);\n          }\n          else {\n            if (*(int *)(iVar3 + 4) == 0x21) {\nLAB_001dd4b8:\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);\nLAB_001dd4bc:\n              (*pcVar21)(iVar3,0x17,puVar15);\n            }\n            else {\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);\n              if (*(int *)(iVar3 + 4) == 3) goto LAB_001dd4bc;\n              dVar23 = *(double *)(iVar2 + 0x28) - *(double *)(iVar2 + 0x30);\n              if (dVar23 < 0.0) {\n                dVar23 = -dVar23;\n              }\n              if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) {\n                dVar23 = *(double *)(iVar2 + 0x30) - *(double *)(iVar2 + 0x38);\n                if (dVar23 < 0.0) {\n                  dVar23 = -dVar23;\n                }\n                if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) goto LAB_001dd4b8;\n              }\n            }\n            if ((*(int *)(iVar3 + 700) == 0) && (*(int *)(iVar2 + 8) != 0)) {\n              (**(code **)(puVar20 + 0x1cb940))\n                        (iVar3,*(undefined4 *)(*(int *)(puVar20 + 0x1cb5a8) + 0x1a50),puVar15);\n            }\n            if (puVar13 != (undefined *)0x0) {\n              unaff_s6 = auStack_c8;\n              (**(code **)(puVar20 + 0x1cbf7c))(iVar3,unaff_s6);\n              uVar5 = (**(code **)(puVar20 + 0x1cc11c))(puVar13,&uStack_f0);\n              uStack_80 = 0;\n              uStack_a0 = uStack_f0;\n              uStack_98 = uStack_f0;\n              uStack_90 = uStack_f0;\n              uStack_88 = uStack_f0;\n              if ((uVar5 & 8) != 0) {\n                uStack_98 = uStack_e8;\n              }\n              if ((uVar5 & 1) != 0) {\n                uStack_90 = uStack_e0;\n              }\n              if ((uVar5 & 2) == 0) {\n                pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                uVar24 = uStack_88;\n                if (iStack_c4 == 2) goto LAB_001dd6b0;\n              }\n              else {\n                uStack_80 = uStack_d8;\n                uVar24 = uStack_d8;\n                if (iStack_c4 == 2) {\nLAB_001dd6b0:\n                  uStack_88 = uVar24;\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                  if ((uVar5 & 0x10) != 0) {\n                    uStack_80 = uStack_d0;\n                  }\n                }\n                else {\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                }\n              }\n              uStack_114 = 0;\n              uStack_118 = 0;\n              puVar13 = (undefined *)(*pcVar21)(iVar3,puVar15);\n              iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3);\n              if (((iVar4 == 4) || (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3))\n                 && ((iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 4 ||\n                     (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3)))) {\n                (**(code **)(puVar20 + 0x1cbe04))(7);\n                iVar11 = *(int *)(iVar3 + 0x1c);\n                iVar4 = iVar11;\n                if (iVar11 < 0) {\n                  iVar4 = iVar11 + 0x3f;\n                }\n                if (extraout_v1 < iVar4 >> 6) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  bVar1 = extraout_v1_02 < 2;\n                }\n                else {\n                  bVar1 = iVar11 < 0x80;\n                }\n                iVar4 = 1;\n                if ((bool)(bVar1 ^ 1)) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  iVar4 = *(int *)(iVar3 + 0x1c);\n                  if (iVar4 < 0) {\n                    iVar4 = iVar4 + 0x3f;\n                  }\n                  iVar4 = iVar4 >> 6;\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                  if (extraout_v1_01 < iVar4) {\n                    pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                    goto LAB_001dd7c0;\n                  }\n                }\n                else {\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                }\n              }\n              else {\n                uVar24 = (**(code **)(puVar20 + 0x1cbe04))(7);\n                if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  uVar24 = (*pcVar21)(7);\n                  if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001dd5d0;\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  iVar4 = 1;\n                }\n                else {\nLAB_001dd5d0:\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\nLAB_001dd5d4:\n                  uVar24 = (*pcVar21)(7);\n                  if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n                     (pcVar21 = *(code **)(puVar20 + 0x1cbe04), (uint)uVar24 < 2)) {\nLAB_001dd7c0:\n                    (*pcVar21)(7);\n                    iVar4 = extraout_v1_00;\n                  }\n                  else {\n                    iVar4 = 2;\n                  }\n                }\n                iVar11 = *(int *)(puVar20 + 0x1cb66c);\n              }\n              puStack_f8 = (undefined *)0x1;\n              puStack_f4 = &uStack_118;\n              puStack_110 = puVar10;\n              iStack_10c = iVar2;\n              puStack_108 = puVar15;\n              puStack_104 = puVar13;\n              iStack_100 = iVar3;\n              puStack_fc = unaff_s6;\n              (**(code **)(puVar20 + 0x1cbe60))(iVar11 + -0x43b4,&puStack_110,iVar4,0);\n              puVar15 = puStack_f8;\n              (**(code **)(puVar20 + 0x1cbbbc))(puVar13);\n              if (puVar15 == (undefined *)0x0) {\n                in_stack_00000018 = (**(code **)(puVar20 + 0x1cbc14))(iVar3);\n              }\n            }\n          }\n        }\n        unaff_s1 = puVar15;\n        unaff_s3 = iVar2;\n        unaff_s5 = puVar13;\n        if (iStack_6c == *piVar18) {\n          return in_stack_00000018;\n        }\n        goto LAB_001dd890;\n      }\n      goto LAB_001dd8c0;\n    }\n  }\n  iVar4 = 0x23c;\n  pcVar21 = *(code **)(puVar20 + 0x1cc2d0);\n  iVar3 = *(int *)(puVar20 + 0x1cb5b4) + -0x12ec;\n  puVar12 = (undefined1 *)(*(int *)(puVar20 + 0x1cb5a8) + 0x1cac);\n  (*pcVar21)();\n  piVar6 = *(int **)(pcVar21 + 0x1cb928);\n  iStack_16c = *piVar6;\n  iStack_168 = in_stack_00000018;\n  puStack_164 = puVar15;\n  puStack_160 = puVar10;\n  iStack_15c = iVar2;\n  piStack_158 = piVar18;\n  puStack_154 = puVar13;\n  puStack_150 = unaff_s6;\n  (**(code **)(pcVar21 + 0x1cbdcc))(auStack_1290,0,0x120);\n  auStack_1290[0] = *(undefined8 *)(*(int *)(pcVar21 + 0x1cafd8) + 0x1438);\n  uStack_1258 = auStack_1290[0];\n  uStack_1220 = auStack_1290[0];\n  uStack_11e8 = auStack_1290[0];\n  uStack_11b0 = auStack_1290[0];\n  uStack_1178 = auStack_1290[0];\n  if (puVar12 == (undefined1 *)0x0) {\n    iVar2 = (**(code **)(pcVar21 + 0x1cbd00))\n                      (*(int *)(pcVar21 + 0x1cafd8) + 0xdd0,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,\n                       0x2f9,*(int *)(pcVar21 + 0x1cafe4) + -0xf20);\n    return iVar2;\n  }\n  iVar2 = *(int *)(pcVar21 + 0x1cafe4);\n  if (*(int *)(puVar12 + 0x336c) != -0x54535255) goto LAB_001ddf28;\n  if (*(int *)(puVar12 + 0x3350) != 0) {\n    (**(code **)(pcVar21 + 0x1cb8d8))\n              (0x8000,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,*(int *)(pcVar21 + 0x1cafe4) + -0xf34,\n               0x2fc,*(int *)(pcVar21 + 0x1cafdc) + -0x62ac,puVar12 + 0x340);\n  }\n  if (iVar4 == 0) {\n    iVar2 = (**(code **)(pcVar21 + 0x1cbd00))\n                      (*(int *)(pcVar21 + 0x1cafd8) + 0x1cac,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,\n                       0x2fd,*(int *)(pcVar21 + 0x1cafe4) + -0xf20);\n    return iVar2;\n  }\n  if (*(int *)(iVar4 + 0x1c) != -0x54535255) {\n    iVar2 = (**(code **)(pcVar21 + 0x1cbd00))\n                      (*(int *)(pcVar21 + 0x1cafd8) + 0x294c,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,\n                       0x2fe,*(int *)(pcVar21 + 0x1cafe4) + -0xf20);\n    return iVar2;\n  }\n  iVar11 = *(int *)(iVar3 + 8);\n  iVar2 = 0;\n  if (0 < iVar11) {\n    iVar14 = *(int *)(iVar3 + 4);\n    iVar17 = 0;\n    puVar16 = auStack_1290;\n    do {\n      if (0 < iVar14) {\n        iVar7 = 0;\n        do {\n          if ((iVar2 < 6) && (iVar7 < 6)) {\n            puVar16[iVar7] = *(undefined8 *)(*(int *)(iVar3 + 0x14) + (iVar17 + iVar7) * 8);\n          }\n          iVar7 = iVar7 + 1;\n        } while (iVar7 != iVar14);\n        iVar17 = iVar17 + iVar14;\n      }\n      iVar2 = iVar2 + 1;\n      puVar16 = puVar16 + 6;\n    } while (iVar2 != iVar11);\n  }\n  iVar2 = 1;\n  iStack_12dc = (**(code **)(pcVar21 + 0x1cbf28))(puVar12,0,0,1,iVar4);\n  if (iStack_12dc != 0) {\n    iVar11 = (**(code **)(pcVar21 + 0x1cbf1c))(iStack_12dc,1,iVar4);\n    if (iVar11 == 0) {\n      (**(code **)(pcVar21 + 0x1cb644))(iStack_12dc);\n      iStack_12dc = 0;\n    }\n    else {\n      if (*(int *)(puVar12 + 0x3350) != 0) {\n        iVar17 = *(int *)(pcVar21 + 0x1cafe4);\n        iVar14 = *(int *)(pcVar21 + 0x1cafe4);\n        (**(code **)(pcVar21 + 0x1cb8d8))\n                  (0x10000,iVar14 + -0x12ec,iVar17 + -0xf34,0x318,\n                   *(int *)(pcVar21 + 0x1cafe4) + -0x12d0);\n        puStack_12b4 = (undefined1 *)\n                       (**(code **)(pcVar21 + 0x1cbf0c))(*(int *)(pcVar21 + 0x1cafdc) + -0x3688);\n        iStack_12e4 = 0;\n        iVar2 = *(int *)(pcVar21 + 0x1cafdc);\n        iVar7 = *(int *)(pcVar21 + 0x1cafe0);\n        iVar11 = *(int *)(pcVar21 + 0x1cafdc);\n        do {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb474);\n          iVar19 = 0;\n          *puStack_12b4 = 0;\n          (*pcVar22)(auStack_116c,0x1000,iVar11 + -0x66b8);\n          (**(code **)(pcVar21 + 0x1cbaa0))(&puStack_12b4,auStack_116c);\n          do {\n            iVar19 = iVar19 + 1;\n            (**(code **)(pcVar21 + 0x1cb474))(auStack_116c,0x1000,iVar7 + 0x4930);\n            (**(code **)(pcVar21 + 0x1cbaa0))(&puStack_12b4,auStack_116c);\n          } while (iVar19 != 6);\n          iStack_12e4 = iStack_12e4 + 1;\n          (**(code **)(pcVar21 + 0x1cb8d8))\n                    (0x10000,iVar14 + -0x12ec,iVar17 + -0xf34,0x326,iVar2 + -0x62ac,puStack_12b4);\n        } while (iStack_12e4 != 6);\n        (**(code **)(pcVar21 + 0x1cb76c))(puStack_12b4);\n      }\n      uStack_12bc = 0;\n      uStack_12c0 = 0;\n      uVar8 = (**(code **)(pcVar21 + 0x1cbe4c))(puVar12,iVar4);\n      uVar9 = (**(code **)(pcVar21 + 0x1cb5cc))(iStack_12dc,iVar4);\n      iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(puVar12);\n      if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(puVar12), iVar2 == 3)) &&\n         ((iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc), iVar2 == 3)))) {\n        (**(code **)(pcVar21 + 0x1cb834))(7);\n        iVar2 = *(int *)(puVar12 + 0x1c);\n        if (iVar2 < 0) {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if (iVar2 + 0x3f >> 6 <= extraout_v1_03) goto LAB_001ddc6c;\nLAB_001dde94:\n          (*pcVar22)(7);\n          bVar1 = extraout_v1_05 < 2;\n        }\n        else {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if (extraout_v1_03 < iVar2 >> 6) goto LAB_001dde94;\nLAB_001ddc6c:\n          bVar1 = iVar2 < 0x80;\n        }\n        iVar11 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar21 + 0x1cb834))(7);\n          iVar11 = *(int *)(puVar12 + 0x1c);\n          if (iVar11 < 0) {\n            iVar11 = iVar11 + 0x3f;\n          }\n          iVar11 = iVar11 >> 6;\n          if (extraout_v1_06 < iVar11) {\n            pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n            goto LAB_001dde6c;\n          }\n        }\n      }\n      else {\n        uVar24 = (**(code **)(pcVar21 + 0x1cb834))(7);\n        if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if ((uint)uVar24 < 2) {\n            uVar24 = (*pcVar22)(7);\n            if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001ddb28;\n            pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n            if (1 < (uint)uVar24) goto LAB_001ddb2c;\n            iVar11 = 1;\n            goto LAB_001ddb44;\n          }\n        }\n        else {\nLAB_001ddb28:\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n        }\nLAB_001ddb2c:\n        uVar24 = (*pcVar22)(7);\n        if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n           (pcVar22 = *(code **)(pcVar21 + 0x1cb834), (uint)uVar24 < 2)) {\nLAB_001dde6c:\n          (*pcVar22)(7);\n          iVar11 = extraout_v1_04;\n        }\n        else {\n          iVar11 = 2;\n        }\n      }\nLAB_001ddb44:\n      iVar2 = 0;\n      iStack_1298 = 1;\n      puStack_1294 = &uStack_12c0;\n      puStack_12b4 = puVar12;\n      iStack_12b0 = iVar3;\n      iStack_12ac = iVar4;\n      uStack_12a8 = uVar9;\n      uStack_12a4 = uVar8;\n      puStack_12a0 = auStack_1290;\n      iStack_129c = iStack_12dc;\n      (**(code **)(pcVar21 + 0x1cb890))\n                (*(int *)(pcVar21 + 0x1cb09c) + -0x71ec,&puStack_12b4,iVar11,0);\n      iVar3 = iStack_1298;\n      (**(code **)(pcVar21 + 0x1cb5ec))(uVar9);\n      (**(code **)(pcVar21 + 0x1cb5ec))(uVar8);\n      if (iVar3 == 0) {\n        iStack_12dc = (**(code **)(pcVar21 + 0x1cb644))(iStack_12dc);\n      }\n    }\n  }\n  if (iStack_16c == *piVar6) {\n    return iStack_12dc;\n  }\n  (**(code **)(pcVar21 + 0x1cb75c))();\nLAB_001ddf28:\n  iVar2 = (**(code **)(pcVar21 + 0x1cbd00))\n                    (*(int *)(pcVar21 + 0x1cafe0) + -0x3784,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,\n                     0x2fa,iVar2 + -0xf20);\n  return iVar2;\n}" ({ "{") (declaration "bool bVar1;" (primitive_type "bool") (identifier "bVar1") (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "uint uVar5;" (type_identifier "uint") (identifier "uVar5") (; ";")) (declaration "int *piVar6;" (primitive_type "int") (pointer_declarator "*piVar6" (* "*") (identifier "piVar6")) (; ";")) (declaration "int iVar7;" (primitive_type "int") (identifier "iVar7") (; ";")) (declaration "undefined4 uVar8;" (type_identifier "undefined4") (identifier "uVar8") (; ";")) (declaration "undefined4 uVar9;" (type_identifier "undefined4") (identifier "uVar9") (; ";")) (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 extraout_v1_04;" (primitive_type "int") (identifier "extraout_v1_04") (; ";")) (declaration "int extraout_v1_05;" (primitive_type "int") (identifier "extraout_v1_05") (; ";")) (declaration "int extraout_v1_06;" (primitive_type "int") (identifier "extraout_v1_06") (; ";")) (declaration "undefined *puVar10;" (type_identifier "undefined") (pointer_declarator "*puVar10" (* "*") (identifier "puVar10")) (; ";")) (declaration "int iVar11;" (primitive_type "int") (identifier "iVar11") (; ";")) (declaration "undefined1 *puVar12;" (type_identifier "undefined1") (pointer_declarator "*puVar12" (* "*") (identifier "puVar12")) (; ";")) (declaration "undefined *puVar13;" (type_identifier "undefined") (pointer_declarator "*puVar13" (* "*") (identifier "puVar13")) (; ";")) (declaration "int iVar14;" (primitive_type "int") (identifier "iVar14") (; ";")) (declaration "undefined *puVar15;" (type_identifier "undefined") (pointer_declarator "*puVar15" (* "*") (identifier "puVar15")) (; ";")) (declaration "undefined8 *puVar16;" (type_identifier "undefined8") (pointer_declarator "*puVar16" (* "*") (identifier "puVar16")) (; ";")) (declaration "int iVar17;" (primitive_type "int") (identifier "iVar17") (; ";")) (declaration "undefined *unaff_s1;" (type_identifier "undefined") (pointer_declarator "*unaff_s1" (* "*") (identifier "unaff_s1")) (; ";")) (declaration "undefined *unaff_s2;" (type_identifier "undefined") (pointer_declarator "*unaff_s2" (* "*") (identifier "unaff_s2")) (; ";")) (declaration "int unaff_s3;" (primitive_type "int") (identifier "unaff_s3") (; ";")) (declaration "int *piVar18;" (primitive_type "int") (pointer_declarator "*piVar18" (* "*") (identifier "piVar18")) (; ";")) (declaration "undefined *unaff_s5;" (type_identifier "undefined") (pointer_declarator "*unaff_s5" (* "*") (identifier "unaff_s5")) (; ";")) (declaration "undefined1 *unaff_s6;" (type_identifier "undefined1") (pointer_declarator "*unaff_s6" (* "*") (identifier "unaff_s6")) (; ";")) (declaration "int iVar19;" (primitive_type "int") (identifier "iVar19") (; ";")) (declaration "undefined *puVar20;" (type_identifier "undefined") (pointer_declarator "*puVar20" (* "*") (identifier "puVar20")) (; ";")) (declaration "code *pcVar21;" (type_identifier "code") (pointer_declarator "*pcVar21" (* "*") (identifier "pcVar21")) (; ";")) (declaration "code *pcVar22;" (type_identifier "code") (pointer_declarator "*pcVar22" (* "*") (identifier "pcVar22")) (; ";")) (declaration "double dVar23;" (primitive_type "double") (identifier "dVar23") (; ";")) (declaration "undefined8 uVar24;" (type_identifier "undefined8") (identifier "uVar24") (; ";")) (declaration "int in_stack_00000018;" (primitive_type "int") (identifier "in_stack_00000018") (; ";")) (declaration "int iStack_12e4;" (primitive_type "int") (identifier "iStack_12e4") (; ";")) (declaration "int iStack_12dc;" (primitive_type "int") (identifier "iStack_12dc") (; ";")) (declaration "undefined4 uStack_12c0;" (type_identifier "undefined4") (identifier "uStack_12c0") (; ";")) (declaration "undefined4 uStack_12bc;" (type_identifier "undefined4") (identifier "uStack_12bc") (; ";")) (declaration "undefined1 *puStack_12b4;" (type_identifier "undefined1") (pointer_declarator "*puStack_12b4" (* "*") (identifier "puStack_12b4")) (; ";")) (declaration "int iStack_12b0;" (primitive_type "int") (identifier "iStack_12b0") (; ";")) (declaration "int iStack_12ac;" (primitive_type "int") (identifier "iStack_12ac") (; ";")) (declaration "undefined4 uStack_12a8;" (type_identifier "undefined4") (identifier "uStack_12a8") (; ";")) (declaration "undefined4 uStack_12a4;" (type_identifier "undefined4") (identifier "uStack_12a4") (; ";")) (declaration "undefined8 *puStack_12a0;" (type_identifier "undefined8") (pointer_declarator "*puStack_12a0" (* "*") (identifier "puStack_12a0")) (; ";")) (declaration "int iStack_129c;" (primitive_type "int") (identifier "iStack_129c") (; ";")) (declaration "int iStack_1298;" (primitive_type "int") (identifier "iStack_1298") (; ";")) (declaration "undefined4 *puStack_1294;" (type_identifier "undefined4") (pointer_declarator "*puStack_1294" (* "*") (identifier "puStack_1294")) (; ";")) (declaration "undefined8 auStack_1290 [7];" (type_identifier "undefined8") (array_declarator "auStack_1290 [7]" (identifier "auStack_1290") ([ "[") (number_literal "7") (] "]")) (; ";")) (declaration "undefined8 uStack_1258;" (type_identifier "undefined8") (identifier "uStack_1258") (; ";")) (declaration "undefined8 uStack_1220;" (type_identifier "undefined8") (identifier "uStack_1220") (; ";")) (declaration "undefined8 uStack_11e8;" (type_identifier "undefined8") (identifier "uStack_11e8") (; ";")) (declaration "undefined8 uStack_11b0;" (type_identifier "undefined8") (identifier "uStack_11b0") (; ";")) (declaration "undefined8 uStack_1178;" (type_identifier "undefined8") (identifier "uStack_1178") (; ";")) (declaration "undefined1 auStack_116c [4096];" (type_identifier "undefined1") (array_declarator "auStack_116c [4096]" (identifier "auStack_116c") ([ "[") (number_literal "4096") (] "]")) (; ";")) (declaration "int iStack_16c;" (primitive_type "int") (identifier "iStack_16c") (; ";")) (declaration "int iStack_168;" (primitive_type "int") (identifier "iStack_168") (; ";")) (declaration "undefined *puStack_164;" (type_identifier "undefined") (pointer_declarator "*puStack_164" (* "*") (identifier "puStack_164")) (; ";")) (declaration "undefined *puStack_160;" (type_identifier "undefined") (pointer_declarator "*puStack_160" (* "*") (identifier "puStack_160")) (; ";")) (declaration "int iStack_15c;" (primitive_type "int") (identifier "iStack_15c") (; ";")) (declaration "int *piStack_158;" (primitive_type "int") (pointer_declarator "*piStack_158" (* "*") (identifier "piStack_158")) (; ";")) (declaration "undefined *puStack_154;" (type_identifier "undefined") (pointer_declarator "*puStack_154" (* "*") (identifier "puStack_154")) (; ";")) (declaration "undefined1 *puStack_150;" (type_identifier "undefined1") (pointer_declarator "*puStack_150" (* "*") (identifier "puStack_150")) (; ";")) (declaration "undefined4 uStack_118;" (type_identifier "undefined4") (identifier "uStack_118") (; ";")) (declaration "undefined4 uStack_114;" (type_identifier "undefined4") (identifier "uStack_114") (; ";")) (declaration "undefined *puStack_110;" (type_identifier "undefined") (pointer_declarator "*puStack_110" (* "*") (identifier "puStack_110")) (; ";")) (declaration "int iStack_10c;" (primitive_type "int") (identifier "iStack_10c") (; ";")) (declaration "undefined *puStack_108;" (type_identifier "undefined") (pointer_declarator "*puStack_108" (* "*") (identifier "puStack_108")) (; ";")) (declaration "undefined *puStack_104;" (type_identifier "undefined") (pointer_declarator "*puStack_104" (* "*") (identifier "puStack_104")) (; ";")) (declaration "int iStack_100;" (primitive_type "int") (identifier "iStack_100") (; ";")) (declaration "undefined1 *puStack_fc;" (type_identifier "undefined1") (pointer_declarator "*puStack_fc" (* "*") (identifier "puStack_fc")) (; ";")) (declaration "undefined *puStack_f8;" (type_identifier "undefined") (pointer_declarator "*puStack_f8" (* "*") (identifier "puStack_f8")) (; ";")) (declaration "undefined4 *puStack_f4;" (type_identifier "undefined4") (pointer_declarator "*puStack_f4" (* "*") (identifier "puStack_f4")) (; ";")) (declaration "undefined8 uStack_f0;" (type_identifier "undefined8") (identifier "uStack_f0") (; ";")) (declaration "undefined8 uStack_e8;" (type_identifier "undefined8") (identifier "uStack_e8") (; ";")) (declaration "undefined8 uStack_e0;" (type_identifier "undefined8") (identifier "uStack_e0") (; ";")) (declaration "undefined8 uStack_d8;" (type_identifier "undefined8") (identifier "uStack_d8") (; ";")) (declaration "undefined8 uStack_d0;" (type_identifier "undefined8") (identifier "uStack_d0") (; ";")) (declaration "undefined1 auStack_c8 [4];" (type_identifier "undefined1") (array_declarator "auStack_c8 [4]" (identifier "auStack_c8") ([ "[") (number_literal "4") (] "]")) (; ";")) (declaration "int iStack_c4;" (primitive_type "int") (identifier "iStack_c4") (; ";")) (declaration "undefined8 uStack_a0;" (type_identifier "undefined8") (identifier "uStack_a0") (; ";")) (declaration "undefined8 uStack_98;" (type_identifier "undefined8") (identifier "uStack_98") (; ";")) (declaration "undefined8 uStack_90;" (type_identifier "undefined8") (identifier "uStack_90") (; ";")) (declaration "undefined8 uStack_88;" (type_identifier "undefined8") (identifier "uStack_88") (; ";")) (declaration "undefined8 uStack_80;" (type_identifier "undefined8") (identifier "uStack_80") (; ";")) (declaration "int iStack_6c;" (primitive_type "int") (identifier "iStack_6c") (; ";")) (declaration "int iStack_68;" (primitive_type "int") (identifier "iStack_68") (; ";")) (declaration "undefined *puStack_64;" (type_identifier "undefined") (pointer_declarator "*puStack_64" (* "*") (identifier "puStack_64")) (; ";")) (if_statement "if (param_1 == (undefined *)0x0) {\nLAB_001dd2cc:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0xdd0,PTR_s_courses_003a88ec + -0x12ec,0x1da,\n               PTR_s_courses_003a88ec + -0xedc);\nLAB_001dd2f0:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x294c,PTR_s_courses_003a88ec + -0x12ec,0x1df,\n               PTR_s_courses_003a88ec + -0xedc);\n  }\n  else {\n    unaff_s1 = param_1;\n    if (*(int *)(param_1 + 0x336c) != -0x54535255) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                 PTR_s_courses_003a88ec + -0x12ec,0x1db,PTR_s_courses_003a88ec + -0xedc);\n      goto LAB_001dd2cc;\n    }\n    if (*(int *)(param_1 + 0x3350) != 0) {\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_courses_003a88ec + -0x12ec,PTR_s_courses_003a88ec + -0xeec,0x1dd);\n    }\n    if (in_stack_00000018 != 0) {\n      if (*(int *)(in_stack_00000018 + 0x1c) == -0x54535255) {\n        iVar2 = (*(code *)PTR_EdgeImage_003a8dec)(param_1);\n        puVar15 = PTR_ClampImage_003a93c8;\n        if (iVar2 != 0) {\n          *(undefined4 *)(iVar2 + 700) = 0;\n          iVar3 = (*(code *)puVar15)(iVar2,in_stack_00000018);\n          if (iVar3 == 0) {\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n          }\n          else {\n            iVar3 = (*(code *)PTR_BlurImage_003a95c0)(iVar2);\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n            if (iVar3 != 0) {\n              iVar2 = (*(code *)PTR_NormalizeImage_003a8f7c)(iVar3,in_stack_00000018);\n              if (((iVar2 != 0) &&\n                  (iVar2 = (*(code *)PTR_NegateImage_003a985c)(iVar3,0,in_stack_00000018),\n                  iVar2 != 0)) &&\n                 (iVar2 = (*(code *)PTR_GrayscaleImage_003a91cc)\n                                    (iVar3,*(undefined4 *)(param_1 + 0x254),in_stack_00000018),\n                 iVar2 != 0)) {\n                return iVar3;\n              }\n                    \n                    \n              iVar2 = (*(code *)PTR_DestroyImage_003a8f4c)(iVar3);\n              return iVar2;\n            }\n          }\n        }\n        return 0;\n      }\n      goto LAB_001dd2f0;\n    }\n  }" (if "if") (parenthesized_expression "(param_1 == (undefined *)0x0)" (( "(") (binary_expression "param_1 == (undefined *)0x0" (identifier "param_1") (== "==") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_001dd2cc:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0xdd0,PTR_s_courses_003a88ec + -0x12ec,0x1da,\n               PTR_s_courses_003a88ec + -0xedc);\nLAB_001dd2f0:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x294c,PTR_s_courses_003a88ec + -0x12ec,0x1df,\n               PTR_s_courses_003a88ec + -0xedc);\n  }" ({ "{") (labeled_statement "LAB_001dd2cc:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0xdd0,PTR_s_courses_003a88ec + -0x12ec,0x1da,\n               PTR_s_courses_003a88ec + -0xedc);" (statement_identifier "LAB_001dd2cc") (: ":") (expression_statement "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0xdd0,PTR_s_courses_003a88ec + -0x12ec,0x1da,\n               PTR_s_courses_003a88ec + -0xedc);" (call_expression "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0xdd0,PTR_s_courses_003a88ec + -0x12ec,0x1da,\n               PTR_s_courses_003a88ec + -0xedc)" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" (( "(") (pointer_expression "*(code *)PTR___assert_fail_003a9608" (* "*") (cast_expression "(code *)PTR___assert_fail_003a9608" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___assert_fail_003a9608"))) () ")")) (argument_list "(PTR_LAB_003a88e0 + 0xdd0,PTR_s_courses_003a88ec + -0x12ec,0x1da,\n               PTR_s_courses_003a88ec + -0xedc)" (( "(") (binary_expression "PTR_LAB_003a88e0 + 0xdd0" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0xdd0")) (, ",") (binary_expression "PTR_s_courses_003a88ec + -0x12ec" (identifier "PTR_s_courses_003a88ec") (+ "+") (number_literal "-0x12ec")) (, ",") (number_literal "0x1da") (, ",") (binary_expression "PTR_s_courses_003a88ec + -0xedc" (identifier "PTR_s_courses_003a88ec") (+ "+") (number_literal "-0xedc")) () ")"))) (; ";"))) (labeled_statement "LAB_001dd2f0:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x294c,PTR_s_courses_003a88ec + -0x12ec,0x1df,\n               PTR_s_courses_003a88ec + -0xedc);" (statement_identifier "LAB_001dd2f0") (: ":") (expression_statement "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x294c,PTR_s_courses_003a88ec + -0x12ec,0x1df,\n               PTR_s_courses_003a88ec + -0xedc);" (call_expression "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x294c,PTR_s_courses_003a88ec + -0x12ec,0x1df,\n               PTR_s_courses_003a88ec + -0xedc)" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" (( "(") (pointer_expression "*(code *)PTR___assert_fail_003a9608" (* "*") (cast_expression "(code *)PTR___assert_fail_003a9608" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___assert_fail_003a9608"))) () ")")) (argument_list "(PTR_LAB_003a88e0 + 0x294c,PTR_s_courses_003a88ec + -0x12ec,0x1df,\n               PTR_s_courses_003a88ec + -0xedc)" (( "(") (binary_expression "PTR_LAB_003a88e0 + 0x294c" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0x294c")) (, ",") (binary_expression "PTR_s_courses_003a88ec + -0x12ec" (identifier "PTR_s_courses_003a88ec") (+ "+") (number_literal "-0x12ec")) (, ",") (number_literal "0x1df") (, ",") (binary_expression "PTR_s_courses_003a88ec + -0xedc" (identifier "PTR_s_courses_003a88ec") (+ "+") (number_literal "-0xedc")) () ")"))) (; ";"))) (} "}")) (else_clause "else {\n    unaff_s1 = param_1;\n    if (*(int *)(param_1 + 0x336c) != -0x54535255) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                 PTR_s_courses_003a88ec + -0x12ec,0x1db,PTR_s_courses_003a88ec + -0xedc);\n      goto LAB_001dd2cc;\n    }\n    if (*(int *)(param_1 + 0x3350) != 0) {\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_courses_003a88ec + -0x12ec,PTR_s_courses_003a88ec + -0xeec,0x1dd);\n    }\n    if (in_stack_00000018 != 0) {\n      if (*(int *)(in_stack_00000018 + 0x1c) == -0x54535255) {\n        iVar2 = (*(code *)PTR_EdgeImage_003a8dec)(param_1);\n        puVar15 = PTR_ClampImage_003a93c8;\n        if (iVar2 != 0) {\n          *(undefined4 *)(iVar2 + 700) = 0;\n          iVar3 = (*(code *)puVar15)(iVar2,in_stack_00000018);\n          if (iVar3 == 0) {\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n          }\n          else {\n            iVar3 = (*(code *)PTR_BlurImage_003a95c0)(iVar2);\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n            if (iVar3 != 0) {\n              iVar2 = (*(code *)PTR_NormalizeImage_003a8f7c)(iVar3,in_stack_00000018);\n              if (((iVar2 != 0) &&\n                  (iVar2 = (*(code *)PTR_NegateImage_003a985c)(iVar3,0,in_stack_00000018),\n                  iVar2 != 0)) &&\n                 (iVar2 = (*(code *)PTR_GrayscaleImage_003a91cc)\n                                    (iVar3,*(undefined4 *)(param_1 + 0x254),in_stack_00000018),\n                 iVar2 != 0)) {\n                return iVar3;\n              }\n                    \n                    \n              iVar2 = (*(code *)PTR_DestroyImage_003a8f4c)(iVar3);\n              return iVar2;\n            }\n          }\n        }\n        return 0;\n      }\n      goto LAB_001dd2f0;\n    }\n  }" (else "else") (compound_statement "{\n    unaff_s1 = param_1;\n    if (*(int *)(param_1 + 0x336c) != -0x54535255) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                 PTR_s_courses_003a88ec + -0x12ec,0x1db,PTR_s_courses_003a88ec + -0xedc);\n      goto LAB_001dd2cc;\n    }\n    if (*(int *)(param_1 + 0x3350) != 0) {\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_courses_003a88ec + -0x12ec,PTR_s_courses_003a88ec + -0xeec,0x1dd);\n    }\n    if (in_stack_00000018 != 0) {\n      if (*(int *)(in_stack_00000018 + 0x1c) == -0x54535255) {\n        iVar2 = (*(code *)PTR_EdgeImage_003a8dec)(param_1);\n        puVar15 = PTR_ClampImage_003a93c8;\n        if (iVar2 != 0) {\n          *(undefined4 *)(iVar2 + 700) = 0;\n          iVar3 = (*(code *)puVar15)(iVar2,in_stack_00000018);\n          if (iVar3 == 0) {\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n          }\n          else {\n            iVar3 = (*(code *)PTR_BlurImage_003a95c0)(iVar2);\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n            if (iVar3 != 0) {\n              iVar2 = (*(code *)PTR_NormalizeImage_003a8f7c)(iVar3,in_stack_00000018);\n              if (((iVar2 != 0) &&\n                  (iVar2 = (*(code *)PTR_NegateImage_003a985c)(iVar3,0,in_stack_00000018),\n                  iVar2 != 0)) &&\n                 (iVar2 = (*(code *)PTR_GrayscaleImage_003a91cc)\n                                    (iVar3,*(undefined4 *)(param_1 + 0x254),in_stack_00000018),\n                 iVar2 != 0)) {\n                return iVar3;\n              }\n                    \n                    \n              iVar2 = (*(code *)PTR_DestroyImage_003a8f4c)(iVar3);\n              return iVar2;\n            }\n          }\n        }\n        return 0;\n      }\n      goto LAB_001dd2f0;\n    }\n  }" ({ "{") (expression_statement "unaff_s1 = param_1;" (assignment_expression "unaff_s1 = param_1" (identifier "unaff_s1") (= "=") (identifier "param_1")) (; ";")) (if_statement "if (*(int *)(param_1 + 0x336c) != -0x54535255) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                 PTR_s_courses_003a88ec + -0x12ec,0x1db,PTR_s_courses_003a88ec + -0xedc);\n      goto LAB_001dd2cc;\n    }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0x336c) != -0x54535255)" (( "(") (binary_expression "*(int *)(param_1 + 0x336c) != -0x54535255" (pointer_expression "*(int *)(param_1 + 0x336c)" (* "*") (cast_expression "(int *)(param_1 + 0x336c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x336c)" (( "(") (binary_expression "param_1 + 0x336c" (identifier "param_1") (+ "+") (number_literal "0x336c")) () ")")))) (!= "!=") (number_literal "-0x54535255")) () ")")) (compound_statement "{\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                 PTR_s_courses_003a88ec + -0x12ec,0x1db,PTR_s_courses_003a88ec + -0xedc);\n      goto LAB_001dd2cc;\n    }" ({ "{") (expression_statement "(*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                 PTR_s_courses_003a88ec + -0x12ec,0x1db,PTR_s_courses_003a88ec + -0xedc);" (call_expression "(*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                 PTR_s_courses_003a88ec + -0x12ec,0x1db,PTR_s_courses_003a88ec + -0xedc)" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" (( "(") (pointer_expression "*(code *)PTR___assert_fail_003a9608" (* "*") (cast_expression "(code *)PTR___assert_fail_003a9608" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___assert_fail_003a9608"))) () ")")) (argument_list "(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,\n                 PTR_s_courses_003a88ec + -0x12ec,0x1db,PTR_s_courses_003a88ec + -0xedc)" (( "(") (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784" (identifier "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8") (+ "+") (number_literal "-0x3784")) (, ",") (binary_expression "PTR_s_courses_003a88ec + -0x12ec" (identifier "PTR_s_courses_003a88ec") (+ "+") (number_literal "-0x12ec")) (, ",") (number_literal "0x1db") (, ",") (binary_expression "PTR_s_courses_003a88ec + -0xedc" (identifier "PTR_s_courses_003a88ec") (+ "+") (number_literal "-0xedc")) () ")"))) (; ";")) (goto_statement "goto LAB_001dd2cc;" (goto "goto") (statement_identifier "LAB_001dd2cc") (; ";")) (} "}"))) (if_statement "if (*(int *)(param_1 + 0x3350) != 0) {\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_courses_003a88ec + -0x12ec,PTR_s_courses_003a88ec + -0xeec,0x1dd);\n    }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0x3350) != 0)" (( "(") (binary_expression "*(int *)(param_1 + 0x3350) != 0" (pointer_expression "*(int *)(param_1 + 0x3350)" (* "*") (cast_expression "(int *)(param_1 + 0x3350)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x3350)" (( "(") (binary_expression "param_1 + 0x3350" (identifier "param_1") (+ "+") (number_literal "0x3350")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_courses_003a88ec + -0x12ec,PTR_s_courses_003a88ec + -0xeec,0x1dd);\n    }" ({ "{") (expression_statement "(*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_courses_003a88ec + -0x12ec,PTR_s_courses_003a88ec + -0xeec,0x1dd);" (call_expression "(*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_courses_003a88ec + -0x12ec,PTR_s_courses_003a88ec + -0xeec,0x1dd)" (parenthesized_expression "(*(code *)PTR_LogMagickEvent_003a91e0)" (( "(") (pointer_expression "*(code *)PTR_LogMagickEvent_003a91e0" (* "*") (cast_expression "(code *)PTR_LogMagickEvent_003a91e0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_LogMagickEvent_003a91e0"))) () ")")) (argument_list "(0x8000,PTR_s_courses_003a88ec + -0x12ec,PTR_s_courses_003a88ec + -0xeec,0x1dd)" (( "(") (number_literal "0x8000") (, ",") (binary_expression "PTR_s_courses_003a88ec + -0x12ec" (identifier "PTR_s_courses_003a88ec") (+ "+") (number_literal "-0x12ec")) (, ",") (binary_expression "PTR_s_courses_003a88ec + -0xeec" (identifier "PTR_s_courses_003a88ec") (+ "+") (number_literal "-0xeec")) (, ",") (number_literal "0x1dd") () ")"))) (; ";")) (} "}"))) (if_statement "if (in_stack_00000018 != 0) {\n      if (*(int *)(in_stack_00000018 + 0x1c) == -0x54535255) {\n        iVar2 = (*(code *)PTR_EdgeImage_003a8dec)(param_1);\n        puVar15 = PTR_ClampImage_003a93c8;\n        if (iVar2 != 0) {\n          *(undefined4 *)(iVar2 + 700) = 0;\n          iVar3 = (*(code *)puVar15)(iVar2,in_stack_00000018);\n          if (iVar3 == 0) {\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n          }\n          else {\n            iVar3 = (*(code *)PTR_BlurImage_003a95c0)(iVar2);\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n            if (iVar3 != 0) {\n              iVar2 = (*(code *)PTR_NormalizeImage_003a8f7c)(iVar3,in_stack_00000018);\n              if (((iVar2 != 0) &&\n                  (iVar2 = (*(code *)PTR_NegateImage_003a985c)(iVar3,0,in_stack_00000018),\n                  iVar2 != 0)) &&\n                 (iVar2 = (*(code *)PTR_GrayscaleImage_003a91cc)\n                                    (iVar3,*(undefined4 *)(param_1 + 0x254),in_stack_00000018),\n                 iVar2 != 0)) {\n                return iVar3;\n              }\n                    \n                    \n              iVar2 = (*(code *)PTR_DestroyImage_003a8f4c)(iVar3);\n              return iVar2;\n            }\n          }\n        }\n        return 0;\n      }\n      goto LAB_001dd2f0;\n    }" (if "if") (parenthesized_expression "(in_stack_00000018 != 0)" (( "(") (binary_expression "in_stack_00000018 != 0" (identifier "in_stack_00000018") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      if (*(int *)(in_stack_00000018 + 0x1c) == -0x54535255) {\n        iVar2 = (*(code *)PTR_EdgeImage_003a8dec)(param_1);\n        puVar15 = PTR_ClampImage_003a93c8;\n        if (iVar2 != 0) {\n          *(undefined4 *)(iVar2 + 700) = 0;\n          iVar3 = (*(code *)puVar15)(iVar2,in_stack_00000018);\n          if (iVar3 == 0) {\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n          }\n          else {\n            iVar3 = (*(code *)PTR_BlurImage_003a95c0)(iVar2);\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n            if (iVar3 != 0) {\n              iVar2 = (*(code *)PTR_NormalizeImage_003a8f7c)(iVar3,in_stack_00000018);\n              if (((iVar2 != 0) &&\n                  (iVar2 = (*(code *)PTR_NegateImage_003a985c)(iVar3,0,in_stack_00000018),\n                  iVar2 != 0)) &&\n                 (iVar2 = (*(code *)PTR_GrayscaleImage_003a91cc)\n                                    (iVar3,*(undefined4 *)(param_1 + 0x254),in_stack_00000018),\n                 iVar2 != 0)) {\n                return iVar3;\n              }\n                    \n                    \n              iVar2 = (*(code *)PTR_DestroyImage_003a8f4c)(iVar3);\n              return iVar2;\n            }\n          }\n        }\n        return 0;\n      }\n      goto LAB_001dd2f0;\n    }" ({ "{") (if_statement "if (*(int *)(in_stack_00000018 + 0x1c) == -0x54535255) {\n        iVar2 = (*(code *)PTR_EdgeImage_003a8dec)(param_1);\n        puVar15 = PTR_ClampImage_003a93c8;\n        if (iVar2 != 0) {\n          *(undefined4 *)(iVar2 + 700) = 0;\n          iVar3 = (*(code *)puVar15)(iVar2,in_stack_00000018);\n          if (iVar3 == 0) {\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n          }\n          else {\n            iVar3 = (*(code *)PTR_BlurImage_003a95c0)(iVar2);\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n            if (iVar3 != 0) {\n              iVar2 = (*(code *)PTR_NormalizeImage_003a8f7c)(iVar3,in_stack_00000018);\n              if (((iVar2 != 0) &&\n                  (iVar2 = (*(code *)PTR_NegateImage_003a985c)(iVar3,0,in_stack_00000018),\n                  iVar2 != 0)) &&\n                 (iVar2 = (*(code *)PTR_GrayscaleImage_003a91cc)\n                                    (iVar3,*(undefined4 *)(param_1 + 0x254),in_stack_00000018),\n                 iVar2 != 0)) {\n                return iVar3;\n              }\n                    \n                    \n              iVar2 = (*(code *)PTR_DestroyImage_003a8f4c)(iVar3);\n              return iVar2;\n            }\n          }\n        }\n        return 0;\n      }" (if "if") (parenthesized_expression "(*(int *)(in_stack_00000018 + 0x1c) == -0x54535255)" (( "(") (binary_expression "*(int *)(in_stack_00000018 + 0x1c) == -0x54535255" (pointer_expression "*(int *)(in_stack_00000018 + 0x1c)" (* "*") (cast_expression "(int *)(in_stack_00000018 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_stack_00000018 + 0x1c)" (( "(") (binary_expression "in_stack_00000018 + 0x1c" (identifier "in_stack_00000018") (+ "+") (number_literal "0x1c")) () ")")))) (== "==") (number_literal "-0x54535255")) () ")")) (compound_statement "{\n        iVar2 = (*(code *)PTR_EdgeImage_003a8dec)(param_1);\n        puVar15 = PTR_ClampImage_003a93c8;\n        if (iVar2 != 0) {\n          *(undefined4 *)(iVar2 + 700) = 0;\n          iVar3 = (*(code *)puVar15)(iVar2,in_stack_00000018);\n          if (iVar3 == 0) {\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n          }\n          else {\n            iVar3 = (*(code *)PTR_BlurImage_003a95c0)(iVar2);\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n            if (iVar3 != 0) {\n              iVar2 = (*(code *)PTR_NormalizeImage_003a8f7c)(iVar3,in_stack_00000018);\n              if (((iVar2 != 0) &&\n                  (iVar2 = (*(code *)PTR_NegateImage_003a985c)(iVar3,0,in_stack_00000018),\n                  iVar2 != 0)) &&\n                 (iVar2 = (*(code *)PTR_GrayscaleImage_003a91cc)\n                                    (iVar3,*(undefined4 *)(param_1 + 0x254),in_stack_00000018),\n                 iVar2 != 0)) {\n                return iVar3;\n              }\n                    \n                    \n              iVar2 = (*(code *)PTR_DestroyImage_003a8f4c)(iVar3);\n              return iVar2;\n            }\n          }\n        }\n        return 0;\n      }" ({ "{") (expression_statement "iVar2 = (*(code *)PTR_EdgeImage_003a8dec)(param_1);" (assignment_expression "iVar2 = (*(code *)PTR_EdgeImage_003a8dec)(param_1)" (identifier "iVar2") (= "=") (call_expression "(*(code *)PTR_EdgeImage_003a8dec)(param_1)" (parenthesized_expression "(*(code *)PTR_EdgeImage_003a8dec)" (( "(") (pointer_expression "*(code *)PTR_EdgeImage_003a8dec" (* "*") (cast_expression "(code *)PTR_EdgeImage_003a8dec" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_EdgeImage_003a8dec"))) () ")")) (argument_list "(param_1)" (( "(") (identifier "param_1") () ")")))) (; ";")) (expression_statement "puVar15 = PTR_ClampImage_003a93c8;" (assignment_expression "puVar15 = PTR_ClampImage_003a93c8" (identifier "puVar15") (= "=") (identifier "PTR_ClampImage_003a93c8")) (; ";")) (if_statement "if (iVar2 != 0) {\n          *(undefined4 *)(iVar2 + 700) = 0;\n          iVar3 = (*(code *)puVar15)(iVar2,in_stack_00000018);\n          if (iVar3 == 0) {\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n          }\n          else {\n            iVar3 = (*(code *)PTR_BlurImage_003a95c0)(iVar2);\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n            if (iVar3 != 0) {\n              iVar2 = (*(code *)PTR_NormalizeImage_003a8f7c)(iVar3,in_stack_00000018);\n              if (((iVar2 != 0) &&\n                  (iVar2 = (*(code *)PTR_NegateImage_003a985c)(iVar3,0,in_stack_00000018),\n                  iVar2 != 0)) &&\n                 (iVar2 = (*(code *)PTR_GrayscaleImage_003a91cc)\n                                    (iVar3,*(undefined4 *)(param_1 + 0x254),in_stack_00000018),\n                 iVar2 != 0)) {\n                return iVar3;\n              }\n                    \n                    \n              iVar2 = (*(code *)PTR_DestroyImage_003a8f4c)(iVar3);\n              return iVar2;\n            }\n          }\n        }" (if "if") (parenthesized_expression "(iVar2 != 0)" (( "(") (binary_expression "iVar2 != 0" (identifier "iVar2") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          *(undefined4 *)(iVar2 + 700) = 0;\n          iVar3 = (*(code *)puVar15)(iVar2,in_stack_00000018);\n          if (iVar3 == 0) {\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n          }\n          else {\n            iVar3 = (*(code *)PTR_BlurImage_003a95c0)(iVar2);\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n            if (iVar3 != 0) {\n              iVar2 = (*(code *)PTR_NormalizeImage_003a8f7c)(iVar3,in_stack_00000018);\n              if (((iVar2 != 0) &&\n                  (iVar2 = (*(code *)PTR_NegateImage_003a985c)(iVar3,0,in_stack_00000018),\n                  iVar2 != 0)) &&\n                 (iVar2 = (*(code *)PTR_GrayscaleImage_003a91cc)\n                                    (iVar3,*(undefined4 *)(param_1 + 0x254),in_stack_00000018),\n                 iVar2 != 0)) {\n                return iVar3;\n              }\n                    \n                    \n              iVar2 = (*(code *)PTR_DestroyImage_003a8f4c)(iVar3);\n              return iVar2;\n            }\n          }\n        }" ({ "{") (expression_statement "*(undefined4 *)(iVar2 + 700) = 0;" (assignment_expression "*(undefined4 *)(iVar2 + 700) = 0" (pointer_expression "*(undefined4 *)(iVar2 + 700)" (* "*") (cast_expression "(undefined4 *)(iVar2 + 700)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 700)" (( "(") (binary_expression "iVar2 + 700" (identifier "iVar2") (+ "+") (number_literal "700")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar3 = (*(code *)puVar15)(iVar2,in_stack_00000018);" (assignment_expression "iVar3 = (*(code *)puVar15)(iVar2,in_stack_00000018)" (identifier "iVar3") (= "=") (call_expression "(*(code *)puVar15)(iVar2,in_stack_00000018)" (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 "(iVar2,in_stack_00000018)" (( "(") (identifier "iVar2") (, ",") (identifier "in_stack_00000018") () ")")))) (; ";")) (if_statement "if (iVar3 == 0) {\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n          }\n          else {\n            iVar3 = (*(code *)PTR_BlurImage_003a95c0)(iVar2);\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n            if (iVar3 != 0) {\n              iVar2 = (*(code *)PTR_NormalizeImage_003a8f7c)(iVar3,in_stack_00000018);\n              if (((iVar2 != 0) &&\n                  (iVar2 = (*(code *)PTR_NegateImage_003a985c)(iVar3,0,in_stack_00000018),\n                  iVar2 != 0)) &&\n                 (iVar2 = (*(code *)PTR_GrayscaleImage_003a91cc)\n                                    (iVar3,*(undefined4 *)(param_1 + 0x254),in_stack_00000018),\n                 iVar2 != 0)) {\n                return iVar3;\n              }\n                    \n                    \n              iVar2 = (*(code *)PTR_DestroyImage_003a8f4c)(iVar3);\n              return iVar2;\n            }\n          }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n          }" ({ "{") (expression_statement "(*(code *)PTR_DestroyImage_003a8f4c)(iVar2);" (call_expression "(*(code *)PTR_DestroyImage_003a8f4c)(iVar2)" (parenthesized_expression "(*(code *)PTR_DestroyImage_003a8f4c)" (( "(") (pointer_expression "*(code *)PTR_DestroyImage_003a8f4c" (* "*") (cast_expression "(code *)PTR_DestroyImage_003a8f4c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_DestroyImage_003a8f4c"))) () ")")) (argument_list "(iVar2)" (( "(") (identifier "iVar2") () ")"))) (; ";")) (} "}")) (else_clause "else {\n            iVar3 = (*(code *)PTR_BlurImage_003a95c0)(iVar2);\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n            if (iVar3 != 0) {\n              iVar2 = (*(code *)PTR_NormalizeImage_003a8f7c)(iVar3,in_stack_00000018);\n              if (((iVar2 != 0) &&\n                  (iVar2 = (*(code *)PTR_NegateImage_003a985c)(iVar3,0,in_stack_00000018),\n                  iVar2 != 0)) &&\n                 (iVar2 = (*(code *)PTR_GrayscaleImage_003a91cc)\n                                    (iVar3,*(undefined4 *)(param_1 + 0x254),in_stack_00000018),\n                 iVar2 != 0)) {\n                return iVar3;\n              }\n                    \n                    \n              iVar2 = (*(code *)PTR_DestroyImage_003a8f4c)(iVar3);\n              return iVar2;\n            }\n          }" (else "else") (compound_statement "{\n            iVar3 = (*(code *)PTR_BlurImage_003a95c0)(iVar2);\n            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);\n            if (iVar3 != 0) {\n              iVar2 = (*(code *)PTR_NormalizeImage_003a8f7c)(iVar3,in_stack_00000018);\n              if (((iVar2 != 0) &&\n                  (iVar2 = (*(code *)PTR_NegateImage_003a985c)(iVar3,0,in_stack_00000018),\n                  iVar2 != 0)) &&\n                 (iVar2 = (*(code *)PTR_GrayscaleImage_003a91cc)\n                                    (iVar3,*(undefined4 *)(param_1 + 0x254),in_stack_00000018),\n                 iVar2 != 0)) {\n                return iVar3;\n              }\n                    \n                    \n              iVar2 = (*(code *)PTR_DestroyImage_003a8f4c)(iVar3);\n              return iVar2;\n            }\n          }" ({ "{") (expression_statement "iVar3 = (*(code *)PTR_BlurImage_003a95c0)(iVar2);" (assignment_expression "iVar3 = (*(code *)PTR_BlurImage_003a95c0)(iVar2)" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_BlurImage_003a95c0)(iVar2)" (parenthesized_expression "(*(code *)PTR_BlurImage_003a95c0)" (( "(") (pointer_expression "*(code *)PTR_BlurImage_003a95c0" (* "*") (cast_expression "(code *)PTR_BlurImage_003a95c0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_BlurImage_003a95c0"))) () ")")) (argument_list "(iVar2)" (( "(") (identifier "iVar2") () ")")))) (; ";")) (expression_statement "(*(code *)PTR_DestroyImage_003a8f4c)(iVar2);" (call_expression "(*(code *)PTR_DestroyImage_003a8f4c)(iVar2)" (parenthesized_expression "(*(code *)PTR_DestroyImage_003a8f4c)" (( "(") (pointer_expression "*(code *)PTR_DestroyImage_003a8f4c" (* "*") (cast_expression "(code *)PTR_DestroyImage_003a8f4c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_DestroyImage_003a8f4c"))) () ")")) (argument_list "(iVar2)" (( "(") (identifier "iVar2") () ")"))) (; ";")) (if_statement "if (iVar3 != 0) {\n              iVar2 = (*(code *)PTR_NormalizeImage_003a8f7c)(iVar3,in_stack_00000018);\n              if (((iVar2 != 0) &&\n                  (iVar2 = (*(code *)PTR_NegateImage_003a985c)(iVar3,0,in_stack_00000018),\n                  iVar2 != 0)) &&\n                 (iVar2 = (*(code *)PTR_GrayscaleImage_003a91cc)\n                                    (iVar3,*(undefined4 *)(param_1 + 0x254),in_stack_00000018),\n                 iVar2 != 0)) {\n                return iVar3;\n              }\n                    \n                    \n              iVar2 = (*(code *)PTR_DestroyImage_003a8f4c)(iVar3);\n              return iVar2;\n            }" (if "if") (parenthesized_expression "(iVar3 != 0)" (( "(") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              iVar2 = (*(code *)PTR_NormalizeImage_003a8f7c)(iVar3,in_stack_00000018);\n              if (((iVar2 != 0) &&\n                  (iVar2 = (*(code *)PTR_NegateImage_003a985c)(iVar3,0,in_stack_00000018),\n                  iVar2 != 0)) &&\n                 (iVar2 = (*(code *)PTR_GrayscaleImage_003a91cc)\n                                    (iVar3,*(undefined4 *)(param_1 + 0x254),in_stack_00000018),\n                 iVar2 != 0)) {\n                return iVar3;\n              }\n                    \n                    \n              iVar2 = (*(code *)PTR_DestroyImage_003a8f4c)(iVar3);\n              return iVar2;\n            }" ({ "{") (expression_statement "iVar2 = (*(code *)PTR_NormalizeImage_003a8f7c)(iVar3,in_stack_00000018);" (assignment_expression "iVar2 = (*(code *)PTR_NormalizeImage_003a8f7c)(iVar3,in_stack_00000018)" (identifier "iVar2") (= "=") (call_expression "(*(code *)PTR_NormalizeImage_003a8f7c)(iVar3,in_stack_00000018)" (parenthesized_expression "(*(code *)PTR_NormalizeImage_003a8f7c)" (( "(") (pointer_expression "*(code *)PTR_NormalizeImage_003a8f7c" (* "*") (cast_expression "(code *)PTR_NormalizeImage_003a8f7c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_NormalizeImage_003a8f7c"))) () ")")) (argument_list "(iVar3,in_stack_00000018)" (( "(") (identifier "iVar3") (, ",") (identifier "in_stack_00000018") () ")")))) (; ";")) (if_statement "if (((iVar2 != 0) &&\n                  (iVar2 = (*(code *)PTR_NegateImage_003a985c)(iVar3,0,in_stack_00000018),\n                  iVar2 != 0)) &&\n                 (iVar2 = (*(code *)PTR_GrayscaleImage_003a91cc)\n                                    (iVar3,*(undefined4 *)(param_1 + 0x254),in_stack_00000018),\n                 iVar2 != 0)) {\n                return iVar3;\n              }" (if "if") (parenthesized_expression "(((iVar2 != 0) &&\n                  (iVar2 = (*(code *)PTR_NegateImage_003a985c)(iVar3,0,in_stack_00000018),\n                  iVar2 != 0)) &&\n                 (iVar2 = (*(code *)PTR_GrayscaleImage_003a91cc)\n                                    (iVar3,*(undefined4 *)(param_1 + 0x254),in_stack_00000018),\n                 iVar2 != 0))" (( "(") (binary_expression "((iVar2 != 0) &&\n                  (iVar2 = (*(code *)PTR_NegateImage_003a985c)(iVar3,0,in_stack_00000018),\n                  iVar2 != 0)) &&\n                 (iVar2 = (*(code *)PTR_GrayscaleImage_003a91cc)\n                                    (iVar3,*(undefined4 *)(param_1 + 0x254),in_stack_00000018),\n                 iVar2 != 0)" (parenthesized_expression "((iVar2 != 0) &&\n                  (iVar2 = (*(code *)PTR_NegateImage_003a985c)(iVar3,0,in_stack_00000018),\n                  iVar2 != 0))" (( "(") (binary_expression "(iVar2 != 0) &&\n                  (iVar2 = (*(code *)PTR_NegateImage_003a985c)(iVar3,0,in_stack_00000018),\n                  iVar2 != 0)" (parenthesized_expression "(iVar2 != 0)" (( "(") (binary_expression "iVar2 != 0" (identifier "iVar2") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(iVar2 = (*(code *)PTR_NegateImage_003a985c)(iVar3,0,in_stack_00000018),\n                  iVar2 != 0)" (( "(") (comma_expression "iVar2 = (*(code *)PTR_NegateImage_003a985c)(iVar3,0,in_stack_00000018),\n                  iVar2 != 0" (assignment_expression "iVar2 = (*(code *)PTR_NegateImage_003a985c)(iVar3,0,in_stack_00000018)" (identifier "iVar2") (= "=") (call_expression "(*(code *)PTR_NegateImage_003a985c)(iVar3,0,in_stack_00000018)" (parenthesized_expression "(*(code *)PTR_NegateImage_003a985c)" (( "(") (pointer_expression "*(code *)PTR_NegateImage_003a985c" (* "*") (cast_expression "(code *)PTR_NegateImage_003a985c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_NegateImage_003a985c"))) () ")")) (argument_list "(iVar3,0,in_stack_00000018)" (( "(") (identifier "iVar3") (, ",") (number_literal "0") (, ",") (identifier "in_stack_00000018") () ")")))) (, ",") (binary_expression "iVar2 != 0" (identifier "iVar2") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(iVar2 = (*(code *)PTR_GrayscaleImage_003a91cc)\n                                    (iVar3,*(undefined4 *)(param_1 + 0x254),in_stack_00000018),\n                 iVar2 != 0)" (( "(") (comma_expression "iVar2 = (*(code *)PTR_GrayscaleImage_003a91cc)\n                                    (iVar3,*(undefined4 *)(param_1 + 0x254),in_stack_00000018),\n                 iVar2 != 0" (assignment_expression "iVar2 = (*(code *)PTR_GrayscaleImage_003a91cc)\n                                    (iVar3,*(undefined4 *)(param_1 + 0x254),in_stack_00000018)" (identifier "iVar2") (= "=") (call_expression "(*(code *)PTR_GrayscaleImage_003a91cc)\n                                    (iVar3,*(undefined4 *)(param_1 + 0x254),in_stack_00000018)" (parenthesized_expression "(*(code *)PTR_GrayscaleImage_003a91cc)" (( "(") (pointer_expression "*(code *)PTR_GrayscaleImage_003a91cc" (* "*") (cast_expression "(code *)PTR_GrayscaleImage_003a91cc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_GrayscaleImage_003a91cc"))) () ")")) (argument_list "(iVar3,*(undefined4 *)(param_1 + 0x254),in_stack_00000018)" (( "(") (identifier "iVar3") (, ",") (pointer_expression "*(undefined4 *)(param_1 + 0x254)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x254)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x254)" (( "(") (binary_expression "param_1 + 0x254" (identifier "param_1") (+ "+") (number_literal "0x254")) () ")")))) (, ",") (identifier "in_stack_00000018") () ")")))) (, ",") (binary_expression "iVar2 != 0" (identifier "iVar2") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n                return iVar3;\n              }" ({ "{") (return_statement "return iVar3;" (return "return") (identifier "iVar3") (; ";")) (} "}"))) (expression_statement "iVar2 = (*(code *)PTR_DestroyImage_003a8f4c)(iVar3);" (assignment_expression "iVar2 = (*(code *)PTR_DestroyImage_003a8f4c)(iVar3)" (identifier "iVar2") (= "=") (call_expression "(*(code *)PTR_DestroyImage_003a8f4c)(iVar3)" (parenthesized_expression "(*(code *)PTR_DestroyImage_003a8f4c)" (( "(") (pointer_expression "*(code *)PTR_DestroyImage_003a8f4c" (* "*") (cast_expression "(code *)PTR_DestroyImage_003a8f4c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_DestroyImage_003a8f4c"))) () ")")) (argument_list "(iVar3)" (( "(") (identifier "iVar3") () ")")))) (; ";")) (return_statement "return iVar2;" (return "return") (identifier "iVar2") (; ";")) (} "}"))) (} "}")))) (} "}"))) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (goto_statement "goto LAB_001dd2f0;" (goto "goto") (statement_identifier "LAB_001dd2f0") (; ";")) (} "}"))) (} "}")))) (expression_statement "iVar2 = 0x1de;" (assignment_expression "iVar2 = 0x1de" (identifier "iVar2") (= "=") (number_literal "0x1de")) (; ";")) (expression_statement "puVar15 = PTR_s_courses_003a88ec + -0xedc;" (assignment_expression "puVar15 = PTR_s_courses_003a88ec + -0xedc" (identifier "puVar15") (= "=") (binary_expression "PTR_s_courses_003a88ec + -0xedc" (identifier "PTR_s_courses_003a88ec") (+ "+") (number_literal "-0xedc"))) (; ";")) (expression_statement "puVar13 = PTR_s_courses_003a88ec + -0x12ec;" (assignment_expression "puVar13 = PTR_s_courses_003a88ec + -0x12ec" (identifier "puVar13") (= "=") (binary_expression "PTR_s_courses_003a88ec + -0x12ec" (identifier "PTR_s_courses_003a88ec") (+ "+") (number_literal "-0x12ec"))) (; ";")) (expression_statement "puVar10 = PTR_LAB_003a88e0 + 0x1cac;" (assignment_expression "puVar10 = PTR_LAB_003a88e0 + 0x1cac" (identifier "puVar10") (= "=") (binary_expression "PTR_LAB_003a88e0 + 0x1cac" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0x1cac"))) (; ";")) (expression_statement "puVar20 = PTR___assert_fail_003a9608;" (assignment_expression "puVar20 = PTR___assert_fail_003a9608" (identifier "puVar20") (= "=") (identifier "PTR___assert_fail_003a9608")) (; ";")) (expression_statement "(*(code *)PTR___assert_fail_003a9608)();" (call_expression "(*(code *)PTR___assert_fail_003a9608)()" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" (( "(") (pointer_expression "*(code *)PTR___assert_fail_003a9608" (* "*") (cast_expression "(code *)PTR___assert_fail_003a9608" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___assert_fail_003a9608"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "piVar18 = *(int **)(puVar20 + 0x1cbef8);" (assignment_expression "piVar18 = *(int **)(puVar20 + 0x1cbef8)" (identifier "piVar18") (= "=") (pointer_expression "*(int **)(puVar20 + 0x1cbef8)" (* "*") (cast_expression "(int **)(puVar20 + 0x1cbef8)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + 0x1cbef8)" (( "(") (binary_expression "puVar20 + 0x1cbef8" (identifier "puVar20") (+ "+") (number_literal "0x1cbef8")) () ")"))))) (; ";")) (expression_statement "iStack_68 = in_stack_00000018;" (assignment_expression "iStack_68 = in_stack_00000018" (identifier "iStack_68") (= "=") (identifier "in_stack_00000018")) (; ";")) (expression_statement "iStack_6c = *piVar18;" (assignment_expression "iStack_6c = *piVar18" (identifier "iStack_6c") (= "=") (pointer_expression "*piVar18" (* "*") (identifier "piVar18"))) (; ";")) (expression_statement "puStack_64 = unaff_s1;" (assignment_expression "puStack_64 = unaff_s1" (identifier "puStack_64") (= "=") (identifier "unaff_s1")) (; ";")) (if_statement "if (puVar10 == (undefined *)0x0) {\n    (**(code **)(puVar20 + 0x1cc2d0))\n              (*(int *)(puVar20 + 0x1cb5b0) + -0x37b0,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,0x238,\n               *(int *)(puVar20 + 0x1cb5b4) + -0xefc);\n    puVar10 = unaff_s2;\nLAB_001dd890:\n    (**(code **)(puVar20 + 0x1cbd2c))();\nLAB_001dd89c:\n    puVar13 = unaff_s5;\n    iVar2 = unaff_s3;\n    puVar15 = unaff_s1;\n    (**(code **)(puVar20 + 0x1cc2d0))\n              (*(int *)(puVar20 + 0x1cb5b0) + -0x3784,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,0x239,\n               *(int *)(puVar20 + 0x1cb5b4) + -0xefc);\nLAB_001dd8c0:\n    (**(code **)(puVar20 + 0x1cc2d0))\n              (*(int *)(puVar20 + 0x1cb5a8) + 0x294c,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,0x23d,\n               *(int *)(puVar20 + 0x1cb5b4) + -0xefc);\n  }\n  else {\n    if (*(int *)(puVar10 + 0x336c) != -0x54535255) goto LAB_001dd89c;\n    if (*(int *)(puVar10 + 0x3350) != 0) {\n      (**(code **)(puVar20 + 0x1cbea8))\n                (0x8000,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,*(int *)(puVar20 + 0x1cb5b4) + -0xf0c\n                 ,0x23b);\n    }\n    if (puVar15 != (undefined *)0x0) {\n      if (*(int *)(puVar15 + 0x1c) == -0x54535255) {\n        iVar3 = (**(code **)(puVar20 + 0x1cc4f8))(puVar10,0,0,1);\n        in_stack_00000018 = iVar3;\n        if (iVar3 != 0) {\n          iVar4 = (**(code **)(puVar20 + 0x1cc4ec))(iVar3,1,puVar15);\n          if (iVar4 == 0) {\n            in_stack_00000018 = 0;\n            (**(code **)(puVar20 + 0x1cbc14))(iVar3);\n          }\n          else {\n            if (*(int *)(iVar3 + 4) == 0x21) {\nLAB_001dd4b8:\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);\nLAB_001dd4bc:\n              (*pcVar21)(iVar3,0x17,puVar15);\n            }\n            else {\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);\n              if (*(int *)(iVar3 + 4) == 3) goto LAB_001dd4bc;\n              dVar23 = *(double *)(iVar2 + 0x28) - *(double *)(iVar2 + 0x30);\n              if (dVar23 < 0.0) {\n                dVar23 = -dVar23;\n              }\n              if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) {\n                dVar23 = *(double *)(iVar2 + 0x30) - *(double *)(iVar2 + 0x38);\n                if (dVar23 < 0.0) {\n                  dVar23 = -dVar23;\n                }\n                if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) goto LAB_001dd4b8;\n              }\n            }\n            if ((*(int *)(iVar3 + 700) == 0) && (*(int *)(iVar2 + 8) != 0)) {\n              (**(code **)(puVar20 + 0x1cb940))\n                        (iVar3,*(undefined4 *)(*(int *)(puVar20 + 0x1cb5a8) + 0x1a50),puVar15);\n            }\n            if (puVar13 != (undefined *)0x0) {\n              unaff_s6 = auStack_c8;\n              (**(code **)(puVar20 + 0x1cbf7c))(iVar3,unaff_s6);\n              uVar5 = (**(code **)(puVar20 + 0x1cc11c))(puVar13,&uStack_f0);\n              uStack_80 = 0;\n              uStack_a0 = uStack_f0;\n              uStack_98 = uStack_f0;\n              uStack_90 = uStack_f0;\n              uStack_88 = uStack_f0;\n              if ((uVar5 & 8) != 0) {\n                uStack_98 = uStack_e8;\n              }\n              if ((uVar5 & 1) != 0) {\n                uStack_90 = uStack_e0;\n              }\n              if ((uVar5 & 2) == 0) {\n                pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                uVar24 = uStack_88;\n                if (iStack_c4 == 2) goto LAB_001dd6b0;\n              }\n              else {\n                uStack_80 = uStack_d8;\n                uVar24 = uStack_d8;\n                if (iStack_c4 == 2) {\nLAB_001dd6b0:\n                  uStack_88 = uVar24;\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                  if ((uVar5 & 0x10) != 0) {\n                    uStack_80 = uStack_d0;\n                  }\n                }\n                else {\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                }\n              }\n              uStack_114 = 0;\n              uStack_118 = 0;\n              puVar13 = (undefined *)(*pcVar21)(iVar3,puVar15);\n              iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3);\n              if (((iVar4 == 4) || (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3))\n                 && ((iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 4 ||\n                     (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3)))) {\n                (**(code **)(puVar20 + 0x1cbe04))(7);\n                iVar11 = *(int *)(iVar3 + 0x1c);\n                iVar4 = iVar11;\n                if (iVar11 < 0) {\n                  iVar4 = iVar11 + 0x3f;\n                }\n                if (extraout_v1 < iVar4 >> 6) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  bVar1 = extraout_v1_02 < 2;\n                }\n                else {\n                  bVar1 = iVar11 < 0x80;\n                }\n                iVar4 = 1;\n                if ((bool)(bVar1 ^ 1)) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  iVar4 = *(int *)(iVar3 + 0x1c);\n                  if (iVar4 < 0) {\n                    iVar4 = iVar4 + 0x3f;\n                  }\n                  iVar4 = iVar4 >> 6;\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                  if (extraout_v1_01 < iVar4) {\n                    pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                    goto LAB_001dd7c0;\n                  }\n                }\n                else {\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                }\n              }\n              else {\n                uVar24 = (**(code **)(puVar20 + 0x1cbe04))(7);\n                if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  uVar24 = (*pcVar21)(7);\n                  if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001dd5d0;\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  iVar4 = 1;\n                }\n                else {\nLAB_001dd5d0:\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\nLAB_001dd5d4:\n                  uVar24 = (*pcVar21)(7);\n                  if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n                     (pcVar21 = *(code **)(puVar20 + 0x1cbe04), (uint)uVar24 < 2)) {\nLAB_001dd7c0:\n                    (*pcVar21)(7);\n                    iVar4 = extraout_v1_00;\n                  }\n                  else {\n                    iVar4 = 2;\n                  }\n                }\n                iVar11 = *(int *)(puVar20 + 0x1cb66c);\n              }\n              puStack_f8 = (undefined *)0x1;\n              puStack_f4 = &uStack_118;\n              puStack_110 = puVar10;\n              iStack_10c = iVar2;\n              puStack_108 = puVar15;\n              puStack_104 = puVar13;\n              iStack_100 = iVar3;\n              puStack_fc = unaff_s6;\n              (**(code **)(puVar20 + 0x1cbe60))(iVar11 + -0x43b4,&puStack_110,iVar4,0);\n              puVar15 = puStack_f8;\n              (**(code **)(puVar20 + 0x1cbbbc))(puVar13);\n              if (puVar15 == (undefined *)0x0) {\n                in_stack_00000018 = (**(code **)(puVar20 + 0x1cbc14))(iVar3);\n              }\n            }\n          }\n        }\n        unaff_s1 = puVar15;\n        unaff_s3 = iVar2;\n        unaff_s5 = puVar13;\n        if (iStack_6c == *piVar18) {\n          return in_stack_00000018;\n        }\n        goto LAB_001dd890;\n      }\n      goto LAB_001dd8c0;\n    }\n  }" (if "if") (parenthesized_expression "(puVar10 == (undefined *)0x0)" (( "(") (binary_expression "puVar10 == (undefined *)0x0" (identifier "puVar10") (== "==") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    (**(code **)(puVar20 + 0x1cc2d0))\n              (*(int *)(puVar20 + 0x1cb5b0) + -0x37b0,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,0x238,\n               *(int *)(puVar20 + 0x1cb5b4) + -0xefc);\n    puVar10 = unaff_s2;\nLAB_001dd890:\n    (**(code **)(puVar20 + 0x1cbd2c))();\nLAB_001dd89c:\n    puVar13 = unaff_s5;\n    iVar2 = unaff_s3;\n    puVar15 = unaff_s1;\n    (**(code **)(puVar20 + 0x1cc2d0))\n              (*(int *)(puVar20 + 0x1cb5b0) + -0x3784,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,0x239,\n               *(int *)(puVar20 + 0x1cb5b4) + -0xefc);\nLAB_001dd8c0:\n    (**(code **)(puVar20 + 0x1cc2d0))\n              (*(int *)(puVar20 + 0x1cb5a8) + 0x294c,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,0x23d,\n               *(int *)(puVar20 + 0x1cb5b4) + -0xefc);\n  }" ({ "{") (expression_statement "(**(code **)(puVar20 + 0x1cc2d0))\n              (*(int *)(puVar20 + 0x1cb5b0) + -0x37b0,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,0x238,\n               *(int *)(puVar20 + 0x1cb5b4) + -0xefc);" (call_expression "(**(code **)(puVar20 + 0x1cc2d0))\n              (*(int *)(puVar20 + 0x1cb5b0) + -0x37b0,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,0x238,\n               *(int *)(puVar20 + 0x1cb5b4) + -0xefc)" (parenthesized_expression "(**(code **)(puVar20 + 0x1cc2d0))" (( "(") (pointer_expression "**(code **)(puVar20 + 0x1cc2d0)" (* "*") (pointer_expression "*(code **)(puVar20 + 0x1cc2d0)" (* "*") (cast_expression "(code **)(puVar20 + 0x1cc2d0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + 0x1cc2d0)" (( "(") (binary_expression "puVar20 + 0x1cc2d0" (identifier "puVar20") (+ "+") (number_literal "0x1cc2d0")) () ")"))))) () ")")) (argument_list "(*(int *)(puVar20 + 0x1cb5b0) + -0x37b0,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,0x238,\n               *(int *)(puVar20 + 0x1cb5b4) + -0xefc)" (( "(") (binary_expression "*(int *)(puVar20 + 0x1cb5b0) + -0x37b0" (pointer_expression "*(int *)(puVar20 + 0x1cb5b0)" (* "*") (cast_expression "(int *)(puVar20 + 0x1cb5b0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 0x1cb5b0)" (( "(") (binary_expression "puVar20 + 0x1cb5b0" (identifier "puVar20") (+ "+") (number_literal "0x1cb5b0")) () ")")))) (+ "+") (number_literal "-0x37b0")) (, ",") (binary_expression "*(int *)(puVar20 + 0x1cb5b4) + -0x12ec" (pointer_expression "*(int *)(puVar20 + 0x1cb5b4)" (* "*") (cast_expression "(int *)(puVar20 + 0x1cb5b4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 0x1cb5b4)" (( "(") (binary_expression "puVar20 + 0x1cb5b4" (identifier "puVar20") (+ "+") (number_literal "0x1cb5b4")) () ")")))) (+ "+") (number_literal "-0x12ec")) (, ",") (number_literal "0x238") (, ",") (binary_expression "*(int *)(puVar20 + 0x1cb5b4) + -0xefc" (pointer_expression "*(int *)(puVar20 + 0x1cb5b4)" (* "*") (cast_expression "(int *)(puVar20 + 0x1cb5b4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 0x1cb5b4)" (( "(") (binary_expression "puVar20 + 0x1cb5b4" (identifier "puVar20") (+ "+") (number_literal "0x1cb5b4")) () ")")))) (+ "+") (number_literal "-0xefc")) () ")"))) (; ";")) (expression_statement "puVar10 = unaff_s2;" (assignment_expression "puVar10 = unaff_s2" (identifier "puVar10") (= "=") (identifier "unaff_s2")) (; ";")) (labeled_statement "LAB_001dd890:\n    (**(code **)(puVar20 + 0x1cbd2c))();" (statement_identifier "LAB_001dd890") (: ":") (expression_statement "(**(code **)(puVar20 + 0x1cbd2c))();" (call_expression "(**(code **)(puVar20 + 0x1cbd2c))()" (parenthesized_expression "(**(code **)(puVar20 + 0x1cbd2c))" (( "(") (pointer_expression "**(code **)(puVar20 + 0x1cbd2c)" (* "*") (pointer_expression "*(code **)(puVar20 + 0x1cbd2c)" (* "*") (cast_expression "(code **)(puVar20 + 0x1cbd2c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + 0x1cbd2c)" (( "(") (binary_expression "puVar20 + 0x1cbd2c" (identifier "puVar20") (+ "+") (number_literal "0x1cbd2c")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";"))) (labeled_statement "LAB_001dd89c:\n    puVar13 = unaff_s5;" (statement_identifier "LAB_001dd89c") (: ":") (expression_statement "puVar13 = unaff_s5;" (assignment_expression "puVar13 = unaff_s5" (identifier "puVar13") (= "=") (identifier "unaff_s5")) (; ";"))) (expression_statement "iVar2 = unaff_s3;" (assignment_expression "iVar2 = unaff_s3" (identifier "iVar2") (= "=") (identifier "unaff_s3")) (; ";")) (expression_statement "puVar15 = unaff_s1;" (assignment_expression "puVar15 = unaff_s1" (identifier "puVar15") (= "=") (identifier "unaff_s1")) (; ";")) (expression_statement "(**(code **)(puVar20 + 0x1cc2d0))\n              (*(int *)(puVar20 + 0x1cb5b0) + -0x3784,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,0x239,\n               *(int *)(puVar20 + 0x1cb5b4) + -0xefc);" (call_expression "(**(code **)(puVar20 + 0x1cc2d0))\n              (*(int *)(puVar20 + 0x1cb5b0) + -0x3784,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,0x239,\n               *(int *)(puVar20 + 0x1cb5b4) + -0xefc)" (parenthesized_expression "(**(code **)(puVar20 + 0x1cc2d0))" (( "(") (pointer_expression "**(code **)(puVar20 + 0x1cc2d0)" (* "*") (pointer_expression "*(code **)(puVar20 + 0x1cc2d0)" (* "*") (cast_expression "(code **)(puVar20 + 0x1cc2d0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + 0x1cc2d0)" (( "(") (binary_expression "puVar20 + 0x1cc2d0" (identifier "puVar20") (+ "+") (number_literal "0x1cc2d0")) () ")"))))) () ")")) (argument_list "(*(int *)(puVar20 + 0x1cb5b0) + -0x3784,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,0x239,\n               *(int *)(puVar20 + 0x1cb5b4) + -0xefc)" (( "(") (binary_expression "*(int *)(puVar20 + 0x1cb5b0) + -0x3784" (pointer_expression "*(int *)(puVar20 + 0x1cb5b0)" (* "*") (cast_expression "(int *)(puVar20 + 0x1cb5b0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 0x1cb5b0)" (( "(") (binary_expression "puVar20 + 0x1cb5b0" (identifier "puVar20") (+ "+") (number_literal "0x1cb5b0")) () ")")))) (+ "+") (number_literal "-0x3784")) (, ",") (binary_expression "*(int *)(puVar20 + 0x1cb5b4) + -0x12ec" (pointer_expression "*(int *)(puVar20 + 0x1cb5b4)" (* "*") (cast_expression "(int *)(puVar20 + 0x1cb5b4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 0x1cb5b4)" (( "(") (binary_expression "puVar20 + 0x1cb5b4" (identifier "puVar20") (+ "+") (number_literal "0x1cb5b4")) () ")")))) (+ "+") (number_literal "-0x12ec")) (, ",") (number_literal "0x239") (, ",") (binary_expression "*(int *)(puVar20 + 0x1cb5b4) + -0xefc" (pointer_expression "*(int *)(puVar20 + 0x1cb5b4)" (* "*") (cast_expression "(int *)(puVar20 + 0x1cb5b4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 0x1cb5b4)" (( "(") (binary_expression "puVar20 + 0x1cb5b4" (identifier "puVar20") (+ "+") (number_literal "0x1cb5b4")) () ")")))) (+ "+") (number_literal "-0xefc")) () ")"))) (; ";")) (labeled_statement "LAB_001dd8c0:\n    (**(code **)(puVar20 + 0x1cc2d0))\n              (*(int *)(puVar20 + 0x1cb5a8) + 0x294c,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,0x23d,\n               *(int *)(puVar20 + 0x1cb5b4) + -0xefc);" (statement_identifier "LAB_001dd8c0") (: ":") (expression_statement "(**(code **)(puVar20 + 0x1cc2d0))\n              (*(int *)(puVar20 + 0x1cb5a8) + 0x294c,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,0x23d,\n               *(int *)(puVar20 + 0x1cb5b4) + -0xefc);" (call_expression "(**(code **)(puVar20 + 0x1cc2d0))\n              (*(int *)(puVar20 + 0x1cb5a8) + 0x294c,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,0x23d,\n               *(int *)(puVar20 + 0x1cb5b4) + -0xefc)" (parenthesized_expression "(**(code **)(puVar20 + 0x1cc2d0))" (( "(") (pointer_expression "**(code **)(puVar20 + 0x1cc2d0)" (* "*") (pointer_expression "*(code **)(puVar20 + 0x1cc2d0)" (* "*") (cast_expression "(code **)(puVar20 + 0x1cc2d0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + 0x1cc2d0)" (( "(") (binary_expression "puVar20 + 0x1cc2d0" (identifier "puVar20") (+ "+") (number_literal "0x1cc2d0")) () ")"))))) () ")")) (argument_list "(*(int *)(puVar20 + 0x1cb5a8) + 0x294c,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,0x23d,\n               *(int *)(puVar20 + 0x1cb5b4) + -0xefc)" (( "(") (binary_expression "*(int *)(puVar20 + 0x1cb5a8) + 0x294c" (pointer_expression "*(int *)(puVar20 + 0x1cb5a8)" (* "*") (cast_expression "(int *)(puVar20 + 0x1cb5a8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 0x1cb5a8)" (( "(") (binary_expression "puVar20 + 0x1cb5a8" (identifier "puVar20") (+ "+") (number_literal "0x1cb5a8")) () ")")))) (+ "+") (number_literal "0x294c")) (, ",") (binary_expression "*(int *)(puVar20 + 0x1cb5b4) + -0x12ec" (pointer_expression "*(int *)(puVar20 + 0x1cb5b4)" (* "*") (cast_expression "(int *)(puVar20 + 0x1cb5b4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 0x1cb5b4)" (( "(") (binary_expression "puVar20 + 0x1cb5b4" (identifier "puVar20") (+ "+") (number_literal "0x1cb5b4")) () ")")))) (+ "+") (number_literal "-0x12ec")) (, ",") (number_literal "0x23d") (, ",") (binary_expression "*(int *)(puVar20 + 0x1cb5b4) + -0xefc" (pointer_expression "*(int *)(puVar20 + 0x1cb5b4)" (* "*") (cast_expression "(int *)(puVar20 + 0x1cb5b4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 0x1cb5b4)" (( "(") (binary_expression "puVar20 + 0x1cb5b4" (identifier "puVar20") (+ "+") (number_literal "0x1cb5b4")) () ")")))) (+ "+") (number_literal "-0xefc")) () ")"))) (; ";"))) (} "}")) (else_clause "else {\n    if (*(int *)(puVar10 + 0x336c) != -0x54535255) goto LAB_001dd89c;\n    if (*(int *)(puVar10 + 0x3350) != 0) {\n      (**(code **)(puVar20 + 0x1cbea8))\n                (0x8000,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,*(int *)(puVar20 + 0x1cb5b4) + -0xf0c\n                 ,0x23b);\n    }\n    if (puVar15 != (undefined *)0x0) {\n      if (*(int *)(puVar15 + 0x1c) == -0x54535255) {\n        iVar3 = (**(code **)(puVar20 + 0x1cc4f8))(puVar10,0,0,1);\n        in_stack_00000018 = iVar3;\n        if (iVar3 != 0) {\n          iVar4 = (**(code **)(puVar20 + 0x1cc4ec))(iVar3,1,puVar15);\n          if (iVar4 == 0) {\n            in_stack_00000018 = 0;\n            (**(code **)(puVar20 + 0x1cbc14))(iVar3);\n          }\n          else {\n            if (*(int *)(iVar3 + 4) == 0x21) {\nLAB_001dd4b8:\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);\nLAB_001dd4bc:\n              (*pcVar21)(iVar3,0x17,puVar15);\n            }\n            else {\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);\n              if (*(int *)(iVar3 + 4) == 3) goto LAB_001dd4bc;\n              dVar23 = *(double *)(iVar2 + 0x28) - *(double *)(iVar2 + 0x30);\n              if (dVar23 < 0.0) {\n                dVar23 = -dVar23;\n              }\n              if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) {\n                dVar23 = *(double *)(iVar2 + 0x30) - *(double *)(iVar2 + 0x38);\n                if (dVar23 < 0.0) {\n                  dVar23 = -dVar23;\n                }\n                if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) goto LAB_001dd4b8;\n              }\n            }\n            if ((*(int *)(iVar3 + 700) == 0) && (*(int *)(iVar2 + 8) != 0)) {\n              (**(code **)(puVar20 + 0x1cb940))\n                        (iVar3,*(undefined4 *)(*(int *)(puVar20 + 0x1cb5a8) + 0x1a50),puVar15);\n            }\n            if (puVar13 != (undefined *)0x0) {\n              unaff_s6 = auStack_c8;\n              (**(code **)(puVar20 + 0x1cbf7c))(iVar3,unaff_s6);\n              uVar5 = (**(code **)(puVar20 + 0x1cc11c))(puVar13,&uStack_f0);\n              uStack_80 = 0;\n              uStack_a0 = uStack_f0;\n              uStack_98 = uStack_f0;\n              uStack_90 = uStack_f0;\n              uStack_88 = uStack_f0;\n              if ((uVar5 & 8) != 0) {\n                uStack_98 = uStack_e8;\n              }\n              if ((uVar5 & 1) != 0) {\n                uStack_90 = uStack_e0;\n              }\n              if ((uVar5 & 2) == 0) {\n                pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                uVar24 = uStack_88;\n                if (iStack_c4 == 2) goto LAB_001dd6b0;\n              }\n              else {\n                uStack_80 = uStack_d8;\n                uVar24 = uStack_d8;\n                if (iStack_c4 == 2) {\nLAB_001dd6b0:\n                  uStack_88 = uVar24;\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                  if ((uVar5 & 0x10) != 0) {\n                    uStack_80 = uStack_d0;\n                  }\n                }\n                else {\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                }\n              }\n              uStack_114 = 0;\n              uStack_118 = 0;\n              puVar13 = (undefined *)(*pcVar21)(iVar3,puVar15);\n              iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3);\n              if (((iVar4 == 4) || (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3))\n                 && ((iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 4 ||\n                     (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3)))) {\n                (**(code **)(puVar20 + 0x1cbe04))(7);\n                iVar11 = *(int *)(iVar3 + 0x1c);\n                iVar4 = iVar11;\n                if (iVar11 < 0) {\n                  iVar4 = iVar11 + 0x3f;\n                }\n                if (extraout_v1 < iVar4 >> 6) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  bVar1 = extraout_v1_02 < 2;\n                }\n                else {\n                  bVar1 = iVar11 < 0x80;\n                }\n                iVar4 = 1;\n                if ((bool)(bVar1 ^ 1)) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  iVar4 = *(int *)(iVar3 + 0x1c);\n                  if (iVar4 < 0) {\n                    iVar4 = iVar4 + 0x3f;\n                  }\n                  iVar4 = iVar4 >> 6;\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                  if (extraout_v1_01 < iVar4) {\n                    pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                    goto LAB_001dd7c0;\n                  }\n                }\n                else {\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                }\n              }\n              else {\n                uVar24 = (**(code **)(puVar20 + 0x1cbe04))(7);\n                if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  uVar24 = (*pcVar21)(7);\n                  if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001dd5d0;\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  iVar4 = 1;\n                }\n                else {\nLAB_001dd5d0:\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\nLAB_001dd5d4:\n                  uVar24 = (*pcVar21)(7);\n                  if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n                     (pcVar21 = *(code **)(puVar20 + 0x1cbe04), (uint)uVar24 < 2)) {\nLAB_001dd7c0:\n                    (*pcVar21)(7);\n                    iVar4 = extraout_v1_00;\n                  }\n                  else {\n                    iVar4 = 2;\n                  }\n                }\n                iVar11 = *(int *)(puVar20 + 0x1cb66c);\n              }\n              puStack_f8 = (undefined *)0x1;\n              puStack_f4 = &uStack_118;\n              puStack_110 = puVar10;\n              iStack_10c = iVar2;\n              puStack_108 = puVar15;\n              puStack_104 = puVar13;\n              iStack_100 = iVar3;\n              puStack_fc = unaff_s6;\n              (**(code **)(puVar20 + 0x1cbe60))(iVar11 + -0x43b4,&puStack_110,iVar4,0);\n              puVar15 = puStack_f8;\n              (**(code **)(puVar20 + 0x1cbbbc))(puVar13);\n              if (puVar15 == (undefined *)0x0) {\n                in_stack_00000018 = (**(code **)(puVar20 + 0x1cbc14))(iVar3);\n              }\n            }\n          }\n        }\n        unaff_s1 = puVar15;\n        unaff_s3 = iVar2;\n        unaff_s5 = puVar13;\n        if (iStack_6c == *piVar18) {\n          return in_stack_00000018;\n        }\n        goto LAB_001dd890;\n      }\n      goto LAB_001dd8c0;\n    }\n  }" (else "else") (compound_statement "{\n    if (*(int *)(puVar10 + 0x336c) != -0x54535255) goto LAB_001dd89c;\n    if (*(int *)(puVar10 + 0x3350) != 0) {\n      (**(code **)(puVar20 + 0x1cbea8))\n                (0x8000,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,*(int *)(puVar20 + 0x1cb5b4) + -0xf0c\n                 ,0x23b);\n    }\n    if (puVar15 != (undefined *)0x0) {\n      if (*(int *)(puVar15 + 0x1c) == -0x54535255) {\n        iVar3 = (**(code **)(puVar20 + 0x1cc4f8))(puVar10,0,0,1);\n        in_stack_00000018 = iVar3;\n        if (iVar3 != 0) {\n          iVar4 = (**(code **)(puVar20 + 0x1cc4ec))(iVar3,1,puVar15);\n          if (iVar4 == 0) {\n            in_stack_00000018 = 0;\n            (**(code **)(puVar20 + 0x1cbc14))(iVar3);\n          }\n          else {\n            if (*(int *)(iVar3 + 4) == 0x21) {\nLAB_001dd4b8:\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);\nLAB_001dd4bc:\n              (*pcVar21)(iVar3,0x17,puVar15);\n            }\n            else {\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);\n              if (*(int *)(iVar3 + 4) == 3) goto LAB_001dd4bc;\n              dVar23 = *(double *)(iVar2 + 0x28) - *(double *)(iVar2 + 0x30);\n              if (dVar23 < 0.0) {\n                dVar23 = -dVar23;\n              }\n              if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) {\n                dVar23 = *(double *)(iVar2 + 0x30) - *(double *)(iVar2 + 0x38);\n                if (dVar23 < 0.0) {\n                  dVar23 = -dVar23;\n                }\n                if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) goto LAB_001dd4b8;\n              }\n            }\n            if ((*(int *)(iVar3 + 700) == 0) && (*(int *)(iVar2 + 8) != 0)) {\n              (**(code **)(puVar20 + 0x1cb940))\n                        (iVar3,*(undefined4 *)(*(int *)(puVar20 + 0x1cb5a8) + 0x1a50),puVar15);\n            }\n            if (puVar13 != (undefined *)0x0) {\n              unaff_s6 = auStack_c8;\n              (**(code **)(puVar20 + 0x1cbf7c))(iVar3,unaff_s6);\n              uVar5 = (**(code **)(puVar20 + 0x1cc11c))(puVar13,&uStack_f0);\n              uStack_80 = 0;\n              uStack_a0 = uStack_f0;\n              uStack_98 = uStack_f0;\n              uStack_90 = uStack_f0;\n              uStack_88 = uStack_f0;\n              if ((uVar5 & 8) != 0) {\n                uStack_98 = uStack_e8;\n              }\n              if ((uVar5 & 1) != 0) {\n                uStack_90 = uStack_e0;\n              }\n              if ((uVar5 & 2) == 0) {\n                pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                uVar24 = uStack_88;\n                if (iStack_c4 == 2) goto LAB_001dd6b0;\n              }\n              else {\n                uStack_80 = uStack_d8;\n                uVar24 = uStack_d8;\n                if (iStack_c4 == 2) {\nLAB_001dd6b0:\n                  uStack_88 = uVar24;\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                  if ((uVar5 & 0x10) != 0) {\n                    uStack_80 = uStack_d0;\n                  }\n                }\n                else {\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                }\n              }\n              uStack_114 = 0;\n              uStack_118 = 0;\n              puVar13 = (undefined *)(*pcVar21)(iVar3,puVar15);\n              iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3);\n              if (((iVar4 == 4) || (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3))\n                 && ((iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 4 ||\n                     (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3)))) {\n                (**(code **)(puVar20 + 0x1cbe04))(7);\n                iVar11 = *(int *)(iVar3 + 0x1c);\n                iVar4 = iVar11;\n                if (iVar11 < 0) {\n                  iVar4 = iVar11 + 0x3f;\n                }\n                if (extraout_v1 < iVar4 >> 6) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  bVar1 = extraout_v1_02 < 2;\n                }\n                else {\n                  bVar1 = iVar11 < 0x80;\n                }\n                iVar4 = 1;\n                if ((bool)(bVar1 ^ 1)) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  iVar4 = *(int *)(iVar3 + 0x1c);\n                  if (iVar4 < 0) {\n                    iVar4 = iVar4 + 0x3f;\n                  }\n                  iVar4 = iVar4 >> 6;\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                  if (extraout_v1_01 < iVar4) {\n                    pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                    goto LAB_001dd7c0;\n                  }\n                }\n                else {\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                }\n              }\n              else {\n                uVar24 = (**(code **)(puVar20 + 0x1cbe04))(7);\n                if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  uVar24 = (*pcVar21)(7);\n                  if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001dd5d0;\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  iVar4 = 1;\n                }\n                else {\nLAB_001dd5d0:\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\nLAB_001dd5d4:\n                  uVar24 = (*pcVar21)(7);\n                  if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n                     (pcVar21 = *(code **)(puVar20 + 0x1cbe04), (uint)uVar24 < 2)) {\nLAB_001dd7c0:\n                    (*pcVar21)(7);\n                    iVar4 = extraout_v1_00;\n                  }\n                  else {\n                    iVar4 = 2;\n                  }\n                }\n                iVar11 = *(int *)(puVar20 + 0x1cb66c);\n              }\n              puStack_f8 = (undefined *)0x1;\n              puStack_f4 = &uStack_118;\n              puStack_110 = puVar10;\n              iStack_10c = iVar2;\n              puStack_108 = puVar15;\n              puStack_104 = puVar13;\n              iStack_100 = iVar3;\n              puStack_fc = unaff_s6;\n              (**(code **)(puVar20 + 0x1cbe60))(iVar11 + -0x43b4,&puStack_110,iVar4,0);\n              puVar15 = puStack_f8;\n              (**(code **)(puVar20 + 0x1cbbbc))(puVar13);\n              if (puVar15 == (undefined *)0x0) {\n                in_stack_00000018 = (**(code **)(puVar20 + 0x1cbc14))(iVar3);\n              }\n            }\n          }\n        }\n        unaff_s1 = puVar15;\n        unaff_s3 = iVar2;\n        unaff_s5 = puVar13;\n        if (iStack_6c == *piVar18) {\n          return in_stack_00000018;\n        }\n        goto LAB_001dd890;\n      }\n      goto LAB_001dd8c0;\n    }\n  }" ({ "{") (if_statement "if (*(int *)(puVar10 + 0x336c) != -0x54535255) goto LAB_001dd89c;" (if "if") (parenthesized_expression "(*(int *)(puVar10 + 0x336c) != -0x54535255)" (( "(") (binary_expression "*(int *)(puVar10 + 0x336c) != -0x54535255" (pointer_expression "*(int *)(puVar10 + 0x336c)" (* "*") (cast_expression "(int *)(puVar10 + 0x336c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + 0x336c)" (( "(") (binary_expression "puVar10 + 0x336c" (identifier "puVar10") (+ "+") (number_literal "0x336c")) () ")")))) (!= "!=") (number_literal "-0x54535255")) () ")")) (goto_statement "goto LAB_001dd89c;" (goto "goto") (statement_identifier "LAB_001dd89c") (; ";"))) (if_statement "if (*(int *)(puVar10 + 0x3350) != 0) {\n      (**(code **)(puVar20 + 0x1cbea8))\n                (0x8000,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,*(int *)(puVar20 + 0x1cb5b4) + -0xf0c\n                 ,0x23b);\n    }" (if "if") (parenthesized_expression "(*(int *)(puVar10 + 0x3350) != 0)" (( "(") (binary_expression "*(int *)(puVar10 + 0x3350) != 0" (pointer_expression "*(int *)(puVar10 + 0x3350)" (* "*") (cast_expression "(int *)(puVar10 + 0x3350)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + 0x3350)" (( "(") (binary_expression "puVar10 + 0x3350" (identifier "puVar10") (+ "+") (number_literal "0x3350")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      (**(code **)(puVar20 + 0x1cbea8))\n                (0x8000,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,*(int *)(puVar20 + 0x1cb5b4) + -0xf0c\n                 ,0x23b);\n    }" ({ "{") (expression_statement "(**(code **)(puVar20 + 0x1cbea8))\n                (0x8000,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,*(int *)(puVar20 + 0x1cb5b4) + -0xf0c\n                 ,0x23b);" (call_expression "(**(code **)(puVar20 + 0x1cbea8))\n                (0x8000,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,*(int *)(puVar20 + 0x1cb5b4) + -0xf0c\n                 ,0x23b)" (parenthesized_expression "(**(code **)(puVar20 + 0x1cbea8))" (( "(") (pointer_expression "**(code **)(puVar20 + 0x1cbea8)" (* "*") (pointer_expression "*(code **)(puVar20 + 0x1cbea8)" (* "*") (cast_expression "(code **)(puVar20 + 0x1cbea8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + 0x1cbea8)" (( "(") (binary_expression "puVar20 + 0x1cbea8" (identifier "puVar20") (+ "+") (number_literal "0x1cbea8")) () ")"))))) () ")")) (argument_list "(0x8000,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,*(int *)(puVar20 + 0x1cb5b4) + -0xf0c\n                 ,0x23b)" (( "(") (number_literal "0x8000") (, ",") (binary_expression "*(int *)(puVar20 + 0x1cb5b4) + -0x12ec" (pointer_expression "*(int *)(puVar20 + 0x1cb5b4)" (* "*") (cast_expression "(int *)(puVar20 + 0x1cb5b4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 0x1cb5b4)" (( "(") (binary_expression "puVar20 + 0x1cb5b4" (identifier "puVar20") (+ "+") (number_literal "0x1cb5b4")) () ")")))) (+ "+") (number_literal "-0x12ec")) (, ",") (binary_expression "*(int *)(puVar20 + 0x1cb5b4) + -0xf0c" (pointer_expression "*(int *)(puVar20 + 0x1cb5b4)" (* "*") (cast_expression "(int *)(puVar20 + 0x1cb5b4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 0x1cb5b4)" (( "(") (binary_expression "puVar20 + 0x1cb5b4" (identifier "puVar20") (+ "+") (number_literal "0x1cb5b4")) () ")")))) (+ "+") (number_literal "-0xf0c")) (, ",") (number_literal "0x23b") () ")"))) (; ";")) (} "}"))) (if_statement "if (puVar15 != (undefined *)0x0) {\n      if (*(int *)(puVar15 + 0x1c) == -0x54535255) {\n        iVar3 = (**(code **)(puVar20 + 0x1cc4f8))(puVar10,0,0,1);\n        in_stack_00000018 = iVar3;\n        if (iVar3 != 0) {\n          iVar4 = (**(code **)(puVar20 + 0x1cc4ec))(iVar3,1,puVar15);\n          if (iVar4 == 0) {\n            in_stack_00000018 = 0;\n            (**(code **)(puVar20 + 0x1cbc14))(iVar3);\n          }\n          else {\n            if (*(int *)(iVar3 + 4) == 0x21) {\nLAB_001dd4b8:\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);\nLAB_001dd4bc:\n              (*pcVar21)(iVar3,0x17,puVar15);\n            }\n            else {\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);\n              if (*(int *)(iVar3 + 4) == 3) goto LAB_001dd4bc;\n              dVar23 = *(double *)(iVar2 + 0x28) - *(double *)(iVar2 + 0x30);\n              if (dVar23 < 0.0) {\n                dVar23 = -dVar23;\n              }\n              if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) {\n                dVar23 = *(double *)(iVar2 + 0x30) - *(double *)(iVar2 + 0x38);\n                if (dVar23 < 0.0) {\n                  dVar23 = -dVar23;\n                }\n                if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) goto LAB_001dd4b8;\n              }\n            }\n            if ((*(int *)(iVar3 + 700) == 0) && (*(int *)(iVar2 + 8) != 0)) {\n              (**(code **)(puVar20 + 0x1cb940))\n                        (iVar3,*(undefined4 *)(*(int *)(puVar20 + 0x1cb5a8) + 0x1a50),puVar15);\n            }\n            if (puVar13 != (undefined *)0x0) {\n              unaff_s6 = auStack_c8;\n              (**(code **)(puVar20 + 0x1cbf7c))(iVar3,unaff_s6);\n              uVar5 = (**(code **)(puVar20 + 0x1cc11c))(puVar13,&uStack_f0);\n              uStack_80 = 0;\n              uStack_a0 = uStack_f0;\n              uStack_98 = uStack_f0;\n              uStack_90 = uStack_f0;\n              uStack_88 = uStack_f0;\n              if ((uVar5 & 8) != 0) {\n                uStack_98 = uStack_e8;\n              }\n              if ((uVar5 & 1) != 0) {\n                uStack_90 = uStack_e0;\n              }\n              if ((uVar5 & 2) == 0) {\n                pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                uVar24 = uStack_88;\n                if (iStack_c4 == 2) goto LAB_001dd6b0;\n              }\n              else {\n                uStack_80 = uStack_d8;\n                uVar24 = uStack_d8;\n                if (iStack_c4 == 2) {\nLAB_001dd6b0:\n                  uStack_88 = uVar24;\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                  if ((uVar5 & 0x10) != 0) {\n                    uStack_80 = uStack_d0;\n                  }\n                }\n                else {\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                }\n              }\n              uStack_114 = 0;\n              uStack_118 = 0;\n              puVar13 = (undefined *)(*pcVar21)(iVar3,puVar15);\n              iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3);\n              if (((iVar4 == 4) || (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3))\n                 && ((iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 4 ||\n                     (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3)))) {\n                (**(code **)(puVar20 + 0x1cbe04))(7);\n                iVar11 = *(int *)(iVar3 + 0x1c);\n                iVar4 = iVar11;\n                if (iVar11 < 0) {\n                  iVar4 = iVar11 + 0x3f;\n                }\n                if (extraout_v1 < iVar4 >> 6) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  bVar1 = extraout_v1_02 < 2;\n                }\n                else {\n                  bVar1 = iVar11 < 0x80;\n                }\n                iVar4 = 1;\n                if ((bool)(bVar1 ^ 1)) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  iVar4 = *(int *)(iVar3 + 0x1c);\n                  if (iVar4 < 0) {\n                    iVar4 = iVar4 + 0x3f;\n                  }\n                  iVar4 = iVar4 >> 6;\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                  if (extraout_v1_01 < iVar4) {\n                    pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                    goto LAB_001dd7c0;\n                  }\n                }\n                else {\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                }\n              }\n              else {\n                uVar24 = (**(code **)(puVar20 + 0x1cbe04))(7);\n                if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  uVar24 = (*pcVar21)(7);\n                  if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001dd5d0;\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  iVar4 = 1;\n                }\n                else {\nLAB_001dd5d0:\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\nLAB_001dd5d4:\n                  uVar24 = (*pcVar21)(7);\n                  if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n                     (pcVar21 = *(code **)(puVar20 + 0x1cbe04), (uint)uVar24 < 2)) {\nLAB_001dd7c0:\n                    (*pcVar21)(7);\n                    iVar4 = extraout_v1_00;\n                  }\n                  else {\n                    iVar4 = 2;\n                  }\n                }\n                iVar11 = *(int *)(puVar20 + 0x1cb66c);\n              }\n              puStack_f8 = (undefined *)0x1;\n              puStack_f4 = &uStack_118;\n              puStack_110 = puVar10;\n              iStack_10c = iVar2;\n              puStack_108 = puVar15;\n              puStack_104 = puVar13;\n              iStack_100 = iVar3;\n              puStack_fc = unaff_s6;\n              (**(code **)(puVar20 + 0x1cbe60))(iVar11 + -0x43b4,&puStack_110,iVar4,0);\n              puVar15 = puStack_f8;\n              (**(code **)(puVar20 + 0x1cbbbc))(puVar13);\n              if (puVar15 == (undefined *)0x0) {\n                in_stack_00000018 = (**(code **)(puVar20 + 0x1cbc14))(iVar3);\n              }\n            }\n          }\n        }\n        unaff_s1 = puVar15;\n        unaff_s3 = iVar2;\n        unaff_s5 = puVar13;\n        if (iStack_6c == *piVar18) {\n          return in_stack_00000018;\n        }\n        goto LAB_001dd890;\n      }\n      goto LAB_001dd8c0;\n    }" (if "if") (parenthesized_expression "(puVar15 != (undefined *)0x0)" (( "(") (binary_expression "puVar15 != (undefined *)0x0" (identifier "puVar15") (!= "!=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      if (*(int *)(puVar15 + 0x1c) == -0x54535255) {\n        iVar3 = (**(code **)(puVar20 + 0x1cc4f8))(puVar10,0,0,1);\n        in_stack_00000018 = iVar3;\n        if (iVar3 != 0) {\n          iVar4 = (**(code **)(puVar20 + 0x1cc4ec))(iVar3,1,puVar15);\n          if (iVar4 == 0) {\n            in_stack_00000018 = 0;\n            (**(code **)(puVar20 + 0x1cbc14))(iVar3);\n          }\n          else {\n            if (*(int *)(iVar3 + 4) == 0x21) {\nLAB_001dd4b8:\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);\nLAB_001dd4bc:\n              (*pcVar21)(iVar3,0x17,puVar15);\n            }\n            else {\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);\n              if (*(int *)(iVar3 + 4) == 3) goto LAB_001dd4bc;\n              dVar23 = *(double *)(iVar2 + 0x28) - *(double *)(iVar2 + 0x30);\n              if (dVar23 < 0.0) {\n                dVar23 = -dVar23;\n              }\n              if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) {\n                dVar23 = *(double *)(iVar2 + 0x30) - *(double *)(iVar2 + 0x38);\n                if (dVar23 < 0.0) {\n                  dVar23 = -dVar23;\n                }\n                if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) goto LAB_001dd4b8;\n              }\n            }\n            if ((*(int *)(iVar3 + 700) == 0) && (*(int *)(iVar2 + 8) != 0)) {\n              (**(code **)(puVar20 + 0x1cb940))\n                        (iVar3,*(undefined4 *)(*(int *)(puVar20 + 0x1cb5a8) + 0x1a50),puVar15);\n            }\n            if (puVar13 != (undefined *)0x0) {\n              unaff_s6 = auStack_c8;\n              (**(code **)(puVar20 + 0x1cbf7c))(iVar3,unaff_s6);\n              uVar5 = (**(code **)(puVar20 + 0x1cc11c))(puVar13,&uStack_f0);\n              uStack_80 = 0;\n              uStack_a0 = uStack_f0;\n              uStack_98 = uStack_f0;\n              uStack_90 = uStack_f0;\n              uStack_88 = uStack_f0;\n              if ((uVar5 & 8) != 0) {\n                uStack_98 = uStack_e8;\n              }\n              if ((uVar5 & 1) != 0) {\n                uStack_90 = uStack_e0;\n              }\n              if ((uVar5 & 2) == 0) {\n                pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                uVar24 = uStack_88;\n                if (iStack_c4 == 2) goto LAB_001dd6b0;\n              }\n              else {\n                uStack_80 = uStack_d8;\n                uVar24 = uStack_d8;\n                if (iStack_c4 == 2) {\nLAB_001dd6b0:\n                  uStack_88 = uVar24;\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                  if ((uVar5 & 0x10) != 0) {\n                    uStack_80 = uStack_d0;\n                  }\n                }\n                else {\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                }\n              }\n              uStack_114 = 0;\n              uStack_118 = 0;\n              puVar13 = (undefined *)(*pcVar21)(iVar3,puVar15);\n              iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3);\n              if (((iVar4 == 4) || (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3))\n                 && ((iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 4 ||\n                     (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3)))) {\n                (**(code **)(puVar20 + 0x1cbe04))(7);\n                iVar11 = *(int *)(iVar3 + 0x1c);\n                iVar4 = iVar11;\n                if (iVar11 < 0) {\n                  iVar4 = iVar11 + 0x3f;\n                }\n                if (extraout_v1 < iVar4 >> 6) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  bVar1 = extraout_v1_02 < 2;\n                }\n                else {\n                  bVar1 = iVar11 < 0x80;\n                }\n                iVar4 = 1;\n                if ((bool)(bVar1 ^ 1)) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  iVar4 = *(int *)(iVar3 + 0x1c);\n                  if (iVar4 < 0) {\n                    iVar4 = iVar4 + 0x3f;\n                  }\n                  iVar4 = iVar4 >> 6;\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                  if (extraout_v1_01 < iVar4) {\n                    pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                    goto LAB_001dd7c0;\n                  }\n                }\n                else {\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                }\n              }\n              else {\n                uVar24 = (**(code **)(puVar20 + 0x1cbe04))(7);\n                if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  uVar24 = (*pcVar21)(7);\n                  if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001dd5d0;\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  iVar4 = 1;\n                }\n                else {\nLAB_001dd5d0:\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\nLAB_001dd5d4:\n                  uVar24 = (*pcVar21)(7);\n                  if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n                     (pcVar21 = *(code **)(puVar20 + 0x1cbe04), (uint)uVar24 < 2)) {\nLAB_001dd7c0:\n                    (*pcVar21)(7);\n                    iVar4 = extraout_v1_00;\n                  }\n                  else {\n                    iVar4 = 2;\n                  }\n                }\n                iVar11 = *(int *)(puVar20 + 0x1cb66c);\n              }\n              puStack_f8 = (undefined *)0x1;\n              puStack_f4 = &uStack_118;\n              puStack_110 = puVar10;\n              iStack_10c = iVar2;\n              puStack_108 = puVar15;\n              puStack_104 = puVar13;\n              iStack_100 = iVar3;\n              puStack_fc = unaff_s6;\n              (**(code **)(puVar20 + 0x1cbe60))(iVar11 + -0x43b4,&puStack_110,iVar4,0);\n              puVar15 = puStack_f8;\n              (**(code **)(puVar20 + 0x1cbbbc))(puVar13);\n              if (puVar15 == (undefined *)0x0) {\n                in_stack_00000018 = (**(code **)(puVar20 + 0x1cbc14))(iVar3);\n              }\n            }\n          }\n        }\n        unaff_s1 = puVar15;\n        unaff_s3 = iVar2;\n        unaff_s5 = puVar13;\n        if (iStack_6c == *piVar18) {\n          return in_stack_00000018;\n        }\n        goto LAB_001dd890;\n      }\n      goto LAB_001dd8c0;\n    }" ({ "{") (if_statement "if (*(int *)(puVar15 + 0x1c) == -0x54535255) {\n        iVar3 = (**(code **)(puVar20 + 0x1cc4f8))(puVar10,0,0,1);\n        in_stack_00000018 = iVar3;\n        if (iVar3 != 0) {\n          iVar4 = (**(code **)(puVar20 + 0x1cc4ec))(iVar3,1,puVar15);\n          if (iVar4 == 0) {\n            in_stack_00000018 = 0;\n            (**(code **)(puVar20 + 0x1cbc14))(iVar3);\n          }\n          else {\n            if (*(int *)(iVar3 + 4) == 0x21) {\nLAB_001dd4b8:\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);\nLAB_001dd4bc:\n              (*pcVar21)(iVar3,0x17,puVar15);\n            }\n            else {\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);\n              if (*(int *)(iVar3 + 4) == 3) goto LAB_001dd4bc;\n              dVar23 = *(double *)(iVar2 + 0x28) - *(double *)(iVar2 + 0x30);\n              if (dVar23 < 0.0) {\n                dVar23 = -dVar23;\n              }\n              if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) {\n                dVar23 = *(double *)(iVar2 + 0x30) - *(double *)(iVar2 + 0x38);\n                if (dVar23 < 0.0) {\n                  dVar23 = -dVar23;\n                }\n                if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) goto LAB_001dd4b8;\n              }\n            }\n            if ((*(int *)(iVar3 + 700) == 0) && (*(int *)(iVar2 + 8) != 0)) {\n              (**(code **)(puVar20 + 0x1cb940))\n                        (iVar3,*(undefined4 *)(*(int *)(puVar20 + 0x1cb5a8) + 0x1a50),puVar15);\n            }\n            if (puVar13 != (undefined *)0x0) {\n              unaff_s6 = auStack_c8;\n              (**(code **)(puVar20 + 0x1cbf7c))(iVar3,unaff_s6);\n              uVar5 = (**(code **)(puVar20 + 0x1cc11c))(puVar13,&uStack_f0);\n              uStack_80 = 0;\n              uStack_a0 = uStack_f0;\n              uStack_98 = uStack_f0;\n              uStack_90 = uStack_f0;\n              uStack_88 = uStack_f0;\n              if ((uVar5 & 8) != 0) {\n                uStack_98 = uStack_e8;\n              }\n              if ((uVar5 & 1) != 0) {\n                uStack_90 = uStack_e0;\n              }\n              if ((uVar5 & 2) == 0) {\n                pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                uVar24 = uStack_88;\n                if (iStack_c4 == 2) goto LAB_001dd6b0;\n              }\n              else {\n                uStack_80 = uStack_d8;\n                uVar24 = uStack_d8;\n                if (iStack_c4 == 2) {\nLAB_001dd6b0:\n                  uStack_88 = uVar24;\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                  if ((uVar5 & 0x10) != 0) {\n                    uStack_80 = uStack_d0;\n                  }\n                }\n                else {\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                }\n              }\n              uStack_114 = 0;\n              uStack_118 = 0;\n              puVar13 = (undefined *)(*pcVar21)(iVar3,puVar15);\n              iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3);\n              if (((iVar4 == 4) || (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3))\n                 && ((iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 4 ||\n                     (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3)))) {\n                (**(code **)(puVar20 + 0x1cbe04))(7);\n                iVar11 = *(int *)(iVar3 + 0x1c);\n                iVar4 = iVar11;\n                if (iVar11 < 0) {\n                  iVar4 = iVar11 + 0x3f;\n                }\n                if (extraout_v1 < iVar4 >> 6) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  bVar1 = extraout_v1_02 < 2;\n                }\n                else {\n                  bVar1 = iVar11 < 0x80;\n                }\n                iVar4 = 1;\n                if ((bool)(bVar1 ^ 1)) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  iVar4 = *(int *)(iVar3 + 0x1c);\n                  if (iVar4 < 0) {\n                    iVar4 = iVar4 + 0x3f;\n                  }\n                  iVar4 = iVar4 >> 6;\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                  if (extraout_v1_01 < iVar4) {\n                    pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                    goto LAB_001dd7c0;\n                  }\n                }\n                else {\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                }\n              }\n              else {\n                uVar24 = (**(code **)(puVar20 + 0x1cbe04))(7);\n                if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  uVar24 = (*pcVar21)(7);\n                  if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001dd5d0;\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  iVar4 = 1;\n                }\n                else {\nLAB_001dd5d0:\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\nLAB_001dd5d4:\n                  uVar24 = (*pcVar21)(7);\n                  if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n                     (pcVar21 = *(code **)(puVar20 + 0x1cbe04), (uint)uVar24 < 2)) {\nLAB_001dd7c0:\n                    (*pcVar21)(7);\n                    iVar4 = extraout_v1_00;\n                  }\n                  else {\n                    iVar4 = 2;\n                  }\n                }\n                iVar11 = *(int *)(puVar20 + 0x1cb66c);\n              }\n              puStack_f8 = (undefined *)0x1;\n              puStack_f4 = &uStack_118;\n              puStack_110 = puVar10;\n              iStack_10c = iVar2;\n              puStack_108 = puVar15;\n              puStack_104 = puVar13;\n              iStack_100 = iVar3;\n              puStack_fc = unaff_s6;\n              (**(code **)(puVar20 + 0x1cbe60))(iVar11 + -0x43b4,&puStack_110,iVar4,0);\n              puVar15 = puStack_f8;\n              (**(code **)(puVar20 + 0x1cbbbc))(puVar13);\n              if (puVar15 == (undefined *)0x0) {\n                in_stack_00000018 = (**(code **)(puVar20 + 0x1cbc14))(iVar3);\n              }\n            }\n          }\n        }\n        unaff_s1 = puVar15;\n        unaff_s3 = iVar2;\n        unaff_s5 = puVar13;\n        if (iStack_6c == *piVar18) {\n          return in_stack_00000018;\n        }\n        goto LAB_001dd890;\n      }" (if "if") (parenthesized_expression "(*(int *)(puVar15 + 0x1c) == -0x54535255)" (( "(") (binary_expression "*(int *)(puVar15 + 0x1c) == -0x54535255" (pointer_expression "*(int *)(puVar15 + 0x1c)" (* "*") (cast_expression "(int *)(puVar15 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x1c)" (( "(") (binary_expression "puVar15 + 0x1c" (identifier "puVar15") (+ "+") (number_literal "0x1c")) () ")")))) (== "==") (number_literal "-0x54535255")) () ")")) (compound_statement "{\n        iVar3 = (**(code **)(puVar20 + 0x1cc4f8))(puVar10,0,0,1);\n        in_stack_00000018 = iVar3;\n        if (iVar3 != 0) {\n          iVar4 = (**(code **)(puVar20 + 0x1cc4ec))(iVar3,1,puVar15);\n          if (iVar4 == 0) {\n            in_stack_00000018 = 0;\n            (**(code **)(puVar20 + 0x1cbc14))(iVar3);\n          }\n          else {\n            if (*(int *)(iVar3 + 4) == 0x21) {\nLAB_001dd4b8:\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);\nLAB_001dd4bc:\n              (*pcVar21)(iVar3,0x17,puVar15);\n            }\n            else {\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);\n              if (*(int *)(iVar3 + 4) == 3) goto LAB_001dd4bc;\n              dVar23 = *(double *)(iVar2 + 0x28) - *(double *)(iVar2 + 0x30);\n              if (dVar23 < 0.0) {\n                dVar23 = -dVar23;\n              }\n              if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) {\n                dVar23 = *(double *)(iVar2 + 0x30) - *(double *)(iVar2 + 0x38);\n                if (dVar23 < 0.0) {\n                  dVar23 = -dVar23;\n                }\n                if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) goto LAB_001dd4b8;\n              }\n            }\n            if ((*(int *)(iVar3 + 700) == 0) && (*(int *)(iVar2 + 8) != 0)) {\n              (**(code **)(puVar20 + 0x1cb940))\n                        (iVar3,*(undefined4 *)(*(int *)(puVar20 + 0x1cb5a8) + 0x1a50),puVar15);\n            }\n            if (puVar13 != (undefined *)0x0) {\n              unaff_s6 = auStack_c8;\n              (**(code **)(puVar20 + 0x1cbf7c))(iVar3,unaff_s6);\n              uVar5 = (**(code **)(puVar20 + 0x1cc11c))(puVar13,&uStack_f0);\n              uStack_80 = 0;\n              uStack_a0 = uStack_f0;\n              uStack_98 = uStack_f0;\n              uStack_90 = uStack_f0;\n              uStack_88 = uStack_f0;\n              if ((uVar5 & 8) != 0) {\n                uStack_98 = uStack_e8;\n              }\n              if ((uVar5 & 1) != 0) {\n                uStack_90 = uStack_e0;\n              }\n              if ((uVar5 & 2) == 0) {\n                pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                uVar24 = uStack_88;\n                if (iStack_c4 == 2) goto LAB_001dd6b0;\n              }\n              else {\n                uStack_80 = uStack_d8;\n                uVar24 = uStack_d8;\n                if (iStack_c4 == 2) {\nLAB_001dd6b0:\n                  uStack_88 = uVar24;\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                  if ((uVar5 & 0x10) != 0) {\n                    uStack_80 = uStack_d0;\n                  }\n                }\n                else {\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                }\n              }\n              uStack_114 = 0;\n              uStack_118 = 0;\n              puVar13 = (undefined *)(*pcVar21)(iVar3,puVar15);\n              iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3);\n              if (((iVar4 == 4) || (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3))\n                 && ((iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 4 ||\n                     (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3)))) {\n                (**(code **)(puVar20 + 0x1cbe04))(7);\n                iVar11 = *(int *)(iVar3 + 0x1c);\n                iVar4 = iVar11;\n                if (iVar11 < 0) {\n                  iVar4 = iVar11 + 0x3f;\n                }\n                if (extraout_v1 < iVar4 >> 6) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  bVar1 = extraout_v1_02 < 2;\n                }\n                else {\n                  bVar1 = iVar11 < 0x80;\n                }\n                iVar4 = 1;\n                if ((bool)(bVar1 ^ 1)) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  iVar4 = *(int *)(iVar3 + 0x1c);\n                  if (iVar4 < 0) {\n                    iVar4 = iVar4 + 0x3f;\n                  }\n                  iVar4 = iVar4 >> 6;\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                  if (extraout_v1_01 < iVar4) {\n                    pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                    goto LAB_001dd7c0;\n                  }\n                }\n                else {\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                }\n              }\n              else {\n                uVar24 = (**(code **)(puVar20 + 0x1cbe04))(7);\n                if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  uVar24 = (*pcVar21)(7);\n                  if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001dd5d0;\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  iVar4 = 1;\n                }\n                else {\nLAB_001dd5d0:\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\nLAB_001dd5d4:\n                  uVar24 = (*pcVar21)(7);\n                  if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n                     (pcVar21 = *(code **)(puVar20 + 0x1cbe04), (uint)uVar24 < 2)) {\nLAB_001dd7c0:\n                    (*pcVar21)(7);\n                    iVar4 = extraout_v1_00;\n                  }\n                  else {\n                    iVar4 = 2;\n                  }\n                }\n                iVar11 = *(int *)(puVar20 + 0x1cb66c);\n              }\n              puStack_f8 = (undefined *)0x1;\n              puStack_f4 = &uStack_118;\n              puStack_110 = puVar10;\n              iStack_10c = iVar2;\n              puStack_108 = puVar15;\n              puStack_104 = puVar13;\n              iStack_100 = iVar3;\n              puStack_fc = unaff_s6;\n              (**(code **)(puVar20 + 0x1cbe60))(iVar11 + -0x43b4,&puStack_110,iVar4,0);\n              puVar15 = puStack_f8;\n              (**(code **)(puVar20 + 0x1cbbbc))(puVar13);\n              if (puVar15 == (undefined *)0x0) {\n                in_stack_00000018 = (**(code **)(puVar20 + 0x1cbc14))(iVar3);\n              }\n            }\n          }\n        }\n        unaff_s1 = puVar15;\n        unaff_s3 = iVar2;\n        unaff_s5 = puVar13;\n        if (iStack_6c == *piVar18) {\n          return in_stack_00000018;\n        }\n        goto LAB_001dd890;\n      }" ({ "{") (expression_statement "iVar3 = (**(code **)(puVar20 + 0x1cc4f8))(puVar10,0,0,1);" (assignment_expression "iVar3 = (**(code **)(puVar20 + 0x1cc4f8))(puVar10,0,0,1)" (identifier "iVar3") (= "=") (call_expression "(**(code **)(puVar20 + 0x1cc4f8))(puVar10,0,0,1)" (parenthesized_expression "(**(code **)(puVar20 + 0x1cc4f8))" (( "(") (pointer_expression "**(code **)(puVar20 + 0x1cc4f8)" (* "*") (pointer_expression "*(code **)(puVar20 + 0x1cc4f8)" (* "*") (cast_expression "(code **)(puVar20 + 0x1cc4f8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + 0x1cc4f8)" (( "(") (binary_expression "puVar20 + 0x1cc4f8" (identifier "puVar20") (+ "+") (number_literal "0x1cc4f8")) () ")"))))) () ")")) (argument_list "(puVar10,0,0,1)" (( "(") (identifier "puVar10") (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (number_literal "1") () ")")))) (; ";")) (expression_statement "in_stack_00000018 = iVar3;" (assignment_expression "in_stack_00000018 = iVar3" (identifier "in_stack_00000018") (= "=") (identifier "iVar3")) (; ";")) (if_statement "if (iVar3 != 0) {\n          iVar4 = (**(code **)(puVar20 + 0x1cc4ec))(iVar3,1,puVar15);\n          if (iVar4 == 0) {\n            in_stack_00000018 = 0;\n            (**(code **)(puVar20 + 0x1cbc14))(iVar3);\n          }\n          else {\n            if (*(int *)(iVar3 + 4) == 0x21) {\nLAB_001dd4b8:\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);\nLAB_001dd4bc:\n              (*pcVar21)(iVar3,0x17,puVar15);\n            }\n            else {\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);\n              if (*(int *)(iVar3 + 4) == 3) goto LAB_001dd4bc;\n              dVar23 = *(double *)(iVar2 + 0x28) - *(double *)(iVar2 + 0x30);\n              if (dVar23 < 0.0) {\n                dVar23 = -dVar23;\n              }\n              if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) {\n                dVar23 = *(double *)(iVar2 + 0x30) - *(double *)(iVar2 + 0x38);\n                if (dVar23 < 0.0) {\n                  dVar23 = -dVar23;\n                }\n                if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) goto LAB_001dd4b8;\n              }\n            }\n            if ((*(int *)(iVar3 + 700) == 0) && (*(int *)(iVar2 + 8) != 0)) {\n              (**(code **)(puVar20 + 0x1cb940))\n                        (iVar3,*(undefined4 *)(*(int *)(puVar20 + 0x1cb5a8) + 0x1a50),puVar15);\n            }\n            if (puVar13 != (undefined *)0x0) {\n              unaff_s6 = auStack_c8;\n              (**(code **)(puVar20 + 0x1cbf7c))(iVar3,unaff_s6);\n              uVar5 = (**(code **)(puVar20 + 0x1cc11c))(puVar13,&uStack_f0);\n              uStack_80 = 0;\n              uStack_a0 = uStack_f0;\n              uStack_98 = uStack_f0;\n              uStack_90 = uStack_f0;\n              uStack_88 = uStack_f0;\n              if ((uVar5 & 8) != 0) {\n                uStack_98 = uStack_e8;\n              }\n              if ((uVar5 & 1) != 0) {\n                uStack_90 = uStack_e0;\n              }\n              if ((uVar5 & 2) == 0) {\n                pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                uVar24 = uStack_88;\n                if (iStack_c4 == 2) goto LAB_001dd6b0;\n              }\n              else {\n                uStack_80 = uStack_d8;\n                uVar24 = uStack_d8;\n                if (iStack_c4 == 2) {\nLAB_001dd6b0:\n                  uStack_88 = uVar24;\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                  if ((uVar5 & 0x10) != 0) {\n                    uStack_80 = uStack_d0;\n                  }\n                }\n                else {\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                }\n              }\n              uStack_114 = 0;\n              uStack_118 = 0;\n              puVar13 = (undefined *)(*pcVar21)(iVar3,puVar15);\n              iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3);\n              if (((iVar4 == 4) || (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3))\n                 && ((iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 4 ||\n                     (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3)))) {\n                (**(code **)(puVar20 + 0x1cbe04))(7);\n                iVar11 = *(int *)(iVar3 + 0x1c);\n                iVar4 = iVar11;\n                if (iVar11 < 0) {\n                  iVar4 = iVar11 + 0x3f;\n                }\n                if (extraout_v1 < iVar4 >> 6) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  bVar1 = extraout_v1_02 < 2;\n                }\n                else {\n                  bVar1 = iVar11 < 0x80;\n                }\n                iVar4 = 1;\n                if ((bool)(bVar1 ^ 1)) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  iVar4 = *(int *)(iVar3 + 0x1c);\n                  if (iVar4 < 0) {\n                    iVar4 = iVar4 + 0x3f;\n                  }\n                  iVar4 = iVar4 >> 6;\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                  if (extraout_v1_01 < iVar4) {\n                    pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                    goto LAB_001dd7c0;\n                  }\n                }\n                else {\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                }\n              }\n              else {\n                uVar24 = (**(code **)(puVar20 + 0x1cbe04))(7);\n                if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  uVar24 = (*pcVar21)(7);\n                  if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001dd5d0;\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  iVar4 = 1;\n                }\n                else {\nLAB_001dd5d0:\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\nLAB_001dd5d4:\n                  uVar24 = (*pcVar21)(7);\n                  if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n                     (pcVar21 = *(code **)(puVar20 + 0x1cbe04), (uint)uVar24 < 2)) {\nLAB_001dd7c0:\n                    (*pcVar21)(7);\n                    iVar4 = extraout_v1_00;\n                  }\n                  else {\n                    iVar4 = 2;\n                  }\n                }\n                iVar11 = *(int *)(puVar20 + 0x1cb66c);\n              }\n              puStack_f8 = (undefined *)0x1;\n              puStack_f4 = &uStack_118;\n              puStack_110 = puVar10;\n              iStack_10c = iVar2;\n              puStack_108 = puVar15;\n              puStack_104 = puVar13;\n              iStack_100 = iVar3;\n              puStack_fc = unaff_s6;\n              (**(code **)(puVar20 + 0x1cbe60))(iVar11 + -0x43b4,&puStack_110,iVar4,0);\n              puVar15 = puStack_f8;\n              (**(code **)(puVar20 + 0x1cbbbc))(puVar13);\n              if (puVar15 == (undefined *)0x0) {\n                in_stack_00000018 = (**(code **)(puVar20 + 0x1cbc14))(iVar3);\n              }\n            }\n          }\n        }" (if "if") (parenthesized_expression "(iVar3 != 0)" (( "(") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          iVar4 = (**(code **)(puVar20 + 0x1cc4ec))(iVar3,1,puVar15);\n          if (iVar4 == 0) {\n            in_stack_00000018 = 0;\n            (**(code **)(puVar20 + 0x1cbc14))(iVar3);\n          }\n          else {\n            if (*(int *)(iVar3 + 4) == 0x21) {\nLAB_001dd4b8:\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);\nLAB_001dd4bc:\n              (*pcVar21)(iVar3,0x17,puVar15);\n            }\n            else {\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);\n              if (*(int *)(iVar3 + 4) == 3) goto LAB_001dd4bc;\n              dVar23 = *(double *)(iVar2 + 0x28) - *(double *)(iVar2 + 0x30);\n              if (dVar23 < 0.0) {\n                dVar23 = -dVar23;\n              }\n              if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) {\n                dVar23 = *(double *)(iVar2 + 0x30) - *(double *)(iVar2 + 0x38);\n                if (dVar23 < 0.0) {\n                  dVar23 = -dVar23;\n                }\n                if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) goto LAB_001dd4b8;\n              }\n            }\n            if ((*(int *)(iVar3 + 700) == 0) && (*(int *)(iVar2 + 8) != 0)) {\n              (**(code **)(puVar20 + 0x1cb940))\n                        (iVar3,*(undefined4 *)(*(int *)(puVar20 + 0x1cb5a8) + 0x1a50),puVar15);\n            }\n            if (puVar13 != (undefined *)0x0) {\n              unaff_s6 = auStack_c8;\n              (**(code **)(puVar20 + 0x1cbf7c))(iVar3,unaff_s6);\n              uVar5 = (**(code **)(puVar20 + 0x1cc11c))(puVar13,&uStack_f0);\n              uStack_80 = 0;\n              uStack_a0 = uStack_f0;\n              uStack_98 = uStack_f0;\n              uStack_90 = uStack_f0;\n              uStack_88 = uStack_f0;\n              if ((uVar5 & 8) != 0) {\n                uStack_98 = uStack_e8;\n              }\n              if ((uVar5 & 1) != 0) {\n                uStack_90 = uStack_e0;\n              }\n              if ((uVar5 & 2) == 0) {\n                pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                uVar24 = uStack_88;\n                if (iStack_c4 == 2) goto LAB_001dd6b0;\n              }\n              else {\n                uStack_80 = uStack_d8;\n                uVar24 = uStack_d8;\n                if (iStack_c4 == 2) {\nLAB_001dd6b0:\n                  uStack_88 = uVar24;\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                  if ((uVar5 & 0x10) != 0) {\n                    uStack_80 = uStack_d0;\n                  }\n                }\n                else {\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                }\n              }\n              uStack_114 = 0;\n              uStack_118 = 0;\n              puVar13 = (undefined *)(*pcVar21)(iVar3,puVar15);\n              iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3);\n              if (((iVar4 == 4) || (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3))\n                 && ((iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 4 ||\n                     (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3)))) {\n                (**(code **)(puVar20 + 0x1cbe04))(7);\n                iVar11 = *(int *)(iVar3 + 0x1c);\n                iVar4 = iVar11;\n                if (iVar11 < 0) {\n                  iVar4 = iVar11 + 0x3f;\n                }\n                if (extraout_v1 < iVar4 >> 6) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  bVar1 = extraout_v1_02 < 2;\n                }\n                else {\n                  bVar1 = iVar11 < 0x80;\n                }\n                iVar4 = 1;\n                if ((bool)(bVar1 ^ 1)) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  iVar4 = *(int *)(iVar3 + 0x1c);\n                  if (iVar4 < 0) {\n                    iVar4 = iVar4 + 0x3f;\n                  }\n                  iVar4 = iVar4 >> 6;\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                  if (extraout_v1_01 < iVar4) {\n                    pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                    goto LAB_001dd7c0;\n                  }\n                }\n                else {\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                }\n              }\n              else {\n                uVar24 = (**(code **)(puVar20 + 0x1cbe04))(7);\n                if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  uVar24 = (*pcVar21)(7);\n                  if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001dd5d0;\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  iVar4 = 1;\n                }\n                else {\nLAB_001dd5d0:\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\nLAB_001dd5d4:\n                  uVar24 = (*pcVar21)(7);\n                  if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n                     (pcVar21 = *(code **)(puVar20 + 0x1cbe04), (uint)uVar24 < 2)) {\nLAB_001dd7c0:\n                    (*pcVar21)(7);\n                    iVar4 = extraout_v1_00;\n                  }\n                  else {\n                    iVar4 = 2;\n                  }\n                }\n                iVar11 = *(int *)(puVar20 + 0x1cb66c);\n              }\n              puStack_f8 = (undefined *)0x1;\n              puStack_f4 = &uStack_118;\n              puStack_110 = puVar10;\n              iStack_10c = iVar2;\n              puStack_108 = puVar15;\n              puStack_104 = puVar13;\n              iStack_100 = iVar3;\n              puStack_fc = unaff_s6;\n              (**(code **)(puVar20 + 0x1cbe60))(iVar11 + -0x43b4,&puStack_110,iVar4,0);\n              puVar15 = puStack_f8;\n              (**(code **)(puVar20 + 0x1cbbbc))(puVar13);\n              if (puVar15 == (undefined *)0x0) {\n                in_stack_00000018 = (**(code **)(puVar20 + 0x1cbc14))(iVar3);\n              }\n            }\n          }\n        }" ({ "{") (expression_statement "iVar4 = (**(code **)(puVar20 + 0x1cc4ec))(iVar3,1,puVar15);" (assignment_expression "iVar4 = (**(code **)(puVar20 + 0x1cc4ec))(iVar3,1,puVar15)" (identifier "iVar4") (= "=") (call_expression "(**(code **)(puVar20 + 0x1cc4ec))(iVar3,1,puVar15)" (parenthesized_expression "(**(code **)(puVar20 + 0x1cc4ec))" (( "(") (pointer_expression "**(code **)(puVar20 + 0x1cc4ec)" (* "*") (pointer_expression "*(code **)(puVar20 + 0x1cc4ec)" (* "*") (cast_expression "(code **)(puVar20 + 0x1cc4ec)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + 0x1cc4ec)" (( "(") (binary_expression "puVar20 + 0x1cc4ec" (identifier "puVar20") (+ "+") (number_literal "0x1cc4ec")) () ")"))))) () ")")) (argument_list "(iVar3,1,puVar15)" (( "(") (identifier "iVar3") (, ",") (number_literal "1") (, ",") (identifier "puVar15") () ")")))) (; ";")) (if_statement "if (iVar4 == 0) {\n            in_stack_00000018 = 0;\n            (**(code **)(puVar20 + 0x1cbc14))(iVar3);\n          }\n          else {\n            if (*(int *)(iVar3 + 4) == 0x21) {\nLAB_001dd4b8:\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);\nLAB_001dd4bc:\n              (*pcVar21)(iVar3,0x17,puVar15);\n            }\n            else {\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);\n              if (*(int *)(iVar3 + 4) == 3) goto LAB_001dd4bc;\n              dVar23 = *(double *)(iVar2 + 0x28) - *(double *)(iVar2 + 0x30);\n              if (dVar23 < 0.0) {\n                dVar23 = -dVar23;\n              }\n              if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) {\n                dVar23 = *(double *)(iVar2 + 0x30) - *(double *)(iVar2 + 0x38);\n                if (dVar23 < 0.0) {\n                  dVar23 = -dVar23;\n                }\n                if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) goto LAB_001dd4b8;\n              }\n            }\n            if ((*(int *)(iVar3 + 700) == 0) && (*(int *)(iVar2 + 8) != 0)) {\n              (**(code **)(puVar20 + 0x1cb940))\n                        (iVar3,*(undefined4 *)(*(int *)(puVar20 + 0x1cb5a8) + 0x1a50),puVar15);\n            }\n            if (puVar13 != (undefined *)0x0) {\n              unaff_s6 = auStack_c8;\n              (**(code **)(puVar20 + 0x1cbf7c))(iVar3,unaff_s6);\n              uVar5 = (**(code **)(puVar20 + 0x1cc11c))(puVar13,&uStack_f0);\n              uStack_80 = 0;\n              uStack_a0 = uStack_f0;\n              uStack_98 = uStack_f0;\n              uStack_90 = uStack_f0;\n              uStack_88 = uStack_f0;\n              if ((uVar5 & 8) != 0) {\n                uStack_98 = uStack_e8;\n              }\n              if ((uVar5 & 1) != 0) {\n                uStack_90 = uStack_e0;\n              }\n              if ((uVar5 & 2) == 0) {\n                pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                uVar24 = uStack_88;\n                if (iStack_c4 == 2) goto LAB_001dd6b0;\n              }\n              else {\n                uStack_80 = uStack_d8;\n                uVar24 = uStack_d8;\n                if (iStack_c4 == 2) {\nLAB_001dd6b0:\n                  uStack_88 = uVar24;\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                  if ((uVar5 & 0x10) != 0) {\n                    uStack_80 = uStack_d0;\n                  }\n                }\n                else {\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                }\n              }\n              uStack_114 = 0;\n              uStack_118 = 0;\n              puVar13 = (undefined *)(*pcVar21)(iVar3,puVar15);\n              iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3);\n              if (((iVar4 == 4) || (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3))\n                 && ((iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 4 ||\n                     (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3)))) {\n                (**(code **)(puVar20 + 0x1cbe04))(7);\n                iVar11 = *(int *)(iVar3 + 0x1c);\n                iVar4 = iVar11;\n                if (iVar11 < 0) {\n                  iVar4 = iVar11 + 0x3f;\n                }\n                if (extraout_v1 < iVar4 >> 6) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  bVar1 = extraout_v1_02 < 2;\n                }\n                else {\n                  bVar1 = iVar11 < 0x80;\n                }\n                iVar4 = 1;\n                if ((bool)(bVar1 ^ 1)) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  iVar4 = *(int *)(iVar3 + 0x1c);\n                  if (iVar4 < 0) {\n                    iVar4 = iVar4 + 0x3f;\n                  }\n                  iVar4 = iVar4 >> 6;\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                  if (extraout_v1_01 < iVar4) {\n                    pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                    goto LAB_001dd7c0;\n                  }\n                }\n                else {\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                }\n              }\n              else {\n                uVar24 = (**(code **)(puVar20 + 0x1cbe04))(7);\n                if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  uVar24 = (*pcVar21)(7);\n                  if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001dd5d0;\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  iVar4 = 1;\n                }\n                else {\nLAB_001dd5d0:\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\nLAB_001dd5d4:\n                  uVar24 = (*pcVar21)(7);\n                  if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n                     (pcVar21 = *(code **)(puVar20 + 0x1cbe04), (uint)uVar24 < 2)) {\nLAB_001dd7c0:\n                    (*pcVar21)(7);\n                    iVar4 = extraout_v1_00;\n                  }\n                  else {\n                    iVar4 = 2;\n                  }\n                }\n                iVar11 = *(int *)(puVar20 + 0x1cb66c);\n              }\n              puStack_f8 = (undefined *)0x1;\n              puStack_f4 = &uStack_118;\n              puStack_110 = puVar10;\n              iStack_10c = iVar2;\n              puStack_108 = puVar15;\n              puStack_104 = puVar13;\n              iStack_100 = iVar3;\n              puStack_fc = unaff_s6;\n              (**(code **)(puVar20 + 0x1cbe60))(iVar11 + -0x43b4,&puStack_110,iVar4,0);\n              puVar15 = puStack_f8;\n              (**(code **)(puVar20 + 0x1cbbbc))(puVar13);\n              if (puVar15 == (undefined *)0x0) {\n                in_stack_00000018 = (**(code **)(puVar20 + 0x1cbc14))(iVar3);\n              }\n            }\n          }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            in_stack_00000018 = 0;\n            (**(code **)(puVar20 + 0x1cbc14))(iVar3);\n          }" ({ "{") (expression_statement "in_stack_00000018 = 0;" (assignment_expression "in_stack_00000018 = 0" (identifier "in_stack_00000018") (= "=") (number_literal "0")) (; ";")) (expression_statement "(**(code **)(puVar20 + 0x1cbc14))(iVar3);" (call_expression "(**(code **)(puVar20 + 0x1cbc14))(iVar3)" (parenthesized_expression "(**(code **)(puVar20 + 0x1cbc14))" (( "(") (pointer_expression "**(code **)(puVar20 + 0x1cbc14)" (* "*") (pointer_expression "*(code **)(puVar20 + 0x1cbc14)" (* "*") (cast_expression "(code **)(puVar20 + 0x1cbc14)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + 0x1cbc14)" (( "(") (binary_expression "puVar20 + 0x1cbc14" (identifier "puVar20") (+ "+") (number_literal "0x1cbc14")) () ")"))))) () ")")) (argument_list "(iVar3)" (( "(") (identifier "iVar3") () ")"))) (; ";")) (} "}")) (else_clause "else {\n            if (*(int *)(iVar3 + 4) == 0x21) {\nLAB_001dd4b8:\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);\nLAB_001dd4bc:\n              (*pcVar21)(iVar3,0x17,puVar15);\n            }\n            else {\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);\n              if (*(int *)(iVar3 + 4) == 3) goto LAB_001dd4bc;\n              dVar23 = *(double *)(iVar2 + 0x28) - *(double *)(iVar2 + 0x30);\n              if (dVar23 < 0.0) {\n                dVar23 = -dVar23;\n              }\n              if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) {\n                dVar23 = *(double *)(iVar2 + 0x30) - *(double *)(iVar2 + 0x38);\n                if (dVar23 < 0.0) {\n                  dVar23 = -dVar23;\n                }\n                if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) goto LAB_001dd4b8;\n              }\n            }\n            if ((*(int *)(iVar3 + 700) == 0) && (*(int *)(iVar2 + 8) != 0)) {\n              (**(code **)(puVar20 + 0x1cb940))\n                        (iVar3,*(undefined4 *)(*(int *)(puVar20 + 0x1cb5a8) + 0x1a50),puVar15);\n            }\n            if (puVar13 != (undefined *)0x0) {\n              unaff_s6 = auStack_c8;\n              (**(code **)(puVar20 + 0x1cbf7c))(iVar3,unaff_s6);\n              uVar5 = (**(code **)(puVar20 + 0x1cc11c))(puVar13,&uStack_f0);\n              uStack_80 = 0;\n              uStack_a0 = uStack_f0;\n              uStack_98 = uStack_f0;\n              uStack_90 = uStack_f0;\n              uStack_88 = uStack_f0;\n              if ((uVar5 & 8) != 0) {\n                uStack_98 = uStack_e8;\n              }\n              if ((uVar5 & 1) != 0) {\n                uStack_90 = uStack_e0;\n              }\n              if ((uVar5 & 2) == 0) {\n                pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                uVar24 = uStack_88;\n                if (iStack_c4 == 2) goto LAB_001dd6b0;\n              }\n              else {\n                uStack_80 = uStack_d8;\n                uVar24 = uStack_d8;\n                if (iStack_c4 == 2) {\nLAB_001dd6b0:\n                  uStack_88 = uVar24;\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                  if ((uVar5 & 0x10) != 0) {\n                    uStack_80 = uStack_d0;\n                  }\n                }\n                else {\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                }\n              }\n              uStack_114 = 0;\n              uStack_118 = 0;\n              puVar13 = (undefined *)(*pcVar21)(iVar3,puVar15);\n              iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3);\n              if (((iVar4 == 4) || (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3))\n                 && ((iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 4 ||\n                     (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3)))) {\n                (**(code **)(puVar20 + 0x1cbe04))(7);\n                iVar11 = *(int *)(iVar3 + 0x1c);\n                iVar4 = iVar11;\n                if (iVar11 < 0) {\n                  iVar4 = iVar11 + 0x3f;\n                }\n                if (extraout_v1 < iVar4 >> 6) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  bVar1 = extraout_v1_02 < 2;\n                }\n                else {\n                  bVar1 = iVar11 < 0x80;\n                }\n                iVar4 = 1;\n                if ((bool)(bVar1 ^ 1)) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  iVar4 = *(int *)(iVar3 + 0x1c);\n                  if (iVar4 < 0) {\n                    iVar4 = iVar4 + 0x3f;\n                  }\n                  iVar4 = iVar4 >> 6;\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                  if (extraout_v1_01 < iVar4) {\n                    pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                    goto LAB_001dd7c0;\n                  }\n                }\n                else {\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                }\n              }\n              else {\n                uVar24 = (**(code **)(puVar20 + 0x1cbe04))(7);\n                if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  uVar24 = (*pcVar21)(7);\n                  if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001dd5d0;\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  iVar4 = 1;\n                }\n                else {\nLAB_001dd5d0:\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\nLAB_001dd5d4:\n                  uVar24 = (*pcVar21)(7);\n                  if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n                     (pcVar21 = *(code **)(puVar20 + 0x1cbe04), (uint)uVar24 < 2)) {\nLAB_001dd7c0:\n                    (*pcVar21)(7);\n                    iVar4 = extraout_v1_00;\n                  }\n                  else {\n                    iVar4 = 2;\n                  }\n                }\n                iVar11 = *(int *)(puVar20 + 0x1cb66c);\n              }\n              puStack_f8 = (undefined *)0x1;\n              puStack_f4 = &uStack_118;\n              puStack_110 = puVar10;\n              iStack_10c = iVar2;\n              puStack_108 = puVar15;\n              puStack_104 = puVar13;\n              iStack_100 = iVar3;\n              puStack_fc = unaff_s6;\n              (**(code **)(puVar20 + 0x1cbe60))(iVar11 + -0x43b4,&puStack_110,iVar4,0);\n              puVar15 = puStack_f8;\n              (**(code **)(puVar20 + 0x1cbbbc))(puVar13);\n              if (puVar15 == (undefined *)0x0) {\n                in_stack_00000018 = (**(code **)(puVar20 + 0x1cbc14))(iVar3);\n              }\n            }\n          }" (else "else") (compound_statement "{\n            if (*(int *)(iVar3 + 4) == 0x21) {\nLAB_001dd4b8:\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);\nLAB_001dd4bc:\n              (*pcVar21)(iVar3,0x17,puVar15);\n            }\n            else {\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);\n              if (*(int *)(iVar3 + 4) == 3) goto LAB_001dd4bc;\n              dVar23 = *(double *)(iVar2 + 0x28) - *(double *)(iVar2 + 0x30);\n              if (dVar23 < 0.0) {\n                dVar23 = -dVar23;\n              }\n              if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) {\n                dVar23 = *(double *)(iVar2 + 0x30) - *(double *)(iVar2 + 0x38);\n                if (dVar23 < 0.0) {\n                  dVar23 = -dVar23;\n                }\n                if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) goto LAB_001dd4b8;\n              }\n            }\n            if ((*(int *)(iVar3 + 700) == 0) && (*(int *)(iVar2 + 8) != 0)) {\n              (**(code **)(puVar20 + 0x1cb940))\n                        (iVar3,*(undefined4 *)(*(int *)(puVar20 + 0x1cb5a8) + 0x1a50),puVar15);\n            }\n            if (puVar13 != (undefined *)0x0) {\n              unaff_s6 = auStack_c8;\n              (**(code **)(puVar20 + 0x1cbf7c))(iVar3,unaff_s6);\n              uVar5 = (**(code **)(puVar20 + 0x1cc11c))(puVar13,&uStack_f0);\n              uStack_80 = 0;\n              uStack_a0 = uStack_f0;\n              uStack_98 = uStack_f0;\n              uStack_90 = uStack_f0;\n              uStack_88 = uStack_f0;\n              if ((uVar5 & 8) != 0) {\n                uStack_98 = uStack_e8;\n              }\n              if ((uVar5 & 1) != 0) {\n                uStack_90 = uStack_e0;\n              }\n              if ((uVar5 & 2) == 0) {\n                pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                uVar24 = uStack_88;\n                if (iStack_c4 == 2) goto LAB_001dd6b0;\n              }\n              else {\n                uStack_80 = uStack_d8;\n                uVar24 = uStack_d8;\n                if (iStack_c4 == 2) {\nLAB_001dd6b0:\n                  uStack_88 = uVar24;\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                  if ((uVar5 & 0x10) != 0) {\n                    uStack_80 = uStack_d0;\n                  }\n                }\n                else {\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                }\n              }\n              uStack_114 = 0;\n              uStack_118 = 0;\n              puVar13 = (undefined *)(*pcVar21)(iVar3,puVar15);\n              iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3);\n              if (((iVar4 == 4) || (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3))\n                 && ((iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 4 ||\n                     (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3)))) {\n                (**(code **)(puVar20 + 0x1cbe04))(7);\n                iVar11 = *(int *)(iVar3 + 0x1c);\n                iVar4 = iVar11;\n                if (iVar11 < 0) {\n                  iVar4 = iVar11 + 0x3f;\n                }\n                if (extraout_v1 < iVar4 >> 6) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  bVar1 = extraout_v1_02 < 2;\n                }\n                else {\n                  bVar1 = iVar11 < 0x80;\n                }\n                iVar4 = 1;\n                if ((bool)(bVar1 ^ 1)) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  iVar4 = *(int *)(iVar3 + 0x1c);\n                  if (iVar4 < 0) {\n                    iVar4 = iVar4 + 0x3f;\n                  }\n                  iVar4 = iVar4 >> 6;\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                  if (extraout_v1_01 < iVar4) {\n                    pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                    goto LAB_001dd7c0;\n                  }\n                }\n                else {\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                }\n              }\n              else {\n                uVar24 = (**(code **)(puVar20 + 0x1cbe04))(7);\n                if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  uVar24 = (*pcVar21)(7);\n                  if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001dd5d0;\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  iVar4 = 1;\n                }\n                else {\nLAB_001dd5d0:\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\nLAB_001dd5d4:\n                  uVar24 = (*pcVar21)(7);\n                  if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n                     (pcVar21 = *(code **)(puVar20 + 0x1cbe04), (uint)uVar24 < 2)) {\nLAB_001dd7c0:\n                    (*pcVar21)(7);\n                    iVar4 = extraout_v1_00;\n                  }\n                  else {\n                    iVar4 = 2;\n                  }\n                }\n                iVar11 = *(int *)(puVar20 + 0x1cb66c);\n              }\n              puStack_f8 = (undefined *)0x1;\n              puStack_f4 = &uStack_118;\n              puStack_110 = puVar10;\n              iStack_10c = iVar2;\n              puStack_108 = puVar15;\n              puStack_104 = puVar13;\n              iStack_100 = iVar3;\n              puStack_fc = unaff_s6;\n              (**(code **)(puVar20 + 0x1cbe60))(iVar11 + -0x43b4,&puStack_110,iVar4,0);\n              puVar15 = puStack_f8;\n              (**(code **)(puVar20 + 0x1cbbbc))(puVar13);\n              if (puVar15 == (undefined *)0x0) {\n                in_stack_00000018 = (**(code **)(puVar20 + 0x1cbc14))(iVar3);\n              }\n            }\n          }" ({ "{") (if_statement "if (*(int *)(iVar3 + 4) == 0x21) {\nLAB_001dd4b8:\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);\nLAB_001dd4bc:\n              (*pcVar21)(iVar3,0x17,puVar15);\n            }\n            else {\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);\n              if (*(int *)(iVar3 + 4) == 3) goto LAB_001dd4bc;\n              dVar23 = *(double *)(iVar2 + 0x28) - *(double *)(iVar2 + 0x30);\n              if (dVar23 < 0.0) {\n                dVar23 = -dVar23;\n              }\n              if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) {\n                dVar23 = *(double *)(iVar2 + 0x30) - *(double *)(iVar2 + 0x38);\n                if (dVar23 < 0.0) {\n                  dVar23 = -dVar23;\n                }\n                if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) goto LAB_001dd4b8;\n              }\n            }" (if "if") (parenthesized_expression "(*(int *)(iVar3 + 4) == 0x21)" (( "(") (binary_expression "*(int *)(iVar3 + 4) == 0x21" (pointer_expression "*(int *)(iVar3 + 4)" (* "*") (cast_expression "(int *)(iVar3 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 4)" (( "(") (binary_expression "iVar3 + 4" (identifier "iVar3") (+ "+") (number_literal "4")) () ")")))) (== "==") (number_literal "0x21")) () ")")) (compound_statement "{\nLAB_001dd4b8:\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);\nLAB_001dd4bc:\n              (*pcVar21)(iVar3,0x17,puVar15);\n            }" ({ "{") (labeled_statement "LAB_001dd4b8:\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);" (statement_identifier "LAB_001dd4b8") (: ":") (expression_statement "pcVar21 = *(code **)(puVar20 + 0x1cba08);" (assignment_expression "pcVar21 = *(code **)(puVar20 + 0x1cba08)" (identifier "pcVar21") (= "=") (pointer_expression "*(code **)(puVar20 + 0x1cba08)" (* "*") (cast_expression "(code **)(puVar20 + 0x1cba08)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + 0x1cba08)" (( "(") (binary_expression "puVar20 + 0x1cba08" (identifier "puVar20") (+ "+") (number_literal "0x1cba08")) () ")"))))) (; ";"))) (labeled_statement "LAB_001dd4bc:\n              (*pcVar21)(iVar3,0x17,puVar15);" (statement_identifier "LAB_001dd4bc") (: ":") (expression_statement "(*pcVar21)(iVar3,0x17,puVar15);" (call_expression "(*pcVar21)(iVar3,0x17,puVar15)" (parenthesized_expression "(*pcVar21)" (( "(") (pointer_expression "*pcVar21" (* "*") (identifier "pcVar21")) () ")")) (argument_list "(iVar3,0x17,puVar15)" (( "(") (identifier "iVar3") (, ",") (number_literal "0x17") (, ",") (identifier "puVar15") () ")"))) (; ";"))) (} "}")) (else_clause "else {\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);\n              if (*(int *)(iVar3 + 4) == 3) goto LAB_001dd4bc;\n              dVar23 = *(double *)(iVar2 + 0x28) - *(double *)(iVar2 + 0x30);\n              if (dVar23 < 0.0) {\n                dVar23 = -dVar23;\n              }\n              if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) {\n                dVar23 = *(double *)(iVar2 + 0x30) - *(double *)(iVar2 + 0x38);\n                if (dVar23 < 0.0) {\n                  dVar23 = -dVar23;\n                }\n                if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) goto LAB_001dd4b8;\n              }\n            }" (else "else") (compound_statement "{\n              pcVar21 = *(code **)(puVar20 + 0x1cba08);\n              if (*(int *)(iVar3 + 4) == 3) goto LAB_001dd4bc;\n              dVar23 = *(double *)(iVar2 + 0x28) - *(double *)(iVar2 + 0x30);\n              if (dVar23 < 0.0) {\n                dVar23 = -dVar23;\n              }\n              if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) {\n                dVar23 = *(double *)(iVar2 + 0x30) - *(double *)(iVar2 + 0x38);\n                if (dVar23 < 0.0) {\n                  dVar23 = -dVar23;\n                }\n                if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) goto LAB_001dd4b8;\n              }\n            }" ({ "{") (expression_statement "pcVar21 = *(code **)(puVar20 + 0x1cba08);" (assignment_expression "pcVar21 = *(code **)(puVar20 + 0x1cba08)" (identifier "pcVar21") (= "=") (pointer_expression "*(code **)(puVar20 + 0x1cba08)" (* "*") (cast_expression "(code **)(puVar20 + 0x1cba08)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + 0x1cba08)" (( "(") (binary_expression "puVar20 + 0x1cba08" (identifier "puVar20") (+ "+") (number_literal "0x1cba08")) () ")"))))) (; ";")) (if_statement "if (*(int *)(iVar3 + 4) == 3) goto LAB_001dd4bc;" (if "if") (parenthesized_expression "(*(int *)(iVar3 + 4) == 3)" (( "(") (binary_expression "*(int *)(iVar3 + 4) == 3" (pointer_expression "*(int *)(iVar3 + 4)" (* "*") (cast_expression "(int *)(iVar3 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 4)" (( "(") (binary_expression "iVar3 + 4" (identifier "iVar3") (+ "+") (number_literal "4")) () ")")))) (== "==") (number_literal "3")) () ")")) (goto_statement "goto LAB_001dd4bc;" (goto "goto") (statement_identifier "LAB_001dd4bc") (; ";"))) (expression_statement "dVar23 = *(double *)(iVar2 + 0x28) - *(double *)(iVar2 + 0x30);" (assignment_expression "dVar23 = *(double *)(iVar2 + 0x28) - *(double *)(iVar2 + 0x30)" (identifier "dVar23") (= "=") (binary_expression "*(double *)(iVar2 + 0x28) - *(double *)(iVar2 + 0x30)" (pointer_expression "*(double *)(iVar2 + 0x28)" (* "*") (cast_expression "(double *)(iVar2 + 0x28)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x28)" (( "(") (binary_expression "iVar2 + 0x28" (identifier "iVar2") (+ "+") (number_literal "0x28")) () ")")))) (- "-") (pointer_expression "*(double *)(iVar2 + 0x30)" (* "*") (cast_expression "(double *)(iVar2 + 0x30)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x30)" (( "(") (binary_expression "iVar2 + 0x30" (identifier "iVar2") (+ "+") (number_literal "0x30")) () ")")))))) (; ";")) (if_statement "if (dVar23 < 0.0) {\n                dVar23 = -dVar23;\n              }" (if "if") (parenthesized_expression "(dVar23 < 0.0)" (( "(") (binary_expression "dVar23 < 0.0" (identifier "dVar23") (< "<") (number_literal "0.0")) () ")")) (compound_statement "{\n                dVar23 = -dVar23;\n              }" ({ "{") (expression_statement "dVar23 = -dVar23;" (assignment_expression "dVar23 = -dVar23" (identifier "dVar23") (= "=") (unary_expression "-dVar23" (- "-") (identifier "dVar23"))) (; ";")) (} "}"))) (if_statement "if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) {\n                dVar23 = *(double *)(iVar2 + 0x30) - *(double *)(iVar2 + 0x38);\n                if (dVar23 < 0.0) {\n                  dVar23 = -dVar23;\n                }\n                if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) goto LAB_001dd4b8;\n              }" (if "if") (parenthesized_expression "(dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8))" (( "(") (binary_expression "dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)" (identifier "dVar23") (< "<") (pointer_expression "*(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)" (* "*") (cast_expression "(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)" (( "(") (binary_expression "*(int *)(puVar20 + 0x1cb5a8) + 0x13f8" (pointer_expression "*(int *)(puVar20 + 0x1cb5a8)" (* "*") (cast_expression "(int *)(puVar20 + 0x1cb5a8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 0x1cb5a8)" (( "(") (binary_expression "puVar20 + 0x1cb5a8" (identifier "puVar20") (+ "+") (number_literal "0x1cb5a8")) () ")")))) (+ "+") (number_literal "0x13f8")) () ")"))))) () ")")) (compound_statement "{\n                dVar23 = *(double *)(iVar2 + 0x30) - *(double *)(iVar2 + 0x38);\n                if (dVar23 < 0.0) {\n                  dVar23 = -dVar23;\n                }\n                if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) goto LAB_001dd4b8;\n              }" ({ "{") (expression_statement "dVar23 = *(double *)(iVar2 + 0x30) - *(double *)(iVar2 + 0x38);" (assignment_expression "dVar23 = *(double *)(iVar2 + 0x30) - *(double *)(iVar2 + 0x38)" (identifier "dVar23") (= "=") (binary_expression "*(double *)(iVar2 + 0x30) - *(double *)(iVar2 + 0x38)" (pointer_expression "*(double *)(iVar2 + 0x30)" (* "*") (cast_expression "(double *)(iVar2 + 0x30)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x30)" (( "(") (binary_expression "iVar2 + 0x30" (identifier "iVar2") (+ "+") (number_literal "0x30")) () ")")))) (- "-") (pointer_expression "*(double *)(iVar2 + 0x38)" (* "*") (cast_expression "(double *)(iVar2 + 0x38)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x38)" (( "(") (binary_expression "iVar2 + 0x38" (identifier "iVar2") (+ "+") (number_literal "0x38")) () ")")))))) (; ";")) (if_statement "if (dVar23 < 0.0) {\n                  dVar23 = -dVar23;\n                }" (if "if") (parenthesized_expression "(dVar23 < 0.0)" (( "(") (binary_expression "dVar23 < 0.0" (identifier "dVar23") (< "<") (number_literal "0.0")) () ")")) (compound_statement "{\n                  dVar23 = -dVar23;\n                }" ({ "{") (expression_statement "dVar23 = -dVar23;" (assignment_expression "dVar23 = -dVar23" (identifier "dVar23") (= "=") (unary_expression "-dVar23" (- "-") (identifier "dVar23"))) (; ";")) (} "}"))) (if_statement "if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) goto LAB_001dd4b8;" (if "if") (parenthesized_expression "(dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8))" (( "(") (binary_expression "dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)" (identifier "dVar23") (< "<") (pointer_expression "*(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)" (* "*") (cast_expression "(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)" (( "(") (binary_expression "*(int *)(puVar20 + 0x1cb5a8) + 0x13f8" (pointer_expression "*(int *)(puVar20 + 0x1cb5a8)" (* "*") (cast_expression "(int *)(puVar20 + 0x1cb5a8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 0x1cb5a8)" (( "(") (binary_expression "puVar20 + 0x1cb5a8" (identifier "puVar20") (+ "+") (number_literal "0x1cb5a8")) () ")")))) (+ "+") (number_literal "0x13f8")) () ")"))))) () ")")) (goto_statement "goto LAB_001dd4b8;" (goto "goto") (statement_identifier "LAB_001dd4b8") (; ";"))) (} "}"))) (} "}")))) (if_statement "if ((*(int *)(iVar3 + 700) == 0) && (*(int *)(iVar2 + 8) != 0)) {\n              (**(code **)(puVar20 + 0x1cb940))\n                        (iVar3,*(undefined4 *)(*(int *)(puVar20 + 0x1cb5a8) + 0x1a50),puVar15);\n            }" (if "if") (parenthesized_expression "((*(int *)(iVar3 + 700) == 0) && (*(int *)(iVar2 + 8) != 0))" (( "(") (binary_expression "(*(int *)(iVar3 + 700) == 0) && (*(int *)(iVar2 + 8) != 0)" (parenthesized_expression "(*(int *)(iVar3 + 700) == 0)" (( "(") (binary_expression "*(int *)(iVar3 + 700) == 0" (pointer_expression "*(int *)(iVar3 + 700)" (* "*") (cast_expression "(int *)(iVar3 + 700)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 700)" (( "(") (binary_expression "iVar3 + 700" (identifier "iVar3") (+ "+") (number_literal "700")) () ")")))) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(*(int *)(iVar2 + 8) != 0)" (( "(") (binary_expression "*(int *)(iVar2 + 8) != 0" (pointer_expression "*(int *)(iVar2 + 8)" (* "*") (cast_expression "(int *)(iVar2 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 8)" (( "(") (binary_expression "iVar2 + 8" (identifier "iVar2") (+ "+") (number_literal "8")) () ")")))) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n              (**(code **)(puVar20 + 0x1cb940))\n                        (iVar3,*(undefined4 *)(*(int *)(puVar20 + 0x1cb5a8) + 0x1a50),puVar15);\n            }" ({ "{") (expression_statement "(**(code **)(puVar20 + 0x1cb940))\n                        (iVar3,*(undefined4 *)(*(int *)(puVar20 + 0x1cb5a8) + 0x1a50),puVar15);" (call_expression "(**(code **)(puVar20 + 0x1cb940))\n                        (iVar3,*(undefined4 *)(*(int *)(puVar20 + 0x1cb5a8) + 0x1a50),puVar15)" (parenthesized_expression "(**(code **)(puVar20 + 0x1cb940))" (( "(") (pointer_expression "**(code **)(puVar20 + 0x1cb940)" (* "*") (pointer_expression "*(code **)(puVar20 + 0x1cb940)" (* "*") (cast_expression "(code **)(puVar20 + 0x1cb940)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + 0x1cb940)" (( "(") (binary_expression "puVar20 + 0x1cb940" (identifier "puVar20") (+ "+") (number_literal "0x1cb940")) () ")"))))) () ")")) (argument_list "(iVar3,*(undefined4 *)(*(int *)(puVar20 + 0x1cb5a8) + 0x1a50),puVar15)" (( "(") (identifier "iVar3") (, ",") (pointer_expression "*(undefined4 *)(*(int *)(puVar20 + 0x1cb5a8) + 0x1a50)" (* "*") (cast_expression "(undefined4 *)(*(int *)(puVar20 + 0x1cb5a8) + 0x1a50)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar20 + 0x1cb5a8) + 0x1a50)" (( "(") (binary_expression "*(int *)(puVar20 + 0x1cb5a8) + 0x1a50" (pointer_expression "*(int *)(puVar20 + 0x1cb5a8)" (* "*") (cast_expression "(int *)(puVar20 + 0x1cb5a8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 0x1cb5a8)" (( "(") (binary_expression "puVar20 + 0x1cb5a8" (identifier "puVar20") (+ "+") (number_literal "0x1cb5a8")) () ")")))) (+ "+") (number_literal "0x1a50")) () ")")))) (, ",") (identifier "puVar15") () ")"))) (; ";")) (} "}"))) (if_statement "if (puVar13 != (undefined *)0x0) {\n              unaff_s6 = auStack_c8;\n              (**(code **)(puVar20 + 0x1cbf7c))(iVar3,unaff_s6);\n              uVar5 = (**(code **)(puVar20 + 0x1cc11c))(puVar13,&uStack_f0);\n              uStack_80 = 0;\n              uStack_a0 = uStack_f0;\n              uStack_98 = uStack_f0;\n              uStack_90 = uStack_f0;\n              uStack_88 = uStack_f0;\n              if ((uVar5 & 8) != 0) {\n                uStack_98 = uStack_e8;\n              }\n              if ((uVar5 & 1) != 0) {\n                uStack_90 = uStack_e0;\n              }\n              if ((uVar5 & 2) == 0) {\n                pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                uVar24 = uStack_88;\n                if (iStack_c4 == 2) goto LAB_001dd6b0;\n              }\n              else {\n                uStack_80 = uStack_d8;\n                uVar24 = uStack_d8;\n                if (iStack_c4 == 2) {\nLAB_001dd6b0:\n                  uStack_88 = uVar24;\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                  if ((uVar5 & 0x10) != 0) {\n                    uStack_80 = uStack_d0;\n                  }\n                }\n                else {\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                }\n              }\n              uStack_114 = 0;\n              uStack_118 = 0;\n              puVar13 = (undefined *)(*pcVar21)(iVar3,puVar15);\n              iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3);\n              if (((iVar4 == 4) || (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3))\n                 && ((iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 4 ||\n                     (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3)))) {\n                (**(code **)(puVar20 + 0x1cbe04))(7);\n                iVar11 = *(int *)(iVar3 + 0x1c);\n                iVar4 = iVar11;\n                if (iVar11 < 0) {\n                  iVar4 = iVar11 + 0x3f;\n                }\n                if (extraout_v1 < iVar4 >> 6) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  bVar1 = extraout_v1_02 < 2;\n                }\n                else {\n                  bVar1 = iVar11 < 0x80;\n                }\n                iVar4 = 1;\n                if ((bool)(bVar1 ^ 1)) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  iVar4 = *(int *)(iVar3 + 0x1c);\n                  if (iVar4 < 0) {\n                    iVar4 = iVar4 + 0x3f;\n                  }\n                  iVar4 = iVar4 >> 6;\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                  if (extraout_v1_01 < iVar4) {\n                    pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                    goto LAB_001dd7c0;\n                  }\n                }\n                else {\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                }\n              }\n              else {\n                uVar24 = (**(code **)(puVar20 + 0x1cbe04))(7);\n                if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  uVar24 = (*pcVar21)(7);\n                  if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001dd5d0;\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  iVar4 = 1;\n                }\n                else {\nLAB_001dd5d0:\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\nLAB_001dd5d4:\n                  uVar24 = (*pcVar21)(7);\n                  if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n                     (pcVar21 = *(code **)(puVar20 + 0x1cbe04), (uint)uVar24 < 2)) {\nLAB_001dd7c0:\n                    (*pcVar21)(7);\n                    iVar4 = extraout_v1_00;\n                  }\n                  else {\n                    iVar4 = 2;\n                  }\n                }\n                iVar11 = *(int *)(puVar20 + 0x1cb66c);\n              }\n              puStack_f8 = (undefined *)0x1;\n              puStack_f4 = &uStack_118;\n              puStack_110 = puVar10;\n              iStack_10c = iVar2;\n              puStack_108 = puVar15;\n              puStack_104 = puVar13;\n              iStack_100 = iVar3;\n              puStack_fc = unaff_s6;\n              (**(code **)(puVar20 + 0x1cbe60))(iVar11 + -0x43b4,&puStack_110,iVar4,0);\n              puVar15 = puStack_f8;\n              (**(code **)(puVar20 + 0x1cbbbc))(puVar13);\n              if (puVar15 == (undefined *)0x0) {\n                in_stack_00000018 = (**(code **)(puVar20 + 0x1cbc14))(iVar3);\n              }\n            }" (if "if") (parenthesized_expression "(puVar13 != (undefined *)0x0)" (( "(") (binary_expression "puVar13 != (undefined *)0x0" (identifier "puVar13") (!= "!=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n              unaff_s6 = auStack_c8;\n              (**(code **)(puVar20 + 0x1cbf7c))(iVar3,unaff_s6);\n              uVar5 = (**(code **)(puVar20 + 0x1cc11c))(puVar13,&uStack_f0);\n              uStack_80 = 0;\n              uStack_a0 = uStack_f0;\n              uStack_98 = uStack_f0;\n              uStack_90 = uStack_f0;\n              uStack_88 = uStack_f0;\n              if ((uVar5 & 8) != 0) {\n                uStack_98 = uStack_e8;\n              }\n              if ((uVar5 & 1) != 0) {\n                uStack_90 = uStack_e0;\n              }\n              if ((uVar5 & 2) == 0) {\n                pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                uVar24 = uStack_88;\n                if (iStack_c4 == 2) goto LAB_001dd6b0;\n              }\n              else {\n                uStack_80 = uStack_d8;\n                uVar24 = uStack_d8;\n                if (iStack_c4 == 2) {\nLAB_001dd6b0:\n                  uStack_88 = uVar24;\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                  if ((uVar5 & 0x10) != 0) {\n                    uStack_80 = uStack_d0;\n                  }\n                }\n                else {\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                }\n              }\n              uStack_114 = 0;\n              uStack_118 = 0;\n              puVar13 = (undefined *)(*pcVar21)(iVar3,puVar15);\n              iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3);\n              if (((iVar4 == 4) || (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3))\n                 && ((iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 4 ||\n                     (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3)))) {\n                (**(code **)(puVar20 + 0x1cbe04))(7);\n                iVar11 = *(int *)(iVar3 + 0x1c);\n                iVar4 = iVar11;\n                if (iVar11 < 0) {\n                  iVar4 = iVar11 + 0x3f;\n                }\n                if (extraout_v1 < iVar4 >> 6) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  bVar1 = extraout_v1_02 < 2;\n                }\n                else {\n                  bVar1 = iVar11 < 0x80;\n                }\n                iVar4 = 1;\n                if ((bool)(bVar1 ^ 1)) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  iVar4 = *(int *)(iVar3 + 0x1c);\n                  if (iVar4 < 0) {\n                    iVar4 = iVar4 + 0x3f;\n                  }\n                  iVar4 = iVar4 >> 6;\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                  if (extraout_v1_01 < iVar4) {\n                    pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                    goto LAB_001dd7c0;\n                  }\n                }\n                else {\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                }\n              }\n              else {\n                uVar24 = (**(code **)(puVar20 + 0x1cbe04))(7);\n                if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  uVar24 = (*pcVar21)(7);\n                  if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001dd5d0;\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  iVar4 = 1;\n                }\n                else {\nLAB_001dd5d0:\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\nLAB_001dd5d4:\n                  uVar24 = (*pcVar21)(7);\n                  if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n                     (pcVar21 = *(code **)(puVar20 + 0x1cbe04), (uint)uVar24 < 2)) {\nLAB_001dd7c0:\n                    (*pcVar21)(7);\n                    iVar4 = extraout_v1_00;\n                  }\n                  else {\n                    iVar4 = 2;\n                  }\n                }\n                iVar11 = *(int *)(puVar20 + 0x1cb66c);\n              }\n              puStack_f8 = (undefined *)0x1;\n              puStack_f4 = &uStack_118;\n              puStack_110 = puVar10;\n              iStack_10c = iVar2;\n              puStack_108 = puVar15;\n              puStack_104 = puVar13;\n              iStack_100 = iVar3;\n              puStack_fc = unaff_s6;\n              (**(code **)(puVar20 + 0x1cbe60))(iVar11 + -0x43b4,&puStack_110,iVar4,0);\n              puVar15 = puStack_f8;\n              (**(code **)(puVar20 + 0x1cbbbc))(puVar13);\n              if (puVar15 == (undefined *)0x0) {\n                in_stack_00000018 = (**(code **)(puVar20 + 0x1cbc14))(iVar3);\n              }\n            }" ({ "{") (expression_statement "unaff_s6 = auStack_c8;" (assignment_expression "unaff_s6 = auStack_c8" (identifier "unaff_s6") (= "=") (identifier "auStack_c8")) (; ";")) (expression_statement "(**(code **)(puVar20 + 0x1cbf7c))(iVar3,unaff_s6);" (call_expression "(**(code **)(puVar20 + 0x1cbf7c))(iVar3,unaff_s6)" (parenthesized_expression "(**(code **)(puVar20 + 0x1cbf7c))" (( "(") (pointer_expression "**(code **)(puVar20 + 0x1cbf7c)" (* "*") (pointer_expression "*(code **)(puVar20 + 0x1cbf7c)" (* "*") (cast_expression "(code **)(puVar20 + 0x1cbf7c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + 0x1cbf7c)" (( "(") (binary_expression "puVar20 + 0x1cbf7c" (identifier "puVar20") (+ "+") (number_literal "0x1cbf7c")) () ")"))))) () ")")) (argument_list "(iVar3,unaff_s6)" (( "(") (identifier "iVar3") (, ",") (identifier "unaff_s6") () ")"))) (; ";")) (expression_statement "uVar5 = (**(code **)(puVar20 + 0x1cc11c))(puVar13,&uStack_f0);" (assignment_expression "uVar5 = (**(code **)(puVar20 + 0x1cc11c))(puVar13,&uStack_f0)" (identifier "uVar5") (= "=") (call_expression "(**(code **)(puVar20 + 0x1cc11c))(puVar13,&uStack_f0)" (parenthesized_expression "(**(code **)(puVar20 + 0x1cc11c))" (( "(") (pointer_expression "**(code **)(puVar20 + 0x1cc11c)" (* "*") (pointer_expression "*(code **)(puVar20 + 0x1cc11c)" (* "*") (cast_expression "(code **)(puVar20 + 0x1cc11c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + 0x1cc11c)" (( "(") (binary_expression "puVar20 + 0x1cc11c" (identifier "puVar20") (+ "+") (number_literal "0x1cc11c")) () ")"))))) () ")")) (argument_list "(puVar13,&uStack_f0)" (( "(") (identifier "puVar13") (, ",") (pointer_expression "&uStack_f0" (& "&") (identifier "uStack_f0")) () ")")))) (; ";")) (expression_statement "uStack_80 = 0;" (assignment_expression "uStack_80 = 0" (identifier "uStack_80") (= "=") (number_literal "0")) (; ";")) (expression_statement "uStack_a0 = uStack_f0;" (assignment_expression "uStack_a0 = uStack_f0" (identifier "uStack_a0") (= "=") (identifier "uStack_f0")) (; ";")) (expression_statement "uStack_98 = uStack_f0;" (assignment_expression "uStack_98 = uStack_f0" (identifier "uStack_98") (= "=") (identifier "uStack_f0")) (; ";")) (expression_statement "uStack_90 = uStack_f0;" (assignment_expression "uStack_90 = uStack_f0" (identifier "uStack_90") (= "=") (identifier "uStack_f0")) (; ";")) (expression_statement "uStack_88 = uStack_f0;" (assignment_expression "uStack_88 = uStack_f0" (identifier "uStack_88") (= "=") (identifier "uStack_f0")) (; ";")) (if_statement "if ((uVar5 & 8) != 0) {\n                uStack_98 = uStack_e8;\n              }" (if "if") (parenthesized_expression "((uVar5 & 8) != 0)" (( "(") (binary_expression "(uVar5 & 8) != 0" (parenthesized_expression "(uVar5 & 8)" (( "(") (binary_expression "uVar5 & 8" (identifier "uVar5") (& "&") (number_literal "8")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                uStack_98 = uStack_e8;\n              }" ({ "{") (expression_statement "uStack_98 = uStack_e8;" (assignment_expression "uStack_98 = uStack_e8" (identifier "uStack_98") (= "=") (identifier "uStack_e8")) (; ";")) (} "}"))) (if_statement "if ((uVar5 & 1) != 0) {\n                uStack_90 = uStack_e0;\n              }" (if "if") (parenthesized_expression "((uVar5 & 1) != 0)" (( "(") (binary_expression "(uVar5 & 1) != 0" (parenthesized_expression "(uVar5 & 1)" (( "(") (binary_expression "uVar5 & 1" (identifier "uVar5") (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                uStack_90 = uStack_e0;\n              }" ({ "{") (expression_statement "uStack_90 = uStack_e0;" (assignment_expression "uStack_90 = uStack_e0" (identifier "uStack_90") (= "=") (identifier "uStack_e0")) (; ";")) (} "}"))) (if_statement "if ((uVar5 & 2) == 0) {\n                pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                uVar24 = uStack_88;\n                if (iStack_c4 == 2) goto LAB_001dd6b0;\n              }\n              else {\n                uStack_80 = uStack_d8;\n                uVar24 = uStack_d8;\n                if (iStack_c4 == 2) {\nLAB_001dd6b0:\n                  uStack_88 = uVar24;\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                  if ((uVar5 & 0x10) != 0) {\n                    uStack_80 = uStack_d0;\n                  }\n                }\n                else {\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                }\n              }" (if "if") (parenthesized_expression "((uVar5 & 2) == 0)" (( "(") (binary_expression "(uVar5 & 2) == 0" (parenthesized_expression "(uVar5 & 2)" (( "(") (binary_expression "uVar5 & 2" (identifier "uVar5") (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                uVar24 = uStack_88;\n                if (iStack_c4 == 2) goto LAB_001dd6b0;\n              }" ({ "{") (expression_statement "pcVar21 = *(code **)(puVar20 + 0x1cc41c);" (assignment_expression "pcVar21 = *(code **)(puVar20 + 0x1cc41c)" (identifier "pcVar21") (= "=") (pointer_expression "*(code **)(puVar20 + 0x1cc41c)" (* "*") (cast_expression "(code **)(puVar20 + 0x1cc41c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + 0x1cc41c)" (( "(") (binary_expression "puVar20 + 0x1cc41c" (identifier "puVar20") (+ "+") (number_literal "0x1cc41c")) () ")"))))) (; ";")) (expression_statement "uVar24 = uStack_88;" (assignment_expression "uVar24 = uStack_88" (identifier "uVar24") (= "=") (identifier "uStack_88")) (; ";")) (if_statement "if (iStack_c4 == 2) goto LAB_001dd6b0;" (if "if") (parenthesized_expression "(iStack_c4 == 2)" (( "(") (binary_expression "iStack_c4 == 2" (identifier "iStack_c4") (== "==") (number_literal "2")) () ")")) (goto_statement "goto LAB_001dd6b0;" (goto "goto") (statement_identifier "LAB_001dd6b0") (; ";"))) (} "}")) (else_clause "else {\n                uStack_80 = uStack_d8;\n                uVar24 = uStack_d8;\n                if (iStack_c4 == 2) {\nLAB_001dd6b0:\n                  uStack_88 = uVar24;\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                  if ((uVar5 & 0x10) != 0) {\n                    uStack_80 = uStack_d0;\n                  }\n                }\n                else {\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                }\n              }" (else "else") (compound_statement "{\n                uStack_80 = uStack_d8;\n                uVar24 = uStack_d8;\n                if (iStack_c4 == 2) {\nLAB_001dd6b0:\n                  uStack_88 = uVar24;\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                  if ((uVar5 & 0x10) != 0) {\n                    uStack_80 = uStack_d0;\n                  }\n                }\n                else {\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                }\n              }" ({ "{") (expression_statement "uStack_80 = uStack_d8;" (assignment_expression "uStack_80 = uStack_d8" (identifier "uStack_80") (= "=") (identifier "uStack_d8")) (; ";")) (expression_statement "uVar24 = uStack_d8;" (assignment_expression "uVar24 = uStack_d8" (identifier "uVar24") (= "=") (identifier "uStack_d8")) (; ";")) (if_statement "if (iStack_c4 == 2) {\nLAB_001dd6b0:\n                  uStack_88 = uVar24;\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                  if ((uVar5 & 0x10) != 0) {\n                    uStack_80 = uStack_d0;\n                  }\n                }\n                else {\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                }" (if "if") (parenthesized_expression "(iStack_c4 == 2)" (( "(") (binary_expression "iStack_c4 == 2" (identifier "iStack_c4") (== "==") (number_literal "2")) () ")")) (compound_statement "{\nLAB_001dd6b0:\n                  uStack_88 = uVar24;\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                  if ((uVar5 & 0x10) != 0) {\n                    uStack_80 = uStack_d0;\n                  }\n                }" ({ "{") (labeled_statement "LAB_001dd6b0:\n                  uStack_88 = uVar24;" (statement_identifier "LAB_001dd6b0") (: ":") (expression_statement "uStack_88 = uVar24;" (assignment_expression "uStack_88 = uVar24" (identifier "uStack_88") (= "=") (identifier "uVar24")) (; ";"))) (expression_statement "pcVar21 = *(code **)(puVar20 + 0x1cc41c);" (assignment_expression "pcVar21 = *(code **)(puVar20 + 0x1cc41c)" (identifier "pcVar21") (= "=") (pointer_expression "*(code **)(puVar20 + 0x1cc41c)" (* "*") (cast_expression "(code **)(puVar20 + 0x1cc41c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + 0x1cc41c)" (( "(") (binary_expression "puVar20 + 0x1cc41c" (identifier "puVar20") (+ "+") (number_literal "0x1cc41c")) () ")"))))) (; ";")) (if_statement "if ((uVar5 & 0x10) != 0) {\n                    uStack_80 = uStack_d0;\n                  }" (if "if") (parenthesized_expression "((uVar5 & 0x10) != 0)" (( "(") (binary_expression "(uVar5 & 0x10) != 0" (parenthesized_expression "(uVar5 & 0x10)" (( "(") (binary_expression "uVar5 & 0x10" (identifier "uVar5") (& "&") (number_literal "0x10")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                    uStack_80 = uStack_d0;\n                  }" ({ "{") (expression_statement "uStack_80 = uStack_d0;" (assignment_expression "uStack_80 = uStack_d0" (identifier "uStack_80") (= "=") (identifier "uStack_d0")) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                }" (else "else") (compound_statement "{\n                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);\n                }" ({ "{") (expression_statement "pcVar21 = *(code **)(puVar20 + 0x1cc41c);" (assignment_expression "pcVar21 = *(code **)(puVar20 + 0x1cc41c)" (identifier "pcVar21") (= "=") (pointer_expression "*(code **)(puVar20 + 0x1cc41c)" (* "*") (cast_expression "(code **)(puVar20 + 0x1cc41c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + 0x1cc41c)" (( "(") (binary_expression "puVar20 + 0x1cc41c" (identifier "puVar20") (+ "+") (number_literal "0x1cc41c")) () ")"))))) (; ";")) (} "}")))) (} "}")))) (expression_statement "uStack_114 = 0;" (assignment_expression "uStack_114 = 0" (identifier "uStack_114") (= "=") (number_literal "0")) (; ";")) (expression_statement "uStack_118 = 0;" (assignment_expression "uStack_118 = 0" (identifier "uStack_118") (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar13 = (undefined *)(*pcVar21)(iVar3,puVar15);" (assignment_expression "puVar13 = (undefined *)(*pcVar21)(iVar3,puVar15)" (identifier "puVar13") (= "=") (cast_expression "(undefined *)(*pcVar21)(iVar3,puVar15)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*pcVar21)(iVar3,puVar15)" (parenthesized_expression "(*pcVar21)" (( "(") (pointer_expression "*pcVar21" (* "*") (identifier "pcVar21")) () ")")) (argument_list "(iVar3,puVar15)" (( "(") (identifier "iVar3") (, ",") (identifier "puVar15") () ")"))))) (; ";")) (expression_statement "iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3);" (assignment_expression "iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3)" (identifier "iVar4") (= "=") (call_expression "(**(code **)(puVar20 + 0x1cc17c))(iVar3)" (parenthesized_expression "(**(code **)(puVar20 + 0x1cc17c))" (( "(") (pointer_expression "**(code **)(puVar20 + 0x1cc17c)" (* "*") (pointer_expression "*(code **)(puVar20 + 0x1cc17c)" (* "*") (cast_expression "(code **)(puVar20 + 0x1cc17c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + 0x1cc17c)" (( "(") (binary_expression "puVar20 + 0x1cc17c" (identifier "puVar20") (+ "+") (number_literal "0x1cc17c")) () ")"))))) () ")")) (argument_list "(iVar3)" (( "(") (identifier "iVar3") () ")")))) (; ";")) (if_statement "if (((iVar4 == 4) || (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3))\n                 && ((iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 4 ||\n                     (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3)))) {\n                (**(code **)(puVar20 + 0x1cbe04))(7);\n                iVar11 = *(int *)(iVar3 + 0x1c);\n                iVar4 = iVar11;\n                if (iVar11 < 0) {\n                  iVar4 = iVar11 + 0x3f;\n                }\n                if (extraout_v1 < iVar4 >> 6) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  bVar1 = extraout_v1_02 < 2;\n                }\n                else {\n                  bVar1 = iVar11 < 0x80;\n                }\n                iVar4 = 1;\n                if ((bool)(bVar1 ^ 1)) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  iVar4 = *(int *)(iVar3 + 0x1c);\n                  if (iVar4 < 0) {\n                    iVar4 = iVar4 + 0x3f;\n                  }\n                  iVar4 = iVar4 >> 6;\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                  if (extraout_v1_01 < iVar4) {\n                    pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                    goto LAB_001dd7c0;\n                  }\n                }\n                else {\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                }\n              }\n              else {\n                uVar24 = (**(code **)(puVar20 + 0x1cbe04))(7);\n                if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  uVar24 = (*pcVar21)(7);\n                  if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001dd5d0;\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  iVar4 = 1;\n                }\n                else {\nLAB_001dd5d0:\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\nLAB_001dd5d4:\n                  uVar24 = (*pcVar21)(7);\n                  if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n                     (pcVar21 = *(code **)(puVar20 + 0x1cbe04), (uint)uVar24 < 2)) {\nLAB_001dd7c0:\n                    (*pcVar21)(7);\n                    iVar4 = extraout_v1_00;\n                  }\n                  else {\n                    iVar4 = 2;\n                  }\n                }\n                iVar11 = *(int *)(puVar20 + 0x1cb66c);\n              }" (if "if") (parenthesized_expression "(((iVar4 == 4) || (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3))\n                 && ((iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 4 ||\n                     (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3))))" (( "(") (binary_expression "((iVar4 == 4) || (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3))\n                 && ((iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 4 ||\n                     (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3)))" (parenthesized_expression "((iVar4 == 4) || (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3))" (( "(") (binary_expression "(iVar4 == 4) || (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3)" (parenthesized_expression "(iVar4 == 4)" (( "(") (binary_expression "iVar4 == 4" (identifier "iVar4") (== "==") (number_literal "4")) () ")")) (|| "||") (parenthesized_expression "(iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3)" (( "(") (comma_expression "iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3" (assignment_expression "iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3)" (identifier "iVar4") (= "=") (call_expression "(**(code **)(puVar20 + 0x1cc17c))(iVar3)" (parenthesized_expression "(**(code **)(puVar20 + 0x1cc17c))" (( "(") (pointer_expression "**(code **)(puVar20 + 0x1cc17c)" (* "*") (pointer_expression "*(code **)(puVar20 + 0x1cc17c)" (* "*") (cast_expression "(code **)(puVar20 + 0x1cc17c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + 0x1cc17c)" (( "(") (binary_expression "puVar20 + 0x1cc17c" (identifier "puVar20") (+ "+") (number_literal "0x1cc17c")) () ")"))))) () ")")) (argument_list "(iVar3)" (( "(") (identifier "iVar3") () ")")))) (, ",") (binary_expression "iVar4 == 3" (identifier "iVar4") (== "==") (number_literal "3"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 4 ||\n                     (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3)))" (( "(") (parenthesized_expression "(iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 4 ||\n                     (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3))" (( "(") (comma_expression "iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 4 ||\n                     (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3)" (assignment_expression "iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3)" (identifier "iVar4") (= "=") (call_expression "(**(code **)(puVar20 + 0x1cc17c))(iVar3)" (parenthesized_expression "(**(code **)(puVar20 + 0x1cc17c))" (( "(") (pointer_expression "**(code **)(puVar20 + 0x1cc17c)" (* "*") (pointer_expression "*(code **)(puVar20 + 0x1cc17c)" (* "*") (cast_expression "(code **)(puVar20 + 0x1cc17c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + 0x1cc17c)" (( "(") (binary_expression "puVar20 + 0x1cc17c" (identifier "puVar20") (+ "+") (number_literal "0x1cc17c")) () ")"))))) () ")")) (argument_list "(iVar3)" (( "(") (identifier "iVar3") () ")")))) (, ",") (binary_expression "iVar4 == 4 ||\n                     (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3)" (binary_expression "iVar4 == 4" (identifier "iVar4") (== "==") (number_literal "4")) (|| "||") (parenthesized_expression "(iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3)" (( "(") (comma_expression "iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3" (assignment_expression "iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3)" (identifier "iVar4") (= "=") (call_expression "(**(code **)(puVar20 + 0x1cc17c))(iVar3)" (parenthesized_expression "(**(code **)(puVar20 + 0x1cc17c))" (( "(") (pointer_expression "**(code **)(puVar20 + 0x1cc17c)" (* "*") (pointer_expression "*(code **)(puVar20 + 0x1cc17c)" (* "*") (cast_expression "(code **)(puVar20 + 0x1cc17c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + 0x1cc17c)" (( "(") (binary_expression "puVar20 + 0x1cc17c" (identifier "puVar20") (+ "+") (number_literal "0x1cc17c")) () ")"))))) () ")")) (argument_list "(iVar3)" (( "(") (identifier "iVar3") () ")")))) (, ",") (binary_expression "iVar4 == 3" (identifier "iVar4") (== "==") (number_literal "3"))) () ")")))) () ")")) () ")"))) () ")")) (compound_statement "{\n                (**(code **)(puVar20 + 0x1cbe04))(7);\n                iVar11 = *(int *)(iVar3 + 0x1c);\n                iVar4 = iVar11;\n                if (iVar11 < 0) {\n                  iVar4 = iVar11 + 0x3f;\n                }\n                if (extraout_v1 < iVar4 >> 6) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  bVar1 = extraout_v1_02 < 2;\n                }\n                else {\n                  bVar1 = iVar11 < 0x80;\n                }\n                iVar4 = 1;\n                if ((bool)(bVar1 ^ 1)) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  iVar4 = *(int *)(iVar3 + 0x1c);\n                  if (iVar4 < 0) {\n                    iVar4 = iVar4 + 0x3f;\n                  }\n                  iVar4 = iVar4 >> 6;\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                  if (extraout_v1_01 < iVar4) {\n                    pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                    goto LAB_001dd7c0;\n                  }\n                }\n                else {\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                }\n              }" ({ "{") (expression_statement "(**(code **)(puVar20 + 0x1cbe04))(7);" (call_expression "(**(code **)(puVar20 + 0x1cbe04))(7)" (parenthesized_expression "(**(code **)(puVar20 + 0x1cbe04))" (( "(") (pointer_expression "**(code **)(puVar20 + 0x1cbe04)" (* "*") (pointer_expression "*(code **)(puVar20 + 0x1cbe04)" (* "*") (cast_expression "(code **)(puVar20 + 0x1cbe04)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + 0x1cbe04)" (( "(") (binary_expression "puVar20 + 0x1cbe04" (identifier "puVar20") (+ "+") (number_literal "0x1cbe04")) () ")"))))) () ")")) (argument_list "(7)" (( "(") (number_literal "7") () ")"))) (; ";")) (expression_statement "iVar11 = *(int *)(iVar3 + 0x1c);" (assignment_expression "iVar11 = *(int *)(iVar3 + 0x1c)" (identifier "iVar11") (= "=") (pointer_expression "*(int *)(iVar3 + 0x1c)" (* "*") (cast_expression "(int *)(iVar3 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x1c)" (( "(") (binary_expression "iVar3 + 0x1c" (identifier "iVar3") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (expression_statement "iVar4 = iVar11;" (assignment_expression "iVar4 = iVar11" (identifier "iVar4") (= "=") (identifier "iVar11")) (; ";")) (if_statement "if (iVar11 < 0) {\n                  iVar4 = iVar11 + 0x3f;\n                }" (if "if") (parenthesized_expression "(iVar11 < 0)" (( "(") (binary_expression "iVar11 < 0" (identifier "iVar11") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n                  iVar4 = iVar11 + 0x3f;\n                }" ({ "{") (expression_statement "iVar4 = iVar11 + 0x3f;" (assignment_expression "iVar4 = iVar11 + 0x3f" (identifier "iVar4") (= "=") (binary_expression "iVar11 + 0x3f" (identifier "iVar11") (+ "+") (number_literal "0x3f"))) (; ";")) (} "}"))) (if_statement "if (extraout_v1 < iVar4 >> 6) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  bVar1 = extraout_v1_02 < 2;\n                }\n                else {\n                  bVar1 = iVar11 < 0x80;\n                }" (if "if") (parenthesized_expression "(extraout_v1 < iVar4 >> 6)" (( "(") (binary_expression "extraout_v1 < iVar4 >> 6" (identifier "extraout_v1") (< "<") (binary_expression "iVar4 >> 6" (identifier "iVar4") (>> ">>") (number_literal "6"))) () ")")) (compound_statement "{\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  bVar1 = extraout_v1_02 < 2;\n                }" ({ "{") (expression_statement "(**(code **)(puVar20 + 0x1cbe04))(7);" (call_expression "(**(code **)(puVar20 + 0x1cbe04))(7)" (parenthesized_expression "(**(code **)(puVar20 + 0x1cbe04))" (( "(") (pointer_expression "**(code **)(puVar20 + 0x1cbe04)" (* "*") (pointer_expression "*(code **)(puVar20 + 0x1cbe04)" (* "*") (cast_expression "(code **)(puVar20 + 0x1cbe04)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + 0x1cbe04)" (( "(") (binary_expression "puVar20 + 0x1cbe04" (identifier "puVar20") (+ "+") (number_literal "0x1cbe04")) () ")"))))) () ")")) (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 = iVar11 < 0x80;\n                }" (else "else") (compound_statement "{\n                  bVar1 = iVar11 < 0x80;\n                }" ({ "{") (expression_statement "bVar1 = iVar11 < 0x80;" (assignment_expression "bVar1 = iVar11 < 0x80" (identifier "bVar1") (= "=") (binary_expression "iVar11 < 0x80" (identifier "iVar11") (< "<") (number_literal "0x80"))) (; ";")) (} "}")))) (expression_statement "iVar4 = 1;" (assignment_expression "iVar4 = 1" (identifier "iVar4") (= "=") (number_literal "1")) (; ";")) (if_statement "if ((bool)(bVar1 ^ 1)) {\n                  (**(code **)(puVar20 + 0x1cbe04))(7);\n                  iVar4 = *(int *)(iVar3 + 0x1c);\n                  if (iVar4 < 0) {\n                    iVar4 = iVar4 + 0x3f;\n                  }\n                  iVar4 = iVar4 >> 6;\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                  if (extraout_v1_01 < iVar4) {\n                    pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                    goto LAB_001dd7c0;\n                  }\n                }\n                else {\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\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 **)(puVar20 + 0x1cbe04))(7);\n                  iVar4 = *(int *)(iVar3 + 0x1c);\n                  if (iVar4 < 0) {\n                    iVar4 = iVar4 + 0x3f;\n                  }\n                  iVar4 = iVar4 >> 6;\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                  if (extraout_v1_01 < iVar4) {\n                    pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                    goto LAB_001dd7c0;\n                  }\n                }" ({ "{") (expression_statement "(**(code **)(puVar20 + 0x1cbe04))(7);" (call_expression "(**(code **)(puVar20 + 0x1cbe04))(7)" (parenthesized_expression "(**(code **)(puVar20 + 0x1cbe04))" (( "(") (pointer_expression "**(code **)(puVar20 + 0x1cbe04)" (* "*") (pointer_expression "*(code **)(puVar20 + 0x1cbe04)" (* "*") (cast_expression "(code **)(puVar20 + 0x1cbe04)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + 0x1cbe04)" (( "(") (binary_expression "puVar20 + 0x1cbe04" (identifier "puVar20") (+ "+") (number_literal "0x1cbe04")) () ")"))))) () ")")) (argument_list "(7)" (( "(") (number_literal "7") () ")"))) (; ";")) (expression_statement "iVar4 = *(int *)(iVar3 + 0x1c);" (assignment_expression "iVar4 = *(int *)(iVar3 + 0x1c)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(iVar3 + 0x1c)" (* "*") (cast_expression "(int *)(iVar3 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x1c)" (( "(") (binary_expression "iVar3 + 0x1c" (identifier "iVar3") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (if_statement "if (iVar4 < 0) {\n                    iVar4 = iVar4 + 0x3f;\n                  }" (if "if") (parenthesized_expression "(iVar4 < 0)" (( "(") (binary_expression "iVar4 < 0" (identifier "iVar4") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n                    iVar4 = iVar4 + 0x3f;\n                  }" ({ "{") (expression_statement "iVar4 = iVar4 + 0x3f;" (assignment_expression "iVar4 = iVar4 + 0x3f" (identifier "iVar4") (= "=") (binary_expression "iVar4 + 0x3f" (identifier "iVar4") (+ "+") (number_literal "0x3f"))) (; ";")) (} "}"))) (expression_statement "iVar4 = iVar4 >> 6;" (assignment_expression "iVar4 = iVar4 >> 6" (identifier "iVar4") (= "=") (binary_expression "iVar4 >> 6" (identifier "iVar4") (>> ">>") (number_literal "6"))) (; ";")) (expression_statement "iVar11 = *(int *)(puVar20 + 0x1cb66c);" (assignment_expression "iVar11 = *(int *)(puVar20 + 0x1cb66c)" (identifier "iVar11") (= "=") (pointer_expression "*(int *)(puVar20 + 0x1cb66c)" (* "*") (cast_expression "(int *)(puVar20 + 0x1cb66c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 0x1cb66c)" (( "(") (binary_expression "puVar20 + 0x1cb66c" (identifier "puVar20") (+ "+") (number_literal "0x1cb66c")) () ")"))))) (; ";")) (if_statement "if (extraout_v1_01 < iVar4) {\n                    pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                    goto LAB_001dd7c0;\n                  }" (if "if") (parenthesized_expression "(extraout_v1_01 < iVar4)" (( "(") (binary_expression "extraout_v1_01 < iVar4" (identifier "extraout_v1_01") (< "<") (identifier "iVar4")) () ")")) (compound_statement "{\n                    pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                    goto LAB_001dd7c0;\n                  }" ({ "{") (expression_statement "pcVar21 = *(code **)(puVar20 + 0x1cbe04);" (assignment_expression "pcVar21 = *(code **)(puVar20 + 0x1cbe04)" (identifier "pcVar21") (= "=") (pointer_expression "*(code **)(puVar20 + 0x1cbe04)" (* "*") (cast_expression "(code **)(puVar20 + 0x1cbe04)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + 0x1cbe04)" (( "(") (binary_expression "puVar20 + 0x1cbe04" (identifier "puVar20") (+ "+") (number_literal "0x1cbe04")) () ")"))))) (; ";")) (goto_statement "goto LAB_001dd7c0;" (goto "goto") (statement_identifier "LAB_001dd7c0") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                }" (else "else") (compound_statement "{\n                  iVar11 = *(int *)(puVar20 + 0x1cb66c);\n                }" ({ "{") (expression_statement "iVar11 = *(int *)(puVar20 + 0x1cb66c);" (assignment_expression "iVar11 = *(int *)(puVar20 + 0x1cb66c)" (identifier "iVar11") (= "=") (pointer_expression "*(int *)(puVar20 + 0x1cb66c)" (* "*") (cast_expression "(int *)(puVar20 + 0x1cb66c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 0x1cb66c)" (( "(") (binary_expression "puVar20 + 0x1cb66c" (identifier "puVar20") (+ "+") (number_literal "0x1cb66c")) () ")"))))) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n                uVar24 = (**(code **)(puVar20 + 0x1cbe04))(7);\n                if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  uVar24 = (*pcVar21)(7);\n                  if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001dd5d0;\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  iVar4 = 1;\n                }\n                else {\nLAB_001dd5d0:\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\nLAB_001dd5d4:\n                  uVar24 = (*pcVar21)(7);\n                  if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n                     (pcVar21 = *(code **)(puVar20 + 0x1cbe04), (uint)uVar24 < 2)) {\nLAB_001dd7c0:\n                    (*pcVar21)(7);\n                    iVar4 = extraout_v1_00;\n                  }\n                  else {\n                    iVar4 = 2;\n                  }\n                }\n                iVar11 = *(int *)(puVar20 + 0x1cb66c);\n              }" (else "else") (compound_statement "{\n                uVar24 = (**(code **)(puVar20 + 0x1cbe04))(7);\n                if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  uVar24 = (*pcVar21)(7);\n                  if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001dd5d0;\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  iVar4 = 1;\n                }\n                else {\nLAB_001dd5d0:\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\nLAB_001dd5d4:\n                  uVar24 = (*pcVar21)(7);\n                  if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n                     (pcVar21 = *(code **)(puVar20 + 0x1cbe04), (uint)uVar24 < 2)) {\nLAB_001dd7c0:\n                    (*pcVar21)(7);\n                    iVar4 = extraout_v1_00;\n                  }\n                  else {\n                    iVar4 = 2;\n                  }\n                }\n                iVar11 = *(int *)(puVar20 + 0x1cb66c);\n              }" ({ "{") (expression_statement "uVar24 = (**(code **)(puVar20 + 0x1cbe04))(7);" (assignment_expression "uVar24 = (**(code **)(puVar20 + 0x1cbe04))(7)" (identifier "uVar24") (= "=") (call_expression "(**(code **)(puVar20 + 0x1cbe04))(7)" (parenthesized_expression "(**(code **)(puVar20 + 0x1cbe04))" (( "(") (pointer_expression "**(code **)(puVar20 + 0x1cbe04)" (* "*") (pointer_expression "*(code **)(puVar20 + 0x1cbe04)" (* "*") (cast_expression "(code **)(puVar20 + 0x1cbe04)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + 0x1cbe04)" (( "(") (binary_expression "puVar20 + 0x1cbe04" (identifier "puVar20") (+ "+") (number_literal "0x1cbe04")) () ")"))))) () ")")) (argument_list "(7)" (( "(") (number_literal "7") () ")")))) (; ";")) (if_statement "if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  uVar24 = (*pcVar21)(7);\n                  if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001dd5d0;\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  iVar4 = 1;\n                }\n                else {\nLAB_001dd5d0:\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\nLAB_001dd5d4:\n                  uVar24 = (*pcVar21)(7);\n                  if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n                     (pcVar21 = *(code **)(puVar20 + 0x1cbe04), (uint)uVar24 < 2)) {\nLAB_001dd7c0:\n                    (*pcVar21)(7);\n                    iVar4 = extraout_v1_00;\n                  }\n                  else {\n                    iVar4 = 2;\n                  }\n                }" (if "if") (parenthesized_expression "((int)((ulonglong)uVar24 >> 0x20) == 0)" (( "(") (binary_expression "(int)((ulonglong)uVar24 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar24 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar24 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar24 >> 0x20" (cast_expression "(ulonglong)uVar24" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar24")) (>> ">>") (number_literal "0x20")) () ")"))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  uVar24 = (*pcVar21)(7);\n                  if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001dd5d0;\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\n                  if (1 < (uint)uVar24) goto LAB_001dd5d4;\n                  iVar4 = 1;\n                }" ({ "{") (expression_statement "pcVar21 = *(code **)(puVar20 + 0x1cbe04);" (assignment_expression "pcVar21 = *(code **)(puVar20 + 0x1cbe04)" (identifier "pcVar21") (= "=") (pointer_expression "*(code **)(puVar20 + 0x1cbe04)" (* "*") (cast_expression "(code **)(puVar20 + 0x1cbe04)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + 0x1cbe04)" (( "(") (binary_expression "puVar20 + 0x1cbe04" (identifier "puVar20") (+ "+") (number_literal "0x1cbe04")) () ")"))))) (; ";")) (if_statement "if (1 < (uint)uVar24) goto LAB_001dd5d4;" (if "if") (parenthesized_expression "(1 < (uint)uVar24)" (( "(") (binary_expression "1 < (uint)uVar24" (number_literal "1") (< "<") (cast_expression "(uint)uVar24" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar24"))) () ")")) (goto_statement "goto LAB_001dd5d4;" (goto "goto") (statement_identifier "LAB_001dd5d4") (; ";"))) (expression_statement "uVar24 = (*pcVar21)(7);" (assignment_expression "uVar24 = (*pcVar21)(7)" (identifier "uVar24") (= "=") (call_expression "(*pcVar21)(7)" (parenthesized_expression "(*pcVar21)" (( "(") (pointer_expression "*pcVar21" (* "*") (identifier "pcVar21")) () ")")) (argument_list "(7)" (( "(") (number_literal "7") () ")")))) (; ";")) (if_statement "if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001dd5d0;" (if "if") (parenthesized_expression "((int)((ulonglong)uVar24 >> 0x20) != 0)" (( "(") (binary_expression "(int)((ulonglong)uVar24 >> 0x20) != 0" (cast_expression "(int)((ulonglong)uVar24 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar24 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar24 >> 0x20" (cast_expression "(ulonglong)uVar24" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar24")) (>> ">>") (number_literal "0x20")) () ")"))) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_001dd5d0;" (goto "goto") (statement_identifier "LAB_001dd5d0") (; ";"))) (expression_statement "pcVar21 = *(code **)(puVar20 + 0x1cbe04);" (assignment_expression "pcVar21 = *(code **)(puVar20 + 0x1cbe04)" (identifier "pcVar21") (= "=") (pointer_expression "*(code **)(puVar20 + 0x1cbe04)" (* "*") (cast_expression "(code **)(puVar20 + 0x1cbe04)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + 0x1cbe04)" (( "(") (binary_expression "puVar20 + 0x1cbe04" (identifier "puVar20") (+ "+") (number_literal "0x1cbe04")) () ")"))))) (; ";")) (if_statement "if (1 < (uint)uVar24) goto LAB_001dd5d4;" (if "if") (parenthesized_expression "(1 < (uint)uVar24)" (( "(") (binary_expression "1 < (uint)uVar24" (number_literal "1") (< "<") (cast_expression "(uint)uVar24" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar24"))) () ")")) (goto_statement "goto LAB_001dd5d4;" (goto "goto") (statement_identifier "LAB_001dd5d4") (; ";"))) (expression_statement "iVar4 = 1;" (assignment_expression "iVar4 = 1" (identifier "iVar4") (= "=") (number_literal "1")) (; ";")) (} "}")) (else_clause "else {\nLAB_001dd5d0:\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\nLAB_001dd5d4:\n                  uVar24 = (*pcVar21)(7);\n                  if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n                     (pcVar21 = *(code **)(puVar20 + 0x1cbe04), (uint)uVar24 < 2)) {\nLAB_001dd7c0:\n                    (*pcVar21)(7);\n                    iVar4 = extraout_v1_00;\n                  }\n                  else {\n                    iVar4 = 2;\n                  }\n                }" (else "else") (compound_statement "{\nLAB_001dd5d0:\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);\nLAB_001dd5d4:\n                  uVar24 = (*pcVar21)(7);\n                  if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n                     (pcVar21 = *(code **)(puVar20 + 0x1cbe04), (uint)uVar24 < 2)) {\nLAB_001dd7c0:\n                    (*pcVar21)(7);\n                    iVar4 = extraout_v1_00;\n                  }\n                  else {\n                    iVar4 = 2;\n                  }\n                }" ({ "{") (labeled_statement "LAB_001dd5d0:\n                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);" (statement_identifier "LAB_001dd5d0") (: ":") (expression_statement "pcVar21 = *(code **)(puVar20 + 0x1cbe04);" (assignment_expression "pcVar21 = *(code **)(puVar20 + 0x1cbe04)" (identifier "pcVar21") (= "=") (pointer_expression "*(code **)(puVar20 + 0x1cbe04)" (* "*") (cast_expression "(code **)(puVar20 + 0x1cbe04)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + 0x1cbe04)" (( "(") (binary_expression "puVar20 + 0x1cbe04" (identifier "puVar20") (+ "+") (number_literal "0x1cbe04")) () ")"))))) (; ";"))) (labeled_statement "LAB_001dd5d4:\n                  uVar24 = (*pcVar21)(7);" (statement_identifier "LAB_001dd5d4") (: ":") (expression_statement "uVar24 = (*pcVar21)(7);" (assignment_expression "uVar24 = (*pcVar21)(7)" (identifier "uVar24") (= "=") (call_expression "(*pcVar21)(7)" (parenthesized_expression "(*pcVar21)" (( "(") (pointer_expression "*pcVar21" (* "*") (identifier "pcVar21")) () ")")) (argument_list "(7)" (( "(") (number_literal "7") () ")")))) (; ";"))) (if_statement "if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n                     (pcVar21 = *(code **)(puVar20 + 0x1cbe04), (uint)uVar24 < 2)) {\nLAB_001dd7c0:\n                    (*pcVar21)(7);\n                    iVar4 = extraout_v1_00;\n                  }\n                  else {\n                    iVar4 = 2;\n                  }" (if "if") (parenthesized_expression "(((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n                     (pcVar21 = *(code **)(puVar20 + 0x1cbe04), (uint)uVar24 < 2))" (( "(") (binary_expression "((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n                     (pcVar21 = *(code **)(puVar20 + 0x1cbe04), (uint)uVar24 < 2)" (parenthesized_expression "((int)((ulonglong)uVar24 >> 0x20) == 0)" (( "(") (binary_expression "(int)((ulonglong)uVar24 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar24 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar24 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar24 >> 0x20" (cast_expression "(ulonglong)uVar24" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar24")) (>> ">>") (number_literal "0x20")) () ")"))) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(pcVar21 = *(code **)(puVar20 + 0x1cbe04), (uint)uVar24 < 2)" (( "(") (comma_expression "pcVar21 = *(code **)(puVar20 + 0x1cbe04), (uint)uVar24 < 2" (assignment_expression "pcVar21 = *(code **)(puVar20 + 0x1cbe04)" (identifier "pcVar21") (= "=") (pointer_expression "*(code **)(puVar20 + 0x1cbe04)" (* "*") (cast_expression "(code **)(puVar20 + 0x1cbe04)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + 0x1cbe04)" (( "(") (binary_expression "puVar20 + 0x1cbe04" (identifier "puVar20") (+ "+") (number_literal "0x1cbe04")) () ")"))))) (, ",") (binary_expression "(uint)uVar24 < 2" (cast_expression "(uint)uVar24" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar24")) (< "<") (number_literal "2"))) () ")"))) () ")")) (compound_statement "{\nLAB_001dd7c0:\n                    (*pcVar21)(7);\n                    iVar4 = extraout_v1_00;\n                  }" ({ "{") (labeled_statement "LAB_001dd7c0:\n                    (*pcVar21)(7);" (statement_identifier "LAB_001dd7c0") (: ":") (expression_statement "(*pcVar21)(7);" (call_expression "(*pcVar21)(7)" (parenthesized_expression "(*pcVar21)" (( "(") (pointer_expression "*pcVar21" (* "*") (identifier "pcVar21")) () ")")) (argument_list "(7)" (( "(") (number_literal "7") () ")"))) (; ";"))) (expression_statement "iVar4 = extraout_v1_00;" (assignment_expression "iVar4 = extraout_v1_00" (identifier "iVar4") (= "=") (identifier "extraout_v1_00")) (; ";")) (} "}")) (else_clause "else {\n                    iVar4 = 2;\n                  }" (else "else") (compound_statement "{\n                    iVar4 = 2;\n                  }" ({ "{") (expression_statement "iVar4 = 2;" (assignment_expression "iVar4 = 2" (identifier "iVar4") (= "=") (number_literal "2")) (; ";")) (} "}")))) (} "}")))) (expression_statement "iVar11 = *(int *)(puVar20 + 0x1cb66c);" (assignment_expression "iVar11 = *(int *)(puVar20 + 0x1cb66c)" (identifier "iVar11") (= "=") (pointer_expression "*(int *)(puVar20 + 0x1cb66c)" (* "*") (cast_expression "(int *)(puVar20 + 0x1cb66c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 0x1cb66c)" (( "(") (binary_expression "puVar20 + 0x1cb66c" (identifier "puVar20") (+ "+") (number_literal "0x1cb66c")) () ")"))))) (; ";")) (} "}")))) (expression_statement "puStack_f8 = (undefined *)0x1;" (assignment_expression "puStack_f8 = (undefined *)0x1" (identifier "puStack_f8") (= "=") (cast_expression "(undefined *)0x1" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "puStack_f4 = &uStack_118;" (assignment_expression "puStack_f4 = &uStack_118" (identifier "puStack_f4") (= "=") (pointer_expression "&uStack_118" (& "&") (identifier "uStack_118"))) (; ";")) (expression_statement "puStack_110 = puVar10;" (assignment_expression "puStack_110 = puVar10" (identifier "puStack_110") (= "=") (identifier "puVar10")) (; ";")) (expression_statement "iStack_10c = iVar2;" (assignment_expression "iStack_10c = iVar2" (identifier "iStack_10c") (= "=") (identifier "iVar2")) (; ";")) (expression_statement "puStack_108 = puVar15;" (assignment_expression "puStack_108 = puVar15" (identifier "puStack_108") (= "=") (identifier "puVar15")) (; ";")) (expression_statement "puStack_104 = puVar13;" (assignment_expression "puStack_104 = puVar13" (identifier "puStack_104") (= "=") (identifier "puVar13")) (; ";")) (expression_statement "iStack_100 = iVar3;" (assignment_expression "iStack_100 = iVar3" (identifier "iStack_100") (= "=") (identifier "iVar3")) (; ";")) (expression_statement "puStack_fc = unaff_s6;" (assignment_expression "puStack_fc = unaff_s6" (identifier "puStack_fc") (= "=") (identifier "unaff_s6")) (; ";")) (expression_statement "(**(code **)(puVar20 + 0x1cbe60))(iVar11 + -0x43b4,&puStack_110,iVar4,0);" (call_expression "(**(code **)(puVar20 + 0x1cbe60))(iVar11 + -0x43b4,&puStack_110,iVar4,0)" (parenthesized_expression "(**(code **)(puVar20 + 0x1cbe60))" (( "(") (pointer_expression "**(code **)(puVar20 + 0x1cbe60)" (* "*") (pointer_expression "*(code **)(puVar20 + 0x1cbe60)" (* "*") (cast_expression "(code **)(puVar20 + 0x1cbe60)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + 0x1cbe60)" (( "(") (binary_expression "puVar20 + 0x1cbe60" (identifier "puVar20") (+ "+") (number_literal "0x1cbe60")) () ")"))))) () ")")) (argument_list "(iVar11 + -0x43b4,&puStack_110,iVar4,0)" (( "(") (binary_expression "iVar11 + -0x43b4" (identifier "iVar11") (+ "+") (number_literal "-0x43b4")) (, ",") (pointer_expression "&puStack_110" (& "&") (identifier "puStack_110")) (, ",") (identifier "iVar4") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "puVar15 = puStack_f8;" (assignment_expression "puVar15 = puStack_f8" (identifier "puVar15") (= "=") (identifier "puStack_f8")) (; ";")) (expression_statement "(**(code **)(puVar20 + 0x1cbbbc))(puVar13);" (call_expression "(**(code **)(puVar20 + 0x1cbbbc))(puVar13)" (parenthesized_expression "(**(code **)(puVar20 + 0x1cbbbc))" (( "(") (pointer_expression "**(code **)(puVar20 + 0x1cbbbc)" (* "*") (pointer_expression "*(code **)(puVar20 + 0x1cbbbc)" (* "*") (cast_expression "(code **)(puVar20 + 0x1cbbbc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + 0x1cbbbc)" (( "(") (binary_expression "puVar20 + 0x1cbbbc" (identifier "puVar20") (+ "+") (number_literal "0x1cbbbc")) () ")"))))) () ")")) (argument_list "(puVar13)" (( "(") (identifier "puVar13") () ")"))) (; ";")) (if_statement "if (puVar15 == (undefined *)0x0) {\n                in_stack_00000018 = (**(code **)(puVar20 + 0x1cbc14))(iVar3);\n              }" (if "if") (parenthesized_expression "(puVar15 == (undefined *)0x0)" (( "(") (binary_expression "puVar15 == (undefined *)0x0" (identifier "puVar15") (== "==") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                in_stack_00000018 = (**(code **)(puVar20 + 0x1cbc14))(iVar3);\n              }" ({ "{") (expression_statement "in_stack_00000018 = (**(code **)(puVar20 + 0x1cbc14))(iVar3);" (assignment_expression "in_stack_00000018 = (**(code **)(puVar20 + 0x1cbc14))(iVar3)" (identifier "in_stack_00000018") (= "=") (call_expression "(**(code **)(puVar20 + 0x1cbc14))(iVar3)" (parenthesized_expression "(**(code **)(puVar20 + 0x1cbc14))" (( "(") (pointer_expression "**(code **)(puVar20 + 0x1cbc14)" (* "*") (pointer_expression "*(code **)(puVar20 + 0x1cbc14)" (* "*") (cast_expression "(code **)(puVar20 + 0x1cbc14)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + 0x1cbc14)" (( "(") (binary_expression "puVar20 + 0x1cbc14" (identifier "puVar20") (+ "+") (number_literal "0x1cbc14")) () ")"))))) () ")")) (argument_list "(iVar3)" (( "(") (identifier "iVar3") () ")")))) (; ";")) (} "}"))) (} "}"))) (} "}")))) (} "}"))) (expression_statement "unaff_s1 = puVar15;" (assignment_expression "unaff_s1 = puVar15" (identifier "unaff_s1") (= "=") (identifier "puVar15")) (; ";")) (expression_statement "unaff_s3 = iVar2;" (assignment_expression "unaff_s3 = iVar2" (identifier "unaff_s3") (= "=") (identifier "iVar2")) (; ";")) (expression_statement "unaff_s5 = puVar13;" (assignment_expression "unaff_s5 = puVar13" (identifier "unaff_s5") (= "=") (identifier "puVar13")) (; ";")) (if_statement "if (iStack_6c == *piVar18) {\n          return in_stack_00000018;\n        }" (if "if") (parenthesized_expression "(iStack_6c == *piVar18)" (( "(") (binary_expression "iStack_6c == *piVar18" (identifier "iStack_6c") (== "==") (pointer_expression "*piVar18" (* "*") (identifier "piVar18"))) () ")")) (compound_statement "{\n          return in_stack_00000018;\n        }" ({ "{") (return_statement "return in_stack_00000018;" (return "return") (identifier "in_stack_00000018") (; ";")) (} "}"))) (goto_statement "goto LAB_001dd890;" (goto "goto") (statement_identifier "LAB_001dd890") (; ";")) (} "}"))) (goto_statement "goto LAB_001dd8c0;" (goto "goto") (statement_identifier "LAB_001dd8c0") (; ";")) (} "}"))) (} "}")))) (expression_statement "iVar4 = 0x23c;" (assignment_expression "iVar4 = 0x23c" (identifier "iVar4") (= "=") (number_literal "0x23c")) (; ";")) (expression_statement "pcVar21 = *(code **)(puVar20 + 0x1cc2d0);" (assignment_expression "pcVar21 = *(code **)(puVar20 + 0x1cc2d0)" (identifier "pcVar21") (= "=") (pointer_expression "*(code **)(puVar20 + 0x1cc2d0)" (* "*") (cast_expression "(code **)(puVar20 + 0x1cc2d0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + 0x1cc2d0)" (( "(") (binary_expression "puVar20 + 0x1cc2d0" (identifier "puVar20") (+ "+") (number_literal "0x1cc2d0")) () ")"))))) (; ";")) (expression_statement "iVar3 = *(int *)(puVar20 + 0x1cb5b4) + -0x12ec;" (assignment_expression "iVar3 = *(int *)(puVar20 + 0x1cb5b4) + -0x12ec" (identifier "iVar3") (= "=") (binary_expression "*(int *)(puVar20 + 0x1cb5b4) + -0x12ec" (pointer_expression "*(int *)(puVar20 + 0x1cb5b4)" (* "*") (cast_expression "(int *)(puVar20 + 0x1cb5b4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 0x1cb5b4)" (( "(") (binary_expression "puVar20 + 0x1cb5b4" (identifier "puVar20") (+ "+") (number_literal "0x1cb5b4")) () ")")))) (+ "+") (number_literal "-0x12ec"))) (; ";")) (expression_statement "puVar12 = (undefined1 *)(*(int *)(puVar20 + 0x1cb5a8) + 0x1cac);" (assignment_expression "puVar12 = (undefined1 *)(*(int *)(puVar20 + 0x1cb5a8) + 0x1cac)" (identifier "puVar12") (= "=") (cast_expression "(undefined1 *)(*(int *)(puVar20 + 0x1cb5a8) + 0x1cac)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar20 + 0x1cb5a8) + 0x1cac)" (( "(") (binary_expression "*(int *)(puVar20 + 0x1cb5a8) + 0x1cac" (pointer_expression "*(int *)(puVar20 + 0x1cb5a8)" (* "*") (cast_expression "(int *)(puVar20 + 0x1cb5a8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 0x1cb5a8)" (( "(") (binary_expression "puVar20 + 0x1cb5a8" (identifier "puVar20") (+ "+") (number_literal "0x1cb5a8")) () ")")))) (+ "+") (number_literal "0x1cac")) () ")")))) (; ";")) (expression_statement "(*pcVar21)();" (call_expression "(*pcVar21)()" (parenthesized_expression "(*pcVar21)" (( "(") (pointer_expression "*pcVar21" (* "*") (identifier "pcVar21")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "piVar6 = *(int **)(pcVar21 + 0x1cb928);" (assignment_expression "piVar6 = *(int **)(pcVar21 + 0x1cb928)" (identifier "piVar6") (= "=") (pointer_expression "*(int **)(pcVar21 + 0x1cb928)" (* "*") (cast_expression "(int **)(pcVar21 + 0x1cb928)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar21 + 0x1cb928)" (( "(") (binary_expression "pcVar21 + 0x1cb928" (identifier "pcVar21") (+ "+") (number_literal "0x1cb928")) () ")"))))) (; ";")) (expression_statement "iStack_16c = *piVar6;" (assignment_expression "iStack_16c = *piVar6" (identifier "iStack_16c") (= "=") (pointer_expression "*piVar6" (* "*") (identifier "piVar6"))) (; ";")) (expression_statement "iStack_168 = in_stack_00000018;" (assignment_expression "iStack_168 = in_stack_00000018" (identifier "iStack_168") (= "=") (identifier "in_stack_00000018")) (; ";")) (expression_statement "puStack_164 = puVar15;" (assignment_expression "puStack_164 = puVar15" (identifier "puStack_164") (= "=") (identifier "puVar15")) (; ";")) (expression_statement "puStack_160 = puVar10;" (assignment_expression "puStack_160 = puVar10" (identifier "puStack_160") (= "=") (identifier "puVar10")) (; ";")) (expression_statement "iStack_15c = iVar2;" (assignment_expression "iStack_15c = iVar2" (identifier "iStack_15c") (= "=") (identifier "iVar2")) (; ";")) (expression_statement "piStack_158 = piVar18;" (assignment_expression "piStack_158 = piVar18" (identifier "piStack_158") (= "=") (identifier "piVar18")) (; ";")) (expression_statement "puStack_154 = puVar13;" (assignment_expression "puStack_154 = puVar13" (identifier "puStack_154") (= "=") (identifier "puVar13")) (; ";")) (expression_statement "puStack_150 = unaff_s6;" (assignment_expression "puStack_150 = unaff_s6" (identifier "puStack_150") (= "=") (identifier "unaff_s6")) (; ";")) (expression_statement "(**(code **)(pcVar21 + 0x1cbdcc))(auStack_1290,0,0x120);" (call_expression "(**(code **)(pcVar21 + 0x1cbdcc))(auStack_1290,0,0x120)" (parenthesized_expression "(**(code **)(pcVar21 + 0x1cbdcc))" (( "(") (pointer_expression "**(code **)(pcVar21 + 0x1cbdcc)" (* "*") (pointer_expression "*(code **)(pcVar21 + 0x1cbdcc)" (* "*") (cast_expression "(code **)(pcVar21 + 0x1cbdcc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar21 + 0x1cbdcc)" (( "(") (binary_expression "pcVar21 + 0x1cbdcc" (identifier "pcVar21") (+ "+") (number_literal "0x1cbdcc")) () ")"))))) () ")")) (argument_list "(auStack_1290,0,0x120)" (( "(") (identifier "auStack_1290") (, ",") (number_literal "0") (, ",") (number_literal "0x120") () ")"))) (; ";")) (expression_statement "auStack_1290[0] = *(undefined8 *)(*(int *)(pcVar21 + 0x1cafd8) + 0x1438);" (assignment_expression "auStack_1290[0] = *(undefined8 *)(*(int *)(pcVar21 + 0x1cafd8) + 0x1438)" (subscript_expression "auStack_1290[0]" (identifier "auStack_1290") ([ "[") (number_literal "0") (] "]")) (= "=") (pointer_expression "*(undefined8 *)(*(int *)(pcVar21 + 0x1cafd8) + 0x1438)" (* "*") (cast_expression "(undefined8 *)(*(int *)(pcVar21 + 0x1cafd8) + 0x1438)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar21 + 0x1cafd8) + 0x1438)" (( "(") (binary_expression "*(int *)(pcVar21 + 0x1cafd8) + 0x1438" (pointer_expression "*(int *)(pcVar21 + 0x1cafd8)" (* "*") (cast_expression "(int *)(pcVar21 + 0x1cafd8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar21 + 0x1cafd8)" (( "(") (binary_expression "pcVar21 + 0x1cafd8" (identifier "pcVar21") (+ "+") (number_literal "0x1cafd8")) () ")")))) (+ "+") (number_literal "0x1438")) () ")"))))) (; ";")) (expression_statement "uStack_1258 = auStack_1290[0];" (assignment_expression "uStack_1258 = auStack_1290[0]" (identifier "uStack_1258") (= "=") (subscript_expression "auStack_1290[0]" (identifier "auStack_1290") ([ "[") (number_literal "0") (] "]"))) (; ";")) (expression_statement "uStack_1220 = auStack_1290[0];" (assignment_expression "uStack_1220 = auStack_1290[0]" (identifier "uStack_1220") (= "=") (subscript_expression "auStack_1290[0]" (identifier "auStack_1290") ([ "[") (number_literal "0") (] "]"))) (; ";")) (expression_statement "uStack_11e8 = auStack_1290[0];" (assignment_expression "uStack_11e8 = auStack_1290[0]" (identifier "uStack_11e8") (= "=") (subscript_expression "auStack_1290[0]" (identifier "auStack_1290") ([ "[") (number_literal "0") (] "]"))) (; ";")) (expression_statement "uStack_11b0 = auStack_1290[0];" (assignment_expression "uStack_11b0 = auStack_1290[0]" (identifier "uStack_11b0") (= "=") (subscript_expression "auStack_1290[0]" (identifier "auStack_1290") ([ "[") (number_literal "0") (] "]"))) (; ";")) (expression_statement "uStack_1178 = auStack_1290[0];" (assignment_expression "uStack_1178 = auStack_1290[0]" (identifier "uStack_1178") (= "=") (subscript_expression "auStack_1290[0]" (identifier "auStack_1290") ([ "[") (number_literal "0") (] "]"))) (; ";")) (if_statement "if (puVar12 == (undefined1 *)0x0) {\n    iVar2 = (**(code **)(pcVar21 + 0x1cbd00))\n                      (*(int *)(pcVar21 + 0x1cafd8) + 0xdd0,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,\n                       0x2f9,*(int *)(pcVar21 + 0x1cafe4) + -0xf20);\n    return iVar2;\n  }" (if "if") (parenthesized_expression "(puVar12 == (undefined1 *)0x0)" (( "(") (binary_expression "puVar12 == (undefined1 *)0x0" (identifier "puVar12") (== "==") (cast_expression "(undefined1 *)0x0" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    iVar2 = (**(code **)(pcVar21 + 0x1cbd00))\n                      (*(int *)(pcVar21 + 0x1cafd8) + 0xdd0,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,\n                       0x2f9,*(int *)(pcVar21 + 0x1cafe4) + -0xf20);\n    return iVar2;\n  }" ({ "{") (expression_statement "iVar2 = (**(code **)(pcVar21 + 0x1cbd00))\n                      (*(int *)(pcVar21 + 0x1cafd8) + 0xdd0,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,\n                       0x2f9,*(int *)(pcVar21 + 0x1cafe4) + -0xf20);" (assignment_expression "iVar2 = (**(code **)(pcVar21 + 0x1cbd00))\n                      (*(int *)(pcVar21 + 0x1cafd8) + 0xdd0,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,\n                       0x2f9,*(int *)(pcVar21 + 0x1cafe4) + -0xf20)" (identifier "iVar2") (= "=") (call_expression "(**(code **)(pcVar21 + 0x1cbd00))\n                      (*(int *)(pcVar21 + 0x1cafd8) + 0xdd0,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,\n                       0x2f9,*(int *)(pcVar21 + 0x1cafe4) + -0xf20)" (parenthesized_expression "(**(code **)(pcVar21 + 0x1cbd00))" (( "(") (pointer_expression "**(code **)(pcVar21 + 0x1cbd00)" (* "*") (pointer_expression "*(code **)(pcVar21 + 0x1cbd00)" (* "*") (cast_expression "(code **)(pcVar21 + 0x1cbd00)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar21 + 0x1cbd00)" (( "(") (binary_expression "pcVar21 + 0x1cbd00" (identifier "pcVar21") (+ "+") (number_literal "0x1cbd00")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar21 + 0x1cafd8) + 0xdd0,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,\n                       0x2f9,*(int *)(pcVar21 + 0x1cafe4) + -0xf20)" (( "(") (binary_expression "*(int *)(pcVar21 + 0x1cafd8) + 0xdd0" (pointer_expression "*(int *)(pcVar21 + 0x1cafd8)" (* "*") (cast_expression "(int *)(pcVar21 + 0x1cafd8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar21 + 0x1cafd8)" (( "(") (binary_expression "pcVar21 + 0x1cafd8" (identifier "pcVar21") (+ "+") (number_literal "0x1cafd8")) () ")")))) (+ "+") (number_literal "0xdd0")) (, ",") (binary_expression "*(int *)(pcVar21 + 0x1cafe4) + -0x12ec" (pointer_expression "*(int *)(pcVar21 + 0x1cafe4)" (* "*") (cast_expression "(int *)(pcVar21 + 0x1cafe4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar21 + 0x1cafe4)" (( "(") (binary_expression "pcVar21 + 0x1cafe4" (identifier "pcVar21") (+ "+") (number_literal "0x1cafe4")) () ")")))) (+ "+") (number_literal "-0x12ec")) (, ",") (number_literal "0x2f9") (, ",") (binary_expression "*(int *)(pcVar21 + 0x1cafe4) + -0xf20" (pointer_expression "*(int *)(pcVar21 + 0x1cafe4)" (* "*") (cast_expression "(int *)(pcVar21 + 0x1cafe4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar21 + 0x1cafe4)" (( "(") (binary_expression "pcVar21 + 0x1cafe4" (identifier "pcVar21") (+ "+") (number_literal "0x1cafe4")) () ")")))) (+ "+") (number_literal "-0xf20")) () ")")))) (; ";")) (return_statement "return iVar2;" (return "return") (identifier "iVar2") (; ";")) (} "}"))) (expression_statement "iVar2 = *(int *)(pcVar21 + 0x1cafe4);" (assignment_expression "iVar2 = *(int *)(pcVar21 + 0x1cafe4)" (identifier "iVar2") (= "=") (pointer_expression "*(int *)(pcVar21 + 0x1cafe4)" (* "*") (cast_expression "(int *)(pcVar21 + 0x1cafe4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar21 + 0x1cafe4)" (( "(") (binary_expression "pcVar21 + 0x1cafe4" (identifier "pcVar21") (+ "+") (number_literal "0x1cafe4")) () ")"))))) (; ";")) (if_statement "if (*(int *)(puVar12 + 0x336c) != -0x54535255) goto LAB_001ddf28;" (if "if") (parenthesized_expression "(*(int *)(puVar12 + 0x336c) != -0x54535255)" (( "(") (binary_expression "*(int *)(puVar12 + 0x336c) != -0x54535255" (pointer_expression "*(int *)(puVar12 + 0x336c)" (* "*") (cast_expression "(int *)(puVar12 + 0x336c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar12 + 0x336c)" (( "(") (binary_expression "puVar12 + 0x336c" (identifier "puVar12") (+ "+") (number_literal "0x336c")) () ")")))) (!= "!=") (number_literal "-0x54535255")) () ")")) (goto_statement "goto LAB_001ddf28;" (goto "goto") (statement_identifier "LAB_001ddf28") (; ";"))) (if_statement "if (*(int *)(puVar12 + 0x3350) != 0) {\n    (**(code **)(pcVar21 + 0x1cb8d8))\n              (0x8000,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,*(int *)(pcVar21 + 0x1cafe4) + -0xf34,\n               0x2fc,*(int *)(pcVar21 + 0x1cafdc) + -0x62ac,puVar12 + 0x340);\n  }" (if "if") (parenthesized_expression "(*(int *)(puVar12 + 0x3350) != 0)" (( "(") (binary_expression "*(int *)(puVar12 + 0x3350) != 0" (pointer_expression "*(int *)(puVar12 + 0x3350)" (* "*") (cast_expression "(int *)(puVar12 + 0x3350)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar12 + 0x3350)" (( "(") (binary_expression "puVar12 + 0x3350" (identifier "puVar12") (+ "+") (number_literal "0x3350")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    (**(code **)(pcVar21 + 0x1cb8d8))\n              (0x8000,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,*(int *)(pcVar21 + 0x1cafe4) + -0xf34,\n               0x2fc,*(int *)(pcVar21 + 0x1cafdc) + -0x62ac,puVar12 + 0x340);\n  }" ({ "{") (expression_statement "(**(code **)(pcVar21 + 0x1cb8d8))\n              (0x8000,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,*(int *)(pcVar21 + 0x1cafe4) + -0xf34,\n               0x2fc,*(int *)(pcVar21 + 0x1cafdc) + -0x62ac,puVar12 + 0x340);" (call_expression "(**(code **)(pcVar21 + 0x1cb8d8))\n              (0x8000,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,*(int *)(pcVar21 + 0x1cafe4) + -0xf34,\n               0x2fc,*(int *)(pcVar21 + 0x1cafdc) + -0x62ac,puVar12 + 0x340)" (parenthesized_expression "(**(code **)(pcVar21 + 0x1cb8d8))" (( "(") (pointer_expression "**(code **)(pcVar21 + 0x1cb8d8)" (* "*") (pointer_expression "*(code **)(pcVar21 + 0x1cb8d8)" (* "*") (cast_expression "(code **)(pcVar21 + 0x1cb8d8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar21 + 0x1cb8d8)" (( "(") (binary_expression "pcVar21 + 0x1cb8d8" (identifier "pcVar21") (+ "+") (number_literal "0x1cb8d8")) () ")"))))) () ")")) (argument_list "(0x8000,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,*(int *)(pcVar21 + 0x1cafe4) + -0xf34,\n               0x2fc,*(int *)(pcVar21 + 0x1cafdc) + -0x62ac,puVar12 + 0x340)" (( "(") (number_literal "0x8000") (, ",") (binary_expression "*(int *)(pcVar21 + 0x1cafe4) + -0x12ec" (pointer_expression "*(int *)(pcVar21 + 0x1cafe4)" (* "*") (cast_expression "(int *)(pcVar21 + 0x1cafe4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar21 + 0x1cafe4)" (( "(") (binary_expression "pcVar21 + 0x1cafe4" (identifier "pcVar21") (+ "+") (number_literal "0x1cafe4")) () ")")))) (+ "+") (number_literal "-0x12ec")) (, ",") (binary_expression "*(int *)(pcVar21 + 0x1cafe4) + -0xf34" (pointer_expression "*(int *)(pcVar21 + 0x1cafe4)" (* "*") (cast_expression "(int *)(pcVar21 + 0x1cafe4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar21 + 0x1cafe4)" (( "(") (binary_expression "pcVar21 + 0x1cafe4" (identifier "pcVar21") (+ "+") (number_literal "0x1cafe4")) () ")")))) (+ "+") (number_literal "-0xf34")) (, ",") (number_literal "0x2fc") (, ",") (binary_expression "*(int *)(pcVar21 + 0x1cafdc) + -0x62ac" (pointer_expression "*(int *)(pcVar21 + 0x1cafdc)" (* "*") (cast_expression "(int *)(pcVar21 + 0x1cafdc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar21 + 0x1cafdc)" (( "(") (binary_expression "pcVar21 + 0x1cafdc" (identifier "pcVar21") (+ "+") (number_literal "0x1cafdc")) () ")")))) (+ "+") (number_literal "-0x62ac")) (, ",") (binary_expression "puVar12 + 0x340" (identifier "puVar12") (+ "+") (number_literal "0x340")) () ")"))) (; ";")) (} "}"))) (if_statement "if (iVar4 == 0) {\n    iVar2 = (**(code **)(pcVar21 + 0x1cbd00))\n                      (*(int *)(pcVar21 + 0x1cafd8) + 0x1cac,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,\n                       0x2fd,*(int *)(pcVar21 + 0x1cafe4) + -0xf20);\n    return iVar2;\n  }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    iVar2 = (**(code **)(pcVar21 + 0x1cbd00))\n                      (*(int *)(pcVar21 + 0x1cafd8) + 0x1cac,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,\n                       0x2fd,*(int *)(pcVar21 + 0x1cafe4) + -0xf20);\n    return iVar2;\n  }" ({ "{") (expression_statement "iVar2 = (**(code **)(pcVar21 + 0x1cbd00))\n                      (*(int *)(pcVar21 + 0x1cafd8) + 0x1cac,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,\n                       0x2fd,*(int *)(pcVar21 + 0x1cafe4) + -0xf20);" (assignment_expression "iVar2 = (**(code **)(pcVar21 + 0x1cbd00))\n                      (*(int *)(pcVar21 + 0x1cafd8) + 0x1cac,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,\n                       0x2fd,*(int *)(pcVar21 + 0x1cafe4) + -0xf20)" (identifier "iVar2") (= "=") (call_expression "(**(code **)(pcVar21 + 0x1cbd00))\n                      (*(int *)(pcVar21 + 0x1cafd8) + 0x1cac,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,\n                       0x2fd,*(int *)(pcVar21 + 0x1cafe4) + -0xf20)" (parenthesized_expression "(**(code **)(pcVar21 + 0x1cbd00))" (( "(") (pointer_expression "**(code **)(pcVar21 + 0x1cbd00)" (* "*") (pointer_expression "*(code **)(pcVar21 + 0x1cbd00)" (* "*") (cast_expression "(code **)(pcVar21 + 0x1cbd00)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar21 + 0x1cbd00)" (( "(") (binary_expression "pcVar21 + 0x1cbd00" (identifier "pcVar21") (+ "+") (number_literal "0x1cbd00")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar21 + 0x1cafd8) + 0x1cac,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,\n                       0x2fd,*(int *)(pcVar21 + 0x1cafe4) + -0xf20)" (( "(") (binary_expression "*(int *)(pcVar21 + 0x1cafd8) + 0x1cac" (pointer_expression "*(int *)(pcVar21 + 0x1cafd8)" (* "*") (cast_expression "(int *)(pcVar21 + 0x1cafd8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar21 + 0x1cafd8)" (( "(") (binary_expression "pcVar21 + 0x1cafd8" (identifier "pcVar21") (+ "+") (number_literal "0x1cafd8")) () ")")))) (+ "+") (number_literal "0x1cac")) (, ",") (binary_expression "*(int *)(pcVar21 + 0x1cafe4) + -0x12ec" (pointer_expression "*(int *)(pcVar21 + 0x1cafe4)" (* "*") (cast_expression "(int *)(pcVar21 + 0x1cafe4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar21 + 0x1cafe4)" (( "(") (binary_expression "pcVar21 + 0x1cafe4" (identifier "pcVar21") (+ "+") (number_literal "0x1cafe4")) () ")")))) (+ "+") (number_literal "-0x12ec")) (, ",") (number_literal "0x2fd") (, ",") (binary_expression "*(int *)(pcVar21 + 0x1cafe4) + -0xf20" (pointer_expression "*(int *)(pcVar21 + 0x1cafe4)" (* "*") (cast_expression "(int *)(pcVar21 + 0x1cafe4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar21 + 0x1cafe4)" (( "(") (binary_expression "pcVar21 + 0x1cafe4" (identifier "pcVar21") (+ "+") (number_literal "0x1cafe4")) () ")")))) (+ "+") (number_literal "-0xf20")) () ")")))) (; ";")) (return_statement "return iVar2;" (return "return") (identifier "iVar2") (; ";")) (} "}"))) (if_statement "if (*(int *)(iVar4 + 0x1c) != -0x54535255) {\n    iVar2 = (**(code **)(pcVar21 + 0x1cbd00))\n                      (*(int *)(pcVar21 + 0x1cafd8) + 0x294c,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,\n                       0x2fe,*(int *)(pcVar21 + 0x1cafe4) + -0xf20);\n    return iVar2;\n  }" (if "if") (parenthesized_expression "(*(int *)(iVar4 + 0x1c) != -0x54535255)" (( "(") (binary_expression "*(int *)(iVar4 + 0x1c) != -0x54535255" (pointer_expression "*(int *)(iVar4 + 0x1c)" (* "*") (cast_expression "(int *)(iVar4 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x1c)" (( "(") (binary_expression "iVar4 + 0x1c" (identifier "iVar4") (+ "+") (number_literal "0x1c")) () ")")))) (!= "!=") (number_literal "-0x54535255")) () ")")) (compound_statement "{\n    iVar2 = (**(code **)(pcVar21 + 0x1cbd00))\n                      (*(int *)(pcVar21 + 0x1cafd8) + 0x294c,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,\n                       0x2fe,*(int *)(pcVar21 + 0x1cafe4) + -0xf20);\n    return iVar2;\n  }" ({ "{") (expression_statement "iVar2 = (**(code **)(pcVar21 + 0x1cbd00))\n                      (*(int *)(pcVar21 + 0x1cafd8) + 0x294c,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,\n                       0x2fe,*(int *)(pcVar21 + 0x1cafe4) + -0xf20);" (assignment_expression "iVar2 = (**(code **)(pcVar21 + 0x1cbd00))\n                      (*(int *)(pcVar21 + 0x1cafd8) + 0x294c,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,\n                       0x2fe,*(int *)(pcVar21 + 0x1cafe4) + -0xf20)" (identifier "iVar2") (= "=") (call_expression "(**(code **)(pcVar21 + 0x1cbd00))\n                      (*(int *)(pcVar21 + 0x1cafd8) + 0x294c,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,\n                       0x2fe,*(int *)(pcVar21 + 0x1cafe4) + -0xf20)" (parenthesized_expression "(**(code **)(pcVar21 + 0x1cbd00))" (( "(") (pointer_expression "**(code **)(pcVar21 + 0x1cbd00)" (* "*") (pointer_expression "*(code **)(pcVar21 + 0x1cbd00)" (* "*") (cast_expression "(code **)(pcVar21 + 0x1cbd00)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar21 + 0x1cbd00)" (( "(") (binary_expression "pcVar21 + 0x1cbd00" (identifier "pcVar21") (+ "+") (number_literal "0x1cbd00")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar21 + 0x1cafd8) + 0x294c,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,\n                       0x2fe,*(int *)(pcVar21 + 0x1cafe4) + -0xf20)" (( "(") (binary_expression "*(int *)(pcVar21 + 0x1cafd8) + 0x294c" (pointer_expression "*(int *)(pcVar21 + 0x1cafd8)" (* "*") (cast_expression "(int *)(pcVar21 + 0x1cafd8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar21 + 0x1cafd8)" (( "(") (binary_expression "pcVar21 + 0x1cafd8" (identifier "pcVar21") (+ "+") (number_literal "0x1cafd8")) () ")")))) (+ "+") (number_literal "0x294c")) (, ",") (binary_expression "*(int *)(pcVar21 + 0x1cafe4) + -0x12ec" (pointer_expression "*(int *)(pcVar21 + 0x1cafe4)" (* "*") (cast_expression "(int *)(pcVar21 + 0x1cafe4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar21 + 0x1cafe4)" (( "(") (binary_expression "pcVar21 + 0x1cafe4" (identifier "pcVar21") (+ "+") (number_literal "0x1cafe4")) () ")")))) (+ "+") (number_literal "-0x12ec")) (, ",") (number_literal "0x2fe") (, ",") (binary_expression "*(int *)(pcVar21 + 0x1cafe4) + -0xf20" (pointer_expression "*(int *)(pcVar21 + 0x1cafe4)" (* "*") (cast_expression "(int *)(pcVar21 + 0x1cafe4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar21 + 0x1cafe4)" (( "(") (binary_expression "pcVar21 + 0x1cafe4" (identifier "pcVar21") (+ "+") (number_literal "0x1cafe4")) () ")")))) (+ "+") (number_literal "-0xf20")) () ")")))) (; ";")) (return_statement "return iVar2;" (return "return") (identifier "iVar2") (; ";")) (} "}"))) (expression_statement "iVar11 = *(int *)(iVar3 + 8);" (assignment_expression "iVar11 = *(int *)(iVar3 + 8)" (identifier "iVar11") (= "=") (pointer_expression "*(int *)(iVar3 + 8)" (* "*") (cast_expression "(int *)(iVar3 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 8)" (( "(") (binary_expression "iVar3 + 8" (identifier "iVar3") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" (identifier "iVar2") (= "=") (number_literal "0")) (; ";")) (if_statement "if (0 < iVar11) {\n    iVar14 = *(int *)(iVar3 + 4);\n    iVar17 = 0;\n    puVar16 = auStack_1290;\n    do {\n      if (0 < iVar14) {\n        iVar7 = 0;\n        do {\n          if ((iVar2 < 6) && (iVar7 < 6)) {\n            puVar16[iVar7] = *(undefined8 *)(*(int *)(iVar3 + 0x14) + (iVar17 + iVar7) * 8);\n          }\n          iVar7 = iVar7 + 1;\n        } while (iVar7 != iVar14);\n        iVar17 = iVar17 + iVar14;\n      }\n      iVar2 = iVar2 + 1;\n      puVar16 = puVar16 + 6;\n    } while (iVar2 != iVar11);\n  }" (if "if") (parenthesized_expression "(0 < iVar11)" (( "(") (binary_expression "0 < iVar11" (number_literal "0") (< "<") (identifier "iVar11")) () ")")) (compound_statement "{\n    iVar14 = *(int *)(iVar3 + 4);\n    iVar17 = 0;\n    puVar16 = auStack_1290;\n    do {\n      if (0 < iVar14) {\n        iVar7 = 0;\n        do {\n          if ((iVar2 < 6) && (iVar7 < 6)) {\n            puVar16[iVar7] = *(undefined8 *)(*(int *)(iVar3 + 0x14) + (iVar17 + iVar7) * 8);\n          }\n          iVar7 = iVar7 + 1;\n        } while (iVar7 != iVar14);\n        iVar17 = iVar17 + iVar14;\n      }\n      iVar2 = iVar2 + 1;\n      puVar16 = puVar16 + 6;\n    } while (iVar2 != iVar11);\n  }" ({ "{") (expression_statement "iVar14 = *(int *)(iVar3 + 4);" (assignment_expression "iVar14 = *(int *)(iVar3 + 4)" (identifier "iVar14") (= "=") (pointer_expression "*(int *)(iVar3 + 4)" (* "*") (cast_expression "(int *)(iVar3 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 4)" (( "(") (binary_expression "iVar3 + 4" (identifier "iVar3") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "iVar17 = 0;" (assignment_expression "iVar17 = 0" (identifier "iVar17") (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar16 = auStack_1290;" (assignment_expression "puVar16 = auStack_1290" (identifier "puVar16") (= "=") (identifier "auStack_1290")) (; ";")) (do_statement "do {\n      if (0 < iVar14) {\n        iVar7 = 0;\n        do {\n          if ((iVar2 < 6) && (iVar7 < 6)) {\n            puVar16[iVar7] = *(undefined8 *)(*(int *)(iVar3 + 0x14) + (iVar17 + iVar7) * 8);\n          }\n          iVar7 = iVar7 + 1;\n        } while (iVar7 != iVar14);\n        iVar17 = iVar17 + iVar14;\n      }\n      iVar2 = iVar2 + 1;\n      puVar16 = puVar16 + 6;\n    } while (iVar2 != iVar11);" (do "do") (compound_statement "{\n      if (0 < iVar14) {\n        iVar7 = 0;\n        do {\n          if ((iVar2 < 6) && (iVar7 < 6)) {\n            puVar16[iVar7] = *(undefined8 *)(*(int *)(iVar3 + 0x14) + (iVar17 + iVar7) * 8);\n          }\n          iVar7 = iVar7 + 1;\n        } while (iVar7 != iVar14);\n        iVar17 = iVar17 + iVar14;\n      }\n      iVar2 = iVar2 + 1;\n      puVar16 = puVar16 + 6;\n    }" ({ "{") (if_statement "if (0 < iVar14) {\n        iVar7 = 0;\n        do {\n          if ((iVar2 < 6) && (iVar7 < 6)) {\n            puVar16[iVar7] = *(undefined8 *)(*(int *)(iVar3 + 0x14) + (iVar17 + iVar7) * 8);\n          }\n          iVar7 = iVar7 + 1;\n        } while (iVar7 != iVar14);\n        iVar17 = iVar17 + iVar14;\n      }" (if "if") (parenthesized_expression "(0 < iVar14)" (( "(") (binary_expression "0 < iVar14" (number_literal "0") (< "<") (identifier "iVar14")) () ")")) (compound_statement "{\n        iVar7 = 0;\n        do {\n          if ((iVar2 < 6) && (iVar7 < 6)) {\n            puVar16[iVar7] = *(undefined8 *)(*(int *)(iVar3 + 0x14) + (iVar17 + iVar7) * 8);\n          }\n          iVar7 = iVar7 + 1;\n        } while (iVar7 != iVar14);\n        iVar17 = iVar17 + iVar14;\n      }" ({ "{") (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" (identifier "iVar7") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n          if ((iVar2 < 6) && (iVar7 < 6)) {\n            puVar16[iVar7] = *(undefined8 *)(*(int *)(iVar3 + 0x14) + (iVar17 + iVar7) * 8);\n          }\n          iVar7 = iVar7 + 1;\n        } while (iVar7 != iVar14);" (do "do") (compound_statement "{\n          if ((iVar2 < 6) && (iVar7 < 6)) {\n            puVar16[iVar7] = *(undefined8 *)(*(int *)(iVar3 + 0x14) + (iVar17 + iVar7) * 8);\n          }\n          iVar7 = iVar7 + 1;\n        }" ({ "{") (if_statement "if ((iVar2 < 6) && (iVar7 < 6)) {\n            puVar16[iVar7] = *(undefined8 *)(*(int *)(iVar3 + 0x14) + (iVar17 + iVar7) * 8);\n          }" (if "if") (parenthesized_expression "((iVar2 < 6) && (iVar7 < 6))" (( "(") (binary_expression "(iVar2 < 6) && (iVar7 < 6)" (parenthesized_expression "(iVar2 < 6)" (( "(") (binary_expression "iVar2 < 6" (identifier "iVar2") (< "<") (number_literal "6")) () ")")) (&& "&&") (parenthesized_expression "(iVar7 < 6)" (( "(") (binary_expression "iVar7 < 6" (identifier "iVar7") (< "<") (number_literal "6")) () ")"))) () ")")) (compound_statement "{\n            puVar16[iVar7] = *(undefined8 *)(*(int *)(iVar3 + 0x14) + (iVar17 + iVar7) * 8);\n          }" ({ "{") (expression_statement "puVar16[iVar7] = *(undefined8 *)(*(int *)(iVar3 + 0x14) + (iVar17 + iVar7) * 8);" (assignment_expression "puVar16[iVar7] = *(undefined8 *)(*(int *)(iVar3 + 0x14) + (iVar17 + iVar7) * 8)" (subscript_expression "puVar16[iVar7]" (identifier "puVar16") ([ "[") (identifier "iVar7") (] "]")) (= "=") (pointer_expression "*(undefined8 *)(*(int *)(iVar3 + 0x14) + (iVar17 + iVar7) * 8)" (* "*") (cast_expression "(undefined8 *)(*(int *)(iVar3 + 0x14) + (iVar17 + iVar7) * 8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar3 + 0x14) + (iVar17 + iVar7) * 8)" (( "(") (binary_expression "*(int *)(iVar3 + 0x14) + (iVar17 + iVar7) * 8" (pointer_expression "*(int *)(iVar3 + 0x14)" (* "*") (cast_expression "(int *)(iVar3 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x14)" (( "(") (binary_expression "iVar3 + 0x14" (identifier "iVar3") (+ "+") (number_literal "0x14")) () ")")))) (+ "+") (binary_expression "(iVar17 + iVar7) * 8" (parenthesized_expression "(iVar17 + iVar7)" (( "(") (binary_expression "iVar17 + iVar7" (identifier "iVar17") (+ "+") (identifier "iVar7")) () ")")) (* "*") (number_literal "8"))) () ")"))))) (; ";")) (} "}"))) (expression_statement "iVar7 = iVar7 + 1;" (assignment_expression "iVar7 = iVar7 + 1" (identifier "iVar7") (= "=") (binary_expression "iVar7 + 1" (identifier "iVar7") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar7 != iVar14)" (( "(") (binary_expression "iVar7 != iVar14" (identifier "iVar7") (!= "!=") (identifier "iVar14")) () ")")) (; ";")) (expression_statement "iVar17 = iVar17 + iVar14;" (assignment_expression "iVar17 = iVar17 + iVar14" (identifier "iVar17") (= "=") (binary_expression "iVar17 + iVar14" (identifier "iVar17") (+ "+") (identifier "iVar14"))) (; ";")) (} "}"))) (expression_statement "iVar2 = iVar2 + 1;" (assignment_expression "iVar2 = iVar2 + 1" (identifier "iVar2") (= "=") (binary_expression "iVar2 + 1" (identifier "iVar2") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "puVar16 = puVar16 + 6;" (assignment_expression "puVar16 = puVar16 + 6" (identifier "puVar16") (= "=") (binary_expression "puVar16 + 6" (identifier "puVar16") (+ "+") (number_literal "6"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar2 != iVar11)" (( "(") (binary_expression "iVar2 != iVar11" (identifier "iVar2") (!= "!=") (identifier "iVar11")) () ")")) (; ";")) (} "}"))) (expression_statement "iVar2 = 1;" (assignment_expression "iVar2 = 1" (identifier "iVar2") (= "=") (number_literal "1")) (; ";")) (expression_statement "iStack_12dc = (**(code **)(pcVar21 + 0x1cbf28))(puVar12,0,0,1,iVar4);" (assignment_expression "iStack_12dc = (**(code **)(pcVar21 + 0x1cbf28))(puVar12,0,0,1,iVar4)" (identifier "iStack_12dc") (= "=") (call_expression "(**(code **)(pcVar21 + 0x1cbf28))(puVar12,0,0,1,iVar4)" (parenthesized_expression "(**(code **)(pcVar21 + 0x1cbf28))" (( "(") (pointer_expression "**(code **)(pcVar21 + 0x1cbf28)" (* "*") (pointer_expression "*(code **)(pcVar21 + 0x1cbf28)" (* "*") (cast_expression "(code **)(pcVar21 + 0x1cbf28)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar21 + 0x1cbf28)" (( "(") (binary_expression "pcVar21 + 0x1cbf28" (identifier "pcVar21") (+ "+") (number_literal "0x1cbf28")) () ")"))))) () ")")) (argument_list "(puVar12,0,0,1,iVar4)" (( "(") (identifier "puVar12") (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (number_literal "1") (, ",") (identifier "iVar4") () ")")))) (; ";")) (if_statement "if (iStack_12dc != 0) {\n    iVar11 = (**(code **)(pcVar21 + 0x1cbf1c))(iStack_12dc,1,iVar4);\n    if (iVar11 == 0) {\n      (**(code **)(pcVar21 + 0x1cb644))(iStack_12dc);\n      iStack_12dc = 0;\n    }\n    else {\n      if (*(int *)(puVar12 + 0x3350) != 0) {\n        iVar17 = *(int *)(pcVar21 + 0x1cafe4);\n        iVar14 = *(int *)(pcVar21 + 0x1cafe4);\n        (**(code **)(pcVar21 + 0x1cb8d8))\n                  (0x10000,iVar14 + -0x12ec,iVar17 + -0xf34,0x318,\n                   *(int *)(pcVar21 + 0x1cafe4) + -0x12d0);\n        puStack_12b4 = (undefined1 *)\n                       (**(code **)(pcVar21 + 0x1cbf0c))(*(int *)(pcVar21 + 0x1cafdc) + -0x3688);\n        iStack_12e4 = 0;\n        iVar2 = *(int *)(pcVar21 + 0x1cafdc);\n        iVar7 = *(int *)(pcVar21 + 0x1cafe0);\n        iVar11 = *(int *)(pcVar21 + 0x1cafdc);\n        do {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb474);\n          iVar19 = 0;\n          *puStack_12b4 = 0;\n          (*pcVar22)(auStack_116c,0x1000,iVar11 + -0x66b8);\n          (**(code **)(pcVar21 + 0x1cbaa0))(&puStack_12b4,auStack_116c);\n          do {\n            iVar19 = iVar19 + 1;\n            (**(code **)(pcVar21 + 0x1cb474))(auStack_116c,0x1000,iVar7 + 0x4930);\n            (**(code **)(pcVar21 + 0x1cbaa0))(&puStack_12b4,auStack_116c);\n          } while (iVar19 != 6);\n          iStack_12e4 = iStack_12e4 + 1;\n          (**(code **)(pcVar21 + 0x1cb8d8))\n                    (0x10000,iVar14 + -0x12ec,iVar17 + -0xf34,0x326,iVar2 + -0x62ac,puStack_12b4);\n        } while (iStack_12e4 != 6);\n        (**(code **)(pcVar21 + 0x1cb76c))(puStack_12b4);\n      }\n      uStack_12bc = 0;\n      uStack_12c0 = 0;\n      uVar8 = (**(code **)(pcVar21 + 0x1cbe4c))(puVar12,iVar4);\n      uVar9 = (**(code **)(pcVar21 + 0x1cb5cc))(iStack_12dc,iVar4);\n      iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(puVar12);\n      if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(puVar12), iVar2 == 3)) &&\n         ((iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc), iVar2 == 3)))) {\n        (**(code **)(pcVar21 + 0x1cb834))(7);\n        iVar2 = *(int *)(puVar12 + 0x1c);\n        if (iVar2 < 0) {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if (iVar2 + 0x3f >> 6 <= extraout_v1_03) goto LAB_001ddc6c;\nLAB_001dde94:\n          (*pcVar22)(7);\n          bVar1 = extraout_v1_05 < 2;\n        }\n        else {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if (extraout_v1_03 < iVar2 >> 6) goto LAB_001dde94;\nLAB_001ddc6c:\n          bVar1 = iVar2 < 0x80;\n        }\n        iVar11 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar21 + 0x1cb834))(7);\n          iVar11 = *(int *)(puVar12 + 0x1c);\n          if (iVar11 < 0) {\n            iVar11 = iVar11 + 0x3f;\n          }\n          iVar11 = iVar11 >> 6;\n          if (extraout_v1_06 < iVar11) {\n            pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n            goto LAB_001dde6c;\n          }\n        }\n      }\n      else {\n        uVar24 = (**(code **)(pcVar21 + 0x1cb834))(7);\n        if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if ((uint)uVar24 < 2) {\n            uVar24 = (*pcVar22)(7);\n            if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001ddb28;\n            pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n            if (1 < (uint)uVar24) goto LAB_001ddb2c;\n            iVar11 = 1;\n            goto LAB_001ddb44;\n          }\n        }\n        else {\nLAB_001ddb28:\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n        }\nLAB_001ddb2c:\n        uVar24 = (*pcVar22)(7);\n        if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n           (pcVar22 = *(code **)(pcVar21 + 0x1cb834), (uint)uVar24 < 2)) {\nLAB_001dde6c:\n          (*pcVar22)(7);\n          iVar11 = extraout_v1_04;\n        }\n        else {\n          iVar11 = 2;\n        }\n      }\nLAB_001ddb44:\n      iVar2 = 0;\n      iStack_1298 = 1;\n      puStack_1294 = &uStack_12c0;\n      puStack_12b4 = puVar12;\n      iStack_12b0 = iVar3;\n      iStack_12ac = iVar4;\n      uStack_12a8 = uVar9;\n      uStack_12a4 = uVar8;\n      puStack_12a0 = auStack_1290;\n      iStack_129c = iStack_12dc;\n      (**(code **)(pcVar21 + 0x1cb890))\n                (*(int *)(pcVar21 + 0x1cb09c) + -0x71ec,&puStack_12b4,iVar11,0);\n      iVar3 = iStack_1298;\n      (**(code **)(pcVar21 + 0x1cb5ec))(uVar9);\n      (**(code **)(pcVar21 + 0x1cb5ec))(uVar8);\n      if (iVar3 == 0) {\n        iStack_12dc = (**(code **)(pcVar21 + 0x1cb644))(iStack_12dc);\n      }\n    }\n  }" (if "if") (parenthesized_expression "(iStack_12dc != 0)" (( "(") (binary_expression "iStack_12dc != 0" (identifier "iStack_12dc") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    iVar11 = (**(code **)(pcVar21 + 0x1cbf1c))(iStack_12dc,1,iVar4);\n    if (iVar11 == 0) {\n      (**(code **)(pcVar21 + 0x1cb644))(iStack_12dc);\n      iStack_12dc = 0;\n    }\n    else {\n      if (*(int *)(puVar12 + 0x3350) != 0) {\n        iVar17 = *(int *)(pcVar21 + 0x1cafe4);\n        iVar14 = *(int *)(pcVar21 + 0x1cafe4);\n        (**(code **)(pcVar21 + 0x1cb8d8))\n                  (0x10000,iVar14 + -0x12ec,iVar17 + -0xf34,0x318,\n                   *(int *)(pcVar21 + 0x1cafe4) + -0x12d0);\n        puStack_12b4 = (undefined1 *)\n                       (**(code **)(pcVar21 + 0x1cbf0c))(*(int *)(pcVar21 + 0x1cafdc) + -0x3688);\n        iStack_12e4 = 0;\n        iVar2 = *(int *)(pcVar21 + 0x1cafdc);\n        iVar7 = *(int *)(pcVar21 + 0x1cafe0);\n        iVar11 = *(int *)(pcVar21 + 0x1cafdc);\n        do {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb474);\n          iVar19 = 0;\n          *puStack_12b4 = 0;\n          (*pcVar22)(auStack_116c,0x1000,iVar11 + -0x66b8);\n          (**(code **)(pcVar21 + 0x1cbaa0))(&puStack_12b4,auStack_116c);\n          do {\n            iVar19 = iVar19 + 1;\n            (**(code **)(pcVar21 + 0x1cb474))(auStack_116c,0x1000,iVar7 + 0x4930);\n            (**(code **)(pcVar21 + 0x1cbaa0))(&puStack_12b4,auStack_116c);\n          } while (iVar19 != 6);\n          iStack_12e4 = iStack_12e4 + 1;\n          (**(code **)(pcVar21 + 0x1cb8d8))\n                    (0x10000,iVar14 + -0x12ec,iVar17 + -0xf34,0x326,iVar2 + -0x62ac,puStack_12b4);\n        } while (iStack_12e4 != 6);\n        (**(code **)(pcVar21 + 0x1cb76c))(puStack_12b4);\n      }\n      uStack_12bc = 0;\n      uStack_12c0 = 0;\n      uVar8 = (**(code **)(pcVar21 + 0x1cbe4c))(puVar12,iVar4);\n      uVar9 = (**(code **)(pcVar21 + 0x1cb5cc))(iStack_12dc,iVar4);\n      iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(puVar12);\n      if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(puVar12), iVar2 == 3)) &&\n         ((iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc), iVar2 == 3)))) {\n        (**(code **)(pcVar21 + 0x1cb834))(7);\n        iVar2 = *(int *)(puVar12 + 0x1c);\n        if (iVar2 < 0) {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if (iVar2 + 0x3f >> 6 <= extraout_v1_03) goto LAB_001ddc6c;\nLAB_001dde94:\n          (*pcVar22)(7);\n          bVar1 = extraout_v1_05 < 2;\n        }\n        else {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if (extraout_v1_03 < iVar2 >> 6) goto LAB_001dde94;\nLAB_001ddc6c:\n          bVar1 = iVar2 < 0x80;\n        }\n        iVar11 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar21 + 0x1cb834))(7);\n          iVar11 = *(int *)(puVar12 + 0x1c);\n          if (iVar11 < 0) {\n            iVar11 = iVar11 + 0x3f;\n          }\n          iVar11 = iVar11 >> 6;\n          if (extraout_v1_06 < iVar11) {\n            pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n            goto LAB_001dde6c;\n          }\n        }\n      }\n      else {\n        uVar24 = (**(code **)(pcVar21 + 0x1cb834))(7);\n        if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if ((uint)uVar24 < 2) {\n            uVar24 = (*pcVar22)(7);\n            if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001ddb28;\n            pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n            if (1 < (uint)uVar24) goto LAB_001ddb2c;\n            iVar11 = 1;\n            goto LAB_001ddb44;\n          }\n        }\n        else {\nLAB_001ddb28:\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n        }\nLAB_001ddb2c:\n        uVar24 = (*pcVar22)(7);\n        if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n           (pcVar22 = *(code **)(pcVar21 + 0x1cb834), (uint)uVar24 < 2)) {\nLAB_001dde6c:\n          (*pcVar22)(7);\n          iVar11 = extraout_v1_04;\n        }\n        else {\n          iVar11 = 2;\n        }\n      }\nLAB_001ddb44:\n      iVar2 = 0;\n      iStack_1298 = 1;\n      puStack_1294 = &uStack_12c0;\n      puStack_12b4 = puVar12;\n      iStack_12b0 = iVar3;\n      iStack_12ac = iVar4;\n      uStack_12a8 = uVar9;\n      uStack_12a4 = uVar8;\n      puStack_12a0 = auStack_1290;\n      iStack_129c = iStack_12dc;\n      (**(code **)(pcVar21 + 0x1cb890))\n                (*(int *)(pcVar21 + 0x1cb09c) + -0x71ec,&puStack_12b4,iVar11,0);\n      iVar3 = iStack_1298;\n      (**(code **)(pcVar21 + 0x1cb5ec))(uVar9);\n      (**(code **)(pcVar21 + 0x1cb5ec))(uVar8);\n      if (iVar3 == 0) {\n        iStack_12dc = (**(code **)(pcVar21 + 0x1cb644))(iStack_12dc);\n      }\n    }\n  }" ({ "{") (expression_statement "iVar11 = (**(code **)(pcVar21 + 0x1cbf1c))(iStack_12dc,1,iVar4);" (assignment_expression "iVar11 = (**(code **)(pcVar21 + 0x1cbf1c))(iStack_12dc,1,iVar4)" (identifier "iVar11") (= "=") (call_expression "(**(code **)(pcVar21 + 0x1cbf1c))(iStack_12dc,1,iVar4)" (parenthesized_expression "(**(code **)(pcVar21 + 0x1cbf1c))" (( "(") (pointer_expression "**(code **)(pcVar21 + 0x1cbf1c)" (* "*") (pointer_expression "*(code **)(pcVar21 + 0x1cbf1c)" (* "*") (cast_expression "(code **)(pcVar21 + 0x1cbf1c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar21 + 0x1cbf1c)" (( "(") (binary_expression "pcVar21 + 0x1cbf1c" (identifier "pcVar21") (+ "+") (number_literal "0x1cbf1c")) () ")"))))) () ")")) (argument_list "(iStack_12dc,1,iVar4)" (( "(") (identifier "iStack_12dc") (, ",") (number_literal "1") (, ",") (identifier "iVar4") () ")")))) (; ";")) (if_statement "if (iVar11 == 0) {\n      (**(code **)(pcVar21 + 0x1cb644))(iStack_12dc);\n      iStack_12dc = 0;\n    }\n    else {\n      if (*(int *)(puVar12 + 0x3350) != 0) {\n        iVar17 = *(int *)(pcVar21 + 0x1cafe4);\n        iVar14 = *(int *)(pcVar21 + 0x1cafe4);\n        (**(code **)(pcVar21 + 0x1cb8d8))\n                  (0x10000,iVar14 + -0x12ec,iVar17 + -0xf34,0x318,\n                   *(int *)(pcVar21 + 0x1cafe4) + -0x12d0);\n        puStack_12b4 = (undefined1 *)\n                       (**(code **)(pcVar21 + 0x1cbf0c))(*(int *)(pcVar21 + 0x1cafdc) + -0x3688);\n        iStack_12e4 = 0;\n        iVar2 = *(int *)(pcVar21 + 0x1cafdc);\n        iVar7 = *(int *)(pcVar21 + 0x1cafe0);\n        iVar11 = *(int *)(pcVar21 + 0x1cafdc);\n        do {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb474);\n          iVar19 = 0;\n          *puStack_12b4 = 0;\n          (*pcVar22)(auStack_116c,0x1000,iVar11 + -0x66b8);\n          (**(code **)(pcVar21 + 0x1cbaa0))(&puStack_12b4,auStack_116c);\n          do {\n            iVar19 = iVar19 + 1;\n            (**(code **)(pcVar21 + 0x1cb474))(auStack_116c,0x1000,iVar7 + 0x4930);\n            (**(code **)(pcVar21 + 0x1cbaa0))(&puStack_12b4,auStack_116c);\n          } while (iVar19 != 6);\n          iStack_12e4 = iStack_12e4 + 1;\n          (**(code **)(pcVar21 + 0x1cb8d8))\n                    (0x10000,iVar14 + -0x12ec,iVar17 + -0xf34,0x326,iVar2 + -0x62ac,puStack_12b4);\n        } while (iStack_12e4 != 6);\n        (**(code **)(pcVar21 + 0x1cb76c))(puStack_12b4);\n      }\n      uStack_12bc = 0;\n      uStack_12c0 = 0;\n      uVar8 = (**(code **)(pcVar21 + 0x1cbe4c))(puVar12,iVar4);\n      uVar9 = (**(code **)(pcVar21 + 0x1cb5cc))(iStack_12dc,iVar4);\n      iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(puVar12);\n      if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(puVar12), iVar2 == 3)) &&\n         ((iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc), iVar2 == 3)))) {\n        (**(code **)(pcVar21 + 0x1cb834))(7);\n        iVar2 = *(int *)(puVar12 + 0x1c);\n        if (iVar2 < 0) {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if (iVar2 + 0x3f >> 6 <= extraout_v1_03) goto LAB_001ddc6c;\nLAB_001dde94:\n          (*pcVar22)(7);\n          bVar1 = extraout_v1_05 < 2;\n        }\n        else {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if (extraout_v1_03 < iVar2 >> 6) goto LAB_001dde94;\nLAB_001ddc6c:\n          bVar1 = iVar2 < 0x80;\n        }\n        iVar11 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar21 + 0x1cb834))(7);\n          iVar11 = *(int *)(puVar12 + 0x1c);\n          if (iVar11 < 0) {\n            iVar11 = iVar11 + 0x3f;\n          }\n          iVar11 = iVar11 >> 6;\n          if (extraout_v1_06 < iVar11) {\n            pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n            goto LAB_001dde6c;\n          }\n        }\n      }\n      else {\n        uVar24 = (**(code **)(pcVar21 + 0x1cb834))(7);\n        if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if ((uint)uVar24 < 2) {\n            uVar24 = (*pcVar22)(7);\n            if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001ddb28;\n            pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n            if (1 < (uint)uVar24) goto LAB_001ddb2c;\n            iVar11 = 1;\n            goto LAB_001ddb44;\n          }\n        }\n        else {\nLAB_001ddb28:\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n        }\nLAB_001ddb2c:\n        uVar24 = (*pcVar22)(7);\n        if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n           (pcVar22 = *(code **)(pcVar21 + 0x1cb834), (uint)uVar24 < 2)) {\nLAB_001dde6c:\n          (*pcVar22)(7);\n          iVar11 = extraout_v1_04;\n        }\n        else {\n          iVar11 = 2;\n        }\n      }\nLAB_001ddb44:\n      iVar2 = 0;\n      iStack_1298 = 1;\n      puStack_1294 = &uStack_12c0;\n      puStack_12b4 = puVar12;\n      iStack_12b0 = iVar3;\n      iStack_12ac = iVar4;\n      uStack_12a8 = uVar9;\n      uStack_12a4 = uVar8;\n      puStack_12a0 = auStack_1290;\n      iStack_129c = iStack_12dc;\n      (**(code **)(pcVar21 + 0x1cb890))\n                (*(int *)(pcVar21 + 0x1cb09c) + -0x71ec,&puStack_12b4,iVar11,0);\n      iVar3 = iStack_1298;\n      (**(code **)(pcVar21 + 0x1cb5ec))(uVar9);\n      (**(code **)(pcVar21 + 0x1cb5ec))(uVar8);\n      if (iVar3 == 0) {\n        iStack_12dc = (**(code **)(pcVar21 + 0x1cb644))(iStack_12dc);\n      }\n    }" (if "if") (parenthesized_expression "(iVar11 == 0)" (( "(") (binary_expression "iVar11 == 0" (identifier "iVar11") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      (**(code **)(pcVar21 + 0x1cb644))(iStack_12dc);\n      iStack_12dc = 0;\n    }" ({ "{") (expression_statement "(**(code **)(pcVar21 + 0x1cb644))(iStack_12dc);" (call_expression "(**(code **)(pcVar21 + 0x1cb644))(iStack_12dc)" (parenthesized_expression "(**(code **)(pcVar21 + 0x1cb644))" (( "(") (pointer_expression "**(code **)(pcVar21 + 0x1cb644)" (* "*") (pointer_expression "*(code **)(pcVar21 + 0x1cb644)" (* "*") (cast_expression "(code **)(pcVar21 + 0x1cb644)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar21 + 0x1cb644)" (( "(") (binary_expression "pcVar21 + 0x1cb644" (identifier "pcVar21") (+ "+") (number_literal "0x1cb644")) () ")"))))) () ")")) (argument_list "(iStack_12dc)" (( "(") (identifier "iStack_12dc") () ")"))) (; ";")) (expression_statement "iStack_12dc = 0;" (assignment_expression "iStack_12dc = 0" (identifier "iStack_12dc") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n      if (*(int *)(puVar12 + 0x3350) != 0) {\n        iVar17 = *(int *)(pcVar21 + 0x1cafe4);\n        iVar14 = *(int *)(pcVar21 + 0x1cafe4);\n        (**(code **)(pcVar21 + 0x1cb8d8))\n                  (0x10000,iVar14 + -0x12ec,iVar17 + -0xf34,0x318,\n                   *(int *)(pcVar21 + 0x1cafe4) + -0x12d0);\n        puStack_12b4 = (undefined1 *)\n                       (**(code **)(pcVar21 + 0x1cbf0c))(*(int *)(pcVar21 + 0x1cafdc) + -0x3688);\n        iStack_12e4 = 0;\n        iVar2 = *(int *)(pcVar21 + 0x1cafdc);\n        iVar7 = *(int *)(pcVar21 + 0x1cafe0);\n        iVar11 = *(int *)(pcVar21 + 0x1cafdc);\n        do {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb474);\n          iVar19 = 0;\n          *puStack_12b4 = 0;\n          (*pcVar22)(auStack_116c,0x1000,iVar11 + -0x66b8);\n          (**(code **)(pcVar21 + 0x1cbaa0))(&puStack_12b4,auStack_116c);\n          do {\n            iVar19 = iVar19 + 1;\n            (**(code **)(pcVar21 + 0x1cb474))(auStack_116c,0x1000,iVar7 + 0x4930);\n            (**(code **)(pcVar21 + 0x1cbaa0))(&puStack_12b4,auStack_116c);\n          } while (iVar19 != 6);\n          iStack_12e4 = iStack_12e4 + 1;\n          (**(code **)(pcVar21 + 0x1cb8d8))\n                    (0x10000,iVar14 + -0x12ec,iVar17 + -0xf34,0x326,iVar2 + -0x62ac,puStack_12b4);\n        } while (iStack_12e4 != 6);\n        (**(code **)(pcVar21 + 0x1cb76c))(puStack_12b4);\n      }\n      uStack_12bc = 0;\n      uStack_12c0 = 0;\n      uVar8 = (**(code **)(pcVar21 + 0x1cbe4c))(puVar12,iVar4);\n      uVar9 = (**(code **)(pcVar21 + 0x1cb5cc))(iStack_12dc,iVar4);\n      iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(puVar12);\n      if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(puVar12), iVar2 == 3)) &&\n         ((iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc), iVar2 == 3)))) {\n        (**(code **)(pcVar21 + 0x1cb834))(7);\n        iVar2 = *(int *)(puVar12 + 0x1c);\n        if (iVar2 < 0) {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if (iVar2 + 0x3f >> 6 <= extraout_v1_03) goto LAB_001ddc6c;\nLAB_001dde94:\n          (*pcVar22)(7);\n          bVar1 = extraout_v1_05 < 2;\n        }\n        else {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if (extraout_v1_03 < iVar2 >> 6) goto LAB_001dde94;\nLAB_001ddc6c:\n          bVar1 = iVar2 < 0x80;\n        }\n        iVar11 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar21 + 0x1cb834))(7);\n          iVar11 = *(int *)(puVar12 + 0x1c);\n          if (iVar11 < 0) {\n            iVar11 = iVar11 + 0x3f;\n          }\n          iVar11 = iVar11 >> 6;\n          if (extraout_v1_06 < iVar11) {\n            pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n            goto LAB_001dde6c;\n          }\n        }\n      }\n      else {\n        uVar24 = (**(code **)(pcVar21 + 0x1cb834))(7);\n        if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if ((uint)uVar24 < 2) {\n            uVar24 = (*pcVar22)(7);\n            if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001ddb28;\n            pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n            if (1 < (uint)uVar24) goto LAB_001ddb2c;\n            iVar11 = 1;\n            goto LAB_001ddb44;\n          }\n        }\n        else {\nLAB_001ddb28:\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n        }\nLAB_001ddb2c:\n        uVar24 = (*pcVar22)(7);\n        if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n           (pcVar22 = *(code **)(pcVar21 + 0x1cb834), (uint)uVar24 < 2)) {\nLAB_001dde6c:\n          (*pcVar22)(7);\n          iVar11 = extraout_v1_04;\n        }\n        else {\n          iVar11 = 2;\n        }\n      }\nLAB_001ddb44:\n      iVar2 = 0;\n      iStack_1298 = 1;\n      puStack_1294 = &uStack_12c0;\n      puStack_12b4 = puVar12;\n      iStack_12b0 = iVar3;\n      iStack_12ac = iVar4;\n      uStack_12a8 = uVar9;\n      uStack_12a4 = uVar8;\n      puStack_12a0 = auStack_1290;\n      iStack_129c = iStack_12dc;\n      (**(code **)(pcVar21 + 0x1cb890))\n                (*(int *)(pcVar21 + 0x1cb09c) + -0x71ec,&puStack_12b4,iVar11,0);\n      iVar3 = iStack_1298;\n      (**(code **)(pcVar21 + 0x1cb5ec))(uVar9);\n      (**(code **)(pcVar21 + 0x1cb5ec))(uVar8);\n      if (iVar3 == 0) {\n        iStack_12dc = (**(code **)(pcVar21 + 0x1cb644))(iStack_12dc);\n      }\n    }" (else "else") (compound_statement "{\n      if (*(int *)(puVar12 + 0x3350) != 0) {\n        iVar17 = *(int *)(pcVar21 + 0x1cafe4);\n        iVar14 = *(int *)(pcVar21 + 0x1cafe4);\n        (**(code **)(pcVar21 + 0x1cb8d8))\n                  (0x10000,iVar14 + -0x12ec,iVar17 + -0xf34,0x318,\n                   *(int *)(pcVar21 + 0x1cafe4) + -0x12d0);\n        puStack_12b4 = (undefined1 *)\n                       (**(code **)(pcVar21 + 0x1cbf0c))(*(int *)(pcVar21 + 0x1cafdc) + -0x3688);\n        iStack_12e4 = 0;\n        iVar2 = *(int *)(pcVar21 + 0x1cafdc);\n        iVar7 = *(int *)(pcVar21 + 0x1cafe0);\n        iVar11 = *(int *)(pcVar21 + 0x1cafdc);\n        do {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb474);\n          iVar19 = 0;\n          *puStack_12b4 = 0;\n          (*pcVar22)(auStack_116c,0x1000,iVar11 + -0x66b8);\n          (**(code **)(pcVar21 + 0x1cbaa0))(&puStack_12b4,auStack_116c);\n          do {\n            iVar19 = iVar19 + 1;\n            (**(code **)(pcVar21 + 0x1cb474))(auStack_116c,0x1000,iVar7 + 0x4930);\n            (**(code **)(pcVar21 + 0x1cbaa0))(&puStack_12b4,auStack_116c);\n          } while (iVar19 != 6);\n          iStack_12e4 = iStack_12e4 + 1;\n          (**(code **)(pcVar21 + 0x1cb8d8))\n                    (0x10000,iVar14 + -0x12ec,iVar17 + -0xf34,0x326,iVar2 + -0x62ac,puStack_12b4);\n        } while (iStack_12e4 != 6);\n        (**(code **)(pcVar21 + 0x1cb76c))(puStack_12b4);\n      }\n      uStack_12bc = 0;\n      uStack_12c0 = 0;\n      uVar8 = (**(code **)(pcVar21 + 0x1cbe4c))(puVar12,iVar4);\n      uVar9 = (**(code **)(pcVar21 + 0x1cb5cc))(iStack_12dc,iVar4);\n      iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(puVar12);\n      if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(puVar12), iVar2 == 3)) &&\n         ((iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc), iVar2 == 3)))) {\n        (**(code **)(pcVar21 + 0x1cb834))(7);\n        iVar2 = *(int *)(puVar12 + 0x1c);\n        if (iVar2 < 0) {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if (iVar2 + 0x3f >> 6 <= extraout_v1_03) goto LAB_001ddc6c;\nLAB_001dde94:\n          (*pcVar22)(7);\n          bVar1 = extraout_v1_05 < 2;\n        }\n        else {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if (extraout_v1_03 < iVar2 >> 6) goto LAB_001dde94;\nLAB_001ddc6c:\n          bVar1 = iVar2 < 0x80;\n        }\n        iVar11 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar21 + 0x1cb834))(7);\n          iVar11 = *(int *)(puVar12 + 0x1c);\n          if (iVar11 < 0) {\n            iVar11 = iVar11 + 0x3f;\n          }\n          iVar11 = iVar11 >> 6;\n          if (extraout_v1_06 < iVar11) {\n            pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n            goto LAB_001dde6c;\n          }\n        }\n      }\n      else {\n        uVar24 = (**(code **)(pcVar21 + 0x1cb834))(7);\n        if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if ((uint)uVar24 < 2) {\n            uVar24 = (*pcVar22)(7);\n            if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001ddb28;\n            pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n            if (1 < (uint)uVar24) goto LAB_001ddb2c;\n            iVar11 = 1;\n            goto LAB_001ddb44;\n          }\n        }\n        else {\nLAB_001ddb28:\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n        }\nLAB_001ddb2c:\n        uVar24 = (*pcVar22)(7);\n        if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n           (pcVar22 = *(code **)(pcVar21 + 0x1cb834), (uint)uVar24 < 2)) {\nLAB_001dde6c:\n          (*pcVar22)(7);\n          iVar11 = extraout_v1_04;\n        }\n        else {\n          iVar11 = 2;\n        }\n      }\nLAB_001ddb44:\n      iVar2 = 0;\n      iStack_1298 = 1;\n      puStack_1294 = &uStack_12c0;\n      puStack_12b4 = puVar12;\n      iStack_12b0 = iVar3;\n      iStack_12ac = iVar4;\n      uStack_12a8 = uVar9;\n      uStack_12a4 = uVar8;\n      puStack_12a0 = auStack_1290;\n      iStack_129c = iStack_12dc;\n      (**(code **)(pcVar21 + 0x1cb890))\n                (*(int *)(pcVar21 + 0x1cb09c) + -0x71ec,&puStack_12b4,iVar11,0);\n      iVar3 = iStack_1298;\n      (**(code **)(pcVar21 + 0x1cb5ec))(uVar9);\n      (**(code **)(pcVar21 + 0x1cb5ec))(uVar8);\n      if (iVar3 == 0) {\n        iStack_12dc = (**(code **)(pcVar21 + 0x1cb644))(iStack_12dc);\n      }\n    }" ({ "{") (if_statement "if (*(int *)(puVar12 + 0x3350) != 0) {\n        iVar17 = *(int *)(pcVar21 + 0x1cafe4);\n        iVar14 = *(int *)(pcVar21 + 0x1cafe4);\n        (**(code **)(pcVar21 + 0x1cb8d8))\n                  (0x10000,iVar14 + -0x12ec,iVar17 + -0xf34,0x318,\n                   *(int *)(pcVar21 + 0x1cafe4) + -0x12d0);\n        puStack_12b4 = (undefined1 *)\n                       (**(code **)(pcVar21 + 0x1cbf0c))(*(int *)(pcVar21 + 0x1cafdc) + -0x3688);\n        iStack_12e4 = 0;\n        iVar2 = *(int *)(pcVar21 + 0x1cafdc);\n        iVar7 = *(int *)(pcVar21 + 0x1cafe0);\n        iVar11 = *(int *)(pcVar21 + 0x1cafdc);\n        do {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb474);\n          iVar19 = 0;\n          *puStack_12b4 = 0;\n          (*pcVar22)(auStack_116c,0x1000,iVar11 + -0x66b8);\n          (**(code **)(pcVar21 + 0x1cbaa0))(&puStack_12b4,auStack_116c);\n          do {\n            iVar19 = iVar19 + 1;\n            (**(code **)(pcVar21 + 0x1cb474))(auStack_116c,0x1000,iVar7 + 0x4930);\n            (**(code **)(pcVar21 + 0x1cbaa0))(&puStack_12b4,auStack_116c);\n          } while (iVar19 != 6);\n          iStack_12e4 = iStack_12e4 + 1;\n          (**(code **)(pcVar21 + 0x1cb8d8))\n                    (0x10000,iVar14 + -0x12ec,iVar17 + -0xf34,0x326,iVar2 + -0x62ac,puStack_12b4);\n        } while (iStack_12e4 != 6);\n        (**(code **)(pcVar21 + 0x1cb76c))(puStack_12b4);\n      }" (if "if") (parenthesized_expression "(*(int *)(puVar12 + 0x3350) != 0)" (( "(") (binary_expression "*(int *)(puVar12 + 0x3350) != 0" (pointer_expression "*(int *)(puVar12 + 0x3350)" (* "*") (cast_expression "(int *)(puVar12 + 0x3350)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar12 + 0x3350)" (( "(") (binary_expression "puVar12 + 0x3350" (identifier "puVar12") (+ "+") (number_literal "0x3350")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        iVar17 = *(int *)(pcVar21 + 0x1cafe4);\n        iVar14 = *(int *)(pcVar21 + 0x1cafe4);\n        (**(code **)(pcVar21 + 0x1cb8d8))\n                  (0x10000,iVar14 + -0x12ec,iVar17 + -0xf34,0x318,\n                   *(int *)(pcVar21 + 0x1cafe4) + -0x12d0);\n        puStack_12b4 = (undefined1 *)\n                       (**(code **)(pcVar21 + 0x1cbf0c))(*(int *)(pcVar21 + 0x1cafdc) + -0x3688);\n        iStack_12e4 = 0;\n        iVar2 = *(int *)(pcVar21 + 0x1cafdc);\n        iVar7 = *(int *)(pcVar21 + 0x1cafe0);\n        iVar11 = *(int *)(pcVar21 + 0x1cafdc);\n        do {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb474);\n          iVar19 = 0;\n          *puStack_12b4 = 0;\n          (*pcVar22)(auStack_116c,0x1000,iVar11 + -0x66b8);\n          (**(code **)(pcVar21 + 0x1cbaa0))(&puStack_12b4,auStack_116c);\n          do {\n            iVar19 = iVar19 + 1;\n            (**(code **)(pcVar21 + 0x1cb474))(auStack_116c,0x1000,iVar7 + 0x4930);\n            (**(code **)(pcVar21 + 0x1cbaa0))(&puStack_12b4,auStack_116c);\n          } while (iVar19 != 6);\n          iStack_12e4 = iStack_12e4 + 1;\n          (**(code **)(pcVar21 + 0x1cb8d8))\n                    (0x10000,iVar14 + -0x12ec,iVar17 + -0xf34,0x326,iVar2 + -0x62ac,puStack_12b4);\n        } while (iStack_12e4 != 6);\n        (**(code **)(pcVar21 + 0x1cb76c))(puStack_12b4);\n      }" ({ "{") (expression_statement "iVar17 = *(int *)(pcVar21 + 0x1cafe4);" (assignment_expression "iVar17 = *(int *)(pcVar21 + 0x1cafe4)" (identifier "iVar17") (= "=") (pointer_expression "*(int *)(pcVar21 + 0x1cafe4)" (* "*") (cast_expression "(int *)(pcVar21 + 0x1cafe4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar21 + 0x1cafe4)" (( "(") (binary_expression "pcVar21 + 0x1cafe4" (identifier "pcVar21") (+ "+") (number_literal "0x1cafe4")) () ")"))))) (; ";")) (expression_statement "iVar14 = *(int *)(pcVar21 + 0x1cafe4);" (assignment_expression "iVar14 = *(int *)(pcVar21 + 0x1cafe4)" (identifier "iVar14") (= "=") (pointer_expression "*(int *)(pcVar21 + 0x1cafe4)" (* "*") (cast_expression "(int *)(pcVar21 + 0x1cafe4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar21 + 0x1cafe4)" (( "(") (binary_expression "pcVar21 + 0x1cafe4" (identifier "pcVar21") (+ "+") (number_literal "0x1cafe4")) () ")"))))) (; ";")) (expression_statement "(**(code **)(pcVar21 + 0x1cb8d8))\n                  (0x10000,iVar14 + -0x12ec,iVar17 + -0xf34,0x318,\n                   *(int *)(pcVar21 + 0x1cafe4) + -0x12d0);" (call_expression "(**(code **)(pcVar21 + 0x1cb8d8))\n                  (0x10000,iVar14 + -0x12ec,iVar17 + -0xf34,0x318,\n                   *(int *)(pcVar21 + 0x1cafe4) + -0x12d0)" (parenthesized_expression "(**(code **)(pcVar21 + 0x1cb8d8))" (( "(") (pointer_expression "**(code **)(pcVar21 + 0x1cb8d8)" (* "*") (pointer_expression "*(code **)(pcVar21 + 0x1cb8d8)" (* "*") (cast_expression "(code **)(pcVar21 + 0x1cb8d8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar21 + 0x1cb8d8)" (( "(") (binary_expression "pcVar21 + 0x1cb8d8" (identifier "pcVar21") (+ "+") (number_literal "0x1cb8d8")) () ")"))))) () ")")) (argument_list "(0x10000,iVar14 + -0x12ec,iVar17 + -0xf34,0x318,\n                   *(int *)(pcVar21 + 0x1cafe4) + -0x12d0)" (( "(") (number_literal "0x10000") (, ",") (binary_expression "iVar14 + -0x12ec" (identifier "iVar14") (+ "+") (number_literal "-0x12ec")) (, ",") (binary_expression "iVar17 + -0xf34" (identifier "iVar17") (+ "+") (number_literal "-0xf34")) (, ",") (number_literal "0x318") (, ",") (binary_expression "*(int *)(pcVar21 + 0x1cafe4) + -0x12d0" (pointer_expression "*(int *)(pcVar21 + 0x1cafe4)" (* "*") (cast_expression "(int *)(pcVar21 + 0x1cafe4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar21 + 0x1cafe4)" (( "(") (binary_expression "pcVar21 + 0x1cafe4" (identifier "pcVar21") (+ "+") (number_literal "0x1cafe4")) () ")")))) (+ "+") (number_literal "-0x12d0")) () ")"))) (; ";")) (expression_statement "puStack_12b4 = (undefined1 *)\n                       (**(code **)(pcVar21 + 0x1cbf0c))(*(int *)(pcVar21 + 0x1cafdc) + -0x3688);" (assignment_expression "puStack_12b4 = (undefined1 *)\n                       (**(code **)(pcVar21 + 0x1cbf0c))(*(int *)(pcVar21 + 0x1cafdc) + -0x3688)" (identifier "puStack_12b4") (= "=") (cast_expression "(undefined1 *)\n                       (**(code **)(pcVar21 + 0x1cbf0c))(*(int *)(pcVar21 + 0x1cafdc) + -0x3688)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcVar21 + 0x1cbf0c))(*(int *)(pcVar21 + 0x1cafdc) + -0x3688)" (parenthesized_expression "(**(code **)(pcVar21 + 0x1cbf0c))" (( "(") (pointer_expression "**(code **)(pcVar21 + 0x1cbf0c)" (* "*") (pointer_expression "*(code **)(pcVar21 + 0x1cbf0c)" (* "*") (cast_expression "(code **)(pcVar21 + 0x1cbf0c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar21 + 0x1cbf0c)" (( "(") (binary_expression "pcVar21 + 0x1cbf0c" (identifier "pcVar21") (+ "+") (number_literal "0x1cbf0c")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar21 + 0x1cafdc) + -0x3688)" (( "(") (binary_expression "*(int *)(pcVar21 + 0x1cafdc) + -0x3688" (pointer_expression "*(int *)(pcVar21 + 0x1cafdc)" (* "*") (cast_expression "(int *)(pcVar21 + 0x1cafdc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar21 + 0x1cafdc)" (( "(") (binary_expression "pcVar21 + 0x1cafdc" (identifier "pcVar21") (+ "+") (number_literal "0x1cafdc")) () ")")))) (+ "+") (number_literal "-0x3688")) () ")"))))) (; ";")) (expression_statement "iStack_12e4 = 0;" (assignment_expression "iStack_12e4 = 0" (identifier "iStack_12e4") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar2 = *(int *)(pcVar21 + 0x1cafdc);" (assignment_expression "iVar2 = *(int *)(pcVar21 + 0x1cafdc)" (identifier "iVar2") (= "=") (pointer_expression "*(int *)(pcVar21 + 0x1cafdc)" (* "*") (cast_expression "(int *)(pcVar21 + 0x1cafdc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar21 + 0x1cafdc)" (( "(") (binary_expression "pcVar21 + 0x1cafdc" (identifier "pcVar21") (+ "+") (number_literal "0x1cafdc")) () ")"))))) (; ";")) (expression_statement "iVar7 = *(int *)(pcVar21 + 0x1cafe0);" (assignment_expression "iVar7 = *(int *)(pcVar21 + 0x1cafe0)" (identifier "iVar7") (= "=") (pointer_expression "*(int *)(pcVar21 + 0x1cafe0)" (* "*") (cast_expression "(int *)(pcVar21 + 0x1cafe0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar21 + 0x1cafe0)" (( "(") (binary_expression "pcVar21 + 0x1cafe0" (identifier "pcVar21") (+ "+") (number_literal "0x1cafe0")) () ")"))))) (; ";")) (expression_statement "iVar11 = *(int *)(pcVar21 + 0x1cafdc);" (assignment_expression "iVar11 = *(int *)(pcVar21 + 0x1cafdc)" (identifier "iVar11") (= "=") (pointer_expression "*(int *)(pcVar21 + 0x1cafdc)" (* "*") (cast_expression "(int *)(pcVar21 + 0x1cafdc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar21 + 0x1cafdc)" (( "(") (binary_expression "pcVar21 + 0x1cafdc" (identifier "pcVar21") (+ "+") (number_literal "0x1cafdc")) () ")"))))) (; ";")) (do_statement "do {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb474);\n          iVar19 = 0;\n          *puStack_12b4 = 0;\n          (*pcVar22)(auStack_116c,0x1000,iVar11 + -0x66b8);\n          (**(code **)(pcVar21 + 0x1cbaa0))(&puStack_12b4,auStack_116c);\n          do {\n            iVar19 = iVar19 + 1;\n            (**(code **)(pcVar21 + 0x1cb474))(auStack_116c,0x1000,iVar7 + 0x4930);\n            (**(code **)(pcVar21 + 0x1cbaa0))(&puStack_12b4,auStack_116c);\n          } while (iVar19 != 6);\n          iStack_12e4 = iStack_12e4 + 1;\n          (**(code **)(pcVar21 + 0x1cb8d8))\n                    (0x10000,iVar14 + -0x12ec,iVar17 + -0xf34,0x326,iVar2 + -0x62ac,puStack_12b4);\n        } while (iStack_12e4 != 6);" (do "do") (compound_statement "{\n          pcVar22 = *(code **)(pcVar21 + 0x1cb474);\n          iVar19 = 0;\n          *puStack_12b4 = 0;\n          (*pcVar22)(auStack_116c,0x1000,iVar11 + -0x66b8);\n          (**(code **)(pcVar21 + 0x1cbaa0))(&puStack_12b4,auStack_116c);\n          do {\n            iVar19 = iVar19 + 1;\n            (**(code **)(pcVar21 + 0x1cb474))(auStack_116c,0x1000,iVar7 + 0x4930);\n            (**(code **)(pcVar21 + 0x1cbaa0))(&puStack_12b4,auStack_116c);\n          } while (iVar19 != 6);\n          iStack_12e4 = iStack_12e4 + 1;\n          (**(code **)(pcVar21 + 0x1cb8d8))\n                    (0x10000,iVar14 + -0x12ec,iVar17 + -0xf34,0x326,iVar2 + -0x62ac,puStack_12b4);\n        }" ({ "{") (expression_statement "pcVar22 = *(code **)(pcVar21 + 0x1cb474);" (assignment_expression "pcVar22 = *(code **)(pcVar21 + 0x1cb474)" (identifier "pcVar22") (= "=") (pointer_expression "*(code **)(pcVar21 + 0x1cb474)" (* "*") (cast_expression "(code **)(pcVar21 + 0x1cb474)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar21 + 0x1cb474)" (( "(") (binary_expression "pcVar21 + 0x1cb474" (identifier "pcVar21") (+ "+") (number_literal "0x1cb474")) () ")"))))) (; ";")) (expression_statement "iVar19 = 0;" (assignment_expression "iVar19 = 0" (identifier "iVar19") (= "=") (number_literal "0")) (; ";")) (expression_statement "*puStack_12b4 = 0;" (assignment_expression "*puStack_12b4 = 0" (pointer_expression "*puStack_12b4" (* "*") (identifier "puStack_12b4")) (= "=") (number_literal "0")) (; ";")) (expression_statement "(*pcVar22)(auStack_116c,0x1000,iVar11 + -0x66b8);" (call_expression "(*pcVar22)(auStack_116c,0x1000,iVar11 + -0x66b8)" (parenthesized_expression "(*pcVar22)" (( "(") (pointer_expression "*pcVar22" (* "*") (identifier "pcVar22")) () ")")) (argument_list "(auStack_116c,0x1000,iVar11 + -0x66b8)" (( "(") (identifier "auStack_116c") (, ",") (number_literal "0x1000") (, ",") (binary_expression "iVar11 + -0x66b8" (identifier "iVar11") (+ "+") (number_literal "-0x66b8")) () ")"))) (; ";")) (expression_statement "(**(code **)(pcVar21 + 0x1cbaa0))(&puStack_12b4,auStack_116c);" (call_expression "(**(code **)(pcVar21 + 0x1cbaa0))(&puStack_12b4,auStack_116c)" (parenthesized_expression "(**(code **)(pcVar21 + 0x1cbaa0))" (( "(") (pointer_expression "**(code **)(pcVar21 + 0x1cbaa0)" (* "*") (pointer_expression "*(code **)(pcVar21 + 0x1cbaa0)" (* "*") (cast_expression "(code **)(pcVar21 + 0x1cbaa0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar21 + 0x1cbaa0)" (( "(") (binary_expression "pcVar21 + 0x1cbaa0" (identifier "pcVar21") (+ "+") (number_literal "0x1cbaa0")) () ")"))))) () ")")) (argument_list "(&puStack_12b4,auStack_116c)" (( "(") (pointer_expression "&puStack_12b4" (& "&") (identifier "puStack_12b4")) (, ",") (identifier "auStack_116c") () ")"))) (; ";")) (do_statement "do {\n            iVar19 = iVar19 + 1;\n            (**(code **)(pcVar21 + 0x1cb474))(auStack_116c,0x1000,iVar7 + 0x4930);\n            (**(code **)(pcVar21 + 0x1cbaa0))(&puStack_12b4,auStack_116c);\n          } while (iVar19 != 6);" (do "do") (compound_statement "{\n            iVar19 = iVar19 + 1;\n            (**(code **)(pcVar21 + 0x1cb474))(auStack_116c,0x1000,iVar7 + 0x4930);\n            (**(code **)(pcVar21 + 0x1cbaa0))(&puStack_12b4,auStack_116c);\n          }" ({ "{") (expression_statement "iVar19 = iVar19 + 1;" (assignment_expression "iVar19 = iVar19 + 1" (identifier "iVar19") (= "=") (binary_expression "iVar19 + 1" (identifier "iVar19") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "(**(code **)(pcVar21 + 0x1cb474))(auStack_116c,0x1000,iVar7 + 0x4930);" (call_expression "(**(code **)(pcVar21 + 0x1cb474))(auStack_116c,0x1000,iVar7 + 0x4930)" (parenthesized_expression "(**(code **)(pcVar21 + 0x1cb474))" (( "(") (pointer_expression "**(code **)(pcVar21 + 0x1cb474)" (* "*") (pointer_expression "*(code **)(pcVar21 + 0x1cb474)" (* "*") (cast_expression "(code **)(pcVar21 + 0x1cb474)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar21 + 0x1cb474)" (( "(") (binary_expression "pcVar21 + 0x1cb474" (identifier "pcVar21") (+ "+") (number_literal "0x1cb474")) () ")"))))) () ")")) (argument_list "(auStack_116c,0x1000,iVar7 + 0x4930)" (( "(") (identifier "auStack_116c") (, ",") (number_literal "0x1000") (, ",") (binary_expression "iVar7 + 0x4930" (identifier "iVar7") (+ "+") (number_literal "0x4930")) () ")"))) (; ";")) (expression_statement "(**(code **)(pcVar21 + 0x1cbaa0))(&puStack_12b4,auStack_116c);" (call_expression "(**(code **)(pcVar21 + 0x1cbaa0))(&puStack_12b4,auStack_116c)" (parenthesized_expression "(**(code **)(pcVar21 + 0x1cbaa0))" (( "(") (pointer_expression "**(code **)(pcVar21 + 0x1cbaa0)" (* "*") (pointer_expression "*(code **)(pcVar21 + 0x1cbaa0)" (* "*") (cast_expression "(code **)(pcVar21 + 0x1cbaa0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar21 + 0x1cbaa0)" (( "(") (binary_expression "pcVar21 + 0x1cbaa0" (identifier "pcVar21") (+ "+") (number_literal "0x1cbaa0")) () ")"))))) () ")")) (argument_list "(&puStack_12b4,auStack_116c)" (( "(") (pointer_expression "&puStack_12b4" (& "&") (identifier "puStack_12b4")) (, ",") (identifier "auStack_116c") () ")"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar19 != 6)" (( "(") (binary_expression "iVar19 != 6" (identifier "iVar19") (!= "!=") (number_literal "6")) () ")")) (; ";")) (expression_statement "iStack_12e4 = iStack_12e4 + 1;" (assignment_expression "iStack_12e4 = iStack_12e4 + 1" (identifier "iStack_12e4") (= "=") (binary_expression "iStack_12e4 + 1" (identifier "iStack_12e4") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "(**(code **)(pcVar21 + 0x1cb8d8))\n                    (0x10000,iVar14 + -0x12ec,iVar17 + -0xf34,0x326,iVar2 + -0x62ac,puStack_12b4);" (call_expression "(**(code **)(pcVar21 + 0x1cb8d8))\n                    (0x10000,iVar14 + -0x12ec,iVar17 + -0xf34,0x326,iVar2 + -0x62ac,puStack_12b4)" (parenthesized_expression "(**(code **)(pcVar21 + 0x1cb8d8))" (( "(") (pointer_expression "**(code **)(pcVar21 + 0x1cb8d8)" (* "*") (pointer_expression "*(code **)(pcVar21 + 0x1cb8d8)" (* "*") (cast_expression "(code **)(pcVar21 + 0x1cb8d8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar21 + 0x1cb8d8)" (( "(") (binary_expression "pcVar21 + 0x1cb8d8" (identifier "pcVar21") (+ "+") (number_literal "0x1cb8d8")) () ")"))))) () ")")) (argument_list "(0x10000,iVar14 + -0x12ec,iVar17 + -0xf34,0x326,iVar2 + -0x62ac,puStack_12b4)" (( "(") (number_literal "0x10000") (, ",") (binary_expression "iVar14 + -0x12ec" (identifier "iVar14") (+ "+") (number_literal "-0x12ec")) (, ",") (binary_expression "iVar17 + -0xf34" (identifier "iVar17") (+ "+") (number_literal "-0xf34")) (, ",") (number_literal "0x326") (, ",") (binary_expression "iVar2 + -0x62ac" (identifier "iVar2") (+ "+") (number_literal "-0x62ac")) (, ",") (identifier "puStack_12b4") () ")"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iStack_12e4 != 6)" (( "(") (binary_expression "iStack_12e4 != 6" (identifier "iStack_12e4") (!= "!=") (number_literal "6")) () ")")) (; ";")) (expression_statement "(**(code **)(pcVar21 + 0x1cb76c))(puStack_12b4);" (call_expression "(**(code **)(pcVar21 + 0x1cb76c))(puStack_12b4)" (parenthesized_expression "(**(code **)(pcVar21 + 0x1cb76c))" (( "(") (pointer_expression "**(code **)(pcVar21 + 0x1cb76c)" (* "*") (pointer_expression "*(code **)(pcVar21 + 0x1cb76c)" (* "*") (cast_expression "(code **)(pcVar21 + 0x1cb76c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar21 + 0x1cb76c)" (( "(") (binary_expression "pcVar21 + 0x1cb76c" (identifier "pcVar21") (+ "+") (number_literal "0x1cb76c")) () ")"))))) () ")")) (argument_list "(puStack_12b4)" (( "(") (identifier "puStack_12b4") () ")"))) (; ";")) (} "}"))) (expression_statement "uStack_12bc = 0;" (assignment_expression "uStack_12bc = 0" (identifier "uStack_12bc") (= "=") (number_literal "0")) (; ";")) (expression_statement "uStack_12c0 = 0;" (assignment_expression "uStack_12c0 = 0" (identifier "uStack_12c0") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar8 = (**(code **)(pcVar21 + 0x1cbe4c))(puVar12,iVar4);" (assignment_expression "uVar8 = (**(code **)(pcVar21 + 0x1cbe4c))(puVar12,iVar4)" (identifier "uVar8") (= "=") (call_expression "(**(code **)(pcVar21 + 0x1cbe4c))(puVar12,iVar4)" (parenthesized_expression "(**(code **)(pcVar21 + 0x1cbe4c))" (( "(") (pointer_expression "**(code **)(pcVar21 + 0x1cbe4c)" (* "*") (pointer_expression "*(code **)(pcVar21 + 0x1cbe4c)" (* "*") (cast_expression "(code **)(pcVar21 + 0x1cbe4c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar21 + 0x1cbe4c)" (( "(") (binary_expression "pcVar21 + 0x1cbe4c" (identifier "pcVar21") (+ "+") (number_literal "0x1cbe4c")) () ")"))))) () ")")) (argument_list "(puVar12,iVar4)" (( "(") (identifier "puVar12") (, ",") (identifier "iVar4") () ")")))) (; ";")) (expression_statement "uVar9 = (**(code **)(pcVar21 + 0x1cb5cc))(iStack_12dc,iVar4);" (assignment_expression "uVar9 = (**(code **)(pcVar21 + 0x1cb5cc))(iStack_12dc,iVar4)" (identifier "uVar9") (= "=") (call_expression "(**(code **)(pcVar21 + 0x1cb5cc))(iStack_12dc,iVar4)" (parenthesized_expression "(**(code **)(pcVar21 + 0x1cb5cc))" (( "(") (pointer_expression "**(code **)(pcVar21 + 0x1cb5cc)" (* "*") (pointer_expression "*(code **)(pcVar21 + 0x1cb5cc)" (* "*") (cast_expression "(code **)(pcVar21 + 0x1cb5cc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar21 + 0x1cb5cc)" (( "(") (binary_expression "pcVar21 + 0x1cb5cc" (identifier "pcVar21") (+ "+") (number_literal "0x1cb5cc")) () ")"))))) () ")")) (argument_list "(iStack_12dc,iVar4)" (( "(") (identifier "iStack_12dc") (, ",") (identifier "iVar4") () ")")))) (; ";")) (expression_statement "iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(puVar12);" (assignment_expression "iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(puVar12)" (identifier "iVar2") (= "=") (call_expression "(**(code **)(pcVar21 + 0x1cbbac))(puVar12)" (parenthesized_expression "(**(code **)(pcVar21 + 0x1cbbac))" (( "(") (pointer_expression "**(code **)(pcVar21 + 0x1cbbac)" (* "*") (pointer_expression "*(code **)(pcVar21 + 0x1cbbac)" (* "*") (cast_expression "(code **)(pcVar21 + 0x1cbbac)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar21 + 0x1cbbac)" (( "(") (binary_expression "pcVar21 + 0x1cbbac" (identifier "pcVar21") (+ "+") (number_literal "0x1cbbac")) () ")"))))) () ")")) (argument_list "(puVar12)" (( "(") (identifier "puVar12") () ")")))) (; ";")) (if_statement "if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(puVar12), iVar2 == 3)) &&\n         ((iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc), iVar2 == 3)))) {\n        (**(code **)(pcVar21 + 0x1cb834))(7);\n        iVar2 = *(int *)(puVar12 + 0x1c);\n        if (iVar2 < 0) {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if (iVar2 + 0x3f >> 6 <= extraout_v1_03) goto LAB_001ddc6c;\nLAB_001dde94:\n          (*pcVar22)(7);\n          bVar1 = extraout_v1_05 < 2;\n        }\n        else {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if (extraout_v1_03 < iVar2 >> 6) goto LAB_001dde94;\nLAB_001ddc6c:\n          bVar1 = iVar2 < 0x80;\n        }\n        iVar11 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar21 + 0x1cb834))(7);\n          iVar11 = *(int *)(puVar12 + 0x1c);\n          if (iVar11 < 0) {\n            iVar11 = iVar11 + 0x3f;\n          }\n          iVar11 = iVar11 >> 6;\n          if (extraout_v1_06 < iVar11) {\n            pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n            goto LAB_001dde6c;\n          }\n        }\n      }\n      else {\n        uVar24 = (**(code **)(pcVar21 + 0x1cb834))(7);\n        if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if ((uint)uVar24 < 2) {\n            uVar24 = (*pcVar22)(7);\n            if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001ddb28;\n            pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n            if (1 < (uint)uVar24) goto LAB_001ddb2c;\n            iVar11 = 1;\n            goto LAB_001ddb44;\n          }\n        }\n        else {\nLAB_001ddb28:\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n        }\nLAB_001ddb2c:\n        uVar24 = (*pcVar22)(7);\n        if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n           (pcVar22 = *(code **)(pcVar21 + 0x1cb834), (uint)uVar24 < 2)) {\nLAB_001dde6c:\n          (*pcVar22)(7);\n          iVar11 = extraout_v1_04;\n        }\n        else {\n          iVar11 = 2;\n        }\n      }" (if "if") (parenthesized_expression "(((iVar2 == 4) || (iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(puVar12), iVar2 == 3)) &&\n         ((iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc), iVar2 == 3))))" (( "(") (binary_expression "((iVar2 == 4) || (iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(puVar12), iVar2 == 3)) &&\n         ((iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc), iVar2 == 3)))" (parenthesized_expression "((iVar2 == 4) || (iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(puVar12), iVar2 == 3))" (( "(") (binary_expression "(iVar2 == 4) || (iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(puVar12), iVar2 == 3)" (parenthesized_expression "(iVar2 == 4)" (( "(") (binary_expression "iVar2 == 4" (identifier "iVar2") (== "==") (number_literal "4")) () ")")) (|| "||") (parenthesized_expression "(iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(puVar12), iVar2 == 3)" (( "(") (comma_expression "iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(puVar12), iVar2 == 3" (assignment_expression "iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(puVar12)" (identifier "iVar2") (= "=") (call_expression "(**(code **)(pcVar21 + 0x1cbbac))(puVar12)" (parenthesized_expression "(**(code **)(pcVar21 + 0x1cbbac))" (( "(") (pointer_expression "**(code **)(pcVar21 + 0x1cbbac)" (* "*") (pointer_expression "*(code **)(pcVar21 + 0x1cbbac)" (* "*") (cast_expression "(code **)(pcVar21 + 0x1cbbac)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar21 + 0x1cbbac)" (( "(") (binary_expression "pcVar21 + 0x1cbbac" (identifier "pcVar21") (+ "+") (number_literal "0x1cbbac")) () ")"))))) () ")")) (argument_list "(puVar12)" (( "(") (identifier "puVar12") () ")")))) (, ",") (binary_expression "iVar2 == 3" (identifier "iVar2") (== "==") (number_literal "3"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc), iVar2 == 3)))" (( "(") (parenthesized_expression "(iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc), iVar2 == 3))" (( "(") (comma_expression "iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc), iVar2 == 3)" (assignment_expression "iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc)" (identifier "iVar2") (= "=") (call_expression "(**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc)" (parenthesized_expression "(**(code **)(pcVar21 + 0x1cbbac))" (( "(") (pointer_expression "**(code **)(pcVar21 + 0x1cbbac)" (* "*") (pointer_expression "*(code **)(pcVar21 + 0x1cbbac)" (* "*") (cast_expression "(code **)(pcVar21 + 0x1cbbac)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar21 + 0x1cbbac)" (( "(") (binary_expression "pcVar21 + 0x1cbbac" (identifier "pcVar21") (+ "+") (number_literal "0x1cbbac")) () ")"))))) () ")")) (argument_list "(iStack_12dc)" (( "(") (identifier "iStack_12dc") () ")")))) (, ",") (binary_expression "iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc), iVar2 == 3)" (binary_expression "iVar2 == 4" (identifier "iVar2") (== "==") (number_literal "4")) (|| "||") (parenthesized_expression "(iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc), iVar2 == 3)" (( "(") (comma_expression "iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc), iVar2 == 3" (assignment_expression "iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc)" (identifier "iVar2") (= "=") (call_expression "(**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc)" (parenthesized_expression "(**(code **)(pcVar21 + 0x1cbbac))" (( "(") (pointer_expression "**(code **)(pcVar21 + 0x1cbbac)" (* "*") (pointer_expression "*(code **)(pcVar21 + 0x1cbbac)" (* "*") (cast_expression "(code **)(pcVar21 + 0x1cbbac)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar21 + 0x1cbbac)" (( "(") (binary_expression "pcVar21 + 0x1cbbac" (identifier "pcVar21") (+ "+") (number_literal "0x1cbbac")) () ")"))))) () ")")) (argument_list "(iStack_12dc)" (( "(") (identifier "iStack_12dc") () ")")))) (, ",") (binary_expression "iVar2 == 3" (identifier "iVar2") (== "==") (number_literal "3"))) () ")")))) () ")")) () ")"))) () ")")) (compound_statement "{\n        (**(code **)(pcVar21 + 0x1cb834))(7);\n        iVar2 = *(int *)(puVar12 + 0x1c);\n        if (iVar2 < 0) {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if (iVar2 + 0x3f >> 6 <= extraout_v1_03) goto LAB_001ddc6c;\nLAB_001dde94:\n          (*pcVar22)(7);\n          bVar1 = extraout_v1_05 < 2;\n        }\n        else {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if (extraout_v1_03 < iVar2 >> 6) goto LAB_001dde94;\nLAB_001ddc6c:\n          bVar1 = iVar2 < 0x80;\n        }\n        iVar11 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar21 + 0x1cb834))(7);\n          iVar11 = *(int *)(puVar12 + 0x1c);\n          if (iVar11 < 0) {\n            iVar11 = iVar11 + 0x3f;\n          }\n          iVar11 = iVar11 >> 6;\n          if (extraout_v1_06 < iVar11) {\n            pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n            goto LAB_001dde6c;\n          }\n        }\n      }" ({ "{") (expression_statement "(**(code **)(pcVar21 + 0x1cb834))(7);" (call_expression "(**(code **)(pcVar21 + 0x1cb834))(7)" (parenthesized_expression "(**(code **)(pcVar21 + 0x1cb834))" (( "(") (pointer_expression "**(code **)(pcVar21 + 0x1cb834)" (* "*") (pointer_expression "*(code **)(pcVar21 + 0x1cb834)" (* "*") (cast_expression "(code **)(pcVar21 + 0x1cb834)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar21 + 0x1cb834)" (( "(") (binary_expression "pcVar21 + 0x1cb834" (identifier "pcVar21") (+ "+") (number_literal "0x1cb834")) () ")"))))) () ")")) (argument_list "(7)" (( "(") (number_literal "7") () ")"))) (; ";")) (expression_statement "iVar2 = *(int *)(puVar12 + 0x1c);" (assignment_expression "iVar2 = *(int *)(puVar12 + 0x1c)" (identifier "iVar2") (= "=") (pointer_expression "*(int *)(puVar12 + 0x1c)" (* "*") (cast_expression "(int *)(puVar12 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar12 + 0x1c)" (( "(") (binary_expression "puVar12 + 0x1c" (identifier "puVar12") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (if_statement "if (iVar2 < 0) {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if (iVar2 + 0x3f >> 6 <= extraout_v1_03) goto LAB_001ddc6c;\nLAB_001dde94:\n          (*pcVar22)(7);\n          bVar1 = extraout_v1_05 < 2;\n        }\n        else {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if (extraout_v1_03 < iVar2 >> 6) goto LAB_001dde94;\nLAB_001ddc6c:\n          bVar1 = iVar2 < 0x80;\n        }" (if "if") (parenthesized_expression "(iVar2 < 0)" (( "(") (binary_expression "iVar2 < 0" (identifier "iVar2") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if (iVar2 + 0x3f >> 6 <= extraout_v1_03) goto LAB_001ddc6c;\nLAB_001dde94:\n          (*pcVar22)(7);\n          bVar1 = extraout_v1_05 < 2;\n        }" ({ "{") (expression_statement "pcVar22 = *(code **)(pcVar21 + 0x1cb834);" (assignment_expression "pcVar22 = *(code **)(pcVar21 + 0x1cb834)" (identifier "pcVar22") (= "=") (pointer_expression "*(code **)(pcVar21 + 0x1cb834)" (* "*") (cast_expression "(code **)(pcVar21 + 0x1cb834)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar21 + 0x1cb834)" (( "(") (binary_expression "pcVar21 + 0x1cb834" (identifier "pcVar21") (+ "+") (number_literal "0x1cb834")) () ")"))))) (; ";")) (if_statement "if (iVar2 + 0x3f >> 6 <= extraout_v1_03) goto LAB_001ddc6c;" (if "if") (parenthesized_expression "(iVar2 + 0x3f >> 6 <= extraout_v1_03)" (( "(") (binary_expression "iVar2 + 0x3f >> 6 <= extraout_v1_03" (binary_expression "iVar2 + 0x3f >> 6" (binary_expression "iVar2 + 0x3f" (identifier "iVar2") (+ "+") (number_literal "0x3f")) (>> ">>") (number_literal "6")) (<= "<=") (identifier "extraout_v1_03")) () ")")) (goto_statement "goto LAB_001ddc6c;" (goto "goto") (statement_identifier "LAB_001ddc6c") (; ";"))) (labeled_statement "LAB_001dde94:\n          (*pcVar22)(7);" (statement_identifier "LAB_001dde94") (: ":") (expression_statement "(*pcVar22)(7);" (call_expression "(*pcVar22)(7)" (parenthesized_expression "(*pcVar22)" (( "(") (pointer_expression "*pcVar22" (* "*") (identifier "pcVar22")) () ")")) (argument_list "(7)" (( "(") (number_literal "7") () ")"))) (; ";"))) (expression_statement "bVar1 = extraout_v1_05 < 2;" (assignment_expression "bVar1 = extraout_v1_05 < 2" (identifier "bVar1") (= "=") (binary_expression "extraout_v1_05 < 2" (identifier "extraout_v1_05") (< "<") (number_literal "2"))) (; ";")) (} "}")) (else_clause "else {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if (extraout_v1_03 < iVar2 >> 6) goto LAB_001dde94;\nLAB_001ddc6c:\n          bVar1 = iVar2 < 0x80;\n        }" (else "else") (compound_statement "{\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if (extraout_v1_03 < iVar2 >> 6) goto LAB_001dde94;\nLAB_001ddc6c:\n          bVar1 = iVar2 < 0x80;\n        }" ({ "{") (expression_statement "pcVar22 = *(code **)(pcVar21 + 0x1cb834);" (assignment_expression "pcVar22 = *(code **)(pcVar21 + 0x1cb834)" (identifier "pcVar22") (= "=") (pointer_expression "*(code **)(pcVar21 + 0x1cb834)" (* "*") (cast_expression "(code **)(pcVar21 + 0x1cb834)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar21 + 0x1cb834)" (( "(") (binary_expression "pcVar21 + 0x1cb834" (identifier "pcVar21") (+ "+") (number_literal "0x1cb834")) () ")"))))) (; ";")) (if_statement "if (extraout_v1_03 < iVar2 >> 6) goto LAB_001dde94;" (if "if") (parenthesized_expression "(extraout_v1_03 < iVar2 >> 6)" (( "(") (binary_expression "extraout_v1_03 < iVar2 >> 6" (identifier "extraout_v1_03") (< "<") (binary_expression "iVar2 >> 6" (identifier "iVar2") (>> ">>") (number_literal "6"))) () ")")) (goto_statement "goto LAB_001dde94;" (goto "goto") (statement_identifier "LAB_001dde94") (; ";"))) (labeled_statement "LAB_001ddc6c:\n          bVar1 = iVar2 < 0x80;" (statement_identifier "LAB_001ddc6c") (: ":") (expression_statement "bVar1 = iVar2 < 0x80;" (assignment_expression "bVar1 = iVar2 < 0x80" (identifier "bVar1") (= "=") (binary_expression "iVar2 < 0x80" (identifier "iVar2") (< "<") (number_literal "0x80"))) (; ";"))) (} "}")))) (expression_statement "iVar11 = 1;" (assignment_expression "iVar11 = 1" (identifier "iVar11") (= "=") (number_literal "1")) (; ";")) (if_statement "if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar21 + 0x1cb834))(7);\n          iVar11 = *(int *)(puVar12 + 0x1c);\n          if (iVar11 < 0) {\n            iVar11 = iVar11 + 0x3f;\n          }\n          iVar11 = iVar11 >> 6;\n          if (extraout_v1_06 < iVar11) {\n            pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n            goto LAB_001dde6c;\n          }\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 **)(pcVar21 + 0x1cb834))(7);\n          iVar11 = *(int *)(puVar12 + 0x1c);\n          if (iVar11 < 0) {\n            iVar11 = iVar11 + 0x3f;\n          }\n          iVar11 = iVar11 >> 6;\n          if (extraout_v1_06 < iVar11) {\n            pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n            goto LAB_001dde6c;\n          }\n        }" ({ "{") (expression_statement "(**(code **)(pcVar21 + 0x1cb834))(7);" (call_expression "(**(code **)(pcVar21 + 0x1cb834))(7)" (parenthesized_expression "(**(code **)(pcVar21 + 0x1cb834))" (( "(") (pointer_expression "**(code **)(pcVar21 + 0x1cb834)" (* "*") (pointer_expression "*(code **)(pcVar21 + 0x1cb834)" (* "*") (cast_expression "(code **)(pcVar21 + 0x1cb834)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar21 + 0x1cb834)" (( "(") (binary_expression "pcVar21 + 0x1cb834" (identifier "pcVar21") (+ "+") (number_literal "0x1cb834")) () ")"))))) () ")")) (argument_list "(7)" (( "(") (number_literal "7") () ")"))) (; ";")) (expression_statement "iVar11 = *(int *)(puVar12 + 0x1c);" (assignment_expression "iVar11 = *(int *)(puVar12 + 0x1c)" (identifier "iVar11") (= "=") (pointer_expression "*(int *)(puVar12 + 0x1c)" (* "*") (cast_expression "(int *)(puVar12 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar12 + 0x1c)" (( "(") (binary_expression "puVar12 + 0x1c" (identifier "puVar12") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (if_statement "if (iVar11 < 0) {\n            iVar11 = iVar11 + 0x3f;\n          }" (if "if") (parenthesized_expression "(iVar11 < 0)" (( "(") (binary_expression "iVar11 < 0" (identifier "iVar11") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n            iVar11 = iVar11 + 0x3f;\n          }" ({ "{") (expression_statement "iVar11 = iVar11 + 0x3f;" (assignment_expression "iVar11 = iVar11 + 0x3f" (identifier "iVar11") (= "=") (binary_expression "iVar11 + 0x3f" (identifier "iVar11") (+ "+") (number_literal "0x3f"))) (; ";")) (} "}"))) (expression_statement "iVar11 = iVar11 >> 6;" (assignment_expression "iVar11 = iVar11 >> 6" (identifier "iVar11") (= "=") (binary_expression "iVar11 >> 6" (identifier "iVar11") (>> ">>") (number_literal "6"))) (; ";")) (if_statement "if (extraout_v1_06 < iVar11) {\n            pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n            goto LAB_001dde6c;\n          }" (if "if") (parenthesized_expression "(extraout_v1_06 < iVar11)" (( "(") (binary_expression "extraout_v1_06 < iVar11" (identifier "extraout_v1_06") (< "<") (identifier "iVar11")) () ")")) (compound_statement "{\n            pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n            goto LAB_001dde6c;\n          }" ({ "{") (expression_statement "pcVar22 = *(code **)(pcVar21 + 0x1cb834);" (assignment_expression "pcVar22 = *(code **)(pcVar21 + 0x1cb834)" (identifier "pcVar22") (= "=") (pointer_expression "*(code **)(pcVar21 + 0x1cb834)" (* "*") (cast_expression "(code **)(pcVar21 + 0x1cb834)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar21 + 0x1cb834)" (( "(") (binary_expression "pcVar21 + 0x1cb834" (identifier "pcVar21") (+ "+") (number_literal "0x1cb834")) () ")"))))) (; ";")) (goto_statement "goto LAB_001dde6c;" (goto "goto") (statement_identifier "LAB_001dde6c") (; ";")) (} "}"))) (} "}"))) (} "}")) (else_clause "else {\n        uVar24 = (**(code **)(pcVar21 + 0x1cb834))(7);\n        if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if ((uint)uVar24 < 2) {\n            uVar24 = (*pcVar22)(7);\n            if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001ddb28;\n            pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n            if (1 < (uint)uVar24) goto LAB_001ddb2c;\n            iVar11 = 1;\n            goto LAB_001ddb44;\n          }\n        }\n        else {\nLAB_001ddb28:\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n        }\nLAB_001ddb2c:\n        uVar24 = (*pcVar22)(7);\n        if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n           (pcVar22 = *(code **)(pcVar21 + 0x1cb834), (uint)uVar24 < 2)) {\nLAB_001dde6c:\n          (*pcVar22)(7);\n          iVar11 = extraout_v1_04;\n        }\n        else {\n          iVar11 = 2;\n        }\n      }" (else "else") (compound_statement "{\n        uVar24 = (**(code **)(pcVar21 + 0x1cb834))(7);\n        if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if ((uint)uVar24 < 2) {\n            uVar24 = (*pcVar22)(7);\n            if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001ddb28;\n            pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n            if (1 < (uint)uVar24) goto LAB_001ddb2c;\n            iVar11 = 1;\n            goto LAB_001ddb44;\n          }\n        }\n        else {\nLAB_001ddb28:\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n        }\nLAB_001ddb2c:\n        uVar24 = (*pcVar22)(7);\n        if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n           (pcVar22 = *(code **)(pcVar21 + 0x1cb834), (uint)uVar24 < 2)) {\nLAB_001dde6c:\n          (*pcVar22)(7);\n          iVar11 = extraout_v1_04;\n        }\n        else {\n          iVar11 = 2;\n        }\n      }" ({ "{") (expression_statement "uVar24 = (**(code **)(pcVar21 + 0x1cb834))(7);" (assignment_expression "uVar24 = (**(code **)(pcVar21 + 0x1cb834))(7)" (identifier "uVar24") (= "=") (call_expression "(**(code **)(pcVar21 + 0x1cb834))(7)" (parenthesized_expression "(**(code **)(pcVar21 + 0x1cb834))" (( "(") (pointer_expression "**(code **)(pcVar21 + 0x1cb834)" (* "*") (pointer_expression "*(code **)(pcVar21 + 0x1cb834)" (* "*") (cast_expression "(code **)(pcVar21 + 0x1cb834)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar21 + 0x1cb834)" (( "(") (binary_expression "pcVar21 + 0x1cb834" (identifier "pcVar21") (+ "+") (number_literal "0x1cb834")) () ")"))))) () ")")) (argument_list "(7)" (( "(") (number_literal "7") () ")")))) (; ";")) (if_statement "if ((int)((ulonglong)uVar24 >> 0x20) == 0) {\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if ((uint)uVar24 < 2) {\n            uVar24 = (*pcVar22)(7);\n            if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001ddb28;\n            pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n            if (1 < (uint)uVar24) goto LAB_001ddb2c;\n            iVar11 = 1;\n            goto LAB_001ddb44;\n          }\n        }\n        else {\nLAB_001ddb28:\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n        }" (if "if") (parenthesized_expression "((int)((ulonglong)uVar24 >> 0x20) == 0)" (( "(") (binary_expression "(int)((ulonglong)uVar24 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar24 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar24 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar24 >> 0x20" (cast_expression "(ulonglong)uVar24" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar24")) (>> ">>") (number_literal "0x20")) () ")"))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n          if ((uint)uVar24 < 2) {\n            uVar24 = (*pcVar22)(7);\n            if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001ddb28;\n            pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n            if (1 < (uint)uVar24) goto LAB_001ddb2c;\n            iVar11 = 1;\n            goto LAB_001ddb44;\n          }\n        }" ({ "{") (expression_statement "pcVar22 = *(code **)(pcVar21 + 0x1cb834);" (assignment_expression "pcVar22 = *(code **)(pcVar21 + 0x1cb834)" (identifier "pcVar22") (= "=") (pointer_expression "*(code **)(pcVar21 + 0x1cb834)" (* "*") (cast_expression "(code **)(pcVar21 + 0x1cb834)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar21 + 0x1cb834)" (( "(") (binary_expression "pcVar21 + 0x1cb834" (identifier "pcVar21") (+ "+") (number_literal "0x1cb834")) () ")"))))) (; ";")) (if_statement "if ((uint)uVar24 < 2) {\n            uVar24 = (*pcVar22)(7);\n            if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001ddb28;\n            pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n            if (1 < (uint)uVar24) goto LAB_001ddb2c;\n            iVar11 = 1;\n            goto LAB_001ddb44;\n          }" (if "if") (parenthesized_expression "((uint)uVar24 < 2)" (( "(") (binary_expression "(uint)uVar24 < 2" (cast_expression "(uint)uVar24" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar24")) (< "<") (number_literal "2")) () ")")) (compound_statement "{\n            uVar24 = (*pcVar22)(7);\n            if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001ddb28;\n            pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n            if (1 < (uint)uVar24) goto LAB_001ddb2c;\n            iVar11 = 1;\n            goto LAB_001ddb44;\n          }" ({ "{") (expression_statement "uVar24 = (*pcVar22)(7);" (assignment_expression "uVar24 = (*pcVar22)(7)" (identifier "uVar24") (= "=") (call_expression "(*pcVar22)(7)" (parenthesized_expression "(*pcVar22)" (( "(") (pointer_expression "*pcVar22" (* "*") (identifier "pcVar22")) () ")")) (argument_list "(7)" (( "(") (number_literal "7") () ")")))) (; ";")) (if_statement "if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001ddb28;" (if "if") (parenthesized_expression "((int)((ulonglong)uVar24 >> 0x20) != 0)" (( "(") (binary_expression "(int)((ulonglong)uVar24 >> 0x20) != 0" (cast_expression "(int)((ulonglong)uVar24 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar24 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar24 >> 0x20" (cast_expression "(ulonglong)uVar24" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar24")) (>> ">>") (number_literal "0x20")) () ")"))) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_001ddb28;" (goto "goto") (statement_identifier "LAB_001ddb28") (; ";"))) (expression_statement "pcVar22 = *(code **)(pcVar21 + 0x1cb834);" (assignment_expression "pcVar22 = *(code **)(pcVar21 + 0x1cb834)" (identifier "pcVar22") (= "=") (pointer_expression "*(code **)(pcVar21 + 0x1cb834)" (* "*") (cast_expression "(code **)(pcVar21 + 0x1cb834)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar21 + 0x1cb834)" (( "(") (binary_expression "pcVar21 + 0x1cb834" (identifier "pcVar21") (+ "+") (number_literal "0x1cb834")) () ")"))))) (; ";")) (if_statement "if (1 < (uint)uVar24) goto LAB_001ddb2c;" (if "if") (parenthesized_expression "(1 < (uint)uVar24)" (( "(") (binary_expression "1 < (uint)uVar24" (number_literal "1") (< "<") (cast_expression "(uint)uVar24" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar24"))) () ")")) (goto_statement "goto LAB_001ddb2c;" (goto "goto") (statement_identifier "LAB_001ddb2c") (; ";"))) (expression_statement "iVar11 = 1;" (assignment_expression "iVar11 = 1" (identifier "iVar11") (= "=") (number_literal "1")) (; ";")) (goto_statement "goto LAB_001ddb44;" (goto "goto") (statement_identifier "LAB_001ddb44") (; ";")) (} "}"))) (} "}")) (else_clause "else {\nLAB_001ddb28:\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n        }" (else "else") (compound_statement "{\nLAB_001ddb28:\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);\n        }" ({ "{") (labeled_statement "LAB_001ddb28:\n          pcVar22 = *(code **)(pcVar21 + 0x1cb834);" (statement_identifier "LAB_001ddb28") (: ":") (expression_statement "pcVar22 = *(code **)(pcVar21 + 0x1cb834);" (assignment_expression "pcVar22 = *(code **)(pcVar21 + 0x1cb834)" (identifier "pcVar22") (= "=") (pointer_expression "*(code **)(pcVar21 + 0x1cb834)" (* "*") (cast_expression "(code **)(pcVar21 + 0x1cb834)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar21 + 0x1cb834)" (( "(") (binary_expression "pcVar21 + 0x1cb834" (identifier "pcVar21") (+ "+") (number_literal "0x1cb834")) () ")"))))) (; ";"))) (} "}")))) (labeled_statement "LAB_001ddb2c:\n        uVar24 = (*pcVar22)(7);" (statement_identifier "LAB_001ddb2c") (: ":") (expression_statement "uVar24 = (*pcVar22)(7);" (assignment_expression "uVar24 = (*pcVar22)(7)" (identifier "uVar24") (= "=") (call_expression "(*pcVar22)(7)" (parenthesized_expression "(*pcVar22)" (( "(") (pointer_expression "*pcVar22" (* "*") (identifier "pcVar22")) () ")")) (argument_list "(7)" (( "(") (number_literal "7") () ")")))) (; ";"))) (if_statement "if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n           (pcVar22 = *(code **)(pcVar21 + 0x1cb834), (uint)uVar24 < 2)) {\nLAB_001dde6c:\n          (*pcVar22)(7);\n          iVar11 = extraout_v1_04;\n        }\n        else {\n          iVar11 = 2;\n        }" (if "if") (parenthesized_expression "(((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n           (pcVar22 = *(code **)(pcVar21 + 0x1cb834), (uint)uVar24 < 2))" (( "(") (binary_expression "((int)((ulonglong)uVar24 >> 0x20) == 0) &&\n           (pcVar22 = *(code **)(pcVar21 + 0x1cb834), (uint)uVar24 < 2)" (parenthesized_expression "((int)((ulonglong)uVar24 >> 0x20) == 0)" (( "(") (binary_expression "(int)((ulonglong)uVar24 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar24 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar24 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar24 >> 0x20" (cast_expression "(ulonglong)uVar24" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar24")) (>> ">>") (number_literal "0x20")) () ")"))) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(pcVar22 = *(code **)(pcVar21 + 0x1cb834), (uint)uVar24 < 2)" (( "(") (comma_expression "pcVar22 = *(code **)(pcVar21 + 0x1cb834), (uint)uVar24 < 2" (assignment_expression "pcVar22 = *(code **)(pcVar21 + 0x1cb834)" (identifier "pcVar22") (= "=") (pointer_expression "*(code **)(pcVar21 + 0x1cb834)" (* "*") (cast_expression "(code **)(pcVar21 + 0x1cb834)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar21 + 0x1cb834)" (( "(") (binary_expression "pcVar21 + 0x1cb834" (identifier "pcVar21") (+ "+") (number_literal "0x1cb834")) () ")"))))) (, ",") (binary_expression "(uint)uVar24 < 2" (cast_expression "(uint)uVar24" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar24")) (< "<") (number_literal "2"))) () ")"))) () ")")) (compound_statement "{\nLAB_001dde6c:\n          (*pcVar22)(7);\n          iVar11 = extraout_v1_04;\n        }" ({ "{") (labeled_statement "LAB_001dde6c:\n          (*pcVar22)(7);" (statement_identifier "LAB_001dde6c") (: ":") (expression_statement "(*pcVar22)(7);" (call_expression "(*pcVar22)(7)" (parenthesized_expression "(*pcVar22)" (( "(") (pointer_expression "*pcVar22" (* "*") (identifier "pcVar22")) () ")")) (argument_list "(7)" (( "(") (number_literal "7") () ")"))) (; ";"))) (expression_statement "iVar11 = extraout_v1_04;" (assignment_expression "iVar11 = extraout_v1_04" (identifier "iVar11") (= "=") (identifier "extraout_v1_04")) (; ";")) (} "}")) (else_clause "else {\n          iVar11 = 2;\n        }" (else "else") (compound_statement "{\n          iVar11 = 2;\n        }" ({ "{") (expression_statement "iVar11 = 2;" (assignment_expression "iVar11 = 2" (identifier "iVar11") (= "=") (number_literal "2")) (; ";")) (} "}")))) (} "}")))) (labeled_statement "LAB_001ddb44:\n      iVar2 = 0;" (statement_identifier "LAB_001ddb44") (: ":") (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" (identifier "iVar2") (= "=") (number_literal "0")) (; ";"))) (expression_statement "iStack_1298 = 1;" (assignment_expression "iStack_1298 = 1" (identifier "iStack_1298") (= "=") (number_literal "1")) (; ";")) (expression_statement "puStack_1294 = &uStack_12c0;" (assignment_expression "puStack_1294 = &uStack_12c0" (identifier "puStack_1294") (= "=") (pointer_expression "&uStack_12c0" (& "&") (identifier "uStack_12c0"))) (; ";")) (expression_statement "puStack_12b4 = puVar12;" (assignment_expression "puStack_12b4 = puVar12" (identifier "puStack_12b4") (= "=") (identifier "puVar12")) (; ";")) (expression_statement "iStack_12b0 = iVar3;" (assignment_expression "iStack_12b0 = iVar3" (identifier "iStack_12b0") (= "=") (identifier "iVar3")) (; ";")) (expression_statement "iStack_12ac = iVar4;" (assignment_expression "iStack_12ac = iVar4" (identifier "iStack_12ac") (= "=") (identifier "iVar4")) (; ";")) (expression_statement "uStack_12a8 = uVar9;" (assignment_expression "uStack_12a8 = uVar9" (identifier "uStack_12a8") (= "=") (identifier "uVar9")) (; ";")) (expression_statement "uStack_12a4 = uVar8;" (assignment_expression "uStack_12a4 = uVar8" (identifier "uStack_12a4") (= "=") (identifier "uVar8")) (; ";")) (expression_statement "puStack_12a0 = auStack_1290;" (assignment_expression "puStack_12a0 = auStack_1290" (identifier "puStack_12a0") (= "=") (identifier "auStack_1290")) (; ";")) (expression_statement "iStack_129c = iStack_12dc;" (assignment_expression "iStack_129c = iStack_12dc" (identifier "iStack_129c") (= "=") (identifier "iStack_12dc")) (; ";")) (expression_statement "(**(code **)(pcVar21 + 0x1cb890))\n                (*(int *)(pcVar21 + 0x1cb09c) + -0x71ec,&puStack_12b4,iVar11,0);" (call_expression "(**(code **)(pcVar21 + 0x1cb890))\n                (*(int *)(pcVar21 + 0x1cb09c) + -0x71ec,&puStack_12b4,iVar11,0)" (parenthesized_expression "(**(code **)(pcVar21 + 0x1cb890))" (( "(") (pointer_expression "**(code **)(pcVar21 + 0x1cb890)" (* "*") (pointer_expression "*(code **)(pcVar21 + 0x1cb890)" (* "*") (cast_expression "(code **)(pcVar21 + 0x1cb890)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar21 + 0x1cb890)" (( "(") (binary_expression "pcVar21 + 0x1cb890" (identifier "pcVar21") (+ "+") (number_literal "0x1cb890")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar21 + 0x1cb09c) + -0x71ec,&puStack_12b4,iVar11,0)" (( "(") (binary_expression "*(int *)(pcVar21 + 0x1cb09c) + -0x71ec" (pointer_expression "*(int *)(pcVar21 + 0x1cb09c)" (* "*") (cast_expression "(int *)(pcVar21 + 0x1cb09c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar21 + 0x1cb09c)" (( "(") (binary_expression "pcVar21 + 0x1cb09c" (identifier "pcVar21") (+ "+") (number_literal "0x1cb09c")) () ")")))) (+ "+") (number_literal "-0x71ec")) (, ",") (pointer_expression "&puStack_12b4" (& "&") (identifier "puStack_12b4")) (, ",") (identifier "iVar11") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "iVar3 = iStack_1298;" (assignment_expression "iVar3 = iStack_1298" (identifier "iVar3") (= "=") (identifier "iStack_1298")) (; ";")) (expression_statement "(**(code **)(pcVar21 + 0x1cb5ec))(uVar9);" (call_expression "(**(code **)(pcVar21 + 0x1cb5ec))(uVar9)" (parenthesized_expression "(**(code **)(pcVar21 + 0x1cb5ec))" (( "(") (pointer_expression "**(code **)(pcVar21 + 0x1cb5ec)" (* "*") (pointer_expression "*(code **)(pcVar21 + 0x1cb5ec)" (* "*") (cast_expression "(code **)(pcVar21 + 0x1cb5ec)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar21 + 0x1cb5ec)" (( "(") (binary_expression "pcVar21 + 0x1cb5ec" (identifier "pcVar21") (+ "+") (number_literal "0x1cb5ec")) () ")"))))) () ")")) (argument_list "(uVar9)" (( "(") (identifier "uVar9") () ")"))) (; ";")) (expression_statement "(**(code **)(pcVar21 + 0x1cb5ec))(uVar8);" (call_expression "(**(code **)(pcVar21 + 0x1cb5ec))(uVar8)" (parenthesized_expression "(**(code **)(pcVar21 + 0x1cb5ec))" (( "(") (pointer_expression "**(code **)(pcVar21 + 0x1cb5ec)" (* "*") (pointer_expression "*(code **)(pcVar21 + 0x1cb5ec)" (* "*") (cast_expression "(code **)(pcVar21 + 0x1cb5ec)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar21 + 0x1cb5ec)" (( "(") (binary_expression "pcVar21 + 0x1cb5ec" (identifier "pcVar21") (+ "+") (number_literal "0x1cb5ec")) () ")"))))) () ")")) (argument_list "(uVar8)" (( "(") (identifier "uVar8") () ")"))) (; ";")) (if_statement "if (iVar3 == 0) {\n        iStack_12dc = (**(code **)(pcVar21 + 0x1cb644))(iStack_12dc);\n      }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        iStack_12dc = (**(code **)(pcVar21 + 0x1cb644))(iStack_12dc);\n      }" ({ "{") (expression_statement "iStack_12dc = (**(code **)(pcVar21 + 0x1cb644))(iStack_12dc);" (assignment_expression "iStack_12dc = (**(code **)(pcVar21 + 0x1cb644))(iStack_12dc)" (identifier "iStack_12dc") (= "=") (call_expression "(**(code **)(pcVar21 + 0x1cb644))(iStack_12dc)" (parenthesized_expression "(**(code **)(pcVar21 + 0x1cb644))" (( "(") (pointer_expression "**(code **)(pcVar21 + 0x1cb644)" (* "*") (pointer_expression "*(code **)(pcVar21 + 0x1cb644)" (* "*") (cast_expression "(code **)(pcVar21 + 0x1cb644)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar21 + 0x1cb644)" (( "(") (binary_expression "pcVar21 + 0x1cb644" (identifier "pcVar21") (+ "+") (number_literal "0x1cb644")) () ")"))))) () ")")) (argument_list "(iStack_12dc)" (( "(") (identifier "iStack_12dc") () ")")))) (; ";")) (} "}"))) (} "}")))) (} "}"))) (if_statement "if (iStack_16c == *piVar6) {\n    return iStack_12dc;\n  }" (if "if") (parenthesized_expression "(iStack_16c == *piVar6)" (( "(") (binary_expression "iStack_16c == *piVar6" (identifier "iStack_16c") (== "==") (pointer_expression "*piVar6" (* "*") (identifier "piVar6"))) () ")")) (compound_statement "{\n    return iStack_12dc;\n  }" ({ "{") (return_statement "return iStack_12dc;" (return "return") (identifier "iStack_12dc") (; ";")) (} "}"))) (expression_statement "(**(code **)(pcVar21 + 0x1cb75c))();" (call_expression "(**(code **)(pcVar21 + 0x1cb75c))()" (parenthesized_expression "(**(code **)(pcVar21 + 0x1cb75c))" (( "(") (pointer_expression "**(code **)(pcVar21 + 0x1cb75c)" (* "*") (pointer_expression "*(code **)(pcVar21 + 0x1cb75c)" (* "*") (cast_expression "(code **)(pcVar21 + 0x1cb75c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar21 + 0x1cb75c)" (( "(") (binary_expression "pcVar21 + 0x1cb75c" (identifier "pcVar21") (+ "+") (number_literal "0x1cb75c")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (labeled_statement "LAB_001ddf28:\n  iVar2 = (**(code **)(pcVar21 + 0x1cbd00))\n                    (*(int *)(pcVar21 + 0x1cafe0) + -0x3784,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,\n                     0x2fa,iVar2 + -0xf20);" (statement_identifier "LAB_001ddf28") (: ":") (expression_statement "iVar2 = (**(code **)(pcVar21 + 0x1cbd00))\n                    (*(int *)(pcVar21 + 0x1cafe0) + -0x3784,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,\n                     0x2fa,iVar2 + -0xf20);" (assignment_expression "iVar2 = (**(code **)(pcVar21 + 0x1cbd00))\n                    (*(int *)(pcVar21 + 0x1cafe0) + -0x3784,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,\n                     0x2fa,iVar2 + -0xf20)" (identifier "iVar2") (= "=") (call_expression "(**(code **)(pcVar21 + 0x1cbd00))\n                    (*(int *)(pcVar21 + 0x1cafe0) + -0x3784,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,\n                     0x2fa,iVar2 + -0xf20)" (parenthesized_expression "(**(code **)(pcVar21 + 0x1cbd00))" (( "(") (pointer_expression "**(code **)(pcVar21 + 0x1cbd00)" (* "*") (pointer_expression "*(code **)(pcVar21 + 0x1cbd00)" (* "*") (cast_expression "(code **)(pcVar21 + 0x1cbd00)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar21 + 0x1cbd00)" (( "(") (binary_expression "pcVar21 + 0x1cbd00" (identifier "pcVar21") (+ "+") (number_literal "0x1cbd00")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar21 + 0x1cafe0) + -0x3784,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,\n                     0x2fa,iVar2 + -0xf20)" (( "(") (binary_expression "*(int *)(pcVar21 + 0x1cafe0) + -0x3784" (pointer_expression "*(int *)(pcVar21 + 0x1cafe0)" (* "*") (cast_expression "(int *)(pcVar21 + 0x1cafe0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar21 + 0x1cafe0)" (( "(") (binary_expression "pcVar21 + 0x1cafe0" (identifier "pcVar21") (+ "+") (number_literal "0x1cafe0")) () ")")))) (+ "+") (number_literal "-0x3784")) (, ",") (binary_expression "*(int *)(pcVar21 + 0x1cafe4) + -0x12ec" (pointer_expression "*(int *)(pcVar21 + 0x1cafe4)" (* "*") (cast_expression "(int *)(pcVar21 + 0x1cafe4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar21 + 0x1cafe4)" (( "(") (binary_expression "pcVar21 + 0x1cafe4" (identifier "pcVar21") (+ "+") (number_literal "0x1cafe4")) () ")")))) (+ "+") (number_literal "-0x12ec")) (, ",") (number_literal "0x2fa") (, ",") (binary_expression "iVar2 + -0xf20" (identifier "iVar2") (+ "+") (number_literal "-0xf20")) () ")")))) (; ";"))) (return_statement "return iVar2;" (return "return") (identifier "iVar2") (; ";")) (} "}")))

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

type_1 * function_1(type_1 *var_1,double radius,double sigma,type_2 *exception)

{
  bool var_23;
  int var_7;
  int var_8;
  type_1 *var_9;
  type_1 *var_12;
  type_3 var_18;
  size_t var_20;
  int *piVar8;
  int var_32;
  type_4 uVar10;
  type_4 uVar11;
  int var_21;
  int extraout_v1_00;
  int var_25;
  int var_22;
  int var_38;
  int extraout_v1_04;
  int var_39;
  int var_40;
  type_5 *var_11;
  int var_26;
  size_t var_24;
  type_6 *var_29;
  type_5 *var_17;
  int var_31;
  type_7 *var_34;
  int var_33;
  int var_30;
  type_1 *unaff_s1;
  type_5 *unaff_s2;
  int unaff_s3;
  int *piVar21;
  type_5 *unaff_s5;
  type_6 *unaff_s6;
  int var_36;
  type_5 *var_10;
  type_8 *var_28;
  type_8 *pcVar25;
  double var_15;
  type_7 uVar27;
  type_1 *var_6;
  int var_37;
  type_1 *var_35;
  type_4 uStack_12c0;
  type_4 uStack_12bc;
  type_6 *puStack_12b4;
  int iStack_12b0;
  int iStack_12ac;
  type_4 uStack_12a8;
  type_4 uStack_12a4;
  type_7 *puStack_12a0;
  type_1 *pIStack_129c;
  int iStack_1298;
  type_4 *puStack_1294;
  type_7 auStack_1290 [7];
  type_7 uStack_1258;
  type_7 uStack_1220;
  type_7 uStack_11e8;
  type_7 uStack_11b0;
  type_7 uStack_1178;
  type_6 auStack_116c [4096];
  int var_41;
  type_1 *pIStack_168;
  type_1 *pIStack_164;
  type_5 *puStack_160;
  int iStack_15c;
  int *piStack_158;
  type_5 *puStack_154;
  type_6 *puStack_150;
  type_4 uStack_118;
  type_4 uStack_114;
  type_5 *puStack_110;
  int iStack_10c;
  type_1 *pIStack_108;
  type_5 *puStack_104;
  type_1 *pIStack_100;
  type_6 *puStack_fc;
  type_1 *pIStack_f8;
  type_4 *puStack_f4;
  type_7 uStack_f0;
  type_7 uStack_e8;
  type_7 uStack_e0;
  type_7 uStack_d8;
  type_7 uStack_d0;
  type_6 auStack_c8 [4];
  int var_19;
  type_7 uStack_a0;
  type_7 uStack_98;
  type_7 uStack_90;
  type_7 uStack_88;
  type_7 uStack_80;
  int var_27;
  type_1 *pIStack_64;
  
  if (var_1 == (type_1 *)0x0) {
LAB_001dd2cc:
    (*(type_8 *)PTR___assert_fail_003a9608)
              (var_2 + 0xdd0,var_3 + -0x12ec,0x1da,
               var_3 + -0xedc);
LAB_001dd2f0:
    (*(type_8 *)PTR___assert_fail_003a9608)
              (var_2 + 0x294c,var_3 + -0x12ec,0x1df,
               var_3 + -0xedc);
  }
  else {
    unaff_s1 = var_1;
    if (var_1->signature != 0xabacadab) {
      (*(type_8 *)PTR___assert_fail_003a9608)
                (var_4 + -0x3784,
                 var_3 + -0x12ec,0x1db,var_3 + -0xedc);
      goto LAB_001dd2cc;
    }
    if (var_1->debug != var_5) {
      (*(type_8 *)PTR_LogMagickEvent_003a91e0)
                (0x8000,var_3 + -0x12ec,var_3 + -0xeec,0x1dd);
    }
    if (var_6 != (type_1 *)0x0) {
      if (var_6->rows == 0xabacadab) {
        var_7 = (*(type_8 *)PTR_EdgeImage_003a8dec)(var_1);
        var_11 = PTR_ClampImage_003a93c8;
        if (var_7 != 0) {
          *(type_4 *)(var_7 + 700) = 0;
          var_8 = (*(type_8 *)var_11)(var_7,var_6);
          if (var_8 == 0) {
            (*(type_8 *)PTR_DestroyImage_003a8f4c)(var_7);
          }
          else {
            var_9 = (type_1 *)(*(type_8 *)PTR_BlurImage_003a95c0)(var_7);
            (*(type_8 *)PTR_DestroyImage_003a8f4c)(var_7);
            if (var_9 != (type_1 *)0x0) {
              var_7 = (*(type_8 *)PTR_NormalizeImage_003a8f7c)(var_9,var_6);
              if (((var_7 != 0) &&
                  (var_7 = (*(type_8 *)PTR_NegateImage_003a985c)(var_9,0,var_6),
                  var_7 != 0)) &&
                 (var_7 = (*(type_8 *)PTR_GrayscaleImage_003a91cc)
                                    (var_9,var_1->intensity,var_6), var_7 != 0)) {
                return var_9;
              }
                    /* WARNING: Could not recover jumptable at 0x001dd244. Too many branches */
                    /* WARNING: Treating indirect jump as call */
              var_9 = (type_1 *)(*(type_8 *)PTR_DestroyImage_003a8f4c)(var_9);
              return var_9;
            }
          }
        }
        return (type_1 *)0x0;
      }
      goto LAB_001dd2f0;
    }
  }
  var_7 = 0x1de;
  var_9 = (type_1 *)(var_3 + -0xedc);
  var_17 = var_3 + -0x12ec;
  var_11 = var_2 + 0x1cac;
  var_10 = PTR___assert_fail_003a9608;
  (*(type_8 *)PTR___assert_fail_003a9608)();
  piVar21 = *(int **)(var_10 + 0x1cbef8);
  var_27 = *piVar21;
  pIStack_64 = unaff_s1;
  if (var_11 == (type_5 *)0x0) {
    (**(type_8 **)(var_10 + 0x1cc2d0))
              (*(int *)(var_10 + 0x1cb5b0) + -0x37b0,*(int *)(var_10 + 0x1cb5b4) + -0x12ec,0x238,
               *(int *)(var_10 + 0x1cb5b4) + -0xefc);
    var_11 = unaff_s2;
LAB_001dd890:
    (**(type_8 **)(var_10 + 0x1cbd2c))();
LAB_001dd89c:
    var_17 = unaff_s5;
    var_7 = unaff_s3;
    var_9 = unaff_s1;
    (**(type_8 **)(var_10 + 0x1cc2d0))
              (*(int *)(var_10 + 0x1cb5b0) + -0x3784,*(int *)(var_10 + 0x1cb5b4) + -0x12ec,0x239,
               *(int *)(var_10 + 0x1cb5b4) + -0xefc);
LAB_001dd8c0:
    (**(type_8 **)(var_10 + 0x1cc2d0))
              (*(int *)(var_10 + 0x1cb5a8) + 0x294c,*(int *)(var_10 + 0x1cb5b4) + -0x12ec,0x23d,
               *(int *)(var_10 + 0x1cb5b4) + -0xefc);
  }
  else {
    if (*(int *)(var_11 + 0x336c) != -0x54535255) goto LAB_001dd89c;
    if (*(int *)(var_11 + 0x3350) != 0) {
      (**(type_8 **)(var_10 + 0x1cbea8))
                (0x8000,*(int *)(var_10 + 0x1cb5b4) + -0x12ec,*(int *)(var_10 + 0x1cb5b4) + -0xf0c
                 ,0x23b);
    }
    if (var_9 != (type_1 *)0x0) {
      if (var_9->rows == 0xabacadab) {
        var_12 = (type_1 *)(**(type_8 **)(var_10 + 0x1cc4f8))(var_11,0,0,1);
        var_6 = var_12;
        if (var_12 != (type_1 *)0x0) {
          var_8 = (**(type_8 **)(var_10 + 0x1cc4ec))(var_12,1,var_9);
          if (var_8 == 0) {
            var_6 = (type_1 *)0x0;
            (**(type_8 **)(var_10 + 0x1cbc14))(var_12);
          }
          else {
            if (var_12->colorspace == var_13) {
LAB_001dd4b8:
              var_28 = *(type_8 **)(var_10 + 0x1cba08);
LAB_001dd4bc:
              (*var_28)(var_12,0x17,var_9);
            }
            else {
              var_28 = *(type_8 **)(var_10 + 0x1cba08);
              if (var_12->colorspace == var_14) goto LAB_001dd4bc;
              var_15 = *(double *)(var_7 + 0x28) - *(double *)(var_7 + 0x30);
              if (var_15 < 0.0) {
                var_15 = -var_15;
              }
              if (var_15 < *(double *)(*(int *)(var_10 + 0x1cb5a8) + 0x13f8)) {
                var_15 = *(double *)(var_7 + 0x30) - *(double *)(var_7 + 0x38);
                if (var_15 < 0.0) {
                  var_15 = -var_15;
                }
                if (var_15 < *(double *)(*(int *)(var_10 + 0x1cb5a8) + 0x13f8)) goto LAB_001dd4b8;
              }
            }
            if ((var_12->alpha_trait == var_16) && (*(int *)(var_7 + 8) != 0)) {
              (**(type_8 **)(var_10 + 0x1cb940))
                        (var_12,*(type_4 *)(*(int *)(var_10 + 0x1cb5a8) + 0x1a50),var_9);
            }
            if (var_17 != (type_5 *)0x0) {
              unaff_s6 = auStack_c8;
              (**(type_8 **)(var_10 + 0x1cbf7c))(var_12,unaff_s6);
              var_18 = (**(type_8 **)(var_10 + 0x1cc11c))(var_17,&uStack_f0);
              uStack_80 = 0;
              uStack_a0 = uStack_f0;
              uStack_98 = uStack_f0;
              uStack_90 = uStack_f0;
              uStack_88 = uStack_f0;
              if ((var_18 & 8) != 0) {
                uStack_98 = uStack_e8;
              }
              if ((var_18 & 1) != 0) {
                uStack_90 = uStack_e0;
              }
              if ((var_18 & 2) == 0) {
                var_28 = *(type_8 **)(var_10 + 0x1cc41c);
                uVar27 = uStack_88;
                if (var_19 == 2) goto LAB_001dd6b0;
              }
              else {
                uStack_80 = uStack_d8;
                uVar27 = uStack_d8;
                if (var_19 == 2) {
LAB_001dd6b0:
                  uStack_88 = uVar27;
                  var_28 = *(type_8 **)(var_10 + 0x1cc41c);
                  if ((var_18 & 0x10) != 0) {
                    uStack_80 = uStack_d0;
                  }
                }
                else {
                  var_28 = *(type_8 **)(var_10 + 0x1cc41c);
                }
              }
              uStack_114 = 0;
              uStack_118 = 0;
              var_17 = (type_5 *)(*var_28)(var_12,var_9);
              var_8 = (**(type_8 **)(var_10 + 0x1cc17c))(var_12);
              if (((var_8 == 4) || (var_8 = (**(type_8 **)(var_10 + 0x1cc17c))(var_12), var_8 == 3))
                 && ((var_8 = (**(type_8 **)(var_10 + 0x1cc17c))(var_12), var_8 == 4 ||
                     (var_8 = (**(type_8 **)(var_10 + 0x1cc17c))(var_12), var_8 == 3)))) {
                (**(type_8 **)(var_10 + 0x1cbe04))(7);
                var_20 = var_12->rows;
                var_24 = var_20;
                if ((int)var_20 < 0) {
                  var_24 = var_20 + 0x3f;
                }
                if (var_21 < (int)var_24 >> 6) {
                  (**(type_8 **)(var_10 + 0x1cbe04))(7);
                  var_23 = var_22 < 2;
                }
                else {
                  var_23 = (int)var_20 < 0x80;
                }
                var_8 = 1;
                if ((bool)(var_23 ^ 1)) {
                  (**(type_8 **)(var_10 + 0x1cbe04))(7);
                  var_24 = var_12->rows;
                  if ((int)var_24 < 0) {
                    var_24 = var_24 + 0x3f;
                  }
                  var_8 = (int)var_24 >> 6;
                  var_26 = *(int *)(var_10 + 0x1cb66c);
                  if (var_25 < var_8) {
                    var_28 = *(type_8 **)(var_10 + 0x1cbe04);
                    goto LAB_001dd7c0;
                  }
                }
                else {
                  var_26 = *(int *)(var_10 + 0x1cb66c);
                }
              }
              else {
                uVar27 = (**(type_8 **)(var_10 + 0x1cbe04))(7);
                if ((int)((type_9)uVar27 >> 0x20) == 0) {
                  var_28 = *(type_8 **)(var_10 + 0x1cbe04);
                  if (1 < (type_3)uVar27) goto LAB_001dd5d4;
                  uVar27 = (*var_28)(7);
                  if ((int)((type_9)uVar27 >> 0x20) != 0) goto LAB_001dd5d0;
                  var_28 = *(type_8 **)(var_10 + 0x1cbe04);
                  if (1 < (type_3)uVar27) goto LAB_001dd5d4;
                  var_8 = 1;
                }
                else {
LAB_001dd5d0:
                  var_28 = *(type_8 **)(var_10 + 0x1cbe04);
LAB_001dd5d4:
                  uVar27 = (*var_28)(7);
                  if (((int)((type_9)uVar27 >> 0x20) == 0) &&
                     (var_28 = *(type_8 **)(var_10 + 0x1cbe04), (type_3)uVar27 < 2)) {
LAB_001dd7c0:
                    (*var_28)(7);
                    var_8 = extraout_v1_00;
                  }
                  else {
                    var_8 = 2;
                  }
                }
                var_26 = *(int *)(var_10 + 0x1cb66c);
              }
              pIStack_f8 = (type_1 *)0x1;
              puStack_f4 = &uStack_118;
              puStack_110 = var_11;
              iStack_10c = var_7;
              pIStack_108 = var_9;
              puStack_104 = var_17;
              pIStack_100 = var_12;
              puStack_fc = unaff_s6;
              (**(type_8 **)(var_10 + 0x1cbe60))(var_26 + -0x43b4,&puStack_110,var_8,0);
              var_9 = pIStack_f8;
              (**(type_8 **)(var_10 + 0x1cbbbc))(var_17);
              if (var_9 == (type_1 *)0x0) {
                var_6 = (type_1 *)(**(type_8 **)(var_10 + 0x1cbc14))(var_12);
              }
            }
          }
        }
        unaff_s1 = var_9;
        unaff_s3 = var_7;
        unaff_s5 = var_17;
        if (var_27 == *piVar21) {
          return var_6;
        }
        goto LAB_001dd890;
      }
      goto LAB_001dd8c0;
    }
  }
  var_26 = 0x23c;
  var_28 = *(type_8 **)(var_10 + 0x1cc2d0);
  var_8 = *(int *)(var_10 + 0x1cb5b4) + -0x12ec;
  var_29 = (type_6 *)(*(int *)(var_10 + 0x1cb5a8) + 0x1cac);
  (*var_28)();
  piVar8 = *(int **)(var_28 + 0x1cb928);
  var_41 = *piVar8;
  pIStack_168 = var_6;
  pIStack_164 = var_9;
  puStack_160 = var_11;
  iStack_15c = var_7;
  piStack_158 = piVar21;
  puStack_154 = var_17;
  puStack_150 = unaff_s6;
  (**(type_8 **)(var_28 + 0x1cbdcc))(auStack_1290,0,0x120);
  auStack_1290[0] = *(type_7 *)(*(int *)(var_28 + 0x1cafd8) + 0x1438);
  uStack_1258 = auStack_1290[0];
  uStack_1220 = auStack_1290[0];
  uStack_11e8 = auStack_1290[0];
  uStack_11b0 = auStack_1290[0];
  uStack_1178 = auStack_1290[0];
  if (var_29 == (type_6 *)0x0) {
    var_9 = (type_1 *)(**(type_8 **)(var_28 + 0x1cbd00))
                                (*(int *)(var_28 + 0x1cafd8) + 0xdd0,
                                 *(int *)(var_28 + 0x1cafe4) + -0x12ec,0x2f9,
                                 *(int *)(var_28 + 0x1cafe4) + -0xf20);
    return var_9;
  }
  var_7 = *(int *)(var_28 + 0x1cafe4);
  if (*(int *)(var_29 + 0x336c) != -0x54535255) goto LAB_001ddf28;
  if (*(int *)(var_29 + 0x3350) != 0) {
    (**(type_8 **)(var_28 + 0x1cb8d8))
              (0x8000,*(int *)(var_28 + 0x1cafe4) + -0x12ec,*(int *)(var_28 + 0x1cafe4) + -0xf34,
               0x2fc,*(int *)(var_28 + 0x1cafdc) + -0x62ac,var_29 + 0x340);
  }
  if (var_26 == 0) {
    var_9 = (type_1 *)(**(type_8 **)(var_28 + 0x1cbd00))
                                (*(int *)(var_28 + 0x1cafd8) + 0x1cac,
                                 *(int *)(var_28 + 0x1cafe4) + -0x12ec,0x2fd,
                                 *(int *)(var_28 + 0x1cafe4) + -0xf20);
    return var_9;
  }
  if (*(int *)(var_26 + 0x1c) != -0x54535255) {
    var_9 = (type_1 *)(**(type_8 **)(var_28 + 0x1cbd00))
                                (*(int *)(var_28 + 0x1cafd8) + 0x294c,
                                 *(int *)(var_28 + 0x1cafe4) + -0x12ec,0x2fe,
                                 *(int *)(var_28 + 0x1cafe4) + -0xf20);
    return var_9;
  }
  var_30 = *(int *)(var_8 + 8);
  var_7 = 0;
  if (0 < var_30) {
    var_31 = *(int *)(var_8 + 4);
    var_33 = 0;
    var_34 = auStack_1290;
    do {
      if (0 < var_31) {
        var_32 = 0;
        do {
          if ((var_7 < 6) && (var_32 < 6)) {
            var_34[var_32] = *(type_7 *)(*(int *)(var_8 + 0x14) + (var_33 + var_32) * 8);
          }
          var_32 = var_32 + 1;
        } while (var_32 != var_31);
        var_33 = var_33 + var_31;
      }
      var_7 = var_7 + 1;
      var_34 = var_34 + 6;
    } while (var_7 != var_30);
  }
  var_7 = 1;
  var_35 = (type_1 *)(**(type_8 **)(var_28 + 0x1cbf28))(var_29,0,0,1,var_26);
  if (var_35 != (type_1 *)0x0) {
    var_30 = (**(type_8 **)(var_28 + 0x1cbf1c))(var_35,1,var_26);
    if (var_30 == 0) {
      (**(type_8 **)(var_28 + 0x1cb644))(var_35);
      var_35 = (type_1 *)0x0;
    }
    else {
      if (*(int *)(var_29 + 0x3350) != 0) {
        var_33 = *(int *)(var_28 + 0x1cafe4);
        var_31 = *(int *)(var_28 + 0x1cafe4);
        (**(type_8 **)(var_28 + 0x1cb8d8))
                  (0x10000,var_31 + -0x12ec,var_33 + -0xf34,0x318,
                   *(int *)(var_28 + 0x1cafe4) + -0x12d0);
        puStack_12b4 = (type_6 *)
                       (**(type_8 **)(var_28 + 0x1cbf0c))(*(int *)(var_28 + 0x1cafdc) + -0x3688);
        var_37 = 0;
        var_7 = *(int *)(var_28 + 0x1cafdc);
        var_32 = *(int *)(var_28 + 0x1cafe0);
        var_30 = *(int *)(var_28 + 0x1cafdc);
        do {
          pcVar25 = *(type_8 **)(var_28 + 0x1cb474);
          var_36 = 0;
          *puStack_12b4 = 0;
          (*pcVar25)(auStack_116c,0x1000,var_30 + -0x66b8);
          (**(type_8 **)(var_28 + 0x1cbaa0))(&puStack_12b4,auStack_116c);
          do {
            var_36 = var_36 + 1;
            (**(type_8 **)(var_28 + 0x1cb474))(auStack_116c,0x1000,var_32 + 0x4930);
            (**(type_8 **)(var_28 + 0x1cbaa0))(&puStack_12b4,auStack_116c);
          } while (var_36 != 6);
          var_37 = var_37 + 1;
          (**(type_8 **)(var_28 + 0x1cb8d8))
                    (0x10000,var_31 + -0x12ec,var_33 + -0xf34,0x326,var_7 + -0x62ac,puStack_12b4);
        } while (var_37 != 6);
        (**(type_8 **)(var_28 + 0x1cb76c))(puStack_12b4);
      }
      uStack_12bc = 0;
      uStack_12c0 = 0;
      uVar10 = (**(type_8 **)(var_28 + 0x1cbe4c))(var_29,var_26);
      uVar11 = (**(type_8 **)(var_28 + 0x1cb5cc))(var_35,var_26);
      var_7 = (**(type_8 **)(var_28 + 0x1cbbac))(var_29);
      if (((var_7 == 4) || (var_7 = (**(type_8 **)(var_28 + 0x1cbbac))(var_29), var_7 == 3)) &&
         ((var_7 = (**(type_8 **)(var_28 + 0x1cbbac))(var_35), var_7 == 4 ||
          (var_7 = (**(type_8 **)(var_28 + 0x1cbbac))(var_35), var_7 == 3)))) {
        (**(type_8 **)(var_28 + 0x1cb834))(7);
        var_7 = *(int *)(var_29 + 0x1c);
        if (var_7 < 0) {
          pcVar25 = *(type_8 **)(var_28 + 0x1cb834);
          if (var_7 + 0x3f >> 6 <= var_38) goto LAB_001ddc6c;
LAB_001dde94:
          (*pcVar25)(7);
          var_23 = var_39 < 2;
        }
        else {
          pcVar25 = *(type_8 **)(var_28 + 0x1cb834);
          if (var_38 < var_7 >> 6) goto LAB_001dde94;
LAB_001ddc6c:
          var_23 = var_7 < 0x80;
        }
        var_30 = 1;
        if ((bool)(var_23 ^ 1)) {
          (**(type_8 **)(var_28 + 0x1cb834))(7);
          var_30 = *(int *)(var_29 + 0x1c);
          if (var_30 < 0) {
            var_30 = var_30 + 0x3f;
          }
          var_30 = var_30 >> 6;
          if (var_40 < var_30) {
            pcVar25 = *(type_8 **)(var_28 + 0x1cb834);
            goto LAB_001dde6c;
          }
        }
      }
      else {
        uVar27 = (**(type_8 **)(var_28 + 0x1cb834))(7);
        if ((int)((type_9)uVar27 >> 0x20) == 0) {
          pcVar25 = *(type_8 **)(var_28 + 0x1cb834);
          if ((type_3)uVar27 < 2) {
            uVar27 = (*pcVar25)(7);
            if ((int)((type_9)uVar27 >> 0x20) != 0) goto LAB_001ddb28;
            pcVar25 = *(type_8 **)(var_28 + 0x1cb834);
            if (1 < (type_3)uVar27) goto LAB_001ddb2c;
            var_30 = 1;
            goto LAB_001ddb44;
          }
        }
        else {
LAB_001ddb28:
          pcVar25 = *(type_8 **)(var_28 + 0x1cb834);
        }
LAB_001ddb2c:
        uVar27 = (*pcVar25)(7);
        if (((int)((type_9)uVar27 >> 0x20) == 0) &&
           (pcVar25 = *(type_8 **)(var_28 + 0x1cb834), (type_3)uVar27 < 2)) {
LAB_001dde6c:
          (*pcVar25)(7);
          var_30 = extraout_v1_04;
        }
        else {
          var_30 = 2;
        }
      }
LAB_001ddb44:
      var_7 = 0;
      iStack_1298 = 1;
      puStack_1294 = &uStack_12c0;
      puStack_12b4 = var_29;
      iStack_12b0 = var_8;
      iStack_12ac = var_26;
      uStack_12a8 = uVar11;
      uStack_12a4 = uVar10;
      puStack_12a0 = auStack_1290;
      pIStack_129c = var_35;
      (**(type_8 **)(var_28 + 0x1cb890))
                (*(int *)(var_28 + 0x1cb09c) + -0x71ec,&puStack_12b4,var_30,0);
      var_8 = iStack_1298;
      (**(type_8 **)(var_28 + 0x1cb5ec))(uVar11);
      (**(type_8 **)(var_28 + 0x1cb5ec))(uVar10);
      if (var_8 == 0) {
        var_35 = (type_1 *)(**(type_8 **)(var_28 + 0x1cb644))(var_35);
      }
    }
  }
  if (var_41 == *piVar8) {
    return var_35;
  }
  (**(type_8 **)(var_28 + 0x1cb75c))();
LAB_001ddf28:
  var_9 = (type_1 *)(**(type_8 **)(var_28 + 0x1cbd00))
                              (*(int *)(var_28 + 0x1cafe0) + -0x3784,
                               *(int *)(var_28 + 0x1cafe4) + -0x12ec,0x2fa,var_7 + -0xf20);
  return var_9;
}


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

int MASKED(undefined *param_1)

{
  bool bVar1;
  int iVar2;
  int iVar3;
  int iVar4;
  uint uVar5;
  int *piVar6;
  int iVar7;
  undefined4 uVar8;
  undefined4 uVar9;
  int extraout_v1;
  int extraout_v1_00;
  int extraout_v1_01;
  int extraout_v1_02;
  int extraout_v1_03;
  int extraout_v1_04;
  int extraout_v1_05;
  int extraout_v1_06;
  undefined *puVar10;
  int iVar11;
  undefined1 *puVar12;
  undefined *puVar13;
  int iVar14;
  undefined *puVar15;
  undefined8 *puVar16;
  int iVar17;
  undefined *unaff_s1;
  undefined *unaff_s2;
  int unaff_s3;
  int *piVar18;
  undefined *unaff_s5;
  undefined1 *unaff_s6;
  int iVar19;
  undefined *puVar20;
  code *pcVar21;
  code *pcVar22;
  double dVar23;
  undefined8 uVar24;
  int in_stack_00000018;
  int iStack_12e4;
  int iStack_12dc;
  undefined4 uStack_12c0;
  undefined4 uStack_12bc;
  undefined1 *puStack_12b4;
  int iStack_12b0;
  int iStack_12ac;
  undefined4 uStack_12a8;
  undefined4 uStack_12a4;
  undefined8 *puStack_12a0;
  int iStack_129c;
  int iStack_1298;
  undefined4 *puStack_1294;
  undefined8 auStack_1290 [7];
  undefined8 uStack_1258;
  undefined8 uStack_1220;
  undefined8 uStack_11e8;
  undefined8 uStack_11b0;
  undefined8 uStack_1178;
  undefined1 auStack_116c [4096];
  int iStack_16c;
  int iStack_168;
  undefined *puStack_164;
  undefined *puStack_160;
  int iStack_15c;
  int *piStack_158;
  undefined *puStack_154;
  undefined1 *puStack_150;
  undefined4 uStack_118;
  undefined4 uStack_114;
  undefined *puStack_110;
  int iStack_10c;
  undefined *puStack_108;
  undefined *puStack_104;
  int iStack_100;
  undefined1 *puStack_fc;
  undefined *puStack_f8;
  undefined4 *puStack_f4;
  undefined8 uStack_f0;
  undefined8 uStack_e8;
  undefined8 uStack_e0;
  undefined8 uStack_d8;
  undefined8 uStack_d0;
  undefined1 auStack_c8 [4];
  int iStack_c4;
  undefined8 uStack_a0;
  undefined8 uStack_98;
  undefined8 uStack_90;
  undefined8 uStack_88;
  undefined8 uStack_80;
  int iStack_6c;
  int iStack_68;
  undefined *puStack_64;
  
  if (param_1 == (undefined *)0x0) {
LAB_001dd2cc:
    (*(code *)PTR___assert_fail_003a9608)
              (PTR_LAB_003a88e0 + 0xdd0,PTR_s_courses_003a88ec + -0x12ec,0x1da,
               PTR_s_courses_003a88ec + -0xedc);
LAB_001dd2f0:
    (*(code *)PTR___assert_fail_003a9608)
              (PTR_LAB_003a88e0 + 0x294c,PTR_s_courses_003a88ec + -0x12ec,0x1df,
               PTR_s_courses_003a88ec + -0xedc);
  }
  else {
    unaff_s1 = param_1;
    if (*(int *)(param_1 + 0x336c) != -0x54535255) {
      (*(code *)PTR___assert_fail_003a9608)
                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,
                 PTR_s_courses_003a88ec + -0x12ec,0x1db,PTR_s_courses_003a88ec + -0xedc);
      goto LAB_001dd2cc;
    }
    if (*(int *)(param_1 + 0x3350) != 0) {
      (*(code *)PTR_LogMagickEvent_003a91e0)
                (0x8000,PTR_s_courses_003a88ec + -0x12ec,PTR_s_courses_003a88ec + -0xeec,0x1dd);
    }
    if (in_stack_00000018 != 0) {
      if (*(int *)(in_stack_00000018 + 0x1c) == -0x54535255) {
        iVar2 = (*(code *)PTR_EdgeImage_003a8dec)(param_1);
        puVar15 = PTR_ClampImage_003a93c8;
        if (iVar2 != 0) {
          *(undefined4 *)(iVar2 + 700) = 0;
          iVar3 = (*(code *)puVar15)(iVar2,in_stack_00000018);
          if (iVar3 == 0) {
            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);
          }
          else {
            iVar3 = (*(code *)PTR_BlurImage_003a95c0)(iVar2);
            (*(code *)PTR_DestroyImage_003a8f4c)(iVar2);
            if (iVar3 != 0) {
              iVar2 = (*(code *)PTR_NormalizeImage_003a8f7c)(iVar3,in_stack_00000018);
              if (((iVar2 != 0) &&
                  (iVar2 = (*(code *)PTR_NegateImage_003a985c)(iVar3,0,in_stack_00000018),
                  iVar2 != 0)) &&
                 (iVar2 = (*(code *)PTR_GrayscaleImage_003a91cc)
                                    (iVar3,*(undefined4 *)(param_1 + 0x254),in_stack_00000018),
                 iVar2 != 0)) {
                return iVar3;
              }
                    /* WARNING: Could not recover jumptable at 0x001dd244. Too many branches */
                    /* WARNING: Treating indirect jump as call */
              iVar2 = (*(code *)PTR_DestroyImage_003a8f4c)(iVar3);
              return iVar2;
            }
          }
        }
        return 0;
      }
      goto LAB_001dd2f0;
    }
  }
  iVar2 = 0x1de;
  puVar15 = PTR_s_courses_003a88ec + -0xedc;
  puVar13 = PTR_s_courses_003a88ec + -0x12ec;
  puVar10 = PTR_LAB_003a88e0 + 0x1cac;
  puVar20 = PTR___assert_fail_003a9608;
  (*(code *)PTR___assert_fail_003a9608)();
  piVar18 = *(int **)(puVar20 + 0x1cbef8);
  iStack_68 = in_stack_00000018;
  iStack_6c = *piVar18;
  puStack_64 = unaff_s1;
  if (puVar10 == (undefined *)0x0) {
    (**(code **)(puVar20 + 0x1cc2d0))
              (*(int *)(puVar20 + 0x1cb5b0) + -0x37b0,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,0x238,
               *(int *)(puVar20 + 0x1cb5b4) + -0xefc);
    puVar10 = unaff_s2;
LAB_001dd890:
    (**(code **)(puVar20 + 0x1cbd2c))();
LAB_001dd89c:
    puVar13 = unaff_s5;
    iVar2 = unaff_s3;
    puVar15 = unaff_s1;
    (**(code **)(puVar20 + 0x1cc2d0))
              (*(int *)(puVar20 + 0x1cb5b0) + -0x3784,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,0x239,
               *(int *)(puVar20 + 0x1cb5b4) + -0xefc);
LAB_001dd8c0:
    (**(code **)(puVar20 + 0x1cc2d0))
              (*(int *)(puVar20 + 0x1cb5a8) + 0x294c,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,0x23d,
               *(int *)(puVar20 + 0x1cb5b4) + -0xefc);
  }
  else {
    if (*(int *)(puVar10 + 0x336c) != -0x54535255) goto LAB_001dd89c;
    if (*(int *)(puVar10 + 0x3350) != 0) {
      (**(code **)(puVar20 + 0x1cbea8))
                (0x8000,*(int *)(puVar20 + 0x1cb5b4) + -0x12ec,*(int *)(puVar20 + 0x1cb5b4) + -0xf0c
                 ,0x23b);
    }
    if (puVar15 != (undefined *)0x0) {
      if (*(int *)(puVar15 + 0x1c) == -0x54535255) {
        iVar3 = (**(code **)(puVar20 + 0x1cc4f8))(puVar10,0,0,1);
        in_stack_00000018 = iVar3;
        if (iVar3 != 0) {
          iVar4 = (**(code **)(puVar20 + 0x1cc4ec))(iVar3,1,puVar15);
          if (iVar4 == 0) {
            in_stack_00000018 = 0;
            (**(code **)(puVar20 + 0x1cbc14))(iVar3);
          }
          else {
            if (*(int *)(iVar3 + 4) == 0x21) {
LAB_001dd4b8:
              pcVar21 = *(code **)(puVar20 + 0x1cba08);
LAB_001dd4bc:
              (*pcVar21)(iVar3,0x17,puVar15);
            }
            else {
              pcVar21 = *(code **)(puVar20 + 0x1cba08);
              if (*(int *)(iVar3 + 4) == 3) goto LAB_001dd4bc;
              dVar23 = *(double *)(iVar2 + 0x28) - *(double *)(iVar2 + 0x30);
              if (dVar23 < 0.0) {
                dVar23 = -dVar23;
              }
              if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) {
                dVar23 = *(double *)(iVar2 + 0x30) - *(double *)(iVar2 + 0x38);
                if (dVar23 < 0.0) {
                  dVar23 = -dVar23;
                }
                if (dVar23 < *(double *)(*(int *)(puVar20 + 0x1cb5a8) + 0x13f8)) goto LAB_001dd4b8;
              }
            }
            if ((*(int *)(iVar3 + 700) == 0) && (*(int *)(iVar2 + 8) != 0)) {
              (**(code **)(puVar20 + 0x1cb940))
                        (iVar3,*(undefined4 *)(*(int *)(puVar20 + 0x1cb5a8) + 0x1a50),puVar15);
            }
            if (puVar13 != (undefined *)0x0) {
              unaff_s6 = auStack_c8;
              (**(code **)(puVar20 + 0x1cbf7c))(iVar3,unaff_s6);
              uVar5 = (**(code **)(puVar20 + 0x1cc11c))(puVar13,&uStack_f0);
              uStack_80 = 0;
              uStack_a0 = uStack_f0;
              uStack_98 = uStack_f0;
              uStack_90 = uStack_f0;
              uStack_88 = uStack_f0;
              if ((uVar5 & 8) != 0) {
                uStack_98 = uStack_e8;
              }
              if ((uVar5 & 1) != 0) {
                uStack_90 = uStack_e0;
              }
              if ((uVar5 & 2) == 0) {
                pcVar21 = *(code **)(puVar20 + 0x1cc41c);
                uVar24 = uStack_88;
                if (iStack_c4 == 2) goto LAB_001dd6b0;
              }
              else {
                uStack_80 = uStack_d8;
                uVar24 = uStack_d8;
                if (iStack_c4 == 2) {
LAB_001dd6b0:
                  uStack_88 = uVar24;
                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);
                  if ((uVar5 & 0x10) != 0) {
                    uStack_80 = uStack_d0;
                  }
                }
                else {
                  pcVar21 = *(code **)(puVar20 + 0x1cc41c);
                }
              }
              uStack_114 = 0;
              uStack_118 = 0;
              puVar13 = (undefined *)(*pcVar21)(iVar3,puVar15);
              iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3);
              if (((iVar4 == 4) || (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3))
                 && ((iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 4 ||
                     (iVar4 = (**(code **)(puVar20 + 0x1cc17c))(iVar3), iVar4 == 3)))) {
                (**(code **)(puVar20 + 0x1cbe04))(7);
                iVar11 = *(int *)(iVar3 + 0x1c);
                iVar4 = iVar11;
                if (iVar11 < 0) {
                  iVar4 = iVar11 + 0x3f;
                }
                if (extraout_v1 < iVar4 >> 6) {
                  (**(code **)(puVar20 + 0x1cbe04))(7);
                  bVar1 = extraout_v1_02 < 2;
                }
                else {
                  bVar1 = iVar11 < 0x80;
                }
                iVar4 = 1;
                if ((bool)(bVar1 ^ 1)) {
                  (**(code **)(puVar20 + 0x1cbe04))(7);
                  iVar4 = *(int *)(iVar3 + 0x1c);
                  if (iVar4 < 0) {
                    iVar4 = iVar4 + 0x3f;
                  }
                  iVar4 = iVar4 >> 6;
                  iVar11 = *(int *)(puVar20 + 0x1cb66c);
                  if (extraout_v1_01 < iVar4) {
                    pcVar21 = *(code **)(puVar20 + 0x1cbe04);
                    goto LAB_001dd7c0;
                  }
                }
                else {
                  iVar11 = *(int *)(puVar20 + 0x1cb66c);
                }
              }
              else {
                uVar24 = (**(code **)(puVar20 + 0x1cbe04))(7);
                if ((int)((ulonglong)uVar24 >> 0x20) == 0) {
                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);
                  if (1 < (uint)uVar24) goto LAB_001dd5d4;
                  uVar24 = (*pcVar21)(7);
                  if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001dd5d0;
                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);
                  if (1 < (uint)uVar24) goto LAB_001dd5d4;
                  iVar4 = 1;
                }
                else {
LAB_001dd5d0:
                  pcVar21 = *(code **)(puVar20 + 0x1cbe04);
LAB_001dd5d4:
                  uVar24 = (*pcVar21)(7);
                  if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&
                     (pcVar21 = *(code **)(puVar20 + 0x1cbe04), (uint)uVar24 < 2)) {
LAB_001dd7c0:
                    (*pcVar21)(7);
                    iVar4 = extraout_v1_00;
                  }
                  else {
                    iVar4 = 2;
                  }
                }
                iVar11 = *(int *)(puVar20 + 0x1cb66c);
              }
              puStack_f8 = (undefined *)0x1;
              puStack_f4 = &uStack_118;
              puStack_110 = puVar10;
              iStack_10c = iVar2;
              puStack_108 = puVar15;
              puStack_104 = puVar13;
              iStack_100 = iVar3;
              puStack_fc = unaff_s6;
              (**(code **)(puVar20 + 0x1cbe60))(iVar11 + -0x43b4,&puStack_110,iVar4,0);
              puVar15 = puStack_f8;
              (**(code **)(puVar20 + 0x1cbbbc))(puVar13);
              if (puVar15 == (undefined *)0x0) {
                in_stack_00000018 = (**(code **)(puVar20 + 0x1cbc14))(iVar3);
              }
            }
          }
        }
        unaff_s1 = puVar15;
        unaff_s3 = iVar2;
        unaff_s5 = puVar13;
        if (iStack_6c == *piVar18) {
          return in_stack_00000018;
        }
        goto LAB_001dd890;
      }
      goto LAB_001dd8c0;
    }
  }
  iVar4 = 0x23c;
  pcVar21 = *(code **)(puVar20 + 0x1cc2d0);
  iVar3 = *(int *)(puVar20 + 0x1cb5b4) + -0x12ec;
  puVar12 = (undefined1 *)(*(int *)(puVar20 + 0x1cb5a8) + 0x1cac);
  (*pcVar21)();
  piVar6 = *(int **)(pcVar21 + 0x1cb928);
  iStack_16c = *piVar6;
  iStack_168 = in_stack_00000018;
  puStack_164 = puVar15;
  puStack_160 = puVar10;
  iStack_15c = iVar2;
  piStack_158 = piVar18;
  puStack_154 = puVar13;
  puStack_150 = unaff_s6;
  (**(code **)(pcVar21 + 0x1cbdcc))(auStack_1290,0,0x120);
  auStack_1290[0] = *(undefined8 *)(*(int *)(pcVar21 + 0x1cafd8) + 0x1438);
  uStack_1258 = auStack_1290[0];
  uStack_1220 = auStack_1290[0];
  uStack_11e8 = auStack_1290[0];
  uStack_11b0 = auStack_1290[0];
  uStack_1178 = auStack_1290[0];
  if (puVar12 == (undefined1 *)0x0) {
    iVar2 = (**(code **)(pcVar21 + 0x1cbd00))
                      (*(int *)(pcVar21 + 0x1cafd8) + 0xdd0,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,
                       0x2f9,*(int *)(pcVar21 + 0x1cafe4) + -0xf20);
    return iVar2;
  }
  iVar2 = *(int *)(pcVar21 + 0x1cafe4);
  if (*(int *)(puVar12 + 0x336c) != -0x54535255) goto LAB_001ddf28;
  if (*(int *)(puVar12 + 0x3350) != 0) {
    (**(code **)(pcVar21 + 0x1cb8d8))
              (0x8000,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,*(int *)(pcVar21 + 0x1cafe4) + -0xf34,
               0x2fc,*(int *)(pcVar21 + 0x1cafdc) + -0x62ac,puVar12 + 0x340);
  }
  if (iVar4 == 0) {
    iVar2 = (**(code **)(pcVar21 + 0x1cbd00))
                      (*(int *)(pcVar21 + 0x1cafd8) + 0x1cac,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,
                       0x2fd,*(int *)(pcVar21 + 0x1cafe4) + -0xf20);
    return iVar2;
  }
  if (*(int *)(iVar4 + 0x1c) != -0x54535255) {
    iVar2 = (**(code **)(pcVar21 + 0x1cbd00))
                      (*(int *)(pcVar21 + 0x1cafd8) + 0x294c,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,
                       0x2fe,*(int *)(pcVar21 + 0x1cafe4) + -0xf20);
    return iVar2;
  }
  iVar11 = *(int *)(iVar3 + 8);
  iVar2 = 0;
  if (0 < iVar11) {
    iVar14 = *(int *)(iVar3 + 4);
    iVar17 = 0;
    puVar16 = auStack_1290;
    do {
      if (0 < iVar14) {
        iVar7 = 0;
        do {
          if ((iVar2 < 6) && (iVar7 < 6)) {
            puVar16[iVar7] = *(undefined8 *)(*(int *)(iVar3 + 0x14) + (iVar17 + iVar7) * 8);
          }
          iVar7 = iVar7 + 1;
        } while (iVar7 != iVar14);
        iVar17 = iVar17 + iVar14;
      }
      iVar2 = iVar2 + 1;
      puVar16 = puVar16 + 6;
    } while (iVar2 != iVar11);
  }
  iVar2 = 1;
  iStack_12dc = (**(code **)(pcVar21 + 0x1cbf28))(puVar12,0,0,1,iVar4);
  if (iStack_12dc != 0) {
    iVar11 = (**(code **)(pcVar21 + 0x1cbf1c))(iStack_12dc,1,iVar4);
    if (iVar11 == 0) {
      (**(code **)(pcVar21 + 0x1cb644))(iStack_12dc);
      iStack_12dc = 0;
    }
    else {
      if (*(int *)(puVar12 + 0x3350) != 0) {
        iVar17 = *(int *)(pcVar21 + 0x1cafe4);
        iVar14 = *(int *)(pcVar21 + 0x1cafe4);
        (**(code **)(pcVar21 + 0x1cb8d8))
                  (0x10000,iVar14 + -0x12ec,iVar17 + -0xf34,0x318,
                   *(int *)(pcVar21 + 0x1cafe4) + -0x12d0);
        puStack_12b4 = (undefined1 *)
                       (**(code **)(pcVar21 + 0x1cbf0c))(*(int *)(pcVar21 + 0x1cafdc) + -0x3688);
        iStack_12e4 = 0;
        iVar2 = *(int *)(pcVar21 + 0x1cafdc);
        iVar7 = *(int *)(pcVar21 + 0x1cafe0);
        iVar11 = *(int *)(pcVar21 + 0x1cafdc);
        do {
          pcVar22 = *(code **)(pcVar21 + 0x1cb474);
          iVar19 = 0;
          *puStack_12b4 = 0;
          (*pcVar22)(auStack_116c,0x1000,iVar11 + -0x66b8);
          (**(code **)(pcVar21 + 0x1cbaa0))(&puStack_12b4,auStack_116c);
          do {
            iVar19 = iVar19 + 1;
            (**(code **)(pcVar21 + 0x1cb474))(auStack_116c,0x1000,iVar7 + 0x4930);
            (**(code **)(pcVar21 + 0x1cbaa0))(&puStack_12b4,auStack_116c);
          } while (iVar19 != 6);
          iStack_12e4 = iStack_12e4 + 1;
          (**(code **)(pcVar21 + 0x1cb8d8))
                    (0x10000,iVar14 + -0x12ec,iVar17 + -0xf34,0x326,iVar2 + -0x62ac,puStack_12b4);
        } while (iStack_12e4 != 6);
        (**(code **)(pcVar21 + 0x1cb76c))(puStack_12b4);
      }
      uStack_12bc = 0;
      uStack_12c0 = 0;
      uVar8 = (**(code **)(pcVar21 + 0x1cbe4c))(puVar12,iVar4);
      uVar9 = (**(code **)(pcVar21 + 0x1cb5cc))(iStack_12dc,iVar4);
      iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(puVar12);
      if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(puVar12), iVar2 == 3)) &&
         ((iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc), iVar2 == 4 ||
          (iVar2 = (**(code **)(pcVar21 + 0x1cbbac))(iStack_12dc), iVar2 == 3)))) {
        (**(code **)(pcVar21 + 0x1cb834))(7);
        iVar2 = *(int *)(puVar12 + 0x1c);
        if (iVar2 < 0) {
          pcVar22 = *(code **)(pcVar21 + 0x1cb834);
          if (iVar2 + 0x3f >> 6 <= extraout_v1_03) goto LAB_001ddc6c;
LAB_001dde94:
          (*pcVar22)(7);
          bVar1 = extraout_v1_05 < 2;
        }
        else {
          pcVar22 = *(code **)(pcVar21 + 0x1cb834);
          if (extraout_v1_03 < iVar2 >> 6) goto LAB_001dde94;
LAB_001ddc6c:
          bVar1 = iVar2 < 0x80;
        }
        iVar11 = 1;
        if ((bool)(bVar1 ^ 1)) {
          (**(code **)(pcVar21 + 0x1cb834))(7);
          iVar11 = *(int *)(puVar12 + 0x1c);
          if (iVar11 < 0) {
            iVar11 = iVar11 + 0x3f;
          }
          iVar11 = iVar11 >> 6;
          if (extraout_v1_06 < iVar11) {
            pcVar22 = *(code **)(pcVar21 + 0x1cb834);
            goto LAB_001dde6c;
          }
        }
      }
      else {
        uVar24 = (**(code **)(pcVar21 + 0x1cb834))(7);
        if ((int)((ulonglong)uVar24 >> 0x20) == 0) {
          pcVar22 = *(code **)(pcVar21 + 0x1cb834);
          if ((uint)uVar24 < 2) {
            uVar24 = (*pcVar22)(7);
            if ((int)((ulonglong)uVar24 >> 0x20) != 0) goto LAB_001ddb28;
            pcVar22 = *(code **)(pcVar21 + 0x1cb834);
            if (1 < (uint)uVar24) goto LAB_001ddb2c;
            iVar11 = 1;
            goto LAB_001ddb44;
          }
        }
        else {
LAB_001ddb28:
          pcVar22 = *(code **)(pcVar21 + 0x1cb834);
        }
LAB_001ddb2c:
        uVar24 = (*pcVar22)(7);
        if (((int)((ulonglong)uVar24 >> 0x20) == 0) &&
           (pcVar22 = *(code **)(pcVar21 + 0x1cb834), (uint)uVar24 < 2)) {
LAB_001dde6c:
          (*pcVar22)(7);
          iVar11 = extraout_v1_04;
        }
        else {
          iVar11 = 2;
        }
      }
LAB_001ddb44:
      iVar2 = 0;
      iStack_1298 = 1;
      puStack_1294 = &uStack_12c0;
      puStack_12b4 = puVar12;
      iStack_12b0 = iVar3;
      iStack_12ac = iVar4;
      uStack_12a8 = uVar9;
      uStack_12a4 = uVar8;
      puStack_12a0 = auStack_1290;
      iStack_129c = iStack_12dc;
      (**(code **)(pcVar21 + 0x1cb890))
                (*(int *)(pcVar21 + 0x1cb09c) + -0x71ec,&puStack_12b4,iVar11,0);
      iVar3 = iStack_1298;
      (**(code **)(pcVar21 + 0x1cb5ec))(uVar9);
      (**(code **)(pcVar21 + 0x1cb5ec))(uVar8);
      if (iVar3 == 0) {
        iStack_12dc = (**(code **)(pcVar21 + 0x1cb644))(iStack_12dc);
      }
    }
  }
  if (iStack_16c == *piVar6) {
    return iStack_12dc;
  }
  (**(code **)(pcVar21 + 0x1cb75c))();
LAB_001ddf28:
  iVar2 = (**(code **)(pcVar21 + 0x1cbd00))
                    (*(int *)(pcVar21 + 0x1cafe0) + -0x3784,*(int *)(pcVar21 + 0x1cafe4) + -0x12ec,
                     0x2fa,iVar2 + -0xf20);
  return iVar2;
}

