
/* WARNING: Enum "LogEventType": Some values do not have unique names */
/* WARNING: Enum "ExceptionType": Some values do not have unique names */
/* WARNING: Enum "LogHandlerType": Some values do not have unique names */

MagickBooleanType
LogMagickEvent(LogEventType type,char *module,char *function,size_t line,char *format,...)

{
  int iVar1;
  MagickBooleanType MVar2;
  LogInfo *pLVar3;
  int iVar4;
  int *piVar5;
  int iVar6;
  int iVar7;
  int *piVar8;
  int iVar9;
  uint uVar10;
  undefined4 *puVar11;
  MagickBooleanType *pMVar12;
  int iVar13;
  undefined4 uVar14;
  ExceptionInfo *pEVar15;
  char *pcVar16;
  int *piVar17;
  undefined *puVar18;
  int iVar19;
  int *piVar20;
  int iVar21;
  int iVar22;
  int iVar23;
  undefined4 *puVar24;
  int unaff_s6;
  int iVar25;
  int *unaff_s7;
  undefined4 uVar26;
  undefined *puVar27;
  code *pcVar28;
  code *pcVar29;
  double dVar30;
  double dVar31;
  int iStack_d0;
  int iStack_cc;
  undefined *puStack_c8;
  char *pcStack_c4;
  char *pcStack_c0;
  char *pcStack_bc;
  size_t sStack_b8;
  char *pcStack_b4;
  int iStack_b0;
  int *piStack_ac;
  va_list operands;
  
  puVar18 = PTR___stack_chk_guard_003a9230;
  iVar1 = *(int *)PTR___stack_chk_guard_003a9230;
  piVar8 = (int *)module;
  pcVar16 = function;
  MVar2 = (*(code *)PTR_IsEventLogging_003a97a8)();
  if (MVar2 != MagickFalse) {
    piVar8 = (int *)module;
    pcVar16 = function;
    MVar2 = (*(code *)PTR_LogMagickEventList_003a9148)(type,module,function,line);
  }
  if (iVar1 == *(int *)puVar18) {
    return MVar2;
  }
  puVar27 = PTR___stack_chk_fail_003a9064;
  (*(code *)PTR___stack_chk_fail_003a9064)();
  if (iVar1 == 0) {
    (**(code **)(puVar27 + 0x29ccac))
              (*(int *)(puVar27 + 0x29bf84) + 0x45e0,*(int *)(puVar27 + 0x29bf88) + -0x40d0,499,
               *(int *)(puVar27 + 0x29bf88) + -0x3bd0);
  }
  else {
    puVar18 = *(undefined **)(puVar27 + 0x29bf88);
    pEVar15 = (ExceptionInfo *)(puVar18 + -0x40d0);
    (**(code **)(puVar27 + 0x29c884))(0x8000,pEVar15,*(int *)(puVar27 + 0x29bf88) + -0x3be0,500);
    type = (LogEventType)pcVar16;
    unaff_s6 = iVar1;
    unaff_s7 = piVar8;
    if (piVar8 != (int *)0x0) {
      *piVar8 = 0;
      pLVar3 = GetLogInfo(pcVar16,pEVar15);
      if (pLVar3 != (LogInfo *)0x0) {
        iVar22 = *(int *)(puVar27 + 0x29bf70);
        iVar4 = (**(code **)(puVar27 + 0x29ca98))(*(undefined4 *)(iVar22 + -0x5088));
        piVar5 = (int *)(**(code **)(puVar27 + 0x29cbb0))(iVar4 + 1,4);
        if (piVar5 != (int *)0x0) {
          iVar4 = *(int *)(puVar27 + 0x29bf70);
          (**(code **)(puVar27 + 0x29cd8c))(*(undefined4 *)(iVar4 + -0x5090));
          (**(code **)(puVar27 + 0x29cbdc))(*(undefined4 *)(iVar22 + -0x5088));
          iVar6 = (**(code **)(puVar27 + 0x29c9b4))(*(undefined4 *)(iVar22 + -0x5088));
          if (iVar6 == 0) {
            iVar19 = 0;
            piVar17 = piVar5;
          }
          else {
            iVar19 = 0;
            do {
              piVar17 = piVar5 + iVar19;
              if ((*(int *)(iVar6 + 0x2c) == 0) &&
                 (iVar7 = (**(code **)(puVar27 + 0x29ccec))(*(undefined4 *)(iVar6 + 0xc),iVar1,0),
                 iVar7 != 0)) {
                *piVar17 = iVar6;
                piVar17 = piVar5 + iVar19 + 1;
                iVar19 = iVar19 + 1;
              }
              iVar6 = (**(code **)(puVar27 + 0x29c9b4))(*(undefined4 *)(iVar22 + -0x5088));
            } while (iVar6 != 0);
          }
          (**(code **)(puVar27 + 0x29ca24))(*(undefined4 *)(iVar4 + -0x5090));
          (**(code **)(puVar27 + 0x29cf78))(piVar5,iVar19,4,*(int *)(puVar27 + 0x29c13c) + -0x5800);
          *piVar8 = iVar19;
          *piVar17 = 0;
          return (MagickBooleanType)piVar5;
        }
      }
      return MagickFalse;
    }
  }
  pcVar16 = puVar18 + -0x40d0;
  pcVar28 = *(code **)(puVar27 + 0x29ccac);
  iVar1 = *(int *)(puVar27 + 0x29bf88) + -0x3e64;
  (*pcVar28)(iVar1,pcVar16,0x1f5,*(int *)(puVar27 + 0x29bf88) + -0x3bd0);
  piVar8 = *(int **)(pcVar28 + 0x29c670);
  pcStack_b4 = format;
  iStack_cc = *piVar8;
  if (iVar1 == 0) {
    iVar1 = **(int **)(pcVar28 + 0x29c324);
  }
  piVar17 = &iStack_d0;
  puStack_c8 = puVar18;
  pcStack_c4 = (char *)type;
  pcStack_c0 = module;
  pcStack_bc = function;
  sStack_b8 = line;
  iStack_b0 = unaff_s6;
  piStack_ac = unaff_s7;
  piVar5 = (int *)(**(code **)(pcVar28 + 0x29cc48))(*(int *)(pcVar28 + 0x29bd28) + 0x6c9c);
  if (piVar5 == (int *)0x0) {
    MVar2 = MagickFalse;
  }
  else {
    iVar4 = *(int *)(pcVar28 + 0x29bd20);
    if (0 < iStack_d0) {
      iVar23 = 0;
      iVar25 = *(int *)(pcVar28 + 0x29bd8c);
      iVar6 = 0;
      iVar21 = *(int *)(pcVar28 + 0x29bd90);
      dVar31 = *(double *)(iVar4 + 0x1418);
      iVar19 = *(int *)(pcVar28 + 0x29bd24);
      iVar7 = *(int *)(pcVar28 + 0x29bd24);
      iVar22 = iStack_d0;
      piVar20 = piVar5;
      do {
        iVar13 = *piVar20;
        piVar17 = *(int **)(iVar13 + 0x2c);
        if (piVar17 == (int *)0x0) {
          iVar22 = *(int *)(iVar13 + 8);
          if ((iVar6 == 0) ||
             (iVar9 = (**(code **)(pcVar28 + 0x29c550))(iVar6,iVar22), iVar6 = iVar22, iVar9 != 0))
          {
            if (iVar22 != 0) {
              (**(code **)(pcVar28 + 0x29c984))(iVar1,*(int *)(pcVar28 + 0x29bd20) + 0x4620,iVar22);
              iVar13 = *piVar20;
            }
            iVar22 = 0;
            uVar10 = 0;
            pcVar16 = (char *)(*(int *)(pcVar28 + 0x29bd24) + -0x3b94);
            while( true ) {
              if ((1 << (uVar10 & 0x1f) & *(uint *)(iVar13 + 4)) != 0) {
                (**(code **)(pcVar28 + 0x29c984))(iVar1,iVar25 + 0x30e8,pcVar16);
                iVar6 = (**(code **)(pcVar28 + 0x29c778))(pcVar16);
                iVar22 = iVar22 + iVar6;
              }
              if (uVar10 == 0x1f) break;
              pcVar16 = pcVar16 + 0x10;
              uVar10 = uVar10 + 1;
              if (*pcVar16 == '\0') break;
              iVar13 = *piVar20;
            }
            if (iVar22 < 0xd) {
              do {
                iVar22 = iVar22 + 1;
                (**(code **)(pcVar28 + 0x29c984))(iVar1,iVar21 + 0x2158);
              } while (iVar22 != 0xd);
            }
            (**(code **)(pcVar28 + 0x29c984))(iVar1,*(int *)(pcVar28 + 0x29bd24) + -0x3e3c);
            (**(code **)(pcVar28 + 0x29c984))(iVar1,*(int *)(pcVar28 + 0x29bd20) + 0x4644);
            iVar13 = *piVar20;
            iVar6 = *(int *)(iVar13 + 8);
          }
          if (*(int *)(iVar13 + 0x10) != 0) {
            (**(code **)(pcVar28 + 0x29c984))(iVar1,*(int *)(pcVar28 + 0x29bd24) + -0x62ac);
            iVar13 = *piVar20;
            uVar10 = (**(code **)(pcVar28 + 0x29c778))(*(undefined4 *)(iVar13 + 0x10));
            if (uVar10 < 0x11) {
              do {
                uVar10 = uVar10 + 1;
                (**(code **)(pcVar28 + 0x29c984))(iVar1,iVar21 + 0x2158);
              } while (uVar10 != 0x11);
              iVar13 = *piVar20;
            }
          }
          dVar30 = (double)*(int *)(iVar13 + 0x18);
          if (*(int *)(iVar13 + 0x18) < 0) {
            dVar30 = dVar30 + *(double *)(iVar4 + 0x1418);
          }
          (**(code **)(pcVar28 + 0x29c984))
                    (iVar1,iVar19 + -0x3e1c,(int)((ulonglong)dVar30 >> 0x20),SUB84(dVar30,0));
          dVar30 = (double)*(int *)(*piVar20 + 0x1c);
          if (*(int *)(*piVar20 + 0x1c) < 0) {
            dVar30 = dVar30 + dVar31;
          }
          (**(code **)(pcVar28 + 0x29c984))
                    (iVar1,iVar7 + -0x3e14,(int)((ulonglong)dVar30 >> 0x20),SUB84(dVar30,0));
          pcVar16 = *(char **)(*piVar20 + 0x14);
          if (pcVar16 != (char *)0x0) {
            (**(code **)(pcVar28 + 0x29c984))(iVar1,*(int *)(pcVar28 + 0x29bd24) + -0x62ac);
          }
          piVar17 = (int *)(*(int *)(pcVar28 + 0x29bd2c) + -0x4bdc);
          (**(code **)(pcVar28 + 0x29c984))(iVar1);
          iVar22 = iStack_d0;
        }
        iVar23 = iVar23 + 1;
        piVar20 = piVar20 + 1;
      } while (iVar23 < iVar22);
    }
    (**(code **)(pcVar28 + 0x29c8cc))(iVar1);
    (**(code **)(pcVar28 + 0x29c400))(piVar5);
    MVar2 = MagickTrue;
  }
  if (iStack_cc == *piVar8) {
    return MVar2;
  }
  pcVar28 = *(code **)(pcVar28 + 0x29c4a4);
  iVar4 = iStack_cc;
  (*pcVar28)();
  if (iVar4 == 0) {
    (**(code **)(pcVar28 + 0x29c674))
              (*(int *)(pcVar28 + 0x29b94c) + 0x45e0,*(int *)(pcVar28 + 0x29b950) + -0x40d0,0x250,
               *(int *)(pcVar28 + 0x29b950) + -0x3bec);
  }
  else {
    iVar1 = *(int *)(pcVar28 + 0x29b950);
    pEVar15 = (ExceptionInfo *)(iVar1 + -0x40d0);
    (**(code **)(pcVar28 + 0x29c24c))
              (0x8000,pEVar15,*(int *)(pcVar28 + 0x29b950) + -0x3bf8,0x251,
               *(int *)(pcVar28 + 0x29b950) + -0x62ac,iVar4);
    if (piVar17 != (int *)0x0) {
      *piVar17 = 0;
      pLVar3 = GetLogInfo(pcVar16,pEVar15);
      if (pLVar3 != (LogInfo *)0x0) {
        iVar22 = *(int *)(pcVar28 + 0x29b938);
        iVar1 = (**(code **)(pcVar28 + 0x29c460))(*(undefined4 *)(iVar22 + -0x5088));
        puVar11 = (undefined4 *)(**(code **)(pcVar28 + 0x29c578))(iVar1 + 1,4);
        if (puVar11 != (undefined4 *)0x0) {
          iVar1 = *(int *)(pcVar28 + 0x29b938);
          (**(code **)(pcVar28 + 0x29c754))(*(undefined4 *)(iVar1 + -0x5090));
          (**(code **)(pcVar28 + 0x29c5a4))(*(undefined4 *)(iVar22 + -0x5088));
          iVar6 = (**(code **)(pcVar28 + 0x29c37c))(*(undefined4 *)(iVar22 + -0x5088));
          if (iVar6 == 0) {
            iVar19 = 0;
            puVar24 = puVar11;
          }
          else {
            iVar19 = 0;
LAB_0010d0bc:
            do {
              if (*(int *)(iVar6 + 0x2c) == 0) {
                uVar26 = *(undefined4 *)(iVar6 + 0xc);
                iVar6 = (**(code **)(pcVar28 + 0x29c6b4))(uVar26,iVar4,0);
                if (iVar6 != 0) {
                  iVar21 = iVar19 + 1;
                  uVar26 = (**(code **)(pcVar28 + 0x29c120))(uVar26);
                  uVar14 = *(undefined4 *)(iVar22 + -0x5088);
                  puVar11[iVar19] = uVar26;
                  iVar7 = iVar19 + 1;
                  iVar6 = (**(code **)(pcVar28 + 0x29c37c))(uVar14);
                  iVar19 = iVar21;
                  puVar24 = puVar11 + iVar7;
                  if (iVar6 == 0) break;
                  goto LAB_0010d0bc;
                }
              }
              iVar6 = (**(code **)(pcVar28 + 0x29c37c))(*(undefined4 *)(iVar22 + -0x5088));
              puVar24 = puVar11 + iVar19;
            } while (iVar6 != 0);
          }
          (**(code **)(pcVar28 + 0x29c3ec))(*(undefined4 *)(iVar1 + -0x5090));
          (**(code **)(pcVar28 + 0x29c940))(puVar11,iVar19,4,*(int *)(pcVar28 + 0x29bb04) + -0x578c)
          ;
          *piVar17 = iVar19;
          *puVar24 = 0;
          return (MagickBooleanType)puVar11;
        }
      }
      return MagickFalse;
    }
  }
  pEVar15 = (ExceptionInfo *)(iVar1 + -0x40d0);
  pcVar29 = *(code **)(pcVar28 + 0x29c674);
  iVar1 = *(int *)(pcVar28 + 0x29b950) + -0x3e64;
  (*pcVar29)(iVar1,pEVar15,0x252,*(int *)(pcVar28 + 0x29b950) + -0x3bec);
  iVar22 = *(int *)(pcVar29 + 0x29b6b0);
  iVar4 = *(int *)(pcVar29 + 0x29b6b0);
  pcVar16 = (char *)(**(code **)(pcVar29 + 0x29bcd0))();
  GetLogInfo(pcVar16,pEVar15);
  (**(code **)(pcVar29 + 0x29bb34))(pcVar16);
  MVar2 = (**(code **)(pcVar29 + 0x29c478))(0x2c,1,iVar1);
  (**(code **)(pcVar29 + 0x29c4cc))(*(undefined4 *)(iVar22 + -0x5090));
  pMVar12 = (MagickBooleanType *)
            (**(code **)(pcVar29 + 0x29bc6c))(*(undefined4 *)(iVar4 + -0x5088),0);
  if (MVar2 == ~MagickFalse) {
    pcVar28 = *(code **)(pcVar29 + 0x29c210);
    uVar26 = *(undefined4 *)(iVar4 + -0x5088);
    *pMVar12 = MagickFalse;
    iVar1 = (*pcVar28)(uVar26);
  }
  else {
    pcVar28 = *(code **)(pcVar29 + 0x29c210);
    uVar26 = *(undefined4 *)(iVar4 + -0x5088);
    *pMVar12 = MVar2;
    iVar1 = (*pcVar28)(uVar26);
  }
  if (iVar1 == 0) {
    (**(code **)(pcVar29 + 0x29c31c))(*(undefined4 *)(iVar4 + -0x5088));
    piVar8 = (int *)(**(code **)(pcVar29 + 0x29c0f4))(*(undefined4 *)(iVar4 + -0x5088));
    if (piVar8 == (int *)0x0) {
      *(undefined4 *)(*(int *)(pcVar29 + 0x29b6b0) + -0x508c) = 0;
    }
    else {
      *(uint *)(*(int *)(pcVar29 + 0x29b6b0) + -0x508c) = (uint)(*piVar8 != 0);
    }
  }
  else {
    *(undefined4 *)(*(int *)(pcVar29 + 0x29b6b0) + -0x508c) = 0;
  }
  (**(code **)(pcVar29 + 0x29c164))(*(undefined4 *)(iVar22 + -0x5090));
  return *pMVar12;
}



int * LogMagickEvent(undefined4 param_1,int *param_2,undefined4 param_3,undefined4 param_4,
                    undefined4 param_5)

{
  int iVar1;
  int *piVar2;
  int iVar3;
  int iVar4;
  int iVar5;
  int *piVar6;
  int iVar7;
  uint uVar8;
  int iVar9;
  undefined *puVar10;
  int *piVar11;
  undefined *puVar12;
  int iVar13;
  int *piVar14;
  int iVar15;
  int iVar16;
  int iVar17;
  char *pcVar18;
  int unaff_s6;
  int iVar19;
  int *unaff_s7;
  undefined4 uVar20;
  undefined *puVar21;
  code *pcVar22;
  code *pcVar23;
  double dVar24;
  double dVar25;
  int iStack_d0;
  int iStack_cc;
  undefined *puStack_c8;
  undefined4 uStack_c4;
  int *piStack_c0;
  undefined4 uStack_bc;
  undefined4 uStack_b8;
  undefined4 uStack_b4;
  int iStack_b0;
  int *piStack_ac;
  
  puVar12 = PTR___stack_chk_guard_003a9230;
  iVar1 = *(int *)PTR___stack_chk_guard_003a9230;
  piVar6 = param_2;
  uVar20 = param_3;
  piVar2 = (int *)(*(code *)PTR_IsEventLogging_003a97a8)();
  if (piVar2 != (int *)0x0) {
    piVar6 = param_2;
    uVar20 = param_3;
    piVar2 = (int *)(*(code *)PTR_LogMagickEventList_003a9148)(param_1,param_2,param_3,param_4);
  }
  if (iVar1 == *(int *)puVar12) {
    return piVar2;
  }
  puVar21 = PTR___stack_chk_fail_003a9064;
  (*(code *)PTR___stack_chk_fail_003a9064)();
  if (iVar1 == 0) {
    (**(code **)(puVar21 + 0x29ccac))
              (*(int *)(puVar21 + 0x29bf84) + 0x45e0,*(int *)(puVar21 + 0x29bf88) + -0x40d0,499,
               *(int *)(puVar21 + 0x29bf88) + -0x3bd0);
  }
  else {
    puVar12 = *(undefined **)(puVar21 + 0x29bf88);
    (**(code **)(puVar21 + 0x29c884))
              (0x8000,puVar12 + -0x40d0,*(int *)(puVar21 + 0x29bf88) + -0x3be0,500);
    param_1 = uVar20;
    unaff_s6 = iVar1;
    unaff_s7 = piVar6;
    if (piVar6 != (int *)0x0) {
      *piVar6 = 0;
      iVar3 = FUN_0010b2dc(uVar20);
      if (iVar3 != 0) {
        iVar16 = *(int *)(puVar21 + 0x29bf70);
        iVar3 = (**(code **)(puVar21 + 0x29ca98))(*(undefined4 *)(iVar16 + -0x5088));
        piVar2 = (int *)(**(code **)(puVar21 + 0x29cbb0))(iVar3 + 1,4);
        if (piVar2 != (int *)0x0) {
          iVar3 = *(int *)(puVar21 + 0x29bf70);
          (**(code **)(puVar21 + 0x29cd8c))(*(undefined4 *)(iVar3 + -0x5090));
          (**(code **)(puVar21 + 0x29cbdc))(*(undefined4 *)(iVar16 + -0x5088));
          iVar4 = (**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088));
          if (iVar4 == 0) {
            iVar13 = 0;
            piVar11 = piVar2;
          }
          else {
            iVar13 = 0;
            do {
              piVar11 = piVar2 + iVar13;
              if ((*(int *)(iVar4 + 0x2c) == 0) &&
                 (iVar5 = (**(code **)(puVar21 + 0x29ccec))(*(undefined4 *)(iVar4 + 0xc),iVar1,0),
                 iVar5 != 0)) {
                *piVar11 = iVar4;
                piVar11 = piVar2 + iVar13 + 1;
                iVar13 = iVar13 + 1;
              }
              iVar4 = (**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088));
            } while (iVar4 != 0);
          }
          (**(code **)(puVar21 + 0x29ca24))(*(undefined4 *)(iVar3 + -0x5090));
          (**(code **)(puVar21 + 0x29cf78))(piVar2,iVar13,4,*(int *)(puVar21 + 0x29c13c) + -0x5800);
          *piVar6 = iVar13;
          *piVar11 = 0;
          return piVar2;
        }
      }
      return (int *)0x0;
    }
  }
  puVar10 = puVar12 + -0x40d0;
  pcVar22 = *(code **)(puVar21 + 0x29ccac);
  iVar1 = *(int *)(puVar21 + 0x29bf88) + -0x3e64;
  (*pcVar22)(iVar1,puVar10,0x1f5,*(int *)(puVar21 + 0x29bf88) + -0x3bd0);
  piVar6 = *(int **)(pcVar22 + 0x29c670);
  uStack_b4 = param_5;
  iStack_cc = *piVar6;
  if (iVar1 == 0) {
    iVar1 = **(int **)(pcVar22 + 0x29c324);
  }
  piVar11 = &iStack_d0;
  puStack_c8 = puVar12;
  uStack_c4 = param_1;
  piStack_c0 = param_2;
  uStack_bc = param_3;
  uStack_b8 = param_4;
  iStack_b0 = unaff_s6;
  piStack_ac = unaff_s7;
  piVar2 = (int *)(**(code **)(pcVar22 + 0x29cc48))(*(int *)(pcVar22 + 0x29bd28) + 0x6c9c);
  if (piVar2 == (int *)0x0) {
    piVar2 = (int *)0x0;
  }
  else {
    iVar3 = *(int *)(pcVar22 + 0x29bd20);
    if (0 < iStack_d0) {
      iVar17 = 0;
      iVar19 = *(int *)(pcVar22 + 0x29bd8c);
      iVar4 = 0;
      iVar15 = *(int *)(pcVar22 + 0x29bd90);
      dVar25 = *(double *)(iVar3 + 0x1418);
      iVar13 = *(int *)(pcVar22 + 0x29bd24);
      iVar5 = *(int *)(pcVar22 + 0x29bd24);
      iVar16 = iStack_d0;
      piVar14 = piVar2;
      do {
        iVar9 = *piVar14;
        piVar11 = *(int **)(iVar9 + 0x2c);
        if (piVar11 == (int *)0x0) {
          iVar16 = *(int *)(iVar9 + 8);
          if ((iVar4 == 0) ||
             (iVar7 = (**(code **)(pcVar22 + 0x29c550))(iVar4,iVar16), iVar4 = iVar16, iVar7 != 0))
          {
            if (iVar16 != 0) {
              (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4620,iVar16);
              iVar9 = *piVar14;
            }
            iVar16 = 0;
            uVar8 = 0;
            pcVar18 = (char *)(*(int *)(pcVar22 + 0x29bd24) + -0x3b94);
            while( true ) {
              if ((1 << (uVar8 & 0x1f) & *(uint *)(iVar9 + 4)) != 0) {
                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar19 + 0x30e8,pcVar18);
                iVar4 = (**(code **)(pcVar22 + 0x29c778))(pcVar18);
                iVar16 = iVar16 + iVar4;
              }
              if (uVar8 == 0x1f) break;
              pcVar18 = pcVar18 + 0x10;
              uVar8 = uVar8 + 1;
              if (*pcVar18 == '\0') break;
              iVar9 = *piVar14;
            }
            if (iVar16 < 0xd) {
              do {
                iVar16 = iVar16 + 1;
                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);
              } while (iVar16 != 0xd);
            }
            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x3e3c);
            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4644);
            iVar9 = *piVar14;
            iVar4 = *(int *)(iVar9 + 8);
          }
          if (*(int *)(iVar9 + 0x10) != 0) {
            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x62ac);
            iVar9 = *piVar14;
            uVar8 = (**(code **)(pcVar22 + 0x29c778))(*(undefined4 *)(iVar9 + 0x10));
            if (uVar8 < 0x11) {
              do {
                uVar8 = uVar8 + 1;
                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);
              } while (uVar8 != 0x11);
              iVar9 = *piVar14;
            }
          }
          dVar24 = (double)*(int *)(iVar9 + 0x18);
          if (*(int *)(iVar9 + 0x18) < 0) {
            dVar24 = dVar24 + *(double *)(iVar3 + 0x1418);
          }
          (**(code **)(pcVar22 + 0x29c984))
                    (iVar1,iVar13 + -0x3e1c,(int)((ulonglong)dVar24 >> 0x20),SUB84(dVar24,0));
          dVar24 = (double)*(int *)(*piVar14 + 0x1c);
          if (*(int *)(*piVar14 + 0x1c) < 0) {
            dVar24 = dVar24 + dVar25;
          }
          (**(code **)(pcVar22 + 0x29c984))
                    (iVar1,iVar5 + -0x3e14,(int)((ulonglong)dVar24 >> 0x20),SUB84(dVar24,0));
          puVar10 = *(undefined **)(*piVar14 + 0x14);
          if (puVar10 != (undefined *)0x0) {
            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x62ac);
          }
          piVar11 = (int *)(*(int *)(pcVar22 + 0x29bd2c) + -0x4bdc);
          (**(code **)(pcVar22 + 0x29c984))(iVar1);
          iVar16 = iStack_d0;
        }
        iVar17 = iVar17 + 1;
        piVar14 = piVar14 + 1;
      } while (iVar17 < iVar16);
    }
    (**(code **)(pcVar22 + 0x29c8cc))(iVar1);
    (**(code **)(pcVar22 + 0x29c400))(piVar2);
    piVar2 = (int *)0x1;
  }
  if (iStack_cc == *piVar6) {
    return piVar2;
  }
  pcVar22 = *(code **)(pcVar22 + 0x29c4a4);
  iVar3 = iStack_cc;
  (*pcVar22)();
  if (iVar3 == 0) {
    (**(code **)(pcVar22 + 0x29c674))
              (*(int *)(pcVar22 + 0x29b94c) + 0x45e0,*(int *)(pcVar22 + 0x29b950) + -0x40d0,0x250,
               *(int *)(pcVar22 + 0x29b950) + -0x3bec);
  }
  else {
    iVar1 = *(int *)(pcVar22 + 0x29b950);
    (**(code **)(pcVar22 + 0x29c24c))
              (0x8000,iVar1 + -0x40d0,*(int *)(pcVar22 + 0x29b950) + -0x3bf8,0x251,
               *(int *)(pcVar22 + 0x29b950) + -0x62ac,iVar3);
    if (piVar11 != (int *)0x0) {
      *piVar11 = 0;
      iVar1 = FUN_0010b2dc(puVar10);
      if (iVar1 != 0) {
        iVar16 = *(int *)(pcVar22 + 0x29b938);
        iVar1 = (**(code **)(pcVar22 + 0x29c460))(*(undefined4 *)(iVar16 + -0x5088));
        piVar6 = (int *)(**(code **)(pcVar22 + 0x29c578))(iVar1 + 1,4);
        if (piVar6 != (int *)0x0) {
          iVar1 = *(int *)(pcVar22 + 0x29b938);
          (**(code **)(pcVar22 + 0x29c754))(*(undefined4 *)(iVar1 + -0x5090));
          (**(code **)(pcVar22 + 0x29c5a4))(*(undefined4 *)(iVar16 + -0x5088));
          iVar4 = (**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088));
          if (iVar4 == 0) {
            iVar13 = 0;
            piVar2 = piVar6;
          }
          else {
            iVar13 = 0;
LAB_0010d0bc:
            do {
              if (*(int *)(iVar4 + 0x2c) == 0) {
                uVar20 = *(undefined4 *)(iVar4 + 0xc);
                iVar4 = (**(code **)(pcVar22 + 0x29c6b4))(uVar20,iVar3,0);
                if (iVar4 != 0) {
                  iVar15 = iVar13 + 1;
                  iVar4 = (**(code **)(pcVar22 + 0x29c120))(uVar20);
                  uVar20 = *(undefined4 *)(iVar16 + -0x5088);
                  piVar6[iVar13] = iVar4;
                  iVar5 = iVar13 + 1;
                  iVar4 = (**(code **)(pcVar22 + 0x29c37c))(uVar20);
                  iVar13 = iVar15;
                  piVar2 = piVar6 + iVar5;
                  if (iVar4 == 0) break;
                  goto LAB_0010d0bc;
                }
              }
              iVar4 = (**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088));
              piVar2 = piVar6 + iVar13;
            } while (iVar4 != 0);
          }
          (**(code **)(pcVar22 + 0x29c3ec))(*(undefined4 *)(iVar1 + -0x5090));
          (**(code **)(pcVar22 + 0x29c940))(piVar6,iVar13,4,*(int *)(pcVar22 + 0x29bb04) + -0x578c);
          *piVar11 = iVar13;
          *piVar2 = 0;
          return piVar6;
        }
      }
      return (int *)0x0;
    }
  }
  pcVar23 = *(code **)(pcVar22 + 0x29c674);
  iVar3 = *(int *)(pcVar22 + 0x29b950) + -0x3e64;
  (*pcVar23)(iVar3,iVar1 + -0x40d0,0x252,*(int *)(pcVar22 + 0x29b950) + -0x3bec);
  iVar4 = *(int *)(pcVar23 + 0x29b6b0);
  iVar16 = *(int *)(pcVar23 + 0x29b6b0);
  uVar20 = (**(code **)(pcVar23 + 0x29bcd0))();
  FUN_0010b2dc(uVar20);
  (**(code **)(pcVar23 + 0x29bb34))(uVar20);
  iVar1 = (**(code **)(pcVar23 + 0x29c478))(0x2c,1,iVar3);
  (**(code **)(pcVar23 + 0x29c4cc))(*(undefined4 *)(iVar4 + -0x5090));
  piVar6 = (int *)(**(code **)(pcVar23 + 0x29bc6c))(*(undefined4 *)(iVar16 + -0x5088),0);
  if (iVar1 == -1) {
    pcVar22 = *(code **)(pcVar23 + 0x29c210);
    uVar20 = *(undefined4 *)(iVar16 + -0x5088);
    *piVar6 = 0;
    iVar1 = (*pcVar22)(uVar20);
  }
  else {
    pcVar22 = *(code **)(pcVar23 + 0x29c210);
    uVar20 = *(undefined4 *)(iVar16 + -0x5088);
    *piVar6 = iVar1;
    iVar1 = (*pcVar22)(uVar20);
  }
  if (iVar1 == 0) {
    (**(code **)(pcVar23 + 0x29c31c))(*(undefined4 *)(iVar16 + -0x5088));
    piVar2 = (int *)(**(code **)(pcVar23 + 0x29c0f4))(*(undefined4 *)(iVar16 + -0x5088));
    if (piVar2 == (int *)0x0) {
      *(undefined4 *)(*(int *)(pcVar23 + 0x29b6b0) + -0x508c) = 0;
    }
    else {
      *(uint *)(*(int *)(pcVar23 + 0x29b6b0) + -0x508c) = (uint)(*piVar2 != 0);
    }
  }
  else {
    *(undefined4 *)(*(int *)(pcVar23 + 0x29b6b0) + -0x508c) = 0;
  }
  (**(code **)(pcVar23 + 0x29c164))(*(undefined4 *)(iVar4 + -0x5090));
  return (int *)*piVar6;
}


lui gp,0x2a
addiu gp,gp,0x4020
addu gp,gp,t9
addiu sp,sp,-0x48
lw t9,-0x7108(gp)
sw s0,0x2c(sp)
lw s0,-0x7680(gp)
sw gp,0x18(sp)
sw s5,0x40(sp)
sw s4,0x3c(sp)
or s4,a3,zero
sw s3,0x38(sp)
or s3,a2,zero
sw s2,0x34(sp)
or s2,a1,zero
sw s1,0x30(sp)
or s1,a0,zero
sw ra,0x44(sp)
lw v0,0x0(s0)
lw s5,0x58(sp)
sw v0,0x24(sp)
jalr t9
_nop
beq v0,zero,0x0010c920
_lw gp,0x18(sp)
addiu v0,sp,0x5c
lw t9,-0x7768(gp)
sw s5,0x10(sp)
or a3,s4,zero
sw v0,0x20(sp)
or a2,s3,zero
sw v0,0x14(sp)
or a1,s2,zero
jalr t9
_or a0,s1,zero
lw gp,0x18(sp)
lw a0,0x24(sp)
lw v1,0x0(s0)
bne a0,v1,0x0010c950
_lw ra,0x44(sp)
lw s5,0x40(sp)
lw s4,0x3c(sp)
lw s3,0x38(sp)
lw s2,0x34(sp)
lw s1,0x30(sp)
lw s0,0x2c(sp)
jr ra
_addiu sp,sp,0x48
lw t9,-0x784c(gp)
jalr t9
_nop
(translation_unit "int * LogMagickEvent(undefined4 param_1,int *param_2,undefined4 param_3,undefined4 param_4,\n                    undefined4 param_5)\n\n{\n  int iVar1;\n  int *piVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  int *piVar6;\n  int iVar7;\n  uint uVar8;\n  int iVar9;\n  undefined *puVar10;\n  int *piVar11;\n  undefined *puVar12;\n  int iVar13;\n  int *piVar14;\n  int iVar15;\n  int iVar16;\n  int iVar17;\n  char *pcVar18;\n  int unaff_s6;\n  int iVar19;\n  int *unaff_s7;\n  undefined4 uVar20;\n  undefined *puVar21;\n  code *pcVar22;\n  code *pcVar23;\n  double dVar24;\n  double dVar25;\n  int iStack_d0;\n  int iStack_cc;\n  undefined *puStack_c8;\n  undefined4 uStack_c4;\n  int *piStack_c0;\n  undefined4 uStack_bc;\n  undefined4 uStack_b8;\n  undefined4 uStack_b4;\n  int iStack_b0;\n  int *piStack_ac;\n  \n  puVar12 = PTR___stack_chk_guard_003a9230;\n  iVar1 = *(int *)PTR___stack_chk_guard_003a9230;\n  piVar6 = param_2;\n  uVar20 = param_3;\n  piVar2 = (int *)(*(code *)PTR_IsEventLogging_003a97a8)();\n  if (piVar2 != (int *)0x0) {\n    piVar6 = param_2;\n    uVar20 = param_3;\n    piVar2 = (int *)(*(code *)PTR_LogMagickEventList_003a9148)(param_1,param_2,param_3,param_4);\n  }\n  if (iVar1 == *(int *)puVar12) {\n    return piVar2;\n  }\n  puVar21 = PTR___stack_chk_fail_003a9064;\n  (*(code *)PTR___stack_chk_fail_003a9064)();\n  if (iVar1 == 0) {\n    (**(code **)(puVar21 + 0x29ccac))\n              (*(int *)(puVar21 + 0x29bf84) + 0x45e0,*(int *)(puVar21 + 0x29bf88) + -0x40d0,499,\n               *(int *)(puVar21 + 0x29bf88) + -0x3bd0);\n  }\n  else {\n    puVar12 = *(undefined **)(puVar21 + 0x29bf88);\n    (**(code **)(puVar21 + 0x29c884))\n              (0x8000,puVar12 + -0x40d0,*(int *)(puVar21 + 0x29bf88) + -0x3be0,500);\n    param_1 = uVar20;\n    unaff_s6 = iVar1;\n    unaff_s7 = piVar6;\n    if (piVar6 != (int *)0x0) {\n      *piVar6 = 0;\n      iVar3 = FUN_0010b2dc(uVar20);\n      if (iVar3 != 0) {\n        iVar16 = *(int *)(puVar21 + 0x29bf70);\n        iVar3 = (**(code **)(puVar21 + 0x29ca98))(*(undefined4 *)(iVar16 + -0x5088));\n        piVar2 = (int *)(**(code **)(puVar21 + 0x29cbb0))(iVar3 + 1,4);\n        if (piVar2 != (int *)0x0) {\n          iVar3 = *(int *)(puVar21 + 0x29bf70);\n          (**(code **)(puVar21 + 0x29cd8c))(*(undefined4 *)(iVar3 + -0x5090));\n          (**(code **)(puVar21 + 0x29cbdc))(*(undefined4 *)(iVar16 + -0x5088));\n          iVar4 = (**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088));\n          if (iVar4 == 0) {\n            iVar13 = 0;\n            piVar11 = piVar2;\n          }\n          else {\n            iVar13 = 0;\n            do {\n              piVar11 = piVar2 + iVar13;\n              if ((*(int *)(iVar4 + 0x2c) == 0) &&\n                 (iVar5 = (**(code **)(puVar21 + 0x29ccec))(*(undefined4 *)(iVar4 + 0xc),iVar1,0),\n                 iVar5 != 0)) {\n                *piVar11 = iVar4;\n                piVar11 = piVar2 + iVar13 + 1;\n                iVar13 = iVar13 + 1;\n              }\n              iVar4 = (**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088));\n            } while (iVar4 != 0);\n          }\n          (**(code **)(puVar21 + 0x29ca24))(*(undefined4 *)(iVar3 + -0x5090));\n          (**(code **)(puVar21 + 0x29cf78))(piVar2,iVar13,4,*(int *)(puVar21 + 0x29c13c) + -0x5800);\n          *piVar6 = iVar13;\n          *piVar11 = 0;\n          return piVar2;\n        }\n      }\n      return (int *)0x0;\n    }\n  }\n  puVar10 = puVar12 + -0x40d0;\n  pcVar22 = *(code **)(puVar21 + 0x29ccac);\n  iVar1 = *(int *)(puVar21 + 0x29bf88) + -0x3e64;\n  (*pcVar22)(iVar1,puVar10,0x1f5,*(int *)(puVar21 + 0x29bf88) + -0x3bd0);\n  piVar6 = *(int **)(pcVar22 + 0x29c670);\n  uStack_b4 = param_5;\n  iStack_cc = *piVar6;\n  if (iVar1 == 0) {\n    iVar1 = **(int **)(pcVar22 + 0x29c324);\n  }\n  piVar11 = &iStack_d0;\n  puStack_c8 = puVar12;\n  uStack_c4 = param_1;\n  piStack_c0 = param_2;\n  uStack_bc = param_3;\n  uStack_b8 = param_4;\n  iStack_b0 = unaff_s6;\n  piStack_ac = unaff_s7;\n  piVar2 = (int *)(**(code **)(pcVar22 + 0x29cc48))(*(int *)(pcVar22 + 0x29bd28) + 0x6c9c);\n  if (piVar2 == (int *)0x0) {\n    piVar2 = (int *)0x0;\n  }\n  else {\n    iVar3 = *(int *)(pcVar22 + 0x29bd20);\n    if (0 < iStack_d0) {\n      iVar17 = 0;\n      iVar19 = *(int *)(pcVar22 + 0x29bd8c);\n      iVar4 = 0;\n      iVar15 = *(int *)(pcVar22 + 0x29bd90);\n      dVar25 = *(double *)(iVar3 + 0x1418);\n      iVar13 = *(int *)(pcVar22 + 0x29bd24);\n      iVar5 = *(int *)(pcVar22 + 0x29bd24);\n      iVar16 = iStack_d0;\n      piVar14 = piVar2;\n      do {\n        iVar9 = *piVar14;\n        piVar11 = *(int **)(iVar9 + 0x2c);\n        if (piVar11 == (int *)0x0) {\n          iVar16 = *(int *)(iVar9 + 8);\n          if ((iVar4 == 0) ||\n             (iVar7 = (**(code **)(pcVar22 + 0x29c550))(iVar4,iVar16), iVar4 = iVar16, iVar7 != 0))\n          {\n            if (iVar16 != 0) {\n              (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4620,iVar16);\n              iVar9 = *piVar14;\n            }\n            iVar16 = 0;\n            uVar8 = 0;\n            pcVar18 = (char *)(*(int *)(pcVar22 + 0x29bd24) + -0x3b94);\n            while( true ) {\n              if ((1 << (uVar8 & 0x1f) & *(uint *)(iVar9 + 4)) != 0) {\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar19 + 0x30e8,pcVar18);\n                iVar4 = (**(code **)(pcVar22 + 0x29c778))(pcVar18);\n                iVar16 = iVar16 + iVar4;\n              }\n              if (uVar8 == 0x1f) break;\n              pcVar18 = pcVar18 + 0x10;\n              uVar8 = uVar8 + 1;\n              if (*pcVar18 == '\0') break;\n              iVar9 = *piVar14;\n            }\n            if (iVar16 < 0xd) {\n              do {\n                iVar16 = iVar16 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              } while (iVar16 != 0xd);\n            }\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x3e3c);\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4644);\n            iVar9 = *piVar14;\n            iVar4 = *(int *)(iVar9 + 8);\n          }\n          if (*(int *)(iVar9 + 0x10) != 0) {\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x62ac);\n            iVar9 = *piVar14;\n            uVar8 = (**(code **)(pcVar22 + 0x29c778))(*(undefined4 *)(iVar9 + 0x10));\n            if (uVar8 < 0x11) {\n              do {\n                uVar8 = uVar8 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              } while (uVar8 != 0x11);\n              iVar9 = *piVar14;\n            }\n          }\n          dVar24 = (double)*(int *)(iVar9 + 0x18);\n          if (*(int *)(iVar9 + 0x18) < 0) {\n            dVar24 = dVar24 + *(double *)(iVar3 + 0x1418);\n          }\n          (**(code **)(pcVar22 + 0x29c984))\n                    (iVar1,iVar13 + -0x3e1c,(int)((ulonglong)dVar24 >> 0x20),SUB84(dVar24,0));\n          dVar24 = (double)*(int *)(*piVar14 + 0x1c);\n          if (*(int *)(*piVar14 + 0x1c) < 0) {\n            dVar24 = dVar24 + dVar25;\n          }\n          (**(code **)(pcVar22 + 0x29c984))\n                    (iVar1,iVar5 + -0x3e14,(int)((ulonglong)dVar24 >> 0x20),SUB84(dVar24,0));\n          puVar10 = *(undefined **)(*piVar14 + 0x14);\n          if (puVar10 != (undefined *)0x0) {\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x62ac);\n          }\n          piVar11 = (int *)(*(int *)(pcVar22 + 0x29bd2c) + -0x4bdc);\n          (**(code **)(pcVar22 + 0x29c984))(iVar1);\n          iVar16 = iStack_d0;\n        }\n        iVar17 = iVar17 + 1;\n        piVar14 = piVar14 + 1;\n      } while (iVar17 < iVar16);\n    }\n    (**(code **)(pcVar22 + 0x29c8cc))(iVar1);\n    (**(code **)(pcVar22 + 0x29c400))(piVar2);\n    piVar2 = (int *)0x1;\n  }\n  if (iStack_cc == *piVar6) {\n    return piVar2;\n  }\n  pcVar22 = *(code **)(pcVar22 + 0x29c4a4);\n  iVar3 = iStack_cc;\n  (*pcVar22)();\n  if (iVar3 == 0) {\n    (**(code **)(pcVar22 + 0x29c674))\n              (*(int *)(pcVar22 + 0x29b94c) + 0x45e0,*(int *)(pcVar22 + 0x29b950) + -0x40d0,0x250,\n               *(int *)(pcVar22 + 0x29b950) + -0x3bec);\n  }\n  else {\n    iVar1 = *(int *)(pcVar22 + 0x29b950);\n    (**(code **)(pcVar22 + 0x29c24c))\n              (0x8000,iVar1 + -0x40d0,*(int *)(pcVar22 + 0x29b950) + -0x3bf8,0x251,\n               *(int *)(pcVar22 + 0x29b950) + -0x62ac,iVar3);\n    if (piVar11 != (int *)0x0) {\n      *piVar11 = 0;\n      iVar1 = FUN_0010b2dc(puVar10);\n      if (iVar1 != 0) {\n        iVar16 = *(int *)(pcVar22 + 0x29b938);\n        iVar1 = (**(code **)(pcVar22 + 0x29c460))(*(undefined4 *)(iVar16 + -0x5088));\n        piVar6 = (int *)(**(code **)(pcVar22 + 0x29c578))(iVar1 + 1,4);\n        if (piVar6 != (int *)0x0) {\n          iVar1 = *(int *)(pcVar22 + 0x29b938);\n          (**(code **)(pcVar22 + 0x29c754))(*(undefined4 *)(iVar1 + -0x5090));\n          (**(code **)(pcVar22 + 0x29c5a4))(*(undefined4 *)(iVar16 + -0x5088));\n          iVar4 = (**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088));\n          if (iVar4 == 0) {\n            iVar13 = 0;\n            piVar2 = piVar6;\n          }\n          else {\n            iVar13 = 0;\nLAB_0010d0bc:\n            do {\n              if (*(int *)(iVar4 + 0x2c) == 0) {\n                uVar20 = *(undefined4 *)(iVar4 + 0xc);\n                iVar4 = (**(code **)(pcVar22 + 0x29c6b4))(uVar20,iVar3,0);\n                if (iVar4 != 0) {\n                  iVar15 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c120))(uVar20);\n                  uVar20 = *(undefined4 *)(iVar16 + -0x5088);\n                  piVar6[iVar13] = iVar4;\n                  iVar5 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c37c))(uVar20);\n                  iVar13 = iVar15;\n                  piVar2 = piVar6 + iVar5;\n                  if (iVar4 == 0) break;\n                  goto LAB_0010d0bc;\n                }\n              }\n              iVar4 = (**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088));\n              piVar2 = piVar6 + iVar13;\n            } while (iVar4 != 0);\n          }\n          (**(code **)(pcVar22 + 0x29c3ec))(*(undefined4 *)(iVar1 + -0x5090));\n          (**(code **)(pcVar22 + 0x29c940))(piVar6,iVar13,4,*(int *)(pcVar22 + 0x29bb04) + -0x578c);\n          *piVar11 = iVar13;\n          *piVar2 = 0;\n          return piVar6;\n        }\n      }\n      return (int *)0x0;\n    }\n  }\n  pcVar23 = *(code **)(pcVar22 + 0x29c674);\n  iVar3 = *(int *)(pcVar22 + 0x29b950) + -0x3e64;\n  (*pcVar23)(iVar3,iVar1 + -0x40d0,0x252,*(int *)(pcVar22 + 0x29b950) + -0x3bec);\n  iVar4 = *(int *)(pcVar23 + 0x29b6b0);\n  iVar16 = *(int *)(pcVar23 + 0x29b6b0);\n  uVar20 = (**(code **)(pcVar23 + 0x29bcd0))();\n  FUN_0010b2dc(uVar20);\n  (**(code **)(pcVar23 + 0x29bb34))(uVar20);\n  iVar1 = (**(code **)(pcVar23 + 0x29c478))(0x2c,1,iVar3);\n  (**(code **)(pcVar23 + 0x29c4cc))(*(undefined4 *)(iVar4 + -0x5090));\n  piVar6 = (int *)(**(code **)(pcVar23 + 0x29bc6c))(*(undefined4 *)(iVar16 + -0x5088),0);\n  if (iVar1 == -1) {\n    pcVar22 = *(code **)(pcVar23 + 0x29c210);\n    uVar20 = *(undefined4 *)(iVar16 + -0x5088);\n    *piVar6 = 0;\n    iVar1 = (*pcVar22)(uVar20);\n  }\n  else {\n    pcVar22 = *(code **)(pcVar23 + 0x29c210);\n    uVar20 = *(undefined4 *)(iVar16 + -0x5088);\n    *piVar6 = iVar1;\n    iVar1 = (*pcVar22)(uVar20);\n  }\n  if (iVar1 == 0) {\n    (**(code **)(pcVar23 + 0x29c31c))(*(undefined4 *)(iVar16 + -0x5088));\n    piVar2 = (int *)(**(code **)(pcVar23 + 0x29c0f4))(*(undefined4 *)(iVar16 + -0x5088));\n    if (piVar2 == (int *)0x0) {\n      *(undefined4 *)(*(int *)(pcVar23 + 0x29b6b0) + -0x508c) = 0;\n    }\n    else {\n      *(uint *)(*(int *)(pcVar23 + 0x29b6b0) + -0x508c) = (uint)(*piVar2 != 0);\n    }\n  }\n  else {\n    *(undefined4 *)(*(int *)(pcVar23 + 0x29b6b0) + -0x508c) = 0;\n  }\n  (**(code **)(pcVar23 + 0x29c164))(*(undefined4 *)(iVar4 + -0x5090));\n  return (int *)*piVar6;\n}\n\n" (function_definition "int * LogMagickEvent(undefined4 param_1,int *param_2,undefined4 param_3,undefined4 param_4,\n                    undefined4 param_5)\n\n{\n  int iVar1;\n  int *piVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  int *piVar6;\n  int iVar7;\n  uint uVar8;\n  int iVar9;\n  undefined *puVar10;\n  int *piVar11;\n  undefined *puVar12;\n  int iVar13;\n  int *piVar14;\n  int iVar15;\n  int iVar16;\n  int iVar17;\n  char *pcVar18;\n  int unaff_s6;\n  int iVar19;\n  int *unaff_s7;\n  undefined4 uVar20;\n  undefined *puVar21;\n  code *pcVar22;\n  code *pcVar23;\n  double dVar24;\n  double dVar25;\n  int iStack_d0;\n  int iStack_cc;\n  undefined *puStack_c8;\n  undefined4 uStack_c4;\n  int *piStack_c0;\n  undefined4 uStack_bc;\n  undefined4 uStack_b8;\n  undefined4 uStack_b4;\n  int iStack_b0;\n  int *piStack_ac;\n  \n  puVar12 = PTR___stack_chk_guard_003a9230;\n  iVar1 = *(int *)PTR___stack_chk_guard_003a9230;\n  piVar6 = param_2;\n  uVar20 = param_3;\n  piVar2 = (int *)(*(code *)PTR_IsEventLogging_003a97a8)();\n  if (piVar2 != (int *)0x0) {\n    piVar6 = param_2;\n    uVar20 = param_3;\n    piVar2 = (int *)(*(code *)PTR_LogMagickEventList_003a9148)(param_1,param_2,param_3,param_4);\n  }\n  if (iVar1 == *(int *)puVar12) {\n    return piVar2;\n  }\n  puVar21 = PTR___stack_chk_fail_003a9064;\n  (*(code *)PTR___stack_chk_fail_003a9064)();\n  if (iVar1 == 0) {\n    (**(code **)(puVar21 + 0x29ccac))\n              (*(int *)(puVar21 + 0x29bf84) + 0x45e0,*(int *)(puVar21 + 0x29bf88) + -0x40d0,499,\n               *(int *)(puVar21 + 0x29bf88) + -0x3bd0);\n  }\n  else {\n    puVar12 = *(undefined **)(puVar21 + 0x29bf88);\n    (**(code **)(puVar21 + 0x29c884))\n              (0x8000,puVar12 + -0x40d0,*(int *)(puVar21 + 0x29bf88) + -0x3be0,500);\n    param_1 = uVar20;\n    unaff_s6 = iVar1;\n    unaff_s7 = piVar6;\n    if (piVar6 != (int *)0x0) {\n      *piVar6 = 0;\n      iVar3 = FUN_0010b2dc(uVar20);\n      if (iVar3 != 0) {\n        iVar16 = *(int *)(puVar21 + 0x29bf70);\n        iVar3 = (**(code **)(puVar21 + 0x29ca98))(*(undefined4 *)(iVar16 + -0x5088));\n        piVar2 = (int *)(**(code **)(puVar21 + 0x29cbb0))(iVar3 + 1,4);\n        if (piVar2 != (int *)0x0) {\n          iVar3 = *(int *)(puVar21 + 0x29bf70);\n          (**(code **)(puVar21 + 0x29cd8c))(*(undefined4 *)(iVar3 + -0x5090));\n          (**(code **)(puVar21 + 0x29cbdc))(*(undefined4 *)(iVar16 + -0x5088));\n          iVar4 = (**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088));\n          if (iVar4 == 0) {\n            iVar13 = 0;\n            piVar11 = piVar2;\n          }\n          else {\n            iVar13 = 0;\n            do {\n              piVar11 = piVar2 + iVar13;\n              if ((*(int *)(iVar4 + 0x2c) == 0) &&\n                 (iVar5 = (**(code **)(puVar21 + 0x29ccec))(*(undefined4 *)(iVar4 + 0xc),iVar1,0),\n                 iVar5 != 0)) {\n                *piVar11 = iVar4;\n                piVar11 = piVar2 + iVar13 + 1;\n                iVar13 = iVar13 + 1;\n              }\n              iVar4 = (**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088));\n            } while (iVar4 != 0);\n          }\n          (**(code **)(puVar21 + 0x29ca24))(*(undefined4 *)(iVar3 + -0x5090));\n          (**(code **)(puVar21 + 0x29cf78))(piVar2,iVar13,4,*(int *)(puVar21 + 0x29c13c) + -0x5800);\n          *piVar6 = iVar13;\n          *piVar11 = 0;\n          return piVar2;\n        }\n      }\n      return (int *)0x0;\n    }\n  }\n  puVar10 = puVar12 + -0x40d0;\n  pcVar22 = *(code **)(puVar21 + 0x29ccac);\n  iVar1 = *(int *)(puVar21 + 0x29bf88) + -0x3e64;\n  (*pcVar22)(iVar1,puVar10,0x1f5,*(int *)(puVar21 + 0x29bf88) + -0x3bd0);\n  piVar6 = *(int **)(pcVar22 + 0x29c670);\n  uStack_b4 = param_5;\n  iStack_cc = *piVar6;\n  if (iVar1 == 0) {\n    iVar1 = **(int **)(pcVar22 + 0x29c324);\n  }\n  piVar11 = &iStack_d0;\n  puStack_c8 = puVar12;\n  uStack_c4 = param_1;\n  piStack_c0 = param_2;\n  uStack_bc = param_3;\n  uStack_b8 = param_4;\n  iStack_b0 = unaff_s6;\n  piStack_ac = unaff_s7;\n  piVar2 = (int *)(**(code **)(pcVar22 + 0x29cc48))(*(int *)(pcVar22 + 0x29bd28) + 0x6c9c);\n  if (piVar2 == (int *)0x0) {\n    piVar2 = (int *)0x0;\n  }\n  else {\n    iVar3 = *(int *)(pcVar22 + 0x29bd20);\n    if (0 < iStack_d0) {\n      iVar17 = 0;\n      iVar19 = *(int *)(pcVar22 + 0x29bd8c);\n      iVar4 = 0;\n      iVar15 = *(int *)(pcVar22 + 0x29bd90);\n      dVar25 = *(double *)(iVar3 + 0x1418);\n      iVar13 = *(int *)(pcVar22 + 0x29bd24);\n      iVar5 = *(int *)(pcVar22 + 0x29bd24);\n      iVar16 = iStack_d0;\n      piVar14 = piVar2;\n      do {\n        iVar9 = *piVar14;\n        piVar11 = *(int **)(iVar9 + 0x2c);\n        if (piVar11 == (int *)0x0) {\n          iVar16 = *(int *)(iVar9 + 8);\n          if ((iVar4 == 0) ||\n             (iVar7 = (**(code **)(pcVar22 + 0x29c550))(iVar4,iVar16), iVar4 = iVar16, iVar7 != 0))\n          {\n            if (iVar16 != 0) {\n              (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4620,iVar16);\n              iVar9 = *piVar14;\n            }\n            iVar16 = 0;\n            uVar8 = 0;\n            pcVar18 = (char *)(*(int *)(pcVar22 + 0x29bd24) + -0x3b94);\n            while( true ) {\n              if ((1 << (uVar8 & 0x1f) & *(uint *)(iVar9 + 4)) != 0) {\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar19 + 0x30e8,pcVar18);\n                iVar4 = (**(code **)(pcVar22 + 0x29c778))(pcVar18);\n                iVar16 = iVar16 + iVar4;\n              }\n              if (uVar8 == 0x1f) break;\n              pcVar18 = pcVar18 + 0x10;\n              uVar8 = uVar8 + 1;\n              if (*pcVar18 == '\0') break;\n              iVar9 = *piVar14;\n            }\n            if (iVar16 < 0xd) {\n              do {\n                iVar16 = iVar16 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              } while (iVar16 != 0xd);\n            }\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x3e3c);\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4644);\n            iVar9 = *piVar14;\n            iVar4 = *(int *)(iVar9 + 8);\n          }\n          if (*(int *)(iVar9 + 0x10) != 0) {\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x62ac);\n            iVar9 = *piVar14;\n            uVar8 = (**(code **)(pcVar22 + 0x29c778))(*(undefined4 *)(iVar9 + 0x10));\n            if (uVar8 < 0x11) {\n              do {\n                uVar8 = uVar8 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              } while (uVar8 != 0x11);\n              iVar9 = *piVar14;\n            }\n          }\n          dVar24 = (double)*(int *)(iVar9 + 0x18);\n          if (*(int *)(iVar9 + 0x18) < 0) {\n            dVar24 = dVar24 + *(double *)(iVar3 + 0x1418);\n          }\n          (**(code **)(pcVar22 + 0x29c984))\n                    (iVar1,iVar13 + -0x3e1c,(int)((ulonglong)dVar24 >> 0x20),SUB84(dVar24,0));\n          dVar24 = (double)*(int *)(*piVar14 + 0x1c);\n          if (*(int *)(*piVar14 + 0x1c) < 0) {\n            dVar24 = dVar24 + dVar25;\n          }\n          (**(code **)(pcVar22 + 0x29c984))\n                    (iVar1,iVar5 + -0x3e14,(int)((ulonglong)dVar24 >> 0x20),SUB84(dVar24,0));\n          puVar10 = *(undefined **)(*piVar14 + 0x14);\n          if (puVar10 != (undefined *)0x0) {\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x62ac);\n          }\n          piVar11 = (int *)(*(int *)(pcVar22 + 0x29bd2c) + -0x4bdc);\n          (**(code **)(pcVar22 + 0x29c984))(iVar1);\n          iVar16 = iStack_d0;\n        }\n        iVar17 = iVar17 + 1;\n        piVar14 = piVar14 + 1;\n      } while (iVar17 < iVar16);\n    }\n    (**(code **)(pcVar22 + 0x29c8cc))(iVar1);\n    (**(code **)(pcVar22 + 0x29c400))(piVar2);\n    piVar2 = (int *)0x1;\n  }\n  if (iStack_cc == *piVar6) {\n    return piVar2;\n  }\n  pcVar22 = *(code **)(pcVar22 + 0x29c4a4);\n  iVar3 = iStack_cc;\n  (*pcVar22)();\n  if (iVar3 == 0) {\n    (**(code **)(pcVar22 + 0x29c674))\n              (*(int *)(pcVar22 + 0x29b94c) + 0x45e0,*(int *)(pcVar22 + 0x29b950) + -0x40d0,0x250,\n               *(int *)(pcVar22 + 0x29b950) + -0x3bec);\n  }\n  else {\n    iVar1 = *(int *)(pcVar22 + 0x29b950);\n    (**(code **)(pcVar22 + 0x29c24c))\n              (0x8000,iVar1 + -0x40d0,*(int *)(pcVar22 + 0x29b950) + -0x3bf8,0x251,\n               *(int *)(pcVar22 + 0x29b950) + -0x62ac,iVar3);\n    if (piVar11 != (int *)0x0) {\n      *piVar11 = 0;\n      iVar1 = FUN_0010b2dc(puVar10);\n      if (iVar1 != 0) {\n        iVar16 = *(int *)(pcVar22 + 0x29b938);\n        iVar1 = (**(code **)(pcVar22 + 0x29c460))(*(undefined4 *)(iVar16 + -0x5088));\n        piVar6 = (int *)(**(code **)(pcVar22 + 0x29c578))(iVar1 + 1,4);\n        if (piVar6 != (int *)0x0) {\n          iVar1 = *(int *)(pcVar22 + 0x29b938);\n          (**(code **)(pcVar22 + 0x29c754))(*(undefined4 *)(iVar1 + -0x5090));\n          (**(code **)(pcVar22 + 0x29c5a4))(*(undefined4 *)(iVar16 + -0x5088));\n          iVar4 = (**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088));\n          if (iVar4 == 0) {\n            iVar13 = 0;\n            piVar2 = piVar6;\n          }\n          else {\n            iVar13 = 0;\nLAB_0010d0bc:\n            do {\n              if (*(int *)(iVar4 + 0x2c) == 0) {\n                uVar20 = *(undefined4 *)(iVar4 + 0xc);\n                iVar4 = (**(code **)(pcVar22 + 0x29c6b4))(uVar20,iVar3,0);\n                if (iVar4 != 0) {\n                  iVar15 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c120))(uVar20);\n                  uVar20 = *(undefined4 *)(iVar16 + -0x5088);\n                  piVar6[iVar13] = iVar4;\n                  iVar5 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c37c))(uVar20);\n                  iVar13 = iVar15;\n                  piVar2 = piVar6 + iVar5;\n                  if (iVar4 == 0) break;\n                  goto LAB_0010d0bc;\n                }\n              }\n              iVar4 = (**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088));\n              piVar2 = piVar6 + iVar13;\n            } while (iVar4 != 0);\n          }\n          (**(code **)(pcVar22 + 0x29c3ec))(*(undefined4 *)(iVar1 + -0x5090));\n          (**(code **)(pcVar22 + 0x29c940))(piVar6,iVar13,4,*(int *)(pcVar22 + 0x29bb04) + -0x578c);\n          *piVar11 = iVar13;\n          *piVar2 = 0;\n          return piVar6;\n        }\n      }\n      return (int *)0x0;\n    }\n  }\n  pcVar23 = *(code **)(pcVar22 + 0x29c674);\n  iVar3 = *(int *)(pcVar22 + 0x29b950) + -0x3e64;\n  (*pcVar23)(iVar3,iVar1 + -0x40d0,0x252,*(int *)(pcVar22 + 0x29b950) + -0x3bec);\n  iVar4 = *(int *)(pcVar23 + 0x29b6b0);\n  iVar16 = *(int *)(pcVar23 + 0x29b6b0);\n  uVar20 = (**(code **)(pcVar23 + 0x29bcd0))();\n  FUN_0010b2dc(uVar20);\n  (**(code **)(pcVar23 + 0x29bb34))(uVar20);\n  iVar1 = (**(code **)(pcVar23 + 0x29c478))(0x2c,1,iVar3);\n  (**(code **)(pcVar23 + 0x29c4cc))(*(undefined4 *)(iVar4 + -0x5090));\n  piVar6 = (int *)(**(code **)(pcVar23 + 0x29bc6c))(*(undefined4 *)(iVar16 + -0x5088),0);\n  if (iVar1 == -1) {\n    pcVar22 = *(code **)(pcVar23 + 0x29c210);\n    uVar20 = *(undefined4 *)(iVar16 + -0x5088);\n    *piVar6 = 0;\n    iVar1 = (*pcVar22)(uVar20);\n  }\n  else {\n    pcVar22 = *(code **)(pcVar23 + 0x29c210);\n    uVar20 = *(undefined4 *)(iVar16 + -0x5088);\n    *piVar6 = iVar1;\n    iVar1 = (*pcVar22)(uVar20);\n  }\n  if (iVar1 == 0) {\n    (**(code **)(pcVar23 + 0x29c31c))(*(undefined4 *)(iVar16 + -0x5088));\n    piVar2 = (int *)(**(code **)(pcVar23 + 0x29c0f4))(*(undefined4 *)(iVar16 + -0x5088));\n    if (piVar2 == (int *)0x0) {\n      *(undefined4 *)(*(int *)(pcVar23 + 0x29b6b0) + -0x508c) = 0;\n    }\n    else {\n      *(uint *)(*(int *)(pcVar23 + 0x29b6b0) + -0x508c) = (uint)(*piVar2 != 0);\n    }\n  }\n  else {\n    *(undefined4 *)(*(int *)(pcVar23 + 0x29b6b0) + -0x508c) = 0;\n  }\n  (**(code **)(pcVar23 + 0x29c164))(*(undefined4 *)(iVar4 + -0x5090));\n  return (int *)*piVar6;\n}" primitive_type (pointer_declarator "* LogMagickEvent(undefined4 param_1,int *param_2,undefined4 param_3,undefined4 param_4,\n                    undefined4 param_5)" * (function_declarator "LogMagickEvent(undefined4 param_1,int *param_2,undefined4 param_3,undefined4 param_4,\n                    undefined4 param_5)" identifier (parameter_list "(undefined4 param_1,int *param_2,undefined4 param_3,undefined4 param_4,\n                    undefined4 param_5)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "int *param_2" primitive_type (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "undefined4 param_3" type_identifier identifier) , (parameter_declaration "undefined4 param_4" type_identifier identifier) , (parameter_declaration "undefined4 param_5" type_identifier identifier) )))) (compound_statement "{\n  int iVar1;\n  int *piVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  int *piVar6;\n  int iVar7;\n  uint uVar8;\n  int iVar9;\n  undefined *puVar10;\n  int *piVar11;\n  undefined *puVar12;\n  int iVar13;\n  int *piVar14;\n  int iVar15;\n  int iVar16;\n  int iVar17;\n  char *pcVar18;\n  int unaff_s6;\n  int iVar19;\n  int *unaff_s7;\n  undefined4 uVar20;\n  undefined *puVar21;\n  code *pcVar22;\n  code *pcVar23;\n  double dVar24;\n  double dVar25;\n  int iStack_d0;\n  int iStack_cc;\n  undefined *puStack_c8;\n  undefined4 uStack_c4;\n  int *piStack_c0;\n  undefined4 uStack_bc;\n  undefined4 uStack_b8;\n  undefined4 uStack_b4;\n  int iStack_b0;\n  int *piStack_ac;\n  \n  puVar12 = PTR___stack_chk_guard_003a9230;\n  iVar1 = *(int *)PTR___stack_chk_guard_003a9230;\n  piVar6 = param_2;\n  uVar20 = param_3;\n  piVar2 = (int *)(*(code *)PTR_IsEventLogging_003a97a8)();\n  if (piVar2 != (int *)0x0) {\n    piVar6 = param_2;\n    uVar20 = param_3;\n    piVar2 = (int *)(*(code *)PTR_LogMagickEventList_003a9148)(param_1,param_2,param_3,param_4);\n  }\n  if (iVar1 == *(int *)puVar12) {\n    return piVar2;\n  }\n  puVar21 = PTR___stack_chk_fail_003a9064;\n  (*(code *)PTR___stack_chk_fail_003a9064)();\n  if (iVar1 == 0) {\n    (**(code **)(puVar21 + 0x29ccac))\n              (*(int *)(puVar21 + 0x29bf84) + 0x45e0,*(int *)(puVar21 + 0x29bf88) + -0x40d0,499,\n               *(int *)(puVar21 + 0x29bf88) + -0x3bd0);\n  }\n  else {\n    puVar12 = *(undefined **)(puVar21 + 0x29bf88);\n    (**(code **)(puVar21 + 0x29c884))\n              (0x8000,puVar12 + -0x40d0,*(int *)(puVar21 + 0x29bf88) + -0x3be0,500);\n    param_1 = uVar20;\n    unaff_s6 = iVar1;\n    unaff_s7 = piVar6;\n    if (piVar6 != (int *)0x0) {\n      *piVar6 = 0;\n      iVar3 = FUN_0010b2dc(uVar20);\n      if (iVar3 != 0) {\n        iVar16 = *(int *)(puVar21 + 0x29bf70);\n        iVar3 = (**(code **)(puVar21 + 0x29ca98))(*(undefined4 *)(iVar16 + -0x5088));\n        piVar2 = (int *)(**(code **)(puVar21 + 0x29cbb0))(iVar3 + 1,4);\n        if (piVar2 != (int *)0x0) {\n          iVar3 = *(int *)(puVar21 + 0x29bf70);\n          (**(code **)(puVar21 + 0x29cd8c))(*(undefined4 *)(iVar3 + -0x5090));\n          (**(code **)(puVar21 + 0x29cbdc))(*(undefined4 *)(iVar16 + -0x5088));\n          iVar4 = (**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088));\n          if (iVar4 == 0) {\n            iVar13 = 0;\n            piVar11 = piVar2;\n          }\n          else {\n            iVar13 = 0;\n            do {\n              piVar11 = piVar2 + iVar13;\n              if ((*(int *)(iVar4 + 0x2c) == 0) &&\n                 (iVar5 = (**(code **)(puVar21 + 0x29ccec))(*(undefined4 *)(iVar4 + 0xc),iVar1,0),\n                 iVar5 != 0)) {\n                *piVar11 = iVar4;\n                piVar11 = piVar2 + iVar13 + 1;\n                iVar13 = iVar13 + 1;\n              }\n              iVar4 = (**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088));\n            } while (iVar4 != 0);\n          }\n          (**(code **)(puVar21 + 0x29ca24))(*(undefined4 *)(iVar3 + -0x5090));\n          (**(code **)(puVar21 + 0x29cf78))(piVar2,iVar13,4,*(int *)(puVar21 + 0x29c13c) + -0x5800);\n          *piVar6 = iVar13;\n          *piVar11 = 0;\n          return piVar2;\n        }\n      }\n      return (int *)0x0;\n    }\n  }\n  puVar10 = puVar12 + -0x40d0;\n  pcVar22 = *(code **)(puVar21 + 0x29ccac);\n  iVar1 = *(int *)(puVar21 + 0x29bf88) + -0x3e64;\n  (*pcVar22)(iVar1,puVar10,0x1f5,*(int *)(puVar21 + 0x29bf88) + -0x3bd0);\n  piVar6 = *(int **)(pcVar22 + 0x29c670);\n  uStack_b4 = param_5;\n  iStack_cc = *piVar6;\n  if (iVar1 == 0) {\n    iVar1 = **(int **)(pcVar22 + 0x29c324);\n  }\n  piVar11 = &iStack_d0;\n  puStack_c8 = puVar12;\n  uStack_c4 = param_1;\n  piStack_c0 = param_2;\n  uStack_bc = param_3;\n  uStack_b8 = param_4;\n  iStack_b0 = unaff_s6;\n  piStack_ac = unaff_s7;\n  piVar2 = (int *)(**(code **)(pcVar22 + 0x29cc48))(*(int *)(pcVar22 + 0x29bd28) + 0x6c9c);\n  if (piVar2 == (int *)0x0) {\n    piVar2 = (int *)0x0;\n  }\n  else {\n    iVar3 = *(int *)(pcVar22 + 0x29bd20);\n    if (0 < iStack_d0) {\n      iVar17 = 0;\n      iVar19 = *(int *)(pcVar22 + 0x29bd8c);\n      iVar4 = 0;\n      iVar15 = *(int *)(pcVar22 + 0x29bd90);\n      dVar25 = *(double *)(iVar3 + 0x1418);\n      iVar13 = *(int *)(pcVar22 + 0x29bd24);\n      iVar5 = *(int *)(pcVar22 + 0x29bd24);\n      iVar16 = iStack_d0;\n      piVar14 = piVar2;\n      do {\n        iVar9 = *piVar14;\n        piVar11 = *(int **)(iVar9 + 0x2c);\n        if (piVar11 == (int *)0x0) {\n          iVar16 = *(int *)(iVar9 + 8);\n          if ((iVar4 == 0) ||\n             (iVar7 = (**(code **)(pcVar22 + 0x29c550))(iVar4,iVar16), iVar4 = iVar16, iVar7 != 0))\n          {\n            if (iVar16 != 0) {\n              (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4620,iVar16);\n              iVar9 = *piVar14;\n            }\n            iVar16 = 0;\n            uVar8 = 0;\n            pcVar18 = (char *)(*(int *)(pcVar22 + 0x29bd24) + -0x3b94);\n            while( true ) {\n              if ((1 << (uVar8 & 0x1f) & *(uint *)(iVar9 + 4)) != 0) {\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar19 + 0x30e8,pcVar18);\n                iVar4 = (**(code **)(pcVar22 + 0x29c778))(pcVar18);\n                iVar16 = iVar16 + iVar4;\n              }\n              if (uVar8 == 0x1f) break;\n              pcVar18 = pcVar18 + 0x10;\n              uVar8 = uVar8 + 1;\n              if (*pcVar18 == '\0') break;\n              iVar9 = *piVar14;\n            }\n            if (iVar16 < 0xd) {\n              do {\n                iVar16 = iVar16 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              } while (iVar16 != 0xd);\n            }\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x3e3c);\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4644);\n            iVar9 = *piVar14;\n            iVar4 = *(int *)(iVar9 + 8);\n          }\n          if (*(int *)(iVar9 + 0x10) != 0) {\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x62ac);\n            iVar9 = *piVar14;\n            uVar8 = (**(code **)(pcVar22 + 0x29c778))(*(undefined4 *)(iVar9 + 0x10));\n            if (uVar8 < 0x11) {\n              do {\n                uVar8 = uVar8 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              } while (uVar8 != 0x11);\n              iVar9 = *piVar14;\n            }\n          }\n          dVar24 = (double)*(int *)(iVar9 + 0x18);\n          if (*(int *)(iVar9 + 0x18) < 0) {\n            dVar24 = dVar24 + *(double *)(iVar3 + 0x1418);\n          }\n          (**(code **)(pcVar22 + 0x29c984))\n                    (iVar1,iVar13 + -0x3e1c,(int)((ulonglong)dVar24 >> 0x20),SUB84(dVar24,0));\n          dVar24 = (double)*(int *)(*piVar14 + 0x1c);\n          if (*(int *)(*piVar14 + 0x1c) < 0) {\n            dVar24 = dVar24 + dVar25;\n          }\n          (**(code **)(pcVar22 + 0x29c984))\n                    (iVar1,iVar5 + -0x3e14,(int)((ulonglong)dVar24 >> 0x20),SUB84(dVar24,0));\n          puVar10 = *(undefined **)(*piVar14 + 0x14);\n          if (puVar10 != (undefined *)0x0) {\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x62ac);\n          }\n          piVar11 = (int *)(*(int *)(pcVar22 + 0x29bd2c) + -0x4bdc);\n          (**(code **)(pcVar22 + 0x29c984))(iVar1);\n          iVar16 = iStack_d0;\n        }\n        iVar17 = iVar17 + 1;\n        piVar14 = piVar14 + 1;\n      } while (iVar17 < iVar16);\n    }\n    (**(code **)(pcVar22 + 0x29c8cc))(iVar1);\n    (**(code **)(pcVar22 + 0x29c400))(piVar2);\n    piVar2 = (int *)0x1;\n  }\n  if (iStack_cc == *piVar6) {\n    return piVar2;\n  }\n  pcVar22 = *(code **)(pcVar22 + 0x29c4a4);\n  iVar3 = iStack_cc;\n  (*pcVar22)();\n  if (iVar3 == 0) {\n    (**(code **)(pcVar22 + 0x29c674))\n              (*(int *)(pcVar22 + 0x29b94c) + 0x45e0,*(int *)(pcVar22 + 0x29b950) + -0x40d0,0x250,\n               *(int *)(pcVar22 + 0x29b950) + -0x3bec);\n  }\n  else {\n    iVar1 = *(int *)(pcVar22 + 0x29b950);\n    (**(code **)(pcVar22 + 0x29c24c))\n              (0x8000,iVar1 + -0x40d0,*(int *)(pcVar22 + 0x29b950) + -0x3bf8,0x251,\n               *(int *)(pcVar22 + 0x29b950) + -0x62ac,iVar3);\n    if (piVar11 != (int *)0x0) {\n      *piVar11 = 0;\n      iVar1 = FUN_0010b2dc(puVar10);\n      if (iVar1 != 0) {\n        iVar16 = *(int *)(pcVar22 + 0x29b938);\n        iVar1 = (**(code **)(pcVar22 + 0x29c460))(*(undefined4 *)(iVar16 + -0x5088));\n        piVar6 = (int *)(**(code **)(pcVar22 + 0x29c578))(iVar1 + 1,4);\n        if (piVar6 != (int *)0x0) {\n          iVar1 = *(int *)(pcVar22 + 0x29b938);\n          (**(code **)(pcVar22 + 0x29c754))(*(undefined4 *)(iVar1 + -0x5090));\n          (**(code **)(pcVar22 + 0x29c5a4))(*(undefined4 *)(iVar16 + -0x5088));\n          iVar4 = (**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088));\n          if (iVar4 == 0) {\n            iVar13 = 0;\n            piVar2 = piVar6;\n          }\n          else {\n            iVar13 = 0;\nLAB_0010d0bc:\n            do {\n              if (*(int *)(iVar4 + 0x2c) == 0) {\n                uVar20 = *(undefined4 *)(iVar4 + 0xc);\n                iVar4 = (**(code **)(pcVar22 + 0x29c6b4))(uVar20,iVar3,0);\n                if (iVar4 != 0) {\n                  iVar15 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c120))(uVar20);\n                  uVar20 = *(undefined4 *)(iVar16 + -0x5088);\n                  piVar6[iVar13] = iVar4;\n                  iVar5 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c37c))(uVar20);\n                  iVar13 = iVar15;\n                  piVar2 = piVar6 + iVar5;\n                  if (iVar4 == 0) break;\n                  goto LAB_0010d0bc;\n                }\n              }\n              iVar4 = (**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088));\n              piVar2 = piVar6 + iVar13;\n            } while (iVar4 != 0);\n          }\n          (**(code **)(pcVar22 + 0x29c3ec))(*(undefined4 *)(iVar1 + -0x5090));\n          (**(code **)(pcVar22 + 0x29c940))(piVar6,iVar13,4,*(int *)(pcVar22 + 0x29bb04) + -0x578c);\n          *piVar11 = iVar13;\n          *piVar2 = 0;\n          return piVar6;\n        }\n      }\n      return (int *)0x0;\n    }\n  }\n  pcVar23 = *(code **)(pcVar22 + 0x29c674);\n  iVar3 = *(int *)(pcVar22 + 0x29b950) + -0x3e64;\n  (*pcVar23)(iVar3,iVar1 + -0x40d0,0x252,*(int *)(pcVar22 + 0x29b950) + -0x3bec);\n  iVar4 = *(int *)(pcVar23 + 0x29b6b0);\n  iVar16 = *(int *)(pcVar23 + 0x29b6b0);\n  uVar20 = (**(code **)(pcVar23 + 0x29bcd0))();\n  FUN_0010b2dc(uVar20);\n  (**(code **)(pcVar23 + 0x29bb34))(uVar20);\n  iVar1 = (**(code **)(pcVar23 + 0x29c478))(0x2c,1,iVar3);\n  (**(code **)(pcVar23 + 0x29c4cc))(*(undefined4 *)(iVar4 + -0x5090));\n  piVar6 = (int *)(**(code **)(pcVar23 + 0x29bc6c))(*(undefined4 *)(iVar16 + -0x5088),0);\n  if (iVar1 == -1) {\n    pcVar22 = *(code **)(pcVar23 + 0x29c210);\n    uVar20 = *(undefined4 *)(iVar16 + -0x5088);\n    *piVar6 = 0;\n    iVar1 = (*pcVar22)(uVar20);\n  }\n  else {\n    pcVar22 = *(code **)(pcVar23 + 0x29c210);\n    uVar20 = *(undefined4 *)(iVar16 + -0x5088);\n    *piVar6 = iVar1;\n    iVar1 = (*pcVar22)(uVar20);\n  }\n  if (iVar1 == 0) {\n    (**(code **)(pcVar23 + 0x29c31c))(*(undefined4 *)(iVar16 + -0x5088));\n    piVar2 = (int *)(**(code **)(pcVar23 + 0x29c0f4))(*(undefined4 *)(iVar16 + -0x5088));\n    if (piVar2 == (int *)0x0) {\n      *(undefined4 *)(*(int *)(pcVar23 + 0x29b6b0) + -0x508c) = 0;\n    }\n    else {\n      *(uint *)(*(int *)(pcVar23 + 0x29b6b0) + -0x508c) = (uint)(*piVar2 != 0);\n    }\n  }\n  else {\n    *(undefined4 *)(*(int *)(pcVar23 + 0x29b6b0) + -0x508c) = 0;\n  }\n  (**(code **)(pcVar23 + 0x29c164))(*(undefined4 *)(iVar4 + -0x5090));\n  return (int *)*piVar6;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "int *piVar2;" primitive_type (pointer_declarator "*piVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "int *piVar6;" primitive_type (pointer_declarator "*piVar6" * identifier) ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "undefined *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "int *piVar11;" primitive_type (pointer_declarator "*piVar11" * identifier) ;) (declaration "undefined *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "int *piVar14;" primitive_type (pointer_declarator "*piVar14" * identifier) ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "int iVar16;" primitive_type identifier ;) (declaration "int iVar17;" primitive_type identifier ;) (declaration "char *pcVar18;" primitive_type (pointer_declarator "*pcVar18" * identifier) ;) (declaration "int unaff_s6;" primitive_type identifier ;) (declaration "int iVar19;" primitive_type identifier ;) (declaration "int *unaff_s7;" primitive_type (pointer_declarator "*unaff_s7" * identifier) ;) (declaration "undefined4 uVar20;" type_identifier identifier ;) (declaration "undefined *puVar21;" type_identifier (pointer_declarator "*puVar21" * identifier) ;) (declaration "code *pcVar22;" type_identifier (pointer_declarator "*pcVar22" * identifier) ;) (declaration "code *pcVar23;" type_identifier (pointer_declarator "*pcVar23" * identifier) ;) (declaration "double dVar24;" primitive_type identifier ;) (declaration "double dVar25;" primitive_type identifier ;) (declaration "int iStack_d0;" primitive_type identifier ;) (declaration "int iStack_cc;" primitive_type identifier ;) (declaration "undefined *puStack_c8;" type_identifier (pointer_declarator "*puStack_c8" * identifier) ;) (declaration "undefined4 uStack_c4;" type_identifier identifier ;) (declaration "int *piStack_c0;" primitive_type (pointer_declarator "*piStack_c0" * identifier) ;) (declaration "undefined4 uStack_bc;" type_identifier identifier ;) (declaration "undefined4 uStack_b8;" type_identifier identifier ;) (declaration "undefined4 uStack_b4;" type_identifier identifier ;) (declaration "int iStack_b0;" primitive_type identifier ;) (declaration "int *piStack_ac;" primitive_type (pointer_declarator "*piStack_ac" * identifier) ;) (expression_statement "puVar12 = PTR___stack_chk_guard_003a9230;" (assignment_expression "puVar12 = PTR___stack_chk_guard_003a9230" identifier = identifier) ;) (expression_statement "iVar1 = *(int *)PTR___stack_chk_guard_003a9230;" (assignment_expression "iVar1 = *(int *)PTR___stack_chk_guard_003a9230" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_003a9230" * (cast_expression "(int *)PTR___stack_chk_guard_003a9230" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "piVar6 = param_2;" (assignment_expression "piVar6 = param_2" identifier = identifier) ;) (expression_statement "uVar20 = param_3;" (assignment_expression "uVar20 = param_3" identifier = identifier) ;) (expression_statement "piVar2 = (int *)(*(code *)PTR_IsEventLogging_003a97a8)();" (assignment_expression "piVar2 = (int *)(*(code *)PTR_IsEventLogging_003a97a8)()" identifier = (cast_expression "(int *)(*(code *)PTR_IsEventLogging_003a97a8)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_IsEventLogging_003a97a8)()" (parenthesized_expression "(*(code *)PTR_IsEventLogging_003a97a8)" ( (pointer_expression "*(code *)PTR_IsEventLogging_003a97a8" * (cast_expression "(code *)PTR_IsEventLogging_003a97a8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (if_statement "if (piVar2 != (int *)0x0) {\n    piVar6 = param_2;\n    uVar20 = param_3;\n    piVar2 = (int *)(*(code *)PTR_LogMagickEventList_003a9148)(param_1,param_2,param_3,param_4);\n  }" if (parenthesized_expression "(piVar2 != (int *)0x0)" ( (binary_expression "piVar2 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    piVar6 = param_2;\n    uVar20 = param_3;\n    piVar2 = (int *)(*(code *)PTR_LogMagickEventList_003a9148)(param_1,param_2,param_3,param_4);\n  }" { (expression_statement "piVar6 = param_2;" (assignment_expression "piVar6 = param_2" identifier = identifier) ;) (expression_statement "uVar20 = param_3;" (assignment_expression "uVar20 = param_3" identifier = identifier) ;) (expression_statement "piVar2 = (int *)(*(code *)PTR_LogMagickEventList_003a9148)(param_1,param_2,param_3,param_4);" (assignment_expression "piVar2 = (int *)(*(code *)PTR_LogMagickEventList_003a9148)(param_1,param_2,param_3,param_4)" identifier = (cast_expression "(int *)(*(code *)PTR_LogMagickEventList_003a9148)(param_1,param_2,param_3,param_4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_LogMagickEventList_003a9148)(param_1,param_2,param_3,param_4)" (parenthesized_expression "(*(code *)PTR_LogMagickEventList_003a9148)" ( (pointer_expression "*(code *)PTR_LogMagickEventList_003a9148" * (cast_expression "(code *)PTR_LogMagickEventList_003a9148" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,param_2,param_3,param_4)" ( identifier , identifier , identifier , identifier ))))) ;) })) (if_statement "if (iVar1 == *(int *)puVar12) {\n    return piVar2;\n  }" if (parenthesized_expression "(iVar1 == *(int *)puVar12)" ( (binary_expression "iVar1 == *(int *)puVar12" identifier == (pointer_expression "*(int *)puVar12" * (cast_expression "(int *)puVar12" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return piVar2;\n  }" { (return_statement "return piVar2;" return identifier ;) })) (expression_statement "puVar21 = PTR___stack_chk_fail_003a9064;" (assignment_expression "puVar21 = PTR___stack_chk_fail_003a9064" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_003a9064)();" (call_expression "(*(code *)PTR___stack_chk_fail_003a9064)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_003a9064)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_003a9064" * (cast_expression "(code *)PTR___stack_chk_fail_003a9064" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (if_statement "if (iVar1 == 0) {\n    (**(code **)(puVar21 + 0x29ccac))\n              (*(int *)(puVar21 + 0x29bf84) + 0x45e0,*(int *)(puVar21 + 0x29bf88) + -0x40d0,499,\n               *(int *)(puVar21 + 0x29bf88) + -0x3bd0);\n  }\n  else {\n    puVar12 = *(undefined **)(puVar21 + 0x29bf88);\n    (**(code **)(puVar21 + 0x29c884))\n              (0x8000,puVar12 + -0x40d0,*(int *)(puVar21 + 0x29bf88) + -0x3be0,500);\n    param_1 = uVar20;\n    unaff_s6 = iVar1;\n    unaff_s7 = piVar6;\n    if (piVar6 != (int *)0x0) {\n      *piVar6 = 0;\n      iVar3 = FUN_0010b2dc(uVar20);\n      if (iVar3 != 0) {\n        iVar16 = *(int *)(puVar21 + 0x29bf70);\n        iVar3 = (**(code **)(puVar21 + 0x29ca98))(*(undefined4 *)(iVar16 + -0x5088));\n        piVar2 = (int *)(**(code **)(puVar21 + 0x29cbb0))(iVar3 + 1,4);\n        if (piVar2 != (int *)0x0) {\n          iVar3 = *(int *)(puVar21 + 0x29bf70);\n          (**(code **)(puVar21 + 0x29cd8c))(*(undefined4 *)(iVar3 + -0x5090));\n          (**(code **)(puVar21 + 0x29cbdc))(*(undefined4 *)(iVar16 + -0x5088));\n          iVar4 = (**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088));\n          if (iVar4 == 0) {\n            iVar13 = 0;\n            piVar11 = piVar2;\n          }\n          else {\n            iVar13 = 0;\n            do {\n              piVar11 = piVar2 + iVar13;\n              if ((*(int *)(iVar4 + 0x2c) == 0) &&\n                 (iVar5 = (**(code **)(puVar21 + 0x29ccec))(*(undefined4 *)(iVar4 + 0xc),iVar1,0),\n                 iVar5 != 0)) {\n                *piVar11 = iVar4;\n                piVar11 = piVar2 + iVar13 + 1;\n                iVar13 = iVar13 + 1;\n              }\n              iVar4 = (**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088));\n            } while (iVar4 != 0);\n          }\n          (**(code **)(puVar21 + 0x29ca24))(*(undefined4 *)(iVar3 + -0x5090));\n          (**(code **)(puVar21 + 0x29cf78))(piVar2,iVar13,4,*(int *)(puVar21 + 0x29c13c) + -0x5800);\n          *piVar6 = iVar13;\n          *piVar11 = 0;\n          return piVar2;\n        }\n      }\n      return (int *)0x0;\n    }\n  }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n    (**(code **)(puVar21 + 0x29ccac))\n              (*(int *)(puVar21 + 0x29bf84) + 0x45e0,*(int *)(puVar21 + 0x29bf88) + -0x40d0,499,\n               *(int *)(puVar21 + 0x29bf88) + -0x3bd0);\n  }" { (expression_statement "(**(code **)(puVar21 + 0x29ccac))\n              (*(int *)(puVar21 + 0x29bf84) + 0x45e0,*(int *)(puVar21 + 0x29bf88) + -0x40d0,499,\n               *(int *)(puVar21 + 0x29bf88) + -0x3bd0);" (call_expression "(**(code **)(puVar21 + 0x29ccac))\n              (*(int *)(puVar21 + 0x29bf84) + 0x45e0,*(int *)(puVar21 + 0x29bf88) + -0x40d0,499,\n               *(int *)(puVar21 + 0x29bf88) + -0x3bd0)" (parenthesized_expression "(**(code **)(puVar21 + 0x29ccac))" ( (pointer_expression "**(code **)(puVar21 + 0x29ccac)" * (pointer_expression "*(code **)(puVar21 + 0x29ccac)" * (cast_expression "(code **)(puVar21 + 0x29ccac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x29ccac)" ( (binary_expression "puVar21 + 0x29ccac" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar21 + 0x29bf84) + 0x45e0,*(int *)(puVar21 + 0x29bf88) + -0x40d0,499,\n               *(int *)(puVar21 + 0x29bf88) + -0x3bd0)" ( (binary_expression "*(int *)(puVar21 + 0x29bf84) + 0x45e0" (pointer_expression "*(int *)(puVar21 + 0x29bf84)" * (cast_expression "(int *)(puVar21 + 0x29bf84)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 0x29bf84)" ( (binary_expression "puVar21 + 0x29bf84" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar21 + 0x29bf88) + -0x40d0" (pointer_expression "*(int *)(puVar21 + 0x29bf88)" * (cast_expression "(int *)(puVar21 + 0x29bf88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 0x29bf88)" ( (binary_expression "puVar21 + 0x29bf88" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar21 + 0x29bf88) + -0x3bd0" (pointer_expression "*(int *)(puVar21 + 0x29bf88)" * (cast_expression "(int *)(puVar21 + 0x29bf88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 0x29bf88)" ( (binary_expression "puVar21 + 0x29bf88" identifier + number_literal) )))) + number_literal) ))) ;) }) (else_clause "else {\n    puVar12 = *(undefined **)(puVar21 + 0x29bf88);\n    (**(code **)(puVar21 + 0x29c884))\n              (0x8000,puVar12 + -0x40d0,*(int *)(puVar21 + 0x29bf88) + -0x3be0,500);\n    param_1 = uVar20;\n    unaff_s6 = iVar1;\n    unaff_s7 = piVar6;\n    if (piVar6 != (int *)0x0) {\n      *piVar6 = 0;\n      iVar3 = FUN_0010b2dc(uVar20);\n      if (iVar3 != 0) {\n        iVar16 = *(int *)(puVar21 + 0x29bf70);\n        iVar3 = (**(code **)(puVar21 + 0x29ca98))(*(undefined4 *)(iVar16 + -0x5088));\n        piVar2 = (int *)(**(code **)(puVar21 + 0x29cbb0))(iVar3 + 1,4);\n        if (piVar2 != (int *)0x0) {\n          iVar3 = *(int *)(puVar21 + 0x29bf70);\n          (**(code **)(puVar21 + 0x29cd8c))(*(undefined4 *)(iVar3 + -0x5090));\n          (**(code **)(puVar21 + 0x29cbdc))(*(undefined4 *)(iVar16 + -0x5088));\n          iVar4 = (**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088));\n          if (iVar4 == 0) {\n            iVar13 = 0;\n            piVar11 = piVar2;\n          }\n          else {\n            iVar13 = 0;\n            do {\n              piVar11 = piVar2 + iVar13;\n              if ((*(int *)(iVar4 + 0x2c) == 0) &&\n                 (iVar5 = (**(code **)(puVar21 + 0x29ccec))(*(undefined4 *)(iVar4 + 0xc),iVar1,0),\n                 iVar5 != 0)) {\n                *piVar11 = iVar4;\n                piVar11 = piVar2 + iVar13 + 1;\n                iVar13 = iVar13 + 1;\n              }\n              iVar4 = (**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088));\n            } while (iVar4 != 0);\n          }\n          (**(code **)(puVar21 + 0x29ca24))(*(undefined4 *)(iVar3 + -0x5090));\n          (**(code **)(puVar21 + 0x29cf78))(piVar2,iVar13,4,*(int *)(puVar21 + 0x29c13c) + -0x5800);\n          *piVar6 = iVar13;\n          *piVar11 = 0;\n          return piVar2;\n        }\n      }\n      return (int *)0x0;\n    }\n  }" else (compound_statement "{\n    puVar12 = *(undefined **)(puVar21 + 0x29bf88);\n    (**(code **)(puVar21 + 0x29c884))\n              (0x8000,puVar12 + -0x40d0,*(int *)(puVar21 + 0x29bf88) + -0x3be0,500);\n    param_1 = uVar20;\n    unaff_s6 = iVar1;\n    unaff_s7 = piVar6;\n    if (piVar6 != (int *)0x0) {\n      *piVar6 = 0;\n      iVar3 = FUN_0010b2dc(uVar20);\n      if (iVar3 != 0) {\n        iVar16 = *(int *)(puVar21 + 0x29bf70);\n        iVar3 = (**(code **)(puVar21 + 0x29ca98))(*(undefined4 *)(iVar16 + -0x5088));\n        piVar2 = (int *)(**(code **)(puVar21 + 0x29cbb0))(iVar3 + 1,4);\n        if (piVar2 != (int *)0x0) {\n          iVar3 = *(int *)(puVar21 + 0x29bf70);\n          (**(code **)(puVar21 + 0x29cd8c))(*(undefined4 *)(iVar3 + -0x5090));\n          (**(code **)(puVar21 + 0x29cbdc))(*(undefined4 *)(iVar16 + -0x5088));\n          iVar4 = (**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088));\n          if (iVar4 == 0) {\n            iVar13 = 0;\n            piVar11 = piVar2;\n          }\n          else {\n            iVar13 = 0;\n            do {\n              piVar11 = piVar2 + iVar13;\n              if ((*(int *)(iVar4 + 0x2c) == 0) &&\n                 (iVar5 = (**(code **)(puVar21 + 0x29ccec))(*(undefined4 *)(iVar4 + 0xc),iVar1,0),\n                 iVar5 != 0)) {\n                *piVar11 = iVar4;\n                piVar11 = piVar2 + iVar13 + 1;\n                iVar13 = iVar13 + 1;\n              }\n              iVar4 = (**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088));\n            } while (iVar4 != 0);\n          }\n          (**(code **)(puVar21 + 0x29ca24))(*(undefined4 *)(iVar3 + -0x5090));\n          (**(code **)(puVar21 + 0x29cf78))(piVar2,iVar13,4,*(int *)(puVar21 + 0x29c13c) + -0x5800);\n          *piVar6 = iVar13;\n          *piVar11 = 0;\n          return piVar2;\n        }\n      }\n      return (int *)0x0;\n    }\n  }" { (expression_statement "puVar12 = *(undefined **)(puVar21 + 0x29bf88);" (assignment_expression "puVar12 = *(undefined **)(puVar21 + 0x29bf88)" identifier = (pointer_expression "*(undefined **)(puVar21 + 0x29bf88)" * (cast_expression "(undefined **)(puVar21 + 0x29bf88)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x29bf88)" ( (binary_expression "puVar21 + 0x29bf88" identifier + number_literal) ))))) ;) (expression_statement "(**(code **)(puVar21 + 0x29c884))\n              (0x8000,puVar12 + -0x40d0,*(int *)(puVar21 + 0x29bf88) + -0x3be0,500);" (call_expression "(**(code **)(puVar21 + 0x29c884))\n              (0x8000,puVar12 + -0x40d0,*(int *)(puVar21 + 0x29bf88) + -0x3be0,500)" (parenthesized_expression "(**(code **)(puVar21 + 0x29c884))" ( (pointer_expression "**(code **)(puVar21 + 0x29c884)" * (pointer_expression "*(code **)(puVar21 + 0x29c884)" * (cast_expression "(code **)(puVar21 + 0x29c884)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x29c884)" ( (binary_expression "puVar21 + 0x29c884" identifier + number_literal) ))))) )) (argument_list "(0x8000,puVar12 + -0x40d0,*(int *)(puVar21 + 0x29bf88) + -0x3be0,500)" ( number_literal , (binary_expression "puVar12 + -0x40d0" identifier + number_literal) , (binary_expression "*(int *)(puVar21 + 0x29bf88) + -0x3be0" (pointer_expression "*(int *)(puVar21 + 0x29bf88)" * (cast_expression "(int *)(puVar21 + 0x29bf88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 0x29bf88)" ( (binary_expression "puVar21 + 0x29bf88" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) (expression_statement "param_1 = uVar20;" (assignment_expression "param_1 = uVar20" identifier = identifier) ;) (expression_statement "unaff_s6 = iVar1;" (assignment_expression "unaff_s6 = iVar1" identifier = identifier) ;) (expression_statement "unaff_s7 = piVar6;" (assignment_expression "unaff_s7 = piVar6" identifier = identifier) ;) (if_statement "if (piVar6 != (int *)0x0) {\n      *piVar6 = 0;\n      iVar3 = FUN_0010b2dc(uVar20);\n      if (iVar3 != 0) {\n        iVar16 = *(int *)(puVar21 + 0x29bf70);\n        iVar3 = (**(code **)(puVar21 + 0x29ca98))(*(undefined4 *)(iVar16 + -0x5088));\n        piVar2 = (int *)(**(code **)(puVar21 + 0x29cbb0))(iVar3 + 1,4);\n        if (piVar2 != (int *)0x0) {\n          iVar3 = *(int *)(puVar21 + 0x29bf70);\n          (**(code **)(puVar21 + 0x29cd8c))(*(undefined4 *)(iVar3 + -0x5090));\n          (**(code **)(puVar21 + 0x29cbdc))(*(undefined4 *)(iVar16 + -0x5088));\n          iVar4 = (**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088));\n          if (iVar4 == 0) {\n            iVar13 = 0;\n            piVar11 = piVar2;\n          }\n          else {\n            iVar13 = 0;\n            do {\n              piVar11 = piVar2 + iVar13;\n              if ((*(int *)(iVar4 + 0x2c) == 0) &&\n                 (iVar5 = (**(code **)(puVar21 + 0x29ccec))(*(undefined4 *)(iVar4 + 0xc),iVar1,0),\n                 iVar5 != 0)) {\n                *piVar11 = iVar4;\n                piVar11 = piVar2 + iVar13 + 1;\n                iVar13 = iVar13 + 1;\n              }\n              iVar4 = (**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088));\n            } while (iVar4 != 0);\n          }\n          (**(code **)(puVar21 + 0x29ca24))(*(undefined4 *)(iVar3 + -0x5090));\n          (**(code **)(puVar21 + 0x29cf78))(piVar2,iVar13,4,*(int *)(puVar21 + 0x29c13c) + -0x5800);\n          *piVar6 = iVar13;\n          *piVar11 = 0;\n          return piVar2;\n        }\n      }\n      return (int *)0x0;\n    }" if (parenthesized_expression "(piVar6 != (int *)0x0)" ( (binary_expression "piVar6 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      *piVar6 = 0;\n      iVar3 = FUN_0010b2dc(uVar20);\n      if (iVar3 != 0) {\n        iVar16 = *(int *)(puVar21 + 0x29bf70);\n        iVar3 = (**(code **)(puVar21 + 0x29ca98))(*(undefined4 *)(iVar16 + -0x5088));\n        piVar2 = (int *)(**(code **)(puVar21 + 0x29cbb0))(iVar3 + 1,4);\n        if (piVar2 != (int *)0x0) {\n          iVar3 = *(int *)(puVar21 + 0x29bf70);\n          (**(code **)(puVar21 + 0x29cd8c))(*(undefined4 *)(iVar3 + -0x5090));\n          (**(code **)(puVar21 + 0x29cbdc))(*(undefined4 *)(iVar16 + -0x5088));\n          iVar4 = (**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088));\n          if (iVar4 == 0) {\n            iVar13 = 0;\n            piVar11 = piVar2;\n          }\n          else {\n            iVar13 = 0;\n            do {\n              piVar11 = piVar2 + iVar13;\n              if ((*(int *)(iVar4 + 0x2c) == 0) &&\n                 (iVar5 = (**(code **)(puVar21 + 0x29ccec))(*(undefined4 *)(iVar4 + 0xc),iVar1,0),\n                 iVar5 != 0)) {\n                *piVar11 = iVar4;\n                piVar11 = piVar2 + iVar13 + 1;\n                iVar13 = iVar13 + 1;\n              }\n              iVar4 = (**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088));\n            } while (iVar4 != 0);\n          }\n          (**(code **)(puVar21 + 0x29ca24))(*(undefined4 *)(iVar3 + -0x5090));\n          (**(code **)(puVar21 + 0x29cf78))(piVar2,iVar13,4,*(int *)(puVar21 + 0x29c13c) + -0x5800);\n          *piVar6 = iVar13;\n          *piVar11 = 0;\n          return piVar2;\n        }\n      }\n      return (int *)0x0;\n    }" { (expression_statement "*piVar6 = 0;" (assignment_expression "*piVar6 = 0" (pointer_expression "*piVar6" * identifier) = number_literal) ;) (expression_statement "iVar3 = FUN_0010b2dc(uVar20);" (assignment_expression "iVar3 = FUN_0010b2dc(uVar20)" identifier = (call_expression "FUN_0010b2dc(uVar20)" identifier (argument_list "(uVar20)" ( identifier )))) ;) (if_statement "if (iVar3 != 0) {\n        iVar16 = *(int *)(puVar21 + 0x29bf70);\n        iVar3 = (**(code **)(puVar21 + 0x29ca98))(*(undefined4 *)(iVar16 + -0x5088));\n        piVar2 = (int *)(**(code **)(puVar21 + 0x29cbb0))(iVar3 + 1,4);\n        if (piVar2 != (int *)0x0) {\n          iVar3 = *(int *)(puVar21 + 0x29bf70);\n          (**(code **)(puVar21 + 0x29cd8c))(*(undefined4 *)(iVar3 + -0x5090));\n          (**(code **)(puVar21 + 0x29cbdc))(*(undefined4 *)(iVar16 + -0x5088));\n          iVar4 = (**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088));\n          if (iVar4 == 0) {\n            iVar13 = 0;\n            piVar11 = piVar2;\n          }\n          else {\n            iVar13 = 0;\n            do {\n              piVar11 = piVar2 + iVar13;\n              if ((*(int *)(iVar4 + 0x2c) == 0) &&\n                 (iVar5 = (**(code **)(puVar21 + 0x29ccec))(*(undefined4 *)(iVar4 + 0xc),iVar1,0),\n                 iVar5 != 0)) {\n                *piVar11 = iVar4;\n                piVar11 = piVar2 + iVar13 + 1;\n                iVar13 = iVar13 + 1;\n              }\n              iVar4 = (**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088));\n            } while (iVar4 != 0);\n          }\n          (**(code **)(puVar21 + 0x29ca24))(*(undefined4 *)(iVar3 + -0x5090));\n          (**(code **)(puVar21 + 0x29cf78))(piVar2,iVar13,4,*(int *)(puVar21 + 0x29c13c) + -0x5800);\n          *piVar6 = iVar13;\n          *piVar11 = 0;\n          return piVar2;\n        }\n      }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n        iVar16 = *(int *)(puVar21 + 0x29bf70);\n        iVar3 = (**(code **)(puVar21 + 0x29ca98))(*(undefined4 *)(iVar16 + -0x5088));\n        piVar2 = (int *)(**(code **)(puVar21 + 0x29cbb0))(iVar3 + 1,4);\n        if (piVar2 != (int *)0x0) {\n          iVar3 = *(int *)(puVar21 + 0x29bf70);\n          (**(code **)(puVar21 + 0x29cd8c))(*(undefined4 *)(iVar3 + -0x5090));\n          (**(code **)(puVar21 + 0x29cbdc))(*(undefined4 *)(iVar16 + -0x5088));\n          iVar4 = (**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088));\n          if (iVar4 == 0) {\n            iVar13 = 0;\n            piVar11 = piVar2;\n          }\n          else {\n            iVar13 = 0;\n            do {\n              piVar11 = piVar2 + iVar13;\n              if ((*(int *)(iVar4 + 0x2c) == 0) &&\n                 (iVar5 = (**(code **)(puVar21 + 0x29ccec))(*(undefined4 *)(iVar4 + 0xc),iVar1,0),\n                 iVar5 != 0)) {\n                *piVar11 = iVar4;\n                piVar11 = piVar2 + iVar13 + 1;\n                iVar13 = iVar13 + 1;\n              }\n              iVar4 = (**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088));\n            } while (iVar4 != 0);\n          }\n          (**(code **)(puVar21 + 0x29ca24))(*(undefined4 *)(iVar3 + -0x5090));\n          (**(code **)(puVar21 + 0x29cf78))(piVar2,iVar13,4,*(int *)(puVar21 + 0x29c13c) + -0x5800);\n          *piVar6 = iVar13;\n          *piVar11 = 0;\n          return piVar2;\n        }\n      }" { (expression_statement "iVar16 = *(int *)(puVar21 + 0x29bf70);" (assignment_expression "iVar16 = *(int *)(puVar21 + 0x29bf70)" identifier = (pointer_expression "*(int *)(puVar21 + 0x29bf70)" * (cast_expression "(int *)(puVar21 + 0x29bf70)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 0x29bf70)" ( (binary_expression "puVar21 + 0x29bf70" identifier + number_literal) ))))) ;) (expression_statement "iVar3 = (**(code **)(puVar21 + 0x29ca98))(*(undefined4 *)(iVar16 + -0x5088));" (assignment_expression "iVar3 = (**(code **)(puVar21 + 0x29ca98))(*(undefined4 *)(iVar16 + -0x5088))" identifier = (call_expression "(**(code **)(puVar21 + 0x29ca98))(*(undefined4 *)(iVar16 + -0x5088))" (parenthesized_expression "(**(code **)(puVar21 + 0x29ca98))" ( (pointer_expression "**(code **)(puVar21 + 0x29ca98)" * (pointer_expression "*(code **)(puVar21 + 0x29ca98)" * (cast_expression "(code **)(puVar21 + 0x29ca98)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x29ca98)" ( (binary_expression "puVar21 + 0x29ca98" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar16 + -0x5088))" ( (pointer_expression "*(undefined4 *)(iVar16 + -0x5088)" * (cast_expression "(undefined4 *)(iVar16 + -0x5088)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + -0x5088)" ( (binary_expression "iVar16 + -0x5088" identifier + number_literal) )))) )))) ;) (expression_statement "piVar2 = (int *)(**(code **)(puVar21 + 0x29cbb0))(iVar3 + 1,4);" (assignment_expression "piVar2 = (int *)(**(code **)(puVar21 + 0x29cbb0))(iVar3 + 1,4)" identifier = (cast_expression "(int *)(**(code **)(puVar21 + 0x29cbb0))(iVar3 + 1,4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar21 + 0x29cbb0))(iVar3 + 1,4)" (parenthesized_expression "(**(code **)(puVar21 + 0x29cbb0))" ( (pointer_expression "**(code **)(puVar21 + 0x29cbb0)" * (pointer_expression "*(code **)(puVar21 + 0x29cbb0)" * (cast_expression "(code **)(puVar21 + 0x29cbb0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x29cbb0)" ( (binary_expression "puVar21 + 0x29cbb0" identifier + number_literal) ))))) )) (argument_list "(iVar3 + 1,4)" ( (binary_expression "iVar3 + 1" identifier + number_literal) , number_literal ))))) ;) (if_statement "if (piVar2 != (int *)0x0) {\n          iVar3 = *(int *)(puVar21 + 0x29bf70);\n          (**(code **)(puVar21 + 0x29cd8c))(*(undefined4 *)(iVar3 + -0x5090));\n          (**(code **)(puVar21 + 0x29cbdc))(*(undefined4 *)(iVar16 + -0x5088));\n          iVar4 = (**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088));\n          if (iVar4 == 0) {\n            iVar13 = 0;\n            piVar11 = piVar2;\n          }\n          else {\n            iVar13 = 0;\n            do {\n              piVar11 = piVar2 + iVar13;\n              if ((*(int *)(iVar4 + 0x2c) == 0) &&\n                 (iVar5 = (**(code **)(puVar21 + 0x29ccec))(*(undefined4 *)(iVar4 + 0xc),iVar1,0),\n                 iVar5 != 0)) {\n                *piVar11 = iVar4;\n                piVar11 = piVar2 + iVar13 + 1;\n                iVar13 = iVar13 + 1;\n              }\n              iVar4 = (**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088));\n            } while (iVar4 != 0);\n          }\n          (**(code **)(puVar21 + 0x29ca24))(*(undefined4 *)(iVar3 + -0x5090));\n          (**(code **)(puVar21 + 0x29cf78))(piVar2,iVar13,4,*(int *)(puVar21 + 0x29c13c) + -0x5800);\n          *piVar6 = iVar13;\n          *piVar11 = 0;\n          return piVar2;\n        }" if (parenthesized_expression "(piVar2 != (int *)0x0)" ( (binary_expression "piVar2 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          iVar3 = *(int *)(puVar21 + 0x29bf70);\n          (**(code **)(puVar21 + 0x29cd8c))(*(undefined4 *)(iVar3 + -0x5090));\n          (**(code **)(puVar21 + 0x29cbdc))(*(undefined4 *)(iVar16 + -0x5088));\n          iVar4 = (**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088));\n          if (iVar4 == 0) {\n            iVar13 = 0;\n            piVar11 = piVar2;\n          }\n          else {\n            iVar13 = 0;\n            do {\n              piVar11 = piVar2 + iVar13;\n              if ((*(int *)(iVar4 + 0x2c) == 0) &&\n                 (iVar5 = (**(code **)(puVar21 + 0x29ccec))(*(undefined4 *)(iVar4 + 0xc),iVar1,0),\n                 iVar5 != 0)) {\n                *piVar11 = iVar4;\n                piVar11 = piVar2 + iVar13 + 1;\n                iVar13 = iVar13 + 1;\n              }\n              iVar4 = (**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088));\n            } while (iVar4 != 0);\n          }\n          (**(code **)(puVar21 + 0x29ca24))(*(undefined4 *)(iVar3 + -0x5090));\n          (**(code **)(puVar21 + 0x29cf78))(piVar2,iVar13,4,*(int *)(puVar21 + 0x29c13c) + -0x5800);\n          *piVar6 = iVar13;\n          *piVar11 = 0;\n          return piVar2;\n        }" { (expression_statement "iVar3 = *(int *)(puVar21 + 0x29bf70);" (assignment_expression "iVar3 = *(int *)(puVar21 + 0x29bf70)" identifier = (pointer_expression "*(int *)(puVar21 + 0x29bf70)" * (cast_expression "(int *)(puVar21 + 0x29bf70)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 0x29bf70)" ( (binary_expression "puVar21 + 0x29bf70" identifier + number_literal) ))))) ;) (expression_statement "(**(code **)(puVar21 + 0x29cd8c))(*(undefined4 *)(iVar3 + -0x5090));" (call_expression "(**(code **)(puVar21 + 0x29cd8c))(*(undefined4 *)(iVar3 + -0x5090))" (parenthesized_expression "(**(code **)(puVar21 + 0x29cd8c))" ( (pointer_expression "**(code **)(puVar21 + 0x29cd8c)" * (pointer_expression "*(code **)(puVar21 + 0x29cd8c)" * (cast_expression "(code **)(puVar21 + 0x29cd8c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x29cd8c)" ( (binary_expression "puVar21 + 0x29cd8c" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar3 + -0x5090))" ( (pointer_expression "*(undefined4 *)(iVar3 + -0x5090)" * (cast_expression "(undefined4 *)(iVar3 + -0x5090)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + -0x5090)" ( (binary_expression "iVar3 + -0x5090" identifier + number_literal) )))) ))) ;) (expression_statement "(**(code **)(puVar21 + 0x29cbdc))(*(undefined4 *)(iVar16 + -0x5088));" (call_expression "(**(code **)(puVar21 + 0x29cbdc))(*(undefined4 *)(iVar16 + -0x5088))" (parenthesized_expression "(**(code **)(puVar21 + 0x29cbdc))" ( (pointer_expression "**(code **)(puVar21 + 0x29cbdc)" * (pointer_expression "*(code **)(puVar21 + 0x29cbdc)" * (cast_expression "(code **)(puVar21 + 0x29cbdc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x29cbdc)" ( (binary_expression "puVar21 + 0x29cbdc" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar16 + -0x5088))" ( (pointer_expression "*(undefined4 *)(iVar16 + -0x5088)" * (cast_expression "(undefined4 *)(iVar16 + -0x5088)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + -0x5088)" ( (binary_expression "iVar16 + -0x5088" identifier + number_literal) )))) ))) ;) (expression_statement "iVar4 = (**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088));" (assignment_expression "iVar4 = (**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088))" identifier = (call_expression "(**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088))" (parenthesized_expression "(**(code **)(puVar21 + 0x29c9b4))" ( (pointer_expression "**(code **)(puVar21 + 0x29c9b4)" * (pointer_expression "*(code **)(puVar21 + 0x29c9b4)" * (cast_expression "(code **)(puVar21 + 0x29c9b4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x29c9b4)" ( (binary_expression "puVar21 + 0x29c9b4" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar16 + -0x5088))" ( (pointer_expression "*(undefined4 *)(iVar16 + -0x5088)" * (cast_expression "(undefined4 *)(iVar16 + -0x5088)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + -0x5088)" ( (binary_expression "iVar16 + -0x5088" identifier + number_literal) )))) )))) ;) (if_statement "if (iVar4 == 0) {\n            iVar13 = 0;\n            piVar11 = piVar2;\n          }\n          else {\n            iVar13 = 0;\n            do {\n              piVar11 = piVar2 + iVar13;\n              if ((*(int *)(iVar4 + 0x2c) == 0) &&\n                 (iVar5 = (**(code **)(puVar21 + 0x29ccec))(*(undefined4 *)(iVar4 + 0xc),iVar1,0),\n                 iVar5 != 0)) {\n                *piVar11 = iVar4;\n                piVar11 = piVar2 + iVar13 + 1;\n                iVar13 = iVar13 + 1;\n              }\n              iVar4 = (**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088));\n            } while (iVar4 != 0);\n          }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n            iVar13 = 0;\n            piVar11 = piVar2;\n          }" { (expression_statement "iVar13 = 0;" (assignment_expression "iVar13 = 0" identifier = number_literal) ;) (expression_statement "piVar11 = piVar2;" (assignment_expression "piVar11 = piVar2" identifier = identifier) ;) }) (else_clause "else {\n            iVar13 = 0;\n            do {\n              piVar11 = piVar2 + iVar13;\n              if ((*(int *)(iVar4 + 0x2c) == 0) &&\n                 (iVar5 = (**(code **)(puVar21 + 0x29ccec))(*(undefined4 *)(iVar4 + 0xc),iVar1,0),\n                 iVar5 != 0)) {\n                *piVar11 = iVar4;\n                piVar11 = piVar2 + iVar13 + 1;\n                iVar13 = iVar13 + 1;\n              }\n              iVar4 = (**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088));\n            } while (iVar4 != 0);\n          }" else (compound_statement "{\n            iVar13 = 0;\n            do {\n              piVar11 = piVar2 + iVar13;\n              if ((*(int *)(iVar4 + 0x2c) == 0) &&\n                 (iVar5 = (**(code **)(puVar21 + 0x29ccec))(*(undefined4 *)(iVar4 + 0xc),iVar1,0),\n                 iVar5 != 0)) {\n                *piVar11 = iVar4;\n                piVar11 = piVar2 + iVar13 + 1;\n                iVar13 = iVar13 + 1;\n              }\n              iVar4 = (**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088));\n            } while (iVar4 != 0);\n          }" { (expression_statement "iVar13 = 0;" (assignment_expression "iVar13 = 0" identifier = number_literal) ;) (do_statement "do {\n              piVar11 = piVar2 + iVar13;\n              if ((*(int *)(iVar4 + 0x2c) == 0) &&\n                 (iVar5 = (**(code **)(puVar21 + 0x29ccec))(*(undefined4 *)(iVar4 + 0xc),iVar1,0),\n                 iVar5 != 0)) {\n                *piVar11 = iVar4;\n                piVar11 = piVar2 + iVar13 + 1;\n                iVar13 = iVar13 + 1;\n              }\n              iVar4 = (**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088));\n            } while (iVar4 != 0);" do (compound_statement "{\n              piVar11 = piVar2 + iVar13;\n              if ((*(int *)(iVar4 + 0x2c) == 0) &&\n                 (iVar5 = (**(code **)(puVar21 + 0x29ccec))(*(undefined4 *)(iVar4 + 0xc),iVar1,0),\n                 iVar5 != 0)) {\n                *piVar11 = iVar4;\n                piVar11 = piVar2 + iVar13 + 1;\n                iVar13 = iVar13 + 1;\n              }\n              iVar4 = (**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088));\n            }" { (expression_statement "piVar11 = piVar2 + iVar13;" (assignment_expression "piVar11 = piVar2 + iVar13" identifier = (binary_expression "piVar2 + iVar13" identifier + identifier)) ;) (if_statement "if ((*(int *)(iVar4 + 0x2c) == 0) &&\n                 (iVar5 = (**(code **)(puVar21 + 0x29ccec))(*(undefined4 *)(iVar4 + 0xc),iVar1,0),\n                 iVar5 != 0)) {\n                *piVar11 = iVar4;\n                piVar11 = piVar2 + iVar13 + 1;\n                iVar13 = iVar13 + 1;\n              }" if (parenthesized_expression "((*(int *)(iVar4 + 0x2c) == 0) &&\n                 (iVar5 = (**(code **)(puVar21 + 0x29ccec))(*(undefined4 *)(iVar4 + 0xc),iVar1,0),\n                 iVar5 != 0))" ( (binary_expression "(*(int *)(iVar4 + 0x2c) == 0) &&\n                 (iVar5 = (**(code **)(puVar21 + 0x29ccec))(*(undefined4 *)(iVar4 + 0xc),iVar1,0),\n                 iVar5 != 0)" (parenthesized_expression "(*(int *)(iVar4 + 0x2c) == 0)" ( (binary_expression "*(int *)(iVar4 + 0x2c) == 0" (pointer_expression "*(int *)(iVar4 + 0x2c)" * (cast_expression "(int *)(iVar4 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x2c)" ( (binary_expression "iVar4 + 0x2c" identifier + number_literal) )))) == number_literal) )) && (parenthesized_expression "(iVar5 = (**(code **)(puVar21 + 0x29ccec))(*(undefined4 *)(iVar4 + 0xc),iVar1,0),\n                 iVar5 != 0)" ( (comma_expression "iVar5 = (**(code **)(puVar21 + 0x29ccec))(*(undefined4 *)(iVar4 + 0xc),iVar1,0),\n                 iVar5 != 0" (assignment_expression "iVar5 = (**(code **)(puVar21 + 0x29ccec))(*(undefined4 *)(iVar4 + 0xc),iVar1,0)" identifier = (call_expression "(**(code **)(puVar21 + 0x29ccec))(*(undefined4 *)(iVar4 + 0xc),iVar1,0)" (parenthesized_expression "(**(code **)(puVar21 + 0x29ccec))" ( (pointer_expression "**(code **)(puVar21 + 0x29ccec)" * (pointer_expression "*(code **)(puVar21 + 0x29ccec)" * (cast_expression "(code **)(puVar21 + 0x29ccec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x29ccec)" ( (binary_expression "puVar21 + 0x29ccec" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar4 + 0xc),iVar1,0)" ( (pointer_expression "*(undefined4 *)(iVar4 + 0xc)" * (cast_expression "(undefined4 *)(iVar4 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0xc)" ( (binary_expression "iVar4 + 0xc" identifier + number_literal) )))) , identifier , number_literal )))) , (binary_expression "iVar5 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n                *piVar11 = iVar4;\n                piVar11 = piVar2 + iVar13 + 1;\n                iVar13 = iVar13 + 1;\n              }" { (expression_statement "*piVar11 = iVar4;" (assignment_expression "*piVar11 = iVar4" (pointer_expression "*piVar11" * identifier) = identifier) ;) (expression_statement "piVar11 = piVar2 + iVar13 + 1;" (assignment_expression "piVar11 = piVar2 + iVar13 + 1" identifier = (binary_expression "piVar2 + iVar13 + 1" (binary_expression "piVar2 + iVar13" identifier + identifier) + number_literal)) ;) (expression_statement "iVar13 = iVar13 + 1;" (assignment_expression "iVar13 = iVar13 + 1" identifier = (binary_expression "iVar13 + 1" identifier + number_literal)) ;) })) (expression_statement "iVar4 = (**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088));" (assignment_expression "iVar4 = (**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088))" identifier = (call_expression "(**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088))" (parenthesized_expression "(**(code **)(puVar21 + 0x29c9b4))" ( (pointer_expression "**(code **)(puVar21 + 0x29c9b4)" * (pointer_expression "*(code **)(puVar21 + 0x29c9b4)" * (cast_expression "(code **)(puVar21 + 0x29c9b4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x29c9b4)" ( (binary_expression "puVar21 + 0x29c9b4" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar16 + -0x5088))" ( (pointer_expression "*(undefined4 *)(iVar16 + -0x5088)" * (cast_expression "(undefined4 *)(iVar16 + -0x5088)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + -0x5088)" ( (binary_expression "iVar16 + -0x5088" identifier + number_literal) )))) )))) ;) }) while (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) ;) }))) (expression_statement "(**(code **)(puVar21 + 0x29ca24))(*(undefined4 *)(iVar3 + -0x5090));" (call_expression "(**(code **)(puVar21 + 0x29ca24))(*(undefined4 *)(iVar3 + -0x5090))" (parenthesized_expression "(**(code **)(puVar21 + 0x29ca24))" ( (pointer_expression "**(code **)(puVar21 + 0x29ca24)" * (pointer_expression "*(code **)(puVar21 + 0x29ca24)" * (cast_expression "(code **)(puVar21 + 0x29ca24)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x29ca24)" ( (binary_expression "puVar21 + 0x29ca24" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar3 + -0x5090))" ( (pointer_expression "*(undefined4 *)(iVar3 + -0x5090)" * (cast_expression "(undefined4 *)(iVar3 + -0x5090)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + -0x5090)" ( (binary_expression "iVar3 + -0x5090" identifier + number_literal) )))) ))) ;) (expression_statement "(**(code **)(puVar21 + 0x29cf78))(piVar2,iVar13,4,*(int *)(puVar21 + 0x29c13c) + -0x5800);" (call_expression "(**(code **)(puVar21 + 0x29cf78))(piVar2,iVar13,4,*(int *)(puVar21 + 0x29c13c) + -0x5800)" (parenthesized_expression "(**(code **)(puVar21 + 0x29cf78))" ( (pointer_expression "**(code **)(puVar21 + 0x29cf78)" * (pointer_expression "*(code **)(puVar21 + 0x29cf78)" * (cast_expression "(code **)(puVar21 + 0x29cf78)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x29cf78)" ( (binary_expression "puVar21 + 0x29cf78" identifier + number_literal) ))))) )) (argument_list "(piVar2,iVar13,4,*(int *)(puVar21 + 0x29c13c) + -0x5800)" ( identifier , identifier , number_literal , (binary_expression "*(int *)(puVar21 + 0x29c13c) + -0x5800" (pointer_expression "*(int *)(puVar21 + 0x29c13c)" * (cast_expression "(int *)(puVar21 + 0x29c13c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 0x29c13c)" ( (binary_expression "puVar21 + 0x29c13c" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "*piVar6 = iVar13;" (assignment_expression "*piVar6 = iVar13" (pointer_expression "*piVar6" * identifier) = identifier) ;) (expression_statement "*piVar11 = 0;" (assignment_expression "*piVar11 = 0" (pointer_expression "*piVar11" * identifier) = number_literal) ;) (return_statement "return piVar2;" return identifier ;) })) })) (return_statement "return (int *)0x0;" return (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) }))) (expression_statement "puVar10 = puVar12 + -0x40d0;" (assignment_expression "puVar10 = puVar12 + -0x40d0" identifier = (binary_expression "puVar12 + -0x40d0" identifier + number_literal)) ;) (expression_statement "pcVar22 = *(code **)(puVar21 + 0x29ccac);" (assignment_expression "pcVar22 = *(code **)(puVar21 + 0x29ccac)" identifier = (pointer_expression "*(code **)(puVar21 + 0x29ccac)" * (cast_expression "(code **)(puVar21 + 0x29ccac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x29ccac)" ( (binary_expression "puVar21 + 0x29ccac" identifier + number_literal) ))))) ;) (expression_statement "iVar1 = *(int *)(puVar21 + 0x29bf88) + -0x3e64;" (assignment_expression "iVar1 = *(int *)(puVar21 + 0x29bf88) + -0x3e64" identifier = (binary_expression "*(int *)(puVar21 + 0x29bf88) + -0x3e64" (pointer_expression "*(int *)(puVar21 + 0x29bf88)" * (cast_expression "(int *)(puVar21 + 0x29bf88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 0x29bf88)" ( (binary_expression "puVar21 + 0x29bf88" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar22)(iVar1,puVar10,0x1f5,*(int *)(puVar21 + 0x29bf88) + -0x3bd0);" (call_expression "(*pcVar22)(iVar1,puVar10,0x1f5,*(int *)(puVar21 + 0x29bf88) + -0x3bd0)" (parenthesized_expression "(*pcVar22)" ( (pointer_expression "*pcVar22" * identifier) )) (argument_list "(iVar1,puVar10,0x1f5,*(int *)(puVar21 + 0x29bf88) + -0x3bd0)" ( identifier , identifier , number_literal , (binary_expression "*(int *)(puVar21 + 0x29bf88) + -0x3bd0" (pointer_expression "*(int *)(puVar21 + 0x29bf88)" * (cast_expression "(int *)(puVar21 + 0x29bf88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 0x29bf88)" ( (binary_expression "puVar21 + 0x29bf88" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "piVar6 = *(int **)(pcVar22 + 0x29c670);" (assignment_expression "piVar6 = *(int **)(pcVar22 + 0x29c670)" identifier = (pointer_expression "*(int **)(pcVar22 + 0x29c670)" * (cast_expression "(int **)(pcVar22 + 0x29c670)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x29c670)" ( (binary_expression "pcVar22 + 0x29c670" identifier + number_literal) ))))) ;) (expression_statement "uStack_b4 = param_5;" (assignment_expression "uStack_b4 = param_5" identifier = identifier) ;) (expression_statement "iStack_cc = *piVar6;" (assignment_expression "iStack_cc = *piVar6" identifier = (pointer_expression "*piVar6" * identifier)) ;) (if_statement "if (iVar1 == 0) {\n    iVar1 = **(int **)(pcVar22 + 0x29c324);\n  }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n    iVar1 = **(int **)(pcVar22 + 0x29c324);\n  }" { (expression_statement "iVar1 = **(int **)(pcVar22 + 0x29c324);" (assignment_expression "iVar1 = **(int **)(pcVar22 + 0x29c324)" identifier = (pointer_expression "**(int **)(pcVar22 + 0x29c324)" * (pointer_expression "*(int **)(pcVar22 + 0x29c324)" * (cast_expression "(int **)(pcVar22 + 0x29c324)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x29c324)" ( (binary_expression "pcVar22 + 0x29c324" identifier + number_literal) )))))) ;) })) (expression_statement "piVar11 = &iStack_d0;" (assignment_expression "piVar11 = &iStack_d0" identifier = (pointer_expression "&iStack_d0" & identifier)) ;) (expression_statement "puStack_c8 = puVar12;" (assignment_expression "puStack_c8 = puVar12" identifier = identifier) ;) (expression_statement "uStack_c4 = param_1;" (assignment_expression "uStack_c4 = param_1" identifier = identifier) ;) (expression_statement "piStack_c0 = param_2;" (assignment_expression "piStack_c0 = param_2" identifier = identifier) ;) (expression_statement "uStack_bc = param_3;" (assignment_expression "uStack_bc = param_3" identifier = identifier) ;) (expression_statement "uStack_b8 = param_4;" (assignment_expression "uStack_b8 = param_4" identifier = identifier) ;) (expression_statement "iStack_b0 = unaff_s6;" (assignment_expression "iStack_b0 = unaff_s6" identifier = identifier) ;) (expression_statement "piStack_ac = unaff_s7;" (assignment_expression "piStack_ac = unaff_s7" identifier = identifier) ;) (expression_statement "piVar2 = (int *)(**(code **)(pcVar22 + 0x29cc48))(*(int *)(pcVar22 + 0x29bd28) + 0x6c9c);" (assignment_expression "piVar2 = (int *)(**(code **)(pcVar22 + 0x29cc48))(*(int *)(pcVar22 + 0x29bd28) + 0x6c9c)" identifier = (cast_expression "(int *)(**(code **)(pcVar22 + 0x29cc48))(*(int *)(pcVar22 + 0x29bd28) + 0x6c9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar22 + 0x29cc48))(*(int *)(pcVar22 + 0x29bd28) + 0x6c9c)" (parenthesized_expression "(**(code **)(pcVar22 + 0x29cc48))" ( (pointer_expression "**(code **)(pcVar22 + 0x29cc48)" * (pointer_expression "*(code **)(pcVar22 + 0x29cc48)" * (cast_expression "(code **)(pcVar22 + 0x29cc48)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x29cc48)" ( (binary_expression "pcVar22 + 0x29cc48" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar22 + 0x29bd28) + 0x6c9c)" ( (binary_expression "*(int *)(pcVar22 + 0x29bd28) + 0x6c9c" (pointer_expression "*(int *)(pcVar22 + 0x29bd28)" * (cast_expression "(int *)(pcVar22 + 0x29bd28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x29bd28)" ( (binary_expression "pcVar22 + 0x29bd28" identifier + number_literal) )))) + number_literal) ))))) ;) (if_statement "if (piVar2 == (int *)0x0) {\n    piVar2 = (int *)0x0;\n  }\n  else {\n    iVar3 = *(int *)(pcVar22 + 0x29bd20);\n    if (0 < iStack_d0) {\n      iVar17 = 0;\n      iVar19 = *(int *)(pcVar22 + 0x29bd8c);\n      iVar4 = 0;\n      iVar15 = *(int *)(pcVar22 + 0x29bd90);\n      dVar25 = *(double *)(iVar3 + 0x1418);\n      iVar13 = *(int *)(pcVar22 + 0x29bd24);\n      iVar5 = *(int *)(pcVar22 + 0x29bd24);\n      iVar16 = iStack_d0;\n      piVar14 = piVar2;\n      do {\n        iVar9 = *piVar14;\n        piVar11 = *(int **)(iVar9 + 0x2c);\n        if (piVar11 == (int *)0x0) {\n          iVar16 = *(int *)(iVar9 + 8);\n          if ((iVar4 == 0) ||\n             (iVar7 = (**(code **)(pcVar22 + 0x29c550))(iVar4,iVar16), iVar4 = iVar16, iVar7 != 0))\n          {\n            if (iVar16 != 0) {\n              (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4620,iVar16);\n              iVar9 = *piVar14;\n            }\n            iVar16 = 0;\n            uVar8 = 0;\n            pcVar18 = (char *)(*(int *)(pcVar22 + 0x29bd24) + -0x3b94);\n            while( true ) {\n              if ((1 << (uVar8 & 0x1f) & *(uint *)(iVar9 + 4)) != 0) {\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar19 + 0x30e8,pcVar18);\n                iVar4 = (**(code **)(pcVar22 + 0x29c778))(pcVar18);\n                iVar16 = iVar16 + iVar4;\n              }\n              if (uVar8 == 0x1f) break;\n              pcVar18 = pcVar18 + 0x10;\n              uVar8 = uVar8 + 1;\n              if (*pcVar18 == '\0') break;\n              iVar9 = *piVar14;\n            }\n            if (iVar16 < 0xd) {\n              do {\n                iVar16 = iVar16 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              } while (iVar16 != 0xd);\n            }\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x3e3c);\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4644);\n            iVar9 = *piVar14;\n            iVar4 = *(int *)(iVar9 + 8);\n          }\n          if (*(int *)(iVar9 + 0x10) != 0) {\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x62ac);\n            iVar9 = *piVar14;\n            uVar8 = (**(code **)(pcVar22 + 0x29c778))(*(undefined4 *)(iVar9 + 0x10));\n            if (uVar8 < 0x11) {\n              do {\n                uVar8 = uVar8 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              } while (uVar8 != 0x11);\n              iVar9 = *piVar14;\n            }\n          }\n          dVar24 = (double)*(int *)(iVar9 + 0x18);\n          if (*(int *)(iVar9 + 0x18) < 0) {\n            dVar24 = dVar24 + *(double *)(iVar3 + 0x1418);\n          }\n          (**(code **)(pcVar22 + 0x29c984))\n                    (iVar1,iVar13 + -0x3e1c,(int)((ulonglong)dVar24 >> 0x20),SUB84(dVar24,0));\n          dVar24 = (double)*(int *)(*piVar14 + 0x1c);\n          if (*(int *)(*piVar14 + 0x1c) < 0) {\n            dVar24 = dVar24 + dVar25;\n          }\n          (**(code **)(pcVar22 + 0x29c984))\n                    (iVar1,iVar5 + -0x3e14,(int)((ulonglong)dVar24 >> 0x20),SUB84(dVar24,0));\n          puVar10 = *(undefined **)(*piVar14 + 0x14);\n          if (puVar10 != (undefined *)0x0) {\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x62ac);\n          }\n          piVar11 = (int *)(*(int *)(pcVar22 + 0x29bd2c) + -0x4bdc);\n          (**(code **)(pcVar22 + 0x29c984))(iVar1);\n          iVar16 = iStack_d0;\n        }\n        iVar17 = iVar17 + 1;\n        piVar14 = piVar14 + 1;\n      } while (iVar17 < iVar16);\n    }\n    (**(code **)(pcVar22 + 0x29c8cc))(iVar1);\n    (**(code **)(pcVar22 + 0x29c400))(piVar2);\n    piVar2 = (int *)0x1;\n  }" if (parenthesized_expression "(piVar2 == (int *)0x0)" ( (binary_expression "piVar2 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    piVar2 = (int *)0x0;\n  }" { (expression_statement "piVar2 = (int *)0x0;" (assignment_expression "piVar2 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n    iVar3 = *(int *)(pcVar22 + 0x29bd20);\n    if (0 < iStack_d0) {\n      iVar17 = 0;\n      iVar19 = *(int *)(pcVar22 + 0x29bd8c);\n      iVar4 = 0;\n      iVar15 = *(int *)(pcVar22 + 0x29bd90);\n      dVar25 = *(double *)(iVar3 + 0x1418);\n      iVar13 = *(int *)(pcVar22 + 0x29bd24);\n      iVar5 = *(int *)(pcVar22 + 0x29bd24);\n      iVar16 = iStack_d0;\n      piVar14 = piVar2;\n      do {\n        iVar9 = *piVar14;\n        piVar11 = *(int **)(iVar9 + 0x2c);\n        if (piVar11 == (int *)0x0) {\n          iVar16 = *(int *)(iVar9 + 8);\n          if ((iVar4 == 0) ||\n             (iVar7 = (**(code **)(pcVar22 + 0x29c550))(iVar4,iVar16), iVar4 = iVar16, iVar7 != 0))\n          {\n            if (iVar16 != 0) {\n              (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4620,iVar16);\n              iVar9 = *piVar14;\n            }\n            iVar16 = 0;\n            uVar8 = 0;\n            pcVar18 = (char *)(*(int *)(pcVar22 + 0x29bd24) + -0x3b94);\n            while( true ) {\n              if ((1 << (uVar8 & 0x1f) & *(uint *)(iVar9 + 4)) != 0) {\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar19 + 0x30e8,pcVar18);\n                iVar4 = (**(code **)(pcVar22 + 0x29c778))(pcVar18);\n                iVar16 = iVar16 + iVar4;\n              }\n              if (uVar8 == 0x1f) break;\n              pcVar18 = pcVar18 + 0x10;\n              uVar8 = uVar8 + 1;\n              if (*pcVar18 == '\0') break;\n              iVar9 = *piVar14;\n            }\n            if (iVar16 < 0xd) {\n              do {\n                iVar16 = iVar16 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              } while (iVar16 != 0xd);\n            }\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x3e3c);\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4644);\n            iVar9 = *piVar14;\n            iVar4 = *(int *)(iVar9 + 8);\n          }\n          if (*(int *)(iVar9 + 0x10) != 0) {\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x62ac);\n            iVar9 = *piVar14;\n            uVar8 = (**(code **)(pcVar22 + 0x29c778))(*(undefined4 *)(iVar9 + 0x10));\n            if (uVar8 < 0x11) {\n              do {\n                uVar8 = uVar8 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              } while (uVar8 != 0x11);\n              iVar9 = *piVar14;\n            }\n          }\n          dVar24 = (double)*(int *)(iVar9 + 0x18);\n          if (*(int *)(iVar9 + 0x18) < 0) {\n            dVar24 = dVar24 + *(double *)(iVar3 + 0x1418);\n          }\n          (**(code **)(pcVar22 + 0x29c984))\n                    (iVar1,iVar13 + -0x3e1c,(int)((ulonglong)dVar24 >> 0x20),SUB84(dVar24,0));\n          dVar24 = (double)*(int *)(*piVar14 + 0x1c);\n          if (*(int *)(*piVar14 + 0x1c) < 0) {\n            dVar24 = dVar24 + dVar25;\n          }\n          (**(code **)(pcVar22 + 0x29c984))\n                    (iVar1,iVar5 + -0x3e14,(int)((ulonglong)dVar24 >> 0x20),SUB84(dVar24,0));\n          puVar10 = *(undefined **)(*piVar14 + 0x14);\n          if (puVar10 != (undefined *)0x0) {\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x62ac);\n          }\n          piVar11 = (int *)(*(int *)(pcVar22 + 0x29bd2c) + -0x4bdc);\n          (**(code **)(pcVar22 + 0x29c984))(iVar1);\n          iVar16 = iStack_d0;\n        }\n        iVar17 = iVar17 + 1;\n        piVar14 = piVar14 + 1;\n      } while (iVar17 < iVar16);\n    }\n    (**(code **)(pcVar22 + 0x29c8cc))(iVar1);\n    (**(code **)(pcVar22 + 0x29c400))(piVar2);\n    piVar2 = (int *)0x1;\n  }" else (compound_statement "{\n    iVar3 = *(int *)(pcVar22 + 0x29bd20);\n    if (0 < iStack_d0) {\n      iVar17 = 0;\n      iVar19 = *(int *)(pcVar22 + 0x29bd8c);\n      iVar4 = 0;\n      iVar15 = *(int *)(pcVar22 + 0x29bd90);\n      dVar25 = *(double *)(iVar3 + 0x1418);\n      iVar13 = *(int *)(pcVar22 + 0x29bd24);\n      iVar5 = *(int *)(pcVar22 + 0x29bd24);\n      iVar16 = iStack_d0;\n      piVar14 = piVar2;\n      do {\n        iVar9 = *piVar14;\n        piVar11 = *(int **)(iVar9 + 0x2c);\n        if (piVar11 == (int *)0x0) {\n          iVar16 = *(int *)(iVar9 + 8);\n          if ((iVar4 == 0) ||\n             (iVar7 = (**(code **)(pcVar22 + 0x29c550))(iVar4,iVar16), iVar4 = iVar16, iVar7 != 0))\n          {\n            if (iVar16 != 0) {\n              (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4620,iVar16);\n              iVar9 = *piVar14;\n            }\n            iVar16 = 0;\n            uVar8 = 0;\n            pcVar18 = (char *)(*(int *)(pcVar22 + 0x29bd24) + -0x3b94);\n            while( true ) {\n              if ((1 << (uVar8 & 0x1f) & *(uint *)(iVar9 + 4)) != 0) {\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar19 + 0x30e8,pcVar18);\n                iVar4 = (**(code **)(pcVar22 + 0x29c778))(pcVar18);\n                iVar16 = iVar16 + iVar4;\n              }\n              if (uVar8 == 0x1f) break;\n              pcVar18 = pcVar18 + 0x10;\n              uVar8 = uVar8 + 1;\n              if (*pcVar18 == '\0') break;\n              iVar9 = *piVar14;\n            }\n            if (iVar16 < 0xd) {\n              do {\n                iVar16 = iVar16 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              } while (iVar16 != 0xd);\n            }\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x3e3c);\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4644);\n            iVar9 = *piVar14;\n            iVar4 = *(int *)(iVar9 + 8);\n          }\n          if (*(int *)(iVar9 + 0x10) != 0) {\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x62ac);\n            iVar9 = *piVar14;\n            uVar8 = (**(code **)(pcVar22 + 0x29c778))(*(undefined4 *)(iVar9 + 0x10));\n            if (uVar8 < 0x11) {\n              do {\n                uVar8 = uVar8 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              } while (uVar8 != 0x11);\n              iVar9 = *piVar14;\n            }\n          }\n          dVar24 = (double)*(int *)(iVar9 + 0x18);\n          if (*(int *)(iVar9 + 0x18) < 0) {\n            dVar24 = dVar24 + *(double *)(iVar3 + 0x1418);\n          }\n          (**(code **)(pcVar22 + 0x29c984))\n                    (iVar1,iVar13 + -0x3e1c,(int)((ulonglong)dVar24 >> 0x20),SUB84(dVar24,0));\n          dVar24 = (double)*(int *)(*piVar14 + 0x1c);\n          if (*(int *)(*piVar14 + 0x1c) < 0) {\n            dVar24 = dVar24 + dVar25;\n          }\n          (**(code **)(pcVar22 + 0x29c984))\n                    (iVar1,iVar5 + -0x3e14,(int)((ulonglong)dVar24 >> 0x20),SUB84(dVar24,0));\n          puVar10 = *(undefined **)(*piVar14 + 0x14);\n          if (puVar10 != (undefined *)0x0) {\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x62ac);\n          }\n          piVar11 = (int *)(*(int *)(pcVar22 + 0x29bd2c) + -0x4bdc);\n          (**(code **)(pcVar22 + 0x29c984))(iVar1);\n          iVar16 = iStack_d0;\n        }\n        iVar17 = iVar17 + 1;\n        piVar14 = piVar14 + 1;\n      } while (iVar17 < iVar16);\n    }\n    (**(code **)(pcVar22 + 0x29c8cc))(iVar1);\n    (**(code **)(pcVar22 + 0x29c400))(piVar2);\n    piVar2 = (int *)0x1;\n  }" { (expression_statement "iVar3 = *(int *)(pcVar22 + 0x29bd20);" (assignment_expression "iVar3 = *(int *)(pcVar22 + 0x29bd20)" identifier = (pointer_expression "*(int *)(pcVar22 + 0x29bd20)" * (cast_expression "(int *)(pcVar22 + 0x29bd20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x29bd20)" ( (binary_expression "pcVar22 + 0x29bd20" identifier + number_literal) ))))) ;) (if_statement "if (0 < iStack_d0) {\n      iVar17 = 0;\n      iVar19 = *(int *)(pcVar22 + 0x29bd8c);\n      iVar4 = 0;\n      iVar15 = *(int *)(pcVar22 + 0x29bd90);\n      dVar25 = *(double *)(iVar3 + 0x1418);\n      iVar13 = *(int *)(pcVar22 + 0x29bd24);\n      iVar5 = *(int *)(pcVar22 + 0x29bd24);\n      iVar16 = iStack_d0;\n      piVar14 = piVar2;\n      do {\n        iVar9 = *piVar14;\n        piVar11 = *(int **)(iVar9 + 0x2c);\n        if (piVar11 == (int *)0x0) {\n          iVar16 = *(int *)(iVar9 + 8);\n          if ((iVar4 == 0) ||\n             (iVar7 = (**(code **)(pcVar22 + 0x29c550))(iVar4,iVar16), iVar4 = iVar16, iVar7 != 0))\n          {\n            if (iVar16 != 0) {\n              (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4620,iVar16);\n              iVar9 = *piVar14;\n            }\n            iVar16 = 0;\n            uVar8 = 0;\n            pcVar18 = (char *)(*(int *)(pcVar22 + 0x29bd24) + -0x3b94);\n            while( true ) {\n              if ((1 << (uVar8 & 0x1f) & *(uint *)(iVar9 + 4)) != 0) {\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar19 + 0x30e8,pcVar18);\n                iVar4 = (**(code **)(pcVar22 + 0x29c778))(pcVar18);\n                iVar16 = iVar16 + iVar4;\n              }\n              if (uVar8 == 0x1f) break;\n              pcVar18 = pcVar18 + 0x10;\n              uVar8 = uVar8 + 1;\n              if (*pcVar18 == '\0') break;\n              iVar9 = *piVar14;\n            }\n            if (iVar16 < 0xd) {\n              do {\n                iVar16 = iVar16 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              } while (iVar16 != 0xd);\n            }\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x3e3c);\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4644);\n            iVar9 = *piVar14;\n            iVar4 = *(int *)(iVar9 + 8);\n          }\n          if (*(int *)(iVar9 + 0x10) != 0) {\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x62ac);\n            iVar9 = *piVar14;\n            uVar8 = (**(code **)(pcVar22 + 0x29c778))(*(undefined4 *)(iVar9 + 0x10));\n            if (uVar8 < 0x11) {\n              do {\n                uVar8 = uVar8 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              } while (uVar8 != 0x11);\n              iVar9 = *piVar14;\n            }\n          }\n          dVar24 = (double)*(int *)(iVar9 + 0x18);\n          if (*(int *)(iVar9 + 0x18) < 0) {\n            dVar24 = dVar24 + *(double *)(iVar3 + 0x1418);\n          }\n          (**(code **)(pcVar22 + 0x29c984))\n                    (iVar1,iVar13 + -0x3e1c,(int)((ulonglong)dVar24 >> 0x20),SUB84(dVar24,0));\n          dVar24 = (double)*(int *)(*piVar14 + 0x1c);\n          if (*(int *)(*piVar14 + 0x1c) < 0) {\n            dVar24 = dVar24 + dVar25;\n          }\n          (**(code **)(pcVar22 + 0x29c984))\n                    (iVar1,iVar5 + -0x3e14,(int)((ulonglong)dVar24 >> 0x20),SUB84(dVar24,0));\n          puVar10 = *(undefined **)(*piVar14 + 0x14);\n          if (puVar10 != (undefined *)0x0) {\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x62ac);\n          }\n          piVar11 = (int *)(*(int *)(pcVar22 + 0x29bd2c) + -0x4bdc);\n          (**(code **)(pcVar22 + 0x29c984))(iVar1);\n          iVar16 = iStack_d0;\n        }\n        iVar17 = iVar17 + 1;\n        piVar14 = piVar14 + 1;\n      } while (iVar17 < iVar16);\n    }" if (parenthesized_expression "(0 < iStack_d0)" ( (binary_expression "0 < iStack_d0" number_literal < identifier) )) (compound_statement "{\n      iVar17 = 0;\n      iVar19 = *(int *)(pcVar22 + 0x29bd8c);\n      iVar4 = 0;\n      iVar15 = *(int *)(pcVar22 + 0x29bd90);\n      dVar25 = *(double *)(iVar3 + 0x1418);\n      iVar13 = *(int *)(pcVar22 + 0x29bd24);\n      iVar5 = *(int *)(pcVar22 + 0x29bd24);\n      iVar16 = iStack_d0;\n      piVar14 = piVar2;\n      do {\n        iVar9 = *piVar14;\n        piVar11 = *(int **)(iVar9 + 0x2c);\n        if (piVar11 == (int *)0x0) {\n          iVar16 = *(int *)(iVar9 + 8);\n          if ((iVar4 == 0) ||\n             (iVar7 = (**(code **)(pcVar22 + 0x29c550))(iVar4,iVar16), iVar4 = iVar16, iVar7 != 0))\n          {\n            if (iVar16 != 0) {\n              (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4620,iVar16);\n              iVar9 = *piVar14;\n            }\n            iVar16 = 0;\n            uVar8 = 0;\n            pcVar18 = (char *)(*(int *)(pcVar22 + 0x29bd24) + -0x3b94);\n            while( true ) {\n              if ((1 << (uVar8 & 0x1f) & *(uint *)(iVar9 + 4)) != 0) {\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar19 + 0x30e8,pcVar18);\n                iVar4 = (**(code **)(pcVar22 + 0x29c778))(pcVar18);\n                iVar16 = iVar16 + iVar4;\n              }\n              if (uVar8 == 0x1f) break;\n              pcVar18 = pcVar18 + 0x10;\n              uVar8 = uVar8 + 1;\n              if (*pcVar18 == '\0') break;\n              iVar9 = *piVar14;\n            }\n            if (iVar16 < 0xd) {\n              do {\n                iVar16 = iVar16 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              } while (iVar16 != 0xd);\n            }\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x3e3c);\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4644);\n            iVar9 = *piVar14;\n            iVar4 = *(int *)(iVar9 + 8);\n          }\n          if (*(int *)(iVar9 + 0x10) != 0) {\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x62ac);\n            iVar9 = *piVar14;\n            uVar8 = (**(code **)(pcVar22 + 0x29c778))(*(undefined4 *)(iVar9 + 0x10));\n            if (uVar8 < 0x11) {\n              do {\n                uVar8 = uVar8 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              } while (uVar8 != 0x11);\n              iVar9 = *piVar14;\n            }\n          }\n          dVar24 = (double)*(int *)(iVar9 + 0x18);\n          if (*(int *)(iVar9 + 0x18) < 0) {\n            dVar24 = dVar24 + *(double *)(iVar3 + 0x1418);\n          }\n          (**(code **)(pcVar22 + 0x29c984))\n                    (iVar1,iVar13 + -0x3e1c,(int)((ulonglong)dVar24 >> 0x20),SUB84(dVar24,0));\n          dVar24 = (double)*(int *)(*piVar14 + 0x1c);\n          if (*(int *)(*piVar14 + 0x1c) < 0) {\n            dVar24 = dVar24 + dVar25;\n          }\n          (**(code **)(pcVar22 + 0x29c984))\n                    (iVar1,iVar5 + -0x3e14,(int)((ulonglong)dVar24 >> 0x20),SUB84(dVar24,0));\n          puVar10 = *(undefined **)(*piVar14 + 0x14);\n          if (puVar10 != (undefined *)0x0) {\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x62ac);\n          }\n          piVar11 = (int *)(*(int *)(pcVar22 + 0x29bd2c) + -0x4bdc);\n          (**(code **)(pcVar22 + 0x29c984))(iVar1);\n          iVar16 = iStack_d0;\n        }\n        iVar17 = iVar17 + 1;\n        piVar14 = piVar14 + 1;\n      } while (iVar17 < iVar16);\n    }" { (expression_statement "iVar17 = 0;" (assignment_expression "iVar17 = 0" identifier = number_literal) ;) (expression_statement "iVar19 = *(int *)(pcVar22 + 0x29bd8c);" (assignment_expression "iVar19 = *(int *)(pcVar22 + 0x29bd8c)" identifier = (pointer_expression "*(int *)(pcVar22 + 0x29bd8c)" * (cast_expression "(int *)(pcVar22 + 0x29bd8c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x29bd8c)" ( (binary_expression "pcVar22 + 0x29bd8c" identifier + number_literal) ))))) ;) (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) (expression_statement "iVar15 = *(int *)(pcVar22 + 0x29bd90);" (assignment_expression "iVar15 = *(int *)(pcVar22 + 0x29bd90)" identifier = (pointer_expression "*(int *)(pcVar22 + 0x29bd90)" * (cast_expression "(int *)(pcVar22 + 0x29bd90)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x29bd90)" ( (binary_expression "pcVar22 + 0x29bd90" identifier + number_literal) ))))) ;) (expression_statement "dVar25 = *(double *)(iVar3 + 0x1418);" (assignment_expression "dVar25 = *(double *)(iVar3 + 0x1418)" identifier = (pointer_expression "*(double *)(iVar3 + 0x1418)" * (cast_expression "(double *)(iVar3 + 0x1418)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x1418)" ( (binary_expression "iVar3 + 0x1418" identifier + number_literal) ))))) ;) (expression_statement "iVar13 = *(int *)(pcVar22 + 0x29bd24);" (assignment_expression "iVar13 = *(int *)(pcVar22 + 0x29bd24)" identifier = (pointer_expression "*(int *)(pcVar22 + 0x29bd24)" * (cast_expression "(int *)(pcVar22 + 0x29bd24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x29bd24)" ( (binary_expression "pcVar22 + 0x29bd24" identifier + number_literal) ))))) ;) (expression_statement "iVar5 = *(int *)(pcVar22 + 0x29bd24);" (assignment_expression "iVar5 = *(int *)(pcVar22 + 0x29bd24)" identifier = (pointer_expression "*(int *)(pcVar22 + 0x29bd24)" * (cast_expression "(int *)(pcVar22 + 0x29bd24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x29bd24)" ( (binary_expression "pcVar22 + 0x29bd24" identifier + number_literal) ))))) ;) (expression_statement "iVar16 = iStack_d0;" (assignment_expression "iVar16 = iStack_d0" identifier = identifier) ;) (expression_statement "piVar14 = piVar2;" (assignment_expression "piVar14 = piVar2" identifier = identifier) ;) (do_statement "do {\n        iVar9 = *piVar14;\n        piVar11 = *(int **)(iVar9 + 0x2c);\n        if (piVar11 == (int *)0x0) {\n          iVar16 = *(int *)(iVar9 + 8);\n          if ((iVar4 == 0) ||\n             (iVar7 = (**(code **)(pcVar22 + 0x29c550))(iVar4,iVar16), iVar4 = iVar16, iVar7 != 0))\n          {\n            if (iVar16 != 0) {\n              (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4620,iVar16);\n              iVar9 = *piVar14;\n            }\n            iVar16 = 0;\n            uVar8 = 0;\n            pcVar18 = (char *)(*(int *)(pcVar22 + 0x29bd24) + -0x3b94);\n            while( true ) {\n              if ((1 << (uVar8 & 0x1f) & *(uint *)(iVar9 + 4)) != 0) {\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar19 + 0x30e8,pcVar18);\n                iVar4 = (**(code **)(pcVar22 + 0x29c778))(pcVar18);\n                iVar16 = iVar16 + iVar4;\n              }\n              if (uVar8 == 0x1f) break;\n              pcVar18 = pcVar18 + 0x10;\n              uVar8 = uVar8 + 1;\n              if (*pcVar18 == '\0') break;\n              iVar9 = *piVar14;\n            }\n            if (iVar16 < 0xd) {\n              do {\n                iVar16 = iVar16 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              } while (iVar16 != 0xd);\n            }\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x3e3c);\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4644);\n            iVar9 = *piVar14;\n            iVar4 = *(int *)(iVar9 + 8);\n          }\n          if (*(int *)(iVar9 + 0x10) != 0) {\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x62ac);\n            iVar9 = *piVar14;\n            uVar8 = (**(code **)(pcVar22 + 0x29c778))(*(undefined4 *)(iVar9 + 0x10));\n            if (uVar8 < 0x11) {\n              do {\n                uVar8 = uVar8 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              } while (uVar8 != 0x11);\n              iVar9 = *piVar14;\n            }\n          }\n          dVar24 = (double)*(int *)(iVar9 + 0x18);\n          if (*(int *)(iVar9 + 0x18) < 0) {\n            dVar24 = dVar24 + *(double *)(iVar3 + 0x1418);\n          }\n          (**(code **)(pcVar22 + 0x29c984))\n                    (iVar1,iVar13 + -0x3e1c,(int)((ulonglong)dVar24 >> 0x20),SUB84(dVar24,0));\n          dVar24 = (double)*(int *)(*piVar14 + 0x1c);\n          if (*(int *)(*piVar14 + 0x1c) < 0) {\n            dVar24 = dVar24 + dVar25;\n          }\n          (**(code **)(pcVar22 + 0x29c984))\n                    (iVar1,iVar5 + -0x3e14,(int)((ulonglong)dVar24 >> 0x20),SUB84(dVar24,0));\n          puVar10 = *(undefined **)(*piVar14 + 0x14);\n          if (puVar10 != (undefined *)0x0) {\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x62ac);\n          }\n          piVar11 = (int *)(*(int *)(pcVar22 + 0x29bd2c) + -0x4bdc);\n          (**(code **)(pcVar22 + 0x29c984))(iVar1);\n          iVar16 = iStack_d0;\n        }\n        iVar17 = iVar17 + 1;\n        piVar14 = piVar14 + 1;\n      } while (iVar17 < iVar16);" do (compound_statement "{\n        iVar9 = *piVar14;\n        piVar11 = *(int **)(iVar9 + 0x2c);\n        if (piVar11 == (int *)0x0) {\n          iVar16 = *(int *)(iVar9 + 8);\n          if ((iVar4 == 0) ||\n             (iVar7 = (**(code **)(pcVar22 + 0x29c550))(iVar4,iVar16), iVar4 = iVar16, iVar7 != 0))\n          {\n            if (iVar16 != 0) {\n              (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4620,iVar16);\n              iVar9 = *piVar14;\n            }\n            iVar16 = 0;\n            uVar8 = 0;\n            pcVar18 = (char *)(*(int *)(pcVar22 + 0x29bd24) + -0x3b94);\n            while( true ) {\n              if ((1 << (uVar8 & 0x1f) & *(uint *)(iVar9 + 4)) != 0) {\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar19 + 0x30e8,pcVar18);\n                iVar4 = (**(code **)(pcVar22 + 0x29c778))(pcVar18);\n                iVar16 = iVar16 + iVar4;\n              }\n              if (uVar8 == 0x1f) break;\n              pcVar18 = pcVar18 + 0x10;\n              uVar8 = uVar8 + 1;\n              if (*pcVar18 == '\0') break;\n              iVar9 = *piVar14;\n            }\n            if (iVar16 < 0xd) {\n              do {\n                iVar16 = iVar16 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              } while (iVar16 != 0xd);\n            }\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x3e3c);\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4644);\n            iVar9 = *piVar14;\n            iVar4 = *(int *)(iVar9 + 8);\n          }\n          if (*(int *)(iVar9 + 0x10) != 0) {\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x62ac);\n            iVar9 = *piVar14;\n            uVar8 = (**(code **)(pcVar22 + 0x29c778))(*(undefined4 *)(iVar9 + 0x10));\n            if (uVar8 < 0x11) {\n              do {\n                uVar8 = uVar8 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              } while (uVar8 != 0x11);\n              iVar9 = *piVar14;\n            }\n          }\n          dVar24 = (double)*(int *)(iVar9 + 0x18);\n          if (*(int *)(iVar9 + 0x18) < 0) {\n            dVar24 = dVar24 + *(double *)(iVar3 + 0x1418);\n          }\n          (**(code **)(pcVar22 + 0x29c984))\n                    (iVar1,iVar13 + -0x3e1c,(int)((ulonglong)dVar24 >> 0x20),SUB84(dVar24,0));\n          dVar24 = (double)*(int *)(*piVar14 + 0x1c);\n          if (*(int *)(*piVar14 + 0x1c) < 0) {\n            dVar24 = dVar24 + dVar25;\n          }\n          (**(code **)(pcVar22 + 0x29c984))\n                    (iVar1,iVar5 + -0x3e14,(int)((ulonglong)dVar24 >> 0x20),SUB84(dVar24,0));\n          puVar10 = *(undefined **)(*piVar14 + 0x14);\n          if (puVar10 != (undefined *)0x0) {\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x62ac);\n          }\n          piVar11 = (int *)(*(int *)(pcVar22 + 0x29bd2c) + -0x4bdc);\n          (**(code **)(pcVar22 + 0x29c984))(iVar1);\n          iVar16 = iStack_d0;\n        }\n        iVar17 = iVar17 + 1;\n        piVar14 = piVar14 + 1;\n      }" { (expression_statement "iVar9 = *piVar14;" (assignment_expression "iVar9 = *piVar14" identifier = (pointer_expression "*piVar14" * identifier)) ;) (expression_statement "piVar11 = *(int **)(iVar9 + 0x2c);" (assignment_expression "piVar11 = *(int **)(iVar9 + 0x2c)" identifier = (pointer_expression "*(int **)(iVar9 + 0x2c)" * (cast_expression "(int **)(iVar9 + 0x2c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar9 + 0x2c)" ( (binary_expression "iVar9 + 0x2c" identifier + number_literal) ))))) ;) (if_statement "if (piVar11 == (int *)0x0) {\n          iVar16 = *(int *)(iVar9 + 8);\n          if ((iVar4 == 0) ||\n             (iVar7 = (**(code **)(pcVar22 + 0x29c550))(iVar4,iVar16), iVar4 = iVar16, iVar7 != 0))\n          {\n            if (iVar16 != 0) {\n              (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4620,iVar16);\n              iVar9 = *piVar14;\n            }\n            iVar16 = 0;\n            uVar8 = 0;\n            pcVar18 = (char *)(*(int *)(pcVar22 + 0x29bd24) + -0x3b94);\n            while( true ) {\n              if ((1 << (uVar8 & 0x1f) & *(uint *)(iVar9 + 4)) != 0) {\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar19 + 0x30e8,pcVar18);\n                iVar4 = (**(code **)(pcVar22 + 0x29c778))(pcVar18);\n                iVar16 = iVar16 + iVar4;\n              }\n              if (uVar8 == 0x1f) break;\n              pcVar18 = pcVar18 + 0x10;\n              uVar8 = uVar8 + 1;\n              if (*pcVar18 == '\0') break;\n              iVar9 = *piVar14;\n            }\n            if (iVar16 < 0xd) {\n              do {\n                iVar16 = iVar16 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              } while (iVar16 != 0xd);\n            }\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x3e3c);\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4644);\n            iVar9 = *piVar14;\n            iVar4 = *(int *)(iVar9 + 8);\n          }\n          if (*(int *)(iVar9 + 0x10) != 0) {\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x62ac);\n            iVar9 = *piVar14;\n            uVar8 = (**(code **)(pcVar22 + 0x29c778))(*(undefined4 *)(iVar9 + 0x10));\n            if (uVar8 < 0x11) {\n              do {\n                uVar8 = uVar8 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              } while (uVar8 != 0x11);\n              iVar9 = *piVar14;\n            }\n          }\n          dVar24 = (double)*(int *)(iVar9 + 0x18);\n          if (*(int *)(iVar9 + 0x18) < 0) {\n            dVar24 = dVar24 + *(double *)(iVar3 + 0x1418);\n          }\n          (**(code **)(pcVar22 + 0x29c984))\n                    (iVar1,iVar13 + -0x3e1c,(int)((ulonglong)dVar24 >> 0x20),SUB84(dVar24,0));\n          dVar24 = (double)*(int *)(*piVar14 + 0x1c);\n          if (*(int *)(*piVar14 + 0x1c) < 0) {\n            dVar24 = dVar24 + dVar25;\n          }\n          (**(code **)(pcVar22 + 0x29c984))\n                    (iVar1,iVar5 + -0x3e14,(int)((ulonglong)dVar24 >> 0x20),SUB84(dVar24,0));\n          puVar10 = *(undefined **)(*piVar14 + 0x14);\n          if (puVar10 != (undefined *)0x0) {\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x62ac);\n          }\n          piVar11 = (int *)(*(int *)(pcVar22 + 0x29bd2c) + -0x4bdc);\n          (**(code **)(pcVar22 + 0x29c984))(iVar1);\n          iVar16 = iStack_d0;\n        }" if (parenthesized_expression "(piVar11 == (int *)0x0)" ( (binary_expression "piVar11 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          iVar16 = *(int *)(iVar9 + 8);\n          if ((iVar4 == 0) ||\n             (iVar7 = (**(code **)(pcVar22 + 0x29c550))(iVar4,iVar16), iVar4 = iVar16, iVar7 != 0))\n          {\n            if (iVar16 != 0) {\n              (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4620,iVar16);\n              iVar9 = *piVar14;\n            }\n            iVar16 = 0;\n            uVar8 = 0;\n            pcVar18 = (char *)(*(int *)(pcVar22 + 0x29bd24) + -0x3b94);\n            while( true ) {\n              if ((1 << (uVar8 & 0x1f) & *(uint *)(iVar9 + 4)) != 0) {\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar19 + 0x30e8,pcVar18);\n                iVar4 = (**(code **)(pcVar22 + 0x29c778))(pcVar18);\n                iVar16 = iVar16 + iVar4;\n              }\n              if (uVar8 == 0x1f) break;\n              pcVar18 = pcVar18 + 0x10;\n              uVar8 = uVar8 + 1;\n              if (*pcVar18 == '\0') break;\n              iVar9 = *piVar14;\n            }\n            if (iVar16 < 0xd) {\n              do {\n                iVar16 = iVar16 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              } while (iVar16 != 0xd);\n            }\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x3e3c);\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4644);\n            iVar9 = *piVar14;\n            iVar4 = *(int *)(iVar9 + 8);\n          }\n          if (*(int *)(iVar9 + 0x10) != 0) {\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x62ac);\n            iVar9 = *piVar14;\n            uVar8 = (**(code **)(pcVar22 + 0x29c778))(*(undefined4 *)(iVar9 + 0x10));\n            if (uVar8 < 0x11) {\n              do {\n                uVar8 = uVar8 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              } while (uVar8 != 0x11);\n              iVar9 = *piVar14;\n            }\n          }\n          dVar24 = (double)*(int *)(iVar9 + 0x18);\n          if (*(int *)(iVar9 + 0x18) < 0) {\n            dVar24 = dVar24 + *(double *)(iVar3 + 0x1418);\n          }\n          (**(code **)(pcVar22 + 0x29c984))\n                    (iVar1,iVar13 + -0x3e1c,(int)((ulonglong)dVar24 >> 0x20),SUB84(dVar24,0));\n          dVar24 = (double)*(int *)(*piVar14 + 0x1c);\n          if (*(int *)(*piVar14 + 0x1c) < 0) {\n            dVar24 = dVar24 + dVar25;\n          }\n          (**(code **)(pcVar22 + 0x29c984))\n                    (iVar1,iVar5 + -0x3e14,(int)((ulonglong)dVar24 >> 0x20),SUB84(dVar24,0));\n          puVar10 = *(undefined **)(*piVar14 + 0x14);\n          if (puVar10 != (undefined *)0x0) {\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x62ac);\n          }\n          piVar11 = (int *)(*(int *)(pcVar22 + 0x29bd2c) + -0x4bdc);\n          (**(code **)(pcVar22 + 0x29c984))(iVar1);\n          iVar16 = iStack_d0;\n        }" { (expression_statement "iVar16 = *(int *)(iVar9 + 8);" (assignment_expression "iVar16 = *(int *)(iVar9 + 8)" identifier = (pointer_expression "*(int *)(iVar9 + 8)" * (cast_expression "(int *)(iVar9 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 8)" ( (binary_expression "iVar9 + 8" identifier + number_literal) ))))) ;) (if_statement "if ((iVar4 == 0) ||\n             (iVar7 = (**(code **)(pcVar22 + 0x29c550))(iVar4,iVar16), iVar4 = iVar16, iVar7 != 0))\n          {\n            if (iVar16 != 0) {\n              (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4620,iVar16);\n              iVar9 = *piVar14;\n            }\n            iVar16 = 0;\n            uVar8 = 0;\n            pcVar18 = (char *)(*(int *)(pcVar22 + 0x29bd24) + -0x3b94);\n            while( true ) {\n              if ((1 << (uVar8 & 0x1f) & *(uint *)(iVar9 + 4)) != 0) {\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar19 + 0x30e8,pcVar18);\n                iVar4 = (**(code **)(pcVar22 + 0x29c778))(pcVar18);\n                iVar16 = iVar16 + iVar4;\n              }\n              if (uVar8 == 0x1f) break;\n              pcVar18 = pcVar18 + 0x10;\n              uVar8 = uVar8 + 1;\n              if (*pcVar18 == '\0') break;\n              iVar9 = *piVar14;\n            }\n            if (iVar16 < 0xd) {\n              do {\n                iVar16 = iVar16 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              } while (iVar16 != 0xd);\n            }\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x3e3c);\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4644);\n            iVar9 = *piVar14;\n            iVar4 = *(int *)(iVar9 + 8);\n          }" if (parenthesized_expression "((iVar4 == 0) ||\n             (iVar7 = (**(code **)(pcVar22 + 0x29c550))(iVar4,iVar16), iVar4 = iVar16, iVar7 != 0))" ( (binary_expression "(iVar4 == 0) ||\n             (iVar7 = (**(code **)(pcVar22 + 0x29c550))(iVar4,iVar16), iVar4 = iVar16, iVar7 != 0)" (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar7 = (**(code **)(pcVar22 + 0x29c550))(iVar4,iVar16), iVar4 = iVar16, iVar7 != 0)" ( (comma_expression "iVar7 = (**(code **)(pcVar22 + 0x29c550))(iVar4,iVar16), iVar4 = iVar16, iVar7 != 0" (assignment_expression "iVar7 = (**(code **)(pcVar22 + 0x29c550))(iVar4,iVar16)" identifier = (call_expression "(**(code **)(pcVar22 + 0x29c550))(iVar4,iVar16)" (parenthesized_expression "(**(code **)(pcVar22 + 0x29c550))" ( (pointer_expression "**(code **)(pcVar22 + 0x29c550)" * (pointer_expression "*(code **)(pcVar22 + 0x29c550)" * (cast_expression "(code **)(pcVar22 + 0x29c550)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x29c550)" ( (binary_expression "pcVar22 + 0x29c550" identifier + number_literal) ))))) )) (argument_list "(iVar4,iVar16)" ( identifier , identifier )))) , (comma_expression "iVar4 = iVar16, iVar7 != 0" (assignment_expression "iVar4 = iVar16" identifier = identifier) , (binary_expression "iVar7 != 0" identifier != number_literal))) ))) )) (compound_statement "{\n            if (iVar16 != 0) {\n              (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4620,iVar16);\n              iVar9 = *piVar14;\n            }\n            iVar16 = 0;\n            uVar8 = 0;\n            pcVar18 = (char *)(*(int *)(pcVar22 + 0x29bd24) + -0x3b94);\n            while( true ) {\n              if ((1 << (uVar8 & 0x1f) & *(uint *)(iVar9 + 4)) != 0) {\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar19 + 0x30e8,pcVar18);\n                iVar4 = (**(code **)(pcVar22 + 0x29c778))(pcVar18);\n                iVar16 = iVar16 + iVar4;\n              }\n              if (uVar8 == 0x1f) break;\n              pcVar18 = pcVar18 + 0x10;\n              uVar8 = uVar8 + 1;\n              if (*pcVar18 == '\0') break;\n              iVar9 = *piVar14;\n            }\n            if (iVar16 < 0xd) {\n              do {\n                iVar16 = iVar16 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              } while (iVar16 != 0xd);\n            }\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x3e3c);\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4644);\n            iVar9 = *piVar14;\n            iVar4 = *(int *)(iVar9 + 8);\n          }" { (if_statement "if (iVar16 != 0) {\n              (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4620,iVar16);\n              iVar9 = *piVar14;\n            }" if (parenthesized_expression "(iVar16 != 0)" ( (binary_expression "iVar16 != 0" identifier != number_literal) )) (compound_statement "{\n              (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4620,iVar16);\n              iVar9 = *piVar14;\n            }" { (expression_statement "(**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4620,iVar16);" (call_expression "(**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4620,iVar16)" (parenthesized_expression "(**(code **)(pcVar22 + 0x29c984))" ( (pointer_expression "**(code **)(pcVar22 + 0x29c984)" * (pointer_expression "*(code **)(pcVar22 + 0x29c984)" * (cast_expression "(code **)(pcVar22 + 0x29c984)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x29c984)" ( (binary_expression "pcVar22 + 0x29c984" identifier + number_literal) ))))) )) (argument_list "(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4620,iVar16)" ( identifier , (binary_expression "*(int *)(pcVar22 + 0x29bd20) + 0x4620" (pointer_expression "*(int *)(pcVar22 + 0x29bd20)" * (cast_expression "(int *)(pcVar22 + 0x29bd20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x29bd20)" ( (binary_expression "pcVar22 + 0x29bd20" identifier + number_literal) )))) + number_literal) , identifier ))) ;) (expression_statement "iVar9 = *piVar14;" (assignment_expression "iVar9 = *piVar14" identifier = (pointer_expression "*piVar14" * identifier)) ;) })) (expression_statement "iVar16 = 0;" (assignment_expression "iVar16 = 0" identifier = number_literal) ;) (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" identifier = number_literal) ;) (expression_statement "pcVar18 = (char *)(*(int *)(pcVar22 + 0x29bd24) + -0x3b94);" (assignment_expression "pcVar18 = (char *)(*(int *)(pcVar22 + 0x29bd24) + -0x3b94)" identifier = (cast_expression "(char *)(*(int *)(pcVar22 + 0x29bd24) + -0x3b94)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar22 + 0x29bd24) + -0x3b94)" ( (binary_expression "*(int *)(pcVar22 + 0x29bd24) + -0x3b94" (pointer_expression "*(int *)(pcVar22 + 0x29bd24)" * (cast_expression "(int *)(pcVar22 + 0x29bd24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x29bd24)" ( (binary_expression "pcVar22 + 0x29bd24" identifier + number_literal) )))) + number_literal) )))) ;) (while_statement "while( true ) {\n              if ((1 << (uVar8 & 0x1f) & *(uint *)(iVar9 + 4)) != 0) {\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar19 + 0x30e8,pcVar18);\n                iVar4 = (**(code **)(pcVar22 + 0x29c778))(pcVar18);\n                iVar16 = iVar16 + iVar4;\n              }\n              if (uVar8 == 0x1f) break;\n              pcVar18 = pcVar18 + 0x10;\n              uVar8 = uVar8 + 1;\n              if (*pcVar18 == '\0') break;\n              iVar9 = *piVar14;\n            }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n              if ((1 << (uVar8 & 0x1f) & *(uint *)(iVar9 + 4)) != 0) {\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar19 + 0x30e8,pcVar18);\n                iVar4 = (**(code **)(pcVar22 + 0x29c778))(pcVar18);\n                iVar16 = iVar16 + iVar4;\n              }\n              if (uVar8 == 0x1f) break;\n              pcVar18 = pcVar18 + 0x10;\n              uVar8 = uVar8 + 1;\n              if (*pcVar18 == '\0') break;\n              iVar9 = *piVar14;\n            }" { (if_statement "if ((1 << (uVar8 & 0x1f) & *(uint *)(iVar9 + 4)) != 0) {\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar19 + 0x30e8,pcVar18);\n                iVar4 = (**(code **)(pcVar22 + 0x29c778))(pcVar18);\n                iVar16 = iVar16 + iVar4;\n              }" if (parenthesized_expression "((1 << (uVar8 & 0x1f) & *(uint *)(iVar9 + 4)) != 0)" ( (binary_expression "(1 << (uVar8 & 0x1f) & *(uint *)(iVar9 + 4)) != 0" (parenthesized_expression "(1 << (uVar8 & 0x1f) & *(uint *)(iVar9 + 4))" ( (binary_expression "1 << (uVar8 & 0x1f) & *(uint *)(iVar9 + 4)" (binary_expression "1 << (uVar8 & 0x1f)" number_literal << (parenthesized_expression "(uVar8 & 0x1f)" ( (binary_expression "uVar8 & 0x1f" identifier & number_literal) ))) & (pointer_expression "*(uint *)(iVar9 + 4)" * (cast_expression "(uint *)(iVar9 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 4)" ( (binary_expression "iVar9 + 4" identifier + number_literal) ))))) )) != number_literal) )) (compound_statement "{\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar19 + 0x30e8,pcVar18);\n                iVar4 = (**(code **)(pcVar22 + 0x29c778))(pcVar18);\n                iVar16 = iVar16 + iVar4;\n              }" { (expression_statement "(**(code **)(pcVar22 + 0x29c984))(iVar1,iVar19 + 0x30e8,pcVar18);" (call_expression "(**(code **)(pcVar22 + 0x29c984))(iVar1,iVar19 + 0x30e8,pcVar18)" (parenthesized_expression "(**(code **)(pcVar22 + 0x29c984))" ( (pointer_expression "**(code **)(pcVar22 + 0x29c984)" * (pointer_expression "*(code **)(pcVar22 + 0x29c984)" * (cast_expression "(code **)(pcVar22 + 0x29c984)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x29c984)" ( (binary_expression "pcVar22 + 0x29c984" identifier + number_literal) ))))) )) (argument_list "(iVar1,iVar19 + 0x30e8,pcVar18)" ( identifier , (binary_expression "iVar19 + 0x30e8" identifier + number_literal) , identifier ))) ;) (expression_statement "iVar4 = (**(code **)(pcVar22 + 0x29c778))(pcVar18);" (assignment_expression "iVar4 = (**(code **)(pcVar22 + 0x29c778))(pcVar18)" identifier = (call_expression "(**(code **)(pcVar22 + 0x29c778))(pcVar18)" (parenthesized_expression "(**(code **)(pcVar22 + 0x29c778))" ( (pointer_expression "**(code **)(pcVar22 + 0x29c778)" * (pointer_expression "*(code **)(pcVar22 + 0x29c778)" * (cast_expression "(code **)(pcVar22 + 0x29c778)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x29c778)" ( (binary_expression "pcVar22 + 0x29c778" identifier + number_literal) ))))) )) (argument_list "(pcVar18)" ( identifier )))) ;) (expression_statement "iVar16 = iVar16 + iVar4;" (assignment_expression "iVar16 = iVar16 + iVar4" identifier = (binary_expression "iVar16 + iVar4" identifier + identifier)) ;) })) (if_statement "if (uVar8 == 0x1f) break;" if (parenthesized_expression "(uVar8 == 0x1f)" ( (binary_expression "uVar8 == 0x1f" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "pcVar18 = pcVar18 + 0x10;" (assignment_expression "pcVar18 = pcVar18 + 0x10" identifier = (binary_expression "pcVar18 + 0x10" identifier + number_literal)) ;) (expression_statement "uVar8 = uVar8 + 1;" (assignment_expression "uVar8 = uVar8 + 1" identifier = (binary_expression "uVar8 + 1" identifier + number_literal)) ;) (if_statement "if (*pcVar18 == '\0') break;" if (parenthesized_expression "(*pcVar18 == '\0')" ( (binary_expression "*pcVar18 == '\0'" (pointer_expression "*pcVar18" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (break_statement "break;" break ;)) (expression_statement "iVar9 = *piVar14;" (assignment_expression "iVar9 = *piVar14" identifier = (pointer_expression "*piVar14" * identifier)) ;) })) (if_statement "if (iVar16 < 0xd) {\n              do {\n                iVar16 = iVar16 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              } while (iVar16 != 0xd);\n            }" if (parenthesized_expression "(iVar16 < 0xd)" ( (binary_expression "iVar16 < 0xd" identifier < number_literal) )) (compound_statement "{\n              do {\n                iVar16 = iVar16 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              } while (iVar16 != 0xd);\n            }" { (do_statement "do {\n                iVar16 = iVar16 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              } while (iVar16 != 0xd);" do (compound_statement "{\n                iVar16 = iVar16 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              }" { (expression_statement "iVar16 = iVar16 + 1;" (assignment_expression "iVar16 = iVar16 + 1" identifier = (binary_expression "iVar16 + 1" identifier + number_literal)) ;) (expression_statement "(**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);" (call_expression "(**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158)" (parenthesized_expression "(**(code **)(pcVar22 + 0x29c984))" ( (pointer_expression "**(code **)(pcVar22 + 0x29c984)" * (pointer_expression "*(code **)(pcVar22 + 0x29c984)" * (cast_expression "(code **)(pcVar22 + 0x29c984)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x29c984)" ( (binary_expression "pcVar22 + 0x29c984" identifier + number_literal) ))))) )) (argument_list "(iVar1,iVar15 + 0x2158)" ( identifier , (binary_expression "iVar15 + 0x2158" identifier + number_literal) ))) ;) }) while (parenthesized_expression "(iVar16 != 0xd)" ( (binary_expression "iVar16 != 0xd" identifier != number_literal) )) ;) })) (expression_statement "(**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x3e3c);" (call_expression "(**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x3e3c)" (parenthesized_expression "(**(code **)(pcVar22 + 0x29c984))" ( (pointer_expression "**(code **)(pcVar22 + 0x29c984)" * (pointer_expression "*(code **)(pcVar22 + 0x29c984)" * (cast_expression "(code **)(pcVar22 + 0x29c984)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x29c984)" ( (binary_expression "pcVar22 + 0x29c984" identifier + number_literal) ))))) )) (argument_list "(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x3e3c)" ( identifier , (binary_expression "*(int *)(pcVar22 + 0x29bd24) + -0x3e3c" (pointer_expression "*(int *)(pcVar22 + 0x29bd24)" * (cast_expression "(int *)(pcVar22 + 0x29bd24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x29bd24)" ( (binary_expression "pcVar22 + 0x29bd24" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "(**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4644);" (call_expression "(**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4644)" (parenthesized_expression "(**(code **)(pcVar22 + 0x29c984))" ( (pointer_expression "**(code **)(pcVar22 + 0x29c984)" * (pointer_expression "*(code **)(pcVar22 + 0x29c984)" * (cast_expression "(code **)(pcVar22 + 0x29c984)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x29c984)" ( (binary_expression "pcVar22 + 0x29c984" identifier + number_literal) ))))) )) (argument_list "(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4644)" ( identifier , (binary_expression "*(int *)(pcVar22 + 0x29bd20) + 0x4644" (pointer_expression "*(int *)(pcVar22 + 0x29bd20)" * (cast_expression "(int *)(pcVar22 + 0x29bd20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x29bd20)" ( (binary_expression "pcVar22 + 0x29bd20" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "iVar9 = *piVar14;" (assignment_expression "iVar9 = *piVar14" identifier = (pointer_expression "*piVar14" * identifier)) ;) (expression_statement "iVar4 = *(int *)(iVar9 + 8);" (assignment_expression "iVar4 = *(int *)(iVar9 + 8)" identifier = (pointer_expression "*(int *)(iVar9 + 8)" * (cast_expression "(int *)(iVar9 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 8)" ( (binary_expression "iVar9 + 8" identifier + number_literal) ))))) ;) })) (if_statement "if (*(int *)(iVar9 + 0x10) != 0) {\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x62ac);\n            iVar9 = *piVar14;\n            uVar8 = (**(code **)(pcVar22 + 0x29c778))(*(undefined4 *)(iVar9 + 0x10));\n            if (uVar8 < 0x11) {\n              do {\n                uVar8 = uVar8 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              } while (uVar8 != 0x11);\n              iVar9 = *piVar14;\n            }\n          }" if (parenthesized_expression "(*(int *)(iVar9 + 0x10) != 0)" ( (binary_expression "*(int *)(iVar9 + 0x10) != 0" (pointer_expression "*(int *)(iVar9 + 0x10)" * (cast_expression "(int *)(iVar9 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x10)" ( (binary_expression "iVar9 + 0x10" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x62ac);\n            iVar9 = *piVar14;\n            uVar8 = (**(code **)(pcVar22 + 0x29c778))(*(undefined4 *)(iVar9 + 0x10));\n            if (uVar8 < 0x11) {\n              do {\n                uVar8 = uVar8 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              } while (uVar8 != 0x11);\n              iVar9 = *piVar14;\n            }\n          }" { (expression_statement "(**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x62ac);" (call_expression "(**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x62ac)" (parenthesized_expression "(**(code **)(pcVar22 + 0x29c984))" ( (pointer_expression "**(code **)(pcVar22 + 0x29c984)" * (pointer_expression "*(code **)(pcVar22 + 0x29c984)" * (cast_expression "(code **)(pcVar22 + 0x29c984)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x29c984)" ( (binary_expression "pcVar22 + 0x29c984" identifier + number_literal) ))))) )) (argument_list "(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x62ac)" ( identifier , (binary_expression "*(int *)(pcVar22 + 0x29bd24) + -0x62ac" (pointer_expression "*(int *)(pcVar22 + 0x29bd24)" * (cast_expression "(int *)(pcVar22 + 0x29bd24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x29bd24)" ( (binary_expression "pcVar22 + 0x29bd24" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "iVar9 = *piVar14;" (assignment_expression "iVar9 = *piVar14" identifier = (pointer_expression "*piVar14" * identifier)) ;) (expression_statement "uVar8 = (**(code **)(pcVar22 + 0x29c778))(*(undefined4 *)(iVar9 + 0x10));" (assignment_expression "uVar8 = (**(code **)(pcVar22 + 0x29c778))(*(undefined4 *)(iVar9 + 0x10))" identifier = (call_expression "(**(code **)(pcVar22 + 0x29c778))(*(undefined4 *)(iVar9 + 0x10))" (parenthesized_expression "(**(code **)(pcVar22 + 0x29c778))" ( (pointer_expression "**(code **)(pcVar22 + 0x29c778)" * (pointer_expression "*(code **)(pcVar22 + 0x29c778)" * (cast_expression "(code **)(pcVar22 + 0x29c778)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x29c778)" ( (binary_expression "pcVar22 + 0x29c778" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar9 + 0x10))" ( (pointer_expression "*(undefined4 *)(iVar9 + 0x10)" * (cast_expression "(undefined4 *)(iVar9 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x10)" ( (binary_expression "iVar9 + 0x10" identifier + number_literal) )))) )))) ;) (if_statement "if (uVar8 < 0x11) {\n              do {\n                uVar8 = uVar8 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              } while (uVar8 != 0x11);\n              iVar9 = *piVar14;\n            }" if (parenthesized_expression "(uVar8 < 0x11)" ( (binary_expression "uVar8 < 0x11" identifier < number_literal) )) (compound_statement "{\n              do {\n                uVar8 = uVar8 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              } while (uVar8 != 0x11);\n              iVar9 = *piVar14;\n            }" { (do_statement "do {\n                uVar8 = uVar8 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              } while (uVar8 != 0x11);" do (compound_statement "{\n                uVar8 = uVar8 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              }" { (expression_statement "uVar8 = uVar8 + 1;" (assignment_expression "uVar8 = uVar8 + 1" identifier = (binary_expression "uVar8 + 1" identifier + number_literal)) ;) (expression_statement "(**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);" (call_expression "(**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158)" (parenthesized_expression "(**(code **)(pcVar22 + 0x29c984))" ( (pointer_expression "**(code **)(pcVar22 + 0x29c984)" * (pointer_expression "*(code **)(pcVar22 + 0x29c984)" * (cast_expression "(code **)(pcVar22 + 0x29c984)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x29c984)" ( (binary_expression "pcVar22 + 0x29c984" identifier + number_literal) ))))) )) (argument_list "(iVar1,iVar15 + 0x2158)" ( identifier , (binary_expression "iVar15 + 0x2158" identifier + number_literal) ))) ;) }) while (parenthesized_expression "(uVar8 != 0x11)" ( (binary_expression "uVar8 != 0x11" identifier != number_literal) )) ;) (expression_statement "iVar9 = *piVar14;" (assignment_expression "iVar9 = *piVar14" identifier = (pointer_expression "*piVar14" * identifier)) ;) })) })) (expression_statement "dVar24 = (double)*(int *)(iVar9 + 0x18);" (assignment_expression "dVar24 = (double)*(int *)(iVar9 + 0x18)" identifier = (cast_expression "(double)*(int *)(iVar9 + 0x18)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(int *)(iVar9 + 0x18)" * (cast_expression "(int *)(iVar9 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x18)" ( (binary_expression "iVar9 + 0x18" identifier + number_literal) )))))) ;) (if_statement "if (*(int *)(iVar9 + 0x18) < 0) {\n            dVar24 = dVar24 + *(double *)(iVar3 + 0x1418);\n          }" if (parenthesized_expression "(*(int *)(iVar9 + 0x18) < 0)" ( (binary_expression "*(int *)(iVar9 + 0x18) < 0" (pointer_expression "*(int *)(iVar9 + 0x18)" * (cast_expression "(int *)(iVar9 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x18)" ( (binary_expression "iVar9 + 0x18" identifier + number_literal) )))) < number_literal) )) (compound_statement "{\n            dVar24 = dVar24 + *(double *)(iVar3 + 0x1418);\n          }" { (expression_statement "dVar24 = dVar24 + *(double *)(iVar3 + 0x1418);" (assignment_expression "dVar24 = dVar24 + *(double *)(iVar3 + 0x1418)" identifier = (binary_expression "dVar24 + *(double *)(iVar3 + 0x1418)" identifier + (pointer_expression "*(double *)(iVar3 + 0x1418)" * (cast_expression "(double *)(iVar3 + 0x1418)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x1418)" ( (binary_expression "iVar3 + 0x1418" identifier + number_literal) )))))) ;) })) (expression_statement "(**(code **)(pcVar22 + 0x29c984))\n                    (iVar1,iVar13 + -0x3e1c,(int)((ulonglong)dVar24 >> 0x20),SUB84(dVar24,0));" (call_expression "(**(code **)(pcVar22 + 0x29c984))\n                    (iVar1,iVar13 + -0x3e1c,(int)((ulonglong)dVar24 >> 0x20),SUB84(dVar24,0))" (parenthesized_expression "(**(code **)(pcVar22 + 0x29c984))" ( (pointer_expression "**(code **)(pcVar22 + 0x29c984)" * (pointer_expression "*(code **)(pcVar22 + 0x29c984)" * (cast_expression "(code **)(pcVar22 + 0x29c984)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x29c984)" ( (binary_expression "pcVar22 + 0x29c984" identifier + number_literal) ))))) )) (argument_list "(iVar1,iVar13 + -0x3e1c,(int)((ulonglong)dVar24 >> 0x20),SUB84(dVar24,0))" ( identifier , (binary_expression "iVar13 + -0x3e1c" identifier + number_literal) , (cast_expression "(int)((ulonglong)dVar24 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)dVar24 >> 0x20)" ( (binary_expression "(ulonglong)dVar24 >> 0x20" (cast_expression "(ulonglong)dVar24" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) , (call_expression "SUB84(dVar24,0)" identifier (argument_list "(dVar24,0)" ( identifier , number_literal ))) ))) ;) (expression_statement "dVar24 = (double)*(int *)(*piVar14 + 0x1c);" (assignment_expression "dVar24 = (double)*(int *)(*piVar14 + 0x1c)" identifier = (cast_expression "(double)*(int *)(*piVar14 + 0x1c)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(int *)(*piVar14 + 0x1c)" * (cast_expression "(int *)(*piVar14 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar14 + 0x1c)" ( (binary_expression "*piVar14 + 0x1c" (pointer_expression "*piVar14" * identifier) + number_literal) )))))) ;) (if_statement "if (*(int *)(*piVar14 + 0x1c) < 0) {\n            dVar24 = dVar24 + dVar25;\n          }" if (parenthesized_expression "(*(int *)(*piVar14 + 0x1c) < 0)" ( (binary_expression "*(int *)(*piVar14 + 0x1c) < 0" (pointer_expression "*(int *)(*piVar14 + 0x1c)" * (cast_expression "(int *)(*piVar14 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar14 + 0x1c)" ( (binary_expression "*piVar14 + 0x1c" (pointer_expression "*piVar14" * identifier) + number_literal) )))) < number_literal) )) (compound_statement "{\n            dVar24 = dVar24 + dVar25;\n          }" { (expression_statement "dVar24 = dVar24 + dVar25;" (assignment_expression "dVar24 = dVar24 + dVar25" identifier = (binary_expression "dVar24 + dVar25" identifier + identifier)) ;) })) (expression_statement "(**(code **)(pcVar22 + 0x29c984))\n                    (iVar1,iVar5 + -0x3e14,(int)((ulonglong)dVar24 >> 0x20),SUB84(dVar24,0));" (call_expression "(**(code **)(pcVar22 + 0x29c984))\n                    (iVar1,iVar5 + -0x3e14,(int)((ulonglong)dVar24 >> 0x20),SUB84(dVar24,0))" (parenthesized_expression "(**(code **)(pcVar22 + 0x29c984))" ( (pointer_expression "**(code **)(pcVar22 + 0x29c984)" * (pointer_expression "*(code **)(pcVar22 + 0x29c984)" * (cast_expression "(code **)(pcVar22 + 0x29c984)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x29c984)" ( (binary_expression "pcVar22 + 0x29c984" identifier + number_literal) ))))) )) (argument_list "(iVar1,iVar5 + -0x3e14,(int)((ulonglong)dVar24 >> 0x20),SUB84(dVar24,0))" ( identifier , (binary_expression "iVar5 + -0x3e14" identifier + number_literal) , (cast_expression "(int)((ulonglong)dVar24 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)dVar24 >> 0x20)" ( (binary_expression "(ulonglong)dVar24 >> 0x20" (cast_expression "(ulonglong)dVar24" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) , (call_expression "SUB84(dVar24,0)" identifier (argument_list "(dVar24,0)" ( identifier , number_literal ))) ))) ;) (expression_statement "puVar10 = *(undefined **)(*piVar14 + 0x14);" (assignment_expression "puVar10 = *(undefined **)(*piVar14 + 0x14)" identifier = (pointer_expression "*(undefined **)(*piVar14 + 0x14)" * (cast_expression "(undefined **)(*piVar14 + 0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar14 + 0x14)" ( (binary_expression "*piVar14 + 0x14" (pointer_expression "*piVar14" * identifier) + number_literal) ))))) ;) (if_statement "if (puVar10 != (undefined *)0x0) {\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x62ac);\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 **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x62ac);\n          }" { (expression_statement "(**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x62ac);" (call_expression "(**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x62ac)" (parenthesized_expression "(**(code **)(pcVar22 + 0x29c984))" ( (pointer_expression "**(code **)(pcVar22 + 0x29c984)" * (pointer_expression "*(code **)(pcVar22 + 0x29c984)" * (cast_expression "(code **)(pcVar22 + 0x29c984)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x29c984)" ( (binary_expression "pcVar22 + 0x29c984" identifier + number_literal) ))))) )) (argument_list "(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x62ac)" ( identifier , (binary_expression "*(int *)(pcVar22 + 0x29bd24) + -0x62ac" (pointer_expression "*(int *)(pcVar22 + 0x29bd24)" * (cast_expression "(int *)(pcVar22 + 0x29bd24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x29bd24)" ( (binary_expression "pcVar22 + 0x29bd24" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "piVar11 = (int *)(*(int *)(pcVar22 + 0x29bd2c) + -0x4bdc);" (assignment_expression "piVar11 = (int *)(*(int *)(pcVar22 + 0x29bd2c) + -0x4bdc)" identifier = (cast_expression "(int *)(*(int *)(pcVar22 + 0x29bd2c) + -0x4bdc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar22 + 0x29bd2c) + -0x4bdc)" ( (binary_expression "*(int *)(pcVar22 + 0x29bd2c) + -0x4bdc" (pointer_expression "*(int *)(pcVar22 + 0x29bd2c)" * (cast_expression "(int *)(pcVar22 + 0x29bd2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x29bd2c)" ( (binary_expression "pcVar22 + 0x29bd2c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(**(code **)(pcVar22 + 0x29c984))(iVar1);" (call_expression "(**(code **)(pcVar22 + 0x29c984))(iVar1)" (parenthesized_expression "(**(code **)(pcVar22 + 0x29c984))" ( (pointer_expression "**(code **)(pcVar22 + 0x29c984)" * (pointer_expression "*(code **)(pcVar22 + 0x29c984)" * (cast_expression "(code **)(pcVar22 + 0x29c984)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x29c984)" ( (binary_expression "pcVar22 + 0x29c984" identifier + number_literal) ))))) )) (argument_list "(iVar1)" ( identifier ))) ;) (expression_statement "iVar16 = iStack_d0;" (assignment_expression "iVar16 = iStack_d0" identifier = identifier) ;) })) (expression_statement "iVar17 = iVar17 + 1;" (assignment_expression "iVar17 = iVar17 + 1" identifier = (binary_expression "iVar17 + 1" identifier + number_literal)) ;) (expression_statement "piVar14 = piVar14 + 1;" (assignment_expression "piVar14 = piVar14 + 1" identifier = (binary_expression "piVar14 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar17 < iVar16)" ( (binary_expression "iVar17 < iVar16" identifier < identifier) )) ;) })) (expression_statement "(**(code **)(pcVar22 + 0x29c8cc))(iVar1);" (call_expression "(**(code **)(pcVar22 + 0x29c8cc))(iVar1)" (parenthesized_expression "(**(code **)(pcVar22 + 0x29c8cc))" ( (pointer_expression "**(code **)(pcVar22 + 0x29c8cc)" * (pointer_expression "*(code **)(pcVar22 + 0x29c8cc)" * (cast_expression "(code **)(pcVar22 + 0x29c8cc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x29c8cc)" ( (binary_expression "pcVar22 + 0x29c8cc" identifier + number_literal) ))))) )) (argument_list "(iVar1)" ( identifier ))) ;) (expression_statement "(**(code **)(pcVar22 + 0x29c400))(piVar2);" (call_expression "(**(code **)(pcVar22 + 0x29c400))(piVar2)" (parenthesized_expression "(**(code **)(pcVar22 + 0x29c400))" ( (pointer_expression "**(code **)(pcVar22 + 0x29c400)" * (pointer_expression "*(code **)(pcVar22 + 0x29c400)" * (cast_expression "(code **)(pcVar22 + 0x29c400)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x29c400)" ( (binary_expression "pcVar22 + 0x29c400" identifier + number_literal) ))))) )) (argument_list "(piVar2)" ( identifier ))) ;) (expression_statement "piVar2 = (int *)0x1;" (assignment_expression "piVar2 = (int *)0x1" identifier = (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (if_statement "if (iStack_cc == *piVar6) {\n    return piVar2;\n  }" if (parenthesized_expression "(iStack_cc == *piVar6)" ( (binary_expression "iStack_cc == *piVar6" identifier == (pointer_expression "*piVar6" * identifier)) )) (compound_statement "{\n    return piVar2;\n  }" { (return_statement "return piVar2;" return identifier ;) })) (expression_statement "pcVar22 = *(code **)(pcVar22 + 0x29c4a4);" (assignment_expression "pcVar22 = *(code **)(pcVar22 + 0x29c4a4)" identifier = (pointer_expression "*(code **)(pcVar22 + 0x29c4a4)" * (cast_expression "(code **)(pcVar22 + 0x29c4a4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x29c4a4)" ( (binary_expression "pcVar22 + 0x29c4a4" identifier + number_literal) ))))) ;) (expression_statement "iVar3 = iStack_cc;" (assignment_expression "iVar3 = iStack_cc" identifier = identifier) ;) (expression_statement "(*pcVar22)();" (call_expression "(*pcVar22)()" (parenthesized_expression "(*pcVar22)" ( (pointer_expression "*pcVar22" * identifier) )) (argument_list "()" ( ))) ;) (if_statement "if (iVar3 == 0) {\n    (**(code **)(pcVar22 + 0x29c674))\n              (*(int *)(pcVar22 + 0x29b94c) + 0x45e0,*(int *)(pcVar22 + 0x29b950) + -0x40d0,0x250,\n               *(int *)(pcVar22 + 0x29b950) + -0x3bec);\n  }\n  else {\n    iVar1 = *(int *)(pcVar22 + 0x29b950);\n    (**(code **)(pcVar22 + 0x29c24c))\n              (0x8000,iVar1 + -0x40d0,*(int *)(pcVar22 + 0x29b950) + -0x3bf8,0x251,\n               *(int *)(pcVar22 + 0x29b950) + -0x62ac,iVar3);\n    if (piVar11 != (int *)0x0) {\n      *piVar11 = 0;\n      iVar1 = FUN_0010b2dc(puVar10);\n      if (iVar1 != 0) {\n        iVar16 = *(int *)(pcVar22 + 0x29b938);\n        iVar1 = (**(code **)(pcVar22 + 0x29c460))(*(undefined4 *)(iVar16 + -0x5088));\n        piVar6 = (int *)(**(code **)(pcVar22 + 0x29c578))(iVar1 + 1,4);\n        if (piVar6 != (int *)0x0) {\n          iVar1 = *(int *)(pcVar22 + 0x29b938);\n          (**(code **)(pcVar22 + 0x29c754))(*(undefined4 *)(iVar1 + -0x5090));\n          (**(code **)(pcVar22 + 0x29c5a4))(*(undefined4 *)(iVar16 + -0x5088));\n          iVar4 = (**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088));\n          if (iVar4 == 0) {\n            iVar13 = 0;\n            piVar2 = piVar6;\n          }\n          else {\n            iVar13 = 0;\nLAB_0010d0bc:\n            do {\n              if (*(int *)(iVar4 + 0x2c) == 0) {\n                uVar20 = *(undefined4 *)(iVar4 + 0xc);\n                iVar4 = (**(code **)(pcVar22 + 0x29c6b4))(uVar20,iVar3,0);\n                if (iVar4 != 0) {\n                  iVar15 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c120))(uVar20);\n                  uVar20 = *(undefined4 *)(iVar16 + -0x5088);\n                  piVar6[iVar13] = iVar4;\n                  iVar5 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c37c))(uVar20);\n                  iVar13 = iVar15;\n                  piVar2 = piVar6 + iVar5;\n                  if (iVar4 == 0) break;\n                  goto LAB_0010d0bc;\n                }\n              }\n              iVar4 = (**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088));\n              piVar2 = piVar6 + iVar13;\n            } while (iVar4 != 0);\n          }\n          (**(code **)(pcVar22 + 0x29c3ec))(*(undefined4 *)(iVar1 + -0x5090));\n          (**(code **)(pcVar22 + 0x29c940))(piVar6,iVar13,4,*(int *)(pcVar22 + 0x29bb04) + -0x578c);\n          *piVar11 = iVar13;\n          *piVar2 = 0;\n          return piVar6;\n        }\n      }\n      return (int *)0x0;\n    }\n  }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n    (**(code **)(pcVar22 + 0x29c674))\n              (*(int *)(pcVar22 + 0x29b94c) + 0x45e0,*(int *)(pcVar22 + 0x29b950) + -0x40d0,0x250,\n               *(int *)(pcVar22 + 0x29b950) + -0x3bec);\n  }" { (expression_statement "(**(code **)(pcVar22 + 0x29c674))\n              (*(int *)(pcVar22 + 0x29b94c) + 0x45e0,*(int *)(pcVar22 + 0x29b950) + -0x40d0,0x250,\n               *(int *)(pcVar22 + 0x29b950) + -0x3bec);" (call_expression "(**(code **)(pcVar22 + 0x29c674))\n              (*(int *)(pcVar22 + 0x29b94c) + 0x45e0,*(int *)(pcVar22 + 0x29b950) + -0x40d0,0x250,\n               *(int *)(pcVar22 + 0x29b950) + -0x3bec)" (parenthesized_expression "(**(code **)(pcVar22 + 0x29c674))" ( (pointer_expression "**(code **)(pcVar22 + 0x29c674)" * (pointer_expression "*(code **)(pcVar22 + 0x29c674)" * (cast_expression "(code **)(pcVar22 + 0x29c674)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x29c674)" ( (binary_expression "pcVar22 + 0x29c674" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar22 + 0x29b94c) + 0x45e0,*(int *)(pcVar22 + 0x29b950) + -0x40d0,0x250,\n               *(int *)(pcVar22 + 0x29b950) + -0x3bec)" ( (binary_expression "*(int *)(pcVar22 + 0x29b94c) + 0x45e0" (pointer_expression "*(int *)(pcVar22 + 0x29b94c)" * (cast_expression "(int *)(pcVar22 + 0x29b94c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x29b94c)" ( (binary_expression "pcVar22 + 0x29b94c" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar22 + 0x29b950) + -0x40d0" (pointer_expression "*(int *)(pcVar22 + 0x29b950)" * (cast_expression "(int *)(pcVar22 + 0x29b950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x29b950)" ( (binary_expression "pcVar22 + 0x29b950" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar22 + 0x29b950) + -0x3bec" (pointer_expression "*(int *)(pcVar22 + 0x29b950)" * (cast_expression "(int *)(pcVar22 + 0x29b950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x29b950)" ( (binary_expression "pcVar22 + 0x29b950" identifier + number_literal) )))) + number_literal) ))) ;) }) (else_clause "else {\n    iVar1 = *(int *)(pcVar22 + 0x29b950);\n    (**(code **)(pcVar22 + 0x29c24c))\n              (0x8000,iVar1 + -0x40d0,*(int *)(pcVar22 + 0x29b950) + -0x3bf8,0x251,\n               *(int *)(pcVar22 + 0x29b950) + -0x62ac,iVar3);\n    if (piVar11 != (int *)0x0) {\n      *piVar11 = 0;\n      iVar1 = FUN_0010b2dc(puVar10);\n      if (iVar1 != 0) {\n        iVar16 = *(int *)(pcVar22 + 0x29b938);\n        iVar1 = (**(code **)(pcVar22 + 0x29c460))(*(undefined4 *)(iVar16 + -0x5088));\n        piVar6 = (int *)(**(code **)(pcVar22 + 0x29c578))(iVar1 + 1,4);\n        if (piVar6 != (int *)0x0) {\n          iVar1 = *(int *)(pcVar22 + 0x29b938);\n          (**(code **)(pcVar22 + 0x29c754))(*(undefined4 *)(iVar1 + -0x5090));\n          (**(code **)(pcVar22 + 0x29c5a4))(*(undefined4 *)(iVar16 + -0x5088));\n          iVar4 = (**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088));\n          if (iVar4 == 0) {\n            iVar13 = 0;\n            piVar2 = piVar6;\n          }\n          else {\n            iVar13 = 0;\nLAB_0010d0bc:\n            do {\n              if (*(int *)(iVar4 + 0x2c) == 0) {\n                uVar20 = *(undefined4 *)(iVar4 + 0xc);\n                iVar4 = (**(code **)(pcVar22 + 0x29c6b4))(uVar20,iVar3,0);\n                if (iVar4 != 0) {\n                  iVar15 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c120))(uVar20);\n                  uVar20 = *(undefined4 *)(iVar16 + -0x5088);\n                  piVar6[iVar13] = iVar4;\n                  iVar5 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c37c))(uVar20);\n                  iVar13 = iVar15;\n                  piVar2 = piVar6 + iVar5;\n                  if (iVar4 == 0) break;\n                  goto LAB_0010d0bc;\n                }\n              }\n              iVar4 = (**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088));\n              piVar2 = piVar6 + iVar13;\n            } while (iVar4 != 0);\n          }\n          (**(code **)(pcVar22 + 0x29c3ec))(*(undefined4 *)(iVar1 + -0x5090));\n          (**(code **)(pcVar22 + 0x29c940))(piVar6,iVar13,4,*(int *)(pcVar22 + 0x29bb04) + -0x578c);\n          *piVar11 = iVar13;\n          *piVar2 = 0;\n          return piVar6;\n        }\n      }\n      return (int *)0x0;\n    }\n  }" else (compound_statement "{\n    iVar1 = *(int *)(pcVar22 + 0x29b950);\n    (**(code **)(pcVar22 + 0x29c24c))\n              (0x8000,iVar1 + -0x40d0,*(int *)(pcVar22 + 0x29b950) + -0x3bf8,0x251,\n               *(int *)(pcVar22 + 0x29b950) + -0x62ac,iVar3);\n    if (piVar11 != (int *)0x0) {\n      *piVar11 = 0;\n      iVar1 = FUN_0010b2dc(puVar10);\n      if (iVar1 != 0) {\n        iVar16 = *(int *)(pcVar22 + 0x29b938);\n        iVar1 = (**(code **)(pcVar22 + 0x29c460))(*(undefined4 *)(iVar16 + -0x5088));\n        piVar6 = (int *)(**(code **)(pcVar22 + 0x29c578))(iVar1 + 1,4);\n        if (piVar6 != (int *)0x0) {\n          iVar1 = *(int *)(pcVar22 + 0x29b938);\n          (**(code **)(pcVar22 + 0x29c754))(*(undefined4 *)(iVar1 + -0x5090));\n          (**(code **)(pcVar22 + 0x29c5a4))(*(undefined4 *)(iVar16 + -0x5088));\n          iVar4 = (**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088));\n          if (iVar4 == 0) {\n            iVar13 = 0;\n            piVar2 = piVar6;\n          }\n          else {\n            iVar13 = 0;\nLAB_0010d0bc:\n            do {\n              if (*(int *)(iVar4 + 0x2c) == 0) {\n                uVar20 = *(undefined4 *)(iVar4 + 0xc);\n                iVar4 = (**(code **)(pcVar22 + 0x29c6b4))(uVar20,iVar3,0);\n                if (iVar4 != 0) {\n                  iVar15 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c120))(uVar20);\n                  uVar20 = *(undefined4 *)(iVar16 + -0x5088);\n                  piVar6[iVar13] = iVar4;\n                  iVar5 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c37c))(uVar20);\n                  iVar13 = iVar15;\n                  piVar2 = piVar6 + iVar5;\n                  if (iVar4 == 0) break;\n                  goto LAB_0010d0bc;\n                }\n              }\n              iVar4 = (**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088));\n              piVar2 = piVar6 + iVar13;\n            } while (iVar4 != 0);\n          }\n          (**(code **)(pcVar22 + 0x29c3ec))(*(undefined4 *)(iVar1 + -0x5090));\n          (**(code **)(pcVar22 + 0x29c940))(piVar6,iVar13,4,*(int *)(pcVar22 + 0x29bb04) + -0x578c);\n          *piVar11 = iVar13;\n          *piVar2 = 0;\n          return piVar6;\n        }\n      }\n      return (int *)0x0;\n    }\n  }" { (expression_statement "iVar1 = *(int *)(pcVar22 + 0x29b950);" (assignment_expression "iVar1 = *(int *)(pcVar22 + 0x29b950)" identifier = (pointer_expression "*(int *)(pcVar22 + 0x29b950)" * (cast_expression "(int *)(pcVar22 + 0x29b950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x29b950)" ( (binary_expression "pcVar22 + 0x29b950" identifier + number_literal) ))))) ;) (expression_statement "(**(code **)(pcVar22 + 0x29c24c))\n              (0x8000,iVar1 + -0x40d0,*(int *)(pcVar22 + 0x29b950) + -0x3bf8,0x251,\n               *(int *)(pcVar22 + 0x29b950) + -0x62ac,iVar3);" (call_expression "(**(code **)(pcVar22 + 0x29c24c))\n              (0x8000,iVar1 + -0x40d0,*(int *)(pcVar22 + 0x29b950) + -0x3bf8,0x251,\n               *(int *)(pcVar22 + 0x29b950) + -0x62ac,iVar3)" (parenthesized_expression "(**(code **)(pcVar22 + 0x29c24c))" ( (pointer_expression "**(code **)(pcVar22 + 0x29c24c)" * (pointer_expression "*(code **)(pcVar22 + 0x29c24c)" * (cast_expression "(code **)(pcVar22 + 0x29c24c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x29c24c)" ( (binary_expression "pcVar22 + 0x29c24c" identifier + number_literal) ))))) )) (argument_list "(0x8000,iVar1 + -0x40d0,*(int *)(pcVar22 + 0x29b950) + -0x3bf8,0x251,\n               *(int *)(pcVar22 + 0x29b950) + -0x62ac,iVar3)" ( number_literal , (binary_expression "iVar1 + -0x40d0" identifier + number_literal) , (binary_expression "*(int *)(pcVar22 + 0x29b950) + -0x3bf8" (pointer_expression "*(int *)(pcVar22 + 0x29b950)" * (cast_expression "(int *)(pcVar22 + 0x29b950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x29b950)" ( (binary_expression "pcVar22 + 0x29b950" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar22 + 0x29b950) + -0x62ac" (pointer_expression "*(int *)(pcVar22 + 0x29b950)" * (cast_expression "(int *)(pcVar22 + 0x29b950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x29b950)" ( (binary_expression "pcVar22 + 0x29b950" identifier + number_literal) )))) + number_literal) , identifier ))) ;) (if_statement "if (piVar11 != (int *)0x0) {\n      *piVar11 = 0;\n      iVar1 = FUN_0010b2dc(puVar10);\n      if (iVar1 != 0) {\n        iVar16 = *(int *)(pcVar22 + 0x29b938);\n        iVar1 = (**(code **)(pcVar22 + 0x29c460))(*(undefined4 *)(iVar16 + -0x5088));\n        piVar6 = (int *)(**(code **)(pcVar22 + 0x29c578))(iVar1 + 1,4);\n        if (piVar6 != (int *)0x0) {\n          iVar1 = *(int *)(pcVar22 + 0x29b938);\n          (**(code **)(pcVar22 + 0x29c754))(*(undefined4 *)(iVar1 + -0x5090));\n          (**(code **)(pcVar22 + 0x29c5a4))(*(undefined4 *)(iVar16 + -0x5088));\n          iVar4 = (**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088));\n          if (iVar4 == 0) {\n            iVar13 = 0;\n            piVar2 = piVar6;\n          }\n          else {\n            iVar13 = 0;\nLAB_0010d0bc:\n            do {\n              if (*(int *)(iVar4 + 0x2c) == 0) {\n                uVar20 = *(undefined4 *)(iVar4 + 0xc);\n                iVar4 = (**(code **)(pcVar22 + 0x29c6b4))(uVar20,iVar3,0);\n                if (iVar4 != 0) {\n                  iVar15 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c120))(uVar20);\n                  uVar20 = *(undefined4 *)(iVar16 + -0x5088);\n                  piVar6[iVar13] = iVar4;\n                  iVar5 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c37c))(uVar20);\n                  iVar13 = iVar15;\n                  piVar2 = piVar6 + iVar5;\n                  if (iVar4 == 0) break;\n                  goto LAB_0010d0bc;\n                }\n              }\n              iVar4 = (**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088));\n              piVar2 = piVar6 + iVar13;\n            } while (iVar4 != 0);\n          }\n          (**(code **)(pcVar22 + 0x29c3ec))(*(undefined4 *)(iVar1 + -0x5090));\n          (**(code **)(pcVar22 + 0x29c940))(piVar6,iVar13,4,*(int *)(pcVar22 + 0x29bb04) + -0x578c);\n          *piVar11 = iVar13;\n          *piVar2 = 0;\n          return piVar6;\n        }\n      }\n      return (int *)0x0;\n    }" if (parenthesized_expression "(piVar11 != (int *)0x0)" ( (binary_expression "piVar11 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      *piVar11 = 0;\n      iVar1 = FUN_0010b2dc(puVar10);\n      if (iVar1 != 0) {\n        iVar16 = *(int *)(pcVar22 + 0x29b938);\n        iVar1 = (**(code **)(pcVar22 + 0x29c460))(*(undefined4 *)(iVar16 + -0x5088));\n        piVar6 = (int *)(**(code **)(pcVar22 + 0x29c578))(iVar1 + 1,4);\n        if (piVar6 != (int *)0x0) {\n          iVar1 = *(int *)(pcVar22 + 0x29b938);\n          (**(code **)(pcVar22 + 0x29c754))(*(undefined4 *)(iVar1 + -0x5090));\n          (**(code **)(pcVar22 + 0x29c5a4))(*(undefined4 *)(iVar16 + -0x5088));\n          iVar4 = (**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088));\n          if (iVar4 == 0) {\n            iVar13 = 0;\n            piVar2 = piVar6;\n          }\n          else {\n            iVar13 = 0;\nLAB_0010d0bc:\n            do {\n              if (*(int *)(iVar4 + 0x2c) == 0) {\n                uVar20 = *(undefined4 *)(iVar4 + 0xc);\n                iVar4 = (**(code **)(pcVar22 + 0x29c6b4))(uVar20,iVar3,0);\n                if (iVar4 != 0) {\n                  iVar15 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c120))(uVar20);\n                  uVar20 = *(undefined4 *)(iVar16 + -0x5088);\n                  piVar6[iVar13] = iVar4;\n                  iVar5 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c37c))(uVar20);\n                  iVar13 = iVar15;\n                  piVar2 = piVar6 + iVar5;\n                  if (iVar4 == 0) break;\n                  goto LAB_0010d0bc;\n                }\n              }\n              iVar4 = (**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088));\n              piVar2 = piVar6 + iVar13;\n            } while (iVar4 != 0);\n          }\n          (**(code **)(pcVar22 + 0x29c3ec))(*(undefined4 *)(iVar1 + -0x5090));\n          (**(code **)(pcVar22 + 0x29c940))(piVar6,iVar13,4,*(int *)(pcVar22 + 0x29bb04) + -0x578c);\n          *piVar11 = iVar13;\n          *piVar2 = 0;\n          return piVar6;\n        }\n      }\n      return (int *)0x0;\n    }" { (expression_statement "*piVar11 = 0;" (assignment_expression "*piVar11 = 0" (pointer_expression "*piVar11" * identifier) = number_literal) ;) (expression_statement "iVar1 = FUN_0010b2dc(puVar10);" (assignment_expression "iVar1 = FUN_0010b2dc(puVar10)" identifier = (call_expression "FUN_0010b2dc(puVar10)" identifier (argument_list "(puVar10)" ( identifier )))) ;) (if_statement "if (iVar1 != 0) {\n        iVar16 = *(int *)(pcVar22 + 0x29b938);\n        iVar1 = (**(code **)(pcVar22 + 0x29c460))(*(undefined4 *)(iVar16 + -0x5088));\n        piVar6 = (int *)(**(code **)(pcVar22 + 0x29c578))(iVar1 + 1,4);\n        if (piVar6 != (int *)0x0) {\n          iVar1 = *(int *)(pcVar22 + 0x29b938);\n          (**(code **)(pcVar22 + 0x29c754))(*(undefined4 *)(iVar1 + -0x5090));\n          (**(code **)(pcVar22 + 0x29c5a4))(*(undefined4 *)(iVar16 + -0x5088));\n          iVar4 = (**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088));\n          if (iVar4 == 0) {\n            iVar13 = 0;\n            piVar2 = piVar6;\n          }\n          else {\n            iVar13 = 0;\nLAB_0010d0bc:\n            do {\n              if (*(int *)(iVar4 + 0x2c) == 0) {\n                uVar20 = *(undefined4 *)(iVar4 + 0xc);\n                iVar4 = (**(code **)(pcVar22 + 0x29c6b4))(uVar20,iVar3,0);\n                if (iVar4 != 0) {\n                  iVar15 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c120))(uVar20);\n                  uVar20 = *(undefined4 *)(iVar16 + -0x5088);\n                  piVar6[iVar13] = iVar4;\n                  iVar5 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c37c))(uVar20);\n                  iVar13 = iVar15;\n                  piVar2 = piVar6 + iVar5;\n                  if (iVar4 == 0) break;\n                  goto LAB_0010d0bc;\n                }\n              }\n              iVar4 = (**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088));\n              piVar2 = piVar6 + iVar13;\n            } while (iVar4 != 0);\n          }\n          (**(code **)(pcVar22 + 0x29c3ec))(*(undefined4 *)(iVar1 + -0x5090));\n          (**(code **)(pcVar22 + 0x29c940))(piVar6,iVar13,4,*(int *)(pcVar22 + 0x29bb04) + -0x578c);\n          *piVar11 = iVar13;\n          *piVar2 = 0;\n          return piVar6;\n        }\n      }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\n        iVar16 = *(int *)(pcVar22 + 0x29b938);\n        iVar1 = (**(code **)(pcVar22 + 0x29c460))(*(undefined4 *)(iVar16 + -0x5088));\n        piVar6 = (int *)(**(code **)(pcVar22 + 0x29c578))(iVar1 + 1,4);\n        if (piVar6 != (int *)0x0) {\n          iVar1 = *(int *)(pcVar22 + 0x29b938);\n          (**(code **)(pcVar22 + 0x29c754))(*(undefined4 *)(iVar1 + -0x5090));\n          (**(code **)(pcVar22 + 0x29c5a4))(*(undefined4 *)(iVar16 + -0x5088));\n          iVar4 = (**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088));\n          if (iVar4 == 0) {\n            iVar13 = 0;\n            piVar2 = piVar6;\n          }\n          else {\n            iVar13 = 0;\nLAB_0010d0bc:\n            do {\n              if (*(int *)(iVar4 + 0x2c) == 0) {\n                uVar20 = *(undefined4 *)(iVar4 + 0xc);\n                iVar4 = (**(code **)(pcVar22 + 0x29c6b4))(uVar20,iVar3,0);\n                if (iVar4 != 0) {\n                  iVar15 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c120))(uVar20);\n                  uVar20 = *(undefined4 *)(iVar16 + -0x5088);\n                  piVar6[iVar13] = iVar4;\n                  iVar5 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c37c))(uVar20);\n                  iVar13 = iVar15;\n                  piVar2 = piVar6 + iVar5;\n                  if (iVar4 == 0) break;\n                  goto LAB_0010d0bc;\n                }\n              }\n              iVar4 = (**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088));\n              piVar2 = piVar6 + iVar13;\n            } while (iVar4 != 0);\n          }\n          (**(code **)(pcVar22 + 0x29c3ec))(*(undefined4 *)(iVar1 + -0x5090));\n          (**(code **)(pcVar22 + 0x29c940))(piVar6,iVar13,4,*(int *)(pcVar22 + 0x29bb04) + -0x578c);\n          *piVar11 = iVar13;\n          *piVar2 = 0;\n          return piVar6;\n        }\n      }" { (expression_statement "iVar16 = *(int *)(pcVar22 + 0x29b938);" (assignment_expression "iVar16 = *(int *)(pcVar22 + 0x29b938)" identifier = (pointer_expression "*(int *)(pcVar22 + 0x29b938)" * (cast_expression "(int *)(pcVar22 + 0x29b938)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x29b938)" ( (binary_expression "pcVar22 + 0x29b938" identifier + number_literal) ))))) ;) (expression_statement "iVar1 = (**(code **)(pcVar22 + 0x29c460))(*(undefined4 *)(iVar16 + -0x5088));" (assignment_expression "iVar1 = (**(code **)(pcVar22 + 0x29c460))(*(undefined4 *)(iVar16 + -0x5088))" identifier = (call_expression "(**(code **)(pcVar22 + 0x29c460))(*(undefined4 *)(iVar16 + -0x5088))" (parenthesized_expression "(**(code **)(pcVar22 + 0x29c460))" ( (pointer_expression "**(code **)(pcVar22 + 0x29c460)" * (pointer_expression "*(code **)(pcVar22 + 0x29c460)" * (cast_expression "(code **)(pcVar22 + 0x29c460)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x29c460)" ( (binary_expression "pcVar22 + 0x29c460" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar16 + -0x5088))" ( (pointer_expression "*(undefined4 *)(iVar16 + -0x5088)" * (cast_expression "(undefined4 *)(iVar16 + -0x5088)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + -0x5088)" ( (binary_expression "iVar16 + -0x5088" identifier + number_literal) )))) )))) ;) (expression_statement "piVar6 = (int *)(**(code **)(pcVar22 + 0x29c578))(iVar1 + 1,4);" (assignment_expression "piVar6 = (int *)(**(code **)(pcVar22 + 0x29c578))(iVar1 + 1,4)" identifier = (cast_expression "(int *)(**(code **)(pcVar22 + 0x29c578))(iVar1 + 1,4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar22 + 0x29c578))(iVar1 + 1,4)" (parenthesized_expression "(**(code **)(pcVar22 + 0x29c578))" ( (pointer_expression "**(code **)(pcVar22 + 0x29c578)" * (pointer_expression "*(code **)(pcVar22 + 0x29c578)" * (cast_expression "(code **)(pcVar22 + 0x29c578)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x29c578)" ( (binary_expression "pcVar22 + 0x29c578" identifier + number_literal) ))))) )) (argument_list "(iVar1 + 1,4)" ( (binary_expression "iVar1 + 1" identifier + number_literal) , number_literal ))))) ;) (if_statement "if (piVar6 != (int *)0x0) {\n          iVar1 = *(int *)(pcVar22 + 0x29b938);\n          (**(code **)(pcVar22 + 0x29c754))(*(undefined4 *)(iVar1 + -0x5090));\n          (**(code **)(pcVar22 + 0x29c5a4))(*(undefined4 *)(iVar16 + -0x5088));\n          iVar4 = (**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088));\n          if (iVar4 == 0) {\n            iVar13 = 0;\n            piVar2 = piVar6;\n          }\n          else {\n            iVar13 = 0;\nLAB_0010d0bc:\n            do {\n              if (*(int *)(iVar4 + 0x2c) == 0) {\n                uVar20 = *(undefined4 *)(iVar4 + 0xc);\n                iVar4 = (**(code **)(pcVar22 + 0x29c6b4))(uVar20,iVar3,0);\n                if (iVar4 != 0) {\n                  iVar15 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c120))(uVar20);\n                  uVar20 = *(undefined4 *)(iVar16 + -0x5088);\n                  piVar6[iVar13] = iVar4;\n                  iVar5 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c37c))(uVar20);\n                  iVar13 = iVar15;\n                  piVar2 = piVar6 + iVar5;\n                  if (iVar4 == 0) break;\n                  goto LAB_0010d0bc;\n                }\n              }\n              iVar4 = (**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088));\n              piVar2 = piVar6 + iVar13;\n            } while (iVar4 != 0);\n          }\n          (**(code **)(pcVar22 + 0x29c3ec))(*(undefined4 *)(iVar1 + -0x5090));\n          (**(code **)(pcVar22 + 0x29c940))(piVar6,iVar13,4,*(int *)(pcVar22 + 0x29bb04) + -0x578c);\n          *piVar11 = iVar13;\n          *piVar2 = 0;\n          return piVar6;\n        }" if (parenthesized_expression "(piVar6 != (int *)0x0)" ( (binary_expression "piVar6 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          iVar1 = *(int *)(pcVar22 + 0x29b938);\n          (**(code **)(pcVar22 + 0x29c754))(*(undefined4 *)(iVar1 + -0x5090));\n          (**(code **)(pcVar22 + 0x29c5a4))(*(undefined4 *)(iVar16 + -0x5088));\n          iVar4 = (**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088));\n          if (iVar4 == 0) {\n            iVar13 = 0;\n            piVar2 = piVar6;\n          }\n          else {\n            iVar13 = 0;\nLAB_0010d0bc:\n            do {\n              if (*(int *)(iVar4 + 0x2c) == 0) {\n                uVar20 = *(undefined4 *)(iVar4 + 0xc);\n                iVar4 = (**(code **)(pcVar22 + 0x29c6b4))(uVar20,iVar3,0);\n                if (iVar4 != 0) {\n                  iVar15 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c120))(uVar20);\n                  uVar20 = *(undefined4 *)(iVar16 + -0x5088);\n                  piVar6[iVar13] = iVar4;\n                  iVar5 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c37c))(uVar20);\n                  iVar13 = iVar15;\n                  piVar2 = piVar6 + iVar5;\n                  if (iVar4 == 0) break;\n                  goto LAB_0010d0bc;\n                }\n              }\n              iVar4 = (**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088));\n              piVar2 = piVar6 + iVar13;\n            } while (iVar4 != 0);\n          }\n          (**(code **)(pcVar22 + 0x29c3ec))(*(undefined4 *)(iVar1 + -0x5090));\n          (**(code **)(pcVar22 + 0x29c940))(piVar6,iVar13,4,*(int *)(pcVar22 + 0x29bb04) + -0x578c);\n          *piVar11 = iVar13;\n          *piVar2 = 0;\n          return piVar6;\n        }" { (expression_statement "iVar1 = *(int *)(pcVar22 + 0x29b938);" (assignment_expression "iVar1 = *(int *)(pcVar22 + 0x29b938)" identifier = (pointer_expression "*(int *)(pcVar22 + 0x29b938)" * (cast_expression "(int *)(pcVar22 + 0x29b938)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x29b938)" ( (binary_expression "pcVar22 + 0x29b938" identifier + number_literal) ))))) ;) (expression_statement "(**(code **)(pcVar22 + 0x29c754))(*(undefined4 *)(iVar1 + -0x5090));" (call_expression "(**(code **)(pcVar22 + 0x29c754))(*(undefined4 *)(iVar1 + -0x5090))" (parenthesized_expression "(**(code **)(pcVar22 + 0x29c754))" ( (pointer_expression "**(code **)(pcVar22 + 0x29c754)" * (pointer_expression "*(code **)(pcVar22 + 0x29c754)" * (cast_expression "(code **)(pcVar22 + 0x29c754)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x29c754)" ( (binary_expression "pcVar22 + 0x29c754" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar1 + -0x5090))" ( (pointer_expression "*(undefined4 *)(iVar1 + -0x5090)" * (cast_expression "(undefined4 *)(iVar1 + -0x5090)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + -0x5090)" ( (binary_expression "iVar1 + -0x5090" identifier + number_literal) )))) ))) ;) (expression_statement "(**(code **)(pcVar22 + 0x29c5a4))(*(undefined4 *)(iVar16 + -0x5088));" (call_expression "(**(code **)(pcVar22 + 0x29c5a4))(*(undefined4 *)(iVar16 + -0x5088))" (parenthesized_expression "(**(code **)(pcVar22 + 0x29c5a4))" ( (pointer_expression "**(code **)(pcVar22 + 0x29c5a4)" * (pointer_expression "*(code **)(pcVar22 + 0x29c5a4)" * (cast_expression "(code **)(pcVar22 + 0x29c5a4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x29c5a4)" ( (binary_expression "pcVar22 + 0x29c5a4" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar16 + -0x5088))" ( (pointer_expression "*(undefined4 *)(iVar16 + -0x5088)" * (cast_expression "(undefined4 *)(iVar16 + -0x5088)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + -0x5088)" ( (binary_expression "iVar16 + -0x5088" identifier + number_literal) )))) ))) ;) (expression_statement "iVar4 = (**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088));" (assignment_expression "iVar4 = (**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088))" identifier = (call_expression "(**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088))" (parenthesized_expression "(**(code **)(pcVar22 + 0x29c37c))" ( (pointer_expression "**(code **)(pcVar22 + 0x29c37c)" * (pointer_expression "*(code **)(pcVar22 + 0x29c37c)" * (cast_expression "(code **)(pcVar22 + 0x29c37c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x29c37c)" ( (binary_expression "pcVar22 + 0x29c37c" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar16 + -0x5088))" ( (pointer_expression "*(undefined4 *)(iVar16 + -0x5088)" * (cast_expression "(undefined4 *)(iVar16 + -0x5088)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + -0x5088)" ( (binary_expression "iVar16 + -0x5088" identifier + number_literal) )))) )))) ;) (if_statement "if (iVar4 == 0) {\n            iVar13 = 0;\n            piVar2 = piVar6;\n          }\n          else {\n            iVar13 = 0;\nLAB_0010d0bc:\n            do {\n              if (*(int *)(iVar4 + 0x2c) == 0) {\n                uVar20 = *(undefined4 *)(iVar4 + 0xc);\n                iVar4 = (**(code **)(pcVar22 + 0x29c6b4))(uVar20,iVar3,0);\n                if (iVar4 != 0) {\n                  iVar15 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c120))(uVar20);\n                  uVar20 = *(undefined4 *)(iVar16 + -0x5088);\n                  piVar6[iVar13] = iVar4;\n                  iVar5 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c37c))(uVar20);\n                  iVar13 = iVar15;\n                  piVar2 = piVar6 + iVar5;\n                  if (iVar4 == 0) break;\n                  goto LAB_0010d0bc;\n                }\n              }\n              iVar4 = (**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088));\n              piVar2 = piVar6 + iVar13;\n            } while (iVar4 != 0);\n          }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n            iVar13 = 0;\n            piVar2 = piVar6;\n          }" { (expression_statement "iVar13 = 0;" (assignment_expression "iVar13 = 0" identifier = number_literal) ;) (expression_statement "piVar2 = piVar6;" (assignment_expression "piVar2 = piVar6" identifier = identifier) ;) }) (else_clause "else {\n            iVar13 = 0;\nLAB_0010d0bc:\n            do {\n              if (*(int *)(iVar4 + 0x2c) == 0) {\n                uVar20 = *(undefined4 *)(iVar4 + 0xc);\n                iVar4 = (**(code **)(pcVar22 + 0x29c6b4))(uVar20,iVar3,0);\n                if (iVar4 != 0) {\n                  iVar15 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c120))(uVar20);\n                  uVar20 = *(undefined4 *)(iVar16 + -0x5088);\n                  piVar6[iVar13] = iVar4;\n                  iVar5 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c37c))(uVar20);\n                  iVar13 = iVar15;\n                  piVar2 = piVar6 + iVar5;\n                  if (iVar4 == 0) break;\n                  goto LAB_0010d0bc;\n                }\n              }\n              iVar4 = (**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088));\n              piVar2 = piVar6 + iVar13;\n            } while (iVar4 != 0);\n          }" else (compound_statement "{\n            iVar13 = 0;\nLAB_0010d0bc:\n            do {\n              if (*(int *)(iVar4 + 0x2c) == 0) {\n                uVar20 = *(undefined4 *)(iVar4 + 0xc);\n                iVar4 = (**(code **)(pcVar22 + 0x29c6b4))(uVar20,iVar3,0);\n                if (iVar4 != 0) {\n                  iVar15 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c120))(uVar20);\n                  uVar20 = *(undefined4 *)(iVar16 + -0x5088);\n                  piVar6[iVar13] = iVar4;\n                  iVar5 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c37c))(uVar20);\n                  iVar13 = iVar15;\n                  piVar2 = piVar6 + iVar5;\n                  if (iVar4 == 0) break;\n                  goto LAB_0010d0bc;\n                }\n              }\n              iVar4 = (**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088));\n              piVar2 = piVar6 + iVar13;\n            } while (iVar4 != 0);\n          }" { (expression_statement "iVar13 = 0;" (assignment_expression "iVar13 = 0" identifier = number_literal) ;) (labeled_statement "LAB_0010d0bc:\n            do {\n              if (*(int *)(iVar4 + 0x2c) == 0) {\n                uVar20 = *(undefined4 *)(iVar4 + 0xc);\n                iVar4 = (**(code **)(pcVar22 + 0x29c6b4))(uVar20,iVar3,0);\n                if (iVar4 != 0) {\n                  iVar15 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c120))(uVar20);\n                  uVar20 = *(undefined4 *)(iVar16 + -0x5088);\n                  piVar6[iVar13] = iVar4;\n                  iVar5 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c37c))(uVar20);\n                  iVar13 = iVar15;\n                  piVar2 = piVar6 + iVar5;\n                  if (iVar4 == 0) break;\n                  goto LAB_0010d0bc;\n                }\n              }\n              iVar4 = (**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088));\n              piVar2 = piVar6 + iVar13;\n            } while (iVar4 != 0);" statement_identifier : (do_statement "do {\n              if (*(int *)(iVar4 + 0x2c) == 0) {\n                uVar20 = *(undefined4 *)(iVar4 + 0xc);\n                iVar4 = (**(code **)(pcVar22 + 0x29c6b4))(uVar20,iVar3,0);\n                if (iVar4 != 0) {\n                  iVar15 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c120))(uVar20);\n                  uVar20 = *(undefined4 *)(iVar16 + -0x5088);\n                  piVar6[iVar13] = iVar4;\n                  iVar5 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c37c))(uVar20);\n                  iVar13 = iVar15;\n                  piVar2 = piVar6 + iVar5;\n                  if (iVar4 == 0) break;\n                  goto LAB_0010d0bc;\n                }\n              }\n              iVar4 = (**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088));\n              piVar2 = piVar6 + iVar13;\n            } while (iVar4 != 0);" do (compound_statement "{\n              if (*(int *)(iVar4 + 0x2c) == 0) {\n                uVar20 = *(undefined4 *)(iVar4 + 0xc);\n                iVar4 = (**(code **)(pcVar22 + 0x29c6b4))(uVar20,iVar3,0);\n                if (iVar4 != 0) {\n                  iVar15 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c120))(uVar20);\n                  uVar20 = *(undefined4 *)(iVar16 + -0x5088);\n                  piVar6[iVar13] = iVar4;\n                  iVar5 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c37c))(uVar20);\n                  iVar13 = iVar15;\n                  piVar2 = piVar6 + iVar5;\n                  if (iVar4 == 0) break;\n                  goto LAB_0010d0bc;\n                }\n              }\n              iVar4 = (**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088));\n              piVar2 = piVar6 + iVar13;\n            }" { (if_statement "if (*(int *)(iVar4 + 0x2c) == 0) {\n                uVar20 = *(undefined4 *)(iVar4 + 0xc);\n                iVar4 = (**(code **)(pcVar22 + 0x29c6b4))(uVar20,iVar3,0);\n                if (iVar4 != 0) {\n                  iVar15 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c120))(uVar20);\n                  uVar20 = *(undefined4 *)(iVar16 + -0x5088);\n                  piVar6[iVar13] = iVar4;\n                  iVar5 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c37c))(uVar20);\n                  iVar13 = iVar15;\n                  piVar2 = piVar6 + iVar5;\n                  if (iVar4 == 0) break;\n                  goto LAB_0010d0bc;\n                }\n              }" if (parenthesized_expression "(*(int *)(iVar4 + 0x2c) == 0)" ( (binary_expression "*(int *)(iVar4 + 0x2c) == 0" (pointer_expression "*(int *)(iVar4 + 0x2c)" * (cast_expression "(int *)(iVar4 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x2c)" ( (binary_expression "iVar4 + 0x2c" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                uVar20 = *(undefined4 *)(iVar4 + 0xc);\n                iVar4 = (**(code **)(pcVar22 + 0x29c6b4))(uVar20,iVar3,0);\n                if (iVar4 != 0) {\n                  iVar15 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c120))(uVar20);\n                  uVar20 = *(undefined4 *)(iVar16 + -0x5088);\n                  piVar6[iVar13] = iVar4;\n                  iVar5 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c37c))(uVar20);\n                  iVar13 = iVar15;\n                  piVar2 = piVar6 + iVar5;\n                  if (iVar4 == 0) break;\n                  goto LAB_0010d0bc;\n                }\n              }" { (expression_statement "uVar20 = *(undefined4 *)(iVar4 + 0xc);" (assignment_expression "uVar20 = *(undefined4 *)(iVar4 + 0xc)" identifier = (pointer_expression "*(undefined4 *)(iVar4 + 0xc)" * (cast_expression "(undefined4 *)(iVar4 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0xc)" ( (binary_expression "iVar4 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "iVar4 = (**(code **)(pcVar22 + 0x29c6b4))(uVar20,iVar3,0);" (assignment_expression "iVar4 = (**(code **)(pcVar22 + 0x29c6b4))(uVar20,iVar3,0)" identifier = (call_expression "(**(code **)(pcVar22 + 0x29c6b4))(uVar20,iVar3,0)" (parenthesized_expression "(**(code **)(pcVar22 + 0x29c6b4))" ( (pointer_expression "**(code **)(pcVar22 + 0x29c6b4)" * (pointer_expression "*(code **)(pcVar22 + 0x29c6b4)" * (cast_expression "(code **)(pcVar22 + 0x29c6b4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x29c6b4)" ( (binary_expression "pcVar22 + 0x29c6b4" identifier + number_literal) ))))) )) (argument_list "(uVar20,iVar3,0)" ( identifier , identifier , number_literal )))) ;) (if_statement "if (iVar4 != 0) {\n                  iVar15 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c120))(uVar20);\n                  uVar20 = *(undefined4 *)(iVar16 + -0x5088);\n                  piVar6[iVar13] = iVar4;\n                  iVar5 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c37c))(uVar20);\n                  iVar13 = iVar15;\n                  piVar2 = piVar6 + iVar5;\n                  if (iVar4 == 0) break;\n                  goto LAB_0010d0bc;\n                }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n                  iVar15 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c120))(uVar20);\n                  uVar20 = *(undefined4 *)(iVar16 + -0x5088);\n                  piVar6[iVar13] = iVar4;\n                  iVar5 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c37c))(uVar20);\n                  iVar13 = iVar15;\n                  piVar2 = piVar6 + iVar5;\n                  if (iVar4 == 0) break;\n                  goto LAB_0010d0bc;\n                }" { (expression_statement "iVar15 = iVar13 + 1;" (assignment_expression "iVar15 = iVar13 + 1" identifier = (binary_expression "iVar13 + 1" identifier + number_literal)) ;) (expression_statement "iVar4 = (**(code **)(pcVar22 + 0x29c120))(uVar20);" (assignment_expression "iVar4 = (**(code **)(pcVar22 + 0x29c120))(uVar20)" identifier = (call_expression "(**(code **)(pcVar22 + 0x29c120))(uVar20)" (parenthesized_expression "(**(code **)(pcVar22 + 0x29c120))" ( (pointer_expression "**(code **)(pcVar22 + 0x29c120)" * (pointer_expression "*(code **)(pcVar22 + 0x29c120)" * (cast_expression "(code **)(pcVar22 + 0x29c120)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x29c120)" ( (binary_expression "pcVar22 + 0x29c120" identifier + number_literal) ))))) )) (argument_list "(uVar20)" ( identifier )))) ;) (expression_statement "uVar20 = *(undefined4 *)(iVar16 + -0x5088);" (assignment_expression "uVar20 = *(undefined4 *)(iVar16 + -0x5088)" identifier = (pointer_expression "*(undefined4 *)(iVar16 + -0x5088)" * (cast_expression "(undefined4 *)(iVar16 + -0x5088)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + -0x5088)" ( (binary_expression "iVar16 + -0x5088" identifier + number_literal) ))))) ;) (expression_statement "piVar6[iVar13] = iVar4;" (assignment_expression "piVar6[iVar13] = iVar4" (subscript_expression "piVar6[iVar13]" identifier [ identifier ]) = identifier) ;) (expression_statement "iVar5 = iVar13 + 1;" (assignment_expression "iVar5 = iVar13 + 1" identifier = (binary_expression "iVar13 + 1" identifier + number_literal)) ;) (expression_statement "iVar4 = (**(code **)(pcVar22 + 0x29c37c))(uVar20);" (assignment_expression "iVar4 = (**(code **)(pcVar22 + 0x29c37c))(uVar20)" identifier = (call_expression "(**(code **)(pcVar22 + 0x29c37c))(uVar20)" (parenthesized_expression "(**(code **)(pcVar22 + 0x29c37c))" ( (pointer_expression "**(code **)(pcVar22 + 0x29c37c)" * (pointer_expression "*(code **)(pcVar22 + 0x29c37c)" * (cast_expression "(code **)(pcVar22 + 0x29c37c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x29c37c)" ( (binary_expression "pcVar22 + 0x29c37c" identifier + number_literal) ))))) )) (argument_list "(uVar20)" ( identifier )))) ;) (expression_statement "iVar13 = iVar15;" (assignment_expression "iVar13 = iVar15" identifier = identifier) ;) (expression_statement "piVar2 = piVar6 + iVar5;" (assignment_expression "piVar2 = piVar6 + iVar5" identifier = (binary_expression "piVar6 + iVar5" identifier + identifier)) ;) (if_statement "if (iVar4 == 0) break;" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (goto_statement "goto LAB_0010d0bc;" goto statement_identifier ;) })) })) (expression_statement "iVar4 = (**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088));" (assignment_expression "iVar4 = (**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088))" identifier = (call_expression "(**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088))" (parenthesized_expression "(**(code **)(pcVar22 + 0x29c37c))" ( (pointer_expression "**(code **)(pcVar22 + 0x29c37c)" * (pointer_expression "*(code **)(pcVar22 + 0x29c37c)" * (cast_expression "(code **)(pcVar22 + 0x29c37c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x29c37c)" ( (binary_expression "pcVar22 + 0x29c37c" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar16 + -0x5088))" ( (pointer_expression "*(undefined4 *)(iVar16 + -0x5088)" * (cast_expression "(undefined4 *)(iVar16 + -0x5088)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + -0x5088)" ( (binary_expression "iVar16 + -0x5088" identifier + number_literal) )))) )))) ;) (expression_statement "piVar2 = piVar6 + iVar13;" (assignment_expression "piVar2 = piVar6 + iVar13" identifier = (binary_expression "piVar6 + iVar13" identifier + identifier)) ;) }) while (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) ;)) }))) (expression_statement "(**(code **)(pcVar22 + 0x29c3ec))(*(undefined4 *)(iVar1 + -0x5090));" (call_expression "(**(code **)(pcVar22 + 0x29c3ec))(*(undefined4 *)(iVar1 + -0x5090))" (parenthesized_expression "(**(code **)(pcVar22 + 0x29c3ec))" ( (pointer_expression "**(code **)(pcVar22 + 0x29c3ec)" * (pointer_expression "*(code **)(pcVar22 + 0x29c3ec)" * (cast_expression "(code **)(pcVar22 + 0x29c3ec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x29c3ec)" ( (binary_expression "pcVar22 + 0x29c3ec" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar1 + -0x5090))" ( (pointer_expression "*(undefined4 *)(iVar1 + -0x5090)" * (cast_expression "(undefined4 *)(iVar1 + -0x5090)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + -0x5090)" ( (binary_expression "iVar1 + -0x5090" identifier + number_literal) )))) ))) ;) (expression_statement "(**(code **)(pcVar22 + 0x29c940))(piVar6,iVar13,4,*(int *)(pcVar22 + 0x29bb04) + -0x578c);" (call_expression "(**(code **)(pcVar22 + 0x29c940))(piVar6,iVar13,4,*(int *)(pcVar22 + 0x29bb04) + -0x578c)" (parenthesized_expression "(**(code **)(pcVar22 + 0x29c940))" ( (pointer_expression "**(code **)(pcVar22 + 0x29c940)" * (pointer_expression "*(code **)(pcVar22 + 0x29c940)" * (cast_expression "(code **)(pcVar22 + 0x29c940)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x29c940)" ( (binary_expression "pcVar22 + 0x29c940" identifier + number_literal) ))))) )) (argument_list "(piVar6,iVar13,4,*(int *)(pcVar22 + 0x29bb04) + -0x578c)" ( identifier , identifier , number_literal , (binary_expression "*(int *)(pcVar22 + 0x29bb04) + -0x578c" (pointer_expression "*(int *)(pcVar22 + 0x29bb04)" * (cast_expression "(int *)(pcVar22 + 0x29bb04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x29bb04)" ( (binary_expression "pcVar22 + 0x29bb04" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "*piVar11 = iVar13;" (assignment_expression "*piVar11 = iVar13" (pointer_expression "*piVar11" * identifier) = identifier) ;) (expression_statement "*piVar2 = 0;" (assignment_expression "*piVar2 = 0" (pointer_expression "*piVar2" * identifier) = number_literal) ;) (return_statement "return piVar6;" return identifier ;) })) })) (return_statement "return (int *)0x0;" return (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) }))) (expression_statement "pcVar23 = *(code **)(pcVar22 + 0x29c674);" (assignment_expression "pcVar23 = *(code **)(pcVar22 + 0x29c674)" identifier = (pointer_expression "*(code **)(pcVar22 + 0x29c674)" * (cast_expression "(code **)(pcVar22 + 0x29c674)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x29c674)" ( (binary_expression "pcVar22 + 0x29c674" identifier + number_literal) ))))) ;) (expression_statement "iVar3 = *(int *)(pcVar22 + 0x29b950) + -0x3e64;" (assignment_expression "iVar3 = *(int *)(pcVar22 + 0x29b950) + -0x3e64" identifier = (binary_expression "*(int *)(pcVar22 + 0x29b950) + -0x3e64" (pointer_expression "*(int *)(pcVar22 + 0x29b950)" * (cast_expression "(int *)(pcVar22 + 0x29b950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x29b950)" ( (binary_expression "pcVar22 + 0x29b950" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar23)(iVar3,iVar1 + -0x40d0,0x252,*(int *)(pcVar22 + 0x29b950) + -0x3bec);" (call_expression "(*pcVar23)(iVar3,iVar1 + -0x40d0,0x252,*(int *)(pcVar22 + 0x29b950) + -0x3bec)" (parenthesized_expression "(*pcVar23)" ( (pointer_expression "*pcVar23" * identifier) )) (argument_list "(iVar3,iVar1 + -0x40d0,0x252,*(int *)(pcVar22 + 0x29b950) + -0x3bec)" ( identifier , (binary_expression "iVar1 + -0x40d0" identifier + number_literal) , number_literal , (binary_expression "*(int *)(pcVar22 + 0x29b950) + -0x3bec" (pointer_expression "*(int *)(pcVar22 + 0x29b950)" * (cast_expression "(int *)(pcVar22 + 0x29b950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x29b950)" ( (binary_expression "pcVar22 + 0x29b950" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "iVar4 = *(int *)(pcVar23 + 0x29b6b0);" (assignment_expression "iVar4 = *(int *)(pcVar23 + 0x29b6b0)" identifier = (pointer_expression "*(int *)(pcVar23 + 0x29b6b0)" * (cast_expression "(int *)(pcVar23 + 0x29b6b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar23 + 0x29b6b0)" ( (binary_expression "pcVar23 + 0x29b6b0" identifier + number_literal) ))))) ;) (expression_statement "iVar16 = *(int *)(pcVar23 + 0x29b6b0);" (assignment_expression "iVar16 = *(int *)(pcVar23 + 0x29b6b0)" identifier = (pointer_expression "*(int *)(pcVar23 + 0x29b6b0)" * (cast_expression "(int *)(pcVar23 + 0x29b6b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar23 + 0x29b6b0)" ( (binary_expression "pcVar23 + 0x29b6b0" identifier + number_literal) ))))) ;) (expression_statement "uVar20 = (**(code **)(pcVar23 + 0x29bcd0))();" (assignment_expression "uVar20 = (**(code **)(pcVar23 + 0x29bcd0))()" identifier = (call_expression "(**(code **)(pcVar23 + 0x29bcd0))()" (parenthesized_expression "(**(code **)(pcVar23 + 0x29bcd0))" ( (pointer_expression "**(code **)(pcVar23 + 0x29bcd0)" * (pointer_expression "*(code **)(pcVar23 + 0x29bcd0)" * (cast_expression "(code **)(pcVar23 + 0x29bcd0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x29bcd0)" ( (binary_expression "pcVar23 + 0x29bcd0" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "FUN_0010b2dc(uVar20);" (call_expression "FUN_0010b2dc(uVar20)" identifier (argument_list "(uVar20)" ( identifier ))) ;) (expression_statement "(**(code **)(pcVar23 + 0x29bb34))(uVar20);" (call_expression "(**(code **)(pcVar23 + 0x29bb34))(uVar20)" (parenthesized_expression "(**(code **)(pcVar23 + 0x29bb34))" ( (pointer_expression "**(code **)(pcVar23 + 0x29bb34)" * (pointer_expression "*(code **)(pcVar23 + 0x29bb34)" * (cast_expression "(code **)(pcVar23 + 0x29bb34)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x29bb34)" ( (binary_expression "pcVar23 + 0x29bb34" identifier + number_literal) ))))) )) (argument_list "(uVar20)" ( identifier ))) ;) (expression_statement "iVar1 = (**(code **)(pcVar23 + 0x29c478))(0x2c,1,iVar3);" (assignment_expression "iVar1 = (**(code **)(pcVar23 + 0x29c478))(0x2c,1,iVar3)" identifier = (call_expression "(**(code **)(pcVar23 + 0x29c478))(0x2c,1,iVar3)" (parenthesized_expression "(**(code **)(pcVar23 + 0x29c478))" ( (pointer_expression "**(code **)(pcVar23 + 0x29c478)" * (pointer_expression "*(code **)(pcVar23 + 0x29c478)" * (cast_expression "(code **)(pcVar23 + 0x29c478)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x29c478)" ( (binary_expression "pcVar23 + 0x29c478" identifier + number_literal) ))))) )) (argument_list "(0x2c,1,iVar3)" ( number_literal , number_literal , identifier )))) ;) (expression_statement "(**(code **)(pcVar23 + 0x29c4cc))(*(undefined4 *)(iVar4 + -0x5090));" (call_expression "(**(code **)(pcVar23 + 0x29c4cc))(*(undefined4 *)(iVar4 + -0x5090))" (parenthesized_expression "(**(code **)(pcVar23 + 0x29c4cc))" ( (pointer_expression "**(code **)(pcVar23 + 0x29c4cc)" * (pointer_expression "*(code **)(pcVar23 + 0x29c4cc)" * (cast_expression "(code **)(pcVar23 + 0x29c4cc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x29c4cc)" ( (binary_expression "pcVar23 + 0x29c4cc" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar4 + -0x5090))" ( (pointer_expression "*(undefined4 *)(iVar4 + -0x5090)" * (cast_expression "(undefined4 *)(iVar4 + -0x5090)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + -0x5090)" ( (binary_expression "iVar4 + -0x5090" identifier + number_literal) )))) ))) ;) (expression_statement "piVar6 = (int *)(**(code **)(pcVar23 + 0x29bc6c))(*(undefined4 *)(iVar16 + -0x5088),0);" (assignment_expression "piVar6 = (int *)(**(code **)(pcVar23 + 0x29bc6c))(*(undefined4 *)(iVar16 + -0x5088),0)" identifier = (cast_expression "(int *)(**(code **)(pcVar23 + 0x29bc6c))(*(undefined4 *)(iVar16 + -0x5088),0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar23 + 0x29bc6c))(*(undefined4 *)(iVar16 + -0x5088),0)" (parenthesized_expression "(**(code **)(pcVar23 + 0x29bc6c))" ( (pointer_expression "**(code **)(pcVar23 + 0x29bc6c)" * (pointer_expression "*(code **)(pcVar23 + 0x29bc6c)" * (cast_expression "(code **)(pcVar23 + 0x29bc6c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x29bc6c)" ( (binary_expression "pcVar23 + 0x29bc6c" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar16 + -0x5088),0)" ( (pointer_expression "*(undefined4 *)(iVar16 + -0x5088)" * (cast_expression "(undefined4 *)(iVar16 + -0x5088)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + -0x5088)" ( (binary_expression "iVar16 + -0x5088" identifier + number_literal) )))) , number_literal ))))) ;) (if_statement "if (iVar1 == -1) {\n    pcVar22 = *(code **)(pcVar23 + 0x29c210);\n    uVar20 = *(undefined4 *)(iVar16 + -0x5088);\n    *piVar6 = 0;\n    iVar1 = (*pcVar22)(uVar20);\n  }\n  else {\n    pcVar22 = *(code **)(pcVar23 + 0x29c210);\n    uVar20 = *(undefined4 *)(iVar16 + -0x5088);\n    *piVar6 = iVar1;\n    iVar1 = (*pcVar22)(uVar20);\n  }" if (parenthesized_expression "(iVar1 == -1)" ( (binary_expression "iVar1 == -1" identifier == number_literal) )) (compound_statement "{\n    pcVar22 = *(code **)(pcVar23 + 0x29c210);\n    uVar20 = *(undefined4 *)(iVar16 + -0x5088);\n    *piVar6 = 0;\n    iVar1 = (*pcVar22)(uVar20);\n  }" { (expression_statement "pcVar22 = *(code **)(pcVar23 + 0x29c210);" (assignment_expression "pcVar22 = *(code **)(pcVar23 + 0x29c210)" identifier = (pointer_expression "*(code **)(pcVar23 + 0x29c210)" * (cast_expression "(code **)(pcVar23 + 0x29c210)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x29c210)" ( (binary_expression "pcVar23 + 0x29c210" identifier + number_literal) ))))) ;) (expression_statement "uVar20 = *(undefined4 *)(iVar16 + -0x5088);" (assignment_expression "uVar20 = *(undefined4 *)(iVar16 + -0x5088)" identifier = (pointer_expression "*(undefined4 *)(iVar16 + -0x5088)" * (cast_expression "(undefined4 *)(iVar16 + -0x5088)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + -0x5088)" ( (binary_expression "iVar16 + -0x5088" identifier + number_literal) ))))) ;) (expression_statement "*piVar6 = 0;" (assignment_expression "*piVar6 = 0" (pointer_expression "*piVar6" * identifier) = number_literal) ;) (expression_statement "iVar1 = (*pcVar22)(uVar20);" (assignment_expression "iVar1 = (*pcVar22)(uVar20)" identifier = (call_expression "(*pcVar22)(uVar20)" (parenthesized_expression "(*pcVar22)" ( (pointer_expression "*pcVar22" * identifier) )) (argument_list "(uVar20)" ( identifier )))) ;) }) (else_clause "else {\n    pcVar22 = *(code **)(pcVar23 + 0x29c210);\n    uVar20 = *(undefined4 *)(iVar16 + -0x5088);\n    *piVar6 = iVar1;\n    iVar1 = (*pcVar22)(uVar20);\n  }" else (compound_statement "{\n    pcVar22 = *(code **)(pcVar23 + 0x29c210);\n    uVar20 = *(undefined4 *)(iVar16 + -0x5088);\n    *piVar6 = iVar1;\n    iVar1 = (*pcVar22)(uVar20);\n  }" { (expression_statement "pcVar22 = *(code **)(pcVar23 + 0x29c210);" (assignment_expression "pcVar22 = *(code **)(pcVar23 + 0x29c210)" identifier = (pointer_expression "*(code **)(pcVar23 + 0x29c210)" * (cast_expression "(code **)(pcVar23 + 0x29c210)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x29c210)" ( (binary_expression "pcVar23 + 0x29c210" identifier + number_literal) ))))) ;) (expression_statement "uVar20 = *(undefined4 *)(iVar16 + -0x5088);" (assignment_expression "uVar20 = *(undefined4 *)(iVar16 + -0x5088)" identifier = (pointer_expression "*(undefined4 *)(iVar16 + -0x5088)" * (cast_expression "(undefined4 *)(iVar16 + -0x5088)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + -0x5088)" ( (binary_expression "iVar16 + -0x5088" identifier + number_literal) ))))) ;) (expression_statement "*piVar6 = iVar1;" (assignment_expression "*piVar6 = iVar1" (pointer_expression "*piVar6" * identifier) = identifier) ;) (expression_statement "iVar1 = (*pcVar22)(uVar20);" (assignment_expression "iVar1 = (*pcVar22)(uVar20)" identifier = (call_expression "(*pcVar22)(uVar20)" (parenthesized_expression "(*pcVar22)" ( (pointer_expression "*pcVar22" * identifier) )) (argument_list "(uVar20)" ( identifier )))) ;) }))) (if_statement "if (iVar1 == 0) {\n    (**(code **)(pcVar23 + 0x29c31c))(*(undefined4 *)(iVar16 + -0x5088));\n    piVar2 = (int *)(**(code **)(pcVar23 + 0x29c0f4))(*(undefined4 *)(iVar16 + -0x5088));\n    if (piVar2 == (int *)0x0) {\n      *(undefined4 *)(*(int *)(pcVar23 + 0x29b6b0) + -0x508c) = 0;\n    }\n    else {\n      *(uint *)(*(int *)(pcVar23 + 0x29b6b0) + -0x508c) = (uint)(*piVar2 != 0);\n    }\n  }\n  else {\n    *(undefined4 *)(*(int *)(pcVar23 + 0x29b6b0) + -0x508c) = 0;\n  }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n    (**(code **)(pcVar23 + 0x29c31c))(*(undefined4 *)(iVar16 + -0x5088));\n    piVar2 = (int *)(**(code **)(pcVar23 + 0x29c0f4))(*(undefined4 *)(iVar16 + -0x5088));\n    if (piVar2 == (int *)0x0) {\n      *(undefined4 *)(*(int *)(pcVar23 + 0x29b6b0) + -0x508c) = 0;\n    }\n    else {\n      *(uint *)(*(int *)(pcVar23 + 0x29b6b0) + -0x508c) = (uint)(*piVar2 != 0);\n    }\n  }" { (expression_statement "(**(code **)(pcVar23 + 0x29c31c))(*(undefined4 *)(iVar16 + -0x5088));" (call_expression "(**(code **)(pcVar23 + 0x29c31c))(*(undefined4 *)(iVar16 + -0x5088))" (parenthesized_expression "(**(code **)(pcVar23 + 0x29c31c))" ( (pointer_expression "**(code **)(pcVar23 + 0x29c31c)" * (pointer_expression "*(code **)(pcVar23 + 0x29c31c)" * (cast_expression "(code **)(pcVar23 + 0x29c31c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x29c31c)" ( (binary_expression "pcVar23 + 0x29c31c" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar16 + -0x5088))" ( (pointer_expression "*(undefined4 *)(iVar16 + -0x5088)" * (cast_expression "(undefined4 *)(iVar16 + -0x5088)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + -0x5088)" ( (binary_expression "iVar16 + -0x5088" identifier + number_literal) )))) ))) ;) (expression_statement "piVar2 = (int *)(**(code **)(pcVar23 + 0x29c0f4))(*(undefined4 *)(iVar16 + -0x5088));" (assignment_expression "piVar2 = (int *)(**(code **)(pcVar23 + 0x29c0f4))(*(undefined4 *)(iVar16 + -0x5088))" identifier = (cast_expression "(int *)(**(code **)(pcVar23 + 0x29c0f4))(*(undefined4 *)(iVar16 + -0x5088))" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar23 + 0x29c0f4))(*(undefined4 *)(iVar16 + -0x5088))" (parenthesized_expression "(**(code **)(pcVar23 + 0x29c0f4))" ( (pointer_expression "**(code **)(pcVar23 + 0x29c0f4)" * (pointer_expression "*(code **)(pcVar23 + 0x29c0f4)" * (cast_expression "(code **)(pcVar23 + 0x29c0f4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x29c0f4)" ( (binary_expression "pcVar23 + 0x29c0f4" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar16 + -0x5088))" ( (pointer_expression "*(undefined4 *)(iVar16 + -0x5088)" * (cast_expression "(undefined4 *)(iVar16 + -0x5088)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + -0x5088)" ( (binary_expression "iVar16 + -0x5088" identifier + number_literal) )))) ))))) ;) (if_statement "if (piVar2 == (int *)0x0) {\n      *(undefined4 *)(*(int *)(pcVar23 + 0x29b6b0) + -0x508c) = 0;\n    }\n    else {\n      *(uint *)(*(int *)(pcVar23 + 0x29b6b0) + -0x508c) = (uint)(*piVar2 != 0);\n    }" if (parenthesized_expression "(piVar2 == (int *)0x0)" ( (binary_expression "piVar2 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      *(undefined4 *)(*(int *)(pcVar23 + 0x29b6b0) + -0x508c) = 0;\n    }" { (expression_statement "*(undefined4 *)(*(int *)(pcVar23 + 0x29b6b0) + -0x508c) = 0;" (assignment_expression "*(undefined4 *)(*(int *)(pcVar23 + 0x29b6b0) + -0x508c) = 0" (pointer_expression "*(undefined4 *)(*(int *)(pcVar23 + 0x29b6b0) + -0x508c)" * (cast_expression "(undefined4 *)(*(int *)(pcVar23 + 0x29b6b0) + -0x508c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar23 + 0x29b6b0) + -0x508c)" ( (binary_expression "*(int *)(pcVar23 + 0x29b6b0) + -0x508c" (pointer_expression "*(int *)(pcVar23 + 0x29b6b0)" * (cast_expression "(int *)(pcVar23 + 0x29b6b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar23 + 0x29b6b0)" ( (binary_expression "pcVar23 + 0x29b6b0" identifier + number_literal) )))) + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n      *(uint *)(*(int *)(pcVar23 + 0x29b6b0) + -0x508c) = (uint)(*piVar2 != 0);\n    }" else (compound_statement "{\n      *(uint *)(*(int *)(pcVar23 + 0x29b6b0) + -0x508c) = (uint)(*piVar2 != 0);\n    }" { (expression_statement "*(uint *)(*(int *)(pcVar23 + 0x29b6b0) + -0x508c) = (uint)(*piVar2 != 0);" (assignment_expression "*(uint *)(*(int *)(pcVar23 + 0x29b6b0) + -0x508c) = (uint)(*piVar2 != 0)" (pointer_expression "*(uint *)(*(int *)(pcVar23 + 0x29b6b0) + -0x508c)" * (cast_expression "(uint *)(*(int *)(pcVar23 + 0x29b6b0) + -0x508c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar23 + 0x29b6b0) + -0x508c)" ( (binary_expression "*(int *)(pcVar23 + 0x29b6b0) + -0x508c" (pointer_expression "*(int *)(pcVar23 + 0x29b6b0)" * (cast_expression "(int *)(pcVar23 + 0x29b6b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar23 + 0x29b6b0)" ( (binary_expression "pcVar23 + 0x29b6b0" identifier + number_literal) )))) + number_literal) )))) = (call_expression "(uint)(*piVar2 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*piVar2 != 0)" ( (binary_expression "*piVar2 != 0" (pointer_expression "*piVar2" * identifier) != number_literal) )))) ;) }))) }) (else_clause "else {\n    *(undefined4 *)(*(int *)(pcVar23 + 0x29b6b0) + -0x508c) = 0;\n  }" else (compound_statement "{\n    *(undefined4 *)(*(int *)(pcVar23 + 0x29b6b0) + -0x508c) = 0;\n  }" { (expression_statement "*(undefined4 *)(*(int *)(pcVar23 + 0x29b6b0) + -0x508c) = 0;" (assignment_expression "*(undefined4 *)(*(int *)(pcVar23 + 0x29b6b0) + -0x508c) = 0" (pointer_expression "*(undefined4 *)(*(int *)(pcVar23 + 0x29b6b0) + -0x508c)" * (cast_expression "(undefined4 *)(*(int *)(pcVar23 + 0x29b6b0) + -0x508c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar23 + 0x29b6b0) + -0x508c)" ( (binary_expression "*(int *)(pcVar23 + 0x29b6b0) + -0x508c" (pointer_expression "*(int *)(pcVar23 + 0x29b6b0)" * (cast_expression "(int *)(pcVar23 + 0x29b6b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar23 + 0x29b6b0)" ( (binary_expression "pcVar23 + 0x29b6b0" identifier + number_literal) )))) + number_literal) )))) = number_literal) ;) }))) (expression_statement "(**(code **)(pcVar23 + 0x29c164))(*(undefined4 *)(iVar4 + -0x5090));" (call_expression "(**(code **)(pcVar23 + 0x29c164))(*(undefined4 *)(iVar4 + -0x5090))" (parenthesized_expression "(**(code **)(pcVar23 + 0x29c164))" ( (pointer_expression "**(code **)(pcVar23 + 0x29c164)" * (pointer_expression "*(code **)(pcVar23 + 0x29c164)" * (cast_expression "(code **)(pcVar23 + 0x29c164)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x29c164)" ( (binary_expression "pcVar23 + 0x29c164" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar4 + -0x5090))" ( (pointer_expression "*(undefined4 *)(iVar4 + -0x5090)" * (cast_expression "(undefined4 *)(iVar4 + -0x5090)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + -0x5090)" ( (binary_expression "iVar4 + -0x5090" identifier + number_literal) )))) ))) ;) (return_statement "return (int *)*piVar6;" return (cast_expression "(int *)*piVar6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar6" * identifier)) ;) })))
(translation_unit "/* WARNING: Enum "LogEventType": Some values do not have unique names */\n/* WARNING: Enum "ExceptionType": Some values do not have unique names */\n/* WARNING: Enum "LogHandlerType": Some values do not have unique names */\n\nMagickBooleanType\nLogMagickEvent(LogEventType type,char *module,char *function,size_t line,char *format,...)\n\n{\n  int iVar1;\n  MagickBooleanType MVar2;\n  LogInfo *pLVar3;\n  int iVar4;\n  int *piVar5;\n  int iVar6;\n  int iVar7;\n  int *piVar8;\n  int iVar9;\n  uint uVar10;\n  undefined4 *puVar11;\n  MagickBooleanType *pMVar12;\n  int iVar13;\n  undefined4 uVar14;\n  ExceptionInfo *pEVar15;\n  char *pcVar16;\n  int *piVar17;\n  undefined *puVar18;\n  int iVar19;\n  int *piVar20;\n  int iVar21;\n  int iVar22;\n  int iVar23;\n  undefined4 *puVar24;\n  int unaff_s6;\n  int iVar25;\n  int *unaff_s7;\n  undefined4 uVar26;\n  undefined *puVar27;\n  code *pcVar28;\n  code *pcVar29;\n  double dVar30;\n  double dVar31;\n  int iStack_d0;\n  int iStack_cc;\n  undefined *puStack_c8;\n  char *pcStack_c4;\n  char *pcStack_c0;\n  char *pcStack_bc;\n  size_t sStack_b8;\n  char *pcStack_b4;\n  int iStack_b0;\n  int *piStack_ac;\n  va_list operands;\n  \n  puVar18 = PTR___stack_chk_guard_003a9230;\n  iVar1 = *(int *)PTR___stack_chk_guard_003a9230;\n  piVar8 = (int *)module;\n  pcVar16 = function;\n  MVar2 = (*(code *)PTR_IsEventLogging_003a97a8)();\n  if (MVar2 != MagickFalse) {\n    piVar8 = (int *)module;\n    pcVar16 = function;\n    MVar2 = (*(code *)PTR_LogMagickEventList_003a9148)(type,module,function,line);\n  }\n  if (iVar1 == *(int *)puVar18) {\n    return MVar2;\n  }\n  puVar27 = PTR___stack_chk_fail_003a9064;\n  (*(code *)PTR___stack_chk_fail_003a9064)();\n  if (iVar1 == 0) {\n    (**(code **)(puVar27 + 0x29ccac))\n              (*(int *)(puVar27 + 0x29bf84) + 0x45e0,*(int *)(puVar27 + 0x29bf88) + -0x40d0,499,\n               *(int *)(puVar27 + 0x29bf88) + -0x3bd0);\n  }\n  else {\n    puVar18 = *(undefined **)(puVar27 + 0x29bf88);\n    pEVar15 = (ExceptionInfo *)(puVar18 + -0x40d0);\n    (**(code **)(puVar27 + 0x29c884))(0x8000,pEVar15,*(int *)(puVar27 + 0x29bf88) + -0x3be0,500);\n    type = (LogEventType)pcVar16;\n    unaff_s6 = iVar1;\n    unaff_s7 = piVar8;\n    if (piVar8 != (int *)0x0) {\n      *piVar8 = 0;\n      pLVar3 = GetLogInfo(pcVar16,pEVar15);\n      if (pLVar3 != (LogInfo *)0x0) {\n        iVar22 = *(int *)(puVar27 + 0x29bf70);\n        iVar4 = (**(code **)(puVar27 + 0x29ca98))(*(undefined4 *)(iVar22 + -0x5088));\n        piVar5 = (int *)(**(code **)(puVar27 + 0x29cbb0))(iVar4 + 1,4);\n        if (piVar5 != (int *)0x0) {\n          iVar4 = *(int *)(puVar27 + 0x29bf70);\n          (**(code **)(puVar27 + 0x29cd8c))(*(undefined4 *)(iVar4 + -0x5090));\n          (**(code **)(puVar27 + 0x29cbdc))(*(undefined4 *)(iVar22 + -0x5088));\n          iVar6 = (**(code **)(puVar27 + 0x29c9b4))(*(undefined4 *)(iVar22 + -0x5088));\n          if (iVar6 == 0) {\n            iVar19 = 0;\n            piVar17 = piVar5;\n          }\n          else {\n            iVar19 = 0;\n            do {\n              piVar17 = piVar5 + iVar19;\n              if ((*(int *)(iVar6 + 0x2c) == 0) &&\n                 (iVar7 = (**(code **)(puVar27 + 0x29ccec))(*(undefined4 *)(iVar6 + 0xc),iVar1,0),\n                 iVar7 != 0)) {\n                *piVar17 = iVar6;\n                piVar17 = piVar5 + iVar19 + 1;\n                iVar19 = iVar19 + 1;\n              }\n              iVar6 = (**(code **)(puVar27 + 0x29c9b4))(*(undefined4 *)(iVar22 + -0x5088));\n            } while (iVar6 != 0);\n          }\n          (**(code **)(puVar27 + 0x29ca24))(*(undefined4 *)(iVar4 + -0x5090));\n          (**(code **)(puVar27 + 0x29cf78))(piVar5,iVar19,4,*(int *)(puVar27 + 0x29c13c) + -0x5800);\n          *piVar8 = iVar19;\n          *piVar17 = 0;\n          return (MagickBooleanType)piVar5;\n        }\n      }\n      return MagickFalse;\n    }\n  }\n  pcVar16 = puVar18 + -0x40d0;\n  pcVar28 = *(code **)(puVar27 + 0x29ccac);\n  iVar1 = *(int *)(puVar27 + 0x29bf88) + -0x3e64;\n  (*pcVar28)(iVar1,pcVar16,0x1f5,*(int *)(puVar27 + 0x29bf88) + -0x3bd0);\n  piVar8 = *(int **)(pcVar28 + 0x29c670);\n  pcStack_b4 = format;\n  iStack_cc = *piVar8;\n  if (iVar1 == 0) {\n    iVar1 = **(int **)(pcVar28 + 0x29c324);\n  }\n  piVar17 = &iStack_d0;\n  puStack_c8 = puVar18;\n  pcStack_c4 = (char *)type;\n  pcStack_c0 = module;\n  pcStack_bc = function;\n  sStack_b8 = line;\n  iStack_b0 = unaff_s6;\n  piStack_ac = unaff_s7;\n  piVar5 = (int *)(**(code **)(pcVar28 + 0x29cc48))(*(int *)(pcVar28 + 0x29bd28) + 0x6c9c);\n  if (piVar5 == (int *)0x0) {\n    MVar2 = MagickFalse;\n  }\n  else {\n    iVar4 = *(int *)(pcVar28 + 0x29bd20);\n    if (0 < iStack_d0) {\n      iVar23 = 0;\n      iVar25 = *(int *)(pcVar28 + 0x29bd8c);\n      iVar6 = 0;\n      iVar21 = *(int *)(pcVar28 + 0x29bd90);\n      dVar31 = *(double *)(iVar4 + 0x1418);\n      iVar19 = *(int *)(pcVar28 + 0x29bd24);\n      iVar7 = *(int *)(pcVar28 + 0x29bd24);\n      iVar22 = iStack_d0;\n      piVar20 = piVar5;\n      do {\n        iVar13 = *piVar20;\n        piVar17 = *(int **)(iVar13 + 0x2c);\n        if (piVar17 == (int *)0x0) {\n          iVar22 = *(int *)(iVar13 + 8);\n          if ((iVar6 == 0) ||\n             (iVar9 = (**(code **)(pcVar28 + 0x29c550))(iVar6,iVar22), iVar6 = iVar22, iVar9 != 0))\n          {\n            if (iVar22 != 0) {\n              (**(code **)(pcVar28 + 0x29c984))(iVar1,*(int *)(pcVar28 + 0x29bd20) + 0x4620,iVar22);\n              iVar13 = *piVar20;\n            }\n            iVar22 = 0;\n            uVar10 = 0;\n            pcVar16 = (char *)(*(int *)(pcVar28 + 0x29bd24) + -0x3b94);\n            while( true ) {\n              if ((1 << (uVar10 & 0x1f) & *(uint *)(iVar13 + 4)) != 0) {\n                (**(code **)(pcVar28 + 0x29c984))(iVar1,iVar25 + 0x30e8,pcVar16);\n                iVar6 = (**(code **)(pcVar28 + 0x29c778))(pcVar16);\n                iVar22 = iVar22 + iVar6;\n              }\n              if (uVar10 == 0x1f) break;\n              pcVar16 = pcVar16 + 0x10;\n              uVar10 = uVar10 + 1;\n              if (*pcVar16 == '\0') break;\n              iVar13 = *piVar20;\n            }\n            if (iVar22 < 0xd) {\n              do {\n                iVar22 = iVar22 + 1;\n                (**(code **)(pcVar28 + 0x29c984))(iVar1,iVar21 + 0x2158);\n              } while (iVar22 != 0xd);\n            }\n            (**(code **)(pcVar28 + 0x29c984))(iVar1,*(int *)(pcVar28 + 0x29bd24) + -0x3e3c);\n            (**(code **)(pcVar28 + 0x29c984))(iVar1,*(int *)(pcVar28 + 0x29bd20) + 0x4644);\n            iVar13 = *piVar20;\n            iVar6 = *(int *)(iVar13 + 8);\n          }\n          if (*(int *)(iVar13 + 0x10) != 0) {\n            (**(code **)(pcVar28 + 0x29c984))(iVar1,*(int *)(pcVar28 + 0x29bd24) + -0x62ac);\n            iVar13 = *piVar20;\n            uVar10 = (**(code **)(pcVar28 + 0x29c778))(*(undefined4 *)(iVar13 + 0x10));\n            if (uVar10 < 0x11) {\n              do {\n                uVar10 = uVar10 + 1;\n                (**(code **)(pcVar28 + 0x29c984))(iVar1,iVar21 + 0x2158);\n              } while (uVar10 != 0x11);\n              iVar13 = *piVar20;\n            }\n          }\n          dVar30 = (double)*(int *)(iVar13 + 0x18);\n          if (*(int *)(iVar13 + 0x18) < 0) {\n            dVar30 = dVar30 + *(double *)(iVar4 + 0x1418);\n          }\n          (**(code **)(pcVar28 + 0x29c984))\n                    (iVar1,iVar19 + -0x3e1c,(int)((ulonglong)dVar30 >> 0x20),SUB84(dVar30,0));\n          dVar30 = (double)*(int *)(*piVar20 + 0x1c);\n          if (*(int *)(*piVar20 + 0x1c) < 0) {\n            dVar30 = dVar30 + dVar31;\n          }\n          (**(code **)(pcVar28 + 0x29c984))\n                    (iVar1,iVar7 + -0x3e14,(int)((ulonglong)dVar30 >> 0x20),SUB84(dVar30,0));\n          pcVar16 = *(char **)(*piVar20 + 0x14);\n          if (pcVar16 != (char *)0x0) {\n            (**(code **)(pcVar28 + 0x29c984))(iVar1,*(int *)(pcVar28 + 0x29bd24) + -0x62ac);\n          }\n          piVar17 = (int *)(*(int *)(pcVar28 + 0x29bd2c) + -0x4bdc);\n          (**(code **)(pcVar28 + 0x29c984))(iVar1);\n          iVar22 = iStack_d0;\n        }\n        iVar23 = iVar23 + 1;\n        piVar20 = piVar20 + 1;\n      } while (iVar23 < iVar22);\n    }\n    (**(code **)(pcVar28 + 0x29c8cc))(iVar1);\n    (**(code **)(pcVar28 + 0x29c400))(piVar5);\n    MVar2 = MagickTrue;\n  }\n  if (iStack_cc == *piVar8) {\n    return MVar2;\n  }\n  pcVar28 = *(code **)(pcVar28 + 0x29c4a4);\n  iVar4 = iStack_cc;\n  (*pcVar28)();\n  if (iVar4 == 0) {\n    (**(code **)(pcVar28 + 0x29c674))\n              (*(int *)(pcVar28 + 0x29b94c) + 0x45e0,*(int *)(pcVar28 + 0x29b950) + -0x40d0,0x250,\n               *(int *)(pcVar28 + 0x29b950) + -0x3bec);\n  }\n  else {\n    iVar1 = *(int *)(pcVar28 + 0x29b950);\n    pEVar15 = (ExceptionInfo *)(iVar1 + -0x40d0);\n    (**(code **)(pcVar28 + 0x29c24c))\n              (0x8000,pEVar15,*(int *)(pcVar28 + 0x29b950) + -0x3bf8,0x251,\n               *(int *)(pcVar28 + 0x29b950) + -0x62ac,iVar4);\n    if (piVar17 != (int *)0x0) {\n      *piVar17 = 0;\n      pLVar3 = GetLogInfo(pcVar16,pEVar15);\n      if (pLVar3 != (LogInfo *)0x0) {\n        iVar22 = *(int *)(pcVar28 + 0x29b938);\n        iVar1 = (**(code **)(pcVar28 + 0x29c460))(*(undefined4 *)(iVar22 + -0x5088));\n        puVar11 = (undefined4 *)(**(code **)(pcVar28 + 0x29c578))(iVar1 + 1,4);\n        if (puVar11 != (undefined4 *)0x0) {\n          iVar1 = *(int *)(pcVar28 + 0x29b938);\n          (**(code **)(pcVar28 + 0x29c754))(*(undefined4 *)(iVar1 + -0x5090));\n          (**(code **)(pcVar28 + 0x29c5a4))(*(undefined4 *)(iVar22 + -0x5088));\n          iVar6 = (**(code **)(pcVar28 + 0x29c37c))(*(undefined4 *)(iVar22 + -0x5088));\n          if (iVar6 == 0) {\n            iVar19 = 0;\n            puVar24 = puVar11;\n          }\n          else {\n            iVar19 = 0;\nLAB_0010d0bc:\n            do {\n              if (*(int *)(iVar6 + 0x2c) == 0) {\n                uVar26 = *(undefined4 *)(iVar6 + 0xc);\n                iVar6 = (**(code **)(pcVar28 + 0x29c6b4))(uVar26,iVar4,0);\n                if (iVar6 != 0) {\n                  iVar21 = iVar19 + 1;\n                  uVar26 = (**(code **)(pcVar28 + 0x29c120))(uVar26);\n                  uVar14 = *(undefined4 *)(iVar22 + -0x5088);\n                  puVar11[iVar19] = uVar26;\n                  iVar7 = iVar19 + 1;\n                  iVar6 = (**(code **)(pcVar28 + 0x29c37c))(uVar14);\n                  iVar19 = iVar21;\n                  puVar24 = puVar11 + iVar7;\n                  if (iVar6 == 0) break;\n                  goto LAB_0010d0bc;\n                }\n              }\n              iVar6 = (**(code **)(pcVar28 + 0x29c37c))(*(undefined4 *)(iVar22 + -0x5088));\n              puVar24 = puVar11 + iVar19;\n            } while (iVar6 != 0);\n          }\n          (**(code **)(pcVar28 + 0x29c3ec))(*(undefined4 *)(iVar1 + -0x5090));\n          (**(code **)(pcVar28 + 0x29c940))(puVar11,iVar19,4,*(int *)(pcVar28 + 0x29bb04) + -0x578c)\n          ;\n          *piVar17 = iVar19;\n          *puVar24 = 0;\n          return (MagickBooleanType)puVar11;\n        }\n      }\n      return MagickFalse;\n    }\n  }\n  pEVar15 = (ExceptionInfo *)(iVar1 + -0x40d0);\n  pcVar29 = *(code **)(pcVar28 + 0x29c674);\n  iVar1 = *(int *)(pcVar28 + 0x29b950) + -0x3e64;\n  (*pcVar29)(iVar1,pEVar15,0x252,*(int *)(pcVar28 + 0x29b950) + -0x3bec);\n  iVar22 = *(int *)(pcVar29 + 0x29b6b0);\n  iVar4 = *(int *)(pcVar29 + 0x29b6b0);\n  pcVar16 = (char *)(**(code **)(pcVar29 + 0x29bcd0))();\n  GetLogInfo(pcVar16,pEVar15);\n  (**(code **)(pcVar29 + 0x29bb34))(pcVar16);\n  MVar2 = (**(code **)(pcVar29 + 0x29c478))(0x2c,1,iVar1);\n  (**(code **)(pcVar29 + 0x29c4cc))(*(undefined4 *)(iVar22 + -0x5090));\n  pMVar12 = (MagickBooleanType *)\n            (**(code **)(pcVar29 + 0x29bc6c))(*(undefined4 *)(iVar4 + -0x5088),0);\n  if (MVar2 == ~MagickFalse) {\n    pcVar28 = *(code **)(pcVar29 + 0x29c210);\n    uVar26 = *(undefined4 *)(iVar4 + -0x5088);\n    *pMVar12 = MagickFalse;\n    iVar1 = (*pcVar28)(uVar26);\n  }\n  else {\n    pcVar28 = *(code **)(pcVar29 + 0x29c210);\n    uVar26 = *(undefined4 *)(iVar4 + -0x5088);\n    *pMVar12 = MVar2;\n    iVar1 = (*pcVar28)(uVar26);\n  }\n  if (iVar1 == 0) {\n    (**(code **)(pcVar29 + 0x29c31c))(*(undefined4 *)(iVar4 + -0x5088));\n    piVar8 = (int *)(**(code **)(pcVar29 + 0x29c0f4))(*(undefined4 *)(iVar4 + -0x5088));\n    if (piVar8 == (int *)0x0) {\n      *(undefined4 *)(*(int *)(pcVar29 + 0x29b6b0) + -0x508c) = 0;\n    }\n    else {\n      *(uint *)(*(int *)(pcVar29 + 0x29b6b0) + -0x508c) = (uint)(*piVar8 != 0);\n    }\n  }\n  else {\n    *(undefined4 *)(*(int *)(pcVar29 + 0x29b6b0) + -0x508c) = 0;\n  }\n  (**(code **)(pcVar29 + 0x29c164))(*(undefined4 *)(iVar22 + -0x5090));\n  return *pMVar12;\n}\n\n" comment comment comment (function_definition "MagickBooleanType\nLogMagickEvent(LogEventType type,char *module,char *function,size_t line,char *format,...)\n\n{\n  int iVar1;\n  MagickBooleanType MVar2;\n  LogInfo *pLVar3;\n  int iVar4;\n  int *piVar5;\n  int iVar6;\n  int iVar7;\n  int *piVar8;\n  int iVar9;\n  uint uVar10;\n  undefined4 *puVar11;\n  MagickBooleanType *pMVar12;\n  int iVar13;\n  undefined4 uVar14;\n  ExceptionInfo *pEVar15;\n  char *pcVar16;\n  int *piVar17;\n  undefined *puVar18;\n  int iVar19;\n  int *piVar20;\n  int iVar21;\n  int iVar22;\n  int iVar23;\n  undefined4 *puVar24;\n  int unaff_s6;\n  int iVar25;\n  int *unaff_s7;\n  undefined4 uVar26;\n  undefined *puVar27;\n  code *pcVar28;\n  code *pcVar29;\n  double dVar30;\n  double dVar31;\n  int iStack_d0;\n  int iStack_cc;\n  undefined *puStack_c8;\n  char *pcStack_c4;\n  char *pcStack_c0;\n  char *pcStack_bc;\n  size_t sStack_b8;\n  char *pcStack_b4;\n  int iStack_b0;\n  int *piStack_ac;\n  va_list operands;\n  \n  puVar18 = PTR___stack_chk_guard_003a9230;\n  iVar1 = *(int *)PTR___stack_chk_guard_003a9230;\n  piVar8 = (int *)module;\n  pcVar16 = function;\n  MVar2 = (*(code *)PTR_IsEventLogging_003a97a8)();\n  if (MVar2 != MagickFalse) {\n    piVar8 = (int *)module;\n    pcVar16 = function;\n    MVar2 = (*(code *)PTR_LogMagickEventList_003a9148)(type,module,function,line);\n  }\n  if (iVar1 == *(int *)puVar18) {\n    return MVar2;\n  }\n  puVar27 = PTR___stack_chk_fail_003a9064;\n  (*(code *)PTR___stack_chk_fail_003a9064)();\n  if (iVar1 == 0) {\n    (**(code **)(puVar27 + 0x29ccac))\n              (*(int *)(puVar27 + 0x29bf84) + 0x45e0,*(int *)(puVar27 + 0x29bf88) + -0x40d0,499,\n               *(int *)(puVar27 + 0x29bf88) + -0x3bd0);\n  }\n  else {\n    puVar18 = *(undefined **)(puVar27 + 0x29bf88);\n    pEVar15 = (ExceptionInfo *)(puVar18 + -0x40d0);\n    (**(code **)(puVar27 + 0x29c884))(0x8000,pEVar15,*(int *)(puVar27 + 0x29bf88) + -0x3be0,500);\n    type = (LogEventType)pcVar16;\n    unaff_s6 = iVar1;\n    unaff_s7 = piVar8;\n    if (piVar8 != (int *)0x0) {\n      *piVar8 = 0;\n      pLVar3 = GetLogInfo(pcVar16,pEVar15);\n      if (pLVar3 != (LogInfo *)0x0) {\n        iVar22 = *(int *)(puVar27 + 0x29bf70);\n        iVar4 = (**(code **)(puVar27 + 0x29ca98))(*(undefined4 *)(iVar22 + -0x5088));\n        piVar5 = (int *)(**(code **)(puVar27 + 0x29cbb0))(iVar4 + 1,4);\n        if (piVar5 != (int *)0x0) {\n          iVar4 = *(int *)(puVar27 + 0x29bf70);\n          (**(code **)(puVar27 + 0x29cd8c))(*(undefined4 *)(iVar4 + -0x5090));\n          (**(code **)(puVar27 + 0x29cbdc))(*(undefined4 *)(iVar22 + -0x5088));\n          iVar6 = (**(code **)(puVar27 + 0x29c9b4))(*(undefined4 *)(iVar22 + -0x5088));\n          if (iVar6 == 0) {\n            iVar19 = 0;\n            piVar17 = piVar5;\n          }\n          else {\n            iVar19 = 0;\n            do {\n              piVar17 = piVar5 + iVar19;\n              if ((*(int *)(iVar6 + 0x2c) == 0) &&\n                 (iVar7 = (**(code **)(puVar27 + 0x29ccec))(*(undefined4 *)(iVar6 + 0xc),iVar1,0),\n                 iVar7 != 0)) {\n                *piVar17 = iVar6;\n                piVar17 = piVar5 + iVar19 + 1;\n                iVar19 = iVar19 + 1;\n              }\n              iVar6 = (**(code **)(puVar27 + 0x29c9b4))(*(undefined4 *)(iVar22 + -0x5088));\n            } while (iVar6 != 0);\n          }\n          (**(code **)(puVar27 + 0x29ca24))(*(undefined4 *)(iVar4 + -0x5090));\n          (**(code **)(puVar27 + 0x29cf78))(piVar5,iVar19,4,*(int *)(puVar27 + 0x29c13c) + -0x5800);\n          *piVar8 = iVar19;\n          *piVar17 = 0;\n          return (MagickBooleanType)piVar5;\n        }\n      }\n      return MagickFalse;\n    }\n  }\n  pcVar16 = puVar18 + -0x40d0;\n  pcVar28 = *(code **)(puVar27 + 0x29ccac);\n  iVar1 = *(int *)(puVar27 + 0x29bf88) + -0x3e64;\n  (*pcVar28)(iVar1,pcVar16,0x1f5,*(int *)(puVar27 + 0x29bf88) + -0x3bd0);\n  piVar8 = *(int **)(pcVar28 + 0x29c670);\n  pcStack_b4 = format;\n  iStack_cc = *piVar8;\n  if (iVar1 == 0) {\n    iVar1 = **(int **)(pcVar28 + 0x29c324);\n  }\n  piVar17 = &iStack_d0;\n  puStack_c8 = puVar18;\n  pcStack_c4 = (char *)type;\n  pcStack_c0 = module;\n  pcStack_bc = function;\n  sStack_b8 = line;\n  iStack_b0 = unaff_s6;\n  piStack_ac = unaff_s7;\n  piVar5 = (int *)(**(code **)(pcVar28 + 0x29cc48))(*(int *)(pcVar28 + 0x29bd28) + 0x6c9c);\n  if (piVar5 == (int *)0x0) {\n    MVar2 = MagickFalse;\n  }\n  else {\n    iVar4 = *(int *)(pcVar28 + 0x29bd20);\n    if (0 < iStack_d0) {\n      iVar23 = 0;\n      iVar25 = *(int *)(pcVar28 + 0x29bd8c);\n      iVar6 = 0;\n      iVar21 = *(int *)(pcVar28 + 0x29bd90);\n      dVar31 = *(double *)(iVar4 + 0x1418);\n      iVar19 = *(int *)(pcVar28 + 0x29bd24);\n      iVar7 = *(int *)(pcVar28 + 0x29bd24);\n      iVar22 = iStack_d0;\n      piVar20 = piVar5;\n      do {\n        iVar13 = *piVar20;\n        piVar17 = *(int **)(iVar13 + 0x2c);\n        if (piVar17 == (int *)0x0) {\n          iVar22 = *(int *)(iVar13 + 8);\n          if ((iVar6 == 0) ||\n             (iVar9 = (**(code **)(pcVar28 + 0x29c550))(iVar6,iVar22), iVar6 = iVar22, iVar9 != 0))\n          {\n            if (iVar22 != 0) {\n              (**(code **)(pcVar28 + 0x29c984))(iVar1,*(int *)(pcVar28 + 0x29bd20) + 0x4620,iVar22);\n              iVar13 = *piVar20;\n            }\n            iVar22 = 0;\n            uVar10 = 0;\n            pcVar16 = (char *)(*(int *)(pcVar28 + 0x29bd24) + -0x3b94);\n            while( true ) {\n              if ((1 << (uVar10 & 0x1f) & *(uint *)(iVar13 + 4)) != 0) {\n                (**(code **)(pcVar28 + 0x29c984))(iVar1,iVar25 + 0x30e8,pcVar16);\n                iVar6 = (**(code **)(pcVar28 + 0x29c778))(pcVar16);\n                iVar22 = iVar22 + iVar6;\n              }\n              if (uVar10 == 0x1f) break;\n              pcVar16 = pcVar16 + 0x10;\n              uVar10 = uVar10 + 1;\n              if (*pcVar16 == '\0') break;\n              iVar13 = *piVar20;\n            }\n            if (iVar22 < 0xd) {\n              do {\n                iVar22 = iVar22 + 1;\n                (**(code **)(pcVar28 + 0x29c984))(iVar1,iVar21 + 0x2158);\n              } while (iVar22 != 0xd);\n            }\n            (**(code **)(pcVar28 + 0x29c984))(iVar1,*(int *)(pcVar28 + 0x29bd24) + -0x3e3c);\n            (**(code **)(pcVar28 + 0x29c984))(iVar1,*(int *)(pcVar28 + 0x29bd20) + 0x4644);\n            iVar13 = *piVar20;\n            iVar6 = *(int *)(iVar13 + 8);\n          }\n          if (*(int *)(iVar13 + 0x10) != 0) {\n            (**(code **)(pcVar28 + 0x29c984))(iVar1,*(int *)(pcVar28 + 0x29bd24) + -0x62ac);\n            iVar13 = *piVar20;\n            uVar10 = (**(code **)(pcVar28 + 0x29c778))(*(undefined4 *)(iVar13 + 0x10));\n            if (uVar10 < 0x11) {\n              do {\n                uVar10 = uVar10 + 1;\n                (**(code **)(pcVar28 + 0x29c984))(iVar1,iVar21 + 0x2158);\n              } while (uVar10 != 0x11);\n              iVar13 = *piVar20;\n            }\n          }\n          dVar30 = (double)*(int *)(iVar13 + 0x18);\n          if (*(int *)(iVar13 + 0x18) < 0) {\n            dVar30 = dVar30 + *(double *)(iVar4 + 0x1418);\n          }\n          (**(code **)(pcVar28 + 0x29c984))\n                    (iVar1,iVar19 + -0x3e1c,(int)((ulonglong)dVar30 >> 0x20),SUB84(dVar30,0));\n          dVar30 = (double)*(int *)(*piVar20 + 0x1c);\n          if (*(int *)(*piVar20 + 0x1c) < 0) {\n            dVar30 = dVar30 + dVar31;\n          }\n          (**(code **)(pcVar28 + 0x29c984))\n                    (iVar1,iVar7 + -0x3e14,(int)((ulonglong)dVar30 >> 0x20),SUB84(dVar30,0));\n          pcVar16 = *(char **)(*piVar20 + 0x14);\n          if (pcVar16 != (char *)0x0) {\n            (**(code **)(pcVar28 + 0x29c984))(iVar1,*(int *)(pcVar28 + 0x29bd24) + -0x62ac);\n          }\n          piVar17 = (int *)(*(int *)(pcVar28 + 0x29bd2c) + -0x4bdc);\n          (**(code **)(pcVar28 + 0x29c984))(iVar1);\n          iVar22 = iStack_d0;\n        }\n        iVar23 = iVar23 + 1;\n        piVar20 = piVar20 + 1;\n      } while (iVar23 < iVar22);\n    }\n    (**(code **)(pcVar28 + 0x29c8cc))(iVar1);\n    (**(code **)(pcVar28 + 0x29c400))(piVar5);\n    MVar2 = MagickTrue;\n  }\n  if (iStack_cc == *piVar8) {\n    return MVar2;\n  }\n  pcVar28 = *(code **)(pcVar28 + 0x29c4a4);\n  iVar4 = iStack_cc;\n  (*pcVar28)();\n  if (iVar4 == 0) {\n    (**(code **)(pcVar28 + 0x29c674))\n              (*(int *)(pcVar28 + 0x29b94c) + 0x45e0,*(int *)(pcVar28 + 0x29b950) + -0x40d0,0x250,\n               *(int *)(pcVar28 + 0x29b950) + -0x3bec);\n  }\n  else {\n    iVar1 = *(int *)(pcVar28 + 0x29b950);\n    pEVar15 = (ExceptionInfo *)(iVar1 + -0x40d0);\n    (**(code **)(pcVar28 + 0x29c24c))\n              (0x8000,pEVar15,*(int *)(pcVar28 + 0x29b950) + -0x3bf8,0x251,\n               *(int *)(pcVar28 + 0x29b950) + -0x62ac,iVar4);\n    if (piVar17 != (int *)0x0) {\n      *piVar17 = 0;\n      pLVar3 = GetLogInfo(pcVar16,pEVar15);\n      if (pLVar3 != (LogInfo *)0x0) {\n        iVar22 = *(int *)(pcVar28 + 0x29b938);\n        iVar1 = (**(code **)(pcVar28 + 0x29c460))(*(undefined4 *)(iVar22 + -0x5088));\n        puVar11 = (undefined4 *)(**(code **)(pcVar28 + 0x29c578))(iVar1 + 1,4);\n        if (puVar11 != (undefined4 *)0x0) {\n          iVar1 = *(int *)(pcVar28 + 0x29b938);\n          (**(code **)(pcVar28 + 0x29c754))(*(undefined4 *)(iVar1 + -0x5090));\n          (**(code **)(pcVar28 + 0x29c5a4))(*(undefined4 *)(iVar22 + -0x5088));\n          iVar6 = (**(code **)(pcVar28 + 0x29c37c))(*(undefined4 *)(iVar22 + -0x5088));\n          if (iVar6 == 0) {\n            iVar19 = 0;\n            puVar24 = puVar11;\n          }\n          else {\n            iVar19 = 0;\nLAB_0010d0bc:\n            do {\n              if (*(int *)(iVar6 + 0x2c) == 0) {\n                uVar26 = *(undefined4 *)(iVar6 + 0xc);\n                iVar6 = (**(code **)(pcVar28 + 0x29c6b4))(uVar26,iVar4,0);\n                if (iVar6 != 0) {\n                  iVar21 = iVar19 + 1;\n                  uVar26 = (**(code **)(pcVar28 + 0x29c120))(uVar26);\n                  uVar14 = *(undefined4 *)(iVar22 + -0x5088);\n                  puVar11[iVar19] = uVar26;\n                  iVar7 = iVar19 + 1;\n                  iVar6 = (**(code **)(pcVar28 + 0x29c37c))(uVar14);\n                  iVar19 = iVar21;\n                  puVar24 = puVar11 + iVar7;\n                  if (iVar6 == 0) break;\n                  goto LAB_0010d0bc;\n                }\n              }\n              iVar6 = (**(code **)(pcVar28 + 0x29c37c))(*(undefined4 *)(iVar22 + -0x5088));\n              puVar24 = puVar11 + iVar19;\n            } while (iVar6 != 0);\n          }\n          (**(code **)(pcVar28 + 0x29c3ec))(*(undefined4 *)(iVar1 + -0x5090));\n          (**(code **)(pcVar28 + 0x29c940))(puVar11,iVar19,4,*(int *)(pcVar28 + 0x29bb04) + -0x578c)\n          ;\n          *piVar17 = iVar19;\n          *puVar24 = 0;\n          return (MagickBooleanType)puVar11;\n        }\n      }\n      return MagickFalse;\n    }\n  }\n  pEVar15 = (ExceptionInfo *)(iVar1 + -0x40d0);\n  pcVar29 = *(code **)(pcVar28 + 0x29c674);\n  iVar1 = *(int *)(pcVar28 + 0x29b950) + -0x3e64;\n  (*pcVar29)(iVar1,pEVar15,0x252,*(int *)(pcVar28 + 0x29b950) + -0x3bec);\n  iVar22 = *(int *)(pcVar29 + 0x29b6b0);\n  iVar4 = *(int *)(pcVar29 + 0x29b6b0);\n  pcVar16 = (char *)(**(code **)(pcVar29 + 0x29bcd0))();\n  GetLogInfo(pcVar16,pEVar15);\n  (**(code **)(pcVar29 + 0x29bb34))(pcVar16);\n  MVar2 = (**(code **)(pcVar29 + 0x29c478))(0x2c,1,iVar1);\n  (**(code **)(pcVar29 + 0x29c4cc))(*(undefined4 *)(iVar22 + -0x5090));\n  pMVar12 = (MagickBooleanType *)\n            (**(code **)(pcVar29 + 0x29bc6c))(*(undefined4 *)(iVar4 + -0x5088),0);\n  if (MVar2 == ~MagickFalse) {\n    pcVar28 = *(code **)(pcVar29 + 0x29c210);\n    uVar26 = *(undefined4 *)(iVar4 + -0x5088);\n    *pMVar12 = MagickFalse;\n    iVar1 = (*pcVar28)(uVar26);\n  }\n  else {\n    pcVar28 = *(code **)(pcVar29 + 0x29c210);\n    uVar26 = *(undefined4 *)(iVar4 + -0x5088);\n    *pMVar12 = MVar2;\n    iVar1 = (*pcVar28)(uVar26);\n  }\n  if (iVar1 == 0) {\n    (**(code **)(pcVar29 + 0x29c31c))(*(undefined4 *)(iVar4 + -0x5088));\n    piVar8 = (int *)(**(code **)(pcVar29 + 0x29c0f4))(*(undefined4 *)(iVar4 + -0x5088));\n    if (piVar8 == (int *)0x0) {\n      *(undefined4 *)(*(int *)(pcVar29 + 0x29b6b0) + -0x508c) = 0;\n    }\n    else {\n      *(uint *)(*(int *)(pcVar29 + 0x29b6b0) + -0x508c) = (uint)(*piVar8 != 0);\n    }\n  }\n  else {\n    *(undefined4 *)(*(int *)(pcVar29 + 0x29b6b0) + -0x508c) = 0;\n  }\n  (**(code **)(pcVar29 + 0x29c164))(*(undefined4 *)(iVar22 + -0x5090));\n  return *pMVar12;\n}" type_identifier (function_declarator "LogMagickEvent(LogEventType type,char *module,char *function,size_t line,char *format,...)" identifier (parameter_list "(LogEventType type,char *module,char *function,size_t line,char *format,...)" ( (parameter_declaration "LogEventType type" type_identifier identifier) , (parameter_declaration "char *module" primitive_type (pointer_declarator "*module" * identifier)) , (parameter_declaration "char *function" primitive_type (pointer_declarator "*function" * identifier)) , (parameter_declaration "size_t line" primitive_type identifier) , (parameter_declaration "char *format" primitive_type (pointer_declarator "*format" * identifier)) , (variadic_parameter "..." ...) ))) (compound_statement "{\n  int iVar1;\n  MagickBooleanType MVar2;\n  LogInfo *pLVar3;\n  int iVar4;\n  int *piVar5;\n  int iVar6;\n  int iVar7;\n  int *piVar8;\n  int iVar9;\n  uint uVar10;\n  undefined4 *puVar11;\n  MagickBooleanType *pMVar12;\n  int iVar13;\n  undefined4 uVar14;\n  ExceptionInfo *pEVar15;\n  char *pcVar16;\n  int *piVar17;\n  undefined *puVar18;\n  int iVar19;\n  int *piVar20;\n  int iVar21;\n  int iVar22;\n  int iVar23;\n  undefined4 *puVar24;\n  int unaff_s6;\n  int iVar25;\n  int *unaff_s7;\n  undefined4 uVar26;\n  undefined *puVar27;\n  code *pcVar28;\n  code *pcVar29;\n  double dVar30;\n  double dVar31;\n  int iStack_d0;\n  int iStack_cc;\n  undefined *puStack_c8;\n  char *pcStack_c4;\n  char *pcStack_c0;\n  char *pcStack_bc;\n  size_t sStack_b8;\n  char *pcStack_b4;\n  int iStack_b0;\n  int *piStack_ac;\n  va_list operands;\n  \n  puVar18 = PTR___stack_chk_guard_003a9230;\n  iVar1 = *(int *)PTR___stack_chk_guard_003a9230;\n  piVar8 = (int *)module;\n  pcVar16 = function;\n  MVar2 = (*(code *)PTR_IsEventLogging_003a97a8)();\n  if (MVar2 != MagickFalse) {\n    piVar8 = (int *)module;\n    pcVar16 = function;\n    MVar2 = (*(code *)PTR_LogMagickEventList_003a9148)(type,module,function,line);\n  }\n  if (iVar1 == *(int *)puVar18) {\n    return MVar2;\n  }\n  puVar27 = PTR___stack_chk_fail_003a9064;\n  (*(code *)PTR___stack_chk_fail_003a9064)();\n  if (iVar1 == 0) {\n    (**(code **)(puVar27 + 0x29ccac))\n              (*(int *)(puVar27 + 0x29bf84) + 0x45e0,*(int *)(puVar27 + 0x29bf88) + -0x40d0,499,\n               *(int *)(puVar27 + 0x29bf88) + -0x3bd0);\n  }\n  else {\n    puVar18 = *(undefined **)(puVar27 + 0x29bf88);\n    pEVar15 = (ExceptionInfo *)(puVar18 + -0x40d0);\n    (**(code **)(puVar27 + 0x29c884))(0x8000,pEVar15,*(int *)(puVar27 + 0x29bf88) + -0x3be0,500);\n    type = (LogEventType)pcVar16;\n    unaff_s6 = iVar1;\n    unaff_s7 = piVar8;\n    if (piVar8 != (int *)0x0) {\n      *piVar8 = 0;\n      pLVar3 = GetLogInfo(pcVar16,pEVar15);\n      if (pLVar3 != (LogInfo *)0x0) {\n        iVar22 = *(int *)(puVar27 + 0x29bf70);\n        iVar4 = (**(code **)(puVar27 + 0x29ca98))(*(undefined4 *)(iVar22 + -0x5088));\n        piVar5 = (int *)(**(code **)(puVar27 + 0x29cbb0))(iVar4 + 1,4);\n        if (piVar5 != (int *)0x0) {\n          iVar4 = *(int *)(puVar27 + 0x29bf70);\n          (**(code **)(puVar27 + 0x29cd8c))(*(undefined4 *)(iVar4 + -0x5090));\n          (**(code **)(puVar27 + 0x29cbdc))(*(undefined4 *)(iVar22 + -0x5088));\n          iVar6 = (**(code **)(puVar27 + 0x29c9b4))(*(undefined4 *)(iVar22 + -0x5088));\n          if (iVar6 == 0) {\n            iVar19 = 0;\n            piVar17 = piVar5;\n          }\n          else {\n            iVar19 = 0;\n            do {\n              piVar17 = piVar5 + iVar19;\n              if ((*(int *)(iVar6 + 0x2c) == 0) &&\n                 (iVar7 = (**(code **)(puVar27 + 0x29ccec))(*(undefined4 *)(iVar6 + 0xc),iVar1,0),\n                 iVar7 != 0)) {\n                *piVar17 = iVar6;\n                piVar17 = piVar5 + iVar19 + 1;\n                iVar19 = iVar19 + 1;\n              }\n              iVar6 = (**(code **)(puVar27 + 0x29c9b4))(*(undefined4 *)(iVar22 + -0x5088));\n            } while (iVar6 != 0);\n          }\n          (**(code **)(puVar27 + 0x29ca24))(*(undefined4 *)(iVar4 + -0x5090));\n          (**(code **)(puVar27 + 0x29cf78))(piVar5,iVar19,4,*(int *)(puVar27 + 0x29c13c) + -0x5800);\n          *piVar8 = iVar19;\n          *piVar17 = 0;\n          return (MagickBooleanType)piVar5;\n        }\n      }\n      return MagickFalse;\n    }\n  }\n  pcVar16 = puVar18 + -0x40d0;\n  pcVar28 = *(code **)(puVar27 + 0x29ccac);\n  iVar1 = *(int *)(puVar27 + 0x29bf88) + -0x3e64;\n  (*pcVar28)(iVar1,pcVar16,0x1f5,*(int *)(puVar27 + 0x29bf88) + -0x3bd0);\n  piVar8 = *(int **)(pcVar28 + 0x29c670);\n  pcStack_b4 = format;\n  iStack_cc = *piVar8;\n  if (iVar1 == 0) {\n    iVar1 = **(int **)(pcVar28 + 0x29c324);\n  }\n  piVar17 = &iStack_d0;\n  puStack_c8 = puVar18;\n  pcStack_c4 = (char *)type;\n  pcStack_c0 = module;\n  pcStack_bc = function;\n  sStack_b8 = line;\n  iStack_b0 = unaff_s6;\n  piStack_ac = unaff_s7;\n  piVar5 = (int *)(**(code **)(pcVar28 + 0x29cc48))(*(int *)(pcVar28 + 0x29bd28) + 0x6c9c);\n  if (piVar5 == (int *)0x0) {\n    MVar2 = MagickFalse;\n  }\n  else {\n    iVar4 = *(int *)(pcVar28 + 0x29bd20);\n    if (0 < iStack_d0) {\n      iVar23 = 0;\n      iVar25 = *(int *)(pcVar28 + 0x29bd8c);\n      iVar6 = 0;\n      iVar21 = *(int *)(pcVar28 + 0x29bd90);\n      dVar31 = *(double *)(iVar4 + 0x1418);\n      iVar19 = *(int *)(pcVar28 + 0x29bd24);\n      iVar7 = *(int *)(pcVar28 + 0x29bd24);\n      iVar22 = iStack_d0;\n      piVar20 = piVar5;\n      do {\n        iVar13 = *piVar20;\n        piVar17 = *(int **)(iVar13 + 0x2c);\n        if (piVar17 == (int *)0x0) {\n          iVar22 = *(int *)(iVar13 + 8);\n          if ((iVar6 == 0) ||\n             (iVar9 = (**(code **)(pcVar28 + 0x29c550))(iVar6,iVar22), iVar6 = iVar22, iVar9 != 0))\n          {\n            if (iVar22 != 0) {\n              (**(code **)(pcVar28 + 0x29c984))(iVar1,*(int *)(pcVar28 + 0x29bd20) + 0x4620,iVar22);\n              iVar13 = *piVar20;\n            }\n            iVar22 = 0;\n            uVar10 = 0;\n            pcVar16 = (char *)(*(int *)(pcVar28 + 0x29bd24) + -0x3b94);\n            while( true ) {\n              if ((1 << (uVar10 & 0x1f) & *(uint *)(iVar13 + 4)) != 0) {\n                (**(code **)(pcVar28 + 0x29c984))(iVar1,iVar25 + 0x30e8,pcVar16);\n                iVar6 = (**(code **)(pcVar28 + 0x29c778))(pcVar16);\n                iVar22 = iVar22 + iVar6;\n              }\n              if (uVar10 == 0x1f) break;\n              pcVar16 = pcVar16 + 0x10;\n              uVar10 = uVar10 + 1;\n              if (*pcVar16 == '\0') break;\n              iVar13 = *piVar20;\n            }\n            if (iVar22 < 0xd) {\n              do {\n                iVar22 = iVar22 + 1;\n                (**(code **)(pcVar28 + 0x29c984))(iVar1,iVar21 + 0x2158);\n              } while (iVar22 != 0xd);\n            }\n            (**(code **)(pcVar28 + 0x29c984))(iVar1,*(int *)(pcVar28 + 0x29bd24) + -0x3e3c);\n            (**(code **)(pcVar28 + 0x29c984))(iVar1,*(int *)(pcVar28 + 0x29bd20) + 0x4644);\n            iVar13 = *piVar20;\n            iVar6 = *(int *)(iVar13 + 8);\n          }\n          if (*(int *)(iVar13 + 0x10) != 0) {\n            (**(code **)(pcVar28 + 0x29c984))(iVar1,*(int *)(pcVar28 + 0x29bd24) + -0x62ac);\n            iVar13 = *piVar20;\n            uVar10 = (**(code **)(pcVar28 + 0x29c778))(*(undefined4 *)(iVar13 + 0x10));\n            if (uVar10 < 0x11) {\n              do {\n                uVar10 = uVar10 + 1;\n                (**(code **)(pcVar28 + 0x29c984))(iVar1,iVar21 + 0x2158);\n              } while (uVar10 != 0x11);\n              iVar13 = *piVar20;\n            }\n          }\n          dVar30 = (double)*(int *)(iVar13 + 0x18);\n          if (*(int *)(iVar13 + 0x18) < 0) {\n            dVar30 = dVar30 + *(double *)(iVar4 + 0x1418);\n          }\n          (**(code **)(pcVar28 + 0x29c984))\n                    (iVar1,iVar19 + -0x3e1c,(int)((ulonglong)dVar30 >> 0x20),SUB84(dVar30,0));\n          dVar30 = (double)*(int *)(*piVar20 + 0x1c);\n          if (*(int *)(*piVar20 + 0x1c) < 0) {\n            dVar30 = dVar30 + dVar31;\n          }\n          (**(code **)(pcVar28 + 0x29c984))\n                    (iVar1,iVar7 + -0x3e14,(int)((ulonglong)dVar30 >> 0x20),SUB84(dVar30,0));\n          pcVar16 = *(char **)(*piVar20 + 0x14);\n          if (pcVar16 != (char *)0x0) {\n            (**(code **)(pcVar28 + 0x29c984))(iVar1,*(int *)(pcVar28 + 0x29bd24) + -0x62ac);\n          }\n          piVar17 = (int *)(*(int *)(pcVar28 + 0x29bd2c) + -0x4bdc);\n          (**(code **)(pcVar28 + 0x29c984))(iVar1);\n          iVar22 = iStack_d0;\n        }\n        iVar23 = iVar23 + 1;\n        piVar20 = piVar20 + 1;\n      } while (iVar23 < iVar22);\n    }\n    (**(code **)(pcVar28 + 0x29c8cc))(iVar1);\n    (**(code **)(pcVar28 + 0x29c400))(piVar5);\n    MVar2 = MagickTrue;\n  }\n  if (iStack_cc == *piVar8) {\n    return MVar2;\n  }\n  pcVar28 = *(code **)(pcVar28 + 0x29c4a4);\n  iVar4 = iStack_cc;\n  (*pcVar28)();\n  if (iVar4 == 0) {\n    (**(code **)(pcVar28 + 0x29c674))\n              (*(int *)(pcVar28 + 0x29b94c) + 0x45e0,*(int *)(pcVar28 + 0x29b950) + -0x40d0,0x250,\n               *(int *)(pcVar28 + 0x29b950) + -0x3bec);\n  }\n  else {\n    iVar1 = *(int *)(pcVar28 + 0x29b950);\n    pEVar15 = (ExceptionInfo *)(iVar1 + -0x40d0);\n    (**(code **)(pcVar28 + 0x29c24c))\n              (0x8000,pEVar15,*(int *)(pcVar28 + 0x29b950) + -0x3bf8,0x251,\n               *(int *)(pcVar28 + 0x29b950) + -0x62ac,iVar4);\n    if (piVar17 != (int *)0x0) {\n      *piVar17 = 0;\n      pLVar3 = GetLogInfo(pcVar16,pEVar15);\n      if (pLVar3 != (LogInfo *)0x0) {\n        iVar22 = *(int *)(pcVar28 + 0x29b938);\n        iVar1 = (**(code **)(pcVar28 + 0x29c460))(*(undefined4 *)(iVar22 + -0x5088));\n        puVar11 = (undefined4 *)(**(code **)(pcVar28 + 0x29c578))(iVar1 + 1,4);\n        if (puVar11 != (undefined4 *)0x0) {\n          iVar1 = *(int *)(pcVar28 + 0x29b938);\n          (**(code **)(pcVar28 + 0x29c754))(*(undefined4 *)(iVar1 + -0x5090));\n          (**(code **)(pcVar28 + 0x29c5a4))(*(undefined4 *)(iVar22 + -0x5088));\n          iVar6 = (**(code **)(pcVar28 + 0x29c37c))(*(undefined4 *)(iVar22 + -0x5088));\n          if (iVar6 == 0) {\n            iVar19 = 0;\n            puVar24 = puVar11;\n          }\n          else {\n            iVar19 = 0;\nLAB_0010d0bc:\n            do {\n              if (*(int *)(iVar6 + 0x2c) == 0) {\n                uVar26 = *(undefined4 *)(iVar6 + 0xc);\n                iVar6 = (**(code **)(pcVar28 + 0x29c6b4))(uVar26,iVar4,0);\n                if (iVar6 != 0) {\n                  iVar21 = iVar19 + 1;\n                  uVar26 = (**(code **)(pcVar28 + 0x29c120))(uVar26);\n                  uVar14 = *(undefined4 *)(iVar22 + -0x5088);\n                  puVar11[iVar19] = uVar26;\n                  iVar7 = iVar19 + 1;\n                  iVar6 = (**(code **)(pcVar28 + 0x29c37c))(uVar14);\n                  iVar19 = iVar21;\n                  puVar24 = puVar11 + iVar7;\n                  if (iVar6 == 0) break;\n                  goto LAB_0010d0bc;\n                }\n              }\n              iVar6 = (**(code **)(pcVar28 + 0x29c37c))(*(undefined4 *)(iVar22 + -0x5088));\n              puVar24 = puVar11 + iVar19;\n            } while (iVar6 != 0);\n          }\n          (**(code **)(pcVar28 + 0x29c3ec))(*(undefined4 *)(iVar1 + -0x5090));\n          (**(code **)(pcVar28 + 0x29c940))(puVar11,iVar19,4,*(int *)(pcVar28 + 0x29bb04) + -0x578c)\n          ;\n          *piVar17 = iVar19;\n          *puVar24 = 0;\n          return (MagickBooleanType)puVar11;\n        }\n      }\n      return MagickFalse;\n    }\n  }\n  pEVar15 = (ExceptionInfo *)(iVar1 + -0x40d0);\n  pcVar29 = *(code **)(pcVar28 + 0x29c674);\n  iVar1 = *(int *)(pcVar28 + 0x29b950) + -0x3e64;\n  (*pcVar29)(iVar1,pEVar15,0x252,*(int *)(pcVar28 + 0x29b950) + -0x3bec);\n  iVar22 = *(int *)(pcVar29 + 0x29b6b0);\n  iVar4 = *(int *)(pcVar29 + 0x29b6b0);\n  pcVar16 = (char *)(**(code **)(pcVar29 + 0x29bcd0))();\n  GetLogInfo(pcVar16,pEVar15);\n  (**(code **)(pcVar29 + 0x29bb34))(pcVar16);\n  MVar2 = (**(code **)(pcVar29 + 0x29c478))(0x2c,1,iVar1);\n  (**(code **)(pcVar29 + 0x29c4cc))(*(undefined4 *)(iVar22 + -0x5090));\n  pMVar12 = (MagickBooleanType *)\n            (**(code **)(pcVar29 + 0x29bc6c))(*(undefined4 *)(iVar4 + -0x5088),0);\n  if (MVar2 == ~MagickFalse) {\n    pcVar28 = *(code **)(pcVar29 + 0x29c210);\n    uVar26 = *(undefined4 *)(iVar4 + -0x5088);\n    *pMVar12 = MagickFalse;\n    iVar1 = (*pcVar28)(uVar26);\n  }\n  else {\n    pcVar28 = *(code **)(pcVar29 + 0x29c210);\n    uVar26 = *(undefined4 *)(iVar4 + -0x5088);\n    *pMVar12 = MVar2;\n    iVar1 = (*pcVar28)(uVar26);\n  }\n  if (iVar1 == 0) {\n    (**(code **)(pcVar29 + 0x29c31c))(*(undefined4 *)(iVar4 + -0x5088));\n    piVar8 = (int *)(**(code **)(pcVar29 + 0x29c0f4))(*(undefined4 *)(iVar4 + -0x5088));\n    if (piVar8 == (int *)0x0) {\n      *(undefined4 *)(*(int *)(pcVar29 + 0x29b6b0) + -0x508c) = 0;\n    }\n    else {\n      *(uint *)(*(int *)(pcVar29 + 0x29b6b0) + -0x508c) = (uint)(*piVar8 != 0);\n    }\n  }\n  else {\n    *(undefined4 *)(*(int *)(pcVar29 + 0x29b6b0) + -0x508c) = 0;\n  }\n  (**(code **)(pcVar29 + 0x29c164))(*(undefined4 *)(iVar22 + -0x5090));\n  return *pMVar12;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "MagickBooleanType MVar2;" type_identifier identifier ;) (declaration "LogInfo *pLVar3;" type_identifier (pointer_declarator "*pLVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int *piVar5;" primitive_type (pointer_declarator "*piVar5" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int *piVar8;" primitive_type (pointer_declarator "*piVar8" * identifier) ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "undefined4 *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "MagickBooleanType *pMVar12;" type_identifier (pointer_declarator "*pMVar12" * identifier) ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "undefined4 uVar14;" type_identifier identifier ;) (declaration "ExceptionInfo *pEVar15;" type_identifier (pointer_declarator "*pEVar15" * identifier) ;) (declaration "char *pcVar16;" primitive_type (pointer_declarator "*pcVar16" * identifier) ;) (declaration "int *piVar17;" primitive_type (pointer_declarator "*piVar17" * identifier) ;) (declaration "undefined *puVar18;" type_identifier (pointer_declarator "*puVar18" * identifier) ;) (declaration "int iVar19;" primitive_type identifier ;) (declaration "int *piVar20;" primitive_type (pointer_declarator "*piVar20" * identifier) ;) (declaration "int iVar21;" primitive_type identifier ;) (declaration "int iVar22;" primitive_type identifier ;) (declaration "int iVar23;" primitive_type identifier ;) (declaration "undefined4 *puVar24;" type_identifier (pointer_declarator "*puVar24" * identifier) ;) (declaration "int unaff_s6;" primitive_type identifier ;) (declaration "int iVar25;" primitive_type identifier ;) (declaration "int *unaff_s7;" primitive_type (pointer_declarator "*unaff_s7" * identifier) ;) (declaration "undefined4 uVar26;" type_identifier identifier ;) (declaration "undefined *puVar27;" type_identifier (pointer_declarator "*puVar27" * identifier) ;) (declaration "code *pcVar28;" type_identifier (pointer_declarator "*pcVar28" * identifier) ;) (declaration "code *pcVar29;" type_identifier (pointer_declarator "*pcVar29" * identifier) ;) (declaration "double dVar30;" primitive_type identifier ;) (declaration "double dVar31;" primitive_type identifier ;) (declaration "int iStack_d0;" primitive_type identifier ;) (declaration "int iStack_cc;" primitive_type identifier ;) (declaration "undefined *puStack_c8;" type_identifier (pointer_declarator "*puStack_c8" * identifier) ;) (declaration "char *pcStack_c4;" primitive_type (pointer_declarator "*pcStack_c4" * identifier) ;) (declaration "char *pcStack_c0;" primitive_type (pointer_declarator "*pcStack_c0" * identifier) ;) (declaration "char *pcStack_bc;" primitive_type (pointer_declarator "*pcStack_bc" * identifier) ;) (declaration "size_t sStack_b8;" primitive_type identifier ;) (declaration "char *pcStack_b4;" primitive_type (pointer_declarator "*pcStack_b4" * identifier) ;) (declaration "int iStack_b0;" primitive_type identifier ;) (declaration "int *piStack_ac;" primitive_type (pointer_declarator "*piStack_ac" * identifier) ;) (declaration "va_list operands;" type_identifier identifier ;) (expression_statement "puVar18 = PTR___stack_chk_guard_003a9230;" (assignment_expression "puVar18 = PTR___stack_chk_guard_003a9230" identifier = identifier) ;) (expression_statement "iVar1 = *(int *)PTR___stack_chk_guard_003a9230;" (assignment_expression "iVar1 = *(int *)PTR___stack_chk_guard_003a9230" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_003a9230" * (cast_expression "(int *)PTR___stack_chk_guard_003a9230" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "piVar8 = (int *)module;" (assignment_expression "piVar8 = (int *)module" identifier = (cast_expression "(int *)module" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pcVar16 = function;" (assignment_expression "pcVar16 = function" identifier = identifier) ;) (expression_statement "MVar2 = (*(code *)PTR_IsEventLogging_003a97a8)();" (assignment_expression "MVar2 = (*(code *)PTR_IsEventLogging_003a97a8)()" identifier = (call_expression "(*(code *)PTR_IsEventLogging_003a97a8)()" (parenthesized_expression "(*(code *)PTR_IsEventLogging_003a97a8)" ( (pointer_expression "*(code *)PTR_IsEventLogging_003a97a8" * (cast_expression "(code *)PTR_IsEventLogging_003a97a8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (if_statement "if (MVar2 != MagickFalse) {\n    piVar8 = (int *)module;\n    pcVar16 = function;\n    MVar2 = (*(code *)PTR_LogMagickEventList_003a9148)(type,module,function,line);\n  }" if (parenthesized_expression "(MVar2 != MagickFalse)" ( (binary_expression "MVar2 != MagickFalse" identifier != identifier) )) (compound_statement "{\n    piVar8 = (int *)module;\n    pcVar16 = function;\n    MVar2 = (*(code *)PTR_LogMagickEventList_003a9148)(type,module,function,line);\n  }" { (expression_statement "piVar8 = (int *)module;" (assignment_expression "piVar8 = (int *)module" identifier = (cast_expression "(int *)module" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pcVar16 = function;" (assignment_expression "pcVar16 = function" identifier = identifier) ;) (expression_statement "MVar2 = (*(code *)PTR_LogMagickEventList_003a9148)(type,module,function,line);" (assignment_expression "MVar2 = (*(code *)PTR_LogMagickEventList_003a9148)(type,module,function,line)" identifier = (call_expression "(*(code *)PTR_LogMagickEventList_003a9148)(type,module,function,line)" (parenthesized_expression "(*(code *)PTR_LogMagickEventList_003a9148)" ( (pointer_expression "*(code *)PTR_LogMagickEventList_003a9148" * (cast_expression "(code *)PTR_LogMagickEventList_003a9148" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(type,module,function,line)" ( identifier , identifier , identifier , identifier )))) ;) })) (if_statement "if (iVar1 == *(int *)puVar18) {\n    return MVar2;\n  }" if (parenthesized_expression "(iVar1 == *(int *)puVar18)" ( (binary_expression "iVar1 == *(int *)puVar18" identifier == (pointer_expression "*(int *)puVar18" * (cast_expression "(int *)puVar18" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return MVar2;\n  }" { (return_statement "return MVar2;" return identifier ;) })) (expression_statement "puVar27 = PTR___stack_chk_fail_003a9064;" (assignment_expression "puVar27 = PTR___stack_chk_fail_003a9064" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_003a9064)();" (call_expression "(*(code *)PTR___stack_chk_fail_003a9064)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_003a9064)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_003a9064" * (cast_expression "(code *)PTR___stack_chk_fail_003a9064" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (if_statement "if (iVar1 == 0) {\n    (**(code **)(puVar27 + 0x29ccac))\n              (*(int *)(puVar27 + 0x29bf84) + 0x45e0,*(int *)(puVar27 + 0x29bf88) + -0x40d0,499,\n               *(int *)(puVar27 + 0x29bf88) + -0x3bd0);\n  }\n  else {\n    puVar18 = *(undefined **)(puVar27 + 0x29bf88);\n    pEVar15 = (ExceptionInfo *)(puVar18 + -0x40d0);\n    (**(code **)(puVar27 + 0x29c884))(0x8000,pEVar15,*(int *)(puVar27 + 0x29bf88) + -0x3be0,500);\n    type = (LogEventType)pcVar16;\n    unaff_s6 = iVar1;\n    unaff_s7 = piVar8;\n    if (piVar8 != (int *)0x0) {\n      *piVar8 = 0;\n      pLVar3 = GetLogInfo(pcVar16,pEVar15);\n      if (pLVar3 != (LogInfo *)0x0) {\n        iVar22 = *(int *)(puVar27 + 0x29bf70);\n        iVar4 = (**(code **)(puVar27 + 0x29ca98))(*(undefined4 *)(iVar22 + -0x5088));\n        piVar5 = (int *)(**(code **)(puVar27 + 0x29cbb0))(iVar4 + 1,4);\n        if (piVar5 != (int *)0x0) {\n          iVar4 = *(int *)(puVar27 + 0x29bf70);\n          (**(code **)(puVar27 + 0x29cd8c))(*(undefined4 *)(iVar4 + -0x5090));\n          (**(code **)(puVar27 + 0x29cbdc))(*(undefined4 *)(iVar22 + -0x5088));\n          iVar6 = (**(code **)(puVar27 + 0x29c9b4))(*(undefined4 *)(iVar22 + -0x5088));\n          if (iVar6 == 0) {\n            iVar19 = 0;\n            piVar17 = piVar5;\n          }\n          else {\n            iVar19 = 0;\n            do {\n              piVar17 = piVar5 + iVar19;\n              if ((*(int *)(iVar6 + 0x2c) == 0) &&\n                 (iVar7 = (**(code **)(puVar27 + 0x29ccec))(*(undefined4 *)(iVar6 + 0xc),iVar1,0),\n                 iVar7 != 0)) {\n                *piVar17 = iVar6;\n                piVar17 = piVar5 + iVar19 + 1;\n                iVar19 = iVar19 + 1;\n              }\n              iVar6 = (**(code **)(puVar27 + 0x29c9b4))(*(undefined4 *)(iVar22 + -0x5088));\n            } while (iVar6 != 0);\n          }\n          (**(code **)(puVar27 + 0x29ca24))(*(undefined4 *)(iVar4 + -0x5090));\n          (**(code **)(puVar27 + 0x29cf78))(piVar5,iVar19,4,*(int *)(puVar27 + 0x29c13c) + -0x5800);\n          *piVar8 = iVar19;\n          *piVar17 = 0;\n          return (MagickBooleanType)piVar5;\n        }\n      }\n      return MagickFalse;\n    }\n  }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n    (**(code **)(puVar27 + 0x29ccac))\n              (*(int *)(puVar27 + 0x29bf84) + 0x45e0,*(int *)(puVar27 + 0x29bf88) + -0x40d0,499,\n               *(int *)(puVar27 + 0x29bf88) + -0x3bd0);\n  }" { (expression_statement "(**(code **)(puVar27 + 0x29ccac))\n              (*(int *)(puVar27 + 0x29bf84) + 0x45e0,*(int *)(puVar27 + 0x29bf88) + -0x40d0,499,\n               *(int *)(puVar27 + 0x29bf88) + -0x3bd0);" (call_expression "(**(code **)(puVar27 + 0x29ccac))\n              (*(int *)(puVar27 + 0x29bf84) + 0x45e0,*(int *)(puVar27 + 0x29bf88) + -0x40d0,499,\n               *(int *)(puVar27 + 0x29bf88) + -0x3bd0)" (parenthesized_expression "(**(code **)(puVar27 + 0x29ccac))" ( (pointer_expression "**(code **)(puVar27 + 0x29ccac)" * (pointer_expression "*(code **)(puVar27 + 0x29ccac)" * (cast_expression "(code **)(puVar27 + 0x29ccac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + 0x29ccac)" ( (binary_expression "puVar27 + 0x29ccac" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar27 + 0x29bf84) + 0x45e0,*(int *)(puVar27 + 0x29bf88) + -0x40d0,499,\n               *(int *)(puVar27 + 0x29bf88) + -0x3bd0)" ( (binary_expression "*(int *)(puVar27 + 0x29bf84) + 0x45e0" (pointer_expression "*(int *)(puVar27 + 0x29bf84)" * (cast_expression "(int *)(puVar27 + 0x29bf84)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + 0x29bf84)" ( (binary_expression "puVar27 + 0x29bf84" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar27 + 0x29bf88) + -0x40d0" (pointer_expression "*(int *)(puVar27 + 0x29bf88)" * (cast_expression "(int *)(puVar27 + 0x29bf88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + 0x29bf88)" ( (binary_expression "puVar27 + 0x29bf88" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar27 + 0x29bf88) + -0x3bd0" (pointer_expression "*(int *)(puVar27 + 0x29bf88)" * (cast_expression "(int *)(puVar27 + 0x29bf88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + 0x29bf88)" ( (binary_expression "puVar27 + 0x29bf88" identifier + number_literal) )))) + number_literal) ))) ;) }) (else_clause "else {\n    puVar18 = *(undefined **)(puVar27 + 0x29bf88);\n    pEVar15 = (ExceptionInfo *)(puVar18 + -0x40d0);\n    (**(code **)(puVar27 + 0x29c884))(0x8000,pEVar15,*(int *)(puVar27 + 0x29bf88) + -0x3be0,500);\n    type = (LogEventType)pcVar16;\n    unaff_s6 = iVar1;\n    unaff_s7 = piVar8;\n    if (piVar8 != (int *)0x0) {\n      *piVar8 = 0;\n      pLVar3 = GetLogInfo(pcVar16,pEVar15);\n      if (pLVar3 != (LogInfo *)0x0) {\n        iVar22 = *(int *)(puVar27 + 0x29bf70);\n        iVar4 = (**(code **)(puVar27 + 0x29ca98))(*(undefined4 *)(iVar22 + -0x5088));\n        piVar5 = (int *)(**(code **)(puVar27 + 0x29cbb0))(iVar4 + 1,4);\n        if (piVar5 != (int *)0x0) {\n          iVar4 = *(int *)(puVar27 + 0x29bf70);\n          (**(code **)(puVar27 + 0x29cd8c))(*(undefined4 *)(iVar4 + -0x5090));\n          (**(code **)(puVar27 + 0x29cbdc))(*(undefined4 *)(iVar22 + -0x5088));\n          iVar6 = (**(code **)(puVar27 + 0x29c9b4))(*(undefined4 *)(iVar22 + -0x5088));\n          if (iVar6 == 0) {\n            iVar19 = 0;\n            piVar17 = piVar5;\n          }\n          else {\n            iVar19 = 0;\n            do {\n              piVar17 = piVar5 + iVar19;\n              if ((*(int *)(iVar6 + 0x2c) == 0) &&\n                 (iVar7 = (**(code **)(puVar27 + 0x29ccec))(*(undefined4 *)(iVar6 + 0xc),iVar1,0),\n                 iVar7 != 0)) {\n                *piVar17 = iVar6;\n                piVar17 = piVar5 + iVar19 + 1;\n                iVar19 = iVar19 + 1;\n              }\n              iVar6 = (**(code **)(puVar27 + 0x29c9b4))(*(undefined4 *)(iVar22 + -0x5088));\n            } while (iVar6 != 0);\n          }\n          (**(code **)(puVar27 + 0x29ca24))(*(undefined4 *)(iVar4 + -0x5090));\n          (**(code **)(puVar27 + 0x29cf78))(piVar5,iVar19,4,*(int *)(puVar27 + 0x29c13c) + -0x5800);\n          *piVar8 = iVar19;\n          *piVar17 = 0;\n          return (MagickBooleanType)piVar5;\n        }\n      }\n      return MagickFalse;\n    }\n  }" else (compound_statement "{\n    puVar18 = *(undefined **)(puVar27 + 0x29bf88);\n    pEVar15 = (ExceptionInfo *)(puVar18 + -0x40d0);\n    (**(code **)(puVar27 + 0x29c884))(0x8000,pEVar15,*(int *)(puVar27 + 0x29bf88) + -0x3be0,500);\n    type = (LogEventType)pcVar16;\n    unaff_s6 = iVar1;\n    unaff_s7 = piVar8;\n    if (piVar8 != (int *)0x0) {\n      *piVar8 = 0;\n      pLVar3 = GetLogInfo(pcVar16,pEVar15);\n      if (pLVar3 != (LogInfo *)0x0) {\n        iVar22 = *(int *)(puVar27 + 0x29bf70);\n        iVar4 = (**(code **)(puVar27 + 0x29ca98))(*(undefined4 *)(iVar22 + -0x5088));\n        piVar5 = (int *)(**(code **)(puVar27 + 0x29cbb0))(iVar4 + 1,4);\n        if (piVar5 != (int *)0x0) {\n          iVar4 = *(int *)(puVar27 + 0x29bf70);\n          (**(code **)(puVar27 + 0x29cd8c))(*(undefined4 *)(iVar4 + -0x5090));\n          (**(code **)(puVar27 + 0x29cbdc))(*(undefined4 *)(iVar22 + -0x5088));\n          iVar6 = (**(code **)(puVar27 + 0x29c9b4))(*(undefined4 *)(iVar22 + -0x5088));\n          if (iVar6 == 0) {\n            iVar19 = 0;\n            piVar17 = piVar5;\n          }\n          else {\n            iVar19 = 0;\n            do {\n              piVar17 = piVar5 + iVar19;\n              if ((*(int *)(iVar6 + 0x2c) == 0) &&\n                 (iVar7 = (**(code **)(puVar27 + 0x29ccec))(*(undefined4 *)(iVar6 + 0xc),iVar1,0),\n                 iVar7 != 0)) {\n                *piVar17 = iVar6;\n                piVar17 = piVar5 + iVar19 + 1;\n                iVar19 = iVar19 + 1;\n              }\n              iVar6 = (**(code **)(puVar27 + 0x29c9b4))(*(undefined4 *)(iVar22 + -0x5088));\n            } while (iVar6 != 0);\n          }\n          (**(code **)(puVar27 + 0x29ca24))(*(undefined4 *)(iVar4 + -0x5090));\n          (**(code **)(puVar27 + 0x29cf78))(piVar5,iVar19,4,*(int *)(puVar27 + 0x29c13c) + -0x5800);\n          *piVar8 = iVar19;\n          *piVar17 = 0;\n          return (MagickBooleanType)piVar5;\n        }\n      }\n      return MagickFalse;\n    }\n  }" { (expression_statement "puVar18 = *(undefined **)(puVar27 + 0x29bf88);" (assignment_expression "puVar18 = *(undefined **)(puVar27 + 0x29bf88)" identifier = (pointer_expression "*(undefined **)(puVar27 + 0x29bf88)" * (cast_expression "(undefined **)(puVar27 + 0x29bf88)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + 0x29bf88)" ( (binary_expression "puVar27 + 0x29bf88" identifier + number_literal) ))))) ;) (expression_statement "pEVar15 = (ExceptionInfo *)(puVar18 + -0x40d0);" (assignment_expression "pEVar15 = (ExceptionInfo *)(puVar18 + -0x40d0)" identifier = (cast_expression "(ExceptionInfo *)(puVar18 + -0x40d0)" ( (type_descriptor "ExceptionInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x40d0)" ( (binary_expression "puVar18 + -0x40d0" identifier + number_literal) )))) ;) (expression_statement "(**(code **)(puVar27 + 0x29c884))(0x8000,pEVar15,*(int *)(puVar27 + 0x29bf88) + -0x3be0,500);" (call_expression "(**(code **)(puVar27 + 0x29c884))(0x8000,pEVar15,*(int *)(puVar27 + 0x29bf88) + -0x3be0,500)" (parenthesized_expression "(**(code **)(puVar27 + 0x29c884))" ( (pointer_expression "**(code **)(puVar27 + 0x29c884)" * (pointer_expression "*(code **)(puVar27 + 0x29c884)" * (cast_expression "(code **)(puVar27 + 0x29c884)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + 0x29c884)" ( (binary_expression "puVar27 + 0x29c884" identifier + number_literal) ))))) )) (argument_list "(0x8000,pEVar15,*(int *)(puVar27 + 0x29bf88) + -0x3be0,500)" ( number_literal , identifier , (binary_expression "*(int *)(puVar27 + 0x29bf88) + -0x3be0" (pointer_expression "*(int *)(puVar27 + 0x29bf88)" * (cast_expression "(int *)(puVar27 + 0x29bf88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + 0x29bf88)" ( (binary_expression "puVar27 + 0x29bf88" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) (expression_statement "type = (LogEventType)pcVar16;" (assignment_expression "type = (LogEventType)pcVar16" identifier = (cast_expression "(LogEventType)pcVar16" ( (type_descriptor "LogEventType" type_identifier) ) identifier)) ;) (expression_statement "unaff_s6 = iVar1;" (assignment_expression "unaff_s6 = iVar1" identifier = identifier) ;) (expression_statement "unaff_s7 = piVar8;" (assignment_expression "unaff_s7 = piVar8" identifier = identifier) ;) (if_statement "if (piVar8 != (int *)0x0) {\n      *piVar8 = 0;\n      pLVar3 = GetLogInfo(pcVar16,pEVar15);\n      if (pLVar3 != (LogInfo *)0x0) {\n        iVar22 = *(int *)(puVar27 + 0x29bf70);\n        iVar4 = (**(code **)(puVar27 + 0x29ca98))(*(undefined4 *)(iVar22 + -0x5088));\n        piVar5 = (int *)(**(code **)(puVar27 + 0x29cbb0))(iVar4 + 1,4);\n        if (piVar5 != (int *)0x0) {\n          iVar4 = *(int *)(puVar27 + 0x29bf70);\n          (**(code **)(puVar27 + 0x29cd8c))(*(undefined4 *)(iVar4 + -0x5090));\n          (**(code **)(puVar27 + 0x29cbdc))(*(undefined4 *)(iVar22 + -0x5088));\n          iVar6 = (**(code **)(puVar27 + 0x29c9b4))(*(undefined4 *)(iVar22 + -0x5088));\n          if (iVar6 == 0) {\n            iVar19 = 0;\n            piVar17 = piVar5;\n          }\n          else {\n            iVar19 = 0;\n            do {\n              piVar17 = piVar5 + iVar19;\n              if ((*(int *)(iVar6 + 0x2c) == 0) &&\n                 (iVar7 = (**(code **)(puVar27 + 0x29ccec))(*(undefined4 *)(iVar6 + 0xc),iVar1,0),\n                 iVar7 != 0)) {\n                *piVar17 = iVar6;\n                piVar17 = piVar5 + iVar19 + 1;\n                iVar19 = iVar19 + 1;\n              }\n              iVar6 = (**(code **)(puVar27 + 0x29c9b4))(*(undefined4 *)(iVar22 + -0x5088));\n            } while (iVar6 != 0);\n          }\n          (**(code **)(puVar27 + 0x29ca24))(*(undefined4 *)(iVar4 + -0x5090));\n          (**(code **)(puVar27 + 0x29cf78))(piVar5,iVar19,4,*(int *)(puVar27 + 0x29c13c) + -0x5800);\n          *piVar8 = iVar19;\n          *piVar17 = 0;\n          return (MagickBooleanType)piVar5;\n        }\n      }\n      return MagickFalse;\n    }" if (parenthesized_expression "(piVar8 != (int *)0x0)" ( (binary_expression "piVar8 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      *piVar8 = 0;\n      pLVar3 = GetLogInfo(pcVar16,pEVar15);\n      if (pLVar3 != (LogInfo *)0x0) {\n        iVar22 = *(int *)(puVar27 + 0x29bf70);\n        iVar4 = (**(code **)(puVar27 + 0x29ca98))(*(undefined4 *)(iVar22 + -0x5088));\n        piVar5 = (int *)(**(code **)(puVar27 + 0x29cbb0))(iVar4 + 1,4);\n        if (piVar5 != (int *)0x0) {\n          iVar4 = *(int *)(puVar27 + 0x29bf70);\n          (**(code **)(puVar27 + 0x29cd8c))(*(undefined4 *)(iVar4 + -0x5090));\n          (**(code **)(puVar27 + 0x29cbdc))(*(undefined4 *)(iVar22 + -0x5088));\n          iVar6 = (**(code **)(puVar27 + 0x29c9b4))(*(undefined4 *)(iVar22 + -0x5088));\n          if (iVar6 == 0) {\n            iVar19 = 0;\n            piVar17 = piVar5;\n          }\n          else {\n            iVar19 = 0;\n            do {\n              piVar17 = piVar5 + iVar19;\n              if ((*(int *)(iVar6 + 0x2c) == 0) &&\n                 (iVar7 = (**(code **)(puVar27 + 0x29ccec))(*(undefined4 *)(iVar6 + 0xc),iVar1,0),\n                 iVar7 != 0)) {\n                *piVar17 = iVar6;\n                piVar17 = piVar5 + iVar19 + 1;\n                iVar19 = iVar19 + 1;\n              }\n              iVar6 = (**(code **)(puVar27 + 0x29c9b4))(*(undefined4 *)(iVar22 + -0x5088));\n            } while (iVar6 != 0);\n          }\n          (**(code **)(puVar27 + 0x29ca24))(*(undefined4 *)(iVar4 + -0x5090));\n          (**(code **)(puVar27 + 0x29cf78))(piVar5,iVar19,4,*(int *)(puVar27 + 0x29c13c) + -0x5800);\n          *piVar8 = iVar19;\n          *piVar17 = 0;\n          return (MagickBooleanType)piVar5;\n        }\n      }\n      return MagickFalse;\n    }" { (expression_statement "*piVar8 = 0;" (assignment_expression "*piVar8 = 0" (pointer_expression "*piVar8" * identifier) = number_literal) ;) (expression_statement "pLVar3 = GetLogInfo(pcVar16,pEVar15);" (assignment_expression "pLVar3 = GetLogInfo(pcVar16,pEVar15)" identifier = (call_expression "GetLogInfo(pcVar16,pEVar15)" identifier (argument_list "(pcVar16,pEVar15)" ( identifier , identifier )))) ;) (if_statement "if (pLVar3 != (LogInfo *)0x0) {\n        iVar22 = *(int *)(puVar27 + 0x29bf70);\n        iVar4 = (**(code **)(puVar27 + 0x29ca98))(*(undefined4 *)(iVar22 + -0x5088));\n        piVar5 = (int *)(**(code **)(puVar27 + 0x29cbb0))(iVar4 + 1,4);\n        if (piVar5 != (int *)0x0) {\n          iVar4 = *(int *)(puVar27 + 0x29bf70);\n          (**(code **)(puVar27 + 0x29cd8c))(*(undefined4 *)(iVar4 + -0x5090));\n          (**(code **)(puVar27 + 0x29cbdc))(*(undefined4 *)(iVar22 + -0x5088));\n          iVar6 = (**(code **)(puVar27 + 0x29c9b4))(*(undefined4 *)(iVar22 + -0x5088));\n          if (iVar6 == 0) {\n            iVar19 = 0;\n            piVar17 = piVar5;\n          }\n          else {\n            iVar19 = 0;\n            do {\n              piVar17 = piVar5 + iVar19;\n              if ((*(int *)(iVar6 + 0x2c) == 0) &&\n                 (iVar7 = (**(code **)(puVar27 + 0x29ccec))(*(undefined4 *)(iVar6 + 0xc),iVar1,0),\n                 iVar7 != 0)) {\n                *piVar17 = iVar6;\n                piVar17 = piVar5 + iVar19 + 1;\n                iVar19 = iVar19 + 1;\n              }\n              iVar6 = (**(code **)(puVar27 + 0x29c9b4))(*(undefined4 *)(iVar22 + -0x5088));\n            } while (iVar6 != 0);\n          }\n          (**(code **)(puVar27 + 0x29ca24))(*(undefined4 *)(iVar4 + -0x5090));\n          (**(code **)(puVar27 + 0x29cf78))(piVar5,iVar19,4,*(int *)(puVar27 + 0x29c13c) + -0x5800);\n          *piVar8 = iVar19;\n          *piVar17 = 0;\n          return (MagickBooleanType)piVar5;\n        }\n      }" if (parenthesized_expression "(pLVar3 != (LogInfo *)0x0)" ( (binary_expression "pLVar3 != (LogInfo *)0x0" identifier != (cast_expression "(LogInfo *)0x0" ( (type_descriptor "LogInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        iVar22 = *(int *)(puVar27 + 0x29bf70);\n        iVar4 = (**(code **)(puVar27 + 0x29ca98))(*(undefined4 *)(iVar22 + -0x5088));\n        piVar5 = (int *)(**(code **)(puVar27 + 0x29cbb0))(iVar4 + 1,4);\n        if (piVar5 != (int *)0x0) {\n          iVar4 = *(int *)(puVar27 + 0x29bf70);\n          (**(code **)(puVar27 + 0x29cd8c))(*(undefined4 *)(iVar4 + -0x5090));\n          (**(code **)(puVar27 + 0x29cbdc))(*(undefined4 *)(iVar22 + -0x5088));\n          iVar6 = (**(code **)(puVar27 + 0x29c9b4))(*(undefined4 *)(iVar22 + -0x5088));\n          if (iVar6 == 0) {\n            iVar19 = 0;\n            piVar17 = piVar5;\n          }\n          else {\n            iVar19 = 0;\n            do {\n              piVar17 = piVar5 + iVar19;\n              if ((*(int *)(iVar6 + 0x2c) == 0) &&\n                 (iVar7 = (**(code **)(puVar27 + 0x29ccec))(*(undefined4 *)(iVar6 + 0xc),iVar1,0),\n                 iVar7 != 0)) {\n                *piVar17 = iVar6;\n                piVar17 = piVar5 + iVar19 + 1;\n                iVar19 = iVar19 + 1;\n              }\n              iVar6 = (**(code **)(puVar27 + 0x29c9b4))(*(undefined4 *)(iVar22 + -0x5088));\n            } while (iVar6 != 0);\n          }\n          (**(code **)(puVar27 + 0x29ca24))(*(undefined4 *)(iVar4 + -0x5090));\n          (**(code **)(puVar27 + 0x29cf78))(piVar5,iVar19,4,*(int *)(puVar27 + 0x29c13c) + -0x5800);\n          *piVar8 = iVar19;\n          *piVar17 = 0;\n          return (MagickBooleanType)piVar5;\n        }\n      }" { (expression_statement "iVar22 = *(int *)(puVar27 + 0x29bf70);" (assignment_expression "iVar22 = *(int *)(puVar27 + 0x29bf70)" identifier = (pointer_expression "*(int *)(puVar27 + 0x29bf70)" * (cast_expression "(int *)(puVar27 + 0x29bf70)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + 0x29bf70)" ( (binary_expression "puVar27 + 0x29bf70" identifier + number_literal) ))))) ;) (expression_statement "iVar4 = (**(code **)(puVar27 + 0x29ca98))(*(undefined4 *)(iVar22 + -0x5088));" (assignment_expression "iVar4 = (**(code **)(puVar27 + 0x29ca98))(*(undefined4 *)(iVar22 + -0x5088))" identifier = (call_expression "(**(code **)(puVar27 + 0x29ca98))(*(undefined4 *)(iVar22 + -0x5088))" (parenthesized_expression "(**(code **)(puVar27 + 0x29ca98))" ( (pointer_expression "**(code **)(puVar27 + 0x29ca98)" * (pointer_expression "*(code **)(puVar27 + 0x29ca98)" * (cast_expression "(code **)(puVar27 + 0x29ca98)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + 0x29ca98)" ( (binary_expression "puVar27 + 0x29ca98" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar22 + -0x5088))" ( (pointer_expression "*(undefined4 *)(iVar22 + -0x5088)" * (cast_expression "(undefined4 *)(iVar22 + -0x5088)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar22 + -0x5088)" ( (binary_expression "iVar22 + -0x5088" identifier + number_literal) )))) )))) ;) (expression_statement "piVar5 = (int *)(**(code **)(puVar27 + 0x29cbb0))(iVar4 + 1,4);" (assignment_expression "piVar5 = (int *)(**(code **)(puVar27 + 0x29cbb0))(iVar4 + 1,4)" identifier = (cast_expression "(int *)(**(code **)(puVar27 + 0x29cbb0))(iVar4 + 1,4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar27 + 0x29cbb0))(iVar4 + 1,4)" (parenthesized_expression "(**(code **)(puVar27 + 0x29cbb0))" ( (pointer_expression "**(code **)(puVar27 + 0x29cbb0)" * (pointer_expression "*(code **)(puVar27 + 0x29cbb0)" * (cast_expression "(code **)(puVar27 + 0x29cbb0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + 0x29cbb0)" ( (binary_expression "puVar27 + 0x29cbb0" identifier + number_literal) ))))) )) (argument_list "(iVar4 + 1,4)" ( (binary_expression "iVar4 + 1" identifier + number_literal) , number_literal ))))) ;) (if_statement "if (piVar5 != (int *)0x0) {\n          iVar4 = *(int *)(puVar27 + 0x29bf70);\n          (**(code **)(puVar27 + 0x29cd8c))(*(undefined4 *)(iVar4 + -0x5090));\n          (**(code **)(puVar27 + 0x29cbdc))(*(undefined4 *)(iVar22 + -0x5088));\n          iVar6 = (**(code **)(puVar27 + 0x29c9b4))(*(undefined4 *)(iVar22 + -0x5088));\n          if (iVar6 == 0) {\n            iVar19 = 0;\n            piVar17 = piVar5;\n          }\n          else {\n            iVar19 = 0;\n            do {\n              piVar17 = piVar5 + iVar19;\n              if ((*(int *)(iVar6 + 0x2c) == 0) &&\n                 (iVar7 = (**(code **)(puVar27 + 0x29ccec))(*(undefined4 *)(iVar6 + 0xc),iVar1,0),\n                 iVar7 != 0)) {\n                *piVar17 = iVar6;\n                piVar17 = piVar5 + iVar19 + 1;\n                iVar19 = iVar19 + 1;\n              }\n              iVar6 = (**(code **)(puVar27 + 0x29c9b4))(*(undefined4 *)(iVar22 + -0x5088));\n            } while (iVar6 != 0);\n          }\n          (**(code **)(puVar27 + 0x29ca24))(*(undefined4 *)(iVar4 + -0x5090));\n          (**(code **)(puVar27 + 0x29cf78))(piVar5,iVar19,4,*(int *)(puVar27 + 0x29c13c) + -0x5800);\n          *piVar8 = iVar19;\n          *piVar17 = 0;\n          return (MagickBooleanType)piVar5;\n        }" if (parenthesized_expression "(piVar5 != (int *)0x0)" ( (binary_expression "piVar5 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          iVar4 = *(int *)(puVar27 + 0x29bf70);\n          (**(code **)(puVar27 + 0x29cd8c))(*(undefined4 *)(iVar4 + -0x5090));\n          (**(code **)(puVar27 + 0x29cbdc))(*(undefined4 *)(iVar22 + -0x5088));\n          iVar6 = (**(code **)(puVar27 + 0x29c9b4))(*(undefined4 *)(iVar22 + -0x5088));\n          if (iVar6 == 0) {\n            iVar19 = 0;\n            piVar17 = piVar5;\n          }\n          else {\n            iVar19 = 0;\n            do {\n              piVar17 = piVar5 + iVar19;\n              if ((*(int *)(iVar6 + 0x2c) == 0) &&\n                 (iVar7 = (**(code **)(puVar27 + 0x29ccec))(*(undefined4 *)(iVar6 + 0xc),iVar1,0),\n                 iVar7 != 0)) {\n                *piVar17 = iVar6;\n                piVar17 = piVar5 + iVar19 + 1;\n                iVar19 = iVar19 + 1;\n              }\n              iVar6 = (**(code **)(puVar27 + 0x29c9b4))(*(undefined4 *)(iVar22 + -0x5088));\n            } while (iVar6 != 0);\n          }\n          (**(code **)(puVar27 + 0x29ca24))(*(undefined4 *)(iVar4 + -0x5090));\n          (**(code **)(puVar27 + 0x29cf78))(piVar5,iVar19,4,*(int *)(puVar27 + 0x29c13c) + -0x5800);\n          *piVar8 = iVar19;\n          *piVar17 = 0;\n          return (MagickBooleanType)piVar5;\n        }" { (expression_statement "iVar4 = *(int *)(puVar27 + 0x29bf70);" (assignment_expression "iVar4 = *(int *)(puVar27 + 0x29bf70)" identifier = (pointer_expression "*(int *)(puVar27 + 0x29bf70)" * (cast_expression "(int *)(puVar27 + 0x29bf70)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + 0x29bf70)" ( (binary_expression "puVar27 + 0x29bf70" identifier + number_literal) ))))) ;) (expression_statement "(**(code **)(puVar27 + 0x29cd8c))(*(undefined4 *)(iVar4 + -0x5090));" (call_expression "(**(code **)(puVar27 + 0x29cd8c))(*(undefined4 *)(iVar4 + -0x5090))" (parenthesized_expression "(**(code **)(puVar27 + 0x29cd8c))" ( (pointer_expression "**(code **)(puVar27 + 0x29cd8c)" * (pointer_expression "*(code **)(puVar27 + 0x29cd8c)" * (cast_expression "(code **)(puVar27 + 0x29cd8c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + 0x29cd8c)" ( (binary_expression "puVar27 + 0x29cd8c" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar4 + -0x5090))" ( (pointer_expression "*(undefined4 *)(iVar4 + -0x5090)" * (cast_expression "(undefined4 *)(iVar4 + -0x5090)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + -0x5090)" ( (binary_expression "iVar4 + -0x5090" identifier + number_literal) )))) ))) ;) (expression_statement "(**(code **)(puVar27 + 0x29cbdc))(*(undefined4 *)(iVar22 + -0x5088));" (call_expression "(**(code **)(puVar27 + 0x29cbdc))(*(undefined4 *)(iVar22 + -0x5088))" (parenthesized_expression "(**(code **)(puVar27 + 0x29cbdc))" ( (pointer_expression "**(code **)(puVar27 + 0x29cbdc)" * (pointer_expression "*(code **)(puVar27 + 0x29cbdc)" * (cast_expression "(code **)(puVar27 + 0x29cbdc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + 0x29cbdc)" ( (binary_expression "puVar27 + 0x29cbdc" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar22 + -0x5088))" ( (pointer_expression "*(undefined4 *)(iVar22 + -0x5088)" * (cast_expression "(undefined4 *)(iVar22 + -0x5088)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar22 + -0x5088)" ( (binary_expression "iVar22 + -0x5088" identifier + number_literal) )))) ))) ;) (expression_statement "iVar6 = (**(code **)(puVar27 + 0x29c9b4))(*(undefined4 *)(iVar22 + -0x5088));" (assignment_expression "iVar6 = (**(code **)(puVar27 + 0x29c9b4))(*(undefined4 *)(iVar22 + -0x5088))" identifier = (call_expression "(**(code **)(puVar27 + 0x29c9b4))(*(undefined4 *)(iVar22 + -0x5088))" (parenthesized_expression "(**(code **)(puVar27 + 0x29c9b4))" ( (pointer_expression "**(code **)(puVar27 + 0x29c9b4)" * (pointer_expression "*(code **)(puVar27 + 0x29c9b4)" * (cast_expression "(code **)(puVar27 + 0x29c9b4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + 0x29c9b4)" ( (binary_expression "puVar27 + 0x29c9b4" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar22 + -0x5088))" ( (pointer_expression "*(undefined4 *)(iVar22 + -0x5088)" * (cast_expression "(undefined4 *)(iVar22 + -0x5088)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar22 + -0x5088)" ( (binary_expression "iVar22 + -0x5088" identifier + number_literal) )))) )))) ;) (if_statement "if (iVar6 == 0) {\n            iVar19 = 0;\n            piVar17 = piVar5;\n          }\n          else {\n            iVar19 = 0;\n            do {\n              piVar17 = piVar5 + iVar19;\n              if ((*(int *)(iVar6 + 0x2c) == 0) &&\n                 (iVar7 = (**(code **)(puVar27 + 0x29ccec))(*(undefined4 *)(iVar6 + 0xc),iVar1,0),\n                 iVar7 != 0)) {\n                *piVar17 = iVar6;\n                piVar17 = piVar5 + iVar19 + 1;\n                iVar19 = iVar19 + 1;\n              }\n              iVar6 = (**(code **)(puVar27 + 0x29c9b4))(*(undefined4 *)(iVar22 + -0x5088));\n            } while (iVar6 != 0);\n          }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n            iVar19 = 0;\n            piVar17 = piVar5;\n          }" { (expression_statement "iVar19 = 0;" (assignment_expression "iVar19 = 0" identifier = number_literal) ;) (expression_statement "piVar17 = piVar5;" (assignment_expression "piVar17 = piVar5" identifier = identifier) ;) }) (else_clause "else {\n            iVar19 = 0;\n            do {\n              piVar17 = piVar5 + iVar19;\n              if ((*(int *)(iVar6 + 0x2c) == 0) &&\n                 (iVar7 = (**(code **)(puVar27 + 0x29ccec))(*(undefined4 *)(iVar6 + 0xc),iVar1,0),\n                 iVar7 != 0)) {\n                *piVar17 = iVar6;\n                piVar17 = piVar5 + iVar19 + 1;\n                iVar19 = iVar19 + 1;\n              }\n              iVar6 = (**(code **)(puVar27 + 0x29c9b4))(*(undefined4 *)(iVar22 + -0x5088));\n            } while (iVar6 != 0);\n          }" else (compound_statement "{\n            iVar19 = 0;\n            do {\n              piVar17 = piVar5 + iVar19;\n              if ((*(int *)(iVar6 + 0x2c) == 0) &&\n                 (iVar7 = (**(code **)(puVar27 + 0x29ccec))(*(undefined4 *)(iVar6 + 0xc),iVar1,0),\n                 iVar7 != 0)) {\n                *piVar17 = iVar6;\n                piVar17 = piVar5 + iVar19 + 1;\n                iVar19 = iVar19 + 1;\n              }\n              iVar6 = (**(code **)(puVar27 + 0x29c9b4))(*(undefined4 *)(iVar22 + -0x5088));\n            } while (iVar6 != 0);\n          }" { (expression_statement "iVar19 = 0;" (assignment_expression "iVar19 = 0" identifier = number_literal) ;) (do_statement "do {\n              piVar17 = piVar5 + iVar19;\n              if ((*(int *)(iVar6 + 0x2c) == 0) &&\n                 (iVar7 = (**(code **)(puVar27 + 0x29ccec))(*(undefined4 *)(iVar6 + 0xc),iVar1,0),\n                 iVar7 != 0)) {\n                *piVar17 = iVar6;\n                piVar17 = piVar5 + iVar19 + 1;\n                iVar19 = iVar19 + 1;\n              }\n              iVar6 = (**(code **)(puVar27 + 0x29c9b4))(*(undefined4 *)(iVar22 + -0x5088));\n            } while (iVar6 != 0);" do (compound_statement "{\n              piVar17 = piVar5 + iVar19;\n              if ((*(int *)(iVar6 + 0x2c) == 0) &&\n                 (iVar7 = (**(code **)(puVar27 + 0x29ccec))(*(undefined4 *)(iVar6 + 0xc),iVar1,0),\n                 iVar7 != 0)) {\n                *piVar17 = iVar6;\n                piVar17 = piVar5 + iVar19 + 1;\n                iVar19 = iVar19 + 1;\n              }\n              iVar6 = (**(code **)(puVar27 + 0x29c9b4))(*(undefined4 *)(iVar22 + -0x5088));\n            }" { (expression_statement "piVar17 = piVar5 + iVar19;" (assignment_expression "piVar17 = piVar5 + iVar19" identifier = (binary_expression "piVar5 + iVar19" identifier + identifier)) ;) (if_statement "if ((*(int *)(iVar6 + 0x2c) == 0) &&\n                 (iVar7 = (**(code **)(puVar27 + 0x29ccec))(*(undefined4 *)(iVar6 + 0xc),iVar1,0),\n                 iVar7 != 0)) {\n                *piVar17 = iVar6;\n                piVar17 = piVar5 + iVar19 + 1;\n                iVar19 = iVar19 + 1;\n              }" if (parenthesized_expression "((*(int *)(iVar6 + 0x2c) == 0) &&\n                 (iVar7 = (**(code **)(puVar27 + 0x29ccec))(*(undefined4 *)(iVar6 + 0xc),iVar1,0),\n                 iVar7 != 0))" ( (binary_expression "(*(int *)(iVar6 + 0x2c) == 0) &&\n                 (iVar7 = (**(code **)(puVar27 + 0x29ccec))(*(undefined4 *)(iVar6 + 0xc),iVar1,0),\n                 iVar7 != 0)" (parenthesized_expression "(*(int *)(iVar6 + 0x2c) == 0)" ( (binary_expression "*(int *)(iVar6 + 0x2c) == 0" (pointer_expression "*(int *)(iVar6 + 0x2c)" * (cast_expression "(int *)(iVar6 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x2c)" ( (binary_expression "iVar6 + 0x2c" identifier + number_literal) )))) == number_literal) )) && (parenthesized_expression "(iVar7 = (**(code **)(puVar27 + 0x29ccec))(*(undefined4 *)(iVar6 + 0xc),iVar1,0),\n                 iVar7 != 0)" ( (comma_expression "iVar7 = (**(code **)(puVar27 + 0x29ccec))(*(undefined4 *)(iVar6 + 0xc),iVar1,0),\n                 iVar7 != 0" (assignment_expression "iVar7 = (**(code **)(puVar27 + 0x29ccec))(*(undefined4 *)(iVar6 + 0xc),iVar1,0)" identifier = (call_expression "(**(code **)(puVar27 + 0x29ccec))(*(undefined4 *)(iVar6 + 0xc),iVar1,0)" (parenthesized_expression "(**(code **)(puVar27 + 0x29ccec))" ( (pointer_expression "**(code **)(puVar27 + 0x29ccec)" * (pointer_expression "*(code **)(puVar27 + 0x29ccec)" * (cast_expression "(code **)(puVar27 + 0x29ccec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + 0x29ccec)" ( (binary_expression "puVar27 + 0x29ccec" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar6 + 0xc),iVar1,0)" ( (pointer_expression "*(undefined4 *)(iVar6 + 0xc)" * (cast_expression "(undefined4 *)(iVar6 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0xc)" ( (binary_expression "iVar6 + 0xc" identifier + number_literal) )))) , identifier , number_literal )))) , (binary_expression "iVar7 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n                *piVar17 = iVar6;\n                piVar17 = piVar5 + iVar19 + 1;\n                iVar19 = iVar19 + 1;\n              }" { (expression_statement "*piVar17 = iVar6;" (assignment_expression "*piVar17 = iVar6" (pointer_expression "*piVar17" * identifier) = identifier) ;) (expression_statement "piVar17 = piVar5 + iVar19 + 1;" (assignment_expression "piVar17 = piVar5 + iVar19 + 1" identifier = (binary_expression "piVar5 + iVar19 + 1" (binary_expression "piVar5 + iVar19" identifier + identifier) + number_literal)) ;) (expression_statement "iVar19 = iVar19 + 1;" (assignment_expression "iVar19 = iVar19 + 1" identifier = (binary_expression "iVar19 + 1" identifier + number_literal)) ;) })) (expression_statement "iVar6 = (**(code **)(puVar27 + 0x29c9b4))(*(undefined4 *)(iVar22 + -0x5088));" (assignment_expression "iVar6 = (**(code **)(puVar27 + 0x29c9b4))(*(undefined4 *)(iVar22 + -0x5088))" identifier = (call_expression "(**(code **)(puVar27 + 0x29c9b4))(*(undefined4 *)(iVar22 + -0x5088))" (parenthesized_expression "(**(code **)(puVar27 + 0x29c9b4))" ( (pointer_expression "**(code **)(puVar27 + 0x29c9b4)" * (pointer_expression "*(code **)(puVar27 + 0x29c9b4)" * (cast_expression "(code **)(puVar27 + 0x29c9b4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + 0x29c9b4)" ( (binary_expression "puVar27 + 0x29c9b4" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar22 + -0x5088))" ( (pointer_expression "*(undefined4 *)(iVar22 + -0x5088)" * (cast_expression "(undefined4 *)(iVar22 + -0x5088)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar22 + -0x5088)" ( (binary_expression "iVar22 + -0x5088" identifier + number_literal) )))) )))) ;) }) while (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) ;) }))) (expression_statement "(**(code **)(puVar27 + 0x29ca24))(*(undefined4 *)(iVar4 + -0x5090));" (call_expression "(**(code **)(puVar27 + 0x29ca24))(*(undefined4 *)(iVar4 + -0x5090))" (parenthesized_expression "(**(code **)(puVar27 + 0x29ca24))" ( (pointer_expression "**(code **)(puVar27 + 0x29ca24)" * (pointer_expression "*(code **)(puVar27 + 0x29ca24)" * (cast_expression "(code **)(puVar27 + 0x29ca24)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + 0x29ca24)" ( (binary_expression "puVar27 + 0x29ca24" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar4 + -0x5090))" ( (pointer_expression "*(undefined4 *)(iVar4 + -0x5090)" * (cast_expression "(undefined4 *)(iVar4 + -0x5090)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + -0x5090)" ( (binary_expression "iVar4 + -0x5090" identifier + number_literal) )))) ))) ;) (expression_statement "(**(code **)(puVar27 + 0x29cf78))(piVar5,iVar19,4,*(int *)(puVar27 + 0x29c13c) + -0x5800);" (call_expression "(**(code **)(puVar27 + 0x29cf78))(piVar5,iVar19,4,*(int *)(puVar27 + 0x29c13c) + -0x5800)" (parenthesized_expression "(**(code **)(puVar27 + 0x29cf78))" ( (pointer_expression "**(code **)(puVar27 + 0x29cf78)" * (pointer_expression "*(code **)(puVar27 + 0x29cf78)" * (cast_expression "(code **)(puVar27 + 0x29cf78)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + 0x29cf78)" ( (binary_expression "puVar27 + 0x29cf78" identifier + number_literal) ))))) )) (argument_list "(piVar5,iVar19,4,*(int *)(puVar27 + 0x29c13c) + -0x5800)" ( identifier , identifier , number_literal , (binary_expression "*(int *)(puVar27 + 0x29c13c) + -0x5800" (pointer_expression "*(int *)(puVar27 + 0x29c13c)" * (cast_expression "(int *)(puVar27 + 0x29c13c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + 0x29c13c)" ( (binary_expression "puVar27 + 0x29c13c" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "*piVar8 = iVar19;" (assignment_expression "*piVar8 = iVar19" (pointer_expression "*piVar8" * identifier) = identifier) ;) (expression_statement "*piVar17 = 0;" (assignment_expression "*piVar17 = 0" (pointer_expression "*piVar17" * identifier) = number_literal) ;) (return_statement "return (MagickBooleanType)piVar5;" return (cast_expression "(MagickBooleanType)piVar5" ( (type_descriptor "MagickBooleanType" type_identifier) ) identifier) ;) })) })) (return_statement "return MagickFalse;" return identifier ;) })) }))) (expression_statement "pcVar16 = puVar18 + -0x40d0;" (assignment_expression "pcVar16 = puVar18 + -0x40d0" identifier = (binary_expression "puVar18 + -0x40d0" identifier + number_literal)) ;) (expression_statement "pcVar28 = *(code **)(puVar27 + 0x29ccac);" (assignment_expression "pcVar28 = *(code **)(puVar27 + 0x29ccac)" identifier = (pointer_expression "*(code **)(puVar27 + 0x29ccac)" * (cast_expression "(code **)(puVar27 + 0x29ccac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + 0x29ccac)" ( (binary_expression "puVar27 + 0x29ccac" identifier + number_literal) ))))) ;) (expression_statement "iVar1 = *(int *)(puVar27 + 0x29bf88) + -0x3e64;" (assignment_expression "iVar1 = *(int *)(puVar27 + 0x29bf88) + -0x3e64" identifier = (binary_expression "*(int *)(puVar27 + 0x29bf88) + -0x3e64" (pointer_expression "*(int *)(puVar27 + 0x29bf88)" * (cast_expression "(int *)(puVar27 + 0x29bf88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + 0x29bf88)" ( (binary_expression "puVar27 + 0x29bf88" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar28)(iVar1,pcVar16,0x1f5,*(int *)(puVar27 + 0x29bf88) + -0x3bd0);" (call_expression "(*pcVar28)(iVar1,pcVar16,0x1f5,*(int *)(puVar27 + 0x29bf88) + -0x3bd0)" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "(iVar1,pcVar16,0x1f5,*(int *)(puVar27 + 0x29bf88) + -0x3bd0)" ( identifier , identifier , number_literal , (binary_expression "*(int *)(puVar27 + 0x29bf88) + -0x3bd0" (pointer_expression "*(int *)(puVar27 + 0x29bf88)" * (cast_expression "(int *)(puVar27 + 0x29bf88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + 0x29bf88)" ( (binary_expression "puVar27 + 0x29bf88" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "piVar8 = *(int **)(pcVar28 + 0x29c670);" (assignment_expression "piVar8 = *(int **)(pcVar28 + 0x29c670)" identifier = (pointer_expression "*(int **)(pcVar28 + 0x29c670)" * (cast_expression "(int **)(pcVar28 + 0x29c670)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x29c670)" ( (binary_expression "pcVar28 + 0x29c670" identifier + number_literal) ))))) ;) (expression_statement "pcStack_b4 = format;" (assignment_expression "pcStack_b4 = format" identifier = identifier) ;) (expression_statement "iStack_cc = *piVar8;" (assignment_expression "iStack_cc = *piVar8" identifier = (pointer_expression "*piVar8" * identifier)) ;) (if_statement "if (iVar1 == 0) {\n    iVar1 = **(int **)(pcVar28 + 0x29c324);\n  }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n    iVar1 = **(int **)(pcVar28 + 0x29c324);\n  }" { (expression_statement "iVar1 = **(int **)(pcVar28 + 0x29c324);" (assignment_expression "iVar1 = **(int **)(pcVar28 + 0x29c324)" identifier = (pointer_expression "**(int **)(pcVar28 + 0x29c324)" * (pointer_expression "*(int **)(pcVar28 + 0x29c324)" * (cast_expression "(int **)(pcVar28 + 0x29c324)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x29c324)" ( (binary_expression "pcVar28 + 0x29c324" identifier + number_literal) )))))) ;) })) (expression_statement "piVar17 = &iStack_d0;" (assignment_expression "piVar17 = &iStack_d0" identifier = (pointer_expression "&iStack_d0" & identifier)) ;) (expression_statement "puStack_c8 = puVar18;" (assignment_expression "puStack_c8 = puVar18" identifier = identifier) ;) (expression_statement "pcStack_c4 = (char *)type;" (assignment_expression "pcStack_c4 = (char *)type" identifier = (cast_expression "(char *)type" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pcStack_c0 = module;" (assignment_expression "pcStack_c0 = module" identifier = identifier) ;) (expression_statement "pcStack_bc = function;" (assignment_expression "pcStack_bc = function" identifier = identifier) ;) (expression_statement "sStack_b8 = line;" (assignment_expression "sStack_b8 = line" identifier = identifier) ;) (expression_statement "iStack_b0 = unaff_s6;" (assignment_expression "iStack_b0 = unaff_s6" identifier = identifier) ;) (expression_statement "piStack_ac = unaff_s7;" (assignment_expression "piStack_ac = unaff_s7" identifier = identifier) ;) (expression_statement "piVar5 = (int *)(**(code **)(pcVar28 + 0x29cc48))(*(int *)(pcVar28 + 0x29bd28) + 0x6c9c);" (assignment_expression "piVar5 = (int *)(**(code **)(pcVar28 + 0x29cc48))(*(int *)(pcVar28 + 0x29bd28) + 0x6c9c)" identifier = (cast_expression "(int *)(**(code **)(pcVar28 + 0x29cc48))(*(int *)(pcVar28 + 0x29bd28) + 0x6c9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar28 + 0x29cc48))(*(int *)(pcVar28 + 0x29bd28) + 0x6c9c)" (parenthesized_expression "(**(code **)(pcVar28 + 0x29cc48))" ( (pointer_expression "**(code **)(pcVar28 + 0x29cc48)" * (pointer_expression "*(code **)(pcVar28 + 0x29cc48)" * (cast_expression "(code **)(pcVar28 + 0x29cc48)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x29cc48)" ( (binary_expression "pcVar28 + 0x29cc48" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar28 + 0x29bd28) + 0x6c9c)" ( (binary_expression "*(int *)(pcVar28 + 0x29bd28) + 0x6c9c" (pointer_expression "*(int *)(pcVar28 + 0x29bd28)" * (cast_expression "(int *)(pcVar28 + 0x29bd28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x29bd28)" ( (binary_expression "pcVar28 + 0x29bd28" identifier + number_literal) )))) + number_literal) ))))) ;) (if_statement "if (piVar5 == (int *)0x0) {\n    MVar2 = MagickFalse;\n  }\n  else {\n    iVar4 = *(int *)(pcVar28 + 0x29bd20);\n    if (0 < iStack_d0) {\n      iVar23 = 0;\n      iVar25 = *(int *)(pcVar28 + 0x29bd8c);\n      iVar6 = 0;\n      iVar21 = *(int *)(pcVar28 + 0x29bd90);\n      dVar31 = *(double *)(iVar4 + 0x1418);\n      iVar19 = *(int *)(pcVar28 + 0x29bd24);\n      iVar7 = *(int *)(pcVar28 + 0x29bd24);\n      iVar22 = iStack_d0;\n      piVar20 = piVar5;\n      do {\n        iVar13 = *piVar20;\n        piVar17 = *(int **)(iVar13 + 0x2c);\n        if (piVar17 == (int *)0x0) {\n          iVar22 = *(int *)(iVar13 + 8);\n          if ((iVar6 == 0) ||\n             (iVar9 = (**(code **)(pcVar28 + 0x29c550))(iVar6,iVar22), iVar6 = iVar22, iVar9 != 0))\n          {\n            if (iVar22 != 0) {\n              (**(code **)(pcVar28 + 0x29c984))(iVar1,*(int *)(pcVar28 + 0x29bd20) + 0x4620,iVar22);\n              iVar13 = *piVar20;\n            }\n            iVar22 = 0;\n            uVar10 = 0;\n            pcVar16 = (char *)(*(int *)(pcVar28 + 0x29bd24) + -0x3b94);\n            while( true ) {\n              if ((1 << (uVar10 & 0x1f) & *(uint *)(iVar13 + 4)) != 0) {\n                (**(code **)(pcVar28 + 0x29c984))(iVar1,iVar25 + 0x30e8,pcVar16);\n                iVar6 = (**(code **)(pcVar28 + 0x29c778))(pcVar16);\n                iVar22 = iVar22 + iVar6;\n              }\n              if (uVar10 == 0x1f) break;\n              pcVar16 = pcVar16 + 0x10;\n              uVar10 = uVar10 + 1;\n              if (*pcVar16 == '\0') break;\n              iVar13 = *piVar20;\n            }\n            if (iVar22 < 0xd) {\n              do {\n                iVar22 = iVar22 + 1;\n                (**(code **)(pcVar28 + 0x29c984))(iVar1,iVar21 + 0x2158);\n              } while (iVar22 != 0xd);\n            }\n            (**(code **)(pcVar28 + 0x29c984))(iVar1,*(int *)(pcVar28 + 0x29bd24) + -0x3e3c);\n            (**(code **)(pcVar28 + 0x29c984))(iVar1,*(int *)(pcVar28 + 0x29bd20) + 0x4644);\n            iVar13 = *piVar20;\n            iVar6 = *(int *)(iVar13 + 8);\n          }\n          if (*(int *)(iVar13 + 0x10) != 0) {\n            (**(code **)(pcVar28 + 0x29c984))(iVar1,*(int *)(pcVar28 + 0x29bd24) + -0x62ac);\n            iVar13 = *piVar20;\n            uVar10 = (**(code **)(pcVar28 + 0x29c778))(*(undefined4 *)(iVar13 + 0x10));\n            if (uVar10 < 0x11) {\n              do {\n                uVar10 = uVar10 + 1;\n                (**(code **)(pcVar28 + 0x29c984))(iVar1,iVar21 + 0x2158);\n              } while (uVar10 != 0x11);\n              iVar13 = *piVar20;\n            }\n          }\n          dVar30 = (double)*(int *)(iVar13 + 0x18);\n          if (*(int *)(iVar13 + 0x18) < 0) {\n            dVar30 = dVar30 + *(double *)(iVar4 + 0x1418);\n          }\n          (**(code **)(pcVar28 + 0x29c984))\n                    (iVar1,iVar19 + -0x3e1c,(int)((ulonglong)dVar30 >> 0x20),SUB84(dVar30,0));\n          dVar30 = (double)*(int *)(*piVar20 + 0x1c);\n          if (*(int *)(*piVar20 + 0x1c) < 0) {\n            dVar30 = dVar30 + dVar31;\n          }\n          (**(code **)(pcVar28 + 0x29c984))\n                    (iVar1,iVar7 + -0x3e14,(int)((ulonglong)dVar30 >> 0x20),SUB84(dVar30,0));\n          pcVar16 = *(char **)(*piVar20 + 0x14);\n          if (pcVar16 != (char *)0x0) {\n            (**(code **)(pcVar28 + 0x29c984))(iVar1,*(int *)(pcVar28 + 0x29bd24) + -0x62ac);\n          }\n          piVar17 = (int *)(*(int *)(pcVar28 + 0x29bd2c) + -0x4bdc);\n          (**(code **)(pcVar28 + 0x29c984))(iVar1);\n          iVar22 = iStack_d0;\n        }\n        iVar23 = iVar23 + 1;\n        piVar20 = piVar20 + 1;\n      } while (iVar23 < iVar22);\n    }\n    (**(code **)(pcVar28 + 0x29c8cc))(iVar1);\n    (**(code **)(pcVar28 + 0x29c400))(piVar5);\n    MVar2 = MagickTrue;\n  }" if (parenthesized_expression "(piVar5 == (int *)0x0)" ( (binary_expression "piVar5 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    MVar2 = MagickFalse;\n  }" { (expression_statement "MVar2 = MagickFalse;" (assignment_expression "MVar2 = MagickFalse" identifier = identifier) ;) }) (else_clause "else {\n    iVar4 = *(int *)(pcVar28 + 0x29bd20);\n    if (0 < iStack_d0) {\n      iVar23 = 0;\n      iVar25 = *(int *)(pcVar28 + 0x29bd8c);\n      iVar6 = 0;\n      iVar21 = *(int *)(pcVar28 + 0x29bd90);\n      dVar31 = *(double *)(iVar4 + 0x1418);\n      iVar19 = *(int *)(pcVar28 + 0x29bd24);\n      iVar7 = *(int *)(pcVar28 + 0x29bd24);\n      iVar22 = iStack_d0;\n      piVar20 = piVar5;\n      do {\n        iVar13 = *piVar20;\n        piVar17 = *(int **)(iVar13 + 0x2c);\n        if (piVar17 == (int *)0x0) {\n          iVar22 = *(int *)(iVar13 + 8);\n          if ((iVar6 == 0) ||\n             (iVar9 = (**(code **)(pcVar28 + 0x29c550))(iVar6,iVar22), iVar6 = iVar22, iVar9 != 0))\n          {\n            if (iVar22 != 0) {\n              (**(code **)(pcVar28 + 0x29c984))(iVar1,*(int *)(pcVar28 + 0x29bd20) + 0x4620,iVar22);\n              iVar13 = *piVar20;\n            }\n            iVar22 = 0;\n            uVar10 = 0;\n            pcVar16 = (char *)(*(int *)(pcVar28 + 0x29bd24) + -0x3b94);\n            while( true ) {\n              if ((1 << (uVar10 & 0x1f) & *(uint *)(iVar13 + 4)) != 0) {\n                (**(code **)(pcVar28 + 0x29c984))(iVar1,iVar25 + 0x30e8,pcVar16);\n                iVar6 = (**(code **)(pcVar28 + 0x29c778))(pcVar16);\n                iVar22 = iVar22 + iVar6;\n              }\n              if (uVar10 == 0x1f) break;\n              pcVar16 = pcVar16 + 0x10;\n              uVar10 = uVar10 + 1;\n              if (*pcVar16 == '\0') break;\n              iVar13 = *piVar20;\n            }\n            if (iVar22 < 0xd) {\n              do {\n                iVar22 = iVar22 + 1;\n                (**(code **)(pcVar28 + 0x29c984))(iVar1,iVar21 + 0x2158);\n              } while (iVar22 != 0xd);\n            }\n            (**(code **)(pcVar28 + 0x29c984))(iVar1,*(int *)(pcVar28 + 0x29bd24) + -0x3e3c);\n            (**(code **)(pcVar28 + 0x29c984))(iVar1,*(int *)(pcVar28 + 0x29bd20) + 0x4644);\n            iVar13 = *piVar20;\n            iVar6 = *(int *)(iVar13 + 8);\n          }\n          if (*(int *)(iVar13 + 0x10) != 0) {\n            (**(code **)(pcVar28 + 0x29c984))(iVar1,*(int *)(pcVar28 + 0x29bd24) + -0x62ac);\n            iVar13 = *piVar20;\n            uVar10 = (**(code **)(pcVar28 + 0x29c778))(*(undefined4 *)(iVar13 + 0x10));\n            if (uVar10 < 0x11) {\n              do {\n                uVar10 = uVar10 + 1;\n                (**(code **)(pcVar28 + 0x29c984))(iVar1,iVar21 + 0x2158);\n              } while (uVar10 != 0x11);\n              iVar13 = *piVar20;\n            }\n          }\n          dVar30 = (double)*(int *)(iVar13 + 0x18);\n          if (*(int *)(iVar13 + 0x18) < 0) {\n            dVar30 = dVar30 + *(double *)(iVar4 + 0x1418);\n          }\n          (**(code **)(pcVar28 + 0x29c984))\n                    (iVar1,iVar19 + -0x3e1c,(int)((ulonglong)dVar30 >> 0x20),SUB84(dVar30,0));\n          dVar30 = (double)*(int *)(*piVar20 + 0x1c);\n          if (*(int *)(*piVar20 + 0x1c) < 0) {\n            dVar30 = dVar30 + dVar31;\n          }\n          (**(code **)(pcVar28 + 0x29c984))\n                    (iVar1,iVar7 + -0x3e14,(int)((ulonglong)dVar30 >> 0x20),SUB84(dVar30,0));\n          pcVar16 = *(char **)(*piVar20 + 0x14);\n          if (pcVar16 != (char *)0x0) {\n            (**(code **)(pcVar28 + 0x29c984))(iVar1,*(int *)(pcVar28 + 0x29bd24) + -0x62ac);\n          }\n          piVar17 = (int *)(*(int *)(pcVar28 + 0x29bd2c) + -0x4bdc);\n          (**(code **)(pcVar28 + 0x29c984))(iVar1);\n          iVar22 = iStack_d0;\n        }\n        iVar23 = iVar23 + 1;\n        piVar20 = piVar20 + 1;\n      } while (iVar23 < iVar22);\n    }\n    (**(code **)(pcVar28 + 0x29c8cc))(iVar1);\n    (**(code **)(pcVar28 + 0x29c400))(piVar5);\n    MVar2 = MagickTrue;\n  }" else (compound_statement "{\n    iVar4 = *(int *)(pcVar28 + 0x29bd20);\n    if (0 < iStack_d0) {\n      iVar23 = 0;\n      iVar25 = *(int *)(pcVar28 + 0x29bd8c);\n      iVar6 = 0;\n      iVar21 = *(int *)(pcVar28 + 0x29bd90);\n      dVar31 = *(double *)(iVar4 + 0x1418);\n      iVar19 = *(int *)(pcVar28 + 0x29bd24);\n      iVar7 = *(int *)(pcVar28 + 0x29bd24);\n      iVar22 = iStack_d0;\n      piVar20 = piVar5;\n      do {\n        iVar13 = *piVar20;\n        piVar17 = *(int **)(iVar13 + 0x2c);\n        if (piVar17 == (int *)0x0) {\n          iVar22 = *(int *)(iVar13 + 8);\n          if ((iVar6 == 0) ||\n             (iVar9 = (**(code **)(pcVar28 + 0x29c550))(iVar6,iVar22), iVar6 = iVar22, iVar9 != 0))\n          {\n            if (iVar22 != 0) {\n              (**(code **)(pcVar28 + 0x29c984))(iVar1,*(int *)(pcVar28 + 0x29bd20) + 0x4620,iVar22);\n              iVar13 = *piVar20;\n            }\n            iVar22 = 0;\n            uVar10 = 0;\n            pcVar16 = (char *)(*(int *)(pcVar28 + 0x29bd24) + -0x3b94);\n            while( true ) {\n              if ((1 << (uVar10 & 0x1f) & *(uint *)(iVar13 + 4)) != 0) {\n                (**(code **)(pcVar28 + 0x29c984))(iVar1,iVar25 + 0x30e8,pcVar16);\n                iVar6 = (**(code **)(pcVar28 + 0x29c778))(pcVar16);\n                iVar22 = iVar22 + iVar6;\n              }\n              if (uVar10 == 0x1f) break;\n              pcVar16 = pcVar16 + 0x10;\n              uVar10 = uVar10 + 1;\n              if (*pcVar16 == '\0') break;\n              iVar13 = *piVar20;\n            }\n            if (iVar22 < 0xd) {\n              do {\n                iVar22 = iVar22 + 1;\n                (**(code **)(pcVar28 + 0x29c984))(iVar1,iVar21 + 0x2158);\n              } while (iVar22 != 0xd);\n            }\n            (**(code **)(pcVar28 + 0x29c984))(iVar1,*(int *)(pcVar28 + 0x29bd24) + -0x3e3c);\n            (**(code **)(pcVar28 + 0x29c984))(iVar1,*(int *)(pcVar28 + 0x29bd20) + 0x4644);\n            iVar13 = *piVar20;\n            iVar6 = *(int *)(iVar13 + 8);\n          }\n          if (*(int *)(iVar13 + 0x10) != 0) {\n            (**(code **)(pcVar28 + 0x29c984))(iVar1,*(int *)(pcVar28 + 0x29bd24) + -0x62ac);\n            iVar13 = *piVar20;\n            uVar10 = (**(code **)(pcVar28 + 0x29c778))(*(undefined4 *)(iVar13 + 0x10));\n            if (uVar10 < 0x11) {\n              do {\n                uVar10 = uVar10 + 1;\n                (**(code **)(pcVar28 + 0x29c984))(iVar1,iVar21 + 0x2158);\n              } while (uVar10 != 0x11);\n              iVar13 = *piVar20;\n            }\n          }\n          dVar30 = (double)*(int *)(iVar13 + 0x18);\n          if (*(int *)(iVar13 + 0x18) < 0) {\n            dVar30 = dVar30 + *(double *)(iVar4 + 0x1418);\n          }\n          (**(code **)(pcVar28 + 0x29c984))\n                    (iVar1,iVar19 + -0x3e1c,(int)((ulonglong)dVar30 >> 0x20),SUB84(dVar30,0));\n          dVar30 = (double)*(int *)(*piVar20 + 0x1c);\n          if (*(int *)(*piVar20 + 0x1c) < 0) {\n            dVar30 = dVar30 + dVar31;\n          }\n          (**(code **)(pcVar28 + 0x29c984))\n                    (iVar1,iVar7 + -0x3e14,(int)((ulonglong)dVar30 >> 0x20),SUB84(dVar30,0));\n          pcVar16 = *(char **)(*piVar20 + 0x14);\n          if (pcVar16 != (char *)0x0) {\n            (**(code **)(pcVar28 + 0x29c984))(iVar1,*(int *)(pcVar28 + 0x29bd24) + -0x62ac);\n          }\n          piVar17 = (int *)(*(int *)(pcVar28 + 0x29bd2c) + -0x4bdc);\n          (**(code **)(pcVar28 + 0x29c984))(iVar1);\n          iVar22 = iStack_d0;\n        }\n        iVar23 = iVar23 + 1;\n        piVar20 = piVar20 + 1;\n      } while (iVar23 < iVar22);\n    }\n    (**(code **)(pcVar28 + 0x29c8cc))(iVar1);\n    (**(code **)(pcVar28 + 0x29c400))(piVar5);\n    MVar2 = MagickTrue;\n  }" { (expression_statement "iVar4 = *(int *)(pcVar28 + 0x29bd20);" (assignment_expression "iVar4 = *(int *)(pcVar28 + 0x29bd20)" identifier = (pointer_expression "*(int *)(pcVar28 + 0x29bd20)" * (cast_expression "(int *)(pcVar28 + 0x29bd20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x29bd20)" ( (binary_expression "pcVar28 + 0x29bd20" identifier + number_literal) ))))) ;) (if_statement "if (0 < iStack_d0) {\n      iVar23 = 0;\n      iVar25 = *(int *)(pcVar28 + 0x29bd8c);\n      iVar6 = 0;\n      iVar21 = *(int *)(pcVar28 + 0x29bd90);\n      dVar31 = *(double *)(iVar4 + 0x1418);\n      iVar19 = *(int *)(pcVar28 + 0x29bd24);\n      iVar7 = *(int *)(pcVar28 + 0x29bd24);\n      iVar22 = iStack_d0;\n      piVar20 = piVar5;\n      do {\n        iVar13 = *piVar20;\n        piVar17 = *(int **)(iVar13 + 0x2c);\n        if (piVar17 == (int *)0x0) {\n          iVar22 = *(int *)(iVar13 + 8);\n          if ((iVar6 == 0) ||\n             (iVar9 = (**(code **)(pcVar28 + 0x29c550))(iVar6,iVar22), iVar6 = iVar22, iVar9 != 0))\n          {\n            if (iVar22 != 0) {\n              (**(code **)(pcVar28 + 0x29c984))(iVar1,*(int *)(pcVar28 + 0x29bd20) + 0x4620,iVar22);\n              iVar13 = *piVar20;\n            }\n            iVar22 = 0;\n            uVar10 = 0;\n            pcVar16 = (char *)(*(int *)(pcVar28 + 0x29bd24) + -0x3b94);\n            while( true ) {\n              if ((1 << (uVar10 & 0x1f) & *(uint *)(iVar13 + 4)) != 0) {\n                (**(code **)(pcVar28 + 0x29c984))(iVar1,iVar25 + 0x30e8,pcVar16);\n                iVar6 = (**(code **)(pcVar28 + 0x29c778))(pcVar16);\n                iVar22 = iVar22 + iVar6;\n              }\n              if (uVar10 == 0x1f) break;\n              pcVar16 = pcVar16 + 0x10;\n              uVar10 = uVar10 + 1;\n              if (*pcVar16 == '\0') break;\n              iVar13 = *piVar20;\n            }\n            if (iVar22 < 0xd) {\n              do {\n                iVar22 = iVar22 + 1;\n                (**(code **)(pcVar28 + 0x29c984))(iVar1,iVar21 + 0x2158);\n              } while (iVar22 != 0xd);\n            }\n            (**(code **)(pcVar28 + 0x29c984))(iVar1,*(int *)(pcVar28 + 0x29bd24) + -0x3e3c);\n            (**(code **)(pcVar28 + 0x29c984))(iVar1,*(int *)(pcVar28 + 0x29bd20) + 0x4644);\n            iVar13 = *piVar20;\n            iVar6 = *(int *)(iVar13 + 8);\n          }\n          if (*(int *)(iVar13 + 0x10) != 0) {\n            (**(code **)(pcVar28 + 0x29c984))(iVar1,*(int *)(pcVar28 + 0x29bd24) + -0x62ac);\n            iVar13 = *piVar20;\n            uVar10 = (**(code **)(pcVar28 + 0x29c778))(*(undefined4 *)(iVar13 + 0x10));\n            if (uVar10 < 0x11) {\n              do {\n                uVar10 = uVar10 + 1;\n                (**(code **)(pcVar28 + 0x29c984))(iVar1,iVar21 + 0x2158);\n              } while (uVar10 != 0x11);\n              iVar13 = *piVar20;\n            }\n          }\n          dVar30 = (double)*(int *)(iVar13 + 0x18);\n          if (*(int *)(iVar13 + 0x18) < 0) {\n            dVar30 = dVar30 + *(double *)(iVar4 + 0x1418);\n          }\n          (**(code **)(pcVar28 + 0x29c984))\n                    (iVar1,iVar19 + -0x3e1c,(int)((ulonglong)dVar30 >> 0x20),SUB84(dVar30,0));\n          dVar30 = (double)*(int *)(*piVar20 + 0x1c);\n          if (*(int *)(*piVar20 + 0x1c) < 0) {\n            dVar30 = dVar30 + dVar31;\n          }\n          (**(code **)(pcVar28 + 0x29c984))\n                    (iVar1,iVar7 + -0x3e14,(int)((ulonglong)dVar30 >> 0x20),SUB84(dVar30,0));\n          pcVar16 = *(char **)(*piVar20 + 0x14);\n          if (pcVar16 != (char *)0x0) {\n            (**(code **)(pcVar28 + 0x29c984))(iVar1,*(int *)(pcVar28 + 0x29bd24) + -0x62ac);\n          }\n          piVar17 = (int *)(*(int *)(pcVar28 + 0x29bd2c) + -0x4bdc);\n          (**(code **)(pcVar28 + 0x29c984))(iVar1);\n          iVar22 = iStack_d0;\n        }\n        iVar23 = iVar23 + 1;\n        piVar20 = piVar20 + 1;\n      } while (iVar23 < iVar22);\n    }" if (parenthesized_expression "(0 < iStack_d0)" ( (binary_expression "0 < iStack_d0" number_literal < identifier) )) (compound_statement "{\n      iVar23 = 0;\n      iVar25 = *(int *)(pcVar28 + 0x29bd8c);\n      iVar6 = 0;\n      iVar21 = *(int *)(pcVar28 + 0x29bd90);\n      dVar31 = *(double *)(iVar4 + 0x1418);\n      iVar19 = *(int *)(pcVar28 + 0x29bd24);\n      iVar7 = *(int *)(pcVar28 + 0x29bd24);\n      iVar22 = iStack_d0;\n      piVar20 = piVar5;\n      do {\n        iVar13 = *piVar20;\n        piVar17 = *(int **)(iVar13 + 0x2c);\n        if (piVar17 == (int *)0x0) {\n          iVar22 = *(int *)(iVar13 + 8);\n          if ((iVar6 == 0) ||\n             (iVar9 = (**(code **)(pcVar28 + 0x29c550))(iVar6,iVar22), iVar6 = iVar22, iVar9 != 0))\n          {\n            if (iVar22 != 0) {\n              (**(code **)(pcVar28 + 0x29c984))(iVar1,*(int *)(pcVar28 + 0x29bd20) + 0x4620,iVar22);\n              iVar13 = *piVar20;\n            }\n            iVar22 = 0;\n            uVar10 = 0;\n            pcVar16 = (char *)(*(int *)(pcVar28 + 0x29bd24) + -0x3b94);\n            while( true ) {\n              if ((1 << (uVar10 & 0x1f) & *(uint *)(iVar13 + 4)) != 0) {\n                (**(code **)(pcVar28 + 0x29c984))(iVar1,iVar25 + 0x30e8,pcVar16);\n                iVar6 = (**(code **)(pcVar28 + 0x29c778))(pcVar16);\n                iVar22 = iVar22 + iVar6;\n              }\n              if (uVar10 == 0x1f) break;\n              pcVar16 = pcVar16 + 0x10;\n              uVar10 = uVar10 + 1;\n              if (*pcVar16 == '\0') break;\n              iVar13 = *piVar20;\n            }\n            if (iVar22 < 0xd) {\n              do {\n                iVar22 = iVar22 + 1;\n                (**(code **)(pcVar28 + 0x29c984))(iVar1,iVar21 + 0x2158);\n              } while (iVar22 != 0xd);\n            }\n            (**(code **)(pcVar28 + 0x29c984))(iVar1,*(int *)(pcVar28 + 0x29bd24) + -0x3e3c);\n            (**(code **)(pcVar28 + 0x29c984))(iVar1,*(int *)(pcVar28 + 0x29bd20) + 0x4644);\n            iVar13 = *piVar20;\n            iVar6 = *(int *)(iVar13 + 8);\n          }\n          if (*(int *)(iVar13 + 0x10) != 0) {\n            (**(code **)(pcVar28 + 0x29c984))(iVar1,*(int *)(pcVar28 + 0x29bd24) + -0x62ac);\n            iVar13 = *piVar20;\n            uVar10 = (**(code **)(pcVar28 + 0x29c778))(*(undefined4 *)(iVar13 + 0x10));\n            if (uVar10 < 0x11) {\n              do {\n                uVar10 = uVar10 + 1;\n                (**(code **)(pcVar28 + 0x29c984))(iVar1,iVar21 + 0x2158);\n              } while (uVar10 != 0x11);\n              iVar13 = *piVar20;\n            }\n          }\n          dVar30 = (double)*(int *)(iVar13 + 0x18);\n          if (*(int *)(iVar13 + 0x18) < 0) {\n            dVar30 = dVar30 + *(double *)(iVar4 + 0x1418);\n          }\n          (**(code **)(pcVar28 + 0x29c984))\n                    (iVar1,iVar19 + -0x3e1c,(int)((ulonglong)dVar30 >> 0x20),SUB84(dVar30,0));\n          dVar30 = (double)*(int *)(*piVar20 + 0x1c);\n          if (*(int *)(*piVar20 + 0x1c) < 0) {\n            dVar30 = dVar30 + dVar31;\n          }\n          (**(code **)(pcVar28 + 0x29c984))\n                    (iVar1,iVar7 + -0x3e14,(int)((ulonglong)dVar30 >> 0x20),SUB84(dVar30,0));\n          pcVar16 = *(char **)(*piVar20 + 0x14);\n          if (pcVar16 != (char *)0x0) {\n            (**(code **)(pcVar28 + 0x29c984))(iVar1,*(int *)(pcVar28 + 0x29bd24) + -0x62ac);\n          }\n          piVar17 = (int *)(*(int *)(pcVar28 + 0x29bd2c) + -0x4bdc);\n          (**(code **)(pcVar28 + 0x29c984))(iVar1);\n          iVar22 = iStack_d0;\n        }\n        iVar23 = iVar23 + 1;\n        piVar20 = piVar20 + 1;\n      } while (iVar23 < iVar22);\n    }" { (expression_statement "iVar23 = 0;" (assignment_expression "iVar23 = 0" identifier = number_literal) ;) (expression_statement "iVar25 = *(int *)(pcVar28 + 0x29bd8c);" (assignment_expression "iVar25 = *(int *)(pcVar28 + 0x29bd8c)" identifier = (pointer_expression "*(int *)(pcVar28 + 0x29bd8c)" * (cast_expression "(int *)(pcVar28 + 0x29bd8c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x29bd8c)" ( (binary_expression "pcVar28 + 0x29bd8c" identifier + number_literal) ))))) ;) (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (expression_statement "iVar21 = *(int *)(pcVar28 + 0x29bd90);" (assignment_expression "iVar21 = *(int *)(pcVar28 + 0x29bd90)" identifier = (pointer_expression "*(int *)(pcVar28 + 0x29bd90)" * (cast_expression "(int *)(pcVar28 + 0x29bd90)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x29bd90)" ( (binary_expression "pcVar28 + 0x29bd90" identifier + number_literal) ))))) ;) (expression_statement "dVar31 = *(double *)(iVar4 + 0x1418);" (assignment_expression "dVar31 = *(double *)(iVar4 + 0x1418)" identifier = (pointer_expression "*(double *)(iVar4 + 0x1418)" * (cast_expression "(double *)(iVar4 + 0x1418)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x1418)" ( (binary_expression "iVar4 + 0x1418" identifier + number_literal) ))))) ;) (expression_statement "iVar19 = *(int *)(pcVar28 + 0x29bd24);" (assignment_expression "iVar19 = *(int *)(pcVar28 + 0x29bd24)" identifier = (pointer_expression "*(int *)(pcVar28 + 0x29bd24)" * (cast_expression "(int *)(pcVar28 + 0x29bd24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x29bd24)" ( (binary_expression "pcVar28 + 0x29bd24" identifier + number_literal) ))))) ;) (expression_statement "iVar7 = *(int *)(pcVar28 + 0x29bd24);" (assignment_expression "iVar7 = *(int *)(pcVar28 + 0x29bd24)" identifier = (pointer_expression "*(int *)(pcVar28 + 0x29bd24)" * (cast_expression "(int *)(pcVar28 + 0x29bd24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x29bd24)" ( (binary_expression "pcVar28 + 0x29bd24" identifier + number_literal) ))))) ;) (expression_statement "iVar22 = iStack_d0;" (assignment_expression "iVar22 = iStack_d0" identifier = identifier) ;) (expression_statement "piVar20 = piVar5;" (assignment_expression "piVar20 = piVar5" identifier = identifier) ;) (do_statement "do {\n        iVar13 = *piVar20;\n        piVar17 = *(int **)(iVar13 + 0x2c);\n        if (piVar17 == (int *)0x0) {\n          iVar22 = *(int *)(iVar13 + 8);\n          if ((iVar6 == 0) ||\n             (iVar9 = (**(code **)(pcVar28 + 0x29c550))(iVar6,iVar22), iVar6 = iVar22, iVar9 != 0))\n          {\n            if (iVar22 != 0) {\n              (**(code **)(pcVar28 + 0x29c984))(iVar1,*(int *)(pcVar28 + 0x29bd20) + 0x4620,iVar22);\n              iVar13 = *piVar20;\n            }\n            iVar22 = 0;\n            uVar10 = 0;\n            pcVar16 = (char *)(*(int *)(pcVar28 + 0x29bd24) + -0x3b94);\n            while( true ) {\n              if ((1 << (uVar10 & 0x1f) & *(uint *)(iVar13 + 4)) != 0) {\n                (**(code **)(pcVar28 + 0x29c984))(iVar1,iVar25 + 0x30e8,pcVar16);\n                iVar6 = (**(code **)(pcVar28 + 0x29c778))(pcVar16);\n                iVar22 = iVar22 + iVar6;\n              }\n              if (uVar10 == 0x1f) break;\n              pcVar16 = pcVar16 + 0x10;\n              uVar10 = uVar10 + 1;\n              if (*pcVar16 == '\0') break;\n              iVar13 = *piVar20;\n            }\n            if (iVar22 < 0xd) {\n              do {\n                iVar22 = iVar22 + 1;\n                (**(code **)(pcVar28 + 0x29c984))(iVar1,iVar21 + 0x2158);\n              } while (iVar22 != 0xd);\n            }\n            (**(code **)(pcVar28 + 0x29c984))(iVar1,*(int *)(pcVar28 + 0x29bd24) + -0x3e3c);\n            (**(code **)(pcVar28 + 0x29c984))(iVar1,*(int *)(pcVar28 + 0x29bd20) + 0x4644);\n            iVar13 = *piVar20;\n            iVar6 = *(int *)(iVar13 + 8);\n          }\n          if (*(int *)(iVar13 + 0x10) != 0) {\n            (**(code **)(pcVar28 + 0x29c984))(iVar1,*(int *)(pcVar28 + 0x29bd24) + -0x62ac);\n            iVar13 = *piVar20;\n            uVar10 = (**(code **)(pcVar28 + 0x29c778))(*(undefined4 *)(iVar13 + 0x10));\n            if (uVar10 < 0x11) {\n              do {\n                uVar10 = uVar10 + 1;\n                (**(code **)(pcVar28 + 0x29c984))(iVar1,iVar21 + 0x2158);\n              } while (uVar10 != 0x11);\n              iVar13 = *piVar20;\n            }\n          }\n          dVar30 = (double)*(int *)(iVar13 + 0x18);\n          if (*(int *)(iVar13 + 0x18) < 0) {\n            dVar30 = dVar30 + *(double *)(iVar4 + 0x1418);\n          }\n          (**(code **)(pcVar28 + 0x29c984))\n                    (iVar1,iVar19 + -0x3e1c,(int)((ulonglong)dVar30 >> 0x20),SUB84(dVar30,0));\n          dVar30 = (double)*(int *)(*piVar20 + 0x1c);\n          if (*(int *)(*piVar20 + 0x1c) < 0) {\n            dVar30 = dVar30 + dVar31;\n          }\n          (**(code **)(pcVar28 + 0x29c984))\n                    (iVar1,iVar7 + -0x3e14,(int)((ulonglong)dVar30 >> 0x20),SUB84(dVar30,0));\n          pcVar16 = *(char **)(*piVar20 + 0x14);\n          if (pcVar16 != (char *)0x0) {\n            (**(code **)(pcVar28 + 0x29c984))(iVar1,*(int *)(pcVar28 + 0x29bd24) + -0x62ac);\n          }\n          piVar17 = (int *)(*(int *)(pcVar28 + 0x29bd2c) + -0x4bdc);\n          (**(code **)(pcVar28 + 0x29c984))(iVar1);\n          iVar22 = iStack_d0;\n        }\n        iVar23 = iVar23 + 1;\n        piVar20 = piVar20 + 1;\n      } while (iVar23 < iVar22);" do (compound_statement "{\n        iVar13 = *piVar20;\n        piVar17 = *(int **)(iVar13 + 0x2c);\n        if (piVar17 == (int *)0x0) {\n          iVar22 = *(int *)(iVar13 + 8);\n          if ((iVar6 == 0) ||\n             (iVar9 = (**(code **)(pcVar28 + 0x29c550))(iVar6,iVar22), iVar6 = iVar22, iVar9 != 0))\n          {\n            if (iVar22 != 0) {\n              (**(code **)(pcVar28 + 0x29c984))(iVar1,*(int *)(pcVar28 + 0x29bd20) + 0x4620,iVar22);\n              iVar13 = *piVar20;\n            }\n            iVar22 = 0;\n            uVar10 = 0;\n            pcVar16 = (char *)(*(int *)(pcVar28 + 0x29bd24) + -0x3b94);\n            while( true ) {\n              if ((1 << (uVar10 & 0x1f) & *(uint *)(iVar13 + 4)) != 0) {\n                (**(code **)(pcVar28 + 0x29c984))(iVar1,iVar25 + 0x30e8,pcVar16);\n                iVar6 = (**(code **)(pcVar28 + 0x29c778))(pcVar16);\n                iVar22 = iVar22 + iVar6;\n              }\n              if (uVar10 == 0x1f) break;\n              pcVar16 = pcVar16 + 0x10;\n              uVar10 = uVar10 + 1;\n              if (*pcVar16 == '\0') break;\n              iVar13 = *piVar20;\n            }\n            if (iVar22 < 0xd) {\n              do {\n                iVar22 = iVar22 + 1;\n                (**(code **)(pcVar28 + 0x29c984))(iVar1,iVar21 + 0x2158);\n              } while (iVar22 != 0xd);\n            }\n            (**(code **)(pcVar28 + 0x29c984))(iVar1,*(int *)(pcVar28 + 0x29bd24) + -0x3e3c);\n            (**(code **)(pcVar28 + 0x29c984))(iVar1,*(int *)(pcVar28 + 0x29bd20) + 0x4644);\n            iVar13 = *piVar20;\n            iVar6 = *(int *)(iVar13 + 8);\n          }\n          if (*(int *)(iVar13 + 0x10) != 0) {\n            (**(code **)(pcVar28 + 0x29c984))(iVar1,*(int *)(pcVar28 + 0x29bd24) + -0x62ac);\n            iVar13 = *piVar20;\n            uVar10 = (**(code **)(pcVar28 + 0x29c778))(*(undefined4 *)(iVar13 + 0x10));\n            if (uVar10 < 0x11) {\n              do {\n                uVar10 = uVar10 + 1;\n                (**(code **)(pcVar28 + 0x29c984))(iVar1,iVar21 + 0x2158);\n              } while (uVar10 != 0x11);\n              iVar13 = *piVar20;\n            }\n          }\n          dVar30 = (double)*(int *)(iVar13 + 0x18);\n          if (*(int *)(iVar13 + 0x18) < 0) {\n            dVar30 = dVar30 + *(double *)(iVar4 + 0x1418);\n          }\n          (**(code **)(pcVar28 + 0x29c984))\n                    (iVar1,iVar19 + -0x3e1c,(int)((ulonglong)dVar30 >> 0x20),SUB84(dVar30,0));\n          dVar30 = (double)*(int *)(*piVar20 + 0x1c);\n          if (*(int *)(*piVar20 + 0x1c) < 0) {\n            dVar30 = dVar30 + dVar31;\n          }\n          (**(code **)(pcVar28 + 0x29c984))\n                    (iVar1,iVar7 + -0x3e14,(int)((ulonglong)dVar30 >> 0x20),SUB84(dVar30,0));\n          pcVar16 = *(char **)(*piVar20 + 0x14);\n          if (pcVar16 != (char *)0x0) {\n            (**(code **)(pcVar28 + 0x29c984))(iVar1,*(int *)(pcVar28 + 0x29bd24) + -0x62ac);\n          }\n          piVar17 = (int *)(*(int *)(pcVar28 + 0x29bd2c) + -0x4bdc);\n          (**(code **)(pcVar28 + 0x29c984))(iVar1);\n          iVar22 = iStack_d0;\n        }\n        iVar23 = iVar23 + 1;\n        piVar20 = piVar20 + 1;\n      }" { (expression_statement "iVar13 = *piVar20;" (assignment_expression "iVar13 = *piVar20" identifier = (pointer_expression "*piVar20" * identifier)) ;) (expression_statement "piVar17 = *(int **)(iVar13 + 0x2c);" (assignment_expression "piVar17 = *(int **)(iVar13 + 0x2c)" identifier = (pointer_expression "*(int **)(iVar13 + 0x2c)" * (cast_expression "(int **)(iVar13 + 0x2c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar13 + 0x2c)" ( (binary_expression "iVar13 + 0x2c" identifier + number_literal) ))))) ;) (if_statement "if (piVar17 == (int *)0x0) {\n          iVar22 = *(int *)(iVar13 + 8);\n          if ((iVar6 == 0) ||\n             (iVar9 = (**(code **)(pcVar28 + 0x29c550))(iVar6,iVar22), iVar6 = iVar22, iVar9 != 0))\n          {\n            if (iVar22 != 0) {\n              (**(code **)(pcVar28 + 0x29c984))(iVar1,*(int *)(pcVar28 + 0x29bd20) + 0x4620,iVar22);\n              iVar13 = *piVar20;\n            }\n            iVar22 = 0;\n            uVar10 = 0;\n            pcVar16 = (char *)(*(int *)(pcVar28 + 0x29bd24) + -0x3b94);\n            while( true ) {\n              if ((1 << (uVar10 & 0x1f) & *(uint *)(iVar13 + 4)) != 0) {\n                (**(code **)(pcVar28 + 0x29c984))(iVar1,iVar25 + 0x30e8,pcVar16);\n                iVar6 = (**(code **)(pcVar28 + 0x29c778))(pcVar16);\n                iVar22 = iVar22 + iVar6;\n              }\n              if (uVar10 == 0x1f) break;\n              pcVar16 = pcVar16 + 0x10;\n              uVar10 = uVar10 + 1;\n              if (*pcVar16 == '\0') break;\n              iVar13 = *piVar20;\n            }\n            if (iVar22 < 0xd) {\n              do {\n                iVar22 = iVar22 + 1;\n                (**(code **)(pcVar28 + 0x29c984))(iVar1,iVar21 + 0x2158);\n              } while (iVar22 != 0xd);\n            }\n            (**(code **)(pcVar28 + 0x29c984))(iVar1,*(int *)(pcVar28 + 0x29bd24) + -0x3e3c);\n            (**(code **)(pcVar28 + 0x29c984))(iVar1,*(int *)(pcVar28 + 0x29bd20) + 0x4644);\n            iVar13 = *piVar20;\n            iVar6 = *(int *)(iVar13 + 8);\n          }\n          if (*(int *)(iVar13 + 0x10) != 0) {\n            (**(code **)(pcVar28 + 0x29c984))(iVar1,*(int *)(pcVar28 + 0x29bd24) + -0x62ac);\n            iVar13 = *piVar20;\n            uVar10 = (**(code **)(pcVar28 + 0x29c778))(*(undefined4 *)(iVar13 + 0x10));\n            if (uVar10 < 0x11) {\n              do {\n                uVar10 = uVar10 + 1;\n                (**(code **)(pcVar28 + 0x29c984))(iVar1,iVar21 + 0x2158);\n              } while (uVar10 != 0x11);\n              iVar13 = *piVar20;\n            }\n          }\n          dVar30 = (double)*(int *)(iVar13 + 0x18);\n          if (*(int *)(iVar13 + 0x18) < 0) {\n            dVar30 = dVar30 + *(double *)(iVar4 + 0x1418);\n          }\n          (**(code **)(pcVar28 + 0x29c984))\n                    (iVar1,iVar19 + -0x3e1c,(int)((ulonglong)dVar30 >> 0x20),SUB84(dVar30,0));\n          dVar30 = (double)*(int *)(*piVar20 + 0x1c);\n          if (*(int *)(*piVar20 + 0x1c) < 0) {\n            dVar30 = dVar30 + dVar31;\n          }\n          (**(code **)(pcVar28 + 0x29c984))\n                    (iVar1,iVar7 + -0x3e14,(int)((ulonglong)dVar30 >> 0x20),SUB84(dVar30,0));\n          pcVar16 = *(char **)(*piVar20 + 0x14);\n          if (pcVar16 != (char *)0x0) {\n            (**(code **)(pcVar28 + 0x29c984))(iVar1,*(int *)(pcVar28 + 0x29bd24) + -0x62ac);\n          }\n          piVar17 = (int *)(*(int *)(pcVar28 + 0x29bd2c) + -0x4bdc);\n          (**(code **)(pcVar28 + 0x29c984))(iVar1);\n          iVar22 = iStack_d0;\n        }" if (parenthesized_expression "(piVar17 == (int *)0x0)" ( (binary_expression "piVar17 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          iVar22 = *(int *)(iVar13 + 8);\n          if ((iVar6 == 0) ||\n             (iVar9 = (**(code **)(pcVar28 + 0x29c550))(iVar6,iVar22), iVar6 = iVar22, iVar9 != 0))\n          {\n            if (iVar22 != 0) {\n              (**(code **)(pcVar28 + 0x29c984))(iVar1,*(int *)(pcVar28 + 0x29bd20) + 0x4620,iVar22);\n              iVar13 = *piVar20;\n            }\n            iVar22 = 0;\n            uVar10 = 0;\n            pcVar16 = (char *)(*(int *)(pcVar28 + 0x29bd24) + -0x3b94);\n            while( true ) {\n              if ((1 << (uVar10 & 0x1f) & *(uint *)(iVar13 + 4)) != 0) {\n                (**(code **)(pcVar28 + 0x29c984))(iVar1,iVar25 + 0x30e8,pcVar16);\n                iVar6 = (**(code **)(pcVar28 + 0x29c778))(pcVar16);\n                iVar22 = iVar22 + iVar6;\n              }\n              if (uVar10 == 0x1f) break;\n              pcVar16 = pcVar16 + 0x10;\n              uVar10 = uVar10 + 1;\n              if (*pcVar16 == '\0') break;\n              iVar13 = *piVar20;\n            }\n            if (iVar22 < 0xd) {\n              do {\n                iVar22 = iVar22 + 1;\n                (**(code **)(pcVar28 + 0x29c984))(iVar1,iVar21 + 0x2158);\n              } while (iVar22 != 0xd);\n            }\n            (**(code **)(pcVar28 + 0x29c984))(iVar1,*(int *)(pcVar28 + 0x29bd24) + -0x3e3c);\n            (**(code **)(pcVar28 + 0x29c984))(iVar1,*(int *)(pcVar28 + 0x29bd20) + 0x4644);\n            iVar13 = *piVar20;\n            iVar6 = *(int *)(iVar13 + 8);\n          }\n          if (*(int *)(iVar13 + 0x10) != 0) {\n            (**(code **)(pcVar28 + 0x29c984))(iVar1,*(int *)(pcVar28 + 0x29bd24) + -0x62ac);\n            iVar13 = *piVar20;\n            uVar10 = (**(code **)(pcVar28 + 0x29c778))(*(undefined4 *)(iVar13 + 0x10));\n            if (uVar10 < 0x11) {\n              do {\n                uVar10 = uVar10 + 1;\n                (**(code **)(pcVar28 + 0x29c984))(iVar1,iVar21 + 0x2158);\n              } while (uVar10 != 0x11);\n              iVar13 = *piVar20;\n            }\n          }\n          dVar30 = (double)*(int *)(iVar13 + 0x18);\n          if (*(int *)(iVar13 + 0x18) < 0) {\n            dVar30 = dVar30 + *(double *)(iVar4 + 0x1418);\n          }\n          (**(code **)(pcVar28 + 0x29c984))\n                    (iVar1,iVar19 + -0x3e1c,(int)((ulonglong)dVar30 >> 0x20),SUB84(dVar30,0));\n          dVar30 = (double)*(int *)(*piVar20 + 0x1c);\n          if (*(int *)(*piVar20 + 0x1c) < 0) {\n            dVar30 = dVar30 + dVar31;\n          }\n          (**(code **)(pcVar28 + 0x29c984))\n                    (iVar1,iVar7 + -0x3e14,(int)((ulonglong)dVar30 >> 0x20),SUB84(dVar30,0));\n          pcVar16 = *(char **)(*piVar20 + 0x14);\n          if (pcVar16 != (char *)0x0) {\n            (**(code **)(pcVar28 + 0x29c984))(iVar1,*(int *)(pcVar28 + 0x29bd24) + -0x62ac);\n          }\n          piVar17 = (int *)(*(int *)(pcVar28 + 0x29bd2c) + -0x4bdc);\n          (**(code **)(pcVar28 + 0x29c984))(iVar1);\n          iVar22 = iStack_d0;\n        }" { (expression_statement "iVar22 = *(int *)(iVar13 + 8);" (assignment_expression "iVar22 = *(int *)(iVar13 + 8)" identifier = (pointer_expression "*(int *)(iVar13 + 8)" * (cast_expression "(int *)(iVar13 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 8)" ( (binary_expression "iVar13 + 8" identifier + number_literal) ))))) ;) (if_statement "if ((iVar6 == 0) ||\n             (iVar9 = (**(code **)(pcVar28 + 0x29c550))(iVar6,iVar22), iVar6 = iVar22, iVar9 != 0))\n          {\n            if (iVar22 != 0) {\n              (**(code **)(pcVar28 + 0x29c984))(iVar1,*(int *)(pcVar28 + 0x29bd20) + 0x4620,iVar22);\n              iVar13 = *piVar20;\n            }\n            iVar22 = 0;\n            uVar10 = 0;\n            pcVar16 = (char *)(*(int *)(pcVar28 + 0x29bd24) + -0x3b94);\n            while( true ) {\n              if ((1 << (uVar10 & 0x1f) & *(uint *)(iVar13 + 4)) != 0) {\n                (**(code **)(pcVar28 + 0x29c984))(iVar1,iVar25 + 0x30e8,pcVar16);\n                iVar6 = (**(code **)(pcVar28 + 0x29c778))(pcVar16);\n                iVar22 = iVar22 + iVar6;\n              }\n              if (uVar10 == 0x1f) break;\n              pcVar16 = pcVar16 + 0x10;\n              uVar10 = uVar10 + 1;\n              if (*pcVar16 == '\0') break;\n              iVar13 = *piVar20;\n            }\n            if (iVar22 < 0xd) {\n              do {\n                iVar22 = iVar22 + 1;\n                (**(code **)(pcVar28 + 0x29c984))(iVar1,iVar21 + 0x2158);\n              } while (iVar22 != 0xd);\n            }\n            (**(code **)(pcVar28 + 0x29c984))(iVar1,*(int *)(pcVar28 + 0x29bd24) + -0x3e3c);\n            (**(code **)(pcVar28 + 0x29c984))(iVar1,*(int *)(pcVar28 + 0x29bd20) + 0x4644);\n            iVar13 = *piVar20;\n            iVar6 = *(int *)(iVar13 + 8);\n          }" if (parenthesized_expression "((iVar6 == 0) ||\n             (iVar9 = (**(code **)(pcVar28 + 0x29c550))(iVar6,iVar22), iVar6 = iVar22, iVar9 != 0))" ( (binary_expression "(iVar6 == 0) ||\n             (iVar9 = (**(code **)(pcVar28 + 0x29c550))(iVar6,iVar22), iVar6 = iVar22, iVar9 != 0)" (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar9 = (**(code **)(pcVar28 + 0x29c550))(iVar6,iVar22), iVar6 = iVar22, iVar9 != 0)" ( (comma_expression "iVar9 = (**(code **)(pcVar28 + 0x29c550))(iVar6,iVar22), iVar6 = iVar22, iVar9 != 0" (assignment_expression "iVar9 = (**(code **)(pcVar28 + 0x29c550))(iVar6,iVar22)" identifier = (call_expression "(**(code **)(pcVar28 + 0x29c550))(iVar6,iVar22)" (parenthesized_expression "(**(code **)(pcVar28 + 0x29c550))" ( (pointer_expression "**(code **)(pcVar28 + 0x29c550)" * (pointer_expression "*(code **)(pcVar28 + 0x29c550)" * (cast_expression "(code **)(pcVar28 + 0x29c550)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x29c550)" ( (binary_expression "pcVar28 + 0x29c550" identifier + number_literal) ))))) )) (argument_list "(iVar6,iVar22)" ( identifier , identifier )))) , (comma_expression "iVar6 = iVar22, iVar9 != 0" (assignment_expression "iVar6 = iVar22" identifier = identifier) , (binary_expression "iVar9 != 0" identifier != number_literal))) ))) )) (compound_statement "{\n            if (iVar22 != 0) {\n              (**(code **)(pcVar28 + 0x29c984))(iVar1,*(int *)(pcVar28 + 0x29bd20) + 0x4620,iVar22);\n              iVar13 = *piVar20;\n            }\n            iVar22 = 0;\n            uVar10 = 0;\n            pcVar16 = (char *)(*(int *)(pcVar28 + 0x29bd24) + -0x3b94);\n            while( true ) {\n              if ((1 << (uVar10 & 0x1f) & *(uint *)(iVar13 + 4)) != 0) {\n                (**(code **)(pcVar28 + 0x29c984))(iVar1,iVar25 + 0x30e8,pcVar16);\n                iVar6 = (**(code **)(pcVar28 + 0x29c778))(pcVar16);\n                iVar22 = iVar22 + iVar6;\n              }\n              if (uVar10 == 0x1f) break;\n              pcVar16 = pcVar16 + 0x10;\n              uVar10 = uVar10 + 1;\n              if (*pcVar16 == '\0') break;\n              iVar13 = *piVar20;\n            }\n            if (iVar22 < 0xd) {\n              do {\n                iVar22 = iVar22 + 1;\n                (**(code **)(pcVar28 + 0x29c984))(iVar1,iVar21 + 0x2158);\n              } while (iVar22 != 0xd);\n            }\n            (**(code **)(pcVar28 + 0x29c984))(iVar1,*(int *)(pcVar28 + 0x29bd24) + -0x3e3c);\n            (**(code **)(pcVar28 + 0x29c984))(iVar1,*(int *)(pcVar28 + 0x29bd20) + 0x4644);\n            iVar13 = *piVar20;\n            iVar6 = *(int *)(iVar13 + 8);\n          }" { (if_statement "if (iVar22 != 0) {\n              (**(code **)(pcVar28 + 0x29c984))(iVar1,*(int *)(pcVar28 + 0x29bd20) + 0x4620,iVar22);\n              iVar13 = *piVar20;\n            }" if (parenthesized_expression "(iVar22 != 0)" ( (binary_expression "iVar22 != 0" identifier != number_literal) )) (compound_statement "{\n              (**(code **)(pcVar28 + 0x29c984))(iVar1,*(int *)(pcVar28 + 0x29bd20) + 0x4620,iVar22);\n              iVar13 = *piVar20;\n            }" { (expression_statement "(**(code **)(pcVar28 + 0x29c984))(iVar1,*(int *)(pcVar28 + 0x29bd20) + 0x4620,iVar22);" (call_expression "(**(code **)(pcVar28 + 0x29c984))(iVar1,*(int *)(pcVar28 + 0x29bd20) + 0x4620,iVar22)" (parenthesized_expression "(**(code **)(pcVar28 + 0x29c984))" ( (pointer_expression "**(code **)(pcVar28 + 0x29c984)" * (pointer_expression "*(code **)(pcVar28 + 0x29c984)" * (cast_expression "(code **)(pcVar28 + 0x29c984)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x29c984)" ( (binary_expression "pcVar28 + 0x29c984" identifier + number_literal) ))))) )) (argument_list "(iVar1,*(int *)(pcVar28 + 0x29bd20) + 0x4620,iVar22)" ( identifier , (binary_expression "*(int *)(pcVar28 + 0x29bd20) + 0x4620" (pointer_expression "*(int *)(pcVar28 + 0x29bd20)" * (cast_expression "(int *)(pcVar28 + 0x29bd20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x29bd20)" ( (binary_expression "pcVar28 + 0x29bd20" identifier + number_literal) )))) + number_literal) , identifier ))) ;) (expression_statement "iVar13 = *piVar20;" (assignment_expression "iVar13 = *piVar20" identifier = (pointer_expression "*piVar20" * identifier)) ;) })) (expression_statement "iVar22 = 0;" (assignment_expression "iVar22 = 0" identifier = number_literal) ;) (expression_statement "uVar10 = 0;" (assignment_expression "uVar10 = 0" identifier = number_literal) ;) (expression_statement "pcVar16 = (char *)(*(int *)(pcVar28 + 0x29bd24) + -0x3b94);" (assignment_expression "pcVar16 = (char *)(*(int *)(pcVar28 + 0x29bd24) + -0x3b94)" identifier = (cast_expression "(char *)(*(int *)(pcVar28 + 0x29bd24) + -0x3b94)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar28 + 0x29bd24) + -0x3b94)" ( (binary_expression "*(int *)(pcVar28 + 0x29bd24) + -0x3b94" (pointer_expression "*(int *)(pcVar28 + 0x29bd24)" * (cast_expression "(int *)(pcVar28 + 0x29bd24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x29bd24)" ( (binary_expression "pcVar28 + 0x29bd24" identifier + number_literal) )))) + number_literal) )))) ;) (while_statement "while( true ) {\n              if ((1 << (uVar10 & 0x1f) & *(uint *)(iVar13 + 4)) != 0) {\n                (**(code **)(pcVar28 + 0x29c984))(iVar1,iVar25 + 0x30e8,pcVar16);\n                iVar6 = (**(code **)(pcVar28 + 0x29c778))(pcVar16);\n                iVar22 = iVar22 + iVar6;\n              }\n              if (uVar10 == 0x1f) break;\n              pcVar16 = pcVar16 + 0x10;\n              uVar10 = uVar10 + 1;\n              if (*pcVar16 == '\0') break;\n              iVar13 = *piVar20;\n            }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n              if ((1 << (uVar10 & 0x1f) & *(uint *)(iVar13 + 4)) != 0) {\n                (**(code **)(pcVar28 + 0x29c984))(iVar1,iVar25 + 0x30e8,pcVar16);\n                iVar6 = (**(code **)(pcVar28 + 0x29c778))(pcVar16);\n                iVar22 = iVar22 + iVar6;\n              }\n              if (uVar10 == 0x1f) break;\n              pcVar16 = pcVar16 + 0x10;\n              uVar10 = uVar10 + 1;\n              if (*pcVar16 == '\0') break;\n              iVar13 = *piVar20;\n            }" { (if_statement "if ((1 << (uVar10 & 0x1f) & *(uint *)(iVar13 + 4)) != 0) {\n                (**(code **)(pcVar28 + 0x29c984))(iVar1,iVar25 + 0x30e8,pcVar16);\n                iVar6 = (**(code **)(pcVar28 + 0x29c778))(pcVar16);\n                iVar22 = iVar22 + iVar6;\n              }" if (parenthesized_expression "((1 << (uVar10 & 0x1f) & *(uint *)(iVar13 + 4)) != 0)" ( (binary_expression "(1 << (uVar10 & 0x1f) & *(uint *)(iVar13 + 4)) != 0" (parenthesized_expression "(1 << (uVar10 & 0x1f) & *(uint *)(iVar13 + 4))" ( (binary_expression "1 << (uVar10 & 0x1f) & *(uint *)(iVar13 + 4)" (binary_expression "1 << (uVar10 & 0x1f)" number_literal << (parenthesized_expression "(uVar10 & 0x1f)" ( (binary_expression "uVar10 & 0x1f" identifier & number_literal) ))) & (pointer_expression "*(uint *)(iVar13 + 4)" * (cast_expression "(uint *)(iVar13 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 4)" ( (binary_expression "iVar13 + 4" identifier + number_literal) ))))) )) != number_literal) )) (compound_statement "{\n                (**(code **)(pcVar28 + 0x29c984))(iVar1,iVar25 + 0x30e8,pcVar16);\n                iVar6 = (**(code **)(pcVar28 + 0x29c778))(pcVar16);\n                iVar22 = iVar22 + iVar6;\n              }" { (expression_statement "(**(code **)(pcVar28 + 0x29c984))(iVar1,iVar25 + 0x30e8,pcVar16);" (call_expression "(**(code **)(pcVar28 + 0x29c984))(iVar1,iVar25 + 0x30e8,pcVar16)" (parenthesized_expression "(**(code **)(pcVar28 + 0x29c984))" ( (pointer_expression "**(code **)(pcVar28 + 0x29c984)" * (pointer_expression "*(code **)(pcVar28 + 0x29c984)" * (cast_expression "(code **)(pcVar28 + 0x29c984)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x29c984)" ( (binary_expression "pcVar28 + 0x29c984" identifier + number_literal) ))))) )) (argument_list "(iVar1,iVar25 + 0x30e8,pcVar16)" ( identifier , (binary_expression "iVar25 + 0x30e8" identifier + number_literal) , identifier ))) ;) (expression_statement "iVar6 = (**(code **)(pcVar28 + 0x29c778))(pcVar16);" (assignment_expression "iVar6 = (**(code **)(pcVar28 + 0x29c778))(pcVar16)" identifier = (call_expression "(**(code **)(pcVar28 + 0x29c778))(pcVar16)" (parenthesized_expression "(**(code **)(pcVar28 + 0x29c778))" ( (pointer_expression "**(code **)(pcVar28 + 0x29c778)" * (pointer_expression "*(code **)(pcVar28 + 0x29c778)" * (cast_expression "(code **)(pcVar28 + 0x29c778)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x29c778)" ( (binary_expression "pcVar28 + 0x29c778" identifier + number_literal) ))))) )) (argument_list "(pcVar16)" ( identifier )))) ;) (expression_statement "iVar22 = iVar22 + iVar6;" (assignment_expression "iVar22 = iVar22 + iVar6" identifier = (binary_expression "iVar22 + iVar6" identifier + identifier)) ;) })) (if_statement "if (uVar10 == 0x1f) break;" if (parenthesized_expression "(uVar10 == 0x1f)" ( (binary_expression "uVar10 == 0x1f" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "pcVar16 = pcVar16 + 0x10;" (assignment_expression "pcVar16 = pcVar16 + 0x10" identifier = (binary_expression "pcVar16 + 0x10" identifier + number_literal)) ;) (expression_statement "uVar10 = uVar10 + 1;" (assignment_expression "uVar10 = uVar10 + 1" identifier = (binary_expression "uVar10 + 1" identifier + number_literal)) ;) (if_statement "if (*pcVar16 == '\0') break;" if (parenthesized_expression "(*pcVar16 == '\0')" ( (binary_expression "*pcVar16 == '\0'" (pointer_expression "*pcVar16" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (break_statement "break;" break ;)) (expression_statement "iVar13 = *piVar20;" (assignment_expression "iVar13 = *piVar20" identifier = (pointer_expression "*piVar20" * identifier)) ;) })) (if_statement "if (iVar22 < 0xd) {\n              do {\n                iVar22 = iVar22 + 1;\n                (**(code **)(pcVar28 + 0x29c984))(iVar1,iVar21 + 0x2158);\n              } while (iVar22 != 0xd);\n            }" if (parenthesized_expression "(iVar22 < 0xd)" ( (binary_expression "iVar22 < 0xd" identifier < number_literal) )) (compound_statement "{\n              do {\n                iVar22 = iVar22 + 1;\n                (**(code **)(pcVar28 + 0x29c984))(iVar1,iVar21 + 0x2158);\n              } while (iVar22 != 0xd);\n            }" { (do_statement "do {\n                iVar22 = iVar22 + 1;\n                (**(code **)(pcVar28 + 0x29c984))(iVar1,iVar21 + 0x2158);\n              } while (iVar22 != 0xd);" do (compound_statement "{\n                iVar22 = iVar22 + 1;\n                (**(code **)(pcVar28 + 0x29c984))(iVar1,iVar21 + 0x2158);\n              }" { (expression_statement "iVar22 = iVar22 + 1;" (assignment_expression "iVar22 = iVar22 + 1" identifier = (binary_expression "iVar22 + 1" identifier + number_literal)) ;) (expression_statement "(**(code **)(pcVar28 + 0x29c984))(iVar1,iVar21 + 0x2158);" (call_expression "(**(code **)(pcVar28 + 0x29c984))(iVar1,iVar21 + 0x2158)" (parenthesized_expression "(**(code **)(pcVar28 + 0x29c984))" ( (pointer_expression "**(code **)(pcVar28 + 0x29c984)" * (pointer_expression "*(code **)(pcVar28 + 0x29c984)" * (cast_expression "(code **)(pcVar28 + 0x29c984)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x29c984)" ( (binary_expression "pcVar28 + 0x29c984" identifier + number_literal) ))))) )) (argument_list "(iVar1,iVar21 + 0x2158)" ( identifier , (binary_expression "iVar21 + 0x2158" identifier + number_literal) ))) ;) }) while (parenthesized_expression "(iVar22 != 0xd)" ( (binary_expression "iVar22 != 0xd" identifier != number_literal) )) ;) })) (expression_statement "(**(code **)(pcVar28 + 0x29c984))(iVar1,*(int *)(pcVar28 + 0x29bd24) + -0x3e3c);" (call_expression "(**(code **)(pcVar28 + 0x29c984))(iVar1,*(int *)(pcVar28 + 0x29bd24) + -0x3e3c)" (parenthesized_expression "(**(code **)(pcVar28 + 0x29c984))" ( (pointer_expression "**(code **)(pcVar28 + 0x29c984)" * (pointer_expression "*(code **)(pcVar28 + 0x29c984)" * (cast_expression "(code **)(pcVar28 + 0x29c984)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x29c984)" ( (binary_expression "pcVar28 + 0x29c984" identifier + number_literal) ))))) )) (argument_list "(iVar1,*(int *)(pcVar28 + 0x29bd24) + -0x3e3c)" ( identifier , (binary_expression "*(int *)(pcVar28 + 0x29bd24) + -0x3e3c" (pointer_expression "*(int *)(pcVar28 + 0x29bd24)" * (cast_expression "(int *)(pcVar28 + 0x29bd24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x29bd24)" ( (binary_expression "pcVar28 + 0x29bd24" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "(**(code **)(pcVar28 + 0x29c984))(iVar1,*(int *)(pcVar28 + 0x29bd20) + 0x4644);" (call_expression "(**(code **)(pcVar28 + 0x29c984))(iVar1,*(int *)(pcVar28 + 0x29bd20) + 0x4644)" (parenthesized_expression "(**(code **)(pcVar28 + 0x29c984))" ( (pointer_expression "**(code **)(pcVar28 + 0x29c984)" * (pointer_expression "*(code **)(pcVar28 + 0x29c984)" * (cast_expression "(code **)(pcVar28 + 0x29c984)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x29c984)" ( (binary_expression "pcVar28 + 0x29c984" identifier + number_literal) ))))) )) (argument_list "(iVar1,*(int *)(pcVar28 + 0x29bd20) + 0x4644)" ( identifier , (binary_expression "*(int *)(pcVar28 + 0x29bd20) + 0x4644" (pointer_expression "*(int *)(pcVar28 + 0x29bd20)" * (cast_expression "(int *)(pcVar28 + 0x29bd20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x29bd20)" ( (binary_expression "pcVar28 + 0x29bd20" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "iVar13 = *piVar20;" (assignment_expression "iVar13 = *piVar20" identifier = (pointer_expression "*piVar20" * identifier)) ;) (expression_statement "iVar6 = *(int *)(iVar13 + 8);" (assignment_expression "iVar6 = *(int *)(iVar13 + 8)" identifier = (pointer_expression "*(int *)(iVar13 + 8)" * (cast_expression "(int *)(iVar13 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 8)" ( (binary_expression "iVar13 + 8" identifier + number_literal) ))))) ;) })) (if_statement "if (*(int *)(iVar13 + 0x10) != 0) {\n            (**(code **)(pcVar28 + 0x29c984))(iVar1,*(int *)(pcVar28 + 0x29bd24) + -0x62ac);\n            iVar13 = *piVar20;\n            uVar10 = (**(code **)(pcVar28 + 0x29c778))(*(undefined4 *)(iVar13 + 0x10));\n            if (uVar10 < 0x11) {\n              do {\n                uVar10 = uVar10 + 1;\n                (**(code **)(pcVar28 + 0x29c984))(iVar1,iVar21 + 0x2158);\n              } while (uVar10 != 0x11);\n              iVar13 = *piVar20;\n            }\n          }" if (parenthesized_expression "(*(int *)(iVar13 + 0x10) != 0)" ( (binary_expression "*(int *)(iVar13 + 0x10) != 0" (pointer_expression "*(int *)(iVar13 + 0x10)" * (cast_expression "(int *)(iVar13 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x10)" ( (binary_expression "iVar13 + 0x10" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n            (**(code **)(pcVar28 + 0x29c984))(iVar1,*(int *)(pcVar28 + 0x29bd24) + -0x62ac);\n            iVar13 = *piVar20;\n            uVar10 = (**(code **)(pcVar28 + 0x29c778))(*(undefined4 *)(iVar13 + 0x10));\n            if (uVar10 < 0x11) {\n              do {\n                uVar10 = uVar10 + 1;\n                (**(code **)(pcVar28 + 0x29c984))(iVar1,iVar21 + 0x2158);\n              } while (uVar10 != 0x11);\n              iVar13 = *piVar20;\n            }\n          }" { (expression_statement "(**(code **)(pcVar28 + 0x29c984))(iVar1,*(int *)(pcVar28 + 0x29bd24) + -0x62ac);" (call_expression "(**(code **)(pcVar28 + 0x29c984))(iVar1,*(int *)(pcVar28 + 0x29bd24) + -0x62ac)" (parenthesized_expression "(**(code **)(pcVar28 + 0x29c984))" ( (pointer_expression "**(code **)(pcVar28 + 0x29c984)" * (pointer_expression "*(code **)(pcVar28 + 0x29c984)" * (cast_expression "(code **)(pcVar28 + 0x29c984)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x29c984)" ( (binary_expression "pcVar28 + 0x29c984" identifier + number_literal) ))))) )) (argument_list "(iVar1,*(int *)(pcVar28 + 0x29bd24) + -0x62ac)" ( identifier , (binary_expression "*(int *)(pcVar28 + 0x29bd24) + -0x62ac" (pointer_expression "*(int *)(pcVar28 + 0x29bd24)" * (cast_expression "(int *)(pcVar28 + 0x29bd24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x29bd24)" ( (binary_expression "pcVar28 + 0x29bd24" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "iVar13 = *piVar20;" (assignment_expression "iVar13 = *piVar20" identifier = (pointer_expression "*piVar20" * identifier)) ;) (expression_statement "uVar10 = (**(code **)(pcVar28 + 0x29c778))(*(undefined4 *)(iVar13 + 0x10));" (assignment_expression "uVar10 = (**(code **)(pcVar28 + 0x29c778))(*(undefined4 *)(iVar13 + 0x10))" identifier = (call_expression "(**(code **)(pcVar28 + 0x29c778))(*(undefined4 *)(iVar13 + 0x10))" (parenthesized_expression "(**(code **)(pcVar28 + 0x29c778))" ( (pointer_expression "**(code **)(pcVar28 + 0x29c778)" * (pointer_expression "*(code **)(pcVar28 + 0x29c778)" * (cast_expression "(code **)(pcVar28 + 0x29c778)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x29c778)" ( (binary_expression "pcVar28 + 0x29c778" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar13 + 0x10))" ( (pointer_expression "*(undefined4 *)(iVar13 + 0x10)" * (cast_expression "(undefined4 *)(iVar13 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x10)" ( (binary_expression "iVar13 + 0x10" identifier + number_literal) )))) )))) ;) (if_statement "if (uVar10 < 0x11) {\n              do {\n                uVar10 = uVar10 + 1;\n                (**(code **)(pcVar28 + 0x29c984))(iVar1,iVar21 + 0x2158);\n              } while (uVar10 != 0x11);\n              iVar13 = *piVar20;\n            }" if (parenthesized_expression "(uVar10 < 0x11)" ( (binary_expression "uVar10 < 0x11" identifier < number_literal) )) (compound_statement "{\n              do {\n                uVar10 = uVar10 + 1;\n                (**(code **)(pcVar28 + 0x29c984))(iVar1,iVar21 + 0x2158);\n              } while (uVar10 != 0x11);\n              iVar13 = *piVar20;\n            }" { (do_statement "do {\n                uVar10 = uVar10 + 1;\n                (**(code **)(pcVar28 + 0x29c984))(iVar1,iVar21 + 0x2158);\n              } while (uVar10 != 0x11);" do (compound_statement "{\n                uVar10 = uVar10 + 1;\n                (**(code **)(pcVar28 + 0x29c984))(iVar1,iVar21 + 0x2158);\n              }" { (expression_statement "uVar10 = uVar10 + 1;" (assignment_expression "uVar10 = uVar10 + 1" identifier = (binary_expression "uVar10 + 1" identifier + number_literal)) ;) (expression_statement "(**(code **)(pcVar28 + 0x29c984))(iVar1,iVar21 + 0x2158);" (call_expression "(**(code **)(pcVar28 + 0x29c984))(iVar1,iVar21 + 0x2158)" (parenthesized_expression "(**(code **)(pcVar28 + 0x29c984))" ( (pointer_expression "**(code **)(pcVar28 + 0x29c984)" * (pointer_expression "*(code **)(pcVar28 + 0x29c984)" * (cast_expression "(code **)(pcVar28 + 0x29c984)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x29c984)" ( (binary_expression "pcVar28 + 0x29c984" identifier + number_literal) ))))) )) (argument_list "(iVar1,iVar21 + 0x2158)" ( identifier , (binary_expression "iVar21 + 0x2158" identifier + number_literal) ))) ;) }) while (parenthesized_expression "(uVar10 != 0x11)" ( (binary_expression "uVar10 != 0x11" identifier != number_literal) )) ;) (expression_statement "iVar13 = *piVar20;" (assignment_expression "iVar13 = *piVar20" identifier = (pointer_expression "*piVar20" * identifier)) ;) })) })) (expression_statement "dVar30 = (double)*(int *)(iVar13 + 0x18);" (assignment_expression "dVar30 = (double)*(int *)(iVar13 + 0x18)" identifier = (cast_expression "(double)*(int *)(iVar13 + 0x18)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(int *)(iVar13 + 0x18)" * (cast_expression "(int *)(iVar13 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x18)" ( (binary_expression "iVar13 + 0x18" identifier + number_literal) )))))) ;) (if_statement "if (*(int *)(iVar13 + 0x18) < 0) {\n            dVar30 = dVar30 + *(double *)(iVar4 + 0x1418);\n          }" if (parenthesized_expression "(*(int *)(iVar13 + 0x18) < 0)" ( (binary_expression "*(int *)(iVar13 + 0x18) < 0" (pointer_expression "*(int *)(iVar13 + 0x18)" * (cast_expression "(int *)(iVar13 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x18)" ( (binary_expression "iVar13 + 0x18" identifier + number_literal) )))) < number_literal) )) (compound_statement "{\n            dVar30 = dVar30 + *(double *)(iVar4 + 0x1418);\n          }" { (expression_statement "dVar30 = dVar30 + *(double *)(iVar4 + 0x1418);" (assignment_expression "dVar30 = dVar30 + *(double *)(iVar4 + 0x1418)" identifier = (binary_expression "dVar30 + *(double *)(iVar4 + 0x1418)" identifier + (pointer_expression "*(double *)(iVar4 + 0x1418)" * (cast_expression "(double *)(iVar4 + 0x1418)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x1418)" ( (binary_expression "iVar4 + 0x1418" identifier + number_literal) )))))) ;) })) (expression_statement "(**(code **)(pcVar28 + 0x29c984))\n                    (iVar1,iVar19 + -0x3e1c,(int)((ulonglong)dVar30 >> 0x20),SUB84(dVar30,0));" (call_expression "(**(code **)(pcVar28 + 0x29c984))\n                    (iVar1,iVar19 + -0x3e1c,(int)((ulonglong)dVar30 >> 0x20),SUB84(dVar30,0))" (parenthesized_expression "(**(code **)(pcVar28 + 0x29c984))" ( (pointer_expression "**(code **)(pcVar28 + 0x29c984)" * (pointer_expression "*(code **)(pcVar28 + 0x29c984)" * (cast_expression "(code **)(pcVar28 + 0x29c984)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x29c984)" ( (binary_expression "pcVar28 + 0x29c984" identifier + number_literal) ))))) )) (argument_list "(iVar1,iVar19 + -0x3e1c,(int)((ulonglong)dVar30 >> 0x20),SUB84(dVar30,0))" ( identifier , (binary_expression "iVar19 + -0x3e1c" identifier + number_literal) , (cast_expression "(int)((ulonglong)dVar30 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)dVar30 >> 0x20)" ( (binary_expression "(ulonglong)dVar30 >> 0x20" (cast_expression "(ulonglong)dVar30" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) , (call_expression "SUB84(dVar30,0)" identifier (argument_list "(dVar30,0)" ( identifier , number_literal ))) ))) ;) (expression_statement "dVar30 = (double)*(int *)(*piVar20 + 0x1c);" (assignment_expression "dVar30 = (double)*(int *)(*piVar20 + 0x1c)" identifier = (cast_expression "(double)*(int *)(*piVar20 + 0x1c)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(int *)(*piVar20 + 0x1c)" * (cast_expression "(int *)(*piVar20 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar20 + 0x1c)" ( (binary_expression "*piVar20 + 0x1c" (pointer_expression "*piVar20" * identifier) + number_literal) )))))) ;) (if_statement "if (*(int *)(*piVar20 + 0x1c) < 0) {\n            dVar30 = dVar30 + dVar31;\n          }" if (parenthesized_expression "(*(int *)(*piVar20 + 0x1c) < 0)" ( (binary_expression "*(int *)(*piVar20 + 0x1c) < 0" (pointer_expression "*(int *)(*piVar20 + 0x1c)" * (cast_expression "(int *)(*piVar20 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar20 + 0x1c)" ( (binary_expression "*piVar20 + 0x1c" (pointer_expression "*piVar20" * identifier) + number_literal) )))) < number_literal) )) (compound_statement "{\n            dVar30 = dVar30 + dVar31;\n          }" { (expression_statement "dVar30 = dVar30 + dVar31;" (assignment_expression "dVar30 = dVar30 + dVar31" identifier = (binary_expression "dVar30 + dVar31" identifier + identifier)) ;) })) (expression_statement "(**(code **)(pcVar28 + 0x29c984))\n                    (iVar1,iVar7 + -0x3e14,(int)((ulonglong)dVar30 >> 0x20),SUB84(dVar30,0));" (call_expression "(**(code **)(pcVar28 + 0x29c984))\n                    (iVar1,iVar7 + -0x3e14,(int)((ulonglong)dVar30 >> 0x20),SUB84(dVar30,0))" (parenthesized_expression "(**(code **)(pcVar28 + 0x29c984))" ( (pointer_expression "**(code **)(pcVar28 + 0x29c984)" * (pointer_expression "*(code **)(pcVar28 + 0x29c984)" * (cast_expression "(code **)(pcVar28 + 0x29c984)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x29c984)" ( (binary_expression "pcVar28 + 0x29c984" identifier + number_literal) ))))) )) (argument_list "(iVar1,iVar7 + -0x3e14,(int)((ulonglong)dVar30 >> 0x20),SUB84(dVar30,0))" ( identifier , (binary_expression "iVar7 + -0x3e14" identifier + number_literal) , (cast_expression "(int)((ulonglong)dVar30 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)dVar30 >> 0x20)" ( (binary_expression "(ulonglong)dVar30 >> 0x20" (cast_expression "(ulonglong)dVar30" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) , (call_expression "SUB84(dVar30,0)" identifier (argument_list "(dVar30,0)" ( identifier , number_literal ))) ))) ;) (expression_statement "pcVar16 = *(char **)(*piVar20 + 0x14);" (assignment_expression "pcVar16 = *(char **)(*piVar20 + 0x14)" identifier = (pointer_expression "*(char **)(*piVar20 + 0x14)" * (cast_expression "(char **)(*piVar20 + 0x14)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar20 + 0x14)" ( (binary_expression "*piVar20 + 0x14" (pointer_expression "*piVar20" * identifier) + number_literal) ))))) ;) (if_statement "if (pcVar16 != (char *)0x0) {\n            (**(code **)(pcVar28 + 0x29c984))(iVar1,*(int *)(pcVar28 + 0x29bd24) + -0x62ac);\n          }" if (parenthesized_expression "(pcVar16 != (char *)0x0)" ( (binary_expression "pcVar16 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            (**(code **)(pcVar28 + 0x29c984))(iVar1,*(int *)(pcVar28 + 0x29bd24) + -0x62ac);\n          }" { (expression_statement "(**(code **)(pcVar28 + 0x29c984))(iVar1,*(int *)(pcVar28 + 0x29bd24) + -0x62ac);" (call_expression "(**(code **)(pcVar28 + 0x29c984))(iVar1,*(int *)(pcVar28 + 0x29bd24) + -0x62ac)" (parenthesized_expression "(**(code **)(pcVar28 + 0x29c984))" ( (pointer_expression "**(code **)(pcVar28 + 0x29c984)" * (pointer_expression "*(code **)(pcVar28 + 0x29c984)" * (cast_expression "(code **)(pcVar28 + 0x29c984)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x29c984)" ( (binary_expression "pcVar28 + 0x29c984" identifier + number_literal) ))))) )) (argument_list "(iVar1,*(int *)(pcVar28 + 0x29bd24) + -0x62ac)" ( identifier , (binary_expression "*(int *)(pcVar28 + 0x29bd24) + -0x62ac" (pointer_expression "*(int *)(pcVar28 + 0x29bd24)" * (cast_expression "(int *)(pcVar28 + 0x29bd24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x29bd24)" ( (binary_expression "pcVar28 + 0x29bd24" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "piVar17 = (int *)(*(int *)(pcVar28 + 0x29bd2c) + -0x4bdc);" (assignment_expression "piVar17 = (int *)(*(int *)(pcVar28 + 0x29bd2c) + -0x4bdc)" identifier = (cast_expression "(int *)(*(int *)(pcVar28 + 0x29bd2c) + -0x4bdc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar28 + 0x29bd2c) + -0x4bdc)" ( (binary_expression "*(int *)(pcVar28 + 0x29bd2c) + -0x4bdc" (pointer_expression "*(int *)(pcVar28 + 0x29bd2c)" * (cast_expression "(int *)(pcVar28 + 0x29bd2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x29bd2c)" ( (binary_expression "pcVar28 + 0x29bd2c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(**(code **)(pcVar28 + 0x29c984))(iVar1);" (call_expression "(**(code **)(pcVar28 + 0x29c984))(iVar1)" (parenthesized_expression "(**(code **)(pcVar28 + 0x29c984))" ( (pointer_expression "**(code **)(pcVar28 + 0x29c984)" * (pointer_expression "*(code **)(pcVar28 + 0x29c984)" * (cast_expression "(code **)(pcVar28 + 0x29c984)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x29c984)" ( (binary_expression "pcVar28 + 0x29c984" identifier + number_literal) ))))) )) (argument_list "(iVar1)" ( identifier ))) ;) (expression_statement "iVar22 = iStack_d0;" (assignment_expression "iVar22 = iStack_d0" identifier = identifier) ;) })) (expression_statement "iVar23 = iVar23 + 1;" (assignment_expression "iVar23 = iVar23 + 1" identifier = (binary_expression "iVar23 + 1" identifier + number_literal)) ;) (expression_statement "piVar20 = piVar20 + 1;" (assignment_expression "piVar20 = piVar20 + 1" identifier = (binary_expression "piVar20 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar23 < iVar22)" ( (binary_expression "iVar23 < iVar22" identifier < identifier) )) ;) })) (expression_statement "(**(code **)(pcVar28 + 0x29c8cc))(iVar1);" (call_expression "(**(code **)(pcVar28 + 0x29c8cc))(iVar1)" (parenthesized_expression "(**(code **)(pcVar28 + 0x29c8cc))" ( (pointer_expression "**(code **)(pcVar28 + 0x29c8cc)" * (pointer_expression "*(code **)(pcVar28 + 0x29c8cc)" * (cast_expression "(code **)(pcVar28 + 0x29c8cc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x29c8cc)" ( (binary_expression "pcVar28 + 0x29c8cc" identifier + number_literal) ))))) )) (argument_list "(iVar1)" ( identifier ))) ;) (expression_statement "(**(code **)(pcVar28 + 0x29c400))(piVar5);" (call_expression "(**(code **)(pcVar28 + 0x29c400))(piVar5)" (parenthesized_expression "(**(code **)(pcVar28 + 0x29c400))" ( (pointer_expression "**(code **)(pcVar28 + 0x29c400)" * (pointer_expression "*(code **)(pcVar28 + 0x29c400)" * (cast_expression "(code **)(pcVar28 + 0x29c400)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x29c400)" ( (binary_expression "pcVar28 + 0x29c400" identifier + number_literal) ))))) )) (argument_list "(piVar5)" ( identifier ))) ;) (expression_statement "MVar2 = MagickTrue;" (assignment_expression "MVar2 = MagickTrue" identifier = identifier) ;) }))) (if_statement "if (iStack_cc == *piVar8) {\n    return MVar2;\n  }" if (parenthesized_expression "(iStack_cc == *piVar8)" ( (binary_expression "iStack_cc == *piVar8" identifier == (pointer_expression "*piVar8" * identifier)) )) (compound_statement "{\n    return MVar2;\n  }" { (return_statement "return MVar2;" return identifier ;) })) (expression_statement "pcVar28 = *(code **)(pcVar28 + 0x29c4a4);" (assignment_expression "pcVar28 = *(code **)(pcVar28 + 0x29c4a4)" identifier = (pointer_expression "*(code **)(pcVar28 + 0x29c4a4)" * (cast_expression "(code **)(pcVar28 + 0x29c4a4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x29c4a4)" ( (binary_expression "pcVar28 + 0x29c4a4" identifier + number_literal) ))))) ;) (expression_statement "iVar4 = iStack_cc;" (assignment_expression "iVar4 = iStack_cc" identifier = identifier) ;) (expression_statement "(*pcVar28)();" (call_expression "(*pcVar28)()" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "()" ( ))) ;) (if_statement "if (iVar4 == 0) {\n    (**(code **)(pcVar28 + 0x29c674))\n              (*(int *)(pcVar28 + 0x29b94c) + 0x45e0,*(int *)(pcVar28 + 0x29b950) + -0x40d0,0x250,\n               *(int *)(pcVar28 + 0x29b950) + -0x3bec);\n  }\n  else {\n    iVar1 = *(int *)(pcVar28 + 0x29b950);\n    pEVar15 = (ExceptionInfo *)(iVar1 + -0x40d0);\n    (**(code **)(pcVar28 + 0x29c24c))\n              (0x8000,pEVar15,*(int *)(pcVar28 + 0x29b950) + -0x3bf8,0x251,\n               *(int *)(pcVar28 + 0x29b950) + -0x62ac,iVar4);\n    if (piVar17 != (int *)0x0) {\n      *piVar17 = 0;\n      pLVar3 = GetLogInfo(pcVar16,pEVar15);\n      if (pLVar3 != (LogInfo *)0x0) {\n        iVar22 = *(int *)(pcVar28 + 0x29b938);\n        iVar1 = (**(code **)(pcVar28 + 0x29c460))(*(undefined4 *)(iVar22 + -0x5088));\n        puVar11 = (undefined4 *)(**(code **)(pcVar28 + 0x29c578))(iVar1 + 1,4);\n        if (puVar11 != (undefined4 *)0x0) {\n          iVar1 = *(int *)(pcVar28 + 0x29b938);\n          (**(code **)(pcVar28 + 0x29c754))(*(undefined4 *)(iVar1 + -0x5090));\n          (**(code **)(pcVar28 + 0x29c5a4))(*(undefined4 *)(iVar22 + -0x5088));\n          iVar6 = (**(code **)(pcVar28 + 0x29c37c))(*(undefined4 *)(iVar22 + -0x5088));\n          if (iVar6 == 0) {\n            iVar19 = 0;\n            puVar24 = puVar11;\n          }\n          else {\n            iVar19 = 0;\nLAB_0010d0bc:\n            do {\n              if (*(int *)(iVar6 + 0x2c) == 0) {\n                uVar26 = *(undefined4 *)(iVar6 + 0xc);\n                iVar6 = (**(code **)(pcVar28 + 0x29c6b4))(uVar26,iVar4,0);\n                if (iVar6 != 0) {\n                  iVar21 = iVar19 + 1;\n                  uVar26 = (**(code **)(pcVar28 + 0x29c120))(uVar26);\n                  uVar14 = *(undefined4 *)(iVar22 + -0x5088);\n                  puVar11[iVar19] = uVar26;\n                  iVar7 = iVar19 + 1;\n                  iVar6 = (**(code **)(pcVar28 + 0x29c37c))(uVar14);\n                  iVar19 = iVar21;\n                  puVar24 = puVar11 + iVar7;\n                  if (iVar6 == 0) break;\n                  goto LAB_0010d0bc;\n                }\n              }\n              iVar6 = (**(code **)(pcVar28 + 0x29c37c))(*(undefined4 *)(iVar22 + -0x5088));\n              puVar24 = puVar11 + iVar19;\n            } while (iVar6 != 0);\n          }\n          (**(code **)(pcVar28 + 0x29c3ec))(*(undefined4 *)(iVar1 + -0x5090));\n          (**(code **)(pcVar28 + 0x29c940))(puVar11,iVar19,4,*(int *)(pcVar28 + 0x29bb04) + -0x578c)\n          ;\n          *piVar17 = iVar19;\n          *puVar24 = 0;\n          return (MagickBooleanType)puVar11;\n        }\n      }\n      return MagickFalse;\n    }\n  }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n    (**(code **)(pcVar28 + 0x29c674))\n              (*(int *)(pcVar28 + 0x29b94c) + 0x45e0,*(int *)(pcVar28 + 0x29b950) + -0x40d0,0x250,\n               *(int *)(pcVar28 + 0x29b950) + -0x3bec);\n  }" { (expression_statement "(**(code **)(pcVar28 + 0x29c674))\n              (*(int *)(pcVar28 + 0x29b94c) + 0x45e0,*(int *)(pcVar28 + 0x29b950) + -0x40d0,0x250,\n               *(int *)(pcVar28 + 0x29b950) + -0x3bec);" (call_expression "(**(code **)(pcVar28 + 0x29c674))\n              (*(int *)(pcVar28 + 0x29b94c) + 0x45e0,*(int *)(pcVar28 + 0x29b950) + -0x40d0,0x250,\n               *(int *)(pcVar28 + 0x29b950) + -0x3bec)" (parenthesized_expression "(**(code **)(pcVar28 + 0x29c674))" ( (pointer_expression "**(code **)(pcVar28 + 0x29c674)" * (pointer_expression "*(code **)(pcVar28 + 0x29c674)" * (cast_expression "(code **)(pcVar28 + 0x29c674)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x29c674)" ( (binary_expression "pcVar28 + 0x29c674" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar28 + 0x29b94c) + 0x45e0,*(int *)(pcVar28 + 0x29b950) + -0x40d0,0x250,\n               *(int *)(pcVar28 + 0x29b950) + -0x3bec)" ( (binary_expression "*(int *)(pcVar28 + 0x29b94c) + 0x45e0" (pointer_expression "*(int *)(pcVar28 + 0x29b94c)" * (cast_expression "(int *)(pcVar28 + 0x29b94c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x29b94c)" ( (binary_expression "pcVar28 + 0x29b94c" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar28 + 0x29b950) + -0x40d0" (pointer_expression "*(int *)(pcVar28 + 0x29b950)" * (cast_expression "(int *)(pcVar28 + 0x29b950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x29b950)" ( (binary_expression "pcVar28 + 0x29b950" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar28 + 0x29b950) + -0x3bec" (pointer_expression "*(int *)(pcVar28 + 0x29b950)" * (cast_expression "(int *)(pcVar28 + 0x29b950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x29b950)" ( (binary_expression "pcVar28 + 0x29b950" identifier + number_literal) )))) + number_literal) ))) ;) }) (else_clause "else {\n    iVar1 = *(int *)(pcVar28 + 0x29b950);\n    pEVar15 = (ExceptionInfo *)(iVar1 + -0x40d0);\n    (**(code **)(pcVar28 + 0x29c24c))\n              (0x8000,pEVar15,*(int *)(pcVar28 + 0x29b950) + -0x3bf8,0x251,\n               *(int *)(pcVar28 + 0x29b950) + -0x62ac,iVar4);\n    if (piVar17 != (int *)0x0) {\n      *piVar17 = 0;\n      pLVar3 = GetLogInfo(pcVar16,pEVar15);\n      if (pLVar3 != (LogInfo *)0x0) {\n        iVar22 = *(int *)(pcVar28 + 0x29b938);\n        iVar1 = (**(code **)(pcVar28 + 0x29c460))(*(undefined4 *)(iVar22 + -0x5088));\n        puVar11 = (undefined4 *)(**(code **)(pcVar28 + 0x29c578))(iVar1 + 1,4);\n        if (puVar11 != (undefined4 *)0x0) {\n          iVar1 = *(int *)(pcVar28 + 0x29b938);\n          (**(code **)(pcVar28 + 0x29c754))(*(undefined4 *)(iVar1 + -0x5090));\n          (**(code **)(pcVar28 + 0x29c5a4))(*(undefined4 *)(iVar22 + -0x5088));\n          iVar6 = (**(code **)(pcVar28 + 0x29c37c))(*(undefined4 *)(iVar22 + -0x5088));\n          if (iVar6 == 0) {\n            iVar19 = 0;\n            puVar24 = puVar11;\n          }\n          else {\n            iVar19 = 0;\nLAB_0010d0bc:\n            do {\n              if (*(int *)(iVar6 + 0x2c) == 0) {\n                uVar26 = *(undefined4 *)(iVar6 + 0xc);\n                iVar6 = (**(code **)(pcVar28 + 0x29c6b4))(uVar26,iVar4,0);\n                if (iVar6 != 0) {\n                  iVar21 = iVar19 + 1;\n                  uVar26 = (**(code **)(pcVar28 + 0x29c120))(uVar26);\n                  uVar14 = *(undefined4 *)(iVar22 + -0x5088);\n                  puVar11[iVar19] = uVar26;\n                  iVar7 = iVar19 + 1;\n                  iVar6 = (**(code **)(pcVar28 + 0x29c37c))(uVar14);\n                  iVar19 = iVar21;\n                  puVar24 = puVar11 + iVar7;\n                  if (iVar6 == 0) break;\n                  goto LAB_0010d0bc;\n                }\n              }\n              iVar6 = (**(code **)(pcVar28 + 0x29c37c))(*(undefined4 *)(iVar22 + -0x5088));\n              puVar24 = puVar11 + iVar19;\n            } while (iVar6 != 0);\n          }\n          (**(code **)(pcVar28 + 0x29c3ec))(*(undefined4 *)(iVar1 + -0x5090));\n          (**(code **)(pcVar28 + 0x29c940))(puVar11,iVar19,4,*(int *)(pcVar28 + 0x29bb04) + -0x578c)\n          ;\n          *piVar17 = iVar19;\n          *puVar24 = 0;\n          return (MagickBooleanType)puVar11;\n        }\n      }\n      return MagickFalse;\n    }\n  }" else (compound_statement "{\n    iVar1 = *(int *)(pcVar28 + 0x29b950);\n    pEVar15 = (ExceptionInfo *)(iVar1 + -0x40d0);\n    (**(code **)(pcVar28 + 0x29c24c))\n              (0x8000,pEVar15,*(int *)(pcVar28 + 0x29b950) + -0x3bf8,0x251,\n               *(int *)(pcVar28 + 0x29b950) + -0x62ac,iVar4);\n    if (piVar17 != (int *)0x0) {\n      *piVar17 = 0;\n      pLVar3 = GetLogInfo(pcVar16,pEVar15);\n      if (pLVar3 != (LogInfo *)0x0) {\n        iVar22 = *(int *)(pcVar28 + 0x29b938);\n        iVar1 = (**(code **)(pcVar28 + 0x29c460))(*(undefined4 *)(iVar22 + -0x5088));\n        puVar11 = (undefined4 *)(**(code **)(pcVar28 + 0x29c578))(iVar1 + 1,4);\n        if (puVar11 != (undefined4 *)0x0) {\n          iVar1 = *(int *)(pcVar28 + 0x29b938);\n          (**(code **)(pcVar28 + 0x29c754))(*(undefined4 *)(iVar1 + -0x5090));\n          (**(code **)(pcVar28 + 0x29c5a4))(*(undefined4 *)(iVar22 + -0x5088));\n          iVar6 = (**(code **)(pcVar28 + 0x29c37c))(*(undefined4 *)(iVar22 + -0x5088));\n          if (iVar6 == 0) {\n            iVar19 = 0;\n            puVar24 = puVar11;\n          }\n          else {\n            iVar19 = 0;\nLAB_0010d0bc:\n            do {\n              if (*(int *)(iVar6 + 0x2c) == 0) {\n                uVar26 = *(undefined4 *)(iVar6 + 0xc);\n                iVar6 = (**(code **)(pcVar28 + 0x29c6b4))(uVar26,iVar4,0);\n                if (iVar6 != 0) {\n                  iVar21 = iVar19 + 1;\n                  uVar26 = (**(code **)(pcVar28 + 0x29c120))(uVar26);\n                  uVar14 = *(undefined4 *)(iVar22 + -0x5088);\n                  puVar11[iVar19] = uVar26;\n                  iVar7 = iVar19 + 1;\n                  iVar6 = (**(code **)(pcVar28 + 0x29c37c))(uVar14);\n                  iVar19 = iVar21;\n                  puVar24 = puVar11 + iVar7;\n                  if (iVar6 == 0) break;\n                  goto LAB_0010d0bc;\n                }\n              }\n              iVar6 = (**(code **)(pcVar28 + 0x29c37c))(*(undefined4 *)(iVar22 + -0x5088));\n              puVar24 = puVar11 + iVar19;\n            } while (iVar6 != 0);\n          }\n          (**(code **)(pcVar28 + 0x29c3ec))(*(undefined4 *)(iVar1 + -0x5090));\n          (**(code **)(pcVar28 + 0x29c940))(puVar11,iVar19,4,*(int *)(pcVar28 + 0x29bb04) + -0x578c)\n          ;\n          *piVar17 = iVar19;\n          *puVar24 = 0;\n          return (MagickBooleanType)puVar11;\n        }\n      }\n      return MagickFalse;\n    }\n  }" { (expression_statement "iVar1 = *(int *)(pcVar28 + 0x29b950);" (assignment_expression "iVar1 = *(int *)(pcVar28 + 0x29b950)" identifier = (pointer_expression "*(int *)(pcVar28 + 0x29b950)" * (cast_expression "(int *)(pcVar28 + 0x29b950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x29b950)" ( (binary_expression "pcVar28 + 0x29b950" identifier + number_literal) ))))) ;) (expression_statement "pEVar15 = (ExceptionInfo *)(iVar1 + -0x40d0);" (assignment_expression "pEVar15 = (ExceptionInfo *)(iVar1 + -0x40d0)" identifier = (cast_expression "(ExceptionInfo *)(iVar1 + -0x40d0)" ( (type_descriptor "ExceptionInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + -0x40d0)" ( (binary_expression "iVar1 + -0x40d0" identifier + number_literal) )))) ;) (expression_statement "(**(code **)(pcVar28 + 0x29c24c))\n              (0x8000,pEVar15,*(int *)(pcVar28 + 0x29b950) + -0x3bf8,0x251,\n               *(int *)(pcVar28 + 0x29b950) + -0x62ac,iVar4);" (call_expression "(**(code **)(pcVar28 + 0x29c24c))\n              (0x8000,pEVar15,*(int *)(pcVar28 + 0x29b950) + -0x3bf8,0x251,\n               *(int *)(pcVar28 + 0x29b950) + -0x62ac,iVar4)" (parenthesized_expression "(**(code **)(pcVar28 + 0x29c24c))" ( (pointer_expression "**(code **)(pcVar28 + 0x29c24c)" * (pointer_expression "*(code **)(pcVar28 + 0x29c24c)" * (cast_expression "(code **)(pcVar28 + 0x29c24c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x29c24c)" ( (binary_expression "pcVar28 + 0x29c24c" identifier + number_literal) ))))) )) (argument_list "(0x8000,pEVar15,*(int *)(pcVar28 + 0x29b950) + -0x3bf8,0x251,\n               *(int *)(pcVar28 + 0x29b950) + -0x62ac,iVar4)" ( number_literal , identifier , (binary_expression "*(int *)(pcVar28 + 0x29b950) + -0x3bf8" (pointer_expression "*(int *)(pcVar28 + 0x29b950)" * (cast_expression "(int *)(pcVar28 + 0x29b950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x29b950)" ( (binary_expression "pcVar28 + 0x29b950" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar28 + 0x29b950) + -0x62ac" (pointer_expression "*(int *)(pcVar28 + 0x29b950)" * (cast_expression "(int *)(pcVar28 + 0x29b950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x29b950)" ( (binary_expression "pcVar28 + 0x29b950" identifier + number_literal) )))) + number_literal) , identifier ))) ;) (if_statement "if (piVar17 != (int *)0x0) {\n      *piVar17 = 0;\n      pLVar3 = GetLogInfo(pcVar16,pEVar15);\n      if (pLVar3 != (LogInfo *)0x0) {\n        iVar22 = *(int *)(pcVar28 + 0x29b938);\n        iVar1 = (**(code **)(pcVar28 + 0x29c460))(*(undefined4 *)(iVar22 + -0x5088));\n        puVar11 = (undefined4 *)(**(code **)(pcVar28 + 0x29c578))(iVar1 + 1,4);\n        if (puVar11 != (undefined4 *)0x0) {\n          iVar1 = *(int *)(pcVar28 + 0x29b938);\n          (**(code **)(pcVar28 + 0x29c754))(*(undefined4 *)(iVar1 + -0x5090));\n          (**(code **)(pcVar28 + 0x29c5a4))(*(undefined4 *)(iVar22 + -0x5088));\n          iVar6 = (**(code **)(pcVar28 + 0x29c37c))(*(undefined4 *)(iVar22 + -0x5088));\n          if (iVar6 == 0) {\n            iVar19 = 0;\n            puVar24 = puVar11;\n          }\n          else {\n            iVar19 = 0;\nLAB_0010d0bc:\n            do {\n              if (*(int *)(iVar6 + 0x2c) == 0) {\n                uVar26 = *(undefined4 *)(iVar6 + 0xc);\n                iVar6 = (**(code **)(pcVar28 + 0x29c6b4))(uVar26,iVar4,0);\n                if (iVar6 != 0) {\n                  iVar21 = iVar19 + 1;\n                  uVar26 = (**(code **)(pcVar28 + 0x29c120))(uVar26);\n                  uVar14 = *(undefined4 *)(iVar22 + -0x5088);\n                  puVar11[iVar19] = uVar26;\n                  iVar7 = iVar19 + 1;\n                  iVar6 = (**(code **)(pcVar28 + 0x29c37c))(uVar14);\n                  iVar19 = iVar21;\n                  puVar24 = puVar11 + iVar7;\n                  if (iVar6 == 0) break;\n                  goto LAB_0010d0bc;\n                }\n              }\n              iVar6 = (**(code **)(pcVar28 + 0x29c37c))(*(undefined4 *)(iVar22 + -0x5088));\n              puVar24 = puVar11 + iVar19;\n            } while (iVar6 != 0);\n          }\n          (**(code **)(pcVar28 + 0x29c3ec))(*(undefined4 *)(iVar1 + -0x5090));\n          (**(code **)(pcVar28 + 0x29c940))(puVar11,iVar19,4,*(int *)(pcVar28 + 0x29bb04) + -0x578c)\n          ;\n          *piVar17 = iVar19;\n          *puVar24 = 0;\n          return (MagickBooleanType)puVar11;\n        }\n      }\n      return MagickFalse;\n    }" if (parenthesized_expression "(piVar17 != (int *)0x0)" ( (binary_expression "piVar17 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      *piVar17 = 0;\n      pLVar3 = GetLogInfo(pcVar16,pEVar15);\n      if (pLVar3 != (LogInfo *)0x0) {\n        iVar22 = *(int *)(pcVar28 + 0x29b938);\n        iVar1 = (**(code **)(pcVar28 + 0x29c460))(*(undefined4 *)(iVar22 + -0x5088));\n        puVar11 = (undefined4 *)(**(code **)(pcVar28 + 0x29c578))(iVar1 + 1,4);\n        if (puVar11 != (undefined4 *)0x0) {\n          iVar1 = *(int *)(pcVar28 + 0x29b938);\n          (**(code **)(pcVar28 + 0x29c754))(*(undefined4 *)(iVar1 + -0x5090));\n          (**(code **)(pcVar28 + 0x29c5a4))(*(undefined4 *)(iVar22 + -0x5088));\n          iVar6 = (**(code **)(pcVar28 + 0x29c37c))(*(undefined4 *)(iVar22 + -0x5088));\n          if (iVar6 == 0) {\n            iVar19 = 0;\n            puVar24 = puVar11;\n          }\n          else {\n            iVar19 = 0;\nLAB_0010d0bc:\n            do {\n              if (*(int *)(iVar6 + 0x2c) == 0) {\n                uVar26 = *(undefined4 *)(iVar6 + 0xc);\n                iVar6 = (**(code **)(pcVar28 + 0x29c6b4))(uVar26,iVar4,0);\n                if (iVar6 != 0) {\n                  iVar21 = iVar19 + 1;\n                  uVar26 = (**(code **)(pcVar28 + 0x29c120))(uVar26);\n                  uVar14 = *(undefined4 *)(iVar22 + -0x5088);\n                  puVar11[iVar19] = uVar26;\n                  iVar7 = iVar19 + 1;\n                  iVar6 = (**(code **)(pcVar28 + 0x29c37c))(uVar14);\n                  iVar19 = iVar21;\n                  puVar24 = puVar11 + iVar7;\n                  if (iVar6 == 0) break;\n                  goto LAB_0010d0bc;\n                }\n              }\n              iVar6 = (**(code **)(pcVar28 + 0x29c37c))(*(undefined4 *)(iVar22 + -0x5088));\n              puVar24 = puVar11 + iVar19;\n            } while (iVar6 != 0);\n          }\n          (**(code **)(pcVar28 + 0x29c3ec))(*(undefined4 *)(iVar1 + -0x5090));\n          (**(code **)(pcVar28 + 0x29c940))(puVar11,iVar19,4,*(int *)(pcVar28 + 0x29bb04) + -0x578c)\n          ;\n          *piVar17 = iVar19;\n          *puVar24 = 0;\n          return (MagickBooleanType)puVar11;\n        }\n      }\n      return MagickFalse;\n    }" { (expression_statement "*piVar17 = 0;" (assignment_expression "*piVar17 = 0" (pointer_expression "*piVar17" * identifier) = number_literal) ;) (expression_statement "pLVar3 = GetLogInfo(pcVar16,pEVar15);" (assignment_expression "pLVar3 = GetLogInfo(pcVar16,pEVar15)" identifier = (call_expression "GetLogInfo(pcVar16,pEVar15)" identifier (argument_list "(pcVar16,pEVar15)" ( identifier , identifier )))) ;) (if_statement "if (pLVar3 != (LogInfo *)0x0) {\n        iVar22 = *(int *)(pcVar28 + 0x29b938);\n        iVar1 = (**(code **)(pcVar28 + 0x29c460))(*(undefined4 *)(iVar22 + -0x5088));\n        puVar11 = (undefined4 *)(**(code **)(pcVar28 + 0x29c578))(iVar1 + 1,4);\n        if (puVar11 != (undefined4 *)0x0) {\n          iVar1 = *(int *)(pcVar28 + 0x29b938);\n          (**(code **)(pcVar28 + 0x29c754))(*(undefined4 *)(iVar1 + -0x5090));\n          (**(code **)(pcVar28 + 0x29c5a4))(*(undefined4 *)(iVar22 + -0x5088));\n          iVar6 = (**(code **)(pcVar28 + 0x29c37c))(*(undefined4 *)(iVar22 + -0x5088));\n          if (iVar6 == 0) {\n            iVar19 = 0;\n            puVar24 = puVar11;\n          }\n          else {\n            iVar19 = 0;\nLAB_0010d0bc:\n            do {\n              if (*(int *)(iVar6 + 0x2c) == 0) {\n                uVar26 = *(undefined4 *)(iVar6 + 0xc);\n                iVar6 = (**(code **)(pcVar28 + 0x29c6b4))(uVar26,iVar4,0);\n                if (iVar6 != 0) {\n                  iVar21 = iVar19 + 1;\n                  uVar26 = (**(code **)(pcVar28 + 0x29c120))(uVar26);\n                  uVar14 = *(undefined4 *)(iVar22 + -0x5088);\n                  puVar11[iVar19] = uVar26;\n                  iVar7 = iVar19 + 1;\n                  iVar6 = (**(code **)(pcVar28 + 0x29c37c))(uVar14);\n                  iVar19 = iVar21;\n                  puVar24 = puVar11 + iVar7;\n                  if (iVar6 == 0) break;\n                  goto LAB_0010d0bc;\n                }\n              }\n              iVar6 = (**(code **)(pcVar28 + 0x29c37c))(*(undefined4 *)(iVar22 + -0x5088));\n              puVar24 = puVar11 + iVar19;\n            } while (iVar6 != 0);\n          }\n          (**(code **)(pcVar28 + 0x29c3ec))(*(undefined4 *)(iVar1 + -0x5090));\n          (**(code **)(pcVar28 + 0x29c940))(puVar11,iVar19,4,*(int *)(pcVar28 + 0x29bb04) + -0x578c)\n          ;\n          *piVar17 = iVar19;\n          *puVar24 = 0;\n          return (MagickBooleanType)puVar11;\n        }\n      }" if (parenthesized_expression "(pLVar3 != (LogInfo *)0x0)" ( (binary_expression "pLVar3 != (LogInfo *)0x0" identifier != (cast_expression "(LogInfo *)0x0" ( (type_descriptor "LogInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        iVar22 = *(int *)(pcVar28 + 0x29b938);\n        iVar1 = (**(code **)(pcVar28 + 0x29c460))(*(undefined4 *)(iVar22 + -0x5088));\n        puVar11 = (undefined4 *)(**(code **)(pcVar28 + 0x29c578))(iVar1 + 1,4);\n        if (puVar11 != (undefined4 *)0x0) {\n          iVar1 = *(int *)(pcVar28 + 0x29b938);\n          (**(code **)(pcVar28 + 0x29c754))(*(undefined4 *)(iVar1 + -0x5090));\n          (**(code **)(pcVar28 + 0x29c5a4))(*(undefined4 *)(iVar22 + -0x5088));\n          iVar6 = (**(code **)(pcVar28 + 0x29c37c))(*(undefined4 *)(iVar22 + -0x5088));\n          if (iVar6 == 0) {\n            iVar19 = 0;\n            puVar24 = puVar11;\n          }\n          else {\n            iVar19 = 0;\nLAB_0010d0bc:\n            do {\n              if (*(int *)(iVar6 + 0x2c) == 0) {\n                uVar26 = *(undefined4 *)(iVar6 + 0xc);\n                iVar6 = (**(code **)(pcVar28 + 0x29c6b4))(uVar26,iVar4,0);\n                if (iVar6 != 0) {\n                  iVar21 = iVar19 + 1;\n                  uVar26 = (**(code **)(pcVar28 + 0x29c120))(uVar26);\n                  uVar14 = *(undefined4 *)(iVar22 + -0x5088);\n                  puVar11[iVar19] = uVar26;\n                  iVar7 = iVar19 + 1;\n                  iVar6 = (**(code **)(pcVar28 + 0x29c37c))(uVar14);\n                  iVar19 = iVar21;\n                  puVar24 = puVar11 + iVar7;\n                  if (iVar6 == 0) break;\n                  goto LAB_0010d0bc;\n                }\n              }\n              iVar6 = (**(code **)(pcVar28 + 0x29c37c))(*(undefined4 *)(iVar22 + -0x5088));\n              puVar24 = puVar11 + iVar19;\n            } while (iVar6 != 0);\n          }\n          (**(code **)(pcVar28 + 0x29c3ec))(*(undefined4 *)(iVar1 + -0x5090));\n          (**(code **)(pcVar28 + 0x29c940))(puVar11,iVar19,4,*(int *)(pcVar28 + 0x29bb04) + -0x578c)\n          ;\n          *piVar17 = iVar19;\n          *puVar24 = 0;\n          return (MagickBooleanType)puVar11;\n        }\n      }" { (expression_statement "iVar22 = *(int *)(pcVar28 + 0x29b938);" (assignment_expression "iVar22 = *(int *)(pcVar28 + 0x29b938)" identifier = (pointer_expression "*(int *)(pcVar28 + 0x29b938)" * (cast_expression "(int *)(pcVar28 + 0x29b938)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x29b938)" ( (binary_expression "pcVar28 + 0x29b938" identifier + number_literal) ))))) ;) (expression_statement "iVar1 = (**(code **)(pcVar28 + 0x29c460))(*(undefined4 *)(iVar22 + -0x5088));" (assignment_expression "iVar1 = (**(code **)(pcVar28 + 0x29c460))(*(undefined4 *)(iVar22 + -0x5088))" identifier = (call_expression "(**(code **)(pcVar28 + 0x29c460))(*(undefined4 *)(iVar22 + -0x5088))" (parenthesized_expression "(**(code **)(pcVar28 + 0x29c460))" ( (pointer_expression "**(code **)(pcVar28 + 0x29c460)" * (pointer_expression "*(code **)(pcVar28 + 0x29c460)" * (cast_expression "(code **)(pcVar28 + 0x29c460)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x29c460)" ( (binary_expression "pcVar28 + 0x29c460" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar22 + -0x5088))" ( (pointer_expression "*(undefined4 *)(iVar22 + -0x5088)" * (cast_expression "(undefined4 *)(iVar22 + -0x5088)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar22 + -0x5088)" ( (binary_expression "iVar22 + -0x5088" identifier + number_literal) )))) )))) ;) (expression_statement "puVar11 = (undefined4 *)(**(code **)(pcVar28 + 0x29c578))(iVar1 + 1,4);" (assignment_expression "puVar11 = (undefined4 *)(**(code **)(pcVar28 + 0x29c578))(iVar1 + 1,4)" identifier = (cast_expression "(undefined4 *)(**(code **)(pcVar28 + 0x29c578))(iVar1 + 1,4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar28 + 0x29c578))(iVar1 + 1,4)" (parenthesized_expression "(**(code **)(pcVar28 + 0x29c578))" ( (pointer_expression "**(code **)(pcVar28 + 0x29c578)" * (pointer_expression "*(code **)(pcVar28 + 0x29c578)" * (cast_expression "(code **)(pcVar28 + 0x29c578)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x29c578)" ( (binary_expression "pcVar28 + 0x29c578" identifier + number_literal) ))))) )) (argument_list "(iVar1 + 1,4)" ( (binary_expression "iVar1 + 1" identifier + number_literal) , number_literal ))))) ;) (if_statement "if (puVar11 != (undefined4 *)0x0) {\n          iVar1 = *(int *)(pcVar28 + 0x29b938);\n          (**(code **)(pcVar28 + 0x29c754))(*(undefined4 *)(iVar1 + -0x5090));\n          (**(code **)(pcVar28 + 0x29c5a4))(*(undefined4 *)(iVar22 + -0x5088));\n          iVar6 = (**(code **)(pcVar28 + 0x29c37c))(*(undefined4 *)(iVar22 + -0x5088));\n          if (iVar6 == 0) {\n            iVar19 = 0;\n            puVar24 = puVar11;\n          }\n          else {\n            iVar19 = 0;\nLAB_0010d0bc:\n            do {\n              if (*(int *)(iVar6 + 0x2c) == 0) {\n                uVar26 = *(undefined4 *)(iVar6 + 0xc);\n                iVar6 = (**(code **)(pcVar28 + 0x29c6b4))(uVar26,iVar4,0);\n                if (iVar6 != 0) {\n                  iVar21 = iVar19 + 1;\n                  uVar26 = (**(code **)(pcVar28 + 0x29c120))(uVar26);\n                  uVar14 = *(undefined4 *)(iVar22 + -0x5088);\n                  puVar11[iVar19] = uVar26;\n                  iVar7 = iVar19 + 1;\n                  iVar6 = (**(code **)(pcVar28 + 0x29c37c))(uVar14);\n                  iVar19 = iVar21;\n                  puVar24 = puVar11 + iVar7;\n                  if (iVar6 == 0) break;\n                  goto LAB_0010d0bc;\n                }\n              }\n              iVar6 = (**(code **)(pcVar28 + 0x29c37c))(*(undefined4 *)(iVar22 + -0x5088));\n              puVar24 = puVar11 + iVar19;\n            } while (iVar6 != 0);\n          }\n          (**(code **)(pcVar28 + 0x29c3ec))(*(undefined4 *)(iVar1 + -0x5090));\n          (**(code **)(pcVar28 + 0x29c940))(puVar11,iVar19,4,*(int *)(pcVar28 + 0x29bb04) + -0x578c)\n          ;\n          *piVar17 = iVar19;\n          *puVar24 = 0;\n          return (MagickBooleanType)puVar11;\n        }" if (parenthesized_expression "(puVar11 != (undefined4 *)0x0)" ( (binary_expression "puVar11 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          iVar1 = *(int *)(pcVar28 + 0x29b938);\n          (**(code **)(pcVar28 + 0x29c754))(*(undefined4 *)(iVar1 + -0x5090));\n          (**(code **)(pcVar28 + 0x29c5a4))(*(undefined4 *)(iVar22 + -0x5088));\n          iVar6 = (**(code **)(pcVar28 + 0x29c37c))(*(undefined4 *)(iVar22 + -0x5088));\n          if (iVar6 == 0) {\n            iVar19 = 0;\n            puVar24 = puVar11;\n          }\n          else {\n            iVar19 = 0;\nLAB_0010d0bc:\n            do {\n              if (*(int *)(iVar6 + 0x2c) == 0) {\n                uVar26 = *(undefined4 *)(iVar6 + 0xc);\n                iVar6 = (**(code **)(pcVar28 + 0x29c6b4))(uVar26,iVar4,0);\n                if (iVar6 != 0) {\n                  iVar21 = iVar19 + 1;\n                  uVar26 = (**(code **)(pcVar28 + 0x29c120))(uVar26);\n                  uVar14 = *(undefined4 *)(iVar22 + -0x5088);\n                  puVar11[iVar19] = uVar26;\n                  iVar7 = iVar19 + 1;\n                  iVar6 = (**(code **)(pcVar28 + 0x29c37c))(uVar14);\n                  iVar19 = iVar21;\n                  puVar24 = puVar11 + iVar7;\n                  if (iVar6 == 0) break;\n                  goto LAB_0010d0bc;\n                }\n              }\n              iVar6 = (**(code **)(pcVar28 + 0x29c37c))(*(undefined4 *)(iVar22 + -0x5088));\n              puVar24 = puVar11 + iVar19;\n            } while (iVar6 != 0);\n          }\n          (**(code **)(pcVar28 + 0x29c3ec))(*(undefined4 *)(iVar1 + -0x5090));\n          (**(code **)(pcVar28 + 0x29c940))(puVar11,iVar19,4,*(int *)(pcVar28 + 0x29bb04) + -0x578c)\n          ;\n          *piVar17 = iVar19;\n          *puVar24 = 0;\n          return (MagickBooleanType)puVar11;\n        }" { (expression_statement "iVar1 = *(int *)(pcVar28 + 0x29b938);" (assignment_expression "iVar1 = *(int *)(pcVar28 + 0x29b938)" identifier = (pointer_expression "*(int *)(pcVar28 + 0x29b938)" * (cast_expression "(int *)(pcVar28 + 0x29b938)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x29b938)" ( (binary_expression "pcVar28 + 0x29b938" identifier + number_literal) ))))) ;) (expression_statement "(**(code **)(pcVar28 + 0x29c754))(*(undefined4 *)(iVar1 + -0x5090));" (call_expression "(**(code **)(pcVar28 + 0x29c754))(*(undefined4 *)(iVar1 + -0x5090))" (parenthesized_expression "(**(code **)(pcVar28 + 0x29c754))" ( (pointer_expression "**(code **)(pcVar28 + 0x29c754)" * (pointer_expression "*(code **)(pcVar28 + 0x29c754)" * (cast_expression "(code **)(pcVar28 + 0x29c754)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x29c754)" ( (binary_expression "pcVar28 + 0x29c754" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar1 + -0x5090))" ( (pointer_expression "*(undefined4 *)(iVar1 + -0x5090)" * (cast_expression "(undefined4 *)(iVar1 + -0x5090)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + -0x5090)" ( (binary_expression "iVar1 + -0x5090" identifier + number_literal) )))) ))) ;) (expression_statement "(**(code **)(pcVar28 + 0x29c5a4))(*(undefined4 *)(iVar22 + -0x5088));" (call_expression "(**(code **)(pcVar28 + 0x29c5a4))(*(undefined4 *)(iVar22 + -0x5088))" (parenthesized_expression "(**(code **)(pcVar28 + 0x29c5a4))" ( (pointer_expression "**(code **)(pcVar28 + 0x29c5a4)" * (pointer_expression "*(code **)(pcVar28 + 0x29c5a4)" * (cast_expression "(code **)(pcVar28 + 0x29c5a4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x29c5a4)" ( (binary_expression "pcVar28 + 0x29c5a4" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar22 + -0x5088))" ( (pointer_expression "*(undefined4 *)(iVar22 + -0x5088)" * (cast_expression "(undefined4 *)(iVar22 + -0x5088)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar22 + -0x5088)" ( (binary_expression "iVar22 + -0x5088" identifier + number_literal) )))) ))) ;) (expression_statement "iVar6 = (**(code **)(pcVar28 + 0x29c37c))(*(undefined4 *)(iVar22 + -0x5088));" (assignment_expression "iVar6 = (**(code **)(pcVar28 + 0x29c37c))(*(undefined4 *)(iVar22 + -0x5088))" identifier = (call_expression "(**(code **)(pcVar28 + 0x29c37c))(*(undefined4 *)(iVar22 + -0x5088))" (parenthesized_expression "(**(code **)(pcVar28 + 0x29c37c))" ( (pointer_expression "**(code **)(pcVar28 + 0x29c37c)" * (pointer_expression "*(code **)(pcVar28 + 0x29c37c)" * (cast_expression "(code **)(pcVar28 + 0x29c37c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x29c37c)" ( (binary_expression "pcVar28 + 0x29c37c" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar22 + -0x5088))" ( (pointer_expression "*(undefined4 *)(iVar22 + -0x5088)" * (cast_expression "(undefined4 *)(iVar22 + -0x5088)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar22 + -0x5088)" ( (binary_expression "iVar22 + -0x5088" identifier + number_literal) )))) )))) ;) (if_statement "if (iVar6 == 0) {\n            iVar19 = 0;\n            puVar24 = puVar11;\n          }\n          else {\n            iVar19 = 0;\nLAB_0010d0bc:\n            do {\n              if (*(int *)(iVar6 + 0x2c) == 0) {\n                uVar26 = *(undefined4 *)(iVar6 + 0xc);\n                iVar6 = (**(code **)(pcVar28 + 0x29c6b4))(uVar26,iVar4,0);\n                if (iVar6 != 0) {\n                  iVar21 = iVar19 + 1;\n                  uVar26 = (**(code **)(pcVar28 + 0x29c120))(uVar26);\n                  uVar14 = *(undefined4 *)(iVar22 + -0x5088);\n                  puVar11[iVar19] = uVar26;\n                  iVar7 = iVar19 + 1;\n                  iVar6 = (**(code **)(pcVar28 + 0x29c37c))(uVar14);\n                  iVar19 = iVar21;\n                  puVar24 = puVar11 + iVar7;\n                  if (iVar6 == 0) break;\n                  goto LAB_0010d0bc;\n                }\n              }\n              iVar6 = (**(code **)(pcVar28 + 0x29c37c))(*(undefined4 *)(iVar22 + -0x5088));\n              puVar24 = puVar11 + iVar19;\n            } while (iVar6 != 0);\n          }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n            iVar19 = 0;\n            puVar24 = puVar11;\n          }" { (expression_statement "iVar19 = 0;" (assignment_expression "iVar19 = 0" identifier = number_literal) ;) (expression_statement "puVar24 = puVar11;" (assignment_expression "puVar24 = puVar11" identifier = identifier) ;) }) (else_clause "else {\n            iVar19 = 0;\nLAB_0010d0bc:\n            do {\n              if (*(int *)(iVar6 + 0x2c) == 0) {\n                uVar26 = *(undefined4 *)(iVar6 + 0xc);\n                iVar6 = (**(code **)(pcVar28 + 0x29c6b4))(uVar26,iVar4,0);\n                if (iVar6 != 0) {\n                  iVar21 = iVar19 + 1;\n                  uVar26 = (**(code **)(pcVar28 + 0x29c120))(uVar26);\n                  uVar14 = *(undefined4 *)(iVar22 + -0x5088);\n                  puVar11[iVar19] = uVar26;\n                  iVar7 = iVar19 + 1;\n                  iVar6 = (**(code **)(pcVar28 + 0x29c37c))(uVar14);\n                  iVar19 = iVar21;\n                  puVar24 = puVar11 + iVar7;\n                  if (iVar6 == 0) break;\n                  goto LAB_0010d0bc;\n                }\n              }\n              iVar6 = (**(code **)(pcVar28 + 0x29c37c))(*(undefined4 *)(iVar22 + -0x5088));\n              puVar24 = puVar11 + iVar19;\n            } while (iVar6 != 0);\n          }" else (compound_statement "{\n            iVar19 = 0;\nLAB_0010d0bc:\n            do {\n              if (*(int *)(iVar6 + 0x2c) == 0) {\n                uVar26 = *(undefined4 *)(iVar6 + 0xc);\n                iVar6 = (**(code **)(pcVar28 + 0x29c6b4))(uVar26,iVar4,0);\n                if (iVar6 != 0) {\n                  iVar21 = iVar19 + 1;\n                  uVar26 = (**(code **)(pcVar28 + 0x29c120))(uVar26);\n                  uVar14 = *(undefined4 *)(iVar22 + -0x5088);\n                  puVar11[iVar19] = uVar26;\n                  iVar7 = iVar19 + 1;\n                  iVar6 = (**(code **)(pcVar28 + 0x29c37c))(uVar14);\n                  iVar19 = iVar21;\n                  puVar24 = puVar11 + iVar7;\n                  if (iVar6 == 0) break;\n                  goto LAB_0010d0bc;\n                }\n              }\n              iVar6 = (**(code **)(pcVar28 + 0x29c37c))(*(undefined4 *)(iVar22 + -0x5088));\n              puVar24 = puVar11 + iVar19;\n            } while (iVar6 != 0);\n          }" { (expression_statement "iVar19 = 0;" (assignment_expression "iVar19 = 0" identifier = number_literal) ;) (labeled_statement "LAB_0010d0bc:\n            do {\n              if (*(int *)(iVar6 + 0x2c) == 0) {\n                uVar26 = *(undefined4 *)(iVar6 + 0xc);\n                iVar6 = (**(code **)(pcVar28 + 0x29c6b4))(uVar26,iVar4,0);\n                if (iVar6 != 0) {\n                  iVar21 = iVar19 + 1;\n                  uVar26 = (**(code **)(pcVar28 + 0x29c120))(uVar26);\n                  uVar14 = *(undefined4 *)(iVar22 + -0x5088);\n                  puVar11[iVar19] = uVar26;\n                  iVar7 = iVar19 + 1;\n                  iVar6 = (**(code **)(pcVar28 + 0x29c37c))(uVar14);\n                  iVar19 = iVar21;\n                  puVar24 = puVar11 + iVar7;\n                  if (iVar6 == 0) break;\n                  goto LAB_0010d0bc;\n                }\n              }\n              iVar6 = (**(code **)(pcVar28 + 0x29c37c))(*(undefined4 *)(iVar22 + -0x5088));\n              puVar24 = puVar11 + iVar19;\n            } while (iVar6 != 0);" statement_identifier : (do_statement "do {\n              if (*(int *)(iVar6 + 0x2c) == 0) {\n                uVar26 = *(undefined4 *)(iVar6 + 0xc);\n                iVar6 = (**(code **)(pcVar28 + 0x29c6b4))(uVar26,iVar4,0);\n                if (iVar6 != 0) {\n                  iVar21 = iVar19 + 1;\n                  uVar26 = (**(code **)(pcVar28 + 0x29c120))(uVar26);\n                  uVar14 = *(undefined4 *)(iVar22 + -0x5088);\n                  puVar11[iVar19] = uVar26;\n                  iVar7 = iVar19 + 1;\n                  iVar6 = (**(code **)(pcVar28 + 0x29c37c))(uVar14);\n                  iVar19 = iVar21;\n                  puVar24 = puVar11 + iVar7;\n                  if (iVar6 == 0) break;\n                  goto LAB_0010d0bc;\n                }\n              }\n              iVar6 = (**(code **)(pcVar28 + 0x29c37c))(*(undefined4 *)(iVar22 + -0x5088));\n              puVar24 = puVar11 + iVar19;\n            } while (iVar6 != 0);" do (compound_statement "{\n              if (*(int *)(iVar6 + 0x2c) == 0) {\n                uVar26 = *(undefined4 *)(iVar6 + 0xc);\n                iVar6 = (**(code **)(pcVar28 + 0x29c6b4))(uVar26,iVar4,0);\n                if (iVar6 != 0) {\n                  iVar21 = iVar19 + 1;\n                  uVar26 = (**(code **)(pcVar28 + 0x29c120))(uVar26);\n                  uVar14 = *(undefined4 *)(iVar22 + -0x5088);\n                  puVar11[iVar19] = uVar26;\n                  iVar7 = iVar19 + 1;\n                  iVar6 = (**(code **)(pcVar28 + 0x29c37c))(uVar14);\n                  iVar19 = iVar21;\n                  puVar24 = puVar11 + iVar7;\n                  if (iVar6 == 0) break;\n                  goto LAB_0010d0bc;\n                }\n              }\n              iVar6 = (**(code **)(pcVar28 + 0x29c37c))(*(undefined4 *)(iVar22 + -0x5088));\n              puVar24 = puVar11 + iVar19;\n            }" { (if_statement "if (*(int *)(iVar6 + 0x2c) == 0) {\n                uVar26 = *(undefined4 *)(iVar6 + 0xc);\n                iVar6 = (**(code **)(pcVar28 + 0x29c6b4))(uVar26,iVar4,0);\n                if (iVar6 != 0) {\n                  iVar21 = iVar19 + 1;\n                  uVar26 = (**(code **)(pcVar28 + 0x29c120))(uVar26);\n                  uVar14 = *(undefined4 *)(iVar22 + -0x5088);\n                  puVar11[iVar19] = uVar26;\n                  iVar7 = iVar19 + 1;\n                  iVar6 = (**(code **)(pcVar28 + 0x29c37c))(uVar14);\n                  iVar19 = iVar21;\n                  puVar24 = puVar11 + iVar7;\n                  if (iVar6 == 0) break;\n                  goto LAB_0010d0bc;\n                }\n              }" if (parenthesized_expression "(*(int *)(iVar6 + 0x2c) == 0)" ( (binary_expression "*(int *)(iVar6 + 0x2c) == 0" (pointer_expression "*(int *)(iVar6 + 0x2c)" * (cast_expression "(int *)(iVar6 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x2c)" ( (binary_expression "iVar6 + 0x2c" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                uVar26 = *(undefined4 *)(iVar6 + 0xc);\n                iVar6 = (**(code **)(pcVar28 + 0x29c6b4))(uVar26,iVar4,0);\n                if (iVar6 != 0) {\n                  iVar21 = iVar19 + 1;\n                  uVar26 = (**(code **)(pcVar28 + 0x29c120))(uVar26);\n                  uVar14 = *(undefined4 *)(iVar22 + -0x5088);\n                  puVar11[iVar19] = uVar26;\n                  iVar7 = iVar19 + 1;\n                  iVar6 = (**(code **)(pcVar28 + 0x29c37c))(uVar14);\n                  iVar19 = iVar21;\n                  puVar24 = puVar11 + iVar7;\n                  if (iVar6 == 0) break;\n                  goto LAB_0010d0bc;\n                }\n              }" { (expression_statement "uVar26 = *(undefined4 *)(iVar6 + 0xc);" (assignment_expression "uVar26 = *(undefined4 *)(iVar6 + 0xc)" identifier = (pointer_expression "*(undefined4 *)(iVar6 + 0xc)" * (cast_expression "(undefined4 *)(iVar6 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0xc)" ( (binary_expression "iVar6 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "iVar6 = (**(code **)(pcVar28 + 0x29c6b4))(uVar26,iVar4,0);" (assignment_expression "iVar6 = (**(code **)(pcVar28 + 0x29c6b4))(uVar26,iVar4,0)" identifier = (call_expression "(**(code **)(pcVar28 + 0x29c6b4))(uVar26,iVar4,0)" (parenthesized_expression "(**(code **)(pcVar28 + 0x29c6b4))" ( (pointer_expression "**(code **)(pcVar28 + 0x29c6b4)" * (pointer_expression "*(code **)(pcVar28 + 0x29c6b4)" * (cast_expression "(code **)(pcVar28 + 0x29c6b4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x29c6b4)" ( (binary_expression "pcVar28 + 0x29c6b4" identifier + number_literal) ))))) )) (argument_list "(uVar26,iVar4,0)" ( identifier , identifier , number_literal )))) ;) (if_statement "if (iVar6 != 0) {\n                  iVar21 = iVar19 + 1;\n                  uVar26 = (**(code **)(pcVar28 + 0x29c120))(uVar26);\n                  uVar14 = *(undefined4 *)(iVar22 + -0x5088);\n                  puVar11[iVar19] = uVar26;\n                  iVar7 = iVar19 + 1;\n                  iVar6 = (**(code **)(pcVar28 + 0x29c37c))(uVar14);\n                  iVar19 = iVar21;\n                  puVar24 = puVar11 + iVar7;\n                  if (iVar6 == 0) break;\n                  goto LAB_0010d0bc;\n                }" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (compound_statement "{\n                  iVar21 = iVar19 + 1;\n                  uVar26 = (**(code **)(pcVar28 + 0x29c120))(uVar26);\n                  uVar14 = *(undefined4 *)(iVar22 + -0x5088);\n                  puVar11[iVar19] = uVar26;\n                  iVar7 = iVar19 + 1;\n                  iVar6 = (**(code **)(pcVar28 + 0x29c37c))(uVar14);\n                  iVar19 = iVar21;\n                  puVar24 = puVar11 + iVar7;\n                  if (iVar6 == 0) break;\n                  goto LAB_0010d0bc;\n                }" { (expression_statement "iVar21 = iVar19 + 1;" (assignment_expression "iVar21 = iVar19 + 1" identifier = (binary_expression "iVar19 + 1" identifier + number_literal)) ;) (expression_statement "uVar26 = (**(code **)(pcVar28 + 0x29c120))(uVar26);" (assignment_expression "uVar26 = (**(code **)(pcVar28 + 0x29c120))(uVar26)" identifier = (call_expression "(**(code **)(pcVar28 + 0x29c120))(uVar26)" (parenthesized_expression "(**(code **)(pcVar28 + 0x29c120))" ( (pointer_expression "**(code **)(pcVar28 + 0x29c120)" * (pointer_expression "*(code **)(pcVar28 + 0x29c120)" * (cast_expression "(code **)(pcVar28 + 0x29c120)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x29c120)" ( (binary_expression "pcVar28 + 0x29c120" identifier + number_literal) ))))) )) (argument_list "(uVar26)" ( identifier )))) ;) (expression_statement "uVar14 = *(undefined4 *)(iVar22 + -0x5088);" (assignment_expression "uVar14 = *(undefined4 *)(iVar22 + -0x5088)" identifier = (pointer_expression "*(undefined4 *)(iVar22 + -0x5088)" * (cast_expression "(undefined4 *)(iVar22 + -0x5088)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar22 + -0x5088)" ( (binary_expression "iVar22 + -0x5088" identifier + number_literal) ))))) ;) (expression_statement "puVar11[iVar19] = uVar26;" (assignment_expression "puVar11[iVar19] = uVar26" (subscript_expression "puVar11[iVar19]" identifier [ identifier ]) = identifier) ;) (expression_statement "iVar7 = iVar19 + 1;" (assignment_expression "iVar7 = iVar19 + 1" identifier = (binary_expression "iVar19 + 1" identifier + number_literal)) ;) (expression_statement "iVar6 = (**(code **)(pcVar28 + 0x29c37c))(uVar14);" (assignment_expression "iVar6 = (**(code **)(pcVar28 + 0x29c37c))(uVar14)" identifier = (call_expression "(**(code **)(pcVar28 + 0x29c37c))(uVar14)" (parenthesized_expression "(**(code **)(pcVar28 + 0x29c37c))" ( (pointer_expression "**(code **)(pcVar28 + 0x29c37c)" * (pointer_expression "*(code **)(pcVar28 + 0x29c37c)" * (cast_expression "(code **)(pcVar28 + 0x29c37c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x29c37c)" ( (binary_expression "pcVar28 + 0x29c37c" identifier + number_literal) ))))) )) (argument_list "(uVar14)" ( identifier )))) ;) (expression_statement "iVar19 = iVar21;" (assignment_expression "iVar19 = iVar21" identifier = identifier) ;) (expression_statement "puVar24 = puVar11 + iVar7;" (assignment_expression "puVar24 = puVar11 + iVar7" identifier = (binary_expression "puVar11 + iVar7" identifier + identifier)) ;) (if_statement "if (iVar6 == 0) break;" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (goto_statement "goto LAB_0010d0bc;" goto statement_identifier ;) })) })) (expression_statement "iVar6 = (**(code **)(pcVar28 + 0x29c37c))(*(undefined4 *)(iVar22 + -0x5088));" (assignment_expression "iVar6 = (**(code **)(pcVar28 + 0x29c37c))(*(undefined4 *)(iVar22 + -0x5088))" identifier = (call_expression "(**(code **)(pcVar28 + 0x29c37c))(*(undefined4 *)(iVar22 + -0x5088))" (parenthesized_expression "(**(code **)(pcVar28 + 0x29c37c))" ( (pointer_expression "**(code **)(pcVar28 + 0x29c37c)" * (pointer_expression "*(code **)(pcVar28 + 0x29c37c)" * (cast_expression "(code **)(pcVar28 + 0x29c37c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x29c37c)" ( (binary_expression "pcVar28 + 0x29c37c" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar22 + -0x5088))" ( (pointer_expression "*(undefined4 *)(iVar22 + -0x5088)" * (cast_expression "(undefined4 *)(iVar22 + -0x5088)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar22 + -0x5088)" ( (binary_expression "iVar22 + -0x5088" identifier + number_literal) )))) )))) ;) (expression_statement "puVar24 = puVar11 + iVar19;" (assignment_expression "puVar24 = puVar11 + iVar19" identifier = (binary_expression "puVar11 + iVar19" identifier + identifier)) ;) }) while (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) ;)) }))) (expression_statement "(**(code **)(pcVar28 + 0x29c3ec))(*(undefined4 *)(iVar1 + -0x5090));" (call_expression "(**(code **)(pcVar28 + 0x29c3ec))(*(undefined4 *)(iVar1 + -0x5090))" (parenthesized_expression "(**(code **)(pcVar28 + 0x29c3ec))" ( (pointer_expression "**(code **)(pcVar28 + 0x29c3ec)" * (pointer_expression "*(code **)(pcVar28 + 0x29c3ec)" * (cast_expression "(code **)(pcVar28 + 0x29c3ec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x29c3ec)" ( (binary_expression "pcVar28 + 0x29c3ec" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar1 + -0x5090))" ( (pointer_expression "*(undefined4 *)(iVar1 + -0x5090)" * (cast_expression "(undefined4 *)(iVar1 + -0x5090)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + -0x5090)" ( (binary_expression "iVar1 + -0x5090" identifier + number_literal) )))) ))) ;) (expression_statement "(**(code **)(pcVar28 + 0x29c940))(puVar11,iVar19,4,*(int *)(pcVar28 + 0x29bb04) + -0x578c)\n          ;" (call_expression "(**(code **)(pcVar28 + 0x29c940))(puVar11,iVar19,4,*(int *)(pcVar28 + 0x29bb04) + -0x578c)" (parenthesized_expression "(**(code **)(pcVar28 + 0x29c940))" ( (pointer_expression "**(code **)(pcVar28 + 0x29c940)" * (pointer_expression "*(code **)(pcVar28 + 0x29c940)" * (cast_expression "(code **)(pcVar28 + 0x29c940)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x29c940)" ( (binary_expression "pcVar28 + 0x29c940" identifier + number_literal) ))))) )) (argument_list "(puVar11,iVar19,4,*(int *)(pcVar28 + 0x29bb04) + -0x578c)" ( identifier , identifier , number_literal , (binary_expression "*(int *)(pcVar28 + 0x29bb04) + -0x578c" (pointer_expression "*(int *)(pcVar28 + 0x29bb04)" * (cast_expression "(int *)(pcVar28 + 0x29bb04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x29bb04)" ( (binary_expression "pcVar28 + 0x29bb04" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "*piVar17 = iVar19;" (assignment_expression "*piVar17 = iVar19" (pointer_expression "*piVar17" * identifier) = identifier) ;) (expression_statement "*puVar24 = 0;" (assignment_expression "*puVar24 = 0" (pointer_expression "*puVar24" * identifier) = number_literal) ;) (return_statement "return (MagickBooleanType)puVar11;" return (cast_expression "(MagickBooleanType)puVar11" ( (type_descriptor "MagickBooleanType" type_identifier) ) identifier) ;) })) })) (return_statement "return MagickFalse;" return identifier ;) })) }))) (expression_statement "pEVar15 = (ExceptionInfo *)(iVar1 + -0x40d0);" (assignment_expression "pEVar15 = (ExceptionInfo *)(iVar1 + -0x40d0)" identifier = (cast_expression "(ExceptionInfo *)(iVar1 + -0x40d0)" ( (type_descriptor "ExceptionInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + -0x40d0)" ( (binary_expression "iVar1 + -0x40d0" identifier + number_literal) )))) ;) (expression_statement "pcVar29 = *(code **)(pcVar28 + 0x29c674);" (assignment_expression "pcVar29 = *(code **)(pcVar28 + 0x29c674)" identifier = (pointer_expression "*(code **)(pcVar28 + 0x29c674)" * (cast_expression "(code **)(pcVar28 + 0x29c674)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x29c674)" ( (binary_expression "pcVar28 + 0x29c674" identifier + number_literal) ))))) ;) (expression_statement "iVar1 = *(int *)(pcVar28 + 0x29b950) + -0x3e64;" (assignment_expression "iVar1 = *(int *)(pcVar28 + 0x29b950) + -0x3e64" identifier = (binary_expression "*(int *)(pcVar28 + 0x29b950) + -0x3e64" (pointer_expression "*(int *)(pcVar28 + 0x29b950)" * (cast_expression "(int *)(pcVar28 + 0x29b950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x29b950)" ( (binary_expression "pcVar28 + 0x29b950" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar29)(iVar1,pEVar15,0x252,*(int *)(pcVar28 + 0x29b950) + -0x3bec);" (call_expression "(*pcVar29)(iVar1,pEVar15,0x252,*(int *)(pcVar28 + 0x29b950) + -0x3bec)" (parenthesized_expression "(*pcVar29)" ( (pointer_expression "*pcVar29" * identifier) )) (argument_list "(iVar1,pEVar15,0x252,*(int *)(pcVar28 + 0x29b950) + -0x3bec)" ( identifier , identifier , number_literal , (binary_expression "*(int *)(pcVar28 + 0x29b950) + -0x3bec" (pointer_expression "*(int *)(pcVar28 + 0x29b950)" * (cast_expression "(int *)(pcVar28 + 0x29b950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x29b950)" ( (binary_expression "pcVar28 + 0x29b950" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "iVar22 = *(int *)(pcVar29 + 0x29b6b0);" (assignment_expression "iVar22 = *(int *)(pcVar29 + 0x29b6b0)" identifier = (pointer_expression "*(int *)(pcVar29 + 0x29b6b0)" * (cast_expression "(int *)(pcVar29 + 0x29b6b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar29 + 0x29b6b0)" ( (binary_expression "pcVar29 + 0x29b6b0" identifier + number_literal) ))))) ;) (expression_statement "iVar4 = *(int *)(pcVar29 + 0x29b6b0);" (assignment_expression "iVar4 = *(int *)(pcVar29 + 0x29b6b0)" identifier = (pointer_expression "*(int *)(pcVar29 + 0x29b6b0)" * (cast_expression "(int *)(pcVar29 + 0x29b6b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar29 + 0x29b6b0)" ( (binary_expression "pcVar29 + 0x29b6b0" identifier + number_literal) ))))) ;) (expression_statement "pcVar16 = (char *)(**(code **)(pcVar29 + 0x29bcd0))();" (assignment_expression "pcVar16 = (char *)(**(code **)(pcVar29 + 0x29bcd0))()" identifier = (cast_expression "(char *)(**(code **)(pcVar29 + 0x29bcd0))()" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar29 + 0x29bcd0))()" (parenthesized_expression "(**(code **)(pcVar29 + 0x29bcd0))" ( (pointer_expression "**(code **)(pcVar29 + 0x29bcd0)" * (pointer_expression "*(code **)(pcVar29 + 0x29bcd0)" * (cast_expression "(code **)(pcVar29 + 0x29bcd0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x29bcd0)" ( (binary_expression "pcVar29 + 0x29bcd0" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "GetLogInfo(pcVar16,pEVar15);" (call_expression "GetLogInfo(pcVar16,pEVar15)" identifier (argument_list "(pcVar16,pEVar15)" ( identifier , identifier ))) ;) (expression_statement "(**(code **)(pcVar29 + 0x29bb34))(pcVar16);" (call_expression "(**(code **)(pcVar29 + 0x29bb34))(pcVar16)" (parenthesized_expression "(**(code **)(pcVar29 + 0x29bb34))" ( (pointer_expression "**(code **)(pcVar29 + 0x29bb34)" * (pointer_expression "*(code **)(pcVar29 + 0x29bb34)" * (cast_expression "(code **)(pcVar29 + 0x29bb34)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x29bb34)" ( (binary_expression "pcVar29 + 0x29bb34" identifier + number_literal) ))))) )) (argument_list "(pcVar16)" ( identifier ))) ;) (expression_statement "MVar2 = (**(code **)(pcVar29 + 0x29c478))(0x2c,1,iVar1);" (assignment_expression "MVar2 = (**(code **)(pcVar29 + 0x29c478))(0x2c,1,iVar1)" identifier = (call_expression "(**(code **)(pcVar29 + 0x29c478))(0x2c,1,iVar1)" (parenthesized_expression "(**(code **)(pcVar29 + 0x29c478))" ( (pointer_expression "**(code **)(pcVar29 + 0x29c478)" * (pointer_expression "*(code **)(pcVar29 + 0x29c478)" * (cast_expression "(code **)(pcVar29 + 0x29c478)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x29c478)" ( (binary_expression "pcVar29 + 0x29c478" identifier + number_literal) ))))) )) (argument_list "(0x2c,1,iVar1)" ( number_literal , number_literal , identifier )))) ;) (expression_statement "(**(code **)(pcVar29 + 0x29c4cc))(*(undefined4 *)(iVar22 + -0x5090));" (call_expression "(**(code **)(pcVar29 + 0x29c4cc))(*(undefined4 *)(iVar22 + -0x5090))" (parenthesized_expression "(**(code **)(pcVar29 + 0x29c4cc))" ( (pointer_expression "**(code **)(pcVar29 + 0x29c4cc)" * (pointer_expression "*(code **)(pcVar29 + 0x29c4cc)" * (cast_expression "(code **)(pcVar29 + 0x29c4cc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x29c4cc)" ( (binary_expression "pcVar29 + 0x29c4cc" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar22 + -0x5090))" ( (pointer_expression "*(undefined4 *)(iVar22 + -0x5090)" * (cast_expression "(undefined4 *)(iVar22 + -0x5090)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar22 + -0x5090)" ( (binary_expression "iVar22 + -0x5090" identifier + number_literal) )))) ))) ;) (expression_statement "pMVar12 = (MagickBooleanType *)\n            (**(code **)(pcVar29 + 0x29bc6c))(*(undefined4 *)(iVar4 + -0x5088),0);" (assignment_expression "pMVar12 = (MagickBooleanType *)\n            (**(code **)(pcVar29 + 0x29bc6c))(*(undefined4 *)(iVar4 + -0x5088),0)" identifier = (cast_expression "(MagickBooleanType *)\n            (**(code **)(pcVar29 + 0x29bc6c))(*(undefined4 *)(iVar4 + -0x5088),0)" ( (type_descriptor "MagickBooleanType *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar29 + 0x29bc6c))(*(undefined4 *)(iVar4 + -0x5088),0)" (parenthesized_expression "(**(code **)(pcVar29 + 0x29bc6c))" ( (pointer_expression "**(code **)(pcVar29 + 0x29bc6c)" * (pointer_expression "*(code **)(pcVar29 + 0x29bc6c)" * (cast_expression "(code **)(pcVar29 + 0x29bc6c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x29bc6c)" ( (binary_expression "pcVar29 + 0x29bc6c" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar4 + -0x5088),0)" ( (pointer_expression "*(undefined4 *)(iVar4 + -0x5088)" * (cast_expression "(undefined4 *)(iVar4 + -0x5088)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + -0x5088)" ( (binary_expression "iVar4 + -0x5088" identifier + number_literal) )))) , number_literal ))))) ;) (if_statement "if (MVar2 == ~MagickFalse) {\n    pcVar28 = *(code **)(pcVar29 + 0x29c210);\n    uVar26 = *(undefined4 *)(iVar4 + -0x5088);\n    *pMVar12 = MagickFalse;\n    iVar1 = (*pcVar28)(uVar26);\n  }\n  else {\n    pcVar28 = *(code **)(pcVar29 + 0x29c210);\n    uVar26 = *(undefined4 *)(iVar4 + -0x5088);\n    *pMVar12 = MVar2;\n    iVar1 = (*pcVar28)(uVar26);\n  }" if (parenthesized_expression "(MVar2 == ~MagickFalse)" ( (binary_expression "MVar2 == ~MagickFalse" identifier == (unary_expression "~MagickFalse" ~ identifier)) )) (compound_statement "{\n    pcVar28 = *(code **)(pcVar29 + 0x29c210);\n    uVar26 = *(undefined4 *)(iVar4 + -0x5088);\n    *pMVar12 = MagickFalse;\n    iVar1 = (*pcVar28)(uVar26);\n  }" { (expression_statement "pcVar28 = *(code **)(pcVar29 + 0x29c210);" (assignment_expression "pcVar28 = *(code **)(pcVar29 + 0x29c210)" identifier = (pointer_expression "*(code **)(pcVar29 + 0x29c210)" * (cast_expression "(code **)(pcVar29 + 0x29c210)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x29c210)" ( (binary_expression "pcVar29 + 0x29c210" identifier + number_literal) ))))) ;) (expression_statement "uVar26 = *(undefined4 *)(iVar4 + -0x5088);" (assignment_expression "uVar26 = *(undefined4 *)(iVar4 + -0x5088)" identifier = (pointer_expression "*(undefined4 *)(iVar4 + -0x5088)" * (cast_expression "(undefined4 *)(iVar4 + -0x5088)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + -0x5088)" ( (binary_expression "iVar4 + -0x5088" identifier + number_literal) ))))) ;) (expression_statement "*pMVar12 = MagickFalse;" (assignment_expression "*pMVar12 = MagickFalse" (pointer_expression "*pMVar12" * identifier) = identifier) ;) (expression_statement "iVar1 = (*pcVar28)(uVar26);" (assignment_expression "iVar1 = (*pcVar28)(uVar26)" identifier = (call_expression "(*pcVar28)(uVar26)" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "(uVar26)" ( identifier )))) ;) }) (else_clause "else {\n    pcVar28 = *(code **)(pcVar29 + 0x29c210);\n    uVar26 = *(undefined4 *)(iVar4 + -0x5088);\n    *pMVar12 = MVar2;\n    iVar1 = (*pcVar28)(uVar26);\n  }" else (compound_statement "{\n    pcVar28 = *(code **)(pcVar29 + 0x29c210);\n    uVar26 = *(undefined4 *)(iVar4 + -0x5088);\n    *pMVar12 = MVar2;\n    iVar1 = (*pcVar28)(uVar26);\n  }" { (expression_statement "pcVar28 = *(code **)(pcVar29 + 0x29c210);" (assignment_expression "pcVar28 = *(code **)(pcVar29 + 0x29c210)" identifier = (pointer_expression "*(code **)(pcVar29 + 0x29c210)" * (cast_expression "(code **)(pcVar29 + 0x29c210)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x29c210)" ( (binary_expression "pcVar29 + 0x29c210" identifier + number_literal) ))))) ;) (expression_statement "uVar26 = *(undefined4 *)(iVar4 + -0x5088);" (assignment_expression "uVar26 = *(undefined4 *)(iVar4 + -0x5088)" identifier = (pointer_expression "*(undefined4 *)(iVar4 + -0x5088)" * (cast_expression "(undefined4 *)(iVar4 + -0x5088)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + -0x5088)" ( (binary_expression "iVar4 + -0x5088" identifier + number_literal) ))))) ;) (expression_statement "*pMVar12 = MVar2;" (assignment_expression "*pMVar12 = MVar2" (pointer_expression "*pMVar12" * identifier) = identifier) ;) (expression_statement "iVar1 = (*pcVar28)(uVar26);" (assignment_expression "iVar1 = (*pcVar28)(uVar26)" identifier = (call_expression "(*pcVar28)(uVar26)" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "(uVar26)" ( identifier )))) ;) }))) (if_statement "if (iVar1 == 0) {\n    (**(code **)(pcVar29 + 0x29c31c))(*(undefined4 *)(iVar4 + -0x5088));\n    piVar8 = (int *)(**(code **)(pcVar29 + 0x29c0f4))(*(undefined4 *)(iVar4 + -0x5088));\n    if (piVar8 == (int *)0x0) {\n      *(undefined4 *)(*(int *)(pcVar29 + 0x29b6b0) + -0x508c) = 0;\n    }\n    else {\n      *(uint *)(*(int *)(pcVar29 + 0x29b6b0) + -0x508c) = (uint)(*piVar8 != 0);\n    }\n  }\n  else {\n    *(undefined4 *)(*(int *)(pcVar29 + 0x29b6b0) + -0x508c) = 0;\n  }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n    (**(code **)(pcVar29 + 0x29c31c))(*(undefined4 *)(iVar4 + -0x5088));\n    piVar8 = (int *)(**(code **)(pcVar29 + 0x29c0f4))(*(undefined4 *)(iVar4 + -0x5088));\n    if (piVar8 == (int *)0x0) {\n      *(undefined4 *)(*(int *)(pcVar29 + 0x29b6b0) + -0x508c) = 0;\n    }\n    else {\n      *(uint *)(*(int *)(pcVar29 + 0x29b6b0) + -0x508c) = (uint)(*piVar8 != 0);\n    }\n  }" { (expression_statement "(**(code **)(pcVar29 + 0x29c31c))(*(undefined4 *)(iVar4 + -0x5088));" (call_expression "(**(code **)(pcVar29 + 0x29c31c))(*(undefined4 *)(iVar4 + -0x5088))" (parenthesized_expression "(**(code **)(pcVar29 + 0x29c31c))" ( (pointer_expression "**(code **)(pcVar29 + 0x29c31c)" * (pointer_expression "*(code **)(pcVar29 + 0x29c31c)" * (cast_expression "(code **)(pcVar29 + 0x29c31c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x29c31c)" ( (binary_expression "pcVar29 + 0x29c31c" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar4 + -0x5088))" ( (pointer_expression "*(undefined4 *)(iVar4 + -0x5088)" * (cast_expression "(undefined4 *)(iVar4 + -0x5088)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + -0x5088)" ( (binary_expression "iVar4 + -0x5088" identifier + number_literal) )))) ))) ;) (expression_statement "piVar8 = (int *)(**(code **)(pcVar29 + 0x29c0f4))(*(undefined4 *)(iVar4 + -0x5088));" (assignment_expression "piVar8 = (int *)(**(code **)(pcVar29 + 0x29c0f4))(*(undefined4 *)(iVar4 + -0x5088))" identifier = (cast_expression "(int *)(**(code **)(pcVar29 + 0x29c0f4))(*(undefined4 *)(iVar4 + -0x5088))" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar29 + 0x29c0f4))(*(undefined4 *)(iVar4 + -0x5088))" (parenthesized_expression "(**(code **)(pcVar29 + 0x29c0f4))" ( (pointer_expression "**(code **)(pcVar29 + 0x29c0f4)" * (pointer_expression "*(code **)(pcVar29 + 0x29c0f4)" * (cast_expression "(code **)(pcVar29 + 0x29c0f4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x29c0f4)" ( (binary_expression "pcVar29 + 0x29c0f4" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar4 + -0x5088))" ( (pointer_expression "*(undefined4 *)(iVar4 + -0x5088)" * (cast_expression "(undefined4 *)(iVar4 + -0x5088)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + -0x5088)" ( (binary_expression "iVar4 + -0x5088" identifier + number_literal) )))) ))))) ;) (if_statement "if (piVar8 == (int *)0x0) {\n      *(undefined4 *)(*(int *)(pcVar29 + 0x29b6b0) + -0x508c) = 0;\n    }\n    else {\n      *(uint *)(*(int *)(pcVar29 + 0x29b6b0) + -0x508c) = (uint)(*piVar8 != 0);\n    }" if (parenthesized_expression "(piVar8 == (int *)0x0)" ( (binary_expression "piVar8 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      *(undefined4 *)(*(int *)(pcVar29 + 0x29b6b0) + -0x508c) = 0;\n    }" { (expression_statement "*(undefined4 *)(*(int *)(pcVar29 + 0x29b6b0) + -0x508c) = 0;" (assignment_expression "*(undefined4 *)(*(int *)(pcVar29 + 0x29b6b0) + -0x508c) = 0" (pointer_expression "*(undefined4 *)(*(int *)(pcVar29 + 0x29b6b0) + -0x508c)" * (cast_expression "(undefined4 *)(*(int *)(pcVar29 + 0x29b6b0) + -0x508c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar29 + 0x29b6b0) + -0x508c)" ( (binary_expression "*(int *)(pcVar29 + 0x29b6b0) + -0x508c" (pointer_expression "*(int *)(pcVar29 + 0x29b6b0)" * (cast_expression "(int *)(pcVar29 + 0x29b6b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar29 + 0x29b6b0)" ( (binary_expression "pcVar29 + 0x29b6b0" identifier + number_literal) )))) + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n      *(uint *)(*(int *)(pcVar29 + 0x29b6b0) + -0x508c) = (uint)(*piVar8 != 0);\n    }" else (compound_statement "{\n      *(uint *)(*(int *)(pcVar29 + 0x29b6b0) + -0x508c) = (uint)(*piVar8 != 0);\n    }" { (expression_statement "*(uint *)(*(int *)(pcVar29 + 0x29b6b0) + -0x508c) = (uint)(*piVar8 != 0);" (assignment_expression "*(uint *)(*(int *)(pcVar29 + 0x29b6b0) + -0x508c) = (uint)(*piVar8 != 0)" (pointer_expression "*(uint *)(*(int *)(pcVar29 + 0x29b6b0) + -0x508c)" * (cast_expression "(uint *)(*(int *)(pcVar29 + 0x29b6b0) + -0x508c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar29 + 0x29b6b0) + -0x508c)" ( (binary_expression "*(int *)(pcVar29 + 0x29b6b0) + -0x508c" (pointer_expression "*(int *)(pcVar29 + 0x29b6b0)" * (cast_expression "(int *)(pcVar29 + 0x29b6b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar29 + 0x29b6b0)" ( (binary_expression "pcVar29 + 0x29b6b0" identifier + number_literal) )))) + number_literal) )))) = (call_expression "(uint)(*piVar8 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*piVar8 != 0)" ( (binary_expression "*piVar8 != 0" (pointer_expression "*piVar8" * identifier) != number_literal) )))) ;) }))) }) (else_clause "else {\n    *(undefined4 *)(*(int *)(pcVar29 + 0x29b6b0) + -0x508c) = 0;\n  }" else (compound_statement "{\n    *(undefined4 *)(*(int *)(pcVar29 + 0x29b6b0) + -0x508c) = 0;\n  }" { (expression_statement "*(undefined4 *)(*(int *)(pcVar29 + 0x29b6b0) + -0x508c) = 0;" (assignment_expression "*(undefined4 *)(*(int *)(pcVar29 + 0x29b6b0) + -0x508c) = 0" (pointer_expression "*(undefined4 *)(*(int *)(pcVar29 + 0x29b6b0) + -0x508c)" * (cast_expression "(undefined4 *)(*(int *)(pcVar29 + 0x29b6b0) + -0x508c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar29 + 0x29b6b0) + -0x508c)" ( (binary_expression "*(int *)(pcVar29 + 0x29b6b0) + -0x508c" (pointer_expression "*(int *)(pcVar29 + 0x29b6b0)" * (cast_expression "(int *)(pcVar29 + 0x29b6b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar29 + 0x29b6b0)" ( (binary_expression "pcVar29 + 0x29b6b0" identifier + number_literal) )))) + number_literal) )))) = number_literal) ;) }))) (expression_statement "(**(code **)(pcVar29 + 0x29c164))(*(undefined4 *)(iVar22 + -0x5090));" (call_expression "(**(code **)(pcVar29 + 0x29c164))(*(undefined4 *)(iVar22 + -0x5090))" (parenthesized_expression "(**(code **)(pcVar29 + 0x29c164))" ( (pointer_expression "**(code **)(pcVar29 + 0x29c164)" * (pointer_expression "*(code **)(pcVar29 + 0x29c164)" * (cast_expression "(code **)(pcVar29 + 0x29c164)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x29c164)" ( (binary_expression "pcVar29 + 0x29c164" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar22 + -0x5090))" ( (pointer_expression "*(undefined4 *)(iVar22 + -0x5090)" * (cast_expression "(undefined4 *)(iVar22 + -0x5090)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar22 + -0x5090)" ( (binary_expression "iVar22 + -0x5090" identifier + number_literal) )))) ))) ;) (return_statement "return *pMVar12;" return (pointer_expression "*pMVar12" * identifier) ;) })))
(translation_unit "int * LogMagickEvent(undefined4 param_1,int *param_2,undefined4 param_3,undefined4 param_4,\n                    undefined4 param_5)\n\n{\n  int iVar1;\n  int *piVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  int *piVar6;\n  int iVar7;\n  uint uVar8;\n  int iVar9;\n  undefined *puVar10;\n  int *piVar11;\n  undefined *puVar12;\n  int iVar13;\n  int *piVar14;\n  int iVar15;\n  int iVar16;\n  int iVar17;\n  char *pcVar18;\n  int unaff_s6;\n  int iVar19;\n  int *unaff_s7;\n  undefined4 uVar20;\n  undefined *puVar21;\n  code *pcVar22;\n  code *pcVar23;\n  double dVar24;\n  double dVar25;\n  int iStack_d0;\n  int iStack_cc;\n  undefined *puStack_c8;\n  undefined4 uStack_c4;\n  int *piStack_c0;\n  undefined4 uStack_bc;\n  undefined4 uStack_b8;\n  undefined4 uStack_b4;\n  int iStack_b0;\n  int *piStack_ac;\n  \n  puVar12 = PTR___stack_chk_guard_003a9230;\n  iVar1 = *(int *)PTR___stack_chk_guard_003a9230;\n  piVar6 = param_2;\n  uVar20 = param_3;\n  piVar2 = (int *)(*(code *)PTR_IsEventLogging_003a97a8)();\n  if (piVar2 != (int *)0x0) {\n    piVar6 = param_2;\n    uVar20 = param_3;\n    piVar2 = (int *)(*(code *)PTR_LogMagickEventList_003a9148)(param_1,param_2,param_3,param_4);\n  }\n  if (iVar1 == *(int *)puVar12) {\n    return piVar2;\n  }\n  puVar21 = PTR___stack_chk_fail_003a9064;\n  (*(code *)PTR___stack_chk_fail_003a9064)();\n  if (iVar1 == 0) {\n    (**(code **)(puVar21 + 0x29ccac))\n              (*(int *)(puVar21 + 0x29bf84) + 0x45e0,*(int *)(puVar21 + 0x29bf88) + -0x40d0,499,\n               *(int *)(puVar21 + 0x29bf88) + -0x3bd0);\n  }\n  else {\n    puVar12 = *(undefined **)(puVar21 + 0x29bf88);\n    (**(code **)(puVar21 + 0x29c884))\n              (0x8000,puVar12 + -0x40d0,*(int *)(puVar21 + 0x29bf88) + -0x3be0,500);\n    param_1 = uVar20;\n    unaff_s6 = iVar1;\n    unaff_s7 = piVar6;\n    if (piVar6 != (int *)0x0) {\n      *piVar6 = 0;\n      iVar3 = FUN_0010b2dc(uVar20);\n      if (iVar3 != 0) {\n        iVar16 = *(int *)(puVar21 + 0x29bf70);\n        iVar3 = (**(code **)(puVar21 + 0x29ca98))(*(undefined4 *)(iVar16 + -0x5088));\n        piVar2 = (int *)(**(code **)(puVar21 + 0x29cbb0))(iVar3 + 1,4);\n        if (piVar2 != (int *)0x0) {\n          iVar3 = *(int *)(puVar21 + 0x29bf70);\n          (**(code **)(puVar21 + 0x29cd8c))(*(undefined4 *)(iVar3 + -0x5090));\n          (**(code **)(puVar21 + 0x29cbdc))(*(undefined4 *)(iVar16 + -0x5088));\n          iVar4 = (**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088));\n          if (iVar4 == 0) {\n            iVar13 = 0;\n            piVar11 = piVar2;\n          }\n          else {\n            iVar13 = 0;\n            do {\n              piVar11 = piVar2 + iVar13;\n              if ((*(int *)(iVar4 + 0x2c) == 0) &&\n                 (iVar5 = (**(code **)(puVar21 + 0x29ccec))(*(undefined4 *)(iVar4 + 0xc),iVar1,0),\n                 iVar5 != 0)) {\n                *piVar11 = iVar4;\n                piVar11 = piVar2 + iVar13 + 1;\n                iVar13 = iVar13 + 1;\n              }\n              iVar4 = (**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088));\n            } while (iVar4 != 0);\n          }\n          (**(code **)(puVar21 + 0x29ca24))(*(undefined4 *)(iVar3 + -0x5090));\n          (**(code **)(puVar21 + 0x29cf78))(piVar2,iVar13,4,*(int *)(puVar21 + 0x29c13c) + -0x5800);\n          *piVar6 = iVar13;\n          *piVar11 = 0;\n          return piVar2;\n        }\n      }\n      return (int *)0x0;\n    }\n  }\n  puVar10 = puVar12 + -0x40d0;\n  pcVar22 = *(code **)(puVar21 + 0x29ccac);\n  iVar1 = *(int *)(puVar21 + 0x29bf88) + -0x3e64;\n  (*pcVar22)(iVar1,puVar10,0x1f5,*(int *)(puVar21 + 0x29bf88) + -0x3bd0);\n  piVar6 = *(int **)(pcVar22 + 0x29c670);\n  uStack_b4 = param_5;\n  iStack_cc = *piVar6;\n  if (iVar1 == 0) {\n    iVar1 = **(int **)(pcVar22 + 0x29c324);\n  }\n  piVar11 = &iStack_d0;\n  puStack_c8 = puVar12;\n  uStack_c4 = param_1;\n  piStack_c0 = param_2;\n  uStack_bc = param_3;\n  uStack_b8 = param_4;\n  iStack_b0 = unaff_s6;\n  piStack_ac = unaff_s7;\n  piVar2 = (int *)(**(code **)(pcVar22 + 0x29cc48))(*(int *)(pcVar22 + 0x29bd28) + 0x6c9c);\n  if (piVar2 == (int *)0x0) {\n    piVar2 = (int *)0x0;\n  }\n  else {\n    iVar3 = *(int *)(pcVar22 + 0x29bd20);\n    if (0 < iStack_d0) {\n      iVar17 = 0;\n      iVar19 = *(int *)(pcVar22 + 0x29bd8c);\n      iVar4 = 0;\n      iVar15 = *(int *)(pcVar22 + 0x29bd90);\n      dVar25 = *(double *)(iVar3 + 0x1418);\n      iVar13 = *(int *)(pcVar22 + 0x29bd24);\n      iVar5 = *(int *)(pcVar22 + 0x29bd24);\n      iVar16 = iStack_d0;\n      piVar14 = piVar2;\n      do {\n        iVar9 = *piVar14;\n        piVar11 = *(int **)(iVar9 + 0x2c);\n        if (piVar11 == (int *)0x0) {\n          iVar16 = *(int *)(iVar9 + 8);\n          if ((iVar4 == 0) ||\n             (iVar7 = (**(code **)(pcVar22 + 0x29c550))(iVar4,iVar16), iVar4 = iVar16, iVar7 != 0))\n          {\n            if (iVar16 != 0) {\n              (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4620,iVar16);\n              iVar9 = *piVar14;\n            }\n            iVar16 = 0;\n            uVar8 = 0;\n            pcVar18 = (char *)(*(int *)(pcVar22 + 0x29bd24) + -0x3b94);\n            while( true ) {\n              if ((1 << (uVar8 & 0x1f) & *(uint *)(iVar9 + 4)) != 0) {\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar19 + 0x30e8,pcVar18);\n                iVar4 = (**(code **)(pcVar22 + 0x29c778))(pcVar18);\n                iVar16 = iVar16 + iVar4;\n              }\n              if (uVar8 == 0x1f) break;\n              pcVar18 = pcVar18 + 0x10;\n              uVar8 = uVar8 + 1;\n              if (*pcVar18 == '\0') break;\n              iVar9 = *piVar14;\n            }\n            if (iVar16 < 0xd) {\n              do {\n                iVar16 = iVar16 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              } while (iVar16 != 0xd);\n            }\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x3e3c);\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4644);\n            iVar9 = *piVar14;\n            iVar4 = *(int *)(iVar9 + 8);\n          }\n          if (*(int *)(iVar9 + 0x10) != 0) {\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x62ac);\n            iVar9 = *piVar14;\n            uVar8 = (**(code **)(pcVar22 + 0x29c778))(*(undefined4 *)(iVar9 + 0x10));\n            if (uVar8 < 0x11) {\n              do {\n                uVar8 = uVar8 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              } while (uVar8 != 0x11);\n              iVar9 = *piVar14;\n            }\n          }\n          dVar24 = (double)*(int *)(iVar9 + 0x18);\n          if (*(int *)(iVar9 + 0x18) < 0) {\n            dVar24 = dVar24 + *(double *)(iVar3 + 0x1418);\n          }\n          (**(code **)(pcVar22 + 0x29c984))\n                    (iVar1,iVar13 + -0x3e1c,(int)((ulonglong)dVar24 >> 0x20),SUB84(dVar24,0));\n          dVar24 = (double)*(int *)(*piVar14 + 0x1c);\n          if (*(int *)(*piVar14 + 0x1c) < 0) {\n            dVar24 = dVar24 + dVar25;\n          }\n          (**(code **)(pcVar22 + 0x29c984))\n                    (iVar1,iVar5 + -0x3e14,(int)((ulonglong)dVar24 >> 0x20),SUB84(dVar24,0));\n          puVar10 = *(undefined **)(*piVar14 + 0x14);\n          if (puVar10 != (undefined *)0x0) {\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x62ac);\n          }\n          piVar11 = (int *)(*(int *)(pcVar22 + 0x29bd2c) + -0x4bdc);\n          (**(code **)(pcVar22 + 0x29c984))(iVar1);\n          iVar16 = iStack_d0;\n        }\n        iVar17 = iVar17 + 1;\n        piVar14 = piVar14 + 1;\n      } while (iVar17 < iVar16);\n    }\n    (**(code **)(pcVar22 + 0x29c8cc))(iVar1);\n    (**(code **)(pcVar22 + 0x29c400))(piVar2);\n    piVar2 = (int *)0x1;\n  }\n  if (iStack_cc == *piVar6) {\n    return piVar2;\n  }\n  pcVar22 = *(code **)(pcVar22 + 0x29c4a4);\n  iVar3 = iStack_cc;\n  (*pcVar22)();\n  if (iVar3 == 0) {\n    (**(code **)(pcVar22 + 0x29c674))\n              (*(int *)(pcVar22 + 0x29b94c) + 0x45e0,*(int *)(pcVar22 + 0x29b950) + -0x40d0,0x250,\n               *(int *)(pcVar22 + 0x29b950) + -0x3bec);\n  }\n  else {\n    iVar1 = *(int *)(pcVar22 + 0x29b950);\n    (**(code **)(pcVar22 + 0x29c24c))\n              (0x8000,iVar1 + -0x40d0,*(int *)(pcVar22 + 0x29b950) + -0x3bf8,0x251,\n               *(int *)(pcVar22 + 0x29b950) + -0x62ac,iVar3);\n    if (piVar11 != (int *)0x0) {\n      *piVar11 = 0;\n      iVar1 = FUN_0010b2dc(puVar10);\n      if (iVar1 != 0) {\n        iVar16 = *(int *)(pcVar22 + 0x29b938);\n        iVar1 = (**(code **)(pcVar22 + 0x29c460))(*(undefined4 *)(iVar16 + -0x5088));\n        piVar6 = (int *)(**(code **)(pcVar22 + 0x29c578))(iVar1 + 1,4);\n        if (piVar6 != (int *)0x0) {\n          iVar1 = *(int *)(pcVar22 + 0x29b938);\n          (**(code **)(pcVar22 + 0x29c754))(*(undefined4 *)(iVar1 + -0x5090));\n          (**(code **)(pcVar22 + 0x29c5a4))(*(undefined4 *)(iVar16 + -0x5088));\n          iVar4 = (**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088));\n          if (iVar4 == 0) {\n            iVar13 = 0;\n            piVar2 = piVar6;\n          }\n          else {\n            iVar13 = 0;\nLAB_0010d0bc:\n            do {\n              if (*(int *)(iVar4 + 0x2c) == 0) {\n                uVar20 = *(undefined4 *)(iVar4 + 0xc);\n                iVar4 = (**(code **)(pcVar22 + 0x29c6b4))(uVar20,iVar3,0);\n                if (iVar4 != 0) {\n                  iVar15 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c120))(uVar20);\n                  uVar20 = *(undefined4 *)(iVar16 + -0x5088);\n                  piVar6[iVar13] = iVar4;\n                  iVar5 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c37c))(uVar20);\n                  iVar13 = iVar15;\n                  piVar2 = piVar6 + iVar5;\n                  if (iVar4 == 0) break;\n                  goto LAB_0010d0bc;\n                }\n              }\n              iVar4 = (**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088));\n              piVar2 = piVar6 + iVar13;\n            } while (iVar4 != 0);\n          }\n          (**(code **)(pcVar22 + 0x29c3ec))(*(undefined4 *)(iVar1 + -0x5090));\n          (**(code **)(pcVar22 + 0x29c940))(piVar6,iVar13,4,*(int *)(pcVar22 + 0x29bb04) + -0x578c);\n          *piVar11 = iVar13;\n          *piVar2 = 0;\n          return piVar6;\n        }\n      }\n      return (int *)0x0;\n    }\n  }\n  pcVar23 = *(code **)(pcVar22 + 0x29c674);\n  iVar3 = *(int *)(pcVar22 + 0x29b950) + -0x3e64;\n  (*pcVar23)(iVar3,iVar1 + -0x40d0,0x252,*(int *)(pcVar22 + 0x29b950) + -0x3bec);\n  iVar4 = *(int *)(pcVar23 + 0x29b6b0);\n  iVar16 = *(int *)(pcVar23 + 0x29b6b0);\n  uVar20 = (**(code **)(pcVar23 + 0x29bcd0))();\n  FUN_0010b2dc(uVar20);\n  (**(code **)(pcVar23 + 0x29bb34))(uVar20);\n  iVar1 = (**(code **)(pcVar23 + 0x29c478))(0x2c,1,iVar3);\n  (**(code **)(pcVar23 + 0x29c4cc))(*(undefined4 *)(iVar4 + -0x5090));\n  piVar6 = (int *)(**(code **)(pcVar23 + 0x29bc6c))(*(undefined4 *)(iVar16 + -0x5088),0);\n  if (iVar1 == -1) {\n    pcVar22 = *(code **)(pcVar23 + 0x29c210);\n    uVar20 = *(undefined4 *)(iVar16 + -0x5088);\n    *piVar6 = 0;\n    iVar1 = (*pcVar22)(uVar20);\n  }\n  else {\n    pcVar22 = *(code **)(pcVar23 + 0x29c210);\n    uVar20 = *(undefined4 *)(iVar16 + -0x5088);\n    *piVar6 = iVar1;\n    iVar1 = (*pcVar22)(uVar20);\n  }\n  if (iVar1 == 0) {\n    (**(code **)(pcVar23 + 0x29c31c))(*(undefined4 *)(iVar16 + -0x5088));\n    piVar2 = (int *)(**(code **)(pcVar23 + 0x29c0f4))(*(undefined4 *)(iVar16 + -0x5088));\n    if (piVar2 == (int *)0x0) {\n      *(undefined4 *)(*(int *)(pcVar23 + 0x29b6b0) + -0x508c) = 0;\n    }\n    else {\n      *(uint *)(*(int *)(pcVar23 + 0x29b6b0) + -0x508c) = (uint)(*piVar2 != 0);\n    }\n  }\n  else {\n    *(undefined4 *)(*(int *)(pcVar23 + 0x29b6b0) + -0x508c) = 0;\n  }\n  (**(code **)(pcVar23 + 0x29c164))(*(undefined4 *)(iVar4 + -0x5090));\n  return (int *)*piVar6;\n}\n\n" (function_definition "int * LogMagickEvent(undefined4 param_1,int *param_2,undefined4 param_3,undefined4 param_4,\n                    undefined4 param_5)\n\n{\n  int iVar1;\n  int *piVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  int *piVar6;\n  int iVar7;\n  uint uVar8;\n  int iVar9;\n  undefined *puVar10;\n  int *piVar11;\n  undefined *puVar12;\n  int iVar13;\n  int *piVar14;\n  int iVar15;\n  int iVar16;\n  int iVar17;\n  char *pcVar18;\n  int unaff_s6;\n  int iVar19;\n  int *unaff_s7;\n  undefined4 uVar20;\n  undefined *puVar21;\n  code *pcVar22;\n  code *pcVar23;\n  double dVar24;\n  double dVar25;\n  int iStack_d0;\n  int iStack_cc;\n  undefined *puStack_c8;\n  undefined4 uStack_c4;\n  int *piStack_c0;\n  undefined4 uStack_bc;\n  undefined4 uStack_b8;\n  undefined4 uStack_b4;\n  int iStack_b0;\n  int *piStack_ac;\n  \n  puVar12 = PTR___stack_chk_guard_003a9230;\n  iVar1 = *(int *)PTR___stack_chk_guard_003a9230;\n  piVar6 = param_2;\n  uVar20 = param_3;\n  piVar2 = (int *)(*(code *)PTR_IsEventLogging_003a97a8)();\n  if (piVar2 != (int *)0x0) {\n    piVar6 = param_2;\n    uVar20 = param_3;\n    piVar2 = (int *)(*(code *)PTR_LogMagickEventList_003a9148)(param_1,param_2,param_3,param_4);\n  }\n  if (iVar1 == *(int *)puVar12) {\n    return piVar2;\n  }\n  puVar21 = PTR___stack_chk_fail_003a9064;\n  (*(code *)PTR___stack_chk_fail_003a9064)();\n  if (iVar1 == 0) {\n    (**(code **)(puVar21 + 0x29ccac))\n              (*(int *)(puVar21 + 0x29bf84) + 0x45e0,*(int *)(puVar21 + 0x29bf88) + -0x40d0,499,\n               *(int *)(puVar21 + 0x29bf88) + -0x3bd0);\n  }\n  else {\n    puVar12 = *(undefined **)(puVar21 + 0x29bf88);\n    (**(code **)(puVar21 + 0x29c884))\n              (0x8000,puVar12 + -0x40d0,*(int *)(puVar21 + 0x29bf88) + -0x3be0,500);\n    param_1 = uVar20;\n    unaff_s6 = iVar1;\n    unaff_s7 = piVar6;\n    if (piVar6 != (int *)0x0) {\n      *piVar6 = 0;\n      iVar3 = FUN_0010b2dc(uVar20);\n      if (iVar3 != 0) {\n        iVar16 = *(int *)(puVar21 + 0x29bf70);\n        iVar3 = (**(code **)(puVar21 + 0x29ca98))(*(undefined4 *)(iVar16 + -0x5088));\n        piVar2 = (int *)(**(code **)(puVar21 + 0x29cbb0))(iVar3 + 1,4);\n        if (piVar2 != (int *)0x0) {\n          iVar3 = *(int *)(puVar21 + 0x29bf70);\n          (**(code **)(puVar21 + 0x29cd8c))(*(undefined4 *)(iVar3 + -0x5090));\n          (**(code **)(puVar21 + 0x29cbdc))(*(undefined4 *)(iVar16 + -0x5088));\n          iVar4 = (**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088));\n          if (iVar4 == 0) {\n            iVar13 = 0;\n            piVar11 = piVar2;\n          }\n          else {\n            iVar13 = 0;\n            do {\n              piVar11 = piVar2 + iVar13;\n              if ((*(int *)(iVar4 + 0x2c) == 0) &&\n                 (iVar5 = (**(code **)(puVar21 + 0x29ccec))(*(undefined4 *)(iVar4 + 0xc),iVar1,0),\n                 iVar5 != 0)) {\n                *piVar11 = iVar4;\n                piVar11 = piVar2 + iVar13 + 1;\n                iVar13 = iVar13 + 1;\n              }\n              iVar4 = (**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088));\n            } while (iVar4 != 0);\n          }\n          (**(code **)(puVar21 + 0x29ca24))(*(undefined4 *)(iVar3 + -0x5090));\n          (**(code **)(puVar21 + 0x29cf78))(piVar2,iVar13,4,*(int *)(puVar21 + 0x29c13c) + -0x5800);\n          *piVar6 = iVar13;\n          *piVar11 = 0;\n          return piVar2;\n        }\n      }\n      return (int *)0x0;\n    }\n  }\n  puVar10 = puVar12 + -0x40d0;\n  pcVar22 = *(code **)(puVar21 + 0x29ccac);\n  iVar1 = *(int *)(puVar21 + 0x29bf88) + -0x3e64;\n  (*pcVar22)(iVar1,puVar10,0x1f5,*(int *)(puVar21 + 0x29bf88) + -0x3bd0);\n  piVar6 = *(int **)(pcVar22 + 0x29c670);\n  uStack_b4 = param_5;\n  iStack_cc = *piVar6;\n  if (iVar1 == 0) {\n    iVar1 = **(int **)(pcVar22 + 0x29c324);\n  }\n  piVar11 = &iStack_d0;\n  puStack_c8 = puVar12;\n  uStack_c4 = param_1;\n  piStack_c0 = param_2;\n  uStack_bc = param_3;\n  uStack_b8 = param_4;\n  iStack_b0 = unaff_s6;\n  piStack_ac = unaff_s7;\n  piVar2 = (int *)(**(code **)(pcVar22 + 0x29cc48))(*(int *)(pcVar22 + 0x29bd28) + 0x6c9c);\n  if (piVar2 == (int *)0x0) {\n    piVar2 = (int *)0x0;\n  }\n  else {\n    iVar3 = *(int *)(pcVar22 + 0x29bd20);\n    if (0 < iStack_d0) {\n      iVar17 = 0;\n      iVar19 = *(int *)(pcVar22 + 0x29bd8c);\n      iVar4 = 0;\n      iVar15 = *(int *)(pcVar22 + 0x29bd90);\n      dVar25 = *(double *)(iVar3 + 0x1418);\n      iVar13 = *(int *)(pcVar22 + 0x29bd24);\n      iVar5 = *(int *)(pcVar22 + 0x29bd24);\n      iVar16 = iStack_d0;\n      piVar14 = piVar2;\n      do {\n        iVar9 = *piVar14;\n        piVar11 = *(int **)(iVar9 + 0x2c);\n        if (piVar11 == (int *)0x0) {\n          iVar16 = *(int *)(iVar9 + 8);\n          if ((iVar4 == 0) ||\n             (iVar7 = (**(code **)(pcVar22 + 0x29c550))(iVar4,iVar16), iVar4 = iVar16, iVar7 != 0))\n          {\n            if (iVar16 != 0) {\n              (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4620,iVar16);\n              iVar9 = *piVar14;\n            }\n            iVar16 = 0;\n            uVar8 = 0;\n            pcVar18 = (char *)(*(int *)(pcVar22 + 0x29bd24) + -0x3b94);\n            while( true ) {\n              if ((1 << (uVar8 & 0x1f) & *(uint *)(iVar9 + 4)) != 0) {\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar19 + 0x30e8,pcVar18);\n                iVar4 = (**(code **)(pcVar22 + 0x29c778))(pcVar18);\n                iVar16 = iVar16 + iVar4;\n              }\n              if (uVar8 == 0x1f) break;\n              pcVar18 = pcVar18 + 0x10;\n              uVar8 = uVar8 + 1;\n              if (*pcVar18 == '\0') break;\n              iVar9 = *piVar14;\n            }\n            if (iVar16 < 0xd) {\n              do {\n                iVar16 = iVar16 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              } while (iVar16 != 0xd);\n            }\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x3e3c);\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4644);\n            iVar9 = *piVar14;\n            iVar4 = *(int *)(iVar9 + 8);\n          }\n          if (*(int *)(iVar9 + 0x10) != 0) {\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x62ac);\n            iVar9 = *piVar14;\n            uVar8 = (**(code **)(pcVar22 + 0x29c778))(*(undefined4 *)(iVar9 + 0x10));\n            if (uVar8 < 0x11) {\n              do {\n                uVar8 = uVar8 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              } while (uVar8 != 0x11);\n              iVar9 = *piVar14;\n            }\n          }\n          dVar24 = (double)*(int *)(iVar9 + 0x18);\n          if (*(int *)(iVar9 + 0x18) < 0) {\n            dVar24 = dVar24 + *(double *)(iVar3 + 0x1418);\n          }\n          (**(code **)(pcVar22 + 0x29c984))\n                    (iVar1,iVar13 + -0x3e1c,(int)((ulonglong)dVar24 >> 0x20),SUB84(dVar24,0));\n          dVar24 = (double)*(int *)(*piVar14 + 0x1c);\n          if (*(int *)(*piVar14 + 0x1c) < 0) {\n            dVar24 = dVar24 + dVar25;\n          }\n          (**(code **)(pcVar22 + 0x29c984))\n                    (iVar1,iVar5 + -0x3e14,(int)((ulonglong)dVar24 >> 0x20),SUB84(dVar24,0));\n          puVar10 = *(undefined **)(*piVar14 + 0x14);\n          if (puVar10 != (undefined *)0x0) {\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x62ac);\n          }\n          piVar11 = (int *)(*(int *)(pcVar22 + 0x29bd2c) + -0x4bdc);\n          (**(code **)(pcVar22 + 0x29c984))(iVar1);\n          iVar16 = iStack_d0;\n        }\n        iVar17 = iVar17 + 1;\n        piVar14 = piVar14 + 1;\n      } while (iVar17 < iVar16);\n    }\n    (**(code **)(pcVar22 + 0x29c8cc))(iVar1);\n    (**(code **)(pcVar22 + 0x29c400))(piVar2);\n    piVar2 = (int *)0x1;\n  }\n  if (iStack_cc == *piVar6) {\n    return piVar2;\n  }\n  pcVar22 = *(code **)(pcVar22 + 0x29c4a4);\n  iVar3 = iStack_cc;\n  (*pcVar22)();\n  if (iVar3 == 0) {\n    (**(code **)(pcVar22 + 0x29c674))\n              (*(int *)(pcVar22 + 0x29b94c) + 0x45e0,*(int *)(pcVar22 + 0x29b950) + -0x40d0,0x250,\n               *(int *)(pcVar22 + 0x29b950) + -0x3bec);\n  }\n  else {\n    iVar1 = *(int *)(pcVar22 + 0x29b950);\n    (**(code **)(pcVar22 + 0x29c24c))\n              (0x8000,iVar1 + -0x40d0,*(int *)(pcVar22 + 0x29b950) + -0x3bf8,0x251,\n               *(int *)(pcVar22 + 0x29b950) + -0x62ac,iVar3);\n    if (piVar11 != (int *)0x0) {\n      *piVar11 = 0;\n      iVar1 = FUN_0010b2dc(puVar10);\n      if (iVar1 != 0) {\n        iVar16 = *(int *)(pcVar22 + 0x29b938);\n        iVar1 = (**(code **)(pcVar22 + 0x29c460))(*(undefined4 *)(iVar16 + -0x5088));\n        piVar6 = (int *)(**(code **)(pcVar22 + 0x29c578))(iVar1 + 1,4);\n        if (piVar6 != (int *)0x0) {\n          iVar1 = *(int *)(pcVar22 + 0x29b938);\n          (**(code **)(pcVar22 + 0x29c754))(*(undefined4 *)(iVar1 + -0x5090));\n          (**(code **)(pcVar22 + 0x29c5a4))(*(undefined4 *)(iVar16 + -0x5088));\n          iVar4 = (**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088));\n          if (iVar4 == 0) {\n            iVar13 = 0;\n            piVar2 = piVar6;\n          }\n          else {\n            iVar13 = 0;\nLAB_0010d0bc:\n            do {\n              if (*(int *)(iVar4 + 0x2c) == 0) {\n                uVar20 = *(undefined4 *)(iVar4 + 0xc);\n                iVar4 = (**(code **)(pcVar22 + 0x29c6b4))(uVar20,iVar3,0);\n                if (iVar4 != 0) {\n                  iVar15 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c120))(uVar20);\n                  uVar20 = *(undefined4 *)(iVar16 + -0x5088);\n                  piVar6[iVar13] = iVar4;\n                  iVar5 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c37c))(uVar20);\n                  iVar13 = iVar15;\n                  piVar2 = piVar6 + iVar5;\n                  if (iVar4 == 0) break;\n                  goto LAB_0010d0bc;\n                }\n              }\n              iVar4 = (**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088));\n              piVar2 = piVar6 + iVar13;\n            } while (iVar4 != 0);\n          }\n          (**(code **)(pcVar22 + 0x29c3ec))(*(undefined4 *)(iVar1 + -0x5090));\n          (**(code **)(pcVar22 + 0x29c940))(piVar6,iVar13,4,*(int *)(pcVar22 + 0x29bb04) + -0x578c);\n          *piVar11 = iVar13;\n          *piVar2 = 0;\n          return piVar6;\n        }\n      }\n      return (int *)0x0;\n    }\n  }\n  pcVar23 = *(code **)(pcVar22 + 0x29c674);\n  iVar3 = *(int *)(pcVar22 + 0x29b950) + -0x3e64;\n  (*pcVar23)(iVar3,iVar1 + -0x40d0,0x252,*(int *)(pcVar22 + 0x29b950) + -0x3bec);\n  iVar4 = *(int *)(pcVar23 + 0x29b6b0);\n  iVar16 = *(int *)(pcVar23 + 0x29b6b0);\n  uVar20 = (**(code **)(pcVar23 + 0x29bcd0))();\n  FUN_0010b2dc(uVar20);\n  (**(code **)(pcVar23 + 0x29bb34))(uVar20);\n  iVar1 = (**(code **)(pcVar23 + 0x29c478))(0x2c,1,iVar3);\n  (**(code **)(pcVar23 + 0x29c4cc))(*(undefined4 *)(iVar4 + -0x5090));\n  piVar6 = (int *)(**(code **)(pcVar23 + 0x29bc6c))(*(undefined4 *)(iVar16 + -0x5088),0);\n  if (iVar1 == -1) {\n    pcVar22 = *(code **)(pcVar23 + 0x29c210);\n    uVar20 = *(undefined4 *)(iVar16 + -0x5088);\n    *piVar6 = 0;\n    iVar1 = (*pcVar22)(uVar20);\n  }\n  else {\n    pcVar22 = *(code **)(pcVar23 + 0x29c210);\n    uVar20 = *(undefined4 *)(iVar16 + -0x5088);\n    *piVar6 = iVar1;\n    iVar1 = (*pcVar22)(uVar20);\n  }\n  if (iVar1 == 0) {\n    (**(code **)(pcVar23 + 0x29c31c))(*(undefined4 *)(iVar16 + -0x5088));\n    piVar2 = (int *)(**(code **)(pcVar23 + 0x29c0f4))(*(undefined4 *)(iVar16 + -0x5088));\n    if (piVar2 == (int *)0x0) {\n      *(undefined4 *)(*(int *)(pcVar23 + 0x29b6b0) + -0x508c) = 0;\n    }\n    else {\n      *(uint *)(*(int *)(pcVar23 + 0x29b6b0) + -0x508c) = (uint)(*piVar2 != 0);\n    }\n  }\n  else {\n    *(undefined4 *)(*(int *)(pcVar23 + 0x29b6b0) + -0x508c) = 0;\n  }\n  (**(code **)(pcVar23 + 0x29c164))(*(undefined4 *)(iVar4 + -0x5090));\n  return (int *)*piVar6;\n}" primitive_type (pointer_declarator "* LogMagickEvent(undefined4 param_1,int *param_2,undefined4 param_3,undefined4 param_4,\n                    undefined4 param_5)" * (function_declarator "LogMagickEvent(undefined4 param_1,int *param_2,undefined4 param_3,undefined4 param_4,\n                    undefined4 param_5)" identifier (parameter_list "(undefined4 param_1,int *param_2,undefined4 param_3,undefined4 param_4,\n                    undefined4 param_5)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "int *param_2" primitive_type (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "undefined4 param_3" type_identifier identifier) , (parameter_declaration "undefined4 param_4" type_identifier identifier) , (parameter_declaration "undefined4 param_5" type_identifier identifier) )))) (compound_statement "{\n  int iVar1;\n  int *piVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  int *piVar6;\n  int iVar7;\n  uint uVar8;\n  int iVar9;\n  undefined *puVar10;\n  int *piVar11;\n  undefined *puVar12;\n  int iVar13;\n  int *piVar14;\n  int iVar15;\n  int iVar16;\n  int iVar17;\n  char *pcVar18;\n  int unaff_s6;\n  int iVar19;\n  int *unaff_s7;\n  undefined4 uVar20;\n  undefined *puVar21;\n  code *pcVar22;\n  code *pcVar23;\n  double dVar24;\n  double dVar25;\n  int iStack_d0;\n  int iStack_cc;\n  undefined *puStack_c8;\n  undefined4 uStack_c4;\n  int *piStack_c0;\n  undefined4 uStack_bc;\n  undefined4 uStack_b8;\n  undefined4 uStack_b4;\n  int iStack_b0;\n  int *piStack_ac;\n  \n  puVar12 = PTR___stack_chk_guard_003a9230;\n  iVar1 = *(int *)PTR___stack_chk_guard_003a9230;\n  piVar6 = param_2;\n  uVar20 = param_3;\n  piVar2 = (int *)(*(code *)PTR_IsEventLogging_003a97a8)();\n  if (piVar2 != (int *)0x0) {\n    piVar6 = param_2;\n    uVar20 = param_3;\n    piVar2 = (int *)(*(code *)PTR_LogMagickEventList_003a9148)(param_1,param_2,param_3,param_4);\n  }\n  if (iVar1 == *(int *)puVar12) {\n    return piVar2;\n  }\n  puVar21 = PTR___stack_chk_fail_003a9064;\n  (*(code *)PTR___stack_chk_fail_003a9064)();\n  if (iVar1 == 0) {\n    (**(code **)(puVar21 + 0x29ccac))\n              (*(int *)(puVar21 + 0x29bf84) + 0x45e0,*(int *)(puVar21 + 0x29bf88) + -0x40d0,499,\n               *(int *)(puVar21 + 0x29bf88) + -0x3bd0);\n  }\n  else {\n    puVar12 = *(undefined **)(puVar21 + 0x29bf88);\n    (**(code **)(puVar21 + 0x29c884))\n              (0x8000,puVar12 + -0x40d0,*(int *)(puVar21 + 0x29bf88) + -0x3be0,500);\n    param_1 = uVar20;\n    unaff_s6 = iVar1;\n    unaff_s7 = piVar6;\n    if (piVar6 != (int *)0x0) {\n      *piVar6 = 0;\n      iVar3 = FUN_0010b2dc(uVar20);\n      if (iVar3 != 0) {\n        iVar16 = *(int *)(puVar21 + 0x29bf70);\n        iVar3 = (**(code **)(puVar21 + 0x29ca98))(*(undefined4 *)(iVar16 + -0x5088));\n        piVar2 = (int *)(**(code **)(puVar21 + 0x29cbb0))(iVar3 + 1,4);\n        if (piVar2 != (int *)0x0) {\n          iVar3 = *(int *)(puVar21 + 0x29bf70);\n          (**(code **)(puVar21 + 0x29cd8c))(*(undefined4 *)(iVar3 + -0x5090));\n          (**(code **)(puVar21 + 0x29cbdc))(*(undefined4 *)(iVar16 + -0x5088));\n          iVar4 = (**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088));\n          if (iVar4 == 0) {\n            iVar13 = 0;\n            piVar11 = piVar2;\n          }\n          else {\n            iVar13 = 0;\n            do {\n              piVar11 = piVar2 + iVar13;\n              if ((*(int *)(iVar4 + 0x2c) == 0) &&\n                 (iVar5 = (**(code **)(puVar21 + 0x29ccec))(*(undefined4 *)(iVar4 + 0xc),iVar1,0),\n                 iVar5 != 0)) {\n                *piVar11 = iVar4;\n                piVar11 = piVar2 + iVar13 + 1;\n                iVar13 = iVar13 + 1;\n              }\n              iVar4 = (**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088));\n            } while (iVar4 != 0);\n          }\n          (**(code **)(puVar21 + 0x29ca24))(*(undefined4 *)(iVar3 + -0x5090));\n          (**(code **)(puVar21 + 0x29cf78))(piVar2,iVar13,4,*(int *)(puVar21 + 0x29c13c) + -0x5800);\n          *piVar6 = iVar13;\n          *piVar11 = 0;\n          return piVar2;\n        }\n      }\n      return (int *)0x0;\n    }\n  }\n  puVar10 = puVar12 + -0x40d0;\n  pcVar22 = *(code **)(puVar21 + 0x29ccac);\n  iVar1 = *(int *)(puVar21 + 0x29bf88) + -0x3e64;\n  (*pcVar22)(iVar1,puVar10,0x1f5,*(int *)(puVar21 + 0x29bf88) + -0x3bd0);\n  piVar6 = *(int **)(pcVar22 + 0x29c670);\n  uStack_b4 = param_5;\n  iStack_cc = *piVar6;\n  if (iVar1 == 0) {\n    iVar1 = **(int **)(pcVar22 + 0x29c324);\n  }\n  piVar11 = &iStack_d0;\n  puStack_c8 = puVar12;\n  uStack_c4 = param_1;\n  piStack_c0 = param_2;\n  uStack_bc = param_3;\n  uStack_b8 = param_4;\n  iStack_b0 = unaff_s6;\n  piStack_ac = unaff_s7;\n  piVar2 = (int *)(**(code **)(pcVar22 + 0x29cc48))(*(int *)(pcVar22 + 0x29bd28) + 0x6c9c);\n  if (piVar2 == (int *)0x0) {\n    piVar2 = (int *)0x0;\n  }\n  else {\n    iVar3 = *(int *)(pcVar22 + 0x29bd20);\n    if (0 < iStack_d0) {\n      iVar17 = 0;\n      iVar19 = *(int *)(pcVar22 + 0x29bd8c);\n      iVar4 = 0;\n      iVar15 = *(int *)(pcVar22 + 0x29bd90);\n      dVar25 = *(double *)(iVar3 + 0x1418);\n      iVar13 = *(int *)(pcVar22 + 0x29bd24);\n      iVar5 = *(int *)(pcVar22 + 0x29bd24);\n      iVar16 = iStack_d0;\n      piVar14 = piVar2;\n      do {\n        iVar9 = *piVar14;\n        piVar11 = *(int **)(iVar9 + 0x2c);\n        if (piVar11 == (int *)0x0) {\n          iVar16 = *(int *)(iVar9 + 8);\n          if ((iVar4 == 0) ||\n             (iVar7 = (**(code **)(pcVar22 + 0x29c550))(iVar4,iVar16), iVar4 = iVar16, iVar7 != 0))\n          {\n            if (iVar16 != 0) {\n              (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4620,iVar16);\n              iVar9 = *piVar14;\n            }\n            iVar16 = 0;\n            uVar8 = 0;\n            pcVar18 = (char *)(*(int *)(pcVar22 + 0x29bd24) + -0x3b94);\n            while( true ) {\n              if ((1 << (uVar8 & 0x1f) & *(uint *)(iVar9 + 4)) != 0) {\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar19 + 0x30e8,pcVar18);\n                iVar4 = (**(code **)(pcVar22 + 0x29c778))(pcVar18);\n                iVar16 = iVar16 + iVar4;\n              }\n              if (uVar8 == 0x1f) break;\n              pcVar18 = pcVar18 + 0x10;\n              uVar8 = uVar8 + 1;\n              if (*pcVar18 == '\0') break;\n              iVar9 = *piVar14;\n            }\n            if (iVar16 < 0xd) {\n              do {\n                iVar16 = iVar16 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              } while (iVar16 != 0xd);\n            }\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x3e3c);\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4644);\n            iVar9 = *piVar14;\n            iVar4 = *(int *)(iVar9 + 8);\n          }\n          if (*(int *)(iVar9 + 0x10) != 0) {\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x62ac);\n            iVar9 = *piVar14;\n            uVar8 = (**(code **)(pcVar22 + 0x29c778))(*(undefined4 *)(iVar9 + 0x10));\n            if (uVar8 < 0x11) {\n              do {\n                uVar8 = uVar8 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              } while (uVar8 != 0x11);\n              iVar9 = *piVar14;\n            }\n          }\n          dVar24 = (double)*(int *)(iVar9 + 0x18);\n          if (*(int *)(iVar9 + 0x18) < 0) {\n            dVar24 = dVar24 + *(double *)(iVar3 + 0x1418);\n          }\n          (**(code **)(pcVar22 + 0x29c984))\n                    (iVar1,iVar13 + -0x3e1c,(int)((ulonglong)dVar24 >> 0x20),SUB84(dVar24,0));\n          dVar24 = (double)*(int *)(*piVar14 + 0x1c);\n          if (*(int *)(*piVar14 + 0x1c) < 0) {\n            dVar24 = dVar24 + dVar25;\n          }\n          (**(code **)(pcVar22 + 0x29c984))\n                    (iVar1,iVar5 + -0x3e14,(int)((ulonglong)dVar24 >> 0x20),SUB84(dVar24,0));\n          puVar10 = *(undefined **)(*piVar14 + 0x14);\n          if (puVar10 != (undefined *)0x0) {\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x62ac);\n          }\n          piVar11 = (int *)(*(int *)(pcVar22 + 0x29bd2c) + -0x4bdc);\n          (**(code **)(pcVar22 + 0x29c984))(iVar1);\n          iVar16 = iStack_d0;\n        }\n        iVar17 = iVar17 + 1;\n        piVar14 = piVar14 + 1;\n      } while (iVar17 < iVar16);\n    }\n    (**(code **)(pcVar22 + 0x29c8cc))(iVar1);\n    (**(code **)(pcVar22 + 0x29c400))(piVar2);\n    piVar2 = (int *)0x1;\n  }\n  if (iStack_cc == *piVar6) {\n    return piVar2;\n  }\n  pcVar22 = *(code **)(pcVar22 + 0x29c4a4);\n  iVar3 = iStack_cc;\n  (*pcVar22)();\n  if (iVar3 == 0) {\n    (**(code **)(pcVar22 + 0x29c674))\n              (*(int *)(pcVar22 + 0x29b94c) + 0x45e0,*(int *)(pcVar22 + 0x29b950) + -0x40d0,0x250,\n               *(int *)(pcVar22 + 0x29b950) + -0x3bec);\n  }\n  else {\n    iVar1 = *(int *)(pcVar22 + 0x29b950);\n    (**(code **)(pcVar22 + 0x29c24c))\n              (0x8000,iVar1 + -0x40d0,*(int *)(pcVar22 + 0x29b950) + -0x3bf8,0x251,\n               *(int *)(pcVar22 + 0x29b950) + -0x62ac,iVar3);\n    if (piVar11 != (int *)0x0) {\n      *piVar11 = 0;\n      iVar1 = FUN_0010b2dc(puVar10);\n      if (iVar1 != 0) {\n        iVar16 = *(int *)(pcVar22 + 0x29b938);\n        iVar1 = (**(code **)(pcVar22 + 0x29c460))(*(undefined4 *)(iVar16 + -0x5088));\n        piVar6 = (int *)(**(code **)(pcVar22 + 0x29c578))(iVar1 + 1,4);\n        if (piVar6 != (int *)0x0) {\n          iVar1 = *(int *)(pcVar22 + 0x29b938);\n          (**(code **)(pcVar22 + 0x29c754))(*(undefined4 *)(iVar1 + -0x5090));\n          (**(code **)(pcVar22 + 0x29c5a4))(*(undefined4 *)(iVar16 + -0x5088));\n          iVar4 = (**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088));\n          if (iVar4 == 0) {\n            iVar13 = 0;\n            piVar2 = piVar6;\n          }\n          else {\n            iVar13 = 0;\nLAB_0010d0bc:\n            do {\n              if (*(int *)(iVar4 + 0x2c) == 0) {\n                uVar20 = *(undefined4 *)(iVar4 + 0xc);\n                iVar4 = (**(code **)(pcVar22 + 0x29c6b4))(uVar20,iVar3,0);\n                if (iVar4 != 0) {\n                  iVar15 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c120))(uVar20);\n                  uVar20 = *(undefined4 *)(iVar16 + -0x5088);\n                  piVar6[iVar13] = iVar4;\n                  iVar5 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c37c))(uVar20);\n                  iVar13 = iVar15;\n                  piVar2 = piVar6 + iVar5;\n                  if (iVar4 == 0) break;\n                  goto LAB_0010d0bc;\n                }\n              }\n              iVar4 = (**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088));\n              piVar2 = piVar6 + iVar13;\n            } while (iVar4 != 0);\n          }\n          (**(code **)(pcVar22 + 0x29c3ec))(*(undefined4 *)(iVar1 + -0x5090));\n          (**(code **)(pcVar22 + 0x29c940))(piVar6,iVar13,4,*(int *)(pcVar22 + 0x29bb04) + -0x578c);\n          *piVar11 = iVar13;\n          *piVar2 = 0;\n          return piVar6;\n        }\n      }\n      return (int *)0x0;\n    }\n  }\n  pcVar23 = *(code **)(pcVar22 + 0x29c674);\n  iVar3 = *(int *)(pcVar22 + 0x29b950) + -0x3e64;\n  (*pcVar23)(iVar3,iVar1 + -0x40d0,0x252,*(int *)(pcVar22 + 0x29b950) + -0x3bec);\n  iVar4 = *(int *)(pcVar23 + 0x29b6b0);\n  iVar16 = *(int *)(pcVar23 + 0x29b6b0);\n  uVar20 = (**(code **)(pcVar23 + 0x29bcd0))();\n  FUN_0010b2dc(uVar20);\n  (**(code **)(pcVar23 + 0x29bb34))(uVar20);\n  iVar1 = (**(code **)(pcVar23 + 0x29c478))(0x2c,1,iVar3);\n  (**(code **)(pcVar23 + 0x29c4cc))(*(undefined4 *)(iVar4 + -0x5090));\n  piVar6 = (int *)(**(code **)(pcVar23 + 0x29bc6c))(*(undefined4 *)(iVar16 + -0x5088),0);\n  if (iVar1 == -1) {\n    pcVar22 = *(code **)(pcVar23 + 0x29c210);\n    uVar20 = *(undefined4 *)(iVar16 + -0x5088);\n    *piVar6 = 0;\n    iVar1 = (*pcVar22)(uVar20);\n  }\n  else {\n    pcVar22 = *(code **)(pcVar23 + 0x29c210);\n    uVar20 = *(undefined4 *)(iVar16 + -0x5088);\n    *piVar6 = iVar1;\n    iVar1 = (*pcVar22)(uVar20);\n  }\n  if (iVar1 == 0) {\n    (**(code **)(pcVar23 + 0x29c31c))(*(undefined4 *)(iVar16 + -0x5088));\n    piVar2 = (int *)(**(code **)(pcVar23 + 0x29c0f4))(*(undefined4 *)(iVar16 + -0x5088));\n    if (piVar2 == (int *)0x0) {\n      *(undefined4 *)(*(int *)(pcVar23 + 0x29b6b0) + -0x508c) = 0;\n    }\n    else {\n      *(uint *)(*(int *)(pcVar23 + 0x29b6b0) + -0x508c) = (uint)(*piVar2 != 0);\n    }\n  }\n  else {\n    *(undefined4 *)(*(int *)(pcVar23 + 0x29b6b0) + -0x508c) = 0;\n  }\n  (**(code **)(pcVar23 + 0x29c164))(*(undefined4 *)(iVar4 + -0x5090));\n  return (int *)*piVar6;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "int *piVar2;" primitive_type (pointer_declarator "*piVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "int *piVar6;" primitive_type (pointer_declarator "*piVar6" * identifier) ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "undefined *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "int *piVar11;" primitive_type (pointer_declarator "*piVar11" * identifier) ;) (declaration "undefined *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "int *piVar14;" primitive_type (pointer_declarator "*piVar14" * identifier) ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "int iVar16;" primitive_type identifier ;) (declaration "int iVar17;" primitive_type identifier ;) (declaration "char *pcVar18;" primitive_type (pointer_declarator "*pcVar18" * identifier) ;) (declaration "int unaff_s6;" primitive_type identifier ;) (declaration "int iVar19;" primitive_type identifier ;) (declaration "int *unaff_s7;" primitive_type (pointer_declarator "*unaff_s7" * identifier) ;) (declaration "undefined4 uVar20;" type_identifier identifier ;) (declaration "undefined *puVar21;" type_identifier (pointer_declarator "*puVar21" * identifier) ;) (declaration "code *pcVar22;" type_identifier (pointer_declarator "*pcVar22" * identifier) ;) (declaration "code *pcVar23;" type_identifier (pointer_declarator "*pcVar23" * identifier) ;) (declaration "double dVar24;" primitive_type identifier ;) (declaration "double dVar25;" primitive_type identifier ;) (declaration "int iStack_d0;" primitive_type identifier ;) (declaration "int iStack_cc;" primitive_type identifier ;) (declaration "undefined *puStack_c8;" type_identifier (pointer_declarator "*puStack_c8" * identifier) ;) (declaration "undefined4 uStack_c4;" type_identifier identifier ;) (declaration "int *piStack_c0;" primitive_type (pointer_declarator "*piStack_c0" * identifier) ;) (declaration "undefined4 uStack_bc;" type_identifier identifier ;) (declaration "undefined4 uStack_b8;" type_identifier identifier ;) (declaration "undefined4 uStack_b4;" type_identifier identifier ;) (declaration "int iStack_b0;" primitive_type identifier ;) (declaration "int *piStack_ac;" primitive_type (pointer_declarator "*piStack_ac" * identifier) ;) (expression_statement "puVar12 = PTR___stack_chk_guard_003a9230;" (assignment_expression "puVar12 = PTR___stack_chk_guard_003a9230" identifier = identifier) ;) (expression_statement "iVar1 = *(int *)PTR___stack_chk_guard_003a9230;" (assignment_expression "iVar1 = *(int *)PTR___stack_chk_guard_003a9230" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_003a9230" * (cast_expression "(int *)PTR___stack_chk_guard_003a9230" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "piVar6 = param_2;" (assignment_expression "piVar6 = param_2" identifier = identifier) ;) (expression_statement "uVar20 = param_3;" (assignment_expression "uVar20 = param_3" identifier = identifier) ;) (expression_statement "piVar2 = (int *)(*(code *)PTR_IsEventLogging_003a97a8)();" (assignment_expression "piVar2 = (int *)(*(code *)PTR_IsEventLogging_003a97a8)()" identifier = (cast_expression "(int *)(*(code *)PTR_IsEventLogging_003a97a8)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_IsEventLogging_003a97a8)()" (parenthesized_expression "(*(code *)PTR_IsEventLogging_003a97a8)" ( (pointer_expression "*(code *)PTR_IsEventLogging_003a97a8" * (cast_expression "(code *)PTR_IsEventLogging_003a97a8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (if_statement "if (piVar2 != (int *)0x0) {\n    piVar6 = param_2;\n    uVar20 = param_3;\n    piVar2 = (int *)(*(code *)PTR_LogMagickEventList_003a9148)(param_1,param_2,param_3,param_4);\n  }" if (parenthesized_expression "(piVar2 != (int *)0x0)" ( (binary_expression "piVar2 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    piVar6 = param_2;\n    uVar20 = param_3;\n    piVar2 = (int *)(*(code *)PTR_LogMagickEventList_003a9148)(param_1,param_2,param_3,param_4);\n  }" { (expression_statement "piVar6 = param_2;" (assignment_expression "piVar6 = param_2" identifier = identifier) ;) (expression_statement "uVar20 = param_3;" (assignment_expression "uVar20 = param_3" identifier = identifier) ;) (expression_statement "piVar2 = (int *)(*(code *)PTR_LogMagickEventList_003a9148)(param_1,param_2,param_3,param_4);" (assignment_expression "piVar2 = (int *)(*(code *)PTR_LogMagickEventList_003a9148)(param_1,param_2,param_3,param_4)" identifier = (cast_expression "(int *)(*(code *)PTR_LogMagickEventList_003a9148)(param_1,param_2,param_3,param_4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_LogMagickEventList_003a9148)(param_1,param_2,param_3,param_4)" (parenthesized_expression "(*(code *)PTR_LogMagickEventList_003a9148)" ( (pointer_expression "*(code *)PTR_LogMagickEventList_003a9148" * (cast_expression "(code *)PTR_LogMagickEventList_003a9148" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,param_2,param_3,param_4)" ( identifier , identifier , identifier , identifier ))))) ;) })) (if_statement "if (iVar1 == *(int *)puVar12) {\n    return piVar2;\n  }" if (parenthesized_expression "(iVar1 == *(int *)puVar12)" ( (binary_expression "iVar1 == *(int *)puVar12" identifier == (pointer_expression "*(int *)puVar12" * (cast_expression "(int *)puVar12" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return piVar2;\n  }" { (return_statement "return piVar2;" return identifier ;) })) (expression_statement "puVar21 = PTR___stack_chk_fail_003a9064;" (assignment_expression "puVar21 = PTR___stack_chk_fail_003a9064" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_003a9064)();" (call_expression "(*(code *)PTR___stack_chk_fail_003a9064)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_003a9064)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_003a9064" * (cast_expression "(code *)PTR___stack_chk_fail_003a9064" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (if_statement "if (iVar1 == 0) {\n    (**(code **)(puVar21 + 0x29ccac))\n              (*(int *)(puVar21 + 0x29bf84) + 0x45e0,*(int *)(puVar21 + 0x29bf88) + -0x40d0,499,\n               *(int *)(puVar21 + 0x29bf88) + -0x3bd0);\n  }\n  else {\n    puVar12 = *(undefined **)(puVar21 + 0x29bf88);\n    (**(code **)(puVar21 + 0x29c884))\n              (0x8000,puVar12 + -0x40d0,*(int *)(puVar21 + 0x29bf88) + -0x3be0,500);\n    param_1 = uVar20;\n    unaff_s6 = iVar1;\n    unaff_s7 = piVar6;\n    if (piVar6 != (int *)0x0) {\n      *piVar6 = 0;\n      iVar3 = FUN_0010b2dc(uVar20);\n      if (iVar3 != 0) {\n        iVar16 = *(int *)(puVar21 + 0x29bf70);\n        iVar3 = (**(code **)(puVar21 + 0x29ca98))(*(undefined4 *)(iVar16 + -0x5088));\n        piVar2 = (int *)(**(code **)(puVar21 + 0x29cbb0))(iVar3 + 1,4);\n        if (piVar2 != (int *)0x0) {\n          iVar3 = *(int *)(puVar21 + 0x29bf70);\n          (**(code **)(puVar21 + 0x29cd8c))(*(undefined4 *)(iVar3 + -0x5090));\n          (**(code **)(puVar21 + 0x29cbdc))(*(undefined4 *)(iVar16 + -0x5088));\n          iVar4 = (**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088));\n          if (iVar4 == 0) {\n            iVar13 = 0;\n            piVar11 = piVar2;\n          }\n          else {\n            iVar13 = 0;\n            do {\n              piVar11 = piVar2 + iVar13;\n              if ((*(int *)(iVar4 + 0x2c) == 0) &&\n                 (iVar5 = (**(code **)(puVar21 + 0x29ccec))(*(undefined4 *)(iVar4 + 0xc),iVar1,0),\n                 iVar5 != 0)) {\n                *piVar11 = iVar4;\n                piVar11 = piVar2 + iVar13 + 1;\n                iVar13 = iVar13 + 1;\n              }\n              iVar4 = (**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088));\n            } while (iVar4 != 0);\n          }\n          (**(code **)(puVar21 + 0x29ca24))(*(undefined4 *)(iVar3 + -0x5090));\n          (**(code **)(puVar21 + 0x29cf78))(piVar2,iVar13,4,*(int *)(puVar21 + 0x29c13c) + -0x5800);\n          *piVar6 = iVar13;\n          *piVar11 = 0;\n          return piVar2;\n        }\n      }\n      return (int *)0x0;\n    }\n  }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n    (**(code **)(puVar21 + 0x29ccac))\n              (*(int *)(puVar21 + 0x29bf84) + 0x45e0,*(int *)(puVar21 + 0x29bf88) + -0x40d0,499,\n               *(int *)(puVar21 + 0x29bf88) + -0x3bd0);\n  }" { (expression_statement "(**(code **)(puVar21 + 0x29ccac))\n              (*(int *)(puVar21 + 0x29bf84) + 0x45e0,*(int *)(puVar21 + 0x29bf88) + -0x40d0,499,\n               *(int *)(puVar21 + 0x29bf88) + -0x3bd0);" (call_expression "(**(code **)(puVar21 + 0x29ccac))\n              (*(int *)(puVar21 + 0x29bf84) + 0x45e0,*(int *)(puVar21 + 0x29bf88) + -0x40d0,499,\n               *(int *)(puVar21 + 0x29bf88) + -0x3bd0)" (parenthesized_expression "(**(code **)(puVar21 + 0x29ccac))" ( (pointer_expression "**(code **)(puVar21 + 0x29ccac)" * (pointer_expression "*(code **)(puVar21 + 0x29ccac)" * (cast_expression "(code **)(puVar21 + 0x29ccac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x29ccac)" ( (binary_expression "puVar21 + 0x29ccac" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar21 + 0x29bf84) + 0x45e0,*(int *)(puVar21 + 0x29bf88) + -0x40d0,499,\n               *(int *)(puVar21 + 0x29bf88) + -0x3bd0)" ( (binary_expression "*(int *)(puVar21 + 0x29bf84) + 0x45e0" (pointer_expression "*(int *)(puVar21 + 0x29bf84)" * (cast_expression "(int *)(puVar21 + 0x29bf84)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 0x29bf84)" ( (binary_expression "puVar21 + 0x29bf84" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar21 + 0x29bf88) + -0x40d0" (pointer_expression "*(int *)(puVar21 + 0x29bf88)" * (cast_expression "(int *)(puVar21 + 0x29bf88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 0x29bf88)" ( (binary_expression "puVar21 + 0x29bf88" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar21 + 0x29bf88) + -0x3bd0" (pointer_expression "*(int *)(puVar21 + 0x29bf88)" * (cast_expression "(int *)(puVar21 + 0x29bf88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 0x29bf88)" ( (binary_expression "puVar21 + 0x29bf88" identifier + number_literal) )))) + number_literal) ))) ;) }) (else_clause "else {\n    puVar12 = *(undefined **)(puVar21 + 0x29bf88);\n    (**(code **)(puVar21 + 0x29c884))\n              (0x8000,puVar12 + -0x40d0,*(int *)(puVar21 + 0x29bf88) + -0x3be0,500);\n    param_1 = uVar20;\n    unaff_s6 = iVar1;\n    unaff_s7 = piVar6;\n    if (piVar6 != (int *)0x0) {\n      *piVar6 = 0;\n      iVar3 = FUN_0010b2dc(uVar20);\n      if (iVar3 != 0) {\n        iVar16 = *(int *)(puVar21 + 0x29bf70);\n        iVar3 = (**(code **)(puVar21 + 0x29ca98))(*(undefined4 *)(iVar16 + -0x5088));\n        piVar2 = (int *)(**(code **)(puVar21 + 0x29cbb0))(iVar3 + 1,4);\n        if (piVar2 != (int *)0x0) {\n          iVar3 = *(int *)(puVar21 + 0x29bf70);\n          (**(code **)(puVar21 + 0x29cd8c))(*(undefined4 *)(iVar3 + -0x5090));\n          (**(code **)(puVar21 + 0x29cbdc))(*(undefined4 *)(iVar16 + -0x5088));\n          iVar4 = (**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088));\n          if (iVar4 == 0) {\n            iVar13 = 0;\n            piVar11 = piVar2;\n          }\n          else {\n            iVar13 = 0;\n            do {\n              piVar11 = piVar2 + iVar13;\n              if ((*(int *)(iVar4 + 0x2c) == 0) &&\n                 (iVar5 = (**(code **)(puVar21 + 0x29ccec))(*(undefined4 *)(iVar4 + 0xc),iVar1,0),\n                 iVar5 != 0)) {\n                *piVar11 = iVar4;\n                piVar11 = piVar2 + iVar13 + 1;\n                iVar13 = iVar13 + 1;\n              }\n              iVar4 = (**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088));\n            } while (iVar4 != 0);\n          }\n          (**(code **)(puVar21 + 0x29ca24))(*(undefined4 *)(iVar3 + -0x5090));\n          (**(code **)(puVar21 + 0x29cf78))(piVar2,iVar13,4,*(int *)(puVar21 + 0x29c13c) + -0x5800);\n          *piVar6 = iVar13;\n          *piVar11 = 0;\n          return piVar2;\n        }\n      }\n      return (int *)0x0;\n    }\n  }" else (compound_statement "{\n    puVar12 = *(undefined **)(puVar21 + 0x29bf88);\n    (**(code **)(puVar21 + 0x29c884))\n              (0x8000,puVar12 + -0x40d0,*(int *)(puVar21 + 0x29bf88) + -0x3be0,500);\n    param_1 = uVar20;\n    unaff_s6 = iVar1;\n    unaff_s7 = piVar6;\n    if (piVar6 != (int *)0x0) {\n      *piVar6 = 0;\n      iVar3 = FUN_0010b2dc(uVar20);\n      if (iVar3 != 0) {\n        iVar16 = *(int *)(puVar21 + 0x29bf70);\n        iVar3 = (**(code **)(puVar21 + 0x29ca98))(*(undefined4 *)(iVar16 + -0x5088));\n        piVar2 = (int *)(**(code **)(puVar21 + 0x29cbb0))(iVar3 + 1,4);\n        if (piVar2 != (int *)0x0) {\n          iVar3 = *(int *)(puVar21 + 0x29bf70);\n          (**(code **)(puVar21 + 0x29cd8c))(*(undefined4 *)(iVar3 + -0x5090));\n          (**(code **)(puVar21 + 0x29cbdc))(*(undefined4 *)(iVar16 + -0x5088));\n          iVar4 = (**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088));\n          if (iVar4 == 0) {\n            iVar13 = 0;\n            piVar11 = piVar2;\n          }\n          else {\n            iVar13 = 0;\n            do {\n              piVar11 = piVar2 + iVar13;\n              if ((*(int *)(iVar4 + 0x2c) == 0) &&\n                 (iVar5 = (**(code **)(puVar21 + 0x29ccec))(*(undefined4 *)(iVar4 + 0xc),iVar1,0),\n                 iVar5 != 0)) {\n                *piVar11 = iVar4;\n                piVar11 = piVar2 + iVar13 + 1;\n                iVar13 = iVar13 + 1;\n              }\n              iVar4 = (**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088));\n            } while (iVar4 != 0);\n          }\n          (**(code **)(puVar21 + 0x29ca24))(*(undefined4 *)(iVar3 + -0x5090));\n          (**(code **)(puVar21 + 0x29cf78))(piVar2,iVar13,4,*(int *)(puVar21 + 0x29c13c) + -0x5800);\n          *piVar6 = iVar13;\n          *piVar11 = 0;\n          return piVar2;\n        }\n      }\n      return (int *)0x0;\n    }\n  }" { (expression_statement "puVar12 = *(undefined **)(puVar21 + 0x29bf88);" (assignment_expression "puVar12 = *(undefined **)(puVar21 + 0x29bf88)" identifier = (pointer_expression "*(undefined **)(puVar21 + 0x29bf88)" * (cast_expression "(undefined **)(puVar21 + 0x29bf88)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x29bf88)" ( (binary_expression "puVar21 + 0x29bf88" identifier + number_literal) ))))) ;) (expression_statement "(**(code **)(puVar21 + 0x29c884))\n              (0x8000,puVar12 + -0x40d0,*(int *)(puVar21 + 0x29bf88) + -0x3be0,500);" (call_expression "(**(code **)(puVar21 + 0x29c884))\n              (0x8000,puVar12 + -0x40d0,*(int *)(puVar21 + 0x29bf88) + -0x3be0,500)" (parenthesized_expression "(**(code **)(puVar21 + 0x29c884))" ( (pointer_expression "**(code **)(puVar21 + 0x29c884)" * (pointer_expression "*(code **)(puVar21 + 0x29c884)" * (cast_expression "(code **)(puVar21 + 0x29c884)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x29c884)" ( (binary_expression "puVar21 + 0x29c884" identifier + number_literal) ))))) )) (argument_list "(0x8000,puVar12 + -0x40d0,*(int *)(puVar21 + 0x29bf88) + -0x3be0,500)" ( number_literal , (binary_expression "puVar12 + -0x40d0" identifier + number_literal) , (binary_expression "*(int *)(puVar21 + 0x29bf88) + -0x3be0" (pointer_expression "*(int *)(puVar21 + 0x29bf88)" * (cast_expression "(int *)(puVar21 + 0x29bf88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 0x29bf88)" ( (binary_expression "puVar21 + 0x29bf88" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) (expression_statement "param_1 = uVar20;" (assignment_expression "param_1 = uVar20" identifier = identifier) ;) (expression_statement "unaff_s6 = iVar1;" (assignment_expression "unaff_s6 = iVar1" identifier = identifier) ;) (expression_statement "unaff_s7 = piVar6;" (assignment_expression "unaff_s7 = piVar6" identifier = identifier) ;) (if_statement "if (piVar6 != (int *)0x0) {\n      *piVar6 = 0;\n      iVar3 = FUN_0010b2dc(uVar20);\n      if (iVar3 != 0) {\n        iVar16 = *(int *)(puVar21 + 0x29bf70);\n        iVar3 = (**(code **)(puVar21 + 0x29ca98))(*(undefined4 *)(iVar16 + -0x5088));\n        piVar2 = (int *)(**(code **)(puVar21 + 0x29cbb0))(iVar3 + 1,4);\n        if (piVar2 != (int *)0x0) {\n          iVar3 = *(int *)(puVar21 + 0x29bf70);\n          (**(code **)(puVar21 + 0x29cd8c))(*(undefined4 *)(iVar3 + -0x5090));\n          (**(code **)(puVar21 + 0x29cbdc))(*(undefined4 *)(iVar16 + -0x5088));\n          iVar4 = (**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088));\n          if (iVar4 == 0) {\n            iVar13 = 0;\n            piVar11 = piVar2;\n          }\n          else {\n            iVar13 = 0;\n            do {\n              piVar11 = piVar2 + iVar13;\n              if ((*(int *)(iVar4 + 0x2c) == 0) &&\n                 (iVar5 = (**(code **)(puVar21 + 0x29ccec))(*(undefined4 *)(iVar4 + 0xc),iVar1,0),\n                 iVar5 != 0)) {\n                *piVar11 = iVar4;\n                piVar11 = piVar2 + iVar13 + 1;\n                iVar13 = iVar13 + 1;\n              }\n              iVar4 = (**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088));\n            } while (iVar4 != 0);\n          }\n          (**(code **)(puVar21 + 0x29ca24))(*(undefined4 *)(iVar3 + -0x5090));\n          (**(code **)(puVar21 + 0x29cf78))(piVar2,iVar13,4,*(int *)(puVar21 + 0x29c13c) + -0x5800);\n          *piVar6 = iVar13;\n          *piVar11 = 0;\n          return piVar2;\n        }\n      }\n      return (int *)0x0;\n    }" if (parenthesized_expression "(piVar6 != (int *)0x0)" ( (binary_expression "piVar6 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      *piVar6 = 0;\n      iVar3 = FUN_0010b2dc(uVar20);\n      if (iVar3 != 0) {\n        iVar16 = *(int *)(puVar21 + 0x29bf70);\n        iVar3 = (**(code **)(puVar21 + 0x29ca98))(*(undefined4 *)(iVar16 + -0x5088));\n        piVar2 = (int *)(**(code **)(puVar21 + 0x29cbb0))(iVar3 + 1,4);\n        if (piVar2 != (int *)0x0) {\n          iVar3 = *(int *)(puVar21 + 0x29bf70);\n          (**(code **)(puVar21 + 0x29cd8c))(*(undefined4 *)(iVar3 + -0x5090));\n          (**(code **)(puVar21 + 0x29cbdc))(*(undefined4 *)(iVar16 + -0x5088));\n          iVar4 = (**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088));\n          if (iVar4 == 0) {\n            iVar13 = 0;\n            piVar11 = piVar2;\n          }\n          else {\n            iVar13 = 0;\n            do {\n              piVar11 = piVar2 + iVar13;\n              if ((*(int *)(iVar4 + 0x2c) == 0) &&\n                 (iVar5 = (**(code **)(puVar21 + 0x29ccec))(*(undefined4 *)(iVar4 + 0xc),iVar1,0),\n                 iVar5 != 0)) {\n                *piVar11 = iVar4;\n                piVar11 = piVar2 + iVar13 + 1;\n                iVar13 = iVar13 + 1;\n              }\n              iVar4 = (**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088));\n            } while (iVar4 != 0);\n          }\n          (**(code **)(puVar21 + 0x29ca24))(*(undefined4 *)(iVar3 + -0x5090));\n          (**(code **)(puVar21 + 0x29cf78))(piVar2,iVar13,4,*(int *)(puVar21 + 0x29c13c) + -0x5800);\n          *piVar6 = iVar13;\n          *piVar11 = 0;\n          return piVar2;\n        }\n      }\n      return (int *)0x0;\n    }" { (expression_statement "*piVar6 = 0;" (assignment_expression "*piVar6 = 0" (pointer_expression "*piVar6" * identifier) = number_literal) ;) (expression_statement "iVar3 = FUN_0010b2dc(uVar20);" (assignment_expression "iVar3 = FUN_0010b2dc(uVar20)" identifier = (call_expression "FUN_0010b2dc(uVar20)" identifier (argument_list "(uVar20)" ( identifier )))) ;) (if_statement "if (iVar3 != 0) {\n        iVar16 = *(int *)(puVar21 + 0x29bf70);\n        iVar3 = (**(code **)(puVar21 + 0x29ca98))(*(undefined4 *)(iVar16 + -0x5088));\n        piVar2 = (int *)(**(code **)(puVar21 + 0x29cbb0))(iVar3 + 1,4);\n        if (piVar2 != (int *)0x0) {\n          iVar3 = *(int *)(puVar21 + 0x29bf70);\n          (**(code **)(puVar21 + 0x29cd8c))(*(undefined4 *)(iVar3 + -0x5090));\n          (**(code **)(puVar21 + 0x29cbdc))(*(undefined4 *)(iVar16 + -0x5088));\n          iVar4 = (**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088));\n          if (iVar4 == 0) {\n            iVar13 = 0;\n            piVar11 = piVar2;\n          }\n          else {\n            iVar13 = 0;\n            do {\n              piVar11 = piVar2 + iVar13;\n              if ((*(int *)(iVar4 + 0x2c) == 0) &&\n                 (iVar5 = (**(code **)(puVar21 + 0x29ccec))(*(undefined4 *)(iVar4 + 0xc),iVar1,0),\n                 iVar5 != 0)) {\n                *piVar11 = iVar4;\n                piVar11 = piVar2 + iVar13 + 1;\n                iVar13 = iVar13 + 1;\n              }\n              iVar4 = (**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088));\n            } while (iVar4 != 0);\n          }\n          (**(code **)(puVar21 + 0x29ca24))(*(undefined4 *)(iVar3 + -0x5090));\n          (**(code **)(puVar21 + 0x29cf78))(piVar2,iVar13,4,*(int *)(puVar21 + 0x29c13c) + -0x5800);\n          *piVar6 = iVar13;\n          *piVar11 = 0;\n          return piVar2;\n        }\n      }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n        iVar16 = *(int *)(puVar21 + 0x29bf70);\n        iVar3 = (**(code **)(puVar21 + 0x29ca98))(*(undefined4 *)(iVar16 + -0x5088));\n        piVar2 = (int *)(**(code **)(puVar21 + 0x29cbb0))(iVar3 + 1,4);\n        if (piVar2 != (int *)0x0) {\n          iVar3 = *(int *)(puVar21 + 0x29bf70);\n          (**(code **)(puVar21 + 0x29cd8c))(*(undefined4 *)(iVar3 + -0x5090));\n          (**(code **)(puVar21 + 0x29cbdc))(*(undefined4 *)(iVar16 + -0x5088));\n          iVar4 = (**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088));\n          if (iVar4 == 0) {\n            iVar13 = 0;\n            piVar11 = piVar2;\n          }\n          else {\n            iVar13 = 0;\n            do {\n              piVar11 = piVar2 + iVar13;\n              if ((*(int *)(iVar4 + 0x2c) == 0) &&\n                 (iVar5 = (**(code **)(puVar21 + 0x29ccec))(*(undefined4 *)(iVar4 + 0xc),iVar1,0),\n                 iVar5 != 0)) {\n                *piVar11 = iVar4;\n                piVar11 = piVar2 + iVar13 + 1;\n                iVar13 = iVar13 + 1;\n              }\n              iVar4 = (**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088));\n            } while (iVar4 != 0);\n          }\n          (**(code **)(puVar21 + 0x29ca24))(*(undefined4 *)(iVar3 + -0x5090));\n          (**(code **)(puVar21 + 0x29cf78))(piVar2,iVar13,4,*(int *)(puVar21 + 0x29c13c) + -0x5800);\n          *piVar6 = iVar13;\n          *piVar11 = 0;\n          return piVar2;\n        }\n      }" { (expression_statement "iVar16 = *(int *)(puVar21 + 0x29bf70);" (assignment_expression "iVar16 = *(int *)(puVar21 + 0x29bf70)" identifier = (pointer_expression "*(int *)(puVar21 + 0x29bf70)" * (cast_expression "(int *)(puVar21 + 0x29bf70)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 0x29bf70)" ( (binary_expression "puVar21 + 0x29bf70" identifier + number_literal) ))))) ;) (expression_statement "iVar3 = (**(code **)(puVar21 + 0x29ca98))(*(undefined4 *)(iVar16 + -0x5088));" (assignment_expression "iVar3 = (**(code **)(puVar21 + 0x29ca98))(*(undefined4 *)(iVar16 + -0x5088))" identifier = (call_expression "(**(code **)(puVar21 + 0x29ca98))(*(undefined4 *)(iVar16 + -0x5088))" (parenthesized_expression "(**(code **)(puVar21 + 0x29ca98))" ( (pointer_expression "**(code **)(puVar21 + 0x29ca98)" * (pointer_expression "*(code **)(puVar21 + 0x29ca98)" * (cast_expression "(code **)(puVar21 + 0x29ca98)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x29ca98)" ( (binary_expression "puVar21 + 0x29ca98" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar16 + -0x5088))" ( (pointer_expression "*(undefined4 *)(iVar16 + -0x5088)" * (cast_expression "(undefined4 *)(iVar16 + -0x5088)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + -0x5088)" ( (binary_expression "iVar16 + -0x5088" identifier + number_literal) )))) )))) ;) (expression_statement "piVar2 = (int *)(**(code **)(puVar21 + 0x29cbb0))(iVar3 + 1,4);" (assignment_expression "piVar2 = (int *)(**(code **)(puVar21 + 0x29cbb0))(iVar3 + 1,4)" identifier = (cast_expression "(int *)(**(code **)(puVar21 + 0x29cbb0))(iVar3 + 1,4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar21 + 0x29cbb0))(iVar3 + 1,4)" (parenthesized_expression "(**(code **)(puVar21 + 0x29cbb0))" ( (pointer_expression "**(code **)(puVar21 + 0x29cbb0)" * (pointer_expression "*(code **)(puVar21 + 0x29cbb0)" * (cast_expression "(code **)(puVar21 + 0x29cbb0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x29cbb0)" ( (binary_expression "puVar21 + 0x29cbb0" identifier + number_literal) ))))) )) (argument_list "(iVar3 + 1,4)" ( (binary_expression "iVar3 + 1" identifier + number_literal) , number_literal ))))) ;) (if_statement "if (piVar2 != (int *)0x0) {\n          iVar3 = *(int *)(puVar21 + 0x29bf70);\n          (**(code **)(puVar21 + 0x29cd8c))(*(undefined4 *)(iVar3 + -0x5090));\n          (**(code **)(puVar21 + 0x29cbdc))(*(undefined4 *)(iVar16 + -0x5088));\n          iVar4 = (**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088));\n          if (iVar4 == 0) {\n            iVar13 = 0;\n            piVar11 = piVar2;\n          }\n          else {\n            iVar13 = 0;\n            do {\n              piVar11 = piVar2 + iVar13;\n              if ((*(int *)(iVar4 + 0x2c) == 0) &&\n                 (iVar5 = (**(code **)(puVar21 + 0x29ccec))(*(undefined4 *)(iVar4 + 0xc),iVar1,0),\n                 iVar5 != 0)) {\n                *piVar11 = iVar4;\n                piVar11 = piVar2 + iVar13 + 1;\n                iVar13 = iVar13 + 1;\n              }\n              iVar4 = (**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088));\n            } while (iVar4 != 0);\n          }\n          (**(code **)(puVar21 + 0x29ca24))(*(undefined4 *)(iVar3 + -0x5090));\n          (**(code **)(puVar21 + 0x29cf78))(piVar2,iVar13,4,*(int *)(puVar21 + 0x29c13c) + -0x5800);\n          *piVar6 = iVar13;\n          *piVar11 = 0;\n          return piVar2;\n        }" if (parenthesized_expression "(piVar2 != (int *)0x0)" ( (binary_expression "piVar2 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          iVar3 = *(int *)(puVar21 + 0x29bf70);\n          (**(code **)(puVar21 + 0x29cd8c))(*(undefined4 *)(iVar3 + -0x5090));\n          (**(code **)(puVar21 + 0x29cbdc))(*(undefined4 *)(iVar16 + -0x5088));\n          iVar4 = (**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088));\n          if (iVar4 == 0) {\n            iVar13 = 0;\n            piVar11 = piVar2;\n          }\n          else {\n            iVar13 = 0;\n            do {\n              piVar11 = piVar2 + iVar13;\n              if ((*(int *)(iVar4 + 0x2c) == 0) &&\n                 (iVar5 = (**(code **)(puVar21 + 0x29ccec))(*(undefined4 *)(iVar4 + 0xc),iVar1,0),\n                 iVar5 != 0)) {\n                *piVar11 = iVar4;\n                piVar11 = piVar2 + iVar13 + 1;\n                iVar13 = iVar13 + 1;\n              }\n              iVar4 = (**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088));\n            } while (iVar4 != 0);\n          }\n          (**(code **)(puVar21 + 0x29ca24))(*(undefined4 *)(iVar3 + -0x5090));\n          (**(code **)(puVar21 + 0x29cf78))(piVar2,iVar13,4,*(int *)(puVar21 + 0x29c13c) + -0x5800);\n          *piVar6 = iVar13;\n          *piVar11 = 0;\n          return piVar2;\n        }" { (expression_statement "iVar3 = *(int *)(puVar21 + 0x29bf70);" (assignment_expression "iVar3 = *(int *)(puVar21 + 0x29bf70)" identifier = (pointer_expression "*(int *)(puVar21 + 0x29bf70)" * (cast_expression "(int *)(puVar21 + 0x29bf70)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 0x29bf70)" ( (binary_expression "puVar21 + 0x29bf70" identifier + number_literal) ))))) ;) (expression_statement "(**(code **)(puVar21 + 0x29cd8c))(*(undefined4 *)(iVar3 + -0x5090));" (call_expression "(**(code **)(puVar21 + 0x29cd8c))(*(undefined4 *)(iVar3 + -0x5090))" (parenthesized_expression "(**(code **)(puVar21 + 0x29cd8c))" ( (pointer_expression "**(code **)(puVar21 + 0x29cd8c)" * (pointer_expression "*(code **)(puVar21 + 0x29cd8c)" * (cast_expression "(code **)(puVar21 + 0x29cd8c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x29cd8c)" ( (binary_expression "puVar21 + 0x29cd8c" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar3 + -0x5090))" ( (pointer_expression "*(undefined4 *)(iVar3 + -0x5090)" * (cast_expression "(undefined4 *)(iVar3 + -0x5090)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + -0x5090)" ( (binary_expression "iVar3 + -0x5090" identifier + number_literal) )))) ))) ;) (expression_statement "(**(code **)(puVar21 + 0x29cbdc))(*(undefined4 *)(iVar16 + -0x5088));" (call_expression "(**(code **)(puVar21 + 0x29cbdc))(*(undefined4 *)(iVar16 + -0x5088))" (parenthesized_expression "(**(code **)(puVar21 + 0x29cbdc))" ( (pointer_expression "**(code **)(puVar21 + 0x29cbdc)" * (pointer_expression "*(code **)(puVar21 + 0x29cbdc)" * (cast_expression "(code **)(puVar21 + 0x29cbdc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x29cbdc)" ( (binary_expression "puVar21 + 0x29cbdc" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar16 + -0x5088))" ( (pointer_expression "*(undefined4 *)(iVar16 + -0x5088)" * (cast_expression "(undefined4 *)(iVar16 + -0x5088)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + -0x5088)" ( (binary_expression "iVar16 + -0x5088" identifier + number_literal) )))) ))) ;) (expression_statement "iVar4 = (**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088));" (assignment_expression "iVar4 = (**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088))" identifier = (call_expression "(**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088))" (parenthesized_expression "(**(code **)(puVar21 + 0x29c9b4))" ( (pointer_expression "**(code **)(puVar21 + 0x29c9b4)" * (pointer_expression "*(code **)(puVar21 + 0x29c9b4)" * (cast_expression "(code **)(puVar21 + 0x29c9b4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x29c9b4)" ( (binary_expression "puVar21 + 0x29c9b4" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar16 + -0x5088))" ( (pointer_expression "*(undefined4 *)(iVar16 + -0x5088)" * (cast_expression "(undefined4 *)(iVar16 + -0x5088)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + -0x5088)" ( (binary_expression "iVar16 + -0x5088" identifier + number_literal) )))) )))) ;) (if_statement "if (iVar4 == 0) {\n            iVar13 = 0;\n            piVar11 = piVar2;\n          }\n          else {\n            iVar13 = 0;\n            do {\n              piVar11 = piVar2 + iVar13;\n              if ((*(int *)(iVar4 + 0x2c) == 0) &&\n                 (iVar5 = (**(code **)(puVar21 + 0x29ccec))(*(undefined4 *)(iVar4 + 0xc),iVar1,0),\n                 iVar5 != 0)) {\n                *piVar11 = iVar4;\n                piVar11 = piVar2 + iVar13 + 1;\n                iVar13 = iVar13 + 1;\n              }\n              iVar4 = (**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088));\n            } while (iVar4 != 0);\n          }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n            iVar13 = 0;\n            piVar11 = piVar2;\n          }" { (expression_statement "iVar13 = 0;" (assignment_expression "iVar13 = 0" identifier = number_literal) ;) (expression_statement "piVar11 = piVar2;" (assignment_expression "piVar11 = piVar2" identifier = identifier) ;) }) (else_clause "else {\n            iVar13 = 0;\n            do {\n              piVar11 = piVar2 + iVar13;\n              if ((*(int *)(iVar4 + 0x2c) == 0) &&\n                 (iVar5 = (**(code **)(puVar21 + 0x29ccec))(*(undefined4 *)(iVar4 + 0xc),iVar1,0),\n                 iVar5 != 0)) {\n                *piVar11 = iVar4;\n                piVar11 = piVar2 + iVar13 + 1;\n                iVar13 = iVar13 + 1;\n              }\n              iVar4 = (**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088));\n            } while (iVar4 != 0);\n          }" else (compound_statement "{\n            iVar13 = 0;\n            do {\n              piVar11 = piVar2 + iVar13;\n              if ((*(int *)(iVar4 + 0x2c) == 0) &&\n                 (iVar5 = (**(code **)(puVar21 + 0x29ccec))(*(undefined4 *)(iVar4 + 0xc),iVar1,0),\n                 iVar5 != 0)) {\n                *piVar11 = iVar4;\n                piVar11 = piVar2 + iVar13 + 1;\n                iVar13 = iVar13 + 1;\n              }\n              iVar4 = (**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088));\n            } while (iVar4 != 0);\n          }" { (expression_statement "iVar13 = 0;" (assignment_expression "iVar13 = 0" identifier = number_literal) ;) (do_statement "do {\n              piVar11 = piVar2 + iVar13;\n              if ((*(int *)(iVar4 + 0x2c) == 0) &&\n                 (iVar5 = (**(code **)(puVar21 + 0x29ccec))(*(undefined4 *)(iVar4 + 0xc),iVar1,0),\n                 iVar5 != 0)) {\n                *piVar11 = iVar4;\n                piVar11 = piVar2 + iVar13 + 1;\n                iVar13 = iVar13 + 1;\n              }\n              iVar4 = (**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088));\n            } while (iVar4 != 0);" do (compound_statement "{\n              piVar11 = piVar2 + iVar13;\n              if ((*(int *)(iVar4 + 0x2c) == 0) &&\n                 (iVar5 = (**(code **)(puVar21 + 0x29ccec))(*(undefined4 *)(iVar4 + 0xc),iVar1,0),\n                 iVar5 != 0)) {\n                *piVar11 = iVar4;\n                piVar11 = piVar2 + iVar13 + 1;\n                iVar13 = iVar13 + 1;\n              }\n              iVar4 = (**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088));\n            }" { (expression_statement "piVar11 = piVar2 + iVar13;" (assignment_expression "piVar11 = piVar2 + iVar13" identifier = (binary_expression "piVar2 + iVar13" identifier + identifier)) ;) (if_statement "if ((*(int *)(iVar4 + 0x2c) == 0) &&\n                 (iVar5 = (**(code **)(puVar21 + 0x29ccec))(*(undefined4 *)(iVar4 + 0xc),iVar1,0),\n                 iVar5 != 0)) {\n                *piVar11 = iVar4;\n                piVar11 = piVar2 + iVar13 + 1;\n                iVar13 = iVar13 + 1;\n              }" if (parenthesized_expression "((*(int *)(iVar4 + 0x2c) == 0) &&\n                 (iVar5 = (**(code **)(puVar21 + 0x29ccec))(*(undefined4 *)(iVar4 + 0xc),iVar1,0),\n                 iVar5 != 0))" ( (binary_expression "(*(int *)(iVar4 + 0x2c) == 0) &&\n                 (iVar5 = (**(code **)(puVar21 + 0x29ccec))(*(undefined4 *)(iVar4 + 0xc),iVar1,0),\n                 iVar5 != 0)" (parenthesized_expression "(*(int *)(iVar4 + 0x2c) == 0)" ( (binary_expression "*(int *)(iVar4 + 0x2c) == 0" (pointer_expression "*(int *)(iVar4 + 0x2c)" * (cast_expression "(int *)(iVar4 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x2c)" ( (binary_expression "iVar4 + 0x2c" identifier + number_literal) )))) == number_literal) )) && (parenthesized_expression "(iVar5 = (**(code **)(puVar21 + 0x29ccec))(*(undefined4 *)(iVar4 + 0xc),iVar1,0),\n                 iVar5 != 0)" ( (comma_expression "iVar5 = (**(code **)(puVar21 + 0x29ccec))(*(undefined4 *)(iVar4 + 0xc),iVar1,0),\n                 iVar5 != 0" (assignment_expression "iVar5 = (**(code **)(puVar21 + 0x29ccec))(*(undefined4 *)(iVar4 + 0xc),iVar1,0)" identifier = (call_expression "(**(code **)(puVar21 + 0x29ccec))(*(undefined4 *)(iVar4 + 0xc),iVar1,0)" (parenthesized_expression "(**(code **)(puVar21 + 0x29ccec))" ( (pointer_expression "**(code **)(puVar21 + 0x29ccec)" * (pointer_expression "*(code **)(puVar21 + 0x29ccec)" * (cast_expression "(code **)(puVar21 + 0x29ccec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x29ccec)" ( (binary_expression "puVar21 + 0x29ccec" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar4 + 0xc),iVar1,0)" ( (pointer_expression "*(undefined4 *)(iVar4 + 0xc)" * (cast_expression "(undefined4 *)(iVar4 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0xc)" ( (binary_expression "iVar4 + 0xc" identifier + number_literal) )))) , identifier , number_literal )))) , (binary_expression "iVar5 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n                *piVar11 = iVar4;\n                piVar11 = piVar2 + iVar13 + 1;\n                iVar13 = iVar13 + 1;\n              }" { (expression_statement "*piVar11 = iVar4;" (assignment_expression "*piVar11 = iVar4" (pointer_expression "*piVar11" * identifier) = identifier) ;) (expression_statement "piVar11 = piVar2 + iVar13 + 1;" (assignment_expression "piVar11 = piVar2 + iVar13 + 1" identifier = (binary_expression "piVar2 + iVar13 + 1" (binary_expression "piVar2 + iVar13" identifier + identifier) + number_literal)) ;) (expression_statement "iVar13 = iVar13 + 1;" (assignment_expression "iVar13 = iVar13 + 1" identifier = (binary_expression "iVar13 + 1" identifier + number_literal)) ;) })) (expression_statement "iVar4 = (**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088));" (assignment_expression "iVar4 = (**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088))" identifier = (call_expression "(**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088))" (parenthesized_expression "(**(code **)(puVar21 + 0x29c9b4))" ( (pointer_expression "**(code **)(puVar21 + 0x29c9b4)" * (pointer_expression "*(code **)(puVar21 + 0x29c9b4)" * (cast_expression "(code **)(puVar21 + 0x29c9b4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x29c9b4)" ( (binary_expression "puVar21 + 0x29c9b4" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar16 + -0x5088))" ( (pointer_expression "*(undefined4 *)(iVar16 + -0x5088)" * (cast_expression "(undefined4 *)(iVar16 + -0x5088)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + -0x5088)" ( (binary_expression "iVar16 + -0x5088" identifier + number_literal) )))) )))) ;) }) while (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) ;) }))) (expression_statement "(**(code **)(puVar21 + 0x29ca24))(*(undefined4 *)(iVar3 + -0x5090));" (call_expression "(**(code **)(puVar21 + 0x29ca24))(*(undefined4 *)(iVar3 + -0x5090))" (parenthesized_expression "(**(code **)(puVar21 + 0x29ca24))" ( (pointer_expression "**(code **)(puVar21 + 0x29ca24)" * (pointer_expression "*(code **)(puVar21 + 0x29ca24)" * (cast_expression "(code **)(puVar21 + 0x29ca24)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x29ca24)" ( (binary_expression "puVar21 + 0x29ca24" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar3 + -0x5090))" ( (pointer_expression "*(undefined4 *)(iVar3 + -0x5090)" * (cast_expression "(undefined4 *)(iVar3 + -0x5090)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + -0x5090)" ( (binary_expression "iVar3 + -0x5090" identifier + number_literal) )))) ))) ;) (expression_statement "(**(code **)(puVar21 + 0x29cf78))(piVar2,iVar13,4,*(int *)(puVar21 + 0x29c13c) + -0x5800);" (call_expression "(**(code **)(puVar21 + 0x29cf78))(piVar2,iVar13,4,*(int *)(puVar21 + 0x29c13c) + -0x5800)" (parenthesized_expression "(**(code **)(puVar21 + 0x29cf78))" ( (pointer_expression "**(code **)(puVar21 + 0x29cf78)" * (pointer_expression "*(code **)(puVar21 + 0x29cf78)" * (cast_expression "(code **)(puVar21 + 0x29cf78)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x29cf78)" ( (binary_expression "puVar21 + 0x29cf78" identifier + number_literal) ))))) )) (argument_list "(piVar2,iVar13,4,*(int *)(puVar21 + 0x29c13c) + -0x5800)" ( identifier , identifier , number_literal , (binary_expression "*(int *)(puVar21 + 0x29c13c) + -0x5800" (pointer_expression "*(int *)(puVar21 + 0x29c13c)" * (cast_expression "(int *)(puVar21 + 0x29c13c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 0x29c13c)" ( (binary_expression "puVar21 + 0x29c13c" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "*piVar6 = iVar13;" (assignment_expression "*piVar6 = iVar13" (pointer_expression "*piVar6" * identifier) = identifier) ;) (expression_statement "*piVar11 = 0;" (assignment_expression "*piVar11 = 0" (pointer_expression "*piVar11" * identifier) = number_literal) ;) (return_statement "return piVar2;" return identifier ;) })) })) (return_statement "return (int *)0x0;" return (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) }))) (expression_statement "puVar10 = puVar12 + -0x40d0;" (assignment_expression "puVar10 = puVar12 + -0x40d0" identifier = (binary_expression "puVar12 + -0x40d0" identifier + number_literal)) ;) (expression_statement "pcVar22 = *(code **)(puVar21 + 0x29ccac);" (assignment_expression "pcVar22 = *(code **)(puVar21 + 0x29ccac)" identifier = (pointer_expression "*(code **)(puVar21 + 0x29ccac)" * (cast_expression "(code **)(puVar21 + 0x29ccac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x29ccac)" ( (binary_expression "puVar21 + 0x29ccac" identifier + number_literal) ))))) ;) (expression_statement "iVar1 = *(int *)(puVar21 + 0x29bf88) + -0x3e64;" (assignment_expression "iVar1 = *(int *)(puVar21 + 0x29bf88) + -0x3e64" identifier = (binary_expression "*(int *)(puVar21 + 0x29bf88) + -0x3e64" (pointer_expression "*(int *)(puVar21 + 0x29bf88)" * (cast_expression "(int *)(puVar21 + 0x29bf88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 0x29bf88)" ( (binary_expression "puVar21 + 0x29bf88" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar22)(iVar1,puVar10,0x1f5,*(int *)(puVar21 + 0x29bf88) + -0x3bd0);" (call_expression "(*pcVar22)(iVar1,puVar10,0x1f5,*(int *)(puVar21 + 0x29bf88) + -0x3bd0)" (parenthesized_expression "(*pcVar22)" ( (pointer_expression "*pcVar22" * identifier) )) (argument_list "(iVar1,puVar10,0x1f5,*(int *)(puVar21 + 0x29bf88) + -0x3bd0)" ( identifier , identifier , number_literal , (binary_expression "*(int *)(puVar21 + 0x29bf88) + -0x3bd0" (pointer_expression "*(int *)(puVar21 + 0x29bf88)" * (cast_expression "(int *)(puVar21 + 0x29bf88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 0x29bf88)" ( (binary_expression "puVar21 + 0x29bf88" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "piVar6 = *(int **)(pcVar22 + 0x29c670);" (assignment_expression "piVar6 = *(int **)(pcVar22 + 0x29c670)" identifier = (pointer_expression "*(int **)(pcVar22 + 0x29c670)" * (cast_expression "(int **)(pcVar22 + 0x29c670)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x29c670)" ( (binary_expression "pcVar22 + 0x29c670" identifier + number_literal) ))))) ;) (expression_statement "uStack_b4 = param_5;" (assignment_expression "uStack_b4 = param_5" identifier = identifier) ;) (expression_statement "iStack_cc = *piVar6;" (assignment_expression "iStack_cc = *piVar6" identifier = (pointer_expression "*piVar6" * identifier)) ;) (if_statement "if (iVar1 == 0) {\n    iVar1 = **(int **)(pcVar22 + 0x29c324);\n  }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n    iVar1 = **(int **)(pcVar22 + 0x29c324);\n  }" { (expression_statement "iVar1 = **(int **)(pcVar22 + 0x29c324);" (assignment_expression "iVar1 = **(int **)(pcVar22 + 0x29c324)" identifier = (pointer_expression "**(int **)(pcVar22 + 0x29c324)" * (pointer_expression "*(int **)(pcVar22 + 0x29c324)" * (cast_expression "(int **)(pcVar22 + 0x29c324)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x29c324)" ( (binary_expression "pcVar22 + 0x29c324" identifier + number_literal) )))))) ;) })) (expression_statement "piVar11 = &iStack_d0;" (assignment_expression "piVar11 = &iStack_d0" identifier = (pointer_expression "&iStack_d0" & identifier)) ;) (expression_statement "puStack_c8 = puVar12;" (assignment_expression "puStack_c8 = puVar12" identifier = identifier) ;) (expression_statement "uStack_c4 = param_1;" (assignment_expression "uStack_c4 = param_1" identifier = identifier) ;) (expression_statement "piStack_c0 = param_2;" (assignment_expression "piStack_c0 = param_2" identifier = identifier) ;) (expression_statement "uStack_bc = param_3;" (assignment_expression "uStack_bc = param_3" identifier = identifier) ;) (expression_statement "uStack_b8 = param_4;" (assignment_expression "uStack_b8 = param_4" identifier = identifier) ;) (expression_statement "iStack_b0 = unaff_s6;" (assignment_expression "iStack_b0 = unaff_s6" identifier = identifier) ;) (expression_statement "piStack_ac = unaff_s7;" (assignment_expression "piStack_ac = unaff_s7" identifier = identifier) ;) (expression_statement "piVar2 = (int *)(**(code **)(pcVar22 + 0x29cc48))(*(int *)(pcVar22 + 0x29bd28) + 0x6c9c);" (assignment_expression "piVar2 = (int *)(**(code **)(pcVar22 + 0x29cc48))(*(int *)(pcVar22 + 0x29bd28) + 0x6c9c)" identifier = (cast_expression "(int *)(**(code **)(pcVar22 + 0x29cc48))(*(int *)(pcVar22 + 0x29bd28) + 0x6c9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar22 + 0x29cc48))(*(int *)(pcVar22 + 0x29bd28) + 0x6c9c)" (parenthesized_expression "(**(code **)(pcVar22 + 0x29cc48))" ( (pointer_expression "**(code **)(pcVar22 + 0x29cc48)" * (pointer_expression "*(code **)(pcVar22 + 0x29cc48)" * (cast_expression "(code **)(pcVar22 + 0x29cc48)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x29cc48)" ( (binary_expression "pcVar22 + 0x29cc48" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar22 + 0x29bd28) + 0x6c9c)" ( (binary_expression "*(int *)(pcVar22 + 0x29bd28) + 0x6c9c" (pointer_expression "*(int *)(pcVar22 + 0x29bd28)" * (cast_expression "(int *)(pcVar22 + 0x29bd28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x29bd28)" ( (binary_expression "pcVar22 + 0x29bd28" identifier + number_literal) )))) + number_literal) ))))) ;) (if_statement "if (piVar2 == (int *)0x0) {\n    piVar2 = (int *)0x0;\n  }\n  else {\n    iVar3 = *(int *)(pcVar22 + 0x29bd20);\n    if (0 < iStack_d0) {\n      iVar17 = 0;\n      iVar19 = *(int *)(pcVar22 + 0x29bd8c);\n      iVar4 = 0;\n      iVar15 = *(int *)(pcVar22 + 0x29bd90);\n      dVar25 = *(double *)(iVar3 + 0x1418);\n      iVar13 = *(int *)(pcVar22 + 0x29bd24);\n      iVar5 = *(int *)(pcVar22 + 0x29bd24);\n      iVar16 = iStack_d0;\n      piVar14 = piVar2;\n      do {\n        iVar9 = *piVar14;\n        piVar11 = *(int **)(iVar9 + 0x2c);\n        if (piVar11 == (int *)0x0) {\n          iVar16 = *(int *)(iVar9 + 8);\n          if ((iVar4 == 0) ||\n             (iVar7 = (**(code **)(pcVar22 + 0x29c550))(iVar4,iVar16), iVar4 = iVar16, iVar7 != 0))\n          {\n            if (iVar16 != 0) {\n              (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4620,iVar16);\n              iVar9 = *piVar14;\n            }\n            iVar16 = 0;\n            uVar8 = 0;\n            pcVar18 = (char *)(*(int *)(pcVar22 + 0x29bd24) + -0x3b94);\n            while( true ) {\n              if ((1 << (uVar8 & 0x1f) & *(uint *)(iVar9 + 4)) != 0) {\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar19 + 0x30e8,pcVar18);\n                iVar4 = (**(code **)(pcVar22 + 0x29c778))(pcVar18);\n                iVar16 = iVar16 + iVar4;\n              }\n              if (uVar8 == 0x1f) break;\n              pcVar18 = pcVar18 + 0x10;\n              uVar8 = uVar8 + 1;\n              if (*pcVar18 == '\0') break;\n              iVar9 = *piVar14;\n            }\n            if (iVar16 < 0xd) {\n              do {\n                iVar16 = iVar16 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              } while (iVar16 != 0xd);\n            }\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x3e3c);\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4644);\n            iVar9 = *piVar14;\n            iVar4 = *(int *)(iVar9 + 8);\n          }\n          if (*(int *)(iVar9 + 0x10) != 0) {\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x62ac);\n            iVar9 = *piVar14;\n            uVar8 = (**(code **)(pcVar22 + 0x29c778))(*(undefined4 *)(iVar9 + 0x10));\n            if (uVar8 < 0x11) {\n              do {\n                uVar8 = uVar8 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              } while (uVar8 != 0x11);\n              iVar9 = *piVar14;\n            }\n          }\n          dVar24 = (double)*(int *)(iVar9 + 0x18);\n          if (*(int *)(iVar9 + 0x18) < 0) {\n            dVar24 = dVar24 + *(double *)(iVar3 + 0x1418);\n          }\n          (**(code **)(pcVar22 + 0x29c984))\n                    (iVar1,iVar13 + -0x3e1c,(int)((ulonglong)dVar24 >> 0x20),SUB84(dVar24,0));\n          dVar24 = (double)*(int *)(*piVar14 + 0x1c);\n          if (*(int *)(*piVar14 + 0x1c) < 0) {\n            dVar24 = dVar24 + dVar25;\n          }\n          (**(code **)(pcVar22 + 0x29c984))\n                    (iVar1,iVar5 + -0x3e14,(int)((ulonglong)dVar24 >> 0x20),SUB84(dVar24,0));\n          puVar10 = *(undefined **)(*piVar14 + 0x14);\n          if (puVar10 != (undefined *)0x0) {\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x62ac);\n          }\n          piVar11 = (int *)(*(int *)(pcVar22 + 0x29bd2c) + -0x4bdc);\n          (**(code **)(pcVar22 + 0x29c984))(iVar1);\n          iVar16 = iStack_d0;\n        }\n        iVar17 = iVar17 + 1;\n        piVar14 = piVar14 + 1;\n      } while (iVar17 < iVar16);\n    }\n    (**(code **)(pcVar22 + 0x29c8cc))(iVar1);\n    (**(code **)(pcVar22 + 0x29c400))(piVar2);\n    piVar2 = (int *)0x1;\n  }" if (parenthesized_expression "(piVar2 == (int *)0x0)" ( (binary_expression "piVar2 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    piVar2 = (int *)0x0;\n  }" { (expression_statement "piVar2 = (int *)0x0;" (assignment_expression "piVar2 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n    iVar3 = *(int *)(pcVar22 + 0x29bd20);\n    if (0 < iStack_d0) {\n      iVar17 = 0;\n      iVar19 = *(int *)(pcVar22 + 0x29bd8c);\n      iVar4 = 0;\n      iVar15 = *(int *)(pcVar22 + 0x29bd90);\n      dVar25 = *(double *)(iVar3 + 0x1418);\n      iVar13 = *(int *)(pcVar22 + 0x29bd24);\n      iVar5 = *(int *)(pcVar22 + 0x29bd24);\n      iVar16 = iStack_d0;\n      piVar14 = piVar2;\n      do {\n        iVar9 = *piVar14;\n        piVar11 = *(int **)(iVar9 + 0x2c);\n        if (piVar11 == (int *)0x0) {\n          iVar16 = *(int *)(iVar9 + 8);\n          if ((iVar4 == 0) ||\n             (iVar7 = (**(code **)(pcVar22 + 0x29c550))(iVar4,iVar16), iVar4 = iVar16, iVar7 != 0))\n          {\n            if (iVar16 != 0) {\n              (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4620,iVar16);\n              iVar9 = *piVar14;\n            }\n            iVar16 = 0;\n            uVar8 = 0;\n            pcVar18 = (char *)(*(int *)(pcVar22 + 0x29bd24) + -0x3b94);\n            while( true ) {\n              if ((1 << (uVar8 & 0x1f) & *(uint *)(iVar9 + 4)) != 0) {\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar19 + 0x30e8,pcVar18);\n                iVar4 = (**(code **)(pcVar22 + 0x29c778))(pcVar18);\n                iVar16 = iVar16 + iVar4;\n              }\n              if (uVar8 == 0x1f) break;\n              pcVar18 = pcVar18 + 0x10;\n              uVar8 = uVar8 + 1;\n              if (*pcVar18 == '\0') break;\n              iVar9 = *piVar14;\n            }\n            if (iVar16 < 0xd) {\n              do {\n                iVar16 = iVar16 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              } while (iVar16 != 0xd);\n            }\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x3e3c);\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4644);\n            iVar9 = *piVar14;\n            iVar4 = *(int *)(iVar9 + 8);\n          }\n          if (*(int *)(iVar9 + 0x10) != 0) {\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x62ac);\n            iVar9 = *piVar14;\n            uVar8 = (**(code **)(pcVar22 + 0x29c778))(*(undefined4 *)(iVar9 + 0x10));\n            if (uVar8 < 0x11) {\n              do {\n                uVar8 = uVar8 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              } while (uVar8 != 0x11);\n              iVar9 = *piVar14;\n            }\n          }\n          dVar24 = (double)*(int *)(iVar9 + 0x18);\n          if (*(int *)(iVar9 + 0x18) < 0) {\n            dVar24 = dVar24 + *(double *)(iVar3 + 0x1418);\n          }\n          (**(code **)(pcVar22 + 0x29c984))\n                    (iVar1,iVar13 + -0x3e1c,(int)((ulonglong)dVar24 >> 0x20),SUB84(dVar24,0));\n          dVar24 = (double)*(int *)(*piVar14 + 0x1c);\n          if (*(int *)(*piVar14 + 0x1c) < 0) {\n            dVar24 = dVar24 + dVar25;\n          }\n          (**(code **)(pcVar22 + 0x29c984))\n                    (iVar1,iVar5 + -0x3e14,(int)((ulonglong)dVar24 >> 0x20),SUB84(dVar24,0));\n          puVar10 = *(undefined **)(*piVar14 + 0x14);\n          if (puVar10 != (undefined *)0x0) {\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x62ac);\n          }\n          piVar11 = (int *)(*(int *)(pcVar22 + 0x29bd2c) + -0x4bdc);\n          (**(code **)(pcVar22 + 0x29c984))(iVar1);\n          iVar16 = iStack_d0;\n        }\n        iVar17 = iVar17 + 1;\n        piVar14 = piVar14 + 1;\n      } while (iVar17 < iVar16);\n    }\n    (**(code **)(pcVar22 + 0x29c8cc))(iVar1);\n    (**(code **)(pcVar22 + 0x29c400))(piVar2);\n    piVar2 = (int *)0x1;\n  }" else (compound_statement "{\n    iVar3 = *(int *)(pcVar22 + 0x29bd20);\n    if (0 < iStack_d0) {\n      iVar17 = 0;\n      iVar19 = *(int *)(pcVar22 + 0x29bd8c);\n      iVar4 = 0;\n      iVar15 = *(int *)(pcVar22 + 0x29bd90);\n      dVar25 = *(double *)(iVar3 + 0x1418);\n      iVar13 = *(int *)(pcVar22 + 0x29bd24);\n      iVar5 = *(int *)(pcVar22 + 0x29bd24);\n      iVar16 = iStack_d0;\n      piVar14 = piVar2;\n      do {\n        iVar9 = *piVar14;\n        piVar11 = *(int **)(iVar9 + 0x2c);\n        if (piVar11 == (int *)0x0) {\n          iVar16 = *(int *)(iVar9 + 8);\n          if ((iVar4 == 0) ||\n             (iVar7 = (**(code **)(pcVar22 + 0x29c550))(iVar4,iVar16), iVar4 = iVar16, iVar7 != 0))\n          {\n            if (iVar16 != 0) {\n              (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4620,iVar16);\n              iVar9 = *piVar14;\n            }\n            iVar16 = 0;\n            uVar8 = 0;\n            pcVar18 = (char *)(*(int *)(pcVar22 + 0x29bd24) + -0x3b94);\n            while( true ) {\n              if ((1 << (uVar8 & 0x1f) & *(uint *)(iVar9 + 4)) != 0) {\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar19 + 0x30e8,pcVar18);\n                iVar4 = (**(code **)(pcVar22 + 0x29c778))(pcVar18);\n                iVar16 = iVar16 + iVar4;\n              }\n              if (uVar8 == 0x1f) break;\n              pcVar18 = pcVar18 + 0x10;\n              uVar8 = uVar8 + 1;\n              if (*pcVar18 == '\0') break;\n              iVar9 = *piVar14;\n            }\n            if (iVar16 < 0xd) {\n              do {\n                iVar16 = iVar16 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              } while (iVar16 != 0xd);\n            }\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x3e3c);\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4644);\n            iVar9 = *piVar14;\n            iVar4 = *(int *)(iVar9 + 8);\n          }\n          if (*(int *)(iVar9 + 0x10) != 0) {\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x62ac);\n            iVar9 = *piVar14;\n            uVar8 = (**(code **)(pcVar22 + 0x29c778))(*(undefined4 *)(iVar9 + 0x10));\n            if (uVar8 < 0x11) {\n              do {\n                uVar8 = uVar8 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              } while (uVar8 != 0x11);\n              iVar9 = *piVar14;\n            }\n          }\n          dVar24 = (double)*(int *)(iVar9 + 0x18);\n          if (*(int *)(iVar9 + 0x18) < 0) {\n            dVar24 = dVar24 + *(double *)(iVar3 + 0x1418);\n          }\n          (**(code **)(pcVar22 + 0x29c984))\n                    (iVar1,iVar13 + -0x3e1c,(int)((ulonglong)dVar24 >> 0x20),SUB84(dVar24,0));\n          dVar24 = (double)*(int *)(*piVar14 + 0x1c);\n          if (*(int *)(*piVar14 + 0x1c) < 0) {\n            dVar24 = dVar24 + dVar25;\n          }\n          (**(code **)(pcVar22 + 0x29c984))\n                    (iVar1,iVar5 + -0x3e14,(int)((ulonglong)dVar24 >> 0x20),SUB84(dVar24,0));\n          puVar10 = *(undefined **)(*piVar14 + 0x14);\n          if (puVar10 != (undefined *)0x0) {\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x62ac);\n          }\n          piVar11 = (int *)(*(int *)(pcVar22 + 0x29bd2c) + -0x4bdc);\n          (**(code **)(pcVar22 + 0x29c984))(iVar1);\n          iVar16 = iStack_d0;\n        }\n        iVar17 = iVar17 + 1;\n        piVar14 = piVar14 + 1;\n      } while (iVar17 < iVar16);\n    }\n    (**(code **)(pcVar22 + 0x29c8cc))(iVar1);\n    (**(code **)(pcVar22 + 0x29c400))(piVar2);\n    piVar2 = (int *)0x1;\n  }" { (expression_statement "iVar3 = *(int *)(pcVar22 + 0x29bd20);" (assignment_expression "iVar3 = *(int *)(pcVar22 + 0x29bd20)" identifier = (pointer_expression "*(int *)(pcVar22 + 0x29bd20)" * (cast_expression "(int *)(pcVar22 + 0x29bd20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x29bd20)" ( (binary_expression "pcVar22 + 0x29bd20" identifier + number_literal) ))))) ;) (if_statement "if (0 < iStack_d0) {\n      iVar17 = 0;\n      iVar19 = *(int *)(pcVar22 + 0x29bd8c);\n      iVar4 = 0;\n      iVar15 = *(int *)(pcVar22 + 0x29bd90);\n      dVar25 = *(double *)(iVar3 + 0x1418);\n      iVar13 = *(int *)(pcVar22 + 0x29bd24);\n      iVar5 = *(int *)(pcVar22 + 0x29bd24);\n      iVar16 = iStack_d0;\n      piVar14 = piVar2;\n      do {\n        iVar9 = *piVar14;\n        piVar11 = *(int **)(iVar9 + 0x2c);\n        if (piVar11 == (int *)0x0) {\n          iVar16 = *(int *)(iVar9 + 8);\n          if ((iVar4 == 0) ||\n             (iVar7 = (**(code **)(pcVar22 + 0x29c550))(iVar4,iVar16), iVar4 = iVar16, iVar7 != 0))\n          {\n            if (iVar16 != 0) {\n              (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4620,iVar16);\n              iVar9 = *piVar14;\n            }\n            iVar16 = 0;\n            uVar8 = 0;\n            pcVar18 = (char *)(*(int *)(pcVar22 + 0x29bd24) + -0x3b94);\n            while( true ) {\n              if ((1 << (uVar8 & 0x1f) & *(uint *)(iVar9 + 4)) != 0) {\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar19 + 0x30e8,pcVar18);\n                iVar4 = (**(code **)(pcVar22 + 0x29c778))(pcVar18);\n                iVar16 = iVar16 + iVar4;\n              }\n              if (uVar8 == 0x1f) break;\n              pcVar18 = pcVar18 + 0x10;\n              uVar8 = uVar8 + 1;\n              if (*pcVar18 == '\0') break;\n              iVar9 = *piVar14;\n            }\n            if (iVar16 < 0xd) {\n              do {\n                iVar16 = iVar16 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              } while (iVar16 != 0xd);\n            }\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x3e3c);\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4644);\n            iVar9 = *piVar14;\n            iVar4 = *(int *)(iVar9 + 8);\n          }\n          if (*(int *)(iVar9 + 0x10) != 0) {\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x62ac);\n            iVar9 = *piVar14;\n            uVar8 = (**(code **)(pcVar22 + 0x29c778))(*(undefined4 *)(iVar9 + 0x10));\n            if (uVar8 < 0x11) {\n              do {\n                uVar8 = uVar8 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              } while (uVar8 != 0x11);\n              iVar9 = *piVar14;\n            }\n          }\n          dVar24 = (double)*(int *)(iVar9 + 0x18);\n          if (*(int *)(iVar9 + 0x18) < 0) {\n            dVar24 = dVar24 + *(double *)(iVar3 + 0x1418);\n          }\n          (**(code **)(pcVar22 + 0x29c984))\n                    (iVar1,iVar13 + -0x3e1c,(int)((ulonglong)dVar24 >> 0x20),SUB84(dVar24,0));\n          dVar24 = (double)*(int *)(*piVar14 + 0x1c);\n          if (*(int *)(*piVar14 + 0x1c) < 0) {\n            dVar24 = dVar24 + dVar25;\n          }\n          (**(code **)(pcVar22 + 0x29c984))\n                    (iVar1,iVar5 + -0x3e14,(int)((ulonglong)dVar24 >> 0x20),SUB84(dVar24,0));\n          puVar10 = *(undefined **)(*piVar14 + 0x14);\n          if (puVar10 != (undefined *)0x0) {\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x62ac);\n          }\n          piVar11 = (int *)(*(int *)(pcVar22 + 0x29bd2c) + -0x4bdc);\n          (**(code **)(pcVar22 + 0x29c984))(iVar1);\n          iVar16 = iStack_d0;\n        }\n        iVar17 = iVar17 + 1;\n        piVar14 = piVar14 + 1;\n      } while (iVar17 < iVar16);\n    }" if (parenthesized_expression "(0 < iStack_d0)" ( (binary_expression "0 < iStack_d0" number_literal < identifier) )) (compound_statement "{\n      iVar17 = 0;\n      iVar19 = *(int *)(pcVar22 + 0x29bd8c);\n      iVar4 = 0;\n      iVar15 = *(int *)(pcVar22 + 0x29bd90);\n      dVar25 = *(double *)(iVar3 + 0x1418);\n      iVar13 = *(int *)(pcVar22 + 0x29bd24);\n      iVar5 = *(int *)(pcVar22 + 0x29bd24);\n      iVar16 = iStack_d0;\n      piVar14 = piVar2;\n      do {\n        iVar9 = *piVar14;\n        piVar11 = *(int **)(iVar9 + 0x2c);\n        if (piVar11 == (int *)0x0) {\n          iVar16 = *(int *)(iVar9 + 8);\n          if ((iVar4 == 0) ||\n             (iVar7 = (**(code **)(pcVar22 + 0x29c550))(iVar4,iVar16), iVar4 = iVar16, iVar7 != 0))\n          {\n            if (iVar16 != 0) {\n              (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4620,iVar16);\n              iVar9 = *piVar14;\n            }\n            iVar16 = 0;\n            uVar8 = 0;\n            pcVar18 = (char *)(*(int *)(pcVar22 + 0x29bd24) + -0x3b94);\n            while( true ) {\n              if ((1 << (uVar8 & 0x1f) & *(uint *)(iVar9 + 4)) != 0) {\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar19 + 0x30e8,pcVar18);\n                iVar4 = (**(code **)(pcVar22 + 0x29c778))(pcVar18);\n                iVar16 = iVar16 + iVar4;\n              }\n              if (uVar8 == 0x1f) break;\n              pcVar18 = pcVar18 + 0x10;\n              uVar8 = uVar8 + 1;\n              if (*pcVar18 == '\0') break;\n              iVar9 = *piVar14;\n            }\n            if (iVar16 < 0xd) {\n              do {\n                iVar16 = iVar16 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              } while (iVar16 != 0xd);\n            }\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x3e3c);\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4644);\n            iVar9 = *piVar14;\n            iVar4 = *(int *)(iVar9 + 8);\n          }\n          if (*(int *)(iVar9 + 0x10) != 0) {\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x62ac);\n            iVar9 = *piVar14;\n            uVar8 = (**(code **)(pcVar22 + 0x29c778))(*(undefined4 *)(iVar9 + 0x10));\n            if (uVar8 < 0x11) {\n              do {\n                uVar8 = uVar8 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              } while (uVar8 != 0x11);\n              iVar9 = *piVar14;\n            }\n          }\n          dVar24 = (double)*(int *)(iVar9 + 0x18);\n          if (*(int *)(iVar9 + 0x18) < 0) {\n            dVar24 = dVar24 + *(double *)(iVar3 + 0x1418);\n          }\n          (**(code **)(pcVar22 + 0x29c984))\n                    (iVar1,iVar13 + -0x3e1c,(int)((ulonglong)dVar24 >> 0x20),SUB84(dVar24,0));\n          dVar24 = (double)*(int *)(*piVar14 + 0x1c);\n          if (*(int *)(*piVar14 + 0x1c) < 0) {\n            dVar24 = dVar24 + dVar25;\n          }\n          (**(code **)(pcVar22 + 0x29c984))\n                    (iVar1,iVar5 + -0x3e14,(int)((ulonglong)dVar24 >> 0x20),SUB84(dVar24,0));\n          puVar10 = *(undefined **)(*piVar14 + 0x14);\n          if (puVar10 != (undefined *)0x0) {\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x62ac);\n          }\n          piVar11 = (int *)(*(int *)(pcVar22 + 0x29bd2c) + -0x4bdc);\n          (**(code **)(pcVar22 + 0x29c984))(iVar1);\n          iVar16 = iStack_d0;\n        }\n        iVar17 = iVar17 + 1;\n        piVar14 = piVar14 + 1;\n      } while (iVar17 < iVar16);\n    }" { (expression_statement "iVar17 = 0;" (assignment_expression "iVar17 = 0" identifier = number_literal) ;) (expression_statement "iVar19 = *(int *)(pcVar22 + 0x29bd8c);" (assignment_expression "iVar19 = *(int *)(pcVar22 + 0x29bd8c)" identifier = (pointer_expression "*(int *)(pcVar22 + 0x29bd8c)" * (cast_expression "(int *)(pcVar22 + 0x29bd8c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x29bd8c)" ( (binary_expression "pcVar22 + 0x29bd8c" identifier + number_literal) ))))) ;) (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) (expression_statement "iVar15 = *(int *)(pcVar22 + 0x29bd90);" (assignment_expression "iVar15 = *(int *)(pcVar22 + 0x29bd90)" identifier = (pointer_expression "*(int *)(pcVar22 + 0x29bd90)" * (cast_expression "(int *)(pcVar22 + 0x29bd90)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x29bd90)" ( (binary_expression "pcVar22 + 0x29bd90" identifier + number_literal) ))))) ;) (expression_statement "dVar25 = *(double *)(iVar3 + 0x1418);" (assignment_expression "dVar25 = *(double *)(iVar3 + 0x1418)" identifier = (pointer_expression "*(double *)(iVar3 + 0x1418)" * (cast_expression "(double *)(iVar3 + 0x1418)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x1418)" ( (binary_expression "iVar3 + 0x1418" identifier + number_literal) ))))) ;) (expression_statement "iVar13 = *(int *)(pcVar22 + 0x29bd24);" (assignment_expression "iVar13 = *(int *)(pcVar22 + 0x29bd24)" identifier = (pointer_expression "*(int *)(pcVar22 + 0x29bd24)" * (cast_expression "(int *)(pcVar22 + 0x29bd24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x29bd24)" ( (binary_expression "pcVar22 + 0x29bd24" identifier + number_literal) ))))) ;) (expression_statement "iVar5 = *(int *)(pcVar22 + 0x29bd24);" (assignment_expression "iVar5 = *(int *)(pcVar22 + 0x29bd24)" identifier = (pointer_expression "*(int *)(pcVar22 + 0x29bd24)" * (cast_expression "(int *)(pcVar22 + 0x29bd24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x29bd24)" ( (binary_expression "pcVar22 + 0x29bd24" identifier + number_literal) ))))) ;) (expression_statement "iVar16 = iStack_d0;" (assignment_expression "iVar16 = iStack_d0" identifier = identifier) ;) (expression_statement "piVar14 = piVar2;" (assignment_expression "piVar14 = piVar2" identifier = identifier) ;) (do_statement "do {\n        iVar9 = *piVar14;\n        piVar11 = *(int **)(iVar9 + 0x2c);\n        if (piVar11 == (int *)0x0) {\n          iVar16 = *(int *)(iVar9 + 8);\n          if ((iVar4 == 0) ||\n             (iVar7 = (**(code **)(pcVar22 + 0x29c550))(iVar4,iVar16), iVar4 = iVar16, iVar7 != 0))\n          {\n            if (iVar16 != 0) {\n              (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4620,iVar16);\n              iVar9 = *piVar14;\n            }\n            iVar16 = 0;\n            uVar8 = 0;\n            pcVar18 = (char *)(*(int *)(pcVar22 + 0x29bd24) + -0x3b94);\n            while( true ) {\n              if ((1 << (uVar8 & 0x1f) & *(uint *)(iVar9 + 4)) != 0) {\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar19 + 0x30e8,pcVar18);\n                iVar4 = (**(code **)(pcVar22 + 0x29c778))(pcVar18);\n                iVar16 = iVar16 + iVar4;\n              }\n              if (uVar8 == 0x1f) break;\n              pcVar18 = pcVar18 + 0x10;\n              uVar8 = uVar8 + 1;\n              if (*pcVar18 == '\0') break;\n              iVar9 = *piVar14;\n            }\n            if (iVar16 < 0xd) {\n              do {\n                iVar16 = iVar16 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              } while (iVar16 != 0xd);\n            }\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x3e3c);\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4644);\n            iVar9 = *piVar14;\n            iVar4 = *(int *)(iVar9 + 8);\n          }\n          if (*(int *)(iVar9 + 0x10) != 0) {\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x62ac);\n            iVar9 = *piVar14;\n            uVar8 = (**(code **)(pcVar22 + 0x29c778))(*(undefined4 *)(iVar9 + 0x10));\n            if (uVar8 < 0x11) {\n              do {\n                uVar8 = uVar8 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              } while (uVar8 != 0x11);\n              iVar9 = *piVar14;\n            }\n          }\n          dVar24 = (double)*(int *)(iVar9 + 0x18);\n          if (*(int *)(iVar9 + 0x18) < 0) {\n            dVar24 = dVar24 + *(double *)(iVar3 + 0x1418);\n          }\n          (**(code **)(pcVar22 + 0x29c984))\n                    (iVar1,iVar13 + -0x3e1c,(int)((ulonglong)dVar24 >> 0x20),SUB84(dVar24,0));\n          dVar24 = (double)*(int *)(*piVar14 + 0x1c);\n          if (*(int *)(*piVar14 + 0x1c) < 0) {\n            dVar24 = dVar24 + dVar25;\n          }\n          (**(code **)(pcVar22 + 0x29c984))\n                    (iVar1,iVar5 + -0x3e14,(int)((ulonglong)dVar24 >> 0x20),SUB84(dVar24,0));\n          puVar10 = *(undefined **)(*piVar14 + 0x14);\n          if (puVar10 != (undefined *)0x0) {\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x62ac);\n          }\n          piVar11 = (int *)(*(int *)(pcVar22 + 0x29bd2c) + -0x4bdc);\n          (**(code **)(pcVar22 + 0x29c984))(iVar1);\n          iVar16 = iStack_d0;\n        }\n        iVar17 = iVar17 + 1;\n        piVar14 = piVar14 + 1;\n      } while (iVar17 < iVar16);" do (compound_statement "{\n        iVar9 = *piVar14;\n        piVar11 = *(int **)(iVar9 + 0x2c);\n        if (piVar11 == (int *)0x0) {\n          iVar16 = *(int *)(iVar9 + 8);\n          if ((iVar4 == 0) ||\n             (iVar7 = (**(code **)(pcVar22 + 0x29c550))(iVar4,iVar16), iVar4 = iVar16, iVar7 != 0))\n          {\n            if (iVar16 != 0) {\n              (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4620,iVar16);\n              iVar9 = *piVar14;\n            }\n            iVar16 = 0;\n            uVar8 = 0;\n            pcVar18 = (char *)(*(int *)(pcVar22 + 0x29bd24) + -0x3b94);\n            while( true ) {\n              if ((1 << (uVar8 & 0x1f) & *(uint *)(iVar9 + 4)) != 0) {\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar19 + 0x30e8,pcVar18);\n                iVar4 = (**(code **)(pcVar22 + 0x29c778))(pcVar18);\n                iVar16 = iVar16 + iVar4;\n              }\n              if (uVar8 == 0x1f) break;\n              pcVar18 = pcVar18 + 0x10;\n              uVar8 = uVar8 + 1;\n              if (*pcVar18 == '\0') break;\n              iVar9 = *piVar14;\n            }\n            if (iVar16 < 0xd) {\n              do {\n                iVar16 = iVar16 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              } while (iVar16 != 0xd);\n            }\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x3e3c);\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4644);\n            iVar9 = *piVar14;\n            iVar4 = *(int *)(iVar9 + 8);\n          }\n          if (*(int *)(iVar9 + 0x10) != 0) {\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x62ac);\n            iVar9 = *piVar14;\n            uVar8 = (**(code **)(pcVar22 + 0x29c778))(*(undefined4 *)(iVar9 + 0x10));\n            if (uVar8 < 0x11) {\n              do {\n                uVar8 = uVar8 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              } while (uVar8 != 0x11);\n              iVar9 = *piVar14;\n            }\n          }\n          dVar24 = (double)*(int *)(iVar9 + 0x18);\n          if (*(int *)(iVar9 + 0x18) < 0) {\n            dVar24 = dVar24 + *(double *)(iVar3 + 0x1418);\n          }\n          (**(code **)(pcVar22 + 0x29c984))\n                    (iVar1,iVar13 + -0x3e1c,(int)((ulonglong)dVar24 >> 0x20),SUB84(dVar24,0));\n          dVar24 = (double)*(int *)(*piVar14 + 0x1c);\n          if (*(int *)(*piVar14 + 0x1c) < 0) {\n            dVar24 = dVar24 + dVar25;\n          }\n          (**(code **)(pcVar22 + 0x29c984))\n                    (iVar1,iVar5 + -0x3e14,(int)((ulonglong)dVar24 >> 0x20),SUB84(dVar24,0));\n          puVar10 = *(undefined **)(*piVar14 + 0x14);\n          if (puVar10 != (undefined *)0x0) {\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x62ac);\n          }\n          piVar11 = (int *)(*(int *)(pcVar22 + 0x29bd2c) + -0x4bdc);\n          (**(code **)(pcVar22 + 0x29c984))(iVar1);\n          iVar16 = iStack_d0;\n        }\n        iVar17 = iVar17 + 1;\n        piVar14 = piVar14 + 1;\n      }" { (expression_statement "iVar9 = *piVar14;" (assignment_expression "iVar9 = *piVar14" identifier = (pointer_expression "*piVar14" * identifier)) ;) (expression_statement "piVar11 = *(int **)(iVar9 + 0x2c);" (assignment_expression "piVar11 = *(int **)(iVar9 + 0x2c)" identifier = (pointer_expression "*(int **)(iVar9 + 0x2c)" * (cast_expression "(int **)(iVar9 + 0x2c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar9 + 0x2c)" ( (binary_expression "iVar9 + 0x2c" identifier + number_literal) ))))) ;) (if_statement "if (piVar11 == (int *)0x0) {\n          iVar16 = *(int *)(iVar9 + 8);\n          if ((iVar4 == 0) ||\n             (iVar7 = (**(code **)(pcVar22 + 0x29c550))(iVar4,iVar16), iVar4 = iVar16, iVar7 != 0))\n          {\n            if (iVar16 != 0) {\n              (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4620,iVar16);\n              iVar9 = *piVar14;\n            }\n            iVar16 = 0;\n            uVar8 = 0;\n            pcVar18 = (char *)(*(int *)(pcVar22 + 0x29bd24) + -0x3b94);\n            while( true ) {\n              if ((1 << (uVar8 & 0x1f) & *(uint *)(iVar9 + 4)) != 0) {\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar19 + 0x30e8,pcVar18);\n                iVar4 = (**(code **)(pcVar22 + 0x29c778))(pcVar18);\n                iVar16 = iVar16 + iVar4;\n              }\n              if (uVar8 == 0x1f) break;\n              pcVar18 = pcVar18 + 0x10;\n              uVar8 = uVar8 + 1;\n              if (*pcVar18 == '\0') break;\n              iVar9 = *piVar14;\n            }\n            if (iVar16 < 0xd) {\n              do {\n                iVar16 = iVar16 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              } while (iVar16 != 0xd);\n            }\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x3e3c);\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4644);\n            iVar9 = *piVar14;\n            iVar4 = *(int *)(iVar9 + 8);\n          }\n          if (*(int *)(iVar9 + 0x10) != 0) {\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x62ac);\n            iVar9 = *piVar14;\n            uVar8 = (**(code **)(pcVar22 + 0x29c778))(*(undefined4 *)(iVar9 + 0x10));\n            if (uVar8 < 0x11) {\n              do {\n                uVar8 = uVar8 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              } while (uVar8 != 0x11);\n              iVar9 = *piVar14;\n            }\n          }\n          dVar24 = (double)*(int *)(iVar9 + 0x18);\n          if (*(int *)(iVar9 + 0x18) < 0) {\n            dVar24 = dVar24 + *(double *)(iVar3 + 0x1418);\n          }\n          (**(code **)(pcVar22 + 0x29c984))\n                    (iVar1,iVar13 + -0x3e1c,(int)((ulonglong)dVar24 >> 0x20),SUB84(dVar24,0));\n          dVar24 = (double)*(int *)(*piVar14 + 0x1c);\n          if (*(int *)(*piVar14 + 0x1c) < 0) {\n            dVar24 = dVar24 + dVar25;\n          }\n          (**(code **)(pcVar22 + 0x29c984))\n                    (iVar1,iVar5 + -0x3e14,(int)((ulonglong)dVar24 >> 0x20),SUB84(dVar24,0));\n          puVar10 = *(undefined **)(*piVar14 + 0x14);\n          if (puVar10 != (undefined *)0x0) {\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x62ac);\n          }\n          piVar11 = (int *)(*(int *)(pcVar22 + 0x29bd2c) + -0x4bdc);\n          (**(code **)(pcVar22 + 0x29c984))(iVar1);\n          iVar16 = iStack_d0;\n        }" if (parenthesized_expression "(piVar11 == (int *)0x0)" ( (binary_expression "piVar11 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          iVar16 = *(int *)(iVar9 + 8);\n          if ((iVar4 == 0) ||\n             (iVar7 = (**(code **)(pcVar22 + 0x29c550))(iVar4,iVar16), iVar4 = iVar16, iVar7 != 0))\n          {\n            if (iVar16 != 0) {\n              (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4620,iVar16);\n              iVar9 = *piVar14;\n            }\n            iVar16 = 0;\n            uVar8 = 0;\n            pcVar18 = (char *)(*(int *)(pcVar22 + 0x29bd24) + -0x3b94);\n            while( true ) {\n              if ((1 << (uVar8 & 0x1f) & *(uint *)(iVar9 + 4)) != 0) {\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar19 + 0x30e8,pcVar18);\n                iVar4 = (**(code **)(pcVar22 + 0x29c778))(pcVar18);\n                iVar16 = iVar16 + iVar4;\n              }\n              if (uVar8 == 0x1f) break;\n              pcVar18 = pcVar18 + 0x10;\n              uVar8 = uVar8 + 1;\n              if (*pcVar18 == '\0') break;\n              iVar9 = *piVar14;\n            }\n            if (iVar16 < 0xd) {\n              do {\n                iVar16 = iVar16 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              } while (iVar16 != 0xd);\n            }\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x3e3c);\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4644);\n            iVar9 = *piVar14;\n            iVar4 = *(int *)(iVar9 + 8);\n          }\n          if (*(int *)(iVar9 + 0x10) != 0) {\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x62ac);\n            iVar9 = *piVar14;\n            uVar8 = (**(code **)(pcVar22 + 0x29c778))(*(undefined4 *)(iVar9 + 0x10));\n            if (uVar8 < 0x11) {\n              do {\n                uVar8 = uVar8 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              } while (uVar8 != 0x11);\n              iVar9 = *piVar14;\n            }\n          }\n          dVar24 = (double)*(int *)(iVar9 + 0x18);\n          if (*(int *)(iVar9 + 0x18) < 0) {\n            dVar24 = dVar24 + *(double *)(iVar3 + 0x1418);\n          }\n          (**(code **)(pcVar22 + 0x29c984))\n                    (iVar1,iVar13 + -0x3e1c,(int)((ulonglong)dVar24 >> 0x20),SUB84(dVar24,0));\n          dVar24 = (double)*(int *)(*piVar14 + 0x1c);\n          if (*(int *)(*piVar14 + 0x1c) < 0) {\n            dVar24 = dVar24 + dVar25;\n          }\n          (**(code **)(pcVar22 + 0x29c984))\n                    (iVar1,iVar5 + -0x3e14,(int)((ulonglong)dVar24 >> 0x20),SUB84(dVar24,0));\n          puVar10 = *(undefined **)(*piVar14 + 0x14);\n          if (puVar10 != (undefined *)0x0) {\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x62ac);\n          }\n          piVar11 = (int *)(*(int *)(pcVar22 + 0x29bd2c) + -0x4bdc);\n          (**(code **)(pcVar22 + 0x29c984))(iVar1);\n          iVar16 = iStack_d0;\n        }" { (expression_statement "iVar16 = *(int *)(iVar9 + 8);" (assignment_expression "iVar16 = *(int *)(iVar9 + 8)" identifier = (pointer_expression "*(int *)(iVar9 + 8)" * (cast_expression "(int *)(iVar9 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 8)" ( (binary_expression "iVar9 + 8" identifier + number_literal) ))))) ;) (if_statement "if ((iVar4 == 0) ||\n             (iVar7 = (**(code **)(pcVar22 + 0x29c550))(iVar4,iVar16), iVar4 = iVar16, iVar7 != 0))\n          {\n            if (iVar16 != 0) {\n              (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4620,iVar16);\n              iVar9 = *piVar14;\n            }\n            iVar16 = 0;\n            uVar8 = 0;\n            pcVar18 = (char *)(*(int *)(pcVar22 + 0x29bd24) + -0x3b94);\n            while( true ) {\n              if ((1 << (uVar8 & 0x1f) & *(uint *)(iVar9 + 4)) != 0) {\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar19 + 0x30e8,pcVar18);\n                iVar4 = (**(code **)(pcVar22 + 0x29c778))(pcVar18);\n                iVar16 = iVar16 + iVar4;\n              }\n              if (uVar8 == 0x1f) break;\n              pcVar18 = pcVar18 + 0x10;\n              uVar8 = uVar8 + 1;\n              if (*pcVar18 == '\0') break;\n              iVar9 = *piVar14;\n            }\n            if (iVar16 < 0xd) {\n              do {\n                iVar16 = iVar16 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              } while (iVar16 != 0xd);\n            }\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x3e3c);\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4644);\n            iVar9 = *piVar14;\n            iVar4 = *(int *)(iVar9 + 8);\n          }" if (parenthesized_expression "((iVar4 == 0) ||\n             (iVar7 = (**(code **)(pcVar22 + 0x29c550))(iVar4,iVar16), iVar4 = iVar16, iVar7 != 0))" ( (binary_expression "(iVar4 == 0) ||\n             (iVar7 = (**(code **)(pcVar22 + 0x29c550))(iVar4,iVar16), iVar4 = iVar16, iVar7 != 0)" (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar7 = (**(code **)(pcVar22 + 0x29c550))(iVar4,iVar16), iVar4 = iVar16, iVar7 != 0)" ( (comma_expression "iVar7 = (**(code **)(pcVar22 + 0x29c550))(iVar4,iVar16), iVar4 = iVar16, iVar7 != 0" (assignment_expression "iVar7 = (**(code **)(pcVar22 + 0x29c550))(iVar4,iVar16)" identifier = (call_expression "(**(code **)(pcVar22 + 0x29c550))(iVar4,iVar16)" (parenthesized_expression "(**(code **)(pcVar22 + 0x29c550))" ( (pointer_expression "**(code **)(pcVar22 + 0x29c550)" * (pointer_expression "*(code **)(pcVar22 + 0x29c550)" * (cast_expression "(code **)(pcVar22 + 0x29c550)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x29c550)" ( (binary_expression "pcVar22 + 0x29c550" identifier + number_literal) ))))) )) (argument_list "(iVar4,iVar16)" ( identifier , identifier )))) , (comma_expression "iVar4 = iVar16, iVar7 != 0" (assignment_expression "iVar4 = iVar16" identifier = identifier) , (binary_expression "iVar7 != 0" identifier != number_literal))) ))) )) (compound_statement "{\n            if (iVar16 != 0) {\n              (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4620,iVar16);\n              iVar9 = *piVar14;\n            }\n            iVar16 = 0;\n            uVar8 = 0;\n            pcVar18 = (char *)(*(int *)(pcVar22 + 0x29bd24) + -0x3b94);\n            while( true ) {\n              if ((1 << (uVar8 & 0x1f) & *(uint *)(iVar9 + 4)) != 0) {\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar19 + 0x30e8,pcVar18);\n                iVar4 = (**(code **)(pcVar22 + 0x29c778))(pcVar18);\n                iVar16 = iVar16 + iVar4;\n              }\n              if (uVar8 == 0x1f) break;\n              pcVar18 = pcVar18 + 0x10;\n              uVar8 = uVar8 + 1;\n              if (*pcVar18 == '\0') break;\n              iVar9 = *piVar14;\n            }\n            if (iVar16 < 0xd) {\n              do {\n                iVar16 = iVar16 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              } while (iVar16 != 0xd);\n            }\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x3e3c);\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4644);\n            iVar9 = *piVar14;\n            iVar4 = *(int *)(iVar9 + 8);\n          }" { (if_statement "if (iVar16 != 0) {\n              (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4620,iVar16);\n              iVar9 = *piVar14;\n            }" if (parenthesized_expression "(iVar16 != 0)" ( (binary_expression "iVar16 != 0" identifier != number_literal) )) (compound_statement "{\n              (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4620,iVar16);\n              iVar9 = *piVar14;\n            }" { (expression_statement "(**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4620,iVar16);" (call_expression "(**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4620,iVar16)" (parenthesized_expression "(**(code **)(pcVar22 + 0x29c984))" ( (pointer_expression "**(code **)(pcVar22 + 0x29c984)" * (pointer_expression "*(code **)(pcVar22 + 0x29c984)" * (cast_expression "(code **)(pcVar22 + 0x29c984)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x29c984)" ( (binary_expression "pcVar22 + 0x29c984" identifier + number_literal) ))))) )) (argument_list "(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4620,iVar16)" ( identifier , (binary_expression "*(int *)(pcVar22 + 0x29bd20) + 0x4620" (pointer_expression "*(int *)(pcVar22 + 0x29bd20)" * (cast_expression "(int *)(pcVar22 + 0x29bd20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x29bd20)" ( (binary_expression "pcVar22 + 0x29bd20" identifier + number_literal) )))) + number_literal) , identifier ))) ;) (expression_statement "iVar9 = *piVar14;" (assignment_expression "iVar9 = *piVar14" identifier = (pointer_expression "*piVar14" * identifier)) ;) })) (expression_statement "iVar16 = 0;" (assignment_expression "iVar16 = 0" identifier = number_literal) ;) (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" identifier = number_literal) ;) (expression_statement "pcVar18 = (char *)(*(int *)(pcVar22 + 0x29bd24) + -0x3b94);" (assignment_expression "pcVar18 = (char *)(*(int *)(pcVar22 + 0x29bd24) + -0x3b94)" identifier = (cast_expression "(char *)(*(int *)(pcVar22 + 0x29bd24) + -0x3b94)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar22 + 0x29bd24) + -0x3b94)" ( (binary_expression "*(int *)(pcVar22 + 0x29bd24) + -0x3b94" (pointer_expression "*(int *)(pcVar22 + 0x29bd24)" * (cast_expression "(int *)(pcVar22 + 0x29bd24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x29bd24)" ( (binary_expression "pcVar22 + 0x29bd24" identifier + number_literal) )))) + number_literal) )))) ;) (while_statement "while( true ) {\n              if ((1 << (uVar8 & 0x1f) & *(uint *)(iVar9 + 4)) != 0) {\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar19 + 0x30e8,pcVar18);\n                iVar4 = (**(code **)(pcVar22 + 0x29c778))(pcVar18);\n                iVar16 = iVar16 + iVar4;\n              }\n              if (uVar8 == 0x1f) break;\n              pcVar18 = pcVar18 + 0x10;\n              uVar8 = uVar8 + 1;\n              if (*pcVar18 == '\0') break;\n              iVar9 = *piVar14;\n            }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n              if ((1 << (uVar8 & 0x1f) & *(uint *)(iVar9 + 4)) != 0) {\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar19 + 0x30e8,pcVar18);\n                iVar4 = (**(code **)(pcVar22 + 0x29c778))(pcVar18);\n                iVar16 = iVar16 + iVar4;\n              }\n              if (uVar8 == 0x1f) break;\n              pcVar18 = pcVar18 + 0x10;\n              uVar8 = uVar8 + 1;\n              if (*pcVar18 == '\0') break;\n              iVar9 = *piVar14;\n            }" { (if_statement "if ((1 << (uVar8 & 0x1f) & *(uint *)(iVar9 + 4)) != 0) {\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar19 + 0x30e8,pcVar18);\n                iVar4 = (**(code **)(pcVar22 + 0x29c778))(pcVar18);\n                iVar16 = iVar16 + iVar4;\n              }" if (parenthesized_expression "((1 << (uVar8 & 0x1f) & *(uint *)(iVar9 + 4)) != 0)" ( (binary_expression "(1 << (uVar8 & 0x1f) & *(uint *)(iVar9 + 4)) != 0" (parenthesized_expression "(1 << (uVar8 & 0x1f) & *(uint *)(iVar9 + 4))" ( (binary_expression "1 << (uVar8 & 0x1f) & *(uint *)(iVar9 + 4)" (binary_expression "1 << (uVar8 & 0x1f)" number_literal << (parenthesized_expression "(uVar8 & 0x1f)" ( (binary_expression "uVar8 & 0x1f" identifier & number_literal) ))) & (pointer_expression "*(uint *)(iVar9 + 4)" * (cast_expression "(uint *)(iVar9 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 4)" ( (binary_expression "iVar9 + 4" identifier + number_literal) ))))) )) != number_literal) )) (compound_statement "{\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar19 + 0x30e8,pcVar18);\n                iVar4 = (**(code **)(pcVar22 + 0x29c778))(pcVar18);\n                iVar16 = iVar16 + iVar4;\n              }" { (expression_statement "(**(code **)(pcVar22 + 0x29c984))(iVar1,iVar19 + 0x30e8,pcVar18);" (call_expression "(**(code **)(pcVar22 + 0x29c984))(iVar1,iVar19 + 0x30e8,pcVar18)" (parenthesized_expression "(**(code **)(pcVar22 + 0x29c984))" ( (pointer_expression "**(code **)(pcVar22 + 0x29c984)" * (pointer_expression "*(code **)(pcVar22 + 0x29c984)" * (cast_expression "(code **)(pcVar22 + 0x29c984)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x29c984)" ( (binary_expression "pcVar22 + 0x29c984" identifier + number_literal) ))))) )) (argument_list "(iVar1,iVar19 + 0x30e8,pcVar18)" ( identifier , (binary_expression "iVar19 + 0x30e8" identifier + number_literal) , identifier ))) ;) (expression_statement "iVar4 = (**(code **)(pcVar22 + 0x29c778))(pcVar18);" (assignment_expression "iVar4 = (**(code **)(pcVar22 + 0x29c778))(pcVar18)" identifier = (call_expression "(**(code **)(pcVar22 + 0x29c778))(pcVar18)" (parenthesized_expression "(**(code **)(pcVar22 + 0x29c778))" ( (pointer_expression "**(code **)(pcVar22 + 0x29c778)" * (pointer_expression "*(code **)(pcVar22 + 0x29c778)" * (cast_expression "(code **)(pcVar22 + 0x29c778)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x29c778)" ( (binary_expression "pcVar22 + 0x29c778" identifier + number_literal) ))))) )) (argument_list "(pcVar18)" ( identifier )))) ;) (expression_statement "iVar16 = iVar16 + iVar4;" (assignment_expression "iVar16 = iVar16 + iVar4" identifier = (binary_expression "iVar16 + iVar4" identifier + identifier)) ;) })) (if_statement "if (uVar8 == 0x1f) break;" if (parenthesized_expression "(uVar8 == 0x1f)" ( (binary_expression "uVar8 == 0x1f" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "pcVar18 = pcVar18 + 0x10;" (assignment_expression "pcVar18 = pcVar18 + 0x10" identifier = (binary_expression "pcVar18 + 0x10" identifier + number_literal)) ;) (expression_statement "uVar8 = uVar8 + 1;" (assignment_expression "uVar8 = uVar8 + 1" identifier = (binary_expression "uVar8 + 1" identifier + number_literal)) ;) (if_statement "if (*pcVar18 == '\0') break;" if (parenthesized_expression "(*pcVar18 == '\0')" ( (binary_expression "*pcVar18 == '\0'" (pointer_expression "*pcVar18" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (break_statement "break;" break ;)) (expression_statement "iVar9 = *piVar14;" (assignment_expression "iVar9 = *piVar14" identifier = (pointer_expression "*piVar14" * identifier)) ;) })) (if_statement "if (iVar16 < 0xd) {\n              do {\n                iVar16 = iVar16 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              } while (iVar16 != 0xd);\n            }" if (parenthesized_expression "(iVar16 < 0xd)" ( (binary_expression "iVar16 < 0xd" identifier < number_literal) )) (compound_statement "{\n              do {\n                iVar16 = iVar16 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              } while (iVar16 != 0xd);\n            }" { (do_statement "do {\n                iVar16 = iVar16 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              } while (iVar16 != 0xd);" do (compound_statement "{\n                iVar16 = iVar16 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              }" { (expression_statement "iVar16 = iVar16 + 1;" (assignment_expression "iVar16 = iVar16 + 1" identifier = (binary_expression "iVar16 + 1" identifier + number_literal)) ;) (expression_statement "(**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);" (call_expression "(**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158)" (parenthesized_expression "(**(code **)(pcVar22 + 0x29c984))" ( (pointer_expression "**(code **)(pcVar22 + 0x29c984)" * (pointer_expression "*(code **)(pcVar22 + 0x29c984)" * (cast_expression "(code **)(pcVar22 + 0x29c984)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x29c984)" ( (binary_expression "pcVar22 + 0x29c984" identifier + number_literal) ))))) )) (argument_list "(iVar1,iVar15 + 0x2158)" ( identifier , (binary_expression "iVar15 + 0x2158" identifier + number_literal) ))) ;) }) while (parenthesized_expression "(iVar16 != 0xd)" ( (binary_expression "iVar16 != 0xd" identifier != number_literal) )) ;) })) (expression_statement "(**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x3e3c);" (call_expression "(**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x3e3c)" (parenthesized_expression "(**(code **)(pcVar22 + 0x29c984))" ( (pointer_expression "**(code **)(pcVar22 + 0x29c984)" * (pointer_expression "*(code **)(pcVar22 + 0x29c984)" * (cast_expression "(code **)(pcVar22 + 0x29c984)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x29c984)" ( (binary_expression "pcVar22 + 0x29c984" identifier + number_literal) ))))) )) (argument_list "(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x3e3c)" ( identifier , (binary_expression "*(int *)(pcVar22 + 0x29bd24) + -0x3e3c" (pointer_expression "*(int *)(pcVar22 + 0x29bd24)" * (cast_expression "(int *)(pcVar22 + 0x29bd24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x29bd24)" ( (binary_expression "pcVar22 + 0x29bd24" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "(**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4644);" (call_expression "(**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4644)" (parenthesized_expression "(**(code **)(pcVar22 + 0x29c984))" ( (pointer_expression "**(code **)(pcVar22 + 0x29c984)" * (pointer_expression "*(code **)(pcVar22 + 0x29c984)" * (cast_expression "(code **)(pcVar22 + 0x29c984)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x29c984)" ( (binary_expression "pcVar22 + 0x29c984" identifier + number_literal) ))))) )) (argument_list "(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4644)" ( identifier , (binary_expression "*(int *)(pcVar22 + 0x29bd20) + 0x4644" (pointer_expression "*(int *)(pcVar22 + 0x29bd20)" * (cast_expression "(int *)(pcVar22 + 0x29bd20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x29bd20)" ( (binary_expression "pcVar22 + 0x29bd20" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "iVar9 = *piVar14;" (assignment_expression "iVar9 = *piVar14" identifier = (pointer_expression "*piVar14" * identifier)) ;) (expression_statement "iVar4 = *(int *)(iVar9 + 8);" (assignment_expression "iVar4 = *(int *)(iVar9 + 8)" identifier = (pointer_expression "*(int *)(iVar9 + 8)" * (cast_expression "(int *)(iVar9 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 8)" ( (binary_expression "iVar9 + 8" identifier + number_literal) ))))) ;) })) (if_statement "if (*(int *)(iVar9 + 0x10) != 0) {\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x62ac);\n            iVar9 = *piVar14;\n            uVar8 = (**(code **)(pcVar22 + 0x29c778))(*(undefined4 *)(iVar9 + 0x10));\n            if (uVar8 < 0x11) {\n              do {\n                uVar8 = uVar8 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              } while (uVar8 != 0x11);\n              iVar9 = *piVar14;\n            }\n          }" if (parenthesized_expression "(*(int *)(iVar9 + 0x10) != 0)" ( (binary_expression "*(int *)(iVar9 + 0x10) != 0" (pointer_expression "*(int *)(iVar9 + 0x10)" * (cast_expression "(int *)(iVar9 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x10)" ( (binary_expression "iVar9 + 0x10" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x62ac);\n            iVar9 = *piVar14;\n            uVar8 = (**(code **)(pcVar22 + 0x29c778))(*(undefined4 *)(iVar9 + 0x10));\n            if (uVar8 < 0x11) {\n              do {\n                uVar8 = uVar8 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              } while (uVar8 != 0x11);\n              iVar9 = *piVar14;\n            }\n          }" { (expression_statement "(**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x62ac);" (call_expression "(**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x62ac)" (parenthesized_expression "(**(code **)(pcVar22 + 0x29c984))" ( (pointer_expression "**(code **)(pcVar22 + 0x29c984)" * (pointer_expression "*(code **)(pcVar22 + 0x29c984)" * (cast_expression "(code **)(pcVar22 + 0x29c984)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x29c984)" ( (binary_expression "pcVar22 + 0x29c984" identifier + number_literal) ))))) )) (argument_list "(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x62ac)" ( identifier , (binary_expression "*(int *)(pcVar22 + 0x29bd24) + -0x62ac" (pointer_expression "*(int *)(pcVar22 + 0x29bd24)" * (cast_expression "(int *)(pcVar22 + 0x29bd24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x29bd24)" ( (binary_expression "pcVar22 + 0x29bd24" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "iVar9 = *piVar14;" (assignment_expression "iVar9 = *piVar14" identifier = (pointer_expression "*piVar14" * identifier)) ;) (expression_statement "uVar8 = (**(code **)(pcVar22 + 0x29c778))(*(undefined4 *)(iVar9 + 0x10));" (assignment_expression "uVar8 = (**(code **)(pcVar22 + 0x29c778))(*(undefined4 *)(iVar9 + 0x10))" identifier = (call_expression "(**(code **)(pcVar22 + 0x29c778))(*(undefined4 *)(iVar9 + 0x10))" (parenthesized_expression "(**(code **)(pcVar22 + 0x29c778))" ( (pointer_expression "**(code **)(pcVar22 + 0x29c778)" * (pointer_expression "*(code **)(pcVar22 + 0x29c778)" * (cast_expression "(code **)(pcVar22 + 0x29c778)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x29c778)" ( (binary_expression "pcVar22 + 0x29c778" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar9 + 0x10))" ( (pointer_expression "*(undefined4 *)(iVar9 + 0x10)" * (cast_expression "(undefined4 *)(iVar9 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x10)" ( (binary_expression "iVar9 + 0x10" identifier + number_literal) )))) )))) ;) (if_statement "if (uVar8 < 0x11) {\n              do {\n                uVar8 = uVar8 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              } while (uVar8 != 0x11);\n              iVar9 = *piVar14;\n            }" if (parenthesized_expression "(uVar8 < 0x11)" ( (binary_expression "uVar8 < 0x11" identifier < number_literal) )) (compound_statement "{\n              do {\n                uVar8 = uVar8 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              } while (uVar8 != 0x11);\n              iVar9 = *piVar14;\n            }" { (do_statement "do {\n                uVar8 = uVar8 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              } while (uVar8 != 0x11);" do (compound_statement "{\n                uVar8 = uVar8 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              }" { (expression_statement "uVar8 = uVar8 + 1;" (assignment_expression "uVar8 = uVar8 + 1" identifier = (binary_expression "uVar8 + 1" identifier + number_literal)) ;) (expression_statement "(**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);" (call_expression "(**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158)" (parenthesized_expression "(**(code **)(pcVar22 + 0x29c984))" ( (pointer_expression "**(code **)(pcVar22 + 0x29c984)" * (pointer_expression "*(code **)(pcVar22 + 0x29c984)" * (cast_expression "(code **)(pcVar22 + 0x29c984)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x29c984)" ( (binary_expression "pcVar22 + 0x29c984" identifier + number_literal) ))))) )) (argument_list "(iVar1,iVar15 + 0x2158)" ( identifier , (binary_expression "iVar15 + 0x2158" identifier + number_literal) ))) ;) }) while (parenthesized_expression "(uVar8 != 0x11)" ( (binary_expression "uVar8 != 0x11" identifier != number_literal) )) ;) (expression_statement "iVar9 = *piVar14;" (assignment_expression "iVar9 = *piVar14" identifier = (pointer_expression "*piVar14" * identifier)) ;) })) })) (expression_statement "dVar24 = (double)*(int *)(iVar9 + 0x18);" (assignment_expression "dVar24 = (double)*(int *)(iVar9 + 0x18)" identifier = (cast_expression "(double)*(int *)(iVar9 + 0x18)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(int *)(iVar9 + 0x18)" * (cast_expression "(int *)(iVar9 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x18)" ( (binary_expression "iVar9 + 0x18" identifier + number_literal) )))))) ;) (if_statement "if (*(int *)(iVar9 + 0x18) < 0) {\n            dVar24 = dVar24 + *(double *)(iVar3 + 0x1418);\n          }" if (parenthesized_expression "(*(int *)(iVar9 + 0x18) < 0)" ( (binary_expression "*(int *)(iVar9 + 0x18) < 0" (pointer_expression "*(int *)(iVar9 + 0x18)" * (cast_expression "(int *)(iVar9 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x18)" ( (binary_expression "iVar9 + 0x18" identifier + number_literal) )))) < number_literal) )) (compound_statement "{\n            dVar24 = dVar24 + *(double *)(iVar3 + 0x1418);\n          }" { (expression_statement "dVar24 = dVar24 + *(double *)(iVar3 + 0x1418);" (assignment_expression "dVar24 = dVar24 + *(double *)(iVar3 + 0x1418)" identifier = (binary_expression "dVar24 + *(double *)(iVar3 + 0x1418)" identifier + (pointer_expression "*(double *)(iVar3 + 0x1418)" * (cast_expression "(double *)(iVar3 + 0x1418)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x1418)" ( (binary_expression "iVar3 + 0x1418" identifier + number_literal) )))))) ;) })) (expression_statement "(**(code **)(pcVar22 + 0x29c984))\n                    (iVar1,iVar13 + -0x3e1c,(int)((ulonglong)dVar24 >> 0x20),SUB84(dVar24,0));" (call_expression "(**(code **)(pcVar22 + 0x29c984))\n                    (iVar1,iVar13 + -0x3e1c,(int)((ulonglong)dVar24 >> 0x20),SUB84(dVar24,0))" (parenthesized_expression "(**(code **)(pcVar22 + 0x29c984))" ( (pointer_expression "**(code **)(pcVar22 + 0x29c984)" * (pointer_expression "*(code **)(pcVar22 + 0x29c984)" * (cast_expression "(code **)(pcVar22 + 0x29c984)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x29c984)" ( (binary_expression "pcVar22 + 0x29c984" identifier + number_literal) ))))) )) (argument_list "(iVar1,iVar13 + -0x3e1c,(int)((ulonglong)dVar24 >> 0x20),SUB84(dVar24,0))" ( identifier , (binary_expression "iVar13 + -0x3e1c" identifier + number_literal) , (cast_expression "(int)((ulonglong)dVar24 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)dVar24 >> 0x20)" ( (binary_expression "(ulonglong)dVar24 >> 0x20" (cast_expression "(ulonglong)dVar24" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) , (call_expression "SUB84(dVar24,0)" identifier (argument_list "(dVar24,0)" ( identifier , number_literal ))) ))) ;) (expression_statement "dVar24 = (double)*(int *)(*piVar14 + 0x1c);" (assignment_expression "dVar24 = (double)*(int *)(*piVar14 + 0x1c)" identifier = (cast_expression "(double)*(int *)(*piVar14 + 0x1c)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(int *)(*piVar14 + 0x1c)" * (cast_expression "(int *)(*piVar14 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar14 + 0x1c)" ( (binary_expression "*piVar14 + 0x1c" (pointer_expression "*piVar14" * identifier) + number_literal) )))))) ;) (if_statement "if (*(int *)(*piVar14 + 0x1c) < 0) {\n            dVar24 = dVar24 + dVar25;\n          }" if (parenthesized_expression "(*(int *)(*piVar14 + 0x1c) < 0)" ( (binary_expression "*(int *)(*piVar14 + 0x1c) < 0" (pointer_expression "*(int *)(*piVar14 + 0x1c)" * (cast_expression "(int *)(*piVar14 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar14 + 0x1c)" ( (binary_expression "*piVar14 + 0x1c" (pointer_expression "*piVar14" * identifier) + number_literal) )))) < number_literal) )) (compound_statement "{\n            dVar24 = dVar24 + dVar25;\n          }" { (expression_statement "dVar24 = dVar24 + dVar25;" (assignment_expression "dVar24 = dVar24 + dVar25" identifier = (binary_expression "dVar24 + dVar25" identifier + identifier)) ;) })) (expression_statement "(**(code **)(pcVar22 + 0x29c984))\n                    (iVar1,iVar5 + -0x3e14,(int)((ulonglong)dVar24 >> 0x20),SUB84(dVar24,0));" (call_expression "(**(code **)(pcVar22 + 0x29c984))\n                    (iVar1,iVar5 + -0x3e14,(int)((ulonglong)dVar24 >> 0x20),SUB84(dVar24,0))" (parenthesized_expression "(**(code **)(pcVar22 + 0x29c984))" ( (pointer_expression "**(code **)(pcVar22 + 0x29c984)" * (pointer_expression "*(code **)(pcVar22 + 0x29c984)" * (cast_expression "(code **)(pcVar22 + 0x29c984)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x29c984)" ( (binary_expression "pcVar22 + 0x29c984" identifier + number_literal) ))))) )) (argument_list "(iVar1,iVar5 + -0x3e14,(int)((ulonglong)dVar24 >> 0x20),SUB84(dVar24,0))" ( identifier , (binary_expression "iVar5 + -0x3e14" identifier + number_literal) , (cast_expression "(int)((ulonglong)dVar24 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)dVar24 >> 0x20)" ( (binary_expression "(ulonglong)dVar24 >> 0x20" (cast_expression "(ulonglong)dVar24" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) , (call_expression "SUB84(dVar24,0)" identifier (argument_list "(dVar24,0)" ( identifier , number_literal ))) ))) ;) (expression_statement "puVar10 = *(undefined **)(*piVar14 + 0x14);" (assignment_expression "puVar10 = *(undefined **)(*piVar14 + 0x14)" identifier = (pointer_expression "*(undefined **)(*piVar14 + 0x14)" * (cast_expression "(undefined **)(*piVar14 + 0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar14 + 0x14)" ( (binary_expression "*piVar14 + 0x14" (pointer_expression "*piVar14" * identifier) + number_literal) ))))) ;) (if_statement "if (puVar10 != (undefined *)0x0) {\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x62ac);\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 **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x62ac);\n          }" { (expression_statement "(**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x62ac);" (call_expression "(**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x62ac)" (parenthesized_expression "(**(code **)(pcVar22 + 0x29c984))" ( (pointer_expression "**(code **)(pcVar22 + 0x29c984)" * (pointer_expression "*(code **)(pcVar22 + 0x29c984)" * (cast_expression "(code **)(pcVar22 + 0x29c984)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x29c984)" ( (binary_expression "pcVar22 + 0x29c984" identifier + number_literal) ))))) )) (argument_list "(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x62ac)" ( identifier , (binary_expression "*(int *)(pcVar22 + 0x29bd24) + -0x62ac" (pointer_expression "*(int *)(pcVar22 + 0x29bd24)" * (cast_expression "(int *)(pcVar22 + 0x29bd24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x29bd24)" ( (binary_expression "pcVar22 + 0x29bd24" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "piVar11 = (int *)(*(int *)(pcVar22 + 0x29bd2c) + -0x4bdc);" (assignment_expression "piVar11 = (int *)(*(int *)(pcVar22 + 0x29bd2c) + -0x4bdc)" identifier = (cast_expression "(int *)(*(int *)(pcVar22 + 0x29bd2c) + -0x4bdc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar22 + 0x29bd2c) + -0x4bdc)" ( (binary_expression "*(int *)(pcVar22 + 0x29bd2c) + -0x4bdc" (pointer_expression "*(int *)(pcVar22 + 0x29bd2c)" * (cast_expression "(int *)(pcVar22 + 0x29bd2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x29bd2c)" ( (binary_expression "pcVar22 + 0x29bd2c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(**(code **)(pcVar22 + 0x29c984))(iVar1);" (call_expression "(**(code **)(pcVar22 + 0x29c984))(iVar1)" (parenthesized_expression "(**(code **)(pcVar22 + 0x29c984))" ( (pointer_expression "**(code **)(pcVar22 + 0x29c984)" * (pointer_expression "*(code **)(pcVar22 + 0x29c984)" * (cast_expression "(code **)(pcVar22 + 0x29c984)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x29c984)" ( (binary_expression "pcVar22 + 0x29c984" identifier + number_literal) ))))) )) (argument_list "(iVar1)" ( identifier ))) ;) (expression_statement "iVar16 = iStack_d0;" (assignment_expression "iVar16 = iStack_d0" identifier = identifier) ;) })) (expression_statement "iVar17 = iVar17 + 1;" (assignment_expression "iVar17 = iVar17 + 1" identifier = (binary_expression "iVar17 + 1" identifier + number_literal)) ;) (expression_statement "piVar14 = piVar14 + 1;" (assignment_expression "piVar14 = piVar14 + 1" identifier = (binary_expression "piVar14 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar17 < iVar16)" ( (binary_expression "iVar17 < iVar16" identifier < identifier) )) ;) })) (expression_statement "(**(code **)(pcVar22 + 0x29c8cc))(iVar1);" (call_expression "(**(code **)(pcVar22 + 0x29c8cc))(iVar1)" (parenthesized_expression "(**(code **)(pcVar22 + 0x29c8cc))" ( (pointer_expression "**(code **)(pcVar22 + 0x29c8cc)" * (pointer_expression "*(code **)(pcVar22 + 0x29c8cc)" * (cast_expression "(code **)(pcVar22 + 0x29c8cc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x29c8cc)" ( (binary_expression "pcVar22 + 0x29c8cc" identifier + number_literal) ))))) )) (argument_list "(iVar1)" ( identifier ))) ;) (expression_statement "(**(code **)(pcVar22 + 0x29c400))(piVar2);" (call_expression "(**(code **)(pcVar22 + 0x29c400))(piVar2)" (parenthesized_expression "(**(code **)(pcVar22 + 0x29c400))" ( (pointer_expression "**(code **)(pcVar22 + 0x29c400)" * (pointer_expression "*(code **)(pcVar22 + 0x29c400)" * (cast_expression "(code **)(pcVar22 + 0x29c400)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x29c400)" ( (binary_expression "pcVar22 + 0x29c400" identifier + number_literal) ))))) )) (argument_list "(piVar2)" ( identifier ))) ;) (expression_statement "piVar2 = (int *)0x1;" (assignment_expression "piVar2 = (int *)0x1" identifier = (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (if_statement "if (iStack_cc == *piVar6) {\n    return piVar2;\n  }" if (parenthesized_expression "(iStack_cc == *piVar6)" ( (binary_expression "iStack_cc == *piVar6" identifier == (pointer_expression "*piVar6" * identifier)) )) (compound_statement "{\n    return piVar2;\n  }" { (return_statement "return piVar2;" return identifier ;) })) (expression_statement "pcVar22 = *(code **)(pcVar22 + 0x29c4a4);" (assignment_expression "pcVar22 = *(code **)(pcVar22 + 0x29c4a4)" identifier = (pointer_expression "*(code **)(pcVar22 + 0x29c4a4)" * (cast_expression "(code **)(pcVar22 + 0x29c4a4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x29c4a4)" ( (binary_expression "pcVar22 + 0x29c4a4" identifier + number_literal) ))))) ;) (expression_statement "iVar3 = iStack_cc;" (assignment_expression "iVar3 = iStack_cc" identifier = identifier) ;) (expression_statement "(*pcVar22)();" (call_expression "(*pcVar22)()" (parenthesized_expression "(*pcVar22)" ( (pointer_expression "*pcVar22" * identifier) )) (argument_list "()" ( ))) ;) (if_statement "if (iVar3 == 0) {\n    (**(code **)(pcVar22 + 0x29c674))\n              (*(int *)(pcVar22 + 0x29b94c) + 0x45e0,*(int *)(pcVar22 + 0x29b950) + -0x40d0,0x250,\n               *(int *)(pcVar22 + 0x29b950) + -0x3bec);\n  }\n  else {\n    iVar1 = *(int *)(pcVar22 + 0x29b950);\n    (**(code **)(pcVar22 + 0x29c24c))\n              (0x8000,iVar1 + -0x40d0,*(int *)(pcVar22 + 0x29b950) + -0x3bf8,0x251,\n               *(int *)(pcVar22 + 0x29b950) + -0x62ac,iVar3);\n    if (piVar11 != (int *)0x0) {\n      *piVar11 = 0;\n      iVar1 = FUN_0010b2dc(puVar10);\n      if (iVar1 != 0) {\n        iVar16 = *(int *)(pcVar22 + 0x29b938);\n        iVar1 = (**(code **)(pcVar22 + 0x29c460))(*(undefined4 *)(iVar16 + -0x5088));\n        piVar6 = (int *)(**(code **)(pcVar22 + 0x29c578))(iVar1 + 1,4);\n        if (piVar6 != (int *)0x0) {\n          iVar1 = *(int *)(pcVar22 + 0x29b938);\n          (**(code **)(pcVar22 + 0x29c754))(*(undefined4 *)(iVar1 + -0x5090));\n          (**(code **)(pcVar22 + 0x29c5a4))(*(undefined4 *)(iVar16 + -0x5088));\n          iVar4 = (**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088));\n          if (iVar4 == 0) {\n            iVar13 = 0;\n            piVar2 = piVar6;\n          }\n          else {\n            iVar13 = 0;\nLAB_0010d0bc:\n            do {\n              if (*(int *)(iVar4 + 0x2c) == 0) {\n                uVar20 = *(undefined4 *)(iVar4 + 0xc);\n                iVar4 = (**(code **)(pcVar22 + 0x29c6b4))(uVar20,iVar3,0);\n                if (iVar4 != 0) {\n                  iVar15 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c120))(uVar20);\n                  uVar20 = *(undefined4 *)(iVar16 + -0x5088);\n                  piVar6[iVar13] = iVar4;\n                  iVar5 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c37c))(uVar20);\n                  iVar13 = iVar15;\n                  piVar2 = piVar6 + iVar5;\n                  if (iVar4 == 0) break;\n                  goto LAB_0010d0bc;\n                }\n              }\n              iVar4 = (**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088));\n              piVar2 = piVar6 + iVar13;\n            } while (iVar4 != 0);\n          }\n          (**(code **)(pcVar22 + 0x29c3ec))(*(undefined4 *)(iVar1 + -0x5090));\n          (**(code **)(pcVar22 + 0x29c940))(piVar6,iVar13,4,*(int *)(pcVar22 + 0x29bb04) + -0x578c);\n          *piVar11 = iVar13;\n          *piVar2 = 0;\n          return piVar6;\n        }\n      }\n      return (int *)0x0;\n    }\n  }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n    (**(code **)(pcVar22 + 0x29c674))\n              (*(int *)(pcVar22 + 0x29b94c) + 0x45e0,*(int *)(pcVar22 + 0x29b950) + -0x40d0,0x250,\n               *(int *)(pcVar22 + 0x29b950) + -0x3bec);\n  }" { (expression_statement "(**(code **)(pcVar22 + 0x29c674))\n              (*(int *)(pcVar22 + 0x29b94c) + 0x45e0,*(int *)(pcVar22 + 0x29b950) + -0x40d0,0x250,\n               *(int *)(pcVar22 + 0x29b950) + -0x3bec);" (call_expression "(**(code **)(pcVar22 + 0x29c674))\n              (*(int *)(pcVar22 + 0x29b94c) + 0x45e0,*(int *)(pcVar22 + 0x29b950) + -0x40d0,0x250,\n               *(int *)(pcVar22 + 0x29b950) + -0x3bec)" (parenthesized_expression "(**(code **)(pcVar22 + 0x29c674))" ( (pointer_expression "**(code **)(pcVar22 + 0x29c674)" * (pointer_expression "*(code **)(pcVar22 + 0x29c674)" * (cast_expression "(code **)(pcVar22 + 0x29c674)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x29c674)" ( (binary_expression "pcVar22 + 0x29c674" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar22 + 0x29b94c) + 0x45e0,*(int *)(pcVar22 + 0x29b950) + -0x40d0,0x250,\n               *(int *)(pcVar22 + 0x29b950) + -0x3bec)" ( (binary_expression "*(int *)(pcVar22 + 0x29b94c) + 0x45e0" (pointer_expression "*(int *)(pcVar22 + 0x29b94c)" * (cast_expression "(int *)(pcVar22 + 0x29b94c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x29b94c)" ( (binary_expression "pcVar22 + 0x29b94c" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar22 + 0x29b950) + -0x40d0" (pointer_expression "*(int *)(pcVar22 + 0x29b950)" * (cast_expression "(int *)(pcVar22 + 0x29b950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x29b950)" ( (binary_expression "pcVar22 + 0x29b950" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar22 + 0x29b950) + -0x3bec" (pointer_expression "*(int *)(pcVar22 + 0x29b950)" * (cast_expression "(int *)(pcVar22 + 0x29b950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x29b950)" ( (binary_expression "pcVar22 + 0x29b950" identifier + number_literal) )))) + number_literal) ))) ;) }) (else_clause "else {\n    iVar1 = *(int *)(pcVar22 + 0x29b950);\n    (**(code **)(pcVar22 + 0x29c24c))\n              (0x8000,iVar1 + -0x40d0,*(int *)(pcVar22 + 0x29b950) + -0x3bf8,0x251,\n               *(int *)(pcVar22 + 0x29b950) + -0x62ac,iVar3);\n    if (piVar11 != (int *)0x0) {\n      *piVar11 = 0;\n      iVar1 = FUN_0010b2dc(puVar10);\n      if (iVar1 != 0) {\n        iVar16 = *(int *)(pcVar22 + 0x29b938);\n        iVar1 = (**(code **)(pcVar22 + 0x29c460))(*(undefined4 *)(iVar16 + -0x5088));\n        piVar6 = (int *)(**(code **)(pcVar22 + 0x29c578))(iVar1 + 1,4);\n        if (piVar6 != (int *)0x0) {\n          iVar1 = *(int *)(pcVar22 + 0x29b938);\n          (**(code **)(pcVar22 + 0x29c754))(*(undefined4 *)(iVar1 + -0x5090));\n          (**(code **)(pcVar22 + 0x29c5a4))(*(undefined4 *)(iVar16 + -0x5088));\n          iVar4 = (**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088));\n          if (iVar4 == 0) {\n            iVar13 = 0;\n            piVar2 = piVar6;\n          }\n          else {\n            iVar13 = 0;\nLAB_0010d0bc:\n            do {\n              if (*(int *)(iVar4 + 0x2c) == 0) {\n                uVar20 = *(undefined4 *)(iVar4 + 0xc);\n                iVar4 = (**(code **)(pcVar22 + 0x29c6b4))(uVar20,iVar3,0);\n                if (iVar4 != 0) {\n                  iVar15 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c120))(uVar20);\n                  uVar20 = *(undefined4 *)(iVar16 + -0x5088);\n                  piVar6[iVar13] = iVar4;\n                  iVar5 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c37c))(uVar20);\n                  iVar13 = iVar15;\n                  piVar2 = piVar6 + iVar5;\n                  if (iVar4 == 0) break;\n                  goto LAB_0010d0bc;\n                }\n              }\n              iVar4 = (**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088));\n              piVar2 = piVar6 + iVar13;\n            } while (iVar4 != 0);\n          }\n          (**(code **)(pcVar22 + 0x29c3ec))(*(undefined4 *)(iVar1 + -0x5090));\n          (**(code **)(pcVar22 + 0x29c940))(piVar6,iVar13,4,*(int *)(pcVar22 + 0x29bb04) + -0x578c);\n          *piVar11 = iVar13;\n          *piVar2 = 0;\n          return piVar6;\n        }\n      }\n      return (int *)0x0;\n    }\n  }" else (compound_statement "{\n    iVar1 = *(int *)(pcVar22 + 0x29b950);\n    (**(code **)(pcVar22 + 0x29c24c))\n              (0x8000,iVar1 + -0x40d0,*(int *)(pcVar22 + 0x29b950) + -0x3bf8,0x251,\n               *(int *)(pcVar22 + 0x29b950) + -0x62ac,iVar3);\n    if (piVar11 != (int *)0x0) {\n      *piVar11 = 0;\n      iVar1 = FUN_0010b2dc(puVar10);\n      if (iVar1 != 0) {\n        iVar16 = *(int *)(pcVar22 + 0x29b938);\n        iVar1 = (**(code **)(pcVar22 + 0x29c460))(*(undefined4 *)(iVar16 + -0x5088));\n        piVar6 = (int *)(**(code **)(pcVar22 + 0x29c578))(iVar1 + 1,4);\n        if (piVar6 != (int *)0x0) {\n          iVar1 = *(int *)(pcVar22 + 0x29b938);\n          (**(code **)(pcVar22 + 0x29c754))(*(undefined4 *)(iVar1 + -0x5090));\n          (**(code **)(pcVar22 + 0x29c5a4))(*(undefined4 *)(iVar16 + -0x5088));\n          iVar4 = (**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088));\n          if (iVar4 == 0) {\n            iVar13 = 0;\n            piVar2 = piVar6;\n          }\n          else {\n            iVar13 = 0;\nLAB_0010d0bc:\n            do {\n              if (*(int *)(iVar4 + 0x2c) == 0) {\n                uVar20 = *(undefined4 *)(iVar4 + 0xc);\n                iVar4 = (**(code **)(pcVar22 + 0x29c6b4))(uVar20,iVar3,0);\n                if (iVar4 != 0) {\n                  iVar15 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c120))(uVar20);\n                  uVar20 = *(undefined4 *)(iVar16 + -0x5088);\n                  piVar6[iVar13] = iVar4;\n                  iVar5 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c37c))(uVar20);\n                  iVar13 = iVar15;\n                  piVar2 = piVar6 + iVar5;\n                  if (iVar4 == 0) break;\n                  goto LAB_0010d0bc;\n                }\n              }\n              iVar4 = (**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088));\n              piVar2 = piVar6 + iVar13;\n            } while (iVar4 != 0);\n          }\n          (**(code **)(pcVar22 + 0x29c3ec))(*(undefined4 *)(iVar1 + -0x5090));\n          (**(code **)(pcVar22 + 0x29c940))(piVar6,iVar13,4,*(int *)(pcVar22 + 0x29bb04) + -0x578c);\n          *piVar11 = iVar13;\n          *piVar2 = 0;\n          return piVar6;\n        }\n      }\n      return (int *)0x0;\n    }\n  }" { (expression_statement "iVar1 = *(int *)(pcVar22 + 0x29b950);" (assignment_expression "iVar1 = *(int *)(pcVar22 + 0x29b950)" identifier = (pointer_expression "*(int *)(pcVar22 + 0x29b950)" * (cast_expression "(int *)(pcVar22 + 0x29b950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x29b950)" ( (binary_expression "pcVar22 + 0x29b950" identifier + number_literal) ))))) ;) (expression_statement "(**(code **)(pcVar22 + 0x29c24c))\n              (0x8000,iVar1 + -0x40d0,*(int *)(pcVar22 + 0x29b950) + -0x3bf8,0x251,\n               *(int *)(pcVar22 + 0x29b950) + -0x62ac,iVar3);" (call_expression "(**(code **)(pcVar22 + 0x29c24c))\n              (0x8000,iVar1 + -0x40d0,*(int *)(pcVar22 + 0x29b950) + -0x3bf8,0x251,\n               *(int *)(pcVar22 + 0x29b950) + -0x62ac,iVar3)" (parenthesized_expression "(**(code **)(pcVar22 + 0x29c24c))" ( (pointer_expression "**(code **)(pcVar22 + 0x29c24c)" * (pointer_expression "*(code **)(pcVar22 + 0x29c24c)" * (cast_expression "(code **)(pcVar22 + 0x29c24c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x29c24c)" ( (binary_expression "pcVar22 + 0x29c24c" identifier + number_literal) ))))) )) (argument_list "(0x8000,iVar1 + -0x40d0,*(int *)(pcVar22 + 0x29b950) + -0x3bf8,0x251,\n               *(int *)(pcVar22 + 0x29b950) + -0x62ac,iVar3)" ( number_literal , (binary_expression "iVar1 + -0x40d0" identifier + number_literal) , (binary_expression "*(int *)(pcVar22 + 0x29b950) + -0x3bf8" (pointer_expression "*(int *)(pcVar22 + 0x29b950)" * (cast_expression "(int *)(pcVar22 + 0x29b950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x29b950)" ( (binary_expression "pcVar22 + 0x29b950" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar22 + 0x29b950) + -0x62ac" (pointer_expression "*(int *)(pcVar22 + 0x29b950)" * (cast_expression "(int *)(pcVar22 + 0x29b950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x29b950)" ( (binary_expression "pcVar22 + 0x29b950" identifier + number_literal) )))) + number_literal) , identifier ))) ;) (if_statement "if (piVar11 != (int *)0x0) {\n      *piVar11 = 0;\n      iVar1 = FUN_0010b2dc(puVar10);\n      if (iVar1 != 0) {\n        iVar16 = *(int *)(pcVar22 + 0x29b938);\n        iVar1 = (**(code **)(pcVar22 + 0x29c460))(*(undefined4 *)(iVar16 + -0x5088));\n        piVar6 = (int *)(**(code **)(pcVar22 + 0x29c578))(iVar1 + 1,4);\n        if (piVar6 != (int *)0x0) {\n          iVar1 = *(int *)(pcVar22 + 0x29b938);\n          (**(code **)(pcVar22 + 0x29c754))(*(undefined4 *)(iVar1 + -0x5090));\n          (**(code **)(pcVar22 + 0x29c5a4))(*(undefined4 *)(iVar16 + -0x5088));\n          iVar4 = (**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088));\n          if (iVar4 == 0) {\n            iVar13 = 0;\n            piVar2 = piVar6;\n          }\n          else {\n            iVar13 = 0;\nLAB_0010d0bc:\n            do {\n              if (*(int *)(iVar4 + 0x2c) == 0) {\n                uVar20 = *(undefined4 *)(iVar4 + 0xc);\n                iVar4 = (**(code **)(pcVar22 + 0x29c6b4))(uVar20,iVar3,0);\n                if (iVar4 != 0) {\n                  iVar15 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c120))(uVar20);\n                  uVar20 = *(undefined4 *)(iVar16 + -0x5088);\n                  piVar6[iVar13] = iVar4;\n                  iVar5 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c37c))(uVar20);\n                  iVar13 = iVar15;\n                  piVar2 = piVar6 + iVar5;\n                  if (iVar4 == 0) break;\n                  goto LAB_0010d0bc;\n                }\n              }\n              iVar4 = (**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088));\n              piVar2 = piVar6 + iVar13;\n            } while (iVar4 != 0);\n          }\n          (**(code **)(pcVar22 + 0x29c3ec))(*(undefined4 *)(iVar1 + -0x5090));\n          (**(code **)(pcVar22 + 0x29c940))(piVar6,iVar13,4,*(int *)(pcVar22 + 0x29bb04) + -0x578c);\n          *piVar11 = iVar13;\n          *piVar2 = 0;\n          return piVar6;\n        }\n      }\n      return (int *)0x0;\n    }" if (parenthesized_expression "(piVar11 != (int *)0x0)" ( (binary_expression "piVar11 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      *piVar11 = 0;\n      iVar1 = FUN_0010b2dc(puVar10);\n      if (iVar1 != 0) {\n        iVar16 = *(int *)(pcVar22 + 0x29b938);\n        iVar1 = (**(code **)(pcVar22 + 0x29c460))(*(undefined4 *)(iVar16 + -0x5088));\n        piVar6 = (int *)(**(code **)(pcVar22 + 0x29c578))(iVar1 + 1,4);\n        if (piVar6 != (int *)0x0) {\n          iVar1 = *(int *)(pcVar22 + 0x29b938);\n          (**(code **)(pcVar22 + 0x29c754))(*(undefined4 *)(iVar1 + -0x5090));\n          (**(code **)(pcVar22 + 0x29c5a4))(*(undefined4 *)(iVar16 + -0x5088));\n          iVar4 = (**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088));\n          if (iVar4 == 0) {\n            iVar13 = 0;\n            piVar2 = piVar6;\n          }\n          else {\n            iVar13 = 0;\nLAB_0010d0bc:\n            do {\n              if (*(int *)(iVar4 + 0x2c) == 0) {\n                uVar20 = *(undefined4 *)(iVar4 + 0xc);\n                iVar4 = (**(code **)(pcVar22 + 0x29c6b4))(uVar20,iVar3,0);\n                if (iVar4 != 0) {\n                  iVar15 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c120))(uVar20);\n                  uVar20 = *(undefined4 *)(iVar16 + -0x5088);\n                  piVar6[iVar13] = iVar4;\n                  iVar5 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c37c))(uVar20);\n                  iVar13 = iVar15;\n                  piVar2 = piVar6 + iVar5;\n                  if (iVar4 == 0) break;\n                  goto LAB_0010d0bc;\n                }\n              }\n              iVar4 = (**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088));\n              piVar2 = piVar6 + iVar13;\n            } while (iVar4 != 0);\n          }\n          (**(code **)(pcVar22 + 0x29c3ec))(*(undefined4 *)(iVar1 + -0x5090));\n          (**(code **)(pcVar22 + 0x29c940))(piVar6,iVar13,4,*(int *)(pcVar22 + 0x29bb04) + -0x578c);\n          *piVar11 = iVar13;\n          *piVar2 = 0;\n          return piVar6;\n        }\n      }\n      return (int *)0x0;\n    }" { (expression_statement "*piVar11 = 0;" (assignment_expression "*piVar11 = 0" (pointer_expression "*piVar11" * identifier) = number_literal) ;) (expression_statement "iVar1 = FUN_0010b2dc(puVar10);" (assignment_expression "iVar1 = FUN_0010b2dc(puVar10)" identifier = (call_expression "FUN_0010b2dc(puVar10)" identifier (argument_list "(puVar10)" ( identifier )))) ;) (if_statement "if (iVar1 != 0) {\n        iVar16 = *(int *)(pcVar22 + 0x29b938);\n        iVar1 = (**(code **)(pcVar22 + 0x29c460))(*(undefined4 *)(iVar16 + -0x5088));\n        piVar6 = (int *)(**(code **)(pcVar22 + 0x29c578))(iVar1 + 1,4);\n        if (piVar6 != (int *)0x0) {\n          iVar1 = *(int *)(pcVar22 + 0x29b938);\n          (**(code **)(pcVar22 + 0x29c754))(*(undefined4 *)(iVar1 + -0x5090));\n          (**(code **)(pcVar22 + 0x29c5a4))(*(undefined4 *)(iVar16 + -0x5088));\n          iVar4 = (**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088));\n          if (iVar4 == 0) {\n            iVar13 = 0;\n            piVar2 = piVar6;\n          }\n          else {\n            iVar13 = 0;\nLAB_0010d0bc:\n            do {\n              if (*(int *)(iVar4 + 0x2c) == 0) {\n                uVar20 = *(undefined4 *)(iVar4 + 0xc);\n                iVar4 = (**(code **)(pcVar22 + 0x29c6b4))(uVar20,iVar3,0);\n                if (iVar4 != 0) {\n                  iVar15 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c120))(uVar20);\n                  uVar20 = *(undefined4 *)(iVar16 + -0x5088);\n                  piVar6[iVar13] = iVar4;\n                  iVar5 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c37c))(uVar20);\n                  iVar13 = iVar15;\n                  piVar2 = piVar6 + iVar5;\n                  if (iVar4 == 0) break;\n                  goto LAB_0010d0bc;\n                }\n              }\n              iVar4 = (**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088));\n              piVar2 = piVar6 + iVar13;\n            } while (iVar4 != 0);\n          }\n          (**(code **)(pcVar22 + 0x29c3ec))(*(undefined4 *)(iVar1 + -0x5090));\n          (**(code **)(pcVar22 + 0x29c940))(piVar6,iVar13,4,*(int *)(pcVar22 + 0x29bb04) + -0x578c);\n          *piVar11 = iVar13;\n          *piVar2 = 0;\n          return piVar6;\n        }\n      }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\n        iVar16 = *(int *)(pcVar22 + 0x29b938);\n        iVar1 = (**(code **)(pcVar22 + 0x29c460))(*(undefined4 *)(iVar16 + -0x5088));\n        piVar6 = (int *)(**(code **)(pcVar22 + 0x29c578))(iVar1 + 1,4);\n        if (piVar6 != (int *)0x0) {\n          iVar1 = *(int *)(pcVar22 + 0x29b938);\n          (**(code **)(pcVar22 + 0x29c754))(*(undefined4 *)(iVar1 + -0x5090));\n          (**(code **)(pcVar22 + 0x29c5a4))(*(undefined4 *)(iVar16 + -0x5088));\n          iVar4 = (**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088));\n          if (iVar4 == 0) {\n            iVar13 = 0;\n            piVar2 = piVar6;\n          }\n          else {\n            iVar13 = 0;\nLAB_0010d0bc:\n            do {\n              if (*(int *)(iVar4 + 0x2c) == 0) {\n                uVar20 = *(undefined4 *)(iVar4 + 0xc);\n                iVar4 = (**(code **)(pcVar22 + 0x29c6b4))(uVar20,iVar3,0);\n                if (iVar4 != 0) {\n                  iVar15 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c120))(uVar20);\n                  uVar20 = *(undefined4 *)(iVar16 + -0x5088);\n                  piVar6[iVar13] = iVar4;\n                  iVar5 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c37c))(uVar20);\n                  iVar13 = iVar15;\n                  piVar2 = piVar6 + iVar5;\n                  if (iVar4 == 0) break;\n                  goto LAB_0010d0bc;\n                }\n              }\n              iVar4 = (**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088));\n              piVar2 = piVar6 + iVar13;\n            } while (iVar4 != 0);\n          }\n          (**(code **)(pcVar22 + 0x29c3ec))(*(undefined4 *)(iVar1 + -0x5090));\n          (**(code **)(pcVar22 + 0x29c940))(piVar6,iVar13,4,*(int *)(pcVar22 + 0x29bb04) + -0x578c);\n          *piVar11 = iVar13;\n          *piVar2 = 0;\n          return piVar6;\n        }\n      }" { (expression_statement "iVar16 = *(int *)(pcVar22 + 0x29b938);" (assignment_expression "iVar16 = *(int *)(pcVar22 + 0x29b938)" identifier = (pointer_expression "*(int *)(pcVar22 + 0x29b938)" * (cast_expression "(int *)(pcVar22 + 0x29b938)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x29b938)" ( (binary_expression "pcVar22 + 0x29b938" identifier + number_literal) ))))) ;) (expression_statement "iVar1 = (**(code **)(pcVar22 + 0x29c460))(*(undefined4 *)(iVar16 + -0x5088));" (assignment_expression "iVar1 = (**(code **)(pcVar22 + 0x29c460))(*(undefined4 *)(iVar16 + -0x5088))" identifier = (call_expression "(**(code **)(pcVar22 + 0x29c460))(*(undefined4 *)(iVar16 + -0x5088))" (parenthesized_expression "(**(code **)(pcVar22 + 0x29c460))" ( (pointer_expression "**(code **)(pcVar22 + 0x29c460)" * (pointer_expression "*(code **)(pcVar22 + 0x29c460)" * (cast_expression "(code **)(pcVar22 + 0x29c460)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x29c460)" ( (binary_expression "pcVar22 + 0x29c460" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar16 + -0x5088))" ( (pointer_expression "*(undefined4 *)(iVar16 + -0x5088)" * (cast_expression "(undefined4 *)(iVar16 + -0x5088)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + -0x5088)" ( (binary_expression "iVar16 + -0x5088" identifier + number_literal) )))) )))) ;) (expression_statement "piVar6 = (int *)(**(code **)(pcVar22 + 0x29c578))(iVar1 + 1,4);" (assignment_expression "piVar6 = (int *)(**(code **)(pcVar22 + 0x29c578))(iVar1 + 1,4)" identifier = (cast_expression "(int *)(**(code **)(pcVar22 + 0x29c578))(iVar1 + 1,4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar22 + 0x29c578))(iVar1 + 1,4)" (parenthesized_expression "(**(code **)(pcVar22 + 0x29c578))" ( (pointer_expression "**(code **)(pcVar22 + 0x29c578)" * (pointer_expression "*(code **)(pcVar22 + 0x29c578)" * (cast_expression "(code **)(pcVar22 + 0x29c578)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x29c578)" ( (binary_expression "pcVar22 + 0x29c578" identifier + number_literal) ))))) )) (argument_list "(iVar1 + 1,4)" ( (binary_expression "iVar1 + 1" identifier + number_literal) , number_literal ))))) ;) (if_statement "if (piVar6 != (int *)0x0) {\n          iVar1 = *(int *)(pcVar22 + 0x29b938);\n          (**(code **)(pcVar22 + 0x29c754))(*(undefined4 *)(iVar1 + -0x5090));\n          (**(code **)(pcVar22 + 0x29c5a4))(*(undefined4 *)(iVar16 + -0x5088));\n          iVar4 = (**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088));\n          if (iVar4 == 0) {\n            iVar13 = 0;\n            piVar2 = piVar6;\n          }\n          else {\n            iVar13 = 0;\nLAB_0010d0bc:\n            do {\n              if (*(int *)(iVar4 + 0x2c) == 0) {\n                uVar20 = *(undefined4 *)(iVar4 + 0xc);\n                iVar4 = (**(code **)(pcVar22 + 0x29c6b4))(uVar20,iVar3,0);\n                if (iVar4 != 0) {\n                  iVar15 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c120))(uVar20);\n                  uVar20 = *(undefined4 *)(iVar16 + -0x5088);\n                  piVar6[iVar13] = iVar4;\n                  iVar5 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c37c))(uVar20);\n                  iVar13 = iVar15;\n                  piVar2 = piVar6 + iVar5;\n                  if (iVar4 == 0) break;\n                  goto LAB_0010d0bc;\n                }\n              }\n              iVar4 = (**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088));\n              piVar2 = piVar6 + iVar13;\n            } while (iVar4 != 0);\n          }\n          (**(code **)(pcVar22 + 0x29c3ec))(*(undefined4 *)(iVar1 + -0x5090));\n          (**(code **)(pcVar22 + 0x29c940))(piVar6,iVar13,4,*(int *)(pcVar22 + 0x29bb04) + -0x578c);\n          *piVar11 = iVar13;\n          *piVar2 = 0;\n          return piVar6;\n        }" if (parenthesized_expression "(piVar6 != (int *)0x0)" ( (binary_expression "piVar6 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          iVar1 = *(int *)(pcVar22 + 0x29b938);\n          (**(code **)(pcVar22 + 0x29c754))(*(undefined4 *)(iVar1 + -0x5090));\n          (**(code **)(pcVar22 + 0x29c5a4))(*(undefined4 *)(iVar16 + -0x5088));\n          iVar4 = (**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088));\n          if (iVar4 == 0) {\n            iVar13 = 0;\n            piVar2 = piVar6;\n          }\n          else {\n            iVar13 = 0;\nLAB_0010d0bc:\n            do {\n              if (*(int *)(iVar4 + 0x2c) == 0) {\n                uVar20 = *(undefined4 *)(iVar4 + 0xc);\n                iVar4 = (**(code **)(pcVar22 + 0x29c6b4))(uVar20,iVar3,0);\n                if (iVar4 != 0) {\n                  iVar15 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c120))(uVar20);\n                  uVar20 = *(undefined4 *)(iVar16 + -0x5088);\n                  piVar6[iVar13] = iVar4;\n                  iVar5 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c37c))(uVar20);\n                  iVar13 = iVar15;\n                  piVar2 = piVar6 + iVar5;\n                  if (iVar4 == 0) break;\n                  goto LAB_0010d0bc;\n                }\n              }\n              iVar4 = (**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088));\n              piVar2 = piVar6 + iVar13;\n            } while (iVar4 != 0);\n          }\n          (**(code **)(pcVar22 + 0x29c3ec))(*(undefined4 *)(iVar1 + -0x5090));\n          (**(code **)(pcVar22 + 0x29c940))(piVar6,iVar13,4,*(int *)(pcVar22 + 0x29bb04) + -0x578c);\n          *piVar11 = iVar13;\n          *piVar2 = 0;\n          return piVar6;\n        }" { (expression_statement "iVar1 = *(int *)(pcVar22 + 0x29b938);" (assignment_expression "iVar1 = *(int *)(pcVar22 + 0x29b938)" identifier = (pointer_expression "*(int *)(pcVar22 + 0x29b938)" * (cast_expression "(int *)(pcVar22 + 0x29b938)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x29b938)" ( (binary_expression "pcVar22 + 0x29b938" identifier + number_literal) ))))) ;) (expression_statement "(**(code **)(pcVar22 + 0x29c754))(*(undefined4 *)(iVar1 + -0x5090));" (call_expression "(**(code **)(pcVar22 + 0x29c754))(*(undefined4 *)(iVar1 + -0x5090))" (parenthesized_expression "(**(code **)(pcVar22 + 0x29c754))" ( (pointer_expression "**(code **)(pcVar22 + 0x29c754)" * (pointer_expression "*(code **)(pcVar22 + 0x29c754)" * (cast_expression "(code **)(pcVar22 + 0x29c754)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x29c754)" ( (binary_expression "pcVar22 + 0x29c754" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar1 + -0x5090))" ( (pointer_expression "*(undefined4 *)(iVar1 + -0x5090)" * (cast_expression "(undefined4 *)(iVar1 + -0x5090)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + -0x5090)" ( (binary_expression "iVar1 + -0x5090" identifier + number_literal) )))) ))) ;) (expression_statement "(**(code **)(pcVar22 + 0x29c5a4))(*(undefined4 *)(iVar16 + -0x5088));" (call_expression "(**(code **)(pcVar22 + 0x29c5a4))(*(undefined4 *)(iVar16 + -0x5088))" (parenthesized_expression "(**(code **)(pcVar22 + 0x29c5a4))" ( (pointer_expression "**(code **)(pcVar22 + 0x29c5a4)" * (pointer_expression "*(code **)(pcVar22 + 0x29c5a4)" * (cast_expression "(code **)(pcVar22 + 0x29c5a4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x29c5a4)" ( (binary_expression "pcVar22 + 0x29c5a4" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar16 + -0x5088))" ( (pointer_expression "*(undefined4 *)(iVar16 + -0x5088)" * (cast_expression "(undefined4 *)(iVar16 + -0x5088)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + -0x5088)" ( (binary_expression "iVar16 + -0x5088" identifier + number_literal) )))) ))) ;) (expression_statement "iVar4 = (**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088));" (assignment_expression "iVar4 = (**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088))" identifier = (call_expression "(**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088))" (parenthesized_expression "(**(code **)(pcVar22 + 0x29c37c))" ( (pointer_expression "**(code **)(pcVar22 + 0x29c37c)" * (pointer_expression "*(code **)(pcVar22 + 0x29c37c)" * (cast_expression "(code **)(pcVar22 + 0x29c37c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x29c37c)" ( (binary_expression "pcVar22 + 0x29c37c" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar16 + -0x5088))" ( (pointer_expression "*(undefined4 *)(iVar16 + -0x5088)" * (cast_expression "(undefined4 *)(iVar16 + -0x5088)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + -0x5088)" ( (binary_expression "iVar16 + -0x5088" identifier + number_literal) )))) )))) ;) (if_statement "if (iVar4 == 0) {\n            iVar13 = 0;\n            piVar2 = piVar6;\n          }\n          else {\n            iVar13 = 0;\nLAB_0010d0bc:\n            do {\n              if (*(int *)(iVar4 + 0x2c) == 0) {\n                uVar20 = *(undefined4 *)(iVar4 + 0xc);\n                iVar4 = (**(code **)(pcVar22 + 0x29c6b4))(uVar20,iVar3,0);\n                if (iVar4 != 0) {\n                  iVar15 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c120))(uVar20);\n                  uVar20 = *(undefined4 *)(iVar16 + -0x5088);\n                  piVar6[iVar13] = iVar4;\n                  iVar5 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c37c))(uVar20);\n                  iVar13 = iVar15;\n                  piVar2 = piVar6 + iVar5;\n                  if (iVar4 == 0) break;\n                  goto LAB_0010d0bc;\n                }\n              }\n              iVar4 = (**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088));\n              piVar2 = piVar6 + iVar13;\n            } while (iVar4 != 0);\n          }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n            iVar13 = 0;\n            piVar2 = piVar6;\n          }" { (expression_statement "iVar13 = 0;" (assignment_expression "iVar13 = 0" identifier = number_literal) ;) (expression_statement "piVar2 = piVar6;" (assignment_expression "piVar2 = piVar6" identifier = identifier) ;) }) (else_clause "else {\n            iVar13 = 0;\nLAB_0010d0bc:\n            do {\n              if (*(int *)(iVar4 + 0x2c) == 0) {\n                uVar20 = *(undefined4 *)(iVar4 + 0xc);\n                iVar4 = (**(code **)(pcVar22 + 0x29c6b4))(uVar20,iVar3,0);\n                if (iVar4 != 0) {\n                  iVar15 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c120))(uVar20);\n                  uVar20 = *(undefined4 *)(iVar16 + -0x5088);\n                  piVar6[iVar13] = iVar4;\n                  iVar5 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c37c))(uVar20);\n                  iVar13 = iVar15;\n                  piVar2 = piVar6 + iVar5;\n                  if (iVar4 == 0) break;\n                  goto LAB_0010d0bc;\n                }\n              }\n              iVar4 = (**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088));\n              piVar2 = piVar6 + iVar13;\n            } while (iVar4 != 0);\n          }" else (compound_statement "{\n            iVar13 = 0;\nLAB_0010d0bc:\n            do {\n              if (*(int *)(iVar4 + 0x2c) == 0) {\n                uVar20 = *(undefined4 *)(iVar4 + 0xc);\n                iVar4 = (**(code **)(pcVar22 + 0x29c6b4))(uVar20,iVar3,0);\n                if (iVar4 != 0) {\n                  iVar15 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c120))(uVar20);\n                  uVar20 = *(undefined4 *)(iVar16 + -0x5088);\n                  piVar6[iVar13] = iVar4;\n                  iVar5 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c37c))(uVar20);\n                  iVar13 = iVar15;\n                  piVar2 = piVar6 + iVar5;\n                  if (iVar4 == 0) break;\n                  goto LAB_0010d0bc;\n                }\n              }\n              iVar4 = (**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088));\n              piVar2 = piVar6 + iVar13;\n            } while (iVar4 != 0);\n          }" { (expression_statement "iVar13 = 0;" (assignment_expression "iVar13 = 0" identifier = number_literal) ;) (labeled_statement "LAB_0010d0bc:\n            do {\n              if (*(int *)(iVar4 + 0x2c) == 0) {\n                uVar20 = *(undefined4 *)(iVar4 + 0xc);\n                iVar4 = (**(code **)(pcVar22 + 0x29c6b4))(uVar20,iVar3,0);\n                if (iVar4 != 0) {\n                  iVar15 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c120))(uVar20);\n                  uVar20 = *(undefined4 *)(iVar16 + -0x5088);\n                  piVar6[iVar13] = iVar4;\n                  iVar5 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c37c))(uVar20);\n                  iVar13 = iVar15;\n                  piVar2 = piVar6 + iVar5;\n                  if (iVar4 == 0) break;\n                  goto LAB_0010d0bc;\n                }\n              }\n              iVar4 = (**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088));\n              piVar2 = piVar6 + iVar13;\n            } while (iVar4 != 0);" statement_identifier : (do_statement "do {\n              if (*(int *)(iVar4 + 0x2c) == 0) {\n                uVar20 = *(undefined4 *)(iVar4 + 0xc);\n                iVar4 = (**(code **)(pcVar22 + 0x29c6b4))(uVar20,iVar3,0);\n                if (iVar4 != 0) {\n                  iVar15 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c120))(uVar20);\n                  uVar20 = *(undefined4 *)(iVar16 + -0x5088);\n                  piVar6[iVar13] = iVar4;\n                  iVar5 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c37c))(uVar20);\n                  iVar13 = iVar15;\n                  piVar2 = piVar6 + iVar5;\n                  if (iVar4 == 0) break;\n                  goto LAB_0010d0bc;\n                }\n              }\n              iVar4 = (**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088));\n              piVar2 = piVar6 + iVar13;\n            } while (iVar4 != 0);" do (compound_statement "{\n              if (*(int *)(iVar4 + 0x2c) == 0) {\n                uVar20 = *(undefined4 *)(iVar4 + 0xc);\n                iVar4 = (**(code **)(pcVar22 + 0x29c6b4))(uVar20,iVar3,0);\n                if (iVar4 != 0) {\n                  iVar15 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c120))(uVar20);\n                  uVar20 = *(undefined4 *)(iVar16 + -0x5088);\n                  piVar6[iVar13] = iVar4;\n                  iVar5 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c37c))(uVar20);\n                  iVar13 = iVar15;\n                  piVar2 = piVar6 + iVar5;\n                  if (iVar4 == 0) break;\n                  goto LAB_0010d0bc;\n                }\n              }\n              iVar4 = (**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088));\n              piVar2 = piVar6 + iVar13;\n            }" { (if_statement "if (*(int *)(iVar4 + 0x2c) == 0) {\n                uVar20 = *(undefined4 *)(iVar4 + 0xc);\n                iVar4 = (**(code **)(pcVar22 + 0x29c6b4))(uVar20,iVar3,0);\n                if (iVar4 != 0) {\n                  iVar15 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c120))(uVar20);\n                  uVar20 = *(undefined4 *)(iVar16 + -0x5088);\n                  piVar6[iVar13] = iVar4;\n                  iVar5 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c37c))(uVar20);\n                  iVar13 = iVar15;\n                  piVar2 = piVar6 + iVar5;\n                  if (iVar4 == 0) break;\n                  goto LAB_0010d0bc;\n                }\n              }" if (parenthesized_expression "(*(int *)(iVar4 + 0x2c) == 0)" ( (binary_expression "*(int *)(iVar4 + 0x2c) == 0" (pointer_expression "*(int *)(iVar4 + 0x2c)" * (cast_expression "(int *)(iVar4 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x2c)" ( (binary_expression "iVar4 + 0x2c" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                uVar20 = *(undefined4 *)(iVar4 + 0xc);\n                iVar4 = (**(code **)(pcVar22 + 0x29c6b4))(uVar20,iVar3,0);\n                if (iVar4 != 0) {\n                  iVar15 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c120))(uVar20);\n                  uVar20 = *(undefined4 *)(iVar16 + -0x5088);\n                  piVar6[iVar13] = iVar4;\n                  iVar5 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c37c))(uVar20);\n                  iVar13 = iVar15;\n                  piVar2 = piVar6 + iVar5;\n                  if (iVar4 == 0) break;\n                  goto LAB_0010d0bc;\n                }\n              }" { (expression_statement "uVar20 = *(undefined4 *)(iVar4 + 0xc);" (assignment_expression "uVar20 = *(undefined4 *)(iVar4 + 0xc)" identifier = (pointer_expression "*(undefined4 *)(iVar4 + 0xc)" * (cast_expression "(undefined4 *)(iVar4 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0xc)" ( (binary_expression "iVar4 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "iVar4 = (**(code **)(pcVar22 + 0x29c6b4))(uVar20,iVar3,0);" (assignment_expression "iVar4 = (**(code **)(pcVar22 + 0x29c6b4))(uVar20,iVar3,0)" identifier = (call_expression "(**(code **)(pcVar22 + 0x29c6b4))(uVar20,iVar3,0)" (parenthesized_expression "(**(code **)(pcVar22 + 0x29c6b4))" ( (pointer_expression "**(code **)(pcVar22 + 0x29c6b4)" * (pointer_expression "*(code **)(pcVar22 + 0x29c6b4)" * (cast_expression "(code **)(pcVar22 + 0x29c6b4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x29c6b4)" ( (binary_expression "pcVar22 + 0x29c6b4" identifier + number_literal) ))))) )) (argument_list "(uVar20,iVar3,0)" ( identifier , identifier , number_literal )))) ;) (if_statement "if (iVar4 != 0) {\n                  iVar15 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c120))(uVar20);\n                  uVar20 = *(undefined4 *)(iVar16 + -0x5088);\n                  piVar6[iVar13] = iVar4;\n                  iVar5 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c37c))(uVar20);\n                  iVar13 = iVar15;\n                  piVar2 = piVar6 + iVar5;\n                  if (iVar4 == 0) break;\n                  goto LAB_0010d0bc;\n                }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n                  iVar15 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c120))(uVar20);\n                  uVar20 = *(undefined4 *)(iVar16 + -0x5088);\n                  piVar6[iVar13] = iVar4;\n                  iVar5 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c37c))(uVar20);\n                  iVar13 = iVar15;\n                  piVar2 = piVar6 + iVar5;\n                  if (iVar4 == 0) break;\n                  goto LAB_0010d0bc;\n                }" { (expression_statement "iVar15 = iVar13 + 1;" (assignment_expression "iVar15 = iVar13 + 1" identifier = (binary_expression "iVar13 + 1" identifier + number_literal)) ;) (expression_statement "iVar4 = (**(code **)(pcVar22 + 0x29c120))(uVar20);" (assignment_expression "iVar4 = (**(code **)(pcVar22 + 0x29c120))(uVar20)" identifier = (call_expression "(**(code **)(pcVar22 + 0x29c120))(uVar20)" (parenthesized_expression "(**(code **)(pcVar22 + 0x29c120))" ( (pointer_expression "**(code **)(pcVar22 + 0x29c120)" * (pointer_expression "*(code **)(pcVar22 + 0x29c120)" * (cast_expression "(code **)(pcVar22 + 0x29c120)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x29c120)" ( (binary_expression "pcVar22 + 0x29c120" identifier + number_literal) ))))) )) (argument_list "(uVar20)" ( identifier )))) ;) (expression_statement "uVar20 = *(undefined4 *)(iVar16 + -0x5088);" (assignment_expression "uVar20 = *(undefined4 *)(iVar16 + -0x5088)" identifier = (pointer_expression "*(undefined4 *)(iVar16 + -0x5088)" * (cast_expression "(undefined4 *)(iVar16 + -0x5088)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + -0x5088)" ( (binary_expression "iVar16 + -0x5088" identifier + number_literal) ))))) ;) (expression_statement "piVar6[iVar13] = iVar4;" (assignment_expression "piVar6[iVar13] = iVar4" (subscript_expression "piVar6[iVar13]" identifier [ identifier ]) = identifier) ;) (expression_statement "iVar5 = iVar13 + 1;" (assignment_expression "iVar5 = iVar13 + 1" identifier = (binary_expression "iVar13 + 1" identifier + number_literal)) ;) (expression_statement "iVar4 = (**(code **)(pcVar22 + 0x29c37c))(uVar20);" (assignment_expression "iVar4 = (**(code **)(pcVar22 + 0x29c37c))(uVar20)" identifier = (call_expression "(**(code **)(pcVar22 + 0x29c37c))(uVar20)" (parenthesized_expression "(**(code **)(pcVar22 + 0x29c37c))" ( (pointer_expression "**(code **)(pcVar22 + 0x29c37c)" * (pointer_expression "*(code **)(pcVar22 + 0x29c37c)" * (cast_expression "(code **)(pcVar22 + 0x29c37c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x29c37c)" ( (binary_expression "pcVar22 + 0x29c37c" identifier + number_literal) ))))) )) (argument_list "(uVar20)" ( identifier )))) ;) (expression_statement "iVar13 = iVar15;" (assignment_expression "iVar13 = iVar15" identifier = identifier) ;) (expression_statement "piVar2 = piVar6 + iVar5;" (assignment_expression "piVar2 = piVar6 + iVar5" identifier = (binary_expression "piVar6 + iVar5" identifier + identifier)) ;) (if_statement "if (iVar4 == 0) break;" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (goto_statement "goto LAB_0010d0bc;" goto statement_identifier ;) })) })) (expression_statement "iVar4 = (**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088));" (assignment_expression "iVar4 = (**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088))" identifier = (call_expression "(**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088))" (parenthesized_expression "(**(code **)(pcVar22 + 0x29c37c))" ( (pointer_expression "**(code **)(pcVar22 + 0x29c37c)" * (pointer_expression "*(code **)(pcVar22 + 0x29c37c)" * (cast_expression "(code **)(pcVar22 + 0x29c37c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x29c37c)" ( (binary_expression "pcVar22 + 0x29c37c" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar16 + -0x5088))" ( (pointer_expression "*(undefined4 *)(iVar16 + -0x5088)" * (cast_expression "(undefined4 *)(iVar16 + -0x5088)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + -0x5088)" ( (binary_expression "iVar16 + -0x5088" identifier + number_literal) )))) )))) ;) (expression_statement "piVar2 = piVar6 + iVar13;" (assignment_expression "piVar2 = piVar6 + iVar13" identifier = (binary_expression "piVar6 + iVar13" identifier + identifier)) ;) }) while (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) ;)) }))) (expression_statement "(**(code **)(pcVar22 + 0x29c3ec))(*(undefined4 *)(iVar1 + -0x5090));" (call_expression "(**(code **)(pcVar22 + 0x29c3ec))(*(undefined4 *)(iVar1 + -0x5090))" (parenthesized_expression "(**(code **)(pcVar22 + 0x29c3ec))" ( (pointer_expression "**(code **)(pcVar22 + 0x29c3ec)" * (pointer_expression "*(code **)(pcVar22 + 0x29c3ec)" * (cast_expression "(code **)(pcVar22 + 0x29c3ec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x29c3ec)" ( (binary_expression "pcVar22 + 0x29c3ec" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar1 + -0x5090))" ( (pointer_expression "*(undefined4 *)(iVar1 + -0x5090)" * (cast_expression "(undefined4 *)(iVar1 + -0x5090)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + -0x5090)" ( (binary_expression "iVar1 + -0x5090" identifier + number_literal) )))) ))) ;) (expression_statement "(**(code **)(pcVar22 + 0x29c940))(piVar6,iVar13,4,*(int *)(pcVar22 + 0x29bb04) + -0x578c);" (call_expression "(**(code **)(pcVar22 + 0x29c940))(piVar6,iVar13,4,*(int *)(pcVar22 + 0x29bb04) + -0x578c)" (parenthesized_expression "(**(code **)(pcVar22 + 0x29c940))" ( (pointer_expression "**(code **)(pcVar22 + 0x29c940)" * (pointer_expression "*(code **)(pcVar22 + 0x29c940)" * (cast_expression "(code **)(pcVar22 + 0x29c940)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x29c940)" ( (binary_expression "pcVar22 + 0x29c940" identifier + number_literal) ))))) )) (argument_list "(piVar6,iVar13,4,*(int *)(pcVar22 + 0x29bb04) + -0x578c)" ( identifier , identifier , number_literal , (binary_expression "*(int *)(pcVar22 + 0x29bb04) + -0x578c" (pointer_expression "*(int *)(pcVar22 + 0x29bb04)" * (cast_expression "(int *)(pcVar22 + 0x29bb04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x29bb04)" ( (binary_expression "pcVar22 + 0x29bb04" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "*piVar11 = iVar13;" (assignment_expression "*piVar11 = iVar13" (pointer_expression "*piVar11" * identifier) = identifier) ;) (expression_statement "*piVar2 = 0;" (assignment_expression "*piVar2 = 0" (pointer_expression "*piVar2" * identifier) = number_literal) ;) (return_statement "return piVar6;" return identifier ;) })) })) (return_statement "return (int *)0x0;" return (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) }))) (expression_statement "pcVar23 = *(code **)(pcVar22 + 0x29c674);" (assignment_expression "pcVar23 = *(code **)(pcVar22 + 0x29c674)" identifier = (pointer_expression "*(code **)(pcVar22 + 0x29c674)" * (cast_expression "(code **)(pcVar22 + 0x29c674)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar22 + 0x29c674)" ( (binary_expression "pcVar22 + 0x29c674" identifier + number_literal) ))))) ;) (expression_statement "iVar3 = *(int *)(pcVar22 + 0x29b950) + -0x3e64;" (assignment_expression "iVar3 = *(int *)(pcVar22 + 0x29b950) + -0x3e64" identifier = (binary_expression "*(int *)(pcVar22 + 0x29b950) + -0x3e64" (pointer_expression "*(int *)(pcVar22 + 0x29b950)" * (cast_expression "(int *)(pcVar22 + 0x29b950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x29b950)" ( (binary_expression "pcVar22 + 0x29b950" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar23)(iVar3,iVar1 + -0x40d0,0x252,*(int *)(pcVar22 + 0x29b950) + -0x3bec);" (call_expression "(*pcVar23)(iVar3,iVar1 + -0x40d0,0x252,*(int *)(pcVar22 + 0x29b950) + -0x3bec)" (parenthesized_expression "(*pcVar23)" ( (pointer_expression "*pcVar23" * identifier) )) (argument_list "(iVar3,iVar1 + -0x40d0,0x252,*(int *)(pcVar22 + 0x29b950) + -0x3bec)" ( identifier , (binary_expression "iVar1 + -0x40d0" identifier + number_literal) , number_literal , (binary_expression "*(int *)(pcVar22 + 0x29b950) + -0x3bec" (pointer_expression "*(int *)(pcVar22 + 0x29b950)" * (cast_expression "(int *)(pcVar22 + 0x29b950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x29b950)" ( (binary_expression "pcVar22 + 0x29b950" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "iVar4 = *(int *)(pcVar23 + 0x29b6b0);" (assignment_expression "iVar4 = *(int *)(pcVar23 + 0x29b6b0)" identifier = (pointer_expression "*(int *)(pcVar23 + 0x29b6b0)" * (cast_expression "(int *)(pcVar23 + 0x29b6b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar23 + 0x29b6b0)" ( (binary_expression "pcVar23 + 0x29b6b0" identifier + number_literal) ))))) ;) (expression_statement "iVar16 = *(int *)(pcVar23 + 0x29b6b0);" (assignment_expression "iVar16 = *(int *)(pcVar23 + 0x29b6b0)" identifier = (pointer_expression "*(int *)(pcVar23 + 0x29b6b0)" * (cast_expression "(int *)(pcVar23 + 0x29b6b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar23 + 0x29b6b0)" ( (binary_expression "pcVar23 + 0x29b6b0" identifier + number_literal) ))))) ;) (expression_statement "uVar20 = (**(code **)(pcVar23 + 0x29bcd0))();" (assignment_expression "uVar20 = (**(code **)(pcVar23 + 0x29bcd0))()" identifier = (call_expression "(**(code **)(pcVar23 + 0x29bcd0))()" (parenthesized_expression "(**(code **)(pcVar23 + 0x29bcd0))" ( (pointer_expression "**(code **)(pcVar23 + 0x29bcd0)" * (pointer_expression "*(code **)(pcVar23 + 0x29bcd0)" * (cast_expression "(code **)(pcVar23 + 0x29bcd0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x29bcd0)" ( (binary_expression "pcVar23 + 0x29bcd0" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "FUN_0010b2dc(uVar20);" (call_expression "FUN_0010b2dc(uVar20)" identifier (argument_list "(uVar20)" ( identifier ))) ;) (expression_statement "(**(code **)(pcVar23 + 0x29bb34))(uVar20);" (call_expression "(**(code **)(pcVar23 + 0x29bb34))(uVar20)" (parenthesized_expression "(**(code **)(pcVar23 + 0x29bb34))" ( (pointer_expression "**(code **)(pcVar23 + 0x29bb34)" * (pointer_expression "*(code **)(pcVar23 + 0x29bb34)" * (cast_expression "(code **)(pcVar23 + 0x29bb34)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x29bb34)" ( (binary_expression "pcVar23 + 0x29bb34" identifier + number_literal) ))))) )) (argument_list "(uVar20)" ( identifier ))) ;) (expression_statement "iVar1 = (**(code **)(pcVar23 + 0x29c478))(0x2c,1,iVar3);" (assignment_expression "iVar1 = (**(code **)(pcVar23 + 0x29c478))(0x2c,1,iVar3)" identifier = (call_expression "(**(code **)(pcVar23 + 0x29c478))(0x2c,1,iVar3)" (parenthesized_expression "(**(code **)(pcVar23 + 0x29c478))" ( (pointer_expression "**(code **)(pcVar23 + 0x29c478)" * (pointer_expression "*(code **)(pcVar23 + 0x29c478)" * (cast_expression "(code **)(pcVar23 + 0x29c478)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x29c478)" ( (binary_expression "pcVar23 + 0x29c478" identifier + number_literal) ))))) )) (argument_list "(0x2c,1,iVar3)" ( number_literal , number_literal , identifier )))) ;) (expression_statement "(**(code **)(pcVar23 + 0x29c4cc))(*(undefined4 *)(iVar4 + -0x5090));" (call_expression "(**(code **)(pcVar23 + 0x29c4cc))(*(undefined4 *)(iVar4 + -0x5090))" (parenthesized_expression "(**(code **)(pcVar23 + 0x29c4cc))" ( (pointer_expression "**(code **)(pcVar23 + 0x29c4cc)" * (pointer_expression "*(code **)(pcVar23 + 0x29c4cc)" * (cast_expression "(code **)(pcVar23 + 0x29c4cc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x29c4cc)" ( (binary_expression "pcVar23 + 0x29c4cc" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar4 + -0x5090))" ( (pointer_expression "*(undefined4 *)(iVar4 + -0x5090)" * (cast_expression "(undefined4 *)(iVar4 + -0x5090)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + -0x5090)" ( (binary_expression "iVar4 + -0x5090" identifier + number_literal) )))) ))) ;) (expression_statement "piVar6 = (int *)(**(code **)(pcVar23 + 0x29bc6c))(*(undefined4 *)(iVar16 + -0x5088),0);" (assignment_expression "piVar6 = (int *)(**(code **)(pcVar23 + 0x29bc6c))(*(undefined4 *)(iVar16 + -0x5088),0)" identifier = (cast_expression "(int *)(**(code **)(pcVar23 + 0x29bc6c))(*(undefined4 *)(iVar16 + -0x5088),0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar23 + 0x29bc6c))(*(undefined4 *)(iVar16 + -0x5088),0)" (parenthesized_expression "(**(code **)(pcVar23 + 0x29bc6c))" ( (pointer_expression "**(code **)(pcVar23 + 0x29bc6c)" * (pointer_expression "*(code **)(pcVar23 + 0x29bc6c)" * (cast_expression "(code **)(pcVar23 + 0x29bc6c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x29bc6c)" ( (binary_expression "pcVar23 + 0x29bc6c" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar16 + -0x5088),0)" ( (pointer_expression "*(undefined4 *)(iVar16 + -0x5088)" * (cast_expression "(undefined4 *)(iVar16 + -0x5088)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + -0x5088)" ( (binary_expression "iVar16 + -0x5088" identifier + number_literal) )))) , number_literal ))))) ;) (if_statement "if (iVar1 == -1) {\n    pcVar22 = *(code **)(pcVar23 + 0x29c210);\n    uVar20 = *(undefined4 *)(iVar16 + -0x5088);\n    *piVar6 = 0;\n    iVar1 = (*pcVar22)(uVar20);\n  }\n  else {\n    pcVar22 = *(code **)(pcVar23 + 0x29c210);\n    uVar20 = *(undefined4 *)(iVar16 + -0x5088);\n    *piVar6 = iVar1;\n    iVar1 = (*pcVar22)(uVar20);\n  }" if (parenthesized_expression "(iVar1 == -1)" ( (binary_expression "iVar1 == -1" identifier == number_literal) )) (compound_statement "{\n    pcVar22 = *(code **)(pcVar23 + 0x29c210);\n    uVar20 = *(undefined4 *)(iVar16 + -0x5088);\n    *piVar6 = 0;\n    iVar1 = (*pcVar22)(uVar20);\n  }" { (expression_statement "pcVar22 = *(code **)(pcVar23 + 0x29c210);" (assignment_expression "pcVar22 = *(code **)(pcVar23 + 0x29c210)" identifier = (pointer_expression "*(code **)(pcVar23 + 0x29c210)" * (cast_expression "(code **)(pcVar23 + 0x29c210)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x29c210)" ( (binary_expression "pcVar23 + 0x29c210" identifier + number_literal) ))))) ;) (expression_statement "uVar20 = *(undefined4 *)(iVar16 + -0x5088);" (assignment_expression "uVar20 = *(undefined4 *)(iVar16 + -0x5088)" identifier = (pointer_expression "*(undefined4 *)(iVar16 + -0x5088)" * (cast_expression "(undefined4 *)(iVar16 + -0x5088)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + -0x5088)" ( (binary_expression "iVar16 + -0x5088" identifier + number_literal) ))))) ;) (expression_statement "*piVar6 = 0;" (assignment_expression "*piVar6 = 0" (pointer_expression "*piVar6" * identifier) = number_literal) ;) (expression_statement "iVar1 = (*pcVar22)(uVar20);" (assignment_expression "iVar1 = (*pcVar22)(uVar20)" identifier = (call_expression "(*pcVar22)(uVar20)" (parenthesized_expression "(*pcVar22)" ( (pointer_expression "*pcVar22" * identifier) )) (argument_list "(uVar20)" ( identifier )))) ;) }) (else_clause "else {\n    pcVar22 = *(code **)(pcVar23 + 0x29c210);\n    uVar20 = *(undefined4 *)(iVar16 + -0x5088);\n    *piVar6 = iVar1;\n    iVar1 = (*pcVar22)(uVar20);\n  }" else (compound_statement "{\n    pcVar22 = *(code **)(pcVar23 + 0x29c210);\n    uVar20 = *(undefined4 *)(iVar16 + -0x5088);\n    *piVar6 = iVar1;\n    iVar1 = (*pcVar22)(uVar20);\n  }" { (expression_statement "pcVar22 = *(code **)(pcVar23 + 0x29c210);" (assignment_expression "pcVar22 = *(code **)(pcVar23 + 0x29c210)" identifier = (pointer_expression "*(code **)(pcVar23 + 0x29c210)" * (cast_expression "(code **)(pcVar23 + 0x29c210)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x29c210)" ( (binary_expression "pcVar23 + 0x29c210" identifier + number_literal) ))))) ;) (expression_statement "uVar20 = *(undefined4 *)(iVar16 + -0x5088);" (assignment_expression "uVar20 = *(undefined4 *)(iVar16 + -0x5088)" identifier = (pointer_expression "*(undefined4 *)(iVar16 + -0x5088)" * (cast_expression "(undefined4 *)(iVar16 + -0x5088)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + -0x5088)" ( (binary_expression "iVar16 + -0x5088" identifier + number_literal) ))))) ;) (expression_statement "*piVar6 = iVar1;" (assignment_expression "*piVar6 = iVar1" (pointer_expression "*piVar6" * identifier) = identifier) ;) (expression_statement "iVar1 = (*pcVar22)(uVar20);" (assignment_expression "iVar1 = (*pcVar22)(uVar20)" identifier = (call_expression "(*pcVar22)(uVar20)" (parenthesized_expression "(*pcVar22)" ( (pointer_expression "*pcVar22" * identifier) )) (argument_list "(uVar20)" ( identifier )))) ;) }))) (if_statement "if (iVar1 == 0) {\n    (**(code **)(pcVar23 + 0x29c31c))(*(undefined4 *)(iVar16 + -0x5088));\n    piVar2 = (int *)(**(code **)(pcVar23 + 0x29c0f4))(*(undefined4 *)(iVar16 + -0x5088));\n    if (piVar2 == (int *)0x0) {\n      *(undefined4 *)(*(int *)(pcVar23 + 0x29b6b0) + -0x508c) = 0;\n    }\n    else {\n      *(uint *)(*(int *)(pcVar23 + 0x29b6b0) + -0x508c) = (uint)(*piVar2 != 0);\n    }\n  }\n  else {\n    *(undefined4 *)(*(int *)(pcVar23 + 0x29b6b0) + -0x508c) = 0;\n  }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n    (**(code **)(pcVar23 + 0x29c31c))(*(undefined4 *)(iVar16 + -0x5088));\n    piVar2 = (int *)(**(code **)(pcVar23 + 0x29c0f4))(*(undefined4 *)(iVar16 + -0x5088));\n    if (piVar2 == (int *)0x0) {\n      *(undefined4 *)(*(int *)(pcVar23 + 0x29b6b0) + -0x508c) = 0;\n    }\n    else {\n      *(uint *)(*(int *)(pcVar23 + 0x29b6b0) + -0x508c) = (uint)(*piVar2 != 0);\n    }\n  }" { (expression_statement "(**(code **)(pcVar23 + 0x29c31c))(*(undefined4 *)(iVar16 + -0x5088));" (call_expression "(**(code **)(pcVar23 + 0x29c31c))(*(undefined4 *)(iVar16 + -0x5088))" (parenthesized_expression "(**(code **)(pcVar23 + 0x29c31c))" ( (pointer_expression "**(code **)(pcVar23 + 0x29c31c)" * (pointer_expression "*(code **)(pcVar23 + 0x29c31c)" * (cast_expression "(code **)(pcVar23 + 0x29c31c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x29c31c)" ( (binary_expression "pcVar23 + 0x29c31c" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar16 + -0x5088))" ( (pointer_expression "*(undefined4 *)(iVar16 + -0x5088)" * (cast_expression "(undefined4 *)(iVar16 + -0x5088)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + -0x5088)" ( (binary_expression "iVar16 + -0x5088" identifier + number_literal) )))) ))) ;) (expression_statement "piVar2 = (int *)(**(code **)(pcVar23 + 0x29c0f4))(*(undefined4 *)(iVar16 + -0x5088));" (assignment_expression "piVar2 = (int *)(**(code **)(pcVar23 + 0x29c0f4))(*(undefined4 *)(iVar16 + -0x5088))" identifier = (cast_expression "(int *)(**(code **)(pcVar23 + 0x29c0f4))(*(undefined4 *)(iVar16 + -0x5088))" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar23 + 0x29c0f4))(*(undefined4 *)(iVar16 + -0x5088))" (parenthesized_expression "(**(code **)(pcVar23 + 0x29c0f4))" ( (pointer_expression "**(code **)(pcVar23 + 0x29c0f4)" * (pointer_expression "*(code **)(pcVar23 + 0x29c0f4)" * (cast_expression "(code **)(pcVar23 + 0x29c0f4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x29c0f4)" ( (binary_expression "pcVar23 + 0x29c0f4" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar16 + -0x5088))" ( (pointer_expression "*(undefined4 *)(iVar16 + -0x5088)" * (cast_expression "(undefined4 *)(iVar16 + -0x5088)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + -0x5088)" ( (binary_expression "iVar16 + -0x5088" identifier + number_literal) )))) ))))) ;) (if_statement "if (piVar2 == (int *)0x0) {\n      *(undefined4 *)(*(int *)(pcVar23 + 0x29b6b0) + -0x508c) = 0;\n    }\n    else {\n      *(uint *)(*(int *)(pcVar23 + 0x29b6b0) + -0x508c) = (uint)(*piVar2 != 0);\n    }" if (parenthesized_expression "(piVar2 == (int *)0x0)" ( (binary_expression "piVar2 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      *(undefined4 *)(*(int *)(pcVar23 + 0x29b6b0) + -0x508c) = 0;\n    }" { (expression_statement "*(undefined4 *)(*(int *)(pcVar23 + 0x29b6b0) + -0x508c) = 0;" (assignment_expression "*(undefined4 *)(*(int *)(pcVar23 + 0x29b6b0) + -0x508c) = 0" (pointer_expression "*(undefined4 *)(*(int *)(pcVar23 + 0x29b6b0) + -0x508c)" * (cast_expression "(undefined4 *)(*(int *)(pcVar23 + 0x29b6b0) + -0x508c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar23 + 0x29b6b0) + -0x508c)" ( (binary_expression "*(int *)(pcVar23 + 0x29b6b0) + -0x508c" (pointer_expression "*(int *)(pcVar23 + 0x29b6b0)" * (cast_expression "(int *)(pcVar23 + 0x29b6b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar23 + 0x29b6b0)" ( (binary_expression "pcVar23 + 0x29b6b0" identifier + number_literal) )))) + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n      *(uint *)(*(int *)(pcVar23 + 0x29b6b0) + -0x508c) = (uint)(*piVar2 != 0);\n    }" else (compound_statement "{\n      *(uint *)(*(int *)(pcVar23 + 0x29b6b0) + -0x508c) = (uint)(*piVar2 != 0);\n    }" { (expression_statement "*(uint *)(*(int *)(pcVar23 + 0x29b6b0) + -0x508c) = (uint)(*piVar2 != 0);" (assignment_expression "*(uint *)(*(int *)(pcVar23 + 0x29b6b0) + -0x508c) = (uint)(*piVar2 != 0)" (pointer_expression "*(uint *)(*(int *)(pcVar23 + 0x29b6b0) + -0x508c)" * (cast_expression "(uint *)(*(int *)(pcVar23 + 0x29b6b0) + -0x508c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar23 + 0x29b6b0) + -0x508c)" ( (binary_expression "*(int *)(pcVar23 + 0x29b6b0) + -0x508c" (pointer_expression "*(int *)(pcVar23 + 0x29b6b0)" * (cast_expression "(int *)(pcVar23 + 0x29b6b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar23 + 0x29b6b0)" ( (binary_expression "pcVar23 + 0x29b6b0" identifier + number_literal) )))) + number_literal) )))) = (call_expression "(uint)(*piVar2 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*piVar2 != 0)" ( (binary_expression "*piVar2 != 0" (pointer_expression "*piVar2" * identifier) != number_literal) )))) ;) }))) }) (else_clause "else {\n    *(undefined4 *)(*(int *)(pcVar23 + 0x29b6b0) + -0x508c) = 0;\n  }" else (compound_statement "{\n    *(undefined4 *)(*(int *)(pcVar23 + 0x29b6b0) + -0x508c) = 0;\n  }" { (expression_statement "*(undefined4 *)(*(int *)(pcVar23 + 0x29b6b0) + -0x508c) = 0;" (assignment_expression "*(undefined4 *)(*(int *)(pcVar23 + 0x29b6b0) + -0x508c) = 0" (pointer_expression "*(undefined4 *)(*(int *)(pcVar23 + 0x29b6b0) + -0x508c)" * (cast_expression "(undefined4 *)(*(int *)(pcVar23 + 0x29b6b0) + -0x508c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar23 + 0x29b6b0) + -0x508c)" ( (binary_expression "*(int *)(pcVar23 + 0x29b6b0) + -0x508c" (pointer_expression "*(int *)(pcVar23 + 0x29b6b0)" * (cast_expression "(int *)(pcVar23 + 0x29b6b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar23 + 0x29b6b0)" ( (binary_expression "pcVar23 + 0x29b6b0" identifier + number_literal) )))) + number_literal) )))) = number_literal) ;) }))) (expression_statement "(**(code **)(pcVar23 + 0x29c164))(*(undefined4 *)(iVar4 + -0x5090));" (call_expression "(**(code **)(pcVar23 + 0x29c164))(*(undefined4 *)(iVar4 + -0x5090))" (parenthesized_expression "(**(code **)(pcVar23 + 0x29c164))" ( (pointer_expression "**(code **)(pcVar23 + 0x29c164)" * (pointer_expression "*(code **)(pcVar23 + 0x29c164)" * (cast_expression "(code **)(pcVar23 + 0x29c164)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x29c164)" ( (binary_expression "pcVar23 + 0x29c164" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar4 + -0x5090))" ( (pointer_expression "*(undefined4 *)(iVar4 + -0x5090)" * (cast_expression "(undefined4 *)(iVar4 + -0x5090)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + -0x5090)" ( (binary_expression "iVar4 + -0x5090" identifier + number_literal) )))) ))) ;) (return_statement "return (int *)*piVar6;" return (cast_expression "(int *)*piVar6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar6" * identifier)) ;) })))
(translation_unit (function_definition TYPE (pointer_declarator * (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) )))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (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 (pointer_declarator * 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) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))))) ;) (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 (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , IDENT , IDENT ))))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) )) (compound_statement { (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (expression_statement (assignment_expression IDENT = (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 IDENT + LIT) , LIT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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 ( (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 ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (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 ( (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 ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT , LIT )))) , (binary_expression IDENT != LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + IDENT) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) }) 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 ( (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 ( IDENT , IDENT , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (return_statement return IDENT ;) })) })) (return_statement return (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (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) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (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 = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (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 , IDENT )))) , (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT != LIT))) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) })) (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 *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression LIT << (parenthesized_expression ( (binary_expression IDENT & LIT) ))) & (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 , (binary_expression IDENT + LIT) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (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 (pointer_expression * IDENT) == (char_literal ' escape_sequence ')) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (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 , (binary_expression IDENT + LIT) ))) ;) }) 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 , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * 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) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (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 , (binary_expression IDENT + LIT) ))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) })) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_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 ( IDENT , (binary_expression IDENT + LIT) , (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) , (call_expression IDENT (argument_list ( IDENT , LIT ))) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) , (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) , (call_expression IDENT (argument_list ( IDENT , LIT ))) ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( 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 * (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 = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT < IDENT) )) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * IDENT)) )) (compound_statement { (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) }) (else_clause else (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 (call_expression (parenthesized_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 (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) , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (expression_statement (assignment_expression IDENT = (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 IDENT + LIT) , LIT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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 ( (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 ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + 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 = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT , LIT )))) ;) (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 = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ IDENT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (goto_statement goto statement_identifier ;) })) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + 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 ( (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 ( IDENT , IDENT , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (return_statement return IDENT ;) })) })) (return_statement return (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) ;) })) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , (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 = (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 = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , LIT , IDENT )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , LIT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT )))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (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 *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (pointer_expression * IDENT) != LIT) )))) ;) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) = LIT) ;) }))) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (return_statement return (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)) ;) })))
(function_definition "int * LogMagickEvent(undefined4 param_1,int *param_2,undefined4 param_3,undefined4 param_4,\n                    undefined4 param_5)\n\n{\n  int iVar1;\n  int *piVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  int *piVar6;\n  int iVar7;\n  uint uVar8;\n  int iVar9;\n  undefined *puVar10;\n  int *piVar11;\n  undefined *puVar12;\n  int iVar13;\n  int *piVar14;\n  int iVar15;\n  int iVar16;\n  int iVar17;\n  char *pcVar18;\n  int unaff_s6;\n  int iVar19;\n  int *unaff_s7;\n  undefined4 uVar20;\n  undefined *puVar21;\n  code *pcVar22;\n  code *pcVar23;\n  double dVar24;\n  double dVar25;\n  int iStack_d0;\n  int iStack_cc;\n  undefined *puStack_c8;\n  undefined4 uStack_c4;\n  int *piStack_c0;\n  undefined4 uStack_bc;\n  undefined4 uStack_b8;\n  undefined4 uStack_b4;\n  int iStack_b0;\n  int *piStack_ac;\n  \n  puVar12 = PTR___stack_chk_guard_003a9230;\n  iVar1 = *(int *)PTR___stack_chk_guard_003a9230;\n  piVar6 = param_2;\n  uVar20 = param_3;\n  piVar2 = (int *)(*(code *)PTR_IsEventLogging_003a97a8)();\n  if (piVar2 != (int *)0x0) {\n    piVar6 = param_2;\n    uVar20 = param_3;\n    piVar2 = (int *)(*(code *)PTR_LogMagickEventList_003a9148)(param_1,param_2,param_3,param_4);\n  }\n  if (iVar1 == *(int *)puVar12) {\n    return piVar2;\n  }\n  puVar21 = PTR___stack_chk_fail_003a9064;\n  (*(code *)PTR___stack_chk_fail_003a9064)();\n  if (iVar1 == 0) {\n    (**(code **)(puVar21 + 0x29ccac))\n              (*(int *)(puVar21 + 0x29bf84) + 0x45e0,*(int *)(puVar21 + 0x29bf88) + -0x40d0,499,\n               *(int *)(puVar21 + 0x29bf88) + -0x3bd0);\n  }\n  else {\n    puVar12 = *(undefined **)(puVar21 + 0x29bf88);\n    (**(code **)(puVar21 + 0x29c884))\n              (0x8000,puVar12 + -0x40d0,*(int *)(puVar21 + 0x29bf88) + -0x3be0,500);\n    param_1 = uVar20;\n    unaff_s6 = iVar1;\n    unaff_s7 = piVar6;\n    if (piVar6 != (int *)0x0) {\n      *piVar6 = 0;\n      iVar3 = FUN_0010b2dc(uVar20);\n      if (iVar3 != 0) {\n        iVar16 = *(int *)(puVar21 + 0x29bf70);\n        iVar3 = (**(code **)(puVar21 + 0x29ca98))(*(undefined4 *)(iVar16 + -0x5088));\n        piVar2 = (int *)(**(code **)(puVar21 + 0x29cbb0))(iVar3 + 1,4);\n        if (piVar2 != (int *)0x0) {\n          iVar3 = *(int *)(puVar21 + 0x29bf70);\n          (**(code **)(puVar21 + 0x29cd8c))(*(undefined4 *)(iVar3 + -0x5090));\n          (**(code **)(puVar21 + 0x29cbdc))(*(undefined4 *)(iVar16 + -0x5088));\n          iVar4 = (**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088));\n          if (iVar4 == 0) {\n            iVar13 = 0;\n            piVar11 = piVar2;\n          }\n          else {\n            iVar13 = 0;\n            do {\n              piVar11 = piVar2 + iVar13;\n              if ((*(int *)(iVar4 + 0x2c) == 0) &&\n                 (iVar5 = (**(code **)(puVar21 + 0x29ccec))(*(undefined4 *)(iVar4 + 0xc),iVar1,0),\n                 iVar5 != 0)) {\n                *piVar11 = iVar4;\n                piVar11 = piVar2 + iVar13 + 1;\n                iVar13 = iVar13 + 1;\n              }\n              iVar4 = (**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088));\n            } while (iVar4 != 0);\n          }\n          (**(code **)(puVar21 + 0x29ca24))(*(undefined4 *)(iVar3 + -0x5090));\n          (**(code **)(puVar21 + 0x29cf78))(piVar2,iVar13,4,*(int *)(puVar21 + 0x29c13c) + -0x5800);\n          *piVar6 = iVar13;\n          *piVar11 = 0;\n          return piVar2;\n        }\n      }\n      return (int *)0x0;\n    }\n  }\n  puVar10 = puVar12 + -0x40d0;\n  pcVar22 = *(code **)(puVar21 + 0x29ccac);\n  iVar1 = *(int *)(puVar21 + 0x29bf88) + -0x3e64;\n  (*pcVar22)(iVar1,puVar10,0x1f5,*(int *)(puVar21 + 0x29bf88) + -0x3bd0);\n  piVar6 = *(int **)(pcVar22 + 0x29c670);\n  uStack_b4 = param_5;\n  iStack_cc = *piVar6;\n  if (iVar1 == 0) {\n    iVar1 = **(int **)(pcVar22 + 0x29c324);\n  }\n  piVar11 = &iStack_d0;\n  puStack_c8 = puVar12;\n  uStack_c4 = param_1;\n  piStack_c0 = param_2;\n  uStack_bc = param_3;\n  uStack_b8 = param_4;\n  iStack_b0 = unaff_s6;\n  piStack_ac = unaff_s7;\n  piVar2 = (int *)(**(code **)(pcVar22 + 0x29cc48))(*(int *)(pcVar22 + 0x29bd28) + 0x6c9c);\n  if (piVar2 == (int *)0x0) {\n    piVar2 = (int *)0x0;\n  }\n  else {\n    iVar3 = *(int *)(pcVar22 + 0x29bd20);\n    if (0 < iStack_d0) {\n      iVar17 = 0;\n      iVar19 = *(int *)(pcVar22 + 0x29bd8c);\n      iVar4 = 0;\n      iVar15 = *(int *)(pcVar22 + 0x29bd90);\n      dVar25 = *(double *)(iVar3 + 0x1418);\n      iVar13 = *(int *)(pcVar22 + 0x29bd24);\n      iVar5 = *(int *)(pcVar22 + 0x29bd24);\n      iVar16 = iStack_d0;\n      piVar14 = piVar2;\n      do {\n        iVar9 = *piVar14;\n        piVar11 = *(int **)(iVar9 + 0x2c);\n        if (piVar11 == (int *)0x0) {\n          iVar16 = *(int *)(iVar9 + 8);\n          if ((iVar4 == 0) ||\n             (iVar7 = (**(code **)(pcVar22 + 0x29c550))(iVar4,iVar16), iVar4 = iVar16, iVar7 != 0))\n          {\n            if (iVar16 != 0) {\n              (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4620,iVar16);\n              iVar9 = *piVar14;\n            }\n            iVar16 = 0;\n            uVar8 = 0;\n            pcVar18 = (char *)(*(int *)(pcVar22 + 0x29bd24) + -0x3b94);\n            while( true ) {\n              if ((1 << (uVar8 & 0x1f) & *(uint *)(iVar9 + 4)) != 0) {\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar19 + 0x30e8,pcVar18);\n                iVar4 = (**(code **)(pcVar22 + 0x29c778))(pcVar18);\n                iVar16 = iVar16 + iVar4;\n              }\n              if (uVar8 == 0x1f) break;\n              pcVar18 = pcVar18 + 0x10;\n              uVar8 = uVar8 + 1;\n              if (*pcVar18 == '\0') break;\n              iVar9 = *piVar14;\n            }\n            if (iVar16 < 0xd) {\n              do {\n                iVar16 = iVar16 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              } while (iVar16 != 0xd);\n            }\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x3e3c);\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4644);\n            iVar9 = *piVar14;\n            iVar4 = *(int *)(iVar9 + 8);\n          }\n          if (*(int *)(iVar9 + 0x10) != 0) {\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x62ac);\n            iVar9 = *piVar14;\n            uVar8 = (**(code **)(pcVar22 + 0x29c778))(*(undefined4 *)(iVar9 + 0x10));\n            if (uVar8 < 0x11) {\n              do {\n                uVar8 = uVar8 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              } while (uVar8 != 0x11);\n              iVar9 = *piVar14;\n            }\n          }\n          dVar24 = (double)*(int *)(iVar9 + 0x18);\n          if (*(int *)(iVar9 + 0x18) < 0) {\n            dVar24 = dVar24 + *(double *)(iVar3 + 0x1418);\n          }\n          (**(code **)(pcVar22 + 0x29c984))\n                    (iVar1,iVar13 + -0x3e1c,(int)((ulonglong)dVar24 >> 0x20),SUB84(dVar24,0));\n          dVar24 = (double)*(int *)(*piVar14 + 0x1c);\n          if (*(int *)(*piVar14 + 0x1c) < 0) {\n            dVar24 = dVar24 + dVar25;\n          }\n          (**(code **)(pcVar22 + 0x29c984))\n                    (iVar1,iVar5 + -0x3e14,(int)((ulonglong)dVar24 >> 0x20),SUB84(dVar24,0));\n          puVar10 = *(undefined **)(*piVar14 + 0x14);\n          if (puVar10 != (undefined *)0x0) {\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x62ac);\n          }\n          piVar11 = (int *)(*(int *)(pcVar22 + 0x29bd2c) + -0x4bdc);\n          (**(code **)(pcVar22 + 0x29c984))(iVar1);\n          iVar16 = iStack_d0;\n        }\n        iVar17 = iVar17 + 1;\n        piVar14 = piVar14 + 1;\n      } while (iVar17 < iVar16);\n    }\n    (**(code **)(pcVar22 + 0x29c8cc))(iVar1);\n    (**(code **)(pcVar22 + 0x29c400))(piVar2);\n    piVar2 = (int *)0x1;\n  }\n  if (iStack_cc == *piVar6) {\n    return piVar2;\n  }\n  pcVar22 = *(code **)(pcVar22 + 0x29c4a4);\n  iVar3 = iStack_cc;\n  (*pcVar22)();\n  if (iVar3 == 0) {\n    (**(code **)(pcVar22 + 0x29c674))\n              (*(int *)(pcVar22 + 0x29b94c) + 0x45e0,*(int *)(pcVar22 + 0x29b950) + -0x40d0,0x250,\n               *(int *)(pcVar22 + 0x29b950) + -0x3bec);\n  }\n  else {\n    iVar1 = *(int *)(pcVar22 + 0x29b950);\n    (**(code **)(pcVar22 + 0x29c24c))\n              (0x8000,iVar1 + -0x40d0,*(int *)(pcVar22 + 0x29b950) + -0x3bf8,0x251,\n               *(int *)(pcVar22 + 0x29b950) + -0x62ac,iVar3);\n    if (piVar11 != (int *)0x0) {\n      *piVar11 = 0;\n      iVar1 = FUN_0010b2dc(puVar10);\n      if (iVar1 != 0) {\n        iVar16 = *(int *)(pcVar22 + 0x29b938);\n        iVar1 = (**(code **)(pcVar22 + 0x29c460))(*(undefined4 *)(iVar16 + -0x5088));\n        piVar6 = (int *)(**(code **)(pcVar22 + 0x29c578))(iVar1 + 1,4);\n        if (piVar6 != (int *)0x0) {\n          iVar1 = *(int *)(pcVar22 + 0x29b938);\n          (**(code **)(pcVar22 + 0x29c754))(*(undefined4 *)(iVar1 + -0x5090));\n          (**(code **)(pcVar22 + 0x29c5a4))(*(undefined4 *)(iVar16 + -0x5088));\n          iVar4 = (**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088));\n          if (iVar4 == 0) {\n            iVar13 = 0;\n            piVar2 = piVar6;\n          }\n          else {\n            iVar13 = 0;\nLAB_0010d0bc:\n            do {\n              if (*(int *)(iVar4 + 0x2c) == 0) {\n                uVar20 = *(undefined4 *)(iVar4 + 0xc);\n                iVar4 = (**(code **)(pcVar22 + 0x29c6b4))(uVar20,iVar3,0);\n                if (iVar4 != 0) {\n                  iVar15 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c120))(uVar20);\n                  uVar20 = *(undefined4 *)(iVar16 + -0x5088);\n                  piVar6[iVar13] = iVar4;\n                  iVar5 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c37c))(uVar20);\n                  iVar13 = iVar15;\n                  piVar2 = piVar6 + iVar5;\n                  if (iVar4 == 0) break;\n                  goto LAB_0010d0bc;\n                }\n              }\n              iVar4 = (**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088));\n              piVar2 = piVar6 + iVar13;\n            } while (iVar4 != 0);\n          }\n          (**(code **)(pcVar22 + 0x29c3ec))(*(undefined4 *)(iVar1 + -0x5090));\n          (**(code **)(pcVar22 + 0x29c940))(piVar6,iVar13,4,*(int *)(pcVar22 + 0x29bb04) + -0x578c);\n          *piVar11 = iVar13;\n          *piVar2 = 0;\n          return piVar6;\n        }\n      }\n      return (int *)0x0;\n    }\n  }\n  pcVar23 = *(code **)(pcVar22 + 0x29c674);\n  iVar3 = *(int *)(pcVar22 + 0x29b950) + -0x3e64;\n  (*pcVar23)(iVar3,iVar1 + -0x40d0,0x252,*(int *)(pcVar22 + 0x29b950) + -0x3bec);\n  iVar4 = *(int *)(pcVar23 + 0x29b6b0);\n  iVar16 = *(int *)(pcVar23 + 0x29b6b0);\n  uVar20 = (**(code **)(pcVar23 + 0x29bcd0))();\n  FUN_0010b2dc(uVar20);\n  (**(code **)(pcVar23 + 0x29bb34))(uVar20);\n  iVar1 = (**(code **)(pcVar23 + 0x29c478))(0x2c,1,iVar3);\n  (**(code **)(pcVar23 + 0x29c4cc))(*(undefined4 *)(iVar4 + -0x5090));\n  piVar6 = (int *)(**(code **)(pcVar23 + 0x29bc6c))(*(undefined4 *)(iVar16 + -0x5088),0);\n  if (iVar1 == -1) {\n    pcVar22 = *(code **)(pcVar23 + 0x29c210);\n    uVar20 = *(undefined4 *)(iVar16 + -0x5088);\n    *piVar6 = 0;\n    iVar1 = (*pcVar22)(uVar20);\n  }\n  else {\n    pcVar22 = *(code **)(pcVar23 + 0x29c210);\n    uVar20 = *(undefined4 *)(iVar16 + -0x5088);\n    *piVar6 = iVar1;\n    iVar1 = (*pcVar22)(uVar20);\n  }\n  if (iVar1 == 0) {\n    (**(code **)(pcVar23 + 0x29c31c))(*(undefined4 *)(iVar16 + -0x5088));\n    piVar2 = (int *)(**(code **)(pcVar23 + 0x29c0f4))(*(undefined4 *)(iVar16 + -0x5088));\n    if (piVar2 == (int *)0x0) {\n      *(undefined4 *)(*(int *)(pcVar23 + 0x29b6b0) + -0x508c) = 0;\n    }\n    else {\n      *(uint *)(*(int *)(pcVar23 + 0x29b6b0) + -0x508c) = (uint)(*piVar2 != 0);\n    }\n  }\n  else {\n    *(undefined4 *)(*(int *)(pcVar23 + 0x29b6b0) + -0x508c) = 0;\n  }\n  (**(code **)(pcVar23 + 0x29c164))(*(undefined4 *)(iVar4 + -0x5090));\n  return (int *)*piVar6;\n}" (primitive_type "int") (pointer_declarator "* LogMagickEvent(undefined4 param_1,int *param_2,undefined4 param_3,undefined4 param_4,\n                    undefined4 param_5)" (* "*") (function_declarator "LogMagickEvent(undefined4 param_1,int *param_2,undefined4 param_3,undefined4 param_4,\n                    undefined4 param_5)" (identifier "LogMagickEvent") (parameter_list "(undefined4 param_1,int *param_2,undefined4 param_3,undefined4 param_4,\n                    undefined4 param_5)" (( "(") (parameter_declaration "undefined4 param_1" (type_identifier "undefined4") (identifier "param_1")) (, ",") (parameter_declaration "int *param_2" (primitive_type "int") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) (, ",") (parameter_declaration "undefined4 param_3" (type_identifier "undefined4") (identifier "param_3")) (, ",") (parameter_declaration "undefined4 param_4" (type_identifier "undefined4") (identifier "param_4")) (, ",") (parameter_declaration "undefined4 param_5" (type_identifier "undefined4") (identifier "param_5")) () ")")))) (compound_statement "{\n  int iVar1;\n  int *piVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  int *piVar6;\n  int iVar7;\n  uint uVar8;\n  int iVar9;\n  undefined *puVar10;\n  int *piVar11;\n  undefined *puVar12;\n  int iVar13;\n  int *piVar14;\n  int iVar15;\n  int iVar16;\n  int iVar17;\n  char *pcVar18;\n  int unaff_s6;\n  int iVar19;\n  int *unaff_s7;\n  undefined4 uVar20;\n  undefined *puVar21;\n  code *pcVar22;\n  code *pcVar23;\n  double dVar24;\n  double dVar25;\n  int iStack_d0;\n  int iStack_cc;\n  undefined *puStack_c8;\n  undefined4 uStack_c4;\n  int *piStack_c0;\n  undefined4 uStack_bc;\n  undefined4 uStack_b8;\n  undefined4 uStack_b4;\n  int iStack_b0;\n  int *piStack_ac;\n  \n  puVar12 = PTR___stack_chk_guard_003a9230;\n  iVar1 = *(int *)PTR___stack_chk_guard_003a9230;\n  piVar6 = param_2;\n  uVar20 = param_3;\n  piVar2 = (int *)(*(code *)PTR_IsEventLogging_003a97a8)();\n  if (piVar2 != (int *)0x0) {\n    piVar6 = param_2;\n    uVar20 = param_3;\n    piVar2 = (int *)(*(code *)PTR_LogMagickEventList_003a9148)(param_1,param_2,param_3,param_4);\n  }\n  if (iVar1 == *(int *)puVar12) {\n    return piVar2;\n  }\n  puVar21 = PTR___stack_chk_fail_003a9064;\n  (*(code *)PTR___stack_chk_fail_003a9064)();\n  if (iVar1 == 0) {\n    (**(code **)(puVar21 + 0x29ccac))\n              (*(int *)(puVar21 + 0x29bf84) + 0x45e0,*(int *)(puVar21 + 0x29bf88) + -0x40d0,499,\n               *(int *)(puVar21 + 0x29bf88) + -0x3bd0);\n  }\n  else {\n    puVar12 = *(undefined **)(puVar21 + 0x29bf88);\n    (**(code **)(puVar21 + 0x29c884))\n              (0x8000,puVar12 + -0x40d0,*(int *)(puVar21 + 0x29bf88) + -0x3be0,500);\n    param_1 = uVar20;\n    unaff_s6 = iVar1;\n    unaff_s7 = piVar6;\n    if (piVar6 != (int *)0x0) {\n      *piVar6 = 0;\n      iVar3 = FUN_0010b2dc(uVar20);\n      if (iVar3 != 0) {\n        iVar16 = *(int *)(puVar21 + 0x29bf70);\n        iVar3 = (**(code **)(puVar21 + 0x29ca98))(*(undefined4 *)(iVar16 + -0x5088));\n        piVar2 = (int *)(**(code **)(puVar21 + 0x29cbb0))(iVar3 + 1,4);\n        if (piVar2 != (int *)0x0) {\n          iVar3 = *(int *)(puVar21 + 0x29bf70);\n          (**(code **)(puVar21 + 0x29cd8c))(*(undefined4 *)(iVar3 + -0x5090));\n          (**(code **)(puVar21 + 0x29cbdc))(*(undefined4 *)(iVar16 + -0x5088));\n          iVar4 = (**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088));\n          if (iVar4 == 0) {\n            iVar13 = 0;\n            piVar11 = piVar2;\n          }\n          else {\n            iVar13 = 0;\n            do {\n              piVar11 = piVar2 + iVar13;\n              if ((*(int *)(iVar4 + 0x2c) == 0) &&\n                 (iVar5 = (**(code **)(puVar21 + 0x29ccec))(*(undefined4 *)(iVar4 + 0xc),iVar1,0),\n                 iVar5 != 0)) {\n                *piVar11 = iVar4;\n                piVar11 = piVar2 + iVar13 + 1;\n                iVar13 = iVar13 + 1;\n              }\n              iVar4 = (**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088));\n            } while (iVar4 != 0);\n          }\n          (**(code **)(puVar21 + 0x29ca24))(*(undefined4 *)(iVar3 + -0x5090));\n          (**(code **)(puVar21 + 0x29cf78))(piVar2,iVar13,4,*(int *)(puVar21 + 0x29c13c) + -0x5800);\n          *piVar6 = iVar13;\n          *piVar11 = 0;\n          return piVar2;\n        }\n      }\n      return (int *)0x0;\n    }\n  }\n  puVar10 = puVar12 + -0x40d0;\n  pcVar22 = *(code **)(puVar21 + 0x29ccac);\n  iVar1 = *(int *)(puVar21 + 0x29bf88) + -0x3e64;\n  (*pcVar22)(iVar1,puVar10,0x1f5,*(int *)(puVar21 + 0x29bf88) + -0x3bd0);\n  piVar6 = *(int **)(pcVar22 + 0x29c670);\n  uStack_b4 = param_5;\n  iStack_cc = *piVar6;\n  if (iVar1 == 0) {\n    iVar1 = **(int **)(pcVar22 + 0x29c324);\n  }\n  piVar11 = &iStack_d0;\n  puStack_c8 = puVar12;\n  uStack_c4 = param_1;\n  piStack_c0 = param_2;\n  uStack_bc = param_3;\n  uStack_b8 = param_4;\n  iStack_b0 = unaff_s6;\n  piStack_ac = unaff_s7;\n  piVar2 = (int *)(**(code **)(pcVar22 + 0x29cc48))(*(int *)(pcVar22 + 0x29bd28) + 0x6c9c);\n  if (piVar2 == (int *)0x0) {\n    piVar2 = (int *)0x0;\n  }\n  else {\n    iVar3 = *(int *)(pcVar22 + 0x29bd20);\n    if (0 < iStack_d0) {\n      iVar17 = 0;\n      iVar19 = *(int *)(pcVar22 + 0x29bd8c);\n      iVar4 = 0;\n      iVar15 = *(int *)(pcVar22 + 0x29bd90);\n      dVar25 = *(double *)(iVar3 + 0x1418);\n      iVar13 = *(int *)(pcVar22 + 0x29bd24);\n      iVar5 = *(int *)(pcVar22 + 0x29bd24);\n      iVar16 = iStack_d0;\n      piVar14 = piVar2;\n      do {\n        iVar9 = *piVar14;\n        piVar11 = *(int **)(iVar9 + 0x2c);\n        if (piVar11 == (int *)0x0) {\n          iVar16 = *(int *)(iVar9 + 8);\n          if ((iVar4 == 0) ||\n             (iVar7 = (**(code **)(pcVar22 + 0x29c550))(iVar4,iVar16), iVar4 = iVar16, iVar7 != 0))\n          {\n            if (iVar16 != 0) {\n              (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4620,iVar16);\n              iVar9 = *piVar14;\n            }\n            iVar16 = 0;\n            uVar8 = 0;\n            pcVar18 = (char *)(*(int *)(pcVar22 + 0x29bd24) + -0x3b94);\n            while( true ) {\n              if ((1 << (uVar8 & 0x1f) & *(uint *)(iVar9 + 4)) != 0) {\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar19 + 0x30e8,pcVar18);\n                iVar4 = (**(code **)(pcVar22 + 0x29c778))(pcVar18);\n                iVar16 = iVar16 + iVar4;\n              }\n              if (uVar8 == 0x1f) break;\n              pcVar18 = pcVar18 + 0x10;\n              uVar8 = uVar8 + 1;\n              if (*pcVar18 == '\0') break;\n              iVar9 = *piVar14;\n            }\n            if (iVar16 < 0xd) {\n              do {\n                iVar16 = iVar16 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              } while (iVar16 != 0xd);\n            }\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x3e3c);\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4644);\n            iVar9 = *piVar14;\n            iVar4 = *(int *)(iVar9 + 8);\n          }\n          if (*(int *)(iVar9 + 0x10) != 0) {\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x62ac);\n            iVar9 = *piVar14;\n            uVar8 = (**(code **)(pcVar22 + 0x29c778))(*(undefined4 *)(iVar9 + 0x10));\n            if (uVar8 < 0x11) {\n              do {\n                uVar8 = uVar8 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              } while (uVar8 != 0x11);\n              iVar9 = *piVar14;\n            }\n          }\n          dVar24 = (double)*(int *)(iVar9 + 0x18);\n          if (*(int *)(iVar9 + 0x18) < 0) {\n            dVar24 = dVar24 + *(double *)(iVar3 + 0x1418);\n          }\n          (**(code **)(pcVar22 + 0x29c984))\n                    (iVar1,iVar13 + -0x3e1c,(int)((ulonglong)dVar24 >> 0x20),SUB84(dVar24,0));\n          dVar24 = (double)*(int *)(*piVar14 + 0x1c);\n          if (*(int *)(*piVar14 + 0x1c) < 0) {\n            dVar24 = dVar24 + dVar25;\n          }\n          (**(code **)(pcVar22 + 0x29c984))\n                    (iVar1,iVar5 + -0x3e14,(int)((ulonglong)dVar24 >> 0x20),SUB84(dVar24,0));\n          puVar10 = *(undefined **)(*piVar14 + 0x14);\n          if (puVar10 != (undefined *)0x0) {\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x62ac);\n          }\n          piVar11 = (int *)(*(int *)(pcVar22 + 0x29bd2c) + -0x4bdc);\n          (**(code **)(pcVar22 + 0x29c984))(iVar1);\n          iVar16 = iStack_d0;\n        }\n        iVar17 = iVar17 + 1;\n        piVar14 = piVar14 + 1;\n      } while (iVar17 < iVar16);\n    }\n    (**(code **)(pcVar22 + 0x29c8cc))(iVar1);\n    (**(code **)(pcVar22 + 0x29c400))(piVar2);\n    piVar2 = (int *)0x1;\n  }\n  if (iStack_cc == *piVar6) {\n    return piVar2;\n  }\n  pcVar22 = *(code **)(pcVar22 + 0x29c4a4);\n  iVar3 = iStack_cc;\n  (*pcVar22)();\n  if (iVar3 == 0) {\n    (**(code **)(pcVar22 + 0x29c674))\n              (*(int *)(pcVar22 + 0x29b94c) + 0x45e0,*(int *)(pcVar22 + 0x29b950) + -0x40d0,0x250,\n               *(int *)(pcVar22 + 0x29b950) + -0x3bec);\n  }\n  else {\n    iVar1 = *(int *)(pcVar22 + 0x29b950);\n    (**(code **)(pcVar22 + 0x29c24c))\n              (0x8000,iVar1 + -0x40d0,*(int *)(pcVar22 + 0x29b950) + -0x3bf8,0x251,\n               *(int *)(pcVar22 + 0x29b950) + -0x62ac,iVar3);\n    if (piVar11 != (int *)0x0) {\n      *piVar11 = 0;\n      iVar1 = FUN_0010b2dc(puVar10);\n      if (iVar1 != 0) {\n        iVar16 = *(int *)(pcVar22 + 0x29b938);\n        iVar1 = (**(code **)(pcVar22 + 0x29c460))(*(undefined4 *)(iVar16 + -0x5088));\n        piVar6 = (int *)(**(code **)(pcVar22 + 0x29c578))(iVar1 + 1,4);\n        if (piVar6 != (int *)0x0) {\n          iVar1 = *(int *)(pcVar22 + 0x29b938);\n          (**(code **)(pcVar22 + 0x29c754))(*(undefined4 *)(iVar1 + -0x5090));\n          (**(code **)(pcVar22 + 0x29c5a4))(*(undefined4 *)(iVar16 + -0x5088));\n          iVar4 = (**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088));\n          if (iVar4 == 0) {\n            iVar13 = 0;\n            piVar2 = piVar6;\n          }\n          else {\n            iVar13 = 0;\nLAB_0010d0bc:\n            do {\n              if (*(int *)(iVar4 + 0x2c) == 0) {\n                uVar20 = *(undefined4 *)(iVar4 + 0xc);\n                iVar4 = (**(code **)(pcVar22 + 0x29c6b4))(uVar20,iVar3,0);\n                if (iVar4 != 0) {\n                  iVar15 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c120))(uVar20);\n                  uVar20 = *(undefined4 *)(iVar16 + -0x5088);\n                  piVar6[iVar13] = iVar4;\n                  iVar5 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c37c))(uVar20);\n                  iVar13 = iVar15;\n                  piVar2 = piVar6 + iVar5;\n                  if (iVar4 == 0) break;\n                  goto LAB_0010d0bc;\n                }\n              }\n              iVar4 = (**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088));\n              piVar2 = piVar6 + iVar13;\n            } while (iVar4 != 0);\n          }\n          (**(code **)(pcVar22 + 0x29c3ec))(*(undefined4 *)(iVar1 + -0x5090));\n          (**(code **)(pcVar22 + 0x29c940))(piVar6,iVar13,4,*(int *)(pcVar22 + 0x29bb04) + -0x578c);\n          *piVar11 = iVar13;\n          *piVar2 = 0;\n          return piVar6;\n        }\n      }\n      return (int *)0x0;\n    }\n  }\n  pcVar23 = *(code **)(pcVar22 + 0x29c674);\n  iVar3 = *(int *)(pcVar22 + 0x29b950) + -0x3e64;\n  (*pcVar23)(iVar3,iVar1 + -0x40d0,0x252,*(int *)(pcVar22 + 0x29b950) + -0x3bec);\n  iVar4 = *(int *)(pcVar23 + 0x29b6b0);\n  iVar16 = *(int *)(pcVar23 + 0x29b6b0);\n  uVar20 = (**(code **)(pcVar23 + 0x29bcd0))();\n  FUN_0010b2dc(uVar20);\n  (**(code **)(pcVar23 + 0x29bb34))(uVar20);\n  iVar1 = (**(code **)(pcVar23 + 0x29c478))(0x2c,1,iVar3);\n  (**(code **)(pcVar23 + 0x29c4cc))(*(undefined4 *)(iVar4 + -0x5090));\n  piVar6 = (int *)(**(code **)(pcVar23 + 0x29bc6c))(*(undefined4 *)(iVar16 + -0x5088),0);\n  if (iVar1 == -1) {\n    pcVar22 = *(code **)(pcVar23 + 0x29c210);\n    uVar20 = *(undefined4 *)(iVar16 + -0x5088);\n    *piVar6 = 0;\n    iVar1 = (*pcVar22)(uVar20);\n  }\n  else {\n    pcVar22 = *(code **)(pcVar23 + 0x29c210);\n    uVar20 = *(undefined4 *)(iVar16 + -0x5088);\n    *piVar6 = iVar1;\n    iVar1 = (*pcVar22)(uVar20);\n  }\n  if (iVar1 == 0) {\n    (**(code **)(pcVar23 + 0x29c31c))(*(undefined4 *)(iVar16 + -0x5088));\n    piVar2 = (int *)(**(code **)(pcVar23 + 0x29c0f4))(*(undefined4 *)(iVar16 + -0x5088));\n    if (piVar2 == (int *)0x0) {\n      *(undefined4 *)(*(int *)(pcVar23 + 0x29b6b0) + -0x508c) = 0;\n    }\n    else {\n      *(uint *)(*(int *)(pcVar23 + 0x29b6b0) + -0x508c) = (uint)(*piVar2 != 0);\n    }\n  }\n  else {\n    *(undefined4 *)(*(int *)(pcVar23 + 0x29b6b0) + -0x508c) = 0;\n  }\n  (**(code **)(pcVar23 + 0x29c164))(*(undefined4 *)(iVar4 + -0x5090));\n  return (int *)*piVar6;\n}" ({ "{") (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (declaration "int *piVar2;" (primitive_type "int") (pointer_declarator "*piVar2" (* "*") (identifier "piVar2")) (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "int iVar5;" (primitive_type "int") (identifier "iVar5") (; ";")) (declaration "int *piVar6;" (primitive_type "int") (pointer_declarator "*piVar6" (* "*") (identifier "piVar6")) (; ";")) (declaration "int iVar7;" (primitive_type "int") (identifier "iVar7") (; ";")) (declaration "uint uVar8;" (type_identifier "uint") (identifier "uVar8") (; ";")) (declaration "int iVar9;" (primitive_type "int") (identifier "iVar9") (; ";")) (declaration "undefined *puVar10;" (type_identifier "undefined") (pointer_declarator "*puVar10" (* "*") (identifier "puVar10")) (; ";")) (declaration "int *piVar11;" (primitive_type "int") (pointer_declarator "*piVar11" (* "*") (identifier "piVar11")) (; ";")) (declaration "undefined *puVar12;" (type_identifier "undefined") (pointer_declarator "*puVar12" (* "*") (identifier "puVar12")) (; ";")) (declaration "int iVar13;" (primitive_type "int") (identifier "iVar13") (; ";")) (declaration "int *piVar14;" (primitive_type "int") (pointer_declarator "*piVar14" (* "*") (identifier "piVar14")) (; ";")) (declaration "int iVar15;" (primitive_type "int") (identifier "iVar15") (; ";")) (declaration "int iVar16;" (primitive_type "int") (identifier "iVar16") (; ";")) (declaration "int iVar17;" (primitive_type "int") (identifier "iVar17") (; ";")) (declaration "char *pcVar18;" (primitive_type "char") (pointer_declarator "*pcVar18" (* "*") (identifier "pcVar18")) (; ";")) (declaration "int unaff_s6;" (primitive_type "int") (identifier "unaff_s6") (; ";")) (declaration "int iVar19;" (primitive_type "int") (identifier "iVar19") (; ";")) (declaration "int *unaff_s7;" (primitive_type "int") (pointer_declarator "*unaff_s7" (* "*") (identifier "unaff_s7")) (; ";")) (declaration "undefined4 uVar20;" (type_identifier "undefined4") (identifier "uVar20") (; ";")) (declaration "undefined *puVar21;" (type_identifier "undefined") (pointer_declarator "*puVar21" (* "*") (identifier "puVar21")) (; ";")) (declaration "code *pcVar22;" (type_identifier "code") (pointer_declarator "*pcVar22" (* "*") (identifier "pcVar22")) (; ";")) (declaration "code *pcVar23;" (type_identifier "code") (pointer_declarator "*pcVar23" (* "*") (identifier "pcVar23")) (; ";")) (declaration "double dVar24;" (primitive_type "double") (identifier "dVar24") (; ";")) (declaration "double dVar25;" (primitive_type "double") (identifier "dVar25") (; ";")) (declaration "int iStack_d0;" (primitive_type "int") (identifier "iStack_d0") (; ";")) (declaration "int iStack_cc;" (primitive_type "int") (identifier "iStack_cc") (; ";")) (declaration "undefined *puStack_c8;" (type_identifier "undefined") (pointer_declarator "*puStack_c8" (* "*") (identifier "puStack_c8")) (; ";")) (declaration "undefined4 uStack_c4;" (type_identifier "undefined4") (identifier "uStack_c4") (; ";")) (declaration "int *piStack_c0;" (primitive_type "int") (pointer_declarator "*piStack_c0" (* "*") (identifier "piStack_c0")) (; ";")) (declaration "undefined4 uStack_bc;" (type_identifier "undefined4") (identifier "uStack_bc") (; ";")) (declaration "undefined4 uStack_b8;" (type_identifier "undefined4") (identifier "uStack_b8") (; ";")) (declaration "undefined4 uStack_b4;" (type_identifier "undefined4") (identifier "uStack_b4") (; ";")) (declaration "int iStack_b0;" (primitive_type "int") (identifier "iStack_b0") (; ";")) (declaration "int *piStack_ac;" (primitive_type "int") (pointer_declarator "*piStack_ac" (* "*") (identifier "piStack_ac")) (; ";")) (expression_statement "puVar12 = PTR___stack_chk_guard_003a9230;" (assignment_expression "puVar12 = PTR___stack_chk_guard_003a9230" (identifier "puVar12") (= "=") (identifier "PTR___stack_chk_guard_003a9230")) (; ";")) (expression_statement "iVar1 = *(int *)PTR___stack_chk_guard_003a9230;" (assignment_expression "iVar1 = *(int *)PTR___stack_chk_guard_003a9230" (identifier "iVar1") (= "=") (pointer_expression "*(int *)PTR___stack_chk_guard_003a9230" (* "*") (cast_expression "(int *)PTR___stack_chk_guard_003a9230" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_guard_003a9230")))) (; ";")) (expression_statement "piVar6 = param_2;" (assignment_expression "piVar6 = param_2" (identifier "piVar6") (= "=") (identifier "param_2")) (; ";")) (expression_statement "uVar20 = param_3;" (assignment_expression "uVar20 = param_3" (identifier "uVar20") (= "=") (identifier "param_3")) (; ";")) (expression_statement "piVar2 = (int *)(*(code *)PTR_IsEventLogging_003a97a8)();" (assignment_expression "piVar2 = (int *)(*(code *)PTR_IsEventLogging_003a97a8)()" (identifier "piVar2") (= "=") (cast_expression "(int *)(*(code *)PTR_IsEventLogging_003a97a8)()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_IsEventLogging_003a97a8)()" (parenthesized_expression "(*(code *)PTR_IsEventLogging_003a97a8)" (( "(") (pointer_expression "*(code *)PTR_IsEventLogging_003a97a8" (* "*") (cast_expression "(code *)PTR_IsEventLogging_003a97a8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_IsEventLogging_003a97a8"))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (if_statement "if (piVar2 != (int *)0x0) {\n    piVar6 = param_2;\n    uVar20 = param_3;\n    piVar2 = (int *)(*(code *)PTR_LogMagickEventList_003a9148)(param_1,param_2,param_3,param_4);\n  }" (if "if") (parenthesized_expression "(piVar2 != (int *)0x0)" (( "(") (binary_expression "piVar2 != (int *)0x0" (identifier "piVar2") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    piVar6 = param_2;\n    uVar20 = param_3;\n    piVar2 = (int *)(*(code *)PTR_LogMagickEventList_003a9148)(param_1,param_2,param_3,param_4);\n  }" ({ "{") (expression_statement "piVar6 = param_2;" (assignment_expression "piVar6 = param_2" (identifier "piVar6") (= "=") (identifier "param_2")) (; ";")) (expression_statement "uVar20 = param_3;" (assignment_expression "uVar20 = param_3" (identifier "uVar20") (= "=") (identifier "param_3")) (; ";")) (expression_statement "piVar2 = (int *)(*(code *)PTR_LogMagickEventList_003a9148)(param_1,param_2,param_3,param_4);" (assignment_expression "piVar2 = (int *)(*(code *)PTR_LogMagickEventList_003a9148)(param_1,param_2,param_3,param_4)" (identifier "piVar2") (= "=") (cast_expression "(int *)(*(code *)PTR_LogMagickEventList_003a9148)(param_1,param_2,param_3,param_4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_LogMagickEventList_003a9148)(param_1,param_2,param_3,param_4)" (parenthesized_expression "(*(code *)PTR_LogMagickEventList_003a9148)" (( "(") (pointer_expression "*(code *)PTR_LogMagickEventList_003a9148" (* "*") (cast_expression "(code *)PTR_LogMagickEventList_003a9148" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_LogMagickEventList_003a9148"))) () ")")) (argument_list "(param_1,param_2,param_3,param_4)" (( "(") (identifier "param_1") (, ",") (identifier "param_2") (, ",") (identifier "param_3") (, ",") (identifier "param_4") () ")"))))) (; ";")) (} "}"))) (if_statement "if (iVar1 == *(int *)puVar12) {\n    return piVar2;\n  }" (if "if") (parenthesized_expression "(iVar1 == *(int *)puVar12)" (( "(") (binary_expression "iVar1 == *(int *)puVar12" (identifier "iVar1") (== "==") (pointer_expression "*(int *)puVar12" (* "*") (cast_expression "(int *)puVar12" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar12")))) () ")")) (compound_statement "{\n    return piVar2;\n  }" ({ "{") (return_statement "return piVar2;" (return "return") (identifier "piVar2") (; ";")) (} "}"))) (expression_statement "puVar21 = PTR___stack_chk_fail_003a9064;" (assignment_expression "puVar21 = PTR___stack_chk_fail_003a9064" (identifier "puVar21") (= "=") (identifier "PTR___stack_chk_fail_003a9064")) (; ";")) (expression_statement "(*(code *)PTR___stack_chk_fail_003a9064)();" (call_expression "(*(code *)PTR___stack_chk_fail_003a9064)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_003a9064)" (( "(") (pointer_expression "*(code *)PTR___stack_chk_fail_003a9064" (* "*") (cast_expression "(code *)PTR___stack_chk_fail_003a9064" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_fail_003a9064"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (iVar1 == 0) {\n    (**(code **)(puVar21 + 0x29ccac))\n              (*(int *)(puVar21 + 0x29bf84) + 0x45e0,*(int *)(puVar21 + 0x29bf88) + -0x40d0,499,\n               *(int *)(puVar21 + 0x29bf88) + -0x3bd0);\n  }\n  else {\n    puVar12 = *(undefined **)(puVar21 + 0x29bf88);\n    (**(code **)(puVar21 + 0x29c884))\n              (0x8000,puVar12 + -0x40d0,*(int *)(puVar21 + 0x29bf88) + -0x3be0,500);\n    param_1 = uVar20;\n    unaff_s6 = iVar1;\n    unaff_s7 = piVar6;\n    if (piVar6 != (int *)0x0) {\n      *piVar6 = 0;\n      iVar3 = FUN_0010b2dc(uVar20);\n      if (iVar3 != 0) {\n        iVar16 = *(int *)(puVar21 + 0x29bf70);\n        iVar3 = (**(code **)(puVar21 + 0x29ca98))(*(undefined4 *)(iVar16 + -0x5088));\n        piVar2 = (int *)(**(code **)(puVar21 + 0x29cbb0))(iVar3 + 1,4);\n        if (piVar2 != (int *)0x0) {\n          iVar3 = *(int *)(puVar21 + 0x29bf70);\n          (**(code **)(puVar21 + 0x29cd8c))(*(undefined4 *)(iVar3 + -0x5090));\n          (**(code **)(puVar21 + 0x29cbdc))(*(undefined4 *)(iVar16 + -0x5088));\n          iVar4 = (**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088));\n          if (iVar4 == 0) {\n            iVar13 = 0;\n            piVar11 = piVar2;\n          }\n          else {\n            iVar13 = 0;\n            do {\n              piVar11 = piVar2 + iVar13;\n              if ((*(int *)(iVar4 + 0x2c) == 0) &&\n                 (iVar5 = (**(code **)(puVar21 + 0x29ccec))(*(undefined4 *)(iVar4 + 0xc),iVar1,0),\n                 iVar5 != 0)) {\n                *piVar11 = iVar4;\n                piVar11 = piVar2 + iVar13 + 1;\n                iVar13 = iVar13 + 1;\n              }\n              iVar4 = (**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088));\n            } while (iVar4 != 0);\n          }\n          (**(code **)(puVar21 + 0x29ca24))(*(undefined4 *)(iVar3 + -0x5090));\n          (**(code **)(puVar21 + 0x29cf78))(piVar2,iVar13,4,*(int *)(puVar21 + 0x29c13c) + -0x5800);\n          *piVar6 = iVar13;\n          *piVar11 = 0;\n          return piVar2;\n        }\n      }\n      return (int *)0x0;\n    }\n  }" (if "if") (parenthesized_expression "(iVar1 == 0)" (( "(") (binary_expression "iVar1 == 0" (identifier "iVar1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    (**(code **)(puVar21 + 0x29ccac))\n              (*(int *)(puVar21 + 0x29bf84) + 0x45e0,*(int *)(puVar21 + 0x29bf88) + -0x40d0,499,\n               *(int *)(puVar21 + 0x29bf88) + -0x3bd0);\n  }" ({ "{") (expression_statement "(**(code **)(puVar21 + 0x29ccac))\n              (*(int *)(puVar21 + 0x29bf84) + 0x45e0,*(int *)(puVar21 + 0x29bf88) + -0x40d0,499,\n               *(int *)(puVar21 + 0x29bf88) + -0x3bd0);" (call_expression "(**(code **)(puVar21 + 0x29ccac))\n              (*(int *)(puVar21 + 0x29bf84) + 0x45e0,*(int *)(puVar21 + 0x29bf88) + -0x40d0,499,\n               *(int *)(puVar21 + 0x29bf88) + -0x3bd0)" (parenthesized_expression "(**(code **)(puVar21 + 0x29ccac))" (( "(") (pointer_expression "**(code **)(puVar21 + 0x29ccac)" (* "*") (pointer_expression "*(code **)(puVar21 + 0x29ccac)" (* "*") (cast_expression "(code **)(puVar21 + 0x29ccac)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + 0x29ccac)" (( "(") (binary_expression "puVar21 + 0x29ccac" (identifier "puVar21") (+ "+") (number_literal "0x29ccac")) () ")"))))) () ")")) (argument_list "(*(int *)(puVar21 + 0x29bf84) + 0x45e0,*(int *)(puVar21 + 0x29bf88) + -0x40d0,499,\n               *(int *)(puVar21 + 0x29bf88) + -0x3bd0)" (( "(") (binary_expression "*(int *)(puVar21 + 0x29bf84) + 0x45e0" (pointer_expression "*(int *)(puVar21 + 0x29bf84)" (* "*") (cast_expression "(int *)(puVar21 + 0x29bf84)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + 0x29bf84)" (( "(") (binary_expression "puVar21 + 0x29bf84" (identifier "puVar21") (+ "+") (number_literal "0x29bf84")) () ")")))) (+ "+") (number_literal "0x45e0")) (, ",") (binary_expression "*(int *)(puVar21 + 0x29bf88) + -0x40d0" (pointer_expression "*(int *)(puVar21 + 0x29bf88)" (* "*") (cast_expression "(int *)(puVar21 + 0x29bf88)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + 0x29bf88)" (( "(") (binary_expression "puVar21 + 0x29bf88" (identifier "puVar21") (+ "+") (number_literal "0x29bf88")) () ")")))) (+ "+") (number_literal "-0x40d0")) (, ",") (number_literal "499") (, ",") (binary_expression "*(int *)(puVar21 + 0x29bf88) + -0x3bd0" (pointer_expression "*(int *)(puVar21 + 0x29bf88)" (* "*") (cast_expression "(int *)(puVar21 + 0x29bf88)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + 0x29bf88)" (( "(") (binary_expression "puVar21 + 0x29bf88" (identifier "puVar21") (+ "+") (number_literal "0x29bf88")) () ")")))) (+ "+") (number_literal "-0x3bd0")) () ")"))) (; ";")) (} "}")) (else_clause "else {\n    puVar12 = *(undefined **)(puVar21 + 0x29bf88);\n    (**(code **)(puVar21 + 0x29c884))\n              (0x8000,puVar12 + -0x40d0,*(int *)(puVar21 + 0x29bf88) + -0x3be0,500);\n    param_1 = uVar20;\n    unaff_s6 = iVar1;\n    unaff_s7 = piVar6;\n    if (piVar6 != (int *)0x0) {\n      *piVar6 = 0;\n      iVar3 = FUN_0010b2dc(uVar20);\n      if (iVar3 != 0) {\n        iVar16 = *(int *)(puVar21 + 0x29bf70);\n        iVar3 = (**(code **)(puVar21 + 0x29ca98))(*(undefined4 *)(iVar16 + -0x5088));\n        piVar2 = (int *)(**(code **)(puVar21 + 0x29cbb0))(iVar3 + 1,4);\n        if (piVar2 != (int *)0x0) {\n          iVar3 = *(int *)(puVar21 + 0x29bf70);\n          (**(code **)(puVar21 + 0x29cd8c))(*(undefined4 *)(iVar3 + -0x5090));\n          (**(code **)(puVar21 + 0x29cbdc))(*(undefined4 *)(iVar16 + -0x5088));\n          iVar4 = (**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088));\n          if (iVar4 == 0) {\n            iVar13 = 0;\n            piVar11 = piVar2;\n          }\n          else {\n            iVar13 = 0;\n            do {\n              piVar11 = piVar2 + iVar13;\n              if ((*(int *)(iVar4 + 0x2c) == 0) &&\n                 (iVar5 = (**(code **)(puVar21 + 0x29ccec))(*(undefined4 *)(iVar4 + 0xc),iVar1,0),\n                 iVar5 != 0)) {\n                *piVar11 = iVar4;\n                piVar11 = piVar2 + iVar13 + 1;\n                iVar13 = iVar13 + 1;\n              }\n              iVar4 = (**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088));\n            } while (iVar4 != 0);\n          }\n          (**(code **)(puVar21 + 0x29ca24))(*(undefined4 *)(iVar3 + -0x5090));\n          (**(code **)(puVar21 + 0x29cf78))(piVar2,iVar13,4,*(int *)(puVar21 + 0x29c13c) + -0x5800);\n          *piVar6 = iVar13;\n          *piVar11 = 0;\n          return piVar2;\n        }\n      }\n      return (int *)0x0;\n    }\n  }" (else "else") (compound_statement "{\n    puVar12 = *(undefined **)(puVar21 + 0x29bf88);\n    (**(code **)(puVar21 + 0x29c884))\n              (0x8000,puVar12 + -0x40d0,*(int *)(puVar21 + 0x29bf88) + -0x3be0,500);\n    param_1 = uVar20;\n    unaff_s6 = iVar1;\n    unaff_s7 = piVar6;\n    if (piVar6 != (int *)0x0) {\n      *piVar6 = 0;\n      iVar3 = FUN_0010b2dc(uVar20);\n      if (iVar3 != 0) {\n        iVar16 = *(int *)(puVar21 + 0x29bf70);\n        iVar3 = (**(code **)(puVar21 + 0x29ca98))(*(undefined4 *)(iVar16 + -0x5088));\n        piVar2 = (int *)(**(code **)(puVar21 + 0x29cbb0))(iVar3 + 1,4);\n        if (piVar2 != (int *)0x0) {\n          iVar3 = *(int *)(puVar21 + 0x29bf70);\n          (**(code **)(puVar21 + 0x29cd8c))(*(undefined4 *)(iVar3 + -0x5090));\n          (**(code **)(puVar21 + 0x29cbdc))(*(undefined4 *)(iVar16 + -0x5088));\n          iVar4 = (**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088));\n          if (iVar4 == 0) {\n            iVar13 = 0;\n            piVar11 = piVar2;\n          }\n          else {\n            iVar13 = 0;\n            do {\n              piVar11 = piVar2 + iVar13;\n              if ((*(int *)(iVar4 + 0x2c) == 0) &&\n                 (iVar5 = (**(code **)(puVar21 + 0x29ccec))(*(undefined4 *)(iVar4 + 0xc),iVar1,0),\n                 iVar5 != 0)) {\n                *piVar11 = iVar4;\n                piVar11 = piVar2 + iVar13 + 1;\n                iVar13 = iVar13 + 1;\n              }\n              iVar4 = (**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088));\n            } while (iVar4 != 0);\n          }\n          (**(code **)(puVar21 + 0x29ca24))(*(undefined4 *)(iVar3 + -0x5090));\n          (**(code **)(puVar21 + 0x29cf78))(piVar2,iVar13,4,*(int *)(puVar21 + 0x29c13c) + -0x5800);\n          *piVar6 = iVar13;\n          *piVar11 = 0;\n          return piVar2;\n        }\n      }\n      return (int *)0x0;\n    }\n  }" ({ "{") (expression_statement "puVar12 = *(undefined **)(puVar21 + 0x29bf88);" (assignment_expression "puVar12 = *(undefined **)(puVar21 + 0x29bf88)" (identifier "puVar12") (= "=") (pointer_expression "*(undefined **)(puVar21 + 0x29bf88)" (* "*") (cast_expression "(undefined **)(puVar21 + 0x29bf88)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + 0x29bf88)" (( "(") (binary_expression "puVar21 + 0x29bf88" (identifier "puVar21") (+ "+") (number_literal "0x29bf88")) () ")"))))) (; ";")) (expression_statement "(**(code **)(puVar21 + 0x29c884))\n              (0x8000,puVar12 + -0x40d0,*(int *)(puVar21 + 0x29bf88) + -0x3be0,500);" (call_expression "(**(code **)(puVar21 + 0x29c884))\n              (0x8000,puVar12 + -0x40d0,*(int *)(puVar21 + 0x29bf88) + -0x3be0,500)" (parenthesized_expression "(**(code **)(puVar21 + 0x29c884))" (( "(") (pointer_expression "**(code **)(puVar21 + 0x29c884)" (* "*") (pointer_expression "*(code **)(puVar21 + 0x29c884)" (* "*") (cast_expression "(code **)(puVar21 + 0x29c884)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + 0x29c884)" (( "(") (binary_expression "puVar21 + 0x29c884" (identifier "puVar21") (+ "+") (number_literal "0x29c884")) () ")"))))) () ")")) (argument_list "(0x8000,puVar12 + -0x40d0,*(int *)(puVar21 + 0x29bf88) + -0x3be0,500)" (( "(") (number_literal "0x8000") (, ",") (binary_expression "puVar12 + -0x40d0" (identifier "puVar12") (+ "+") (number_literal "-0x40d0")) (, ",") (binary_expression "*(int *)(puVar21 + 0x29bf88) + -0x3be0" (pointer_expression "*(int *)(puVar21 + 0x29bf88)" (* "*") (cast_expression "(int *)(puVar21 + 0x29bf88)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + 0x29bf88)" (( "(") (binary_expression "puVar21 + 0x29bf88" (identifier "puVar21") (+ "+") (number_literal "0x29bf88")) () ")")))) (+ "+") (number_literal "-0x3be0")) (, ",") (number_literal "500") () ")"))) (; ";")) (expression_statement "param_1 = uVar20;" (assignment_expression "param_1 = uVar20" (identifier "param_1") (= "=") (identifier "uVar20")) (; ";")) (expression_statement "unaff_s6 = iVar1;" (assignment_expression "unaff_s6 = iVar1" (identifier "unaff_s6") (= "=") (identifier "iVar1")) (; ";")) (expression_statement "unaff_s7 = piVar6;" (assignment_expression "unaff_s7 = piVar6" (identifier "unaff_s7") (= "=") (identifier "piVar6")) (; ";")) (if_statement "if (piVar6 != (int *)0x0) {\n      *piVar6 = 0;\n      iVar3 = FUN_0010b2dc(uVar20);\n      if (iVar3 != 0) {\n        iVar16 = *(int *)(puVar21 + 0x29bf70);\n        iVar3 = (**(code **)(puVar21 + 0x29ca98))(*(undefined4 *)(iVar16 + -0x5088));\n        piVar2 = (int *)(**(code **)(puVar21 + 0x29cbb0))(iVar3 + 1,4);\n        if (piVar2 != (int *)0x0) {\n          iVar3 = *(int *)(puVar21 + 0x29bf70);\n          (**(code **)(puVar21 + 0x29cd8c))(*(undefined4 *)(iVar3 + -0x5090));\n          (**(code **)(puVar21 + 0x29cbdc))(*(undefined4 *)(iVar16 + -0x5088));\n          iVar4 = (**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088));\n          if (iVar4 == 0) {\n            iVar13 = 0;\n            piVar11 = piVar2;\n          }\n          else {\n            iVar13 = 0;\n            do {\n              piVar11 = piVar2 + iVar13;\n              if ((*(int *)(iVar4 + 0x2c) == 0) &&\n                 (iVar5 = (**(code **)(puVar21 + 0x29ccec))(*(undefined4 *)(iVar4 + 0xc),iVar1,0),\n                 iVar5 != 0)) {\n                *piVar11 = iVar4;\n                piVar11 = piVar2 + iVar13 + 1;\n                iVar13 = iVar13 + 1;\n              }\n              iVar4 = (**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088));\n            } while (iVar4 != 0);\n          }\n          (**(code **)(puVar21 + 0x29ca24))(*(undefined4 *)(iVar3 + -0x5090));\n          (**(code **)(puVar21 + 0x29cf78))(piVar2,iVar13,4,*(int *)(puVar21 + 0x29c13c) + -0x5800);\n          *piVar6 = iVar13;\n          *piVar11 = 0;\n          return piVar2;\n        }\n      }\n      return (int *)0x0;\n    }" (if "if") (parenthesized_expression "(piVar6 != (int *)0x0)" (( "(") (binary_expression "piVar6 != (int *)0x0" (identifier "piVar6") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      *piVar6 = 0;\n      iVar3 = FUN_0010b2dc(uVar20);\n      if (iVar3 != 0) {\n        iVar16 = *(int *)(puVar21 + 0x29bf70);\n        iVar3 = (**(code **)(puVar21 + 0x29ca98))(*(undefined4 *)(iVar16 + -0x5088));\n        piVar2 = (int *)(**(code **)(puVar21 + 0x29cbb0))(iVar3 + 1,4);\n        if (piVar2 != (int *)0x0) {\n          iVar3 = *(int *)(puVar21 + 0x29bf70);\n          (**(code **)(puVar21 + 0x29cd8c))(*(undefined4 *)(iVar3 + -0x5090));\n          (**(code **)(puVar21 + 0x29cbdc))(*(undefined4 *)(iVar16 + -0x5088));\n          iVar4 = (**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088));\n          if (iVar4 == 0) {\n            iVar13 = 0;\n            piVar11 = piVar2;\n          }\n          else {\n            iVar13 = 0;\n            do {\n              piVar11 = piVar2 + iVar13;\n              if ((*(int *)(iVar4 + 0x2c) == 0) &&\n                 (iVar5 = (**(code **)(puVar21 + 0x29ccec))(*(undefined4 *)(iVar4 + 0xc),iVar1,0),\n                 iVar5 != 0)) {\n                *piVar11 = iVar4;\n                piVar11 = piVar2 + iVar13 + 1;\n                iVar13 = iVar13 + 1;\n              }\n              iVar4 = (**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088));\n            } while (iVar4 != 0);\n          }\n          (**(code **)(puVar21 + 0x29ca24))(*(undefined4 *)(iVar3 + -0x5090));\n          (**(code **)(puVar21 + 0x29cf78))(piVar2,iVar13,4,*(int *)(puVar21 + 0x29c13c) + -0x5800);\n          *piVar6 = iVar13;\n          *piVar11 = 0;\n          return piVar2;\n        }\n      }\n      return (int *)0x0;\n    }" ({ "{") (expression_statement "*piVar6 = 0;" (assignment_expression "*piVar6 = 0" (pointer_expression "*piVar6" (* "*") (identifier "piVar6")) (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar3 = FUN_0010b2dc(uVar20);" (assignment_expression "iVar3 = FUN_0010b2dc(uVar20)" (identifier "iVar3") (= "=") (call_expression "FUN_0010b2dc(uVar20)" (identifier "FUN_0010b2dc") (argument_list "(uVar20)" (( "(") (identifier "uVar20") () ")")))) (; ";")) (if_statement "if (iVar3 != 0) {\n        iVar16 = *(int *)(puVar21 + 0x29bf70);\n        iVar3 = (**(code **)(puVar21 + 0x29ca98))(*(undefined4 *)(iVar16 + -0x5088));\n        piVar2 = (int *)(**(code **)(puVar21 + 0x29cbb0))(iVar3 + 1,4);\n        if (piVar2 != (int *)0x0) {\n          iVar3 = *(int *)(puVar21 + 0x29bf70);\n          (**(code **)(puVar21 + 0x29cd8c))(*(undefined4 *)(iVar3 + -0x5090));\n          (**(code **)(puVar21 + 0x29cbdc))(*(undefined4 *)(iVar16 + -0x5088));\n          iVar4 = (**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088));\n          if (iVar4 == 0) {\n            iVar13 = 0;\n            piVar11 = piVar2;\n          }\n          else {\n            iVar13 = 0;\n            do {\n              piVar11 = piVar2 + iVar13;\n              if ((*(int *)(iVar4 + 0x2c) == 0) &&\n                 (iVar5 = (**(code **)(puVar21 + 0x29ccec))(*(undefined4 *)(iVar4 + 0xc),iVar1,0),\n                 iVar5 != 0)) {\n                *piVar11 = iVar4;\n                piVar11 = piVar2 + iVar13 + 1;\n                iVar13 = iVar13 + 1;\n              }\n              iVar4 = (**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088));\n            } while (iVar4 != 0);\n          }\n          (**(code **)(puVar21 + 0x29ca24))(*(undefined4 *)(iVar3 + -0x5090));\n          (**(code **)(puVar21 + 0x29cf78))(piVar2,iVar13,4,*(int *)(puVar21 + 0x29c13c) + -0x5800);\n          *piVar6 = iVar13;\n          *piVar11 = 0;\n          return piVar2;\n        }\n      }" (if "if") (parenthesized_expression "(iVar3 != 0)" (( "(") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        iVar16 = *(int *)(puVar21 + 0x29bf70);\n        iVar3 = (**(code **)(puVar21 + 0x29ca98))(*(undefined4 *)(iVar16 + -0x5088));\n        piVar2 = (int *)(**(code **)(puVar21 + 0x29cbb0))(iVar3 + 1,4);\n        if (piVar2 != (int *)0x0) {\n          iVar3 = *(int *)(puVar21 + 0x29bf70);\n          (**(code **)(puVar21 + 0x29cd8c))(*(undefined4 *)(iVar3 + -0x5090));\n          (**(code **)(puVar21 + 0x29cbdc))(*(undefined4 *)(iVar16 + -0x5088));\n          iVar4 = (**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088));\n          if (iVar4 == 0) {\n            iVar13 = 0;\n            piVar11 = piVar2;\n          }\n          else {\n            iVar13 = 0;\n            do {\n              piVar11 = piVar2 + iVar13;\n              if ((*(int *)(iVar4 + 0x2c) == 0) &&\n                 (iVar5 = (**(code **)(puVar21 + 0x29ccec))(*(undefined4 *)(iVar4 + 0xc),iVar1,0),\n                 iVar5 != 0)) {\n                *piVar11 = iVar4;\n                piVar11 = piVar2 + iVar13 + 1;\n                iVar13 = iVar13 + 1;\n              }\n              iVar4 = (**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088));\n            } while (iVar4 != 0);\n          }\n          (**(code **)(puVar21 + 0x29ca24))(*(undefined4 *)(iVar3 + -0x5090));\n          (**(code **)(puVar21 + 0x29cf78))(piVar2,iVar13,4,*(int *)(puVar21 + 0x29c13c) + -0x5800);\n          *piVar6 = iVar13;\n          *piVar11 = 0;\n          return piVar2;\n        }\n      }" ({ "{") (expression_statement "iVar16 = *(int *)(puVar21 + 0x29bf70);" (assignment_expression "iVar16 = *(int *)(puVar21 + 0x29bf70)" (identifier "iVar16") (= "=") (pointer_expression "*(int *)(puVar21 + 0x29bf70)" (* "*") (cast_expression "(int *)(puVar21 + 0x29bf70)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + 0x29bf70)" (( "(") (binary_expression "puVar21 + 0x29bf70" (identifier "puVar21") (+ "+") (number_literal "0x29bf70")) () ")"))))) (; ";")) (expression_statement "iVar3 = (**(code **)(puVar21 + 0x29ca98))(*(undefined4 *)(iVar16 + -0x5088));" (assignment_expression "iVar3 = (**(code **)(puVar21 + 0x29ca98))(*(undefined4 *)(iVar16 + -0x5088))" (identifier "iVar3") (= "=") (call_expression "(**(code **)(puVar21 + 0x29ca98))(*(undefined4 *)(iVar16 + -0x5088))" (parenthesized_expression "(**(code **)(puVar21 + 0x29ca98))" (( "(") (pointer_expression "**(code **)(puVar21 + 0x29ca98)" (* "*") (pointer_expression "*(code **)(puVar21 + 0x29ca98)" (* "*") (cast_expression "(code **)(puVar21 + 0x29ca98)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + 0x29ca98)" (( "(") (binary_expression "puVar21 + 0x29ca98" (identifier "puVar21") (+ "+") (number_literal "0x29ca98")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar16 + -0x5088))" (( "(") (pointer_expression "*(undefined4 *)(iVar16 + -0x5088)" (* "*") (cast_expression "(undefined4 *)(iVar16 + -0x5088)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + -0x5088)" (( "(") (binary_expression "iVar16 + -0x5088" (identifier "iVar16") (+ "+") (number_literal "-0x5088")) () ")")))) () ")")))) (; ";")) (expression_statement "piVar2 = (int *)(**(code **)(puVar21 + 0x29cbb0))(iVar3 + 1,4);" (assignment_expression "piVar2 = (int *)(**(code **)(puVar21 + 0x29cbb0))(iVar3 + 1,4)" (identifier "piVar2") (= "=") (cast_expression "(int *)(**(code **)(puVar21 + 0x29cbb0))(iVar3 + 1,4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(puVar21 + 0x29cbb0))(iVar3 + 1,4)" (parenthesized_expression "(**(code **)(puVar21 + 0x29cbb0))" (( "(") (pointer_expression "**(code **)(puVar21 + 0x29cbb0)" (* "*") (pointer_expression "*(code **)(puVar21 + 0x29cbb0)" (* "*") (cast_expression "(code **)(puVar21 + 0x29cbb0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + 0x29cbb0)" (( "(") (binary_expression "puVar21 + 0x29cbb0" (identifier "puVar21") (+ "+") (number_literal "0x29cbb0")) () ")"))))) () ")")) (argument_list "(iVar3 + 1,4)" (( "(") (binary_expression "iVar3 + 1" (identifier "iVar3") (+ "+") (number_literal "1")) (, ",") (number_literal "4") () ")"))))) (; ";")) (if_statement "if (piVar2 != (int *)0x0) {\n          iVar3 = *(int *)(puVar21 + 0x29bf70);\n          (**(code **)(puVar21 + 0x29cd8c))(*(undefined4 *)(iVar3 + -0x5090));\n          (**(code **)(puVar21 + 0x29cbdc))(*(undefined4 *)(iVar16 + -0x5088));\n          iVar4 = (**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088));\n          if (iVar4 == 0) {\n            iVar13 = 0;\n            piVar11 = piVar2;\n          }\n          else {\n            iVar13 = 0;\n            do {\n              piVar11 = piVar2 + iVar13;\n              if ((*(int *)(iVar4 + 0x2c) == 0) &&\n                 (iVar5 = (**(code **)(puVar21 + 0x29ccec))(*(undefined4 *)(iVar4 + 0xc),iVar1,0),\n                 iVar5 != 0)) {\n                *piVar11 = iVar4;\n                piVar11 = piVar2 + iVar13 + 1;\n                iVar13 = iVar13 + 1;\n              }\n              iVar4 = (**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088));\n            } while (iVar4 != 0);\n          }\n          (**(code **)(puVar21 + 0x29ca24))(*(undefined4 *)(iVar3 + -0x5090));\n          (**(code **)(puVar21 + 0x29cf78))(piVar2,iVar13,4,*(int *)(puVar21 + 0x29c13c) + -0x5800);\n          *piVar6 = iVar13;\n          *piVar11 = 0;\n          return piVar2;\n        }" (if "if") (parenthesized_expression "(piVar2 != (int *)0x0)" (( "(") (binary_expression "piVar2 != (int *)0x0" (identifier "piVar2") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          iVar3 = *(int *)(puVar21 + 0x29bf70);\n          (**(code **)(puVar21 + 0x29cd8c))(*(undefined4 *)(iVar3 + -0x5090));\n          (**(code **)(puVar21 + 0x29cbdc))(*(undefined4 *)(iVar16 + -0x5088));\n          iVar4 = (**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088));\n          if (iVar4 == 0) {\n            iVar13 = 0;\n            piVar11 = piVar2;\n          }\n          else {\n            iVar13 = 0;\n            do {\n              piVar11 = piVar2 + iVar13;\n              if ((*(int *)(iVar4 + 0x2c) == 0) &&\n                 (iVar5 = (**(code **)(puVar21 + 0x29ccec))(*(undefined4 *)(iVar4 + 0xc),iVar1,0),\n                 iVar5 != 0)) {\n                *piVar11 = iVar4;\n                piVar11 = piVar2 + iVar13 + 1;\n                iVar13 = iVar13 + 1;\n              }\n              iVar4 = (**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088));\n            } while (iVar4 != 0);\n          }\n          (**(code **)(puVar21 + 0x29ca24))(*(undefined4 *)(iVar3 + -0x5090));\n          (**(code **)(puVar21 + 0x29cf78))(piVar2,iVar13,4,*(int *)(puVar21 + 0x29c13c) + -0x5800);\n          *piVar6 = iVar13;\n          *piVar11 = 0;\n          return piVar2;\n        }" ({ "{") (expression_statement "iVar3 = *(int *)(puVar21 + 0x29bf70);" (assignment_expression "iVar3 = *(int *)(puVar21 + 0x29bf70)" (identifier "iVar3") (= "=") (pointer_expression "*(int *)(puVar21 + 0x29bf70)" (* "*") (cast_expression "(int *)(puVar21 + 0x29bf70)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + 0x29bf70)" (( "(") (binary_expression "puVar21 + 0x29bf70" (identifier "puVar21") (+ "+") (number_literal "0x29bf70")) () ")"))))) (; ";")) (expression_statement "(**(code **)(puVar21 + 0x29cd8c))(*(undefined4 *)(iVar3 + -0x5090));" (call_expression "(**(code **)(puVar21 + 0x29cd8c))(*(undefined4 *)(iVar3 + -0x5090))" (parenthesized_expression "(**(code **)(puVar21 + 0x29cd8c))" (( "(") (pointer_expression "**(code **)(puVar21 + 0x29cd8c)" (* "*") (pointer_expression "*(code **)(puVar21 + 0x29cd8c)" (* "*") (cast_expression "(code **)(puVar21 + 0x29cd8c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + 0x29cd8c)" (( "(") (binary_expression "puVar21 + 0x29cd8c" (identifier "puVar21") (+ "+") (number_literal "0x29cd8c")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar3 + -0x5090))" (( "(") (pointer_expression "*(undefined4 *)(iVar3 + -0x5090)" (* "*") (cast_expression "(undefined4 *)(iVar3 + -0x5090)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + -0x5090)" (( "(") (binary_expression "iVar3 + -0x5090" (identifier "iVar3") (+ "+") (number_literal "-0x5090")) () ")")))) () ")"))) (; ";")) (expression_statement "(**(code **)(puVar21 + 0x29cbdc))(*(undefined4 *)(iVar16 + -0x5088));" (call_expression "(**(code **)(puVar21 + 0x29cbdc))(*(undefined4 *)(iVar16 + -0x5088))" (parenthesized_expression "(**(code **)(puVar21 + 0x29cbdc))" (( "(") (pointer_expression "**(code **)(puVar21 + 0x29cbdc)" (* "*") (pointer_expression "*(code **)(puVar21 + 0x29cbdc)" (* "*") (cast_expression "(code **)(puVar21 + 0x29cbdc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + 0x29cbdc)" (( "(") (binary_expression "puVar21 + 0x29cbdc" (identifier "puVar21") (+ "+") (number_literal "0x29cbdc")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar16 + -0x5088))" (( "(") (pointer_expression "*(undefined4 *)(iVar16 + -0x5088)" (* "*") (cast_expression "(undefined4 *)(iVar16 + -0x5088)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + -0x5088)" (( "(") (binary_expression "iVar16 + -0x5088" (identifier "iVar16") (+ "+") (number_literal "-0x5088")) () ")")))) () ")"))) (; ";")) (expression_statement "iVar4 = (**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088));" (assignment_expression "iVar4 = (**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088))" (identifier "iVar4") (= "=") (call_expression "(**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088))" (parenthesized_expression "(**(code **)(puVar21 + 0x29c9b4))" (( "(") (pointer_expression "**(code **)(puVar21 + 0x29c9b4)" (* "*") (pointer_expression "*(code **)(puVar21 + 0x29c9b4)" (* "*") (cast_expression "(code **)(puVar21 + 0x29c9b4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + 0x29c9b4)" (( "(") (binary_expression "puVar21 + 0x29c9b4" (identifier "puVar21") (+ "+") (number_literal "0x29c9b4")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar16 + -0x5088))" (( "(") (pointer_expression "*(undefined4 *)(iVar16 + -0x5088)" (* "*") (cast_expression "(undefined4 *)(iVar16 + -0x5088)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + -0x5088)" (( "(") (binary_expression "iVar16 + -0x5088" (identifier "iVar16") (+ "+") (number_literal "-0x5088")) () ")")))) () ")")))) (; ";")) (if_statement "if (iVar4 == 0) {\n            iVar13 = 0;\n            piVar11 = piVar2;\n          }\n          else {\n            iVar13 = 0;\n            do {\n              piVar11 = piVar2 + iVar13;\n              if ((*(int *)(iVar4 + 0x2c) == 0) &&\n                 (iVar5 = (**(code **)(puVar21 + 0x29ccec))(*(undefined4 *)(iVar4 + 0xc),iVar1,0),\n                 iVar5 != 0)) {\n                *piVar11 = iVar4;\n                piVar11 = piVar2 + iVar13 + 1;\n                iVar13 = iVar13 + 1;\n              }\n              iVar4 = (**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088));\n            } while (iVar4 != 0);\n          }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            iVar13 = 0;\n            piVar11 = piVar2;\n          }" ({ "{") (expression_statement "iVar13 = 0;" (assignment_expression "iVar13 = 0" (identifier "iVar13") (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar11 = piVar2;" (assignment_expression "piVar11 = piVar2" (identifier "piVar11") (= "=") (identifier "piVar2")) (; ";")) (} "}")) (else_clause "else {\n            iVar13 = 0;\n            do {\n              piVar11 = piVar2 + iVar13;\n              if ((*(int *)(iVar4 + 0x2c) == 0) &&\n                 (iVar5 = (**(code **)(puVar21 + 0x29ccec))(*(undefined4 *)(iVar4 + 0xc),iVar1,0),\n                 iVar5 != 0)) {\n                *piVar11 = iVar4;\n                piVar11 = piVar2 + iVar13 + 1;\n                iVar13 = iVar13 + 1;\n              }\n              iVar4 = (**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088));\n            } while (iVar4 != 0);\n          }" (else "else") (compound_statement "{\n            iVar13 = 0;\n            do {\n              piVar11 = piVar2 + iVar13;\n              if ((*(int *)(iVar4 + 0x2c) == 0) &&\n                 (iVar5 = (**(code **)(puVar21 + 0x29ccec))(*(undefined4 *)(iVar4 + 0xc),iVar1,0),\n                 iVar5 != 0)) {\n                *piVar11 = iVar4;\n                piVar11 = piVar2 + iVar13 + 1;\n                iVar13 = iVar13 + 1;\n              }\n              iVar4 = (**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088));\n            } while (iVar4 != 0);\n          }" ({ "{") (expression_statement "iVar13 = 0;" (assignment_expression "iVar13 = 0" (identifier "iVar13") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n              piVar11 = piVar2 + iVar13;\n              if ((*(int *)(iVar4 + 0x2c) == 0) &&\n                 (iVar5 = (**(code **)(puVar21 + 0x29ccec))(*(undefined4 *)(iVar4 + 0xc),iVar1,0),\n                 iVar5 != 0)) {\n                *piVar11 = iVar4;\n                piVar11 = piVar2 + iVar13 + 1;\n                iVar13 = iVar13 + 1;\n              }\n              iVar4 = (**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088));\n            } while (iVar4 != 0);" (do "do") (compound_statement "{\n              piVar11 = piVar2 + iVar13;\n              if ((*(int *)(iVar4 + 0x2c) == 0) &&\n                 (iVar5 = (**(code **)(puVar21 + 0x29ccec))(*(undefined4 *)(iVar4 + 0xc),iVar1,0),\n                 iVar5 != 0)) {\n                *piVar11 = iVar4;\n                piVar11 = piVar2 + iVar13 + 1;\n                iVar13 = iVar13 + 1;\n              }\n              iVar4 = (**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088));\n            }" ({ "{") (expression_statement "piVar11 = piVar2 + iVar13;" (assignment_expression "piVar11 = piVar2 + iVar13" (identifier "piVar11") (= "=") (binary_expression "piVar2 + iVar13" (identifier "piVar2") (+ "+") (identifier "iVar13"))) (; ";")) (if_statement "if ((*(int *)(iVar4 + 0x2c) == 0) &&\n                 (iVar5 = (**(code **)(puVar21 + 0x29ccec))(*(undefined4 *)(iVar4 + 0xc),iVar1,0),\n                 iVar5 != 0)) {\n                *piVar11 = iVar4;\n                piVar11 = piVar2 + iVar13 + 1;\n                iVar13 = iVar13 + 1;\n              }" (if "if") (parenthesized_expression "((*(int *)(iVar4 + 0x2c) == 0) &&\n                 (iVar5 = (**(code **)(puVar21 + 0x29ccec))(*(undefined4 *)(iVar4 + 0xc),iVar1,0),\n                 iVar5 != 0))" (( "(") (binary_expression "(*(int *)(iVar4 + 0x2c) == 0) &&\n                 (iVar5 = (**(code **)(puVar21 + 0x29ccec))(*(undefined4 *)(iVar4 + 0xc),iVar1,0),\n                 iVar5 != 0)" (parenthesized_expression "(*(int *)(iVar4 + 0x2c) == 0)" (( "(") (binary_expression "*(int *)(iVar4 + 0x2c) == 0" (pointer_expression "*(int *)(iVar4 + 0x2c)" (* "*") (cast_expression "(int *)(iVar4 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x2c)" (( "(") (binary_expression "iVar4 + 0x2c" (identifier "iVar4") (+ "+") (number_literal "0x2c")) () ")")))) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(iVar5 = (**(code **)(puVar21 + 0x29ccec))(*(undefined4 *)(iVar4 + 0xc),iVar1,0),\n                 iVar5 != 0)" (( "(") (comma_expression "iVar5 = (**(code **)(puVar21 + 0x29ccec))(*(undefined4 *)(iVar4 + 0xc),iVar1,0),\n                 iVar5 != 0" (assignment_expression "iVar5 = (**(code **)(puVar21 + 0x29ccec))(*(undefined4 *)(iVar4 + 0xc),iVar1,0)" (identifier "iVar5") (= "=") (call_expression "(**(code **)(puVar21 + 0x29ccec))(*(undefined4 *)(iVar4 + 0xc),iVar1,0)" (parenthesized_expression "(**(code **)(puVar21 + 0x29ccec))" (( "(") (pointer_expression "**(code **)(puVar21 + 0x29ccec)" (* "*") (pointer_expression "*(code **)(puVar21 + 0x29ccec)" (* "*") (cast_expression "(code **)(puVar21 + 0x29ccec)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + 0x29ccec)" (( "(") (binary_expression "puVar21 + 0x29ccec" (identifier "puVar21") (+ "+") (number_literal "0x29ccec")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar4 + 0xc),iVar1,0)" (( "(") (pointer_expression "*(undefined4 *)(iVar4 + 0xc)" (* "*") (cast_expression "(undefined4 *)(iVar4 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0xc)" (( "(") (binary_expression "iVar4 + 0xc" (identifier "iVar4") (+ "+") (number_literal "0xc")) () ")")))) (, ",") (identifier "iVar1") (, ",") (number_literal "0") () ")")))) (, ",") (binary_expression "iVar5 != 0" (identifier "iVar5") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n                *piVar11 = iVar4;\n                piVar11 = piVar2 + iVar13 + 1;\n                iVar13 = iVar13 + 1;\n              }" ({ "{") (expression_statement "*piVar11 = iVar4;" (assignment_expression "*piVar11 = iVar4" (pointer_expression "*piVar11" (* "*") (identifier "piVar11")) (= "=") (identifier "iVar4")) (; ";")) (expression_statement "piVar11 = piVar2 + iVar13 + 1;" (assignment_expression "piVar11 = piVar2 + iVar13 + 1" (identifier "piVar11") (= "=") (binary_expression "piVar2 + iVar13 + 1" (binary_expression "piVar2 + iVar13" (identifier "piVar2") (+ "+") (identifier "iVar13")) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar13 = iVar13 + 1;" (assignment_expression "iVar13 = iVar13 + 1" (identifier "iVar13") (= "=") (binary_expression "iVar13 + 1" (identifier "iVar13") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (expression_statement "iVar4 = (**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088));" (assignment_expression "iVar4 = (**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088))" (identifier "iVar4") (= "=") (call_expression "(**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088))" (parenthesized_expression "(**(code **)(puVar21 + 0x29c9b4))" (( "(") (pointer_expression "**(code **)(puVar21 + 0x29c9b4)" (* "*") (pointer_expression "*(code **)(puVar21 + 0x29c9b4)" (* "*") (cast_expression "(code **)(puVar21 + 0x29c9b4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + 0x29c9b4)" (( "(") (binary_expression "puVar21 + 0x29c9b4" (identifier "puVar21") (+ "+") (number_literal "0x29c9b4")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar16 + -0x5088))" (( "(") (pointer_expression "*(undefined4 *)(iVar16 + -0x5088)" (* "*") (cast_expression "(undefined4 *)(iVar16 + -0x5088)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + -0x5088)" (( "(") (binary_expression "iVar16 + -0x5088" (identifier "iVar16") (+ "+") (number_literal "-0x5088")) () ")")))) () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar4 != 0)" (( "(") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0")) () ")")) (; ";")) (} "}")))) (expression_statement "(**(code **)(puVar21 + 0x29ca24))(*(undefined4 *)(iVar3 + -0x5090));" (call_expression "(**(code **)(puVar21 + 0x29ca24))(*(undefined4 *)(iVar3 + -0x5090))" (parenthesized_expression "(**(code **)(puVar21 + 0x29ca24))" (( "(") (pointer_expression "**(code **)(puVar21 + 0x29ca24)" (* "*") (pointer_expression "*(code **)(puVar21 + 0x29ca24)" (* "*") (cast_expression "(code **)(puVar21 + 0x29ca24)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + 0x29ca24)" (( "(") (binary_expression "puVar21 + 0x29ca24" (identifier "puVar21") (+ "+") (number_literal "0x29ca24")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar3 + -0x5090))" (( "(") (pointer_expression "*(undefined4 *)(iVar3 + -0x5090)" (* "*") (cast_expression "(undefined4 *)(iVar3 + -0x5090)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + -0x5090)" (( "(") (binary_expression "iVar3 + -0x5090" (identifier "iVar3") (+ "+") (number_literal "-0x5090")) () ")")))) () ")"))) (; ";")) (expression_statement "(**(code **)(puVar21 + 0x29cf78))(piVar2,iVar13,4,*(int *)(puVar21 + 0x29c13c) + -0x5800);" (call_expression "(**(code **)(puVar21 + 0x29cf78))(piVar2,iVar13,4,*(int *)(puVar21 + 0x29c13c) + -0x5800)" (parenthesized_expression "(**(code **)(puVar21 + 0x29cf78))" (( "(") (pointer_expression "**(code **)(puVar21 + 0x29cf78)" (* "*") (pointer_expression "*(code **)(puVar21 + 0x29cf78)" (* "*") (cast_expression "(code **)(puVar21 + 0x29cf78)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + 0x29cf78)" (( "(") (binary_expression "puVar21 + 0x29cf78" (identifier "puVar21") (+ "+") (number_literal "0x29cf78")) () ")"))))) () ")")) (argument_list "(piVar2,iVar13,4,*(int *)(puVar21 + 0x29c13c) + -0x5800)" (( "(") (identifier "piVar2") (, ",") (identifier "iVar13") (, ",") (number_literal "4") (, ",") (binary_expression "*(int *)(puVar21 + 0x29c13c) + -0x5800" (pointer_expression "*(int *)(puVar21 + 0x29c13c)" (* "*") (cast_expression "(int *)(puVar21 + 0x29c13c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + 0x29c13c)" (( "(") (binary_expression "puVar21 + 0x29c13c" (identifier "puVar21") (+ "+") (number_literal "0x29c13c")) () ")")))) (+ "+") (number_literal "-0x5800")) () ")"))) (; ";")) (expression_statement "*piVar6 = iVar13;" (assignment_expression "*piVar6 = iVar13" (pointer_expression "*piVar6" (* "*") (identifier "piVar6")) (= "=") (identifier "iVar13")) (; ";")) (expression_statement "*piVar11 = 0;" (assignment_expression "*piVar11 = 0" (pointer_expression "*piVar11" (* "*") (identifier "piVar11")) (= "=") (number_literal "0")) (; ";")) (return_statement "return piVar2;" (return "return") (identifier "piVar2") (; ";")) (} "}"))) (} "}"))) (return_statement "return (int *)0x0;" (return "return") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")) (; ";")) (} "}"))) (} "}")))) (expression_statement "puVar10 = puVar12 + -0x40d0;" (assignment_expression "puVar10 = puVar12 + -0x40d0" (identifier "puVar10") (= "=") (binary_expression "puVar12 + -0x40d0" (identifier "puVar12") (+ "+") (number_literal "-0x40d0"))) (; ";")) (expression_statement "pcVar22 = *(code **)(puVar21 + 0x29ccac);" (assignment_expression "pcVar22 = *(code **)(puVar21 + 0x29ccac)" (identifier "pcVar22") (= "=") (pointer_expression "*(code **)(puVar21 + 0x29ccac)" (* "*") (cast_expression "(code **)(puVar21 + 0x29ccac)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + 0x29ccac)" (( "(") (binary_expression "puVar21 + 0x29ccac" (identifier "puVar21") (+ "+") (number_literal "0x29ccac")) () ")"))))) (; ";")) (expression_statement "iVar1 = *(int *)(puVar21 + 0x29bf88) + -0x3e64;" (assignment_expression "iVar1 = *(int *)(puVar21 + 0x29bf88) + -0x3e64" (identifier "iVar1") (= "=") (binary_expression "*(int *)(puVar21 + 0x29bf88) + -0x3e64" (pointer_expression "*(int *)(puVar21 + 0x29bf88)" (* "*") (cast_expression "(int *)(puVar21 + 0x29bf88)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + 0x29bf88)" (( "(") (binary_expression "puVar21 + 0x29bf88" (identifier "puVar21") (+ "+") (number_literal "0x29bf88")) () ")")))) (+ "+") (number_literal "-0x3e64"))) (; ";")) (expression_statement "(*pcVar22)(iVar1,puVar10,0x1f5,*(int *)(puVar21 + 0x29bf88) + -0x3bd0);" (call_expression "(*pcVar22)(iVar1,puVar10,0x1f5,*(int *)(puVar21 + 0x29bf88) + -0x3bd0)" (parenthesized_expression "(*pcVar22)" (( "(") (pointer_expression "*pcVar22" (* "*") (identifier "pcVar22")) () ")")) (argument_list "(iVar1,puVar10,0x1f5,*(int *)(puVar21 + 0x29bf88) + -0x3bd0)" (( "(") (identifier "iVar1") (, ",") (identifier "puVar10") (, ",") (number_literal "0x1f5") (, ",") (binary_expression "*(int *)(puVar21 + 0x29bf88) + -0x3bd0" (pointer_expression "*(int *)(puVar21 + 0x29bf88)" (* "*") (cast_expression "(int *)(puVar21 + 0x29bf88)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + 0x29bf88)" (( "(") (binary_expression "puVar21 + 0x29bf88" (identifier "puVar21") (+ "+") (number_literal "0x29bf88")) () ")")))) (+ "+") (number_literal "-0x3bd0")) () ")"))) (; ";")) (expression_statement "piVar6 = *(int **)(pcVar22 + 0x29c670);" (assignment_expression "piVar6 = *(int **)(pcVar22 + 0x29c670)" (identifier "piVar6") (= "=") (pointer_expression "*(int **)(pcVar22 + 0x29c670)" (* "*") (cast_expression "(int **)(pcVar22 + 0x29c670)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar22 + 0x29c670)" (( "(") (binary_expression "pcVar22 + 0x29c670" (identifier "pcVar22") (+ "+") (number_literal "0x29c670")) () ")"))))) (; ";")) (expression_statement "uStack_b4 = param_5;" (assignment_expression "uStack_b4 = param_5" (identifier "uStack_b4") (= "=") (identifier "param_5")) (; ";")) (expression_statement "iStack_cc = *piVar6;" (assignment_expression "iStack_cc = *piVar6" (identifier "iStack_cc") (= "=") (pointer_expression "*piVar6" (* "*") (identifier "piVar6"))) (; ";")) (if_statement "if (iVar1 == 0) {\n    iVar1 = **(int **)(pcVar22 + 0x29c324);\n  }" (if "if") (parenthesized_expression "(iVar1 == 0)" (( "(") (binary_expression "iVar1 == 0" (identifier "iVar1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    iVar1 = **(int **)(pcVar22 + 0x29c324);\n  }" ({ "{") (expression_statement "iVar1 = **(int **)(pcVar22 + 0x29c324);" (assignment_expression "iVar1 = **(int **)(pcVar22 + 0x29c324)" (identifier "iVar1") (= "=") (pointer_expression "**(int **)(pcVar22 + 0x29c324)" (* "*") (pointer_expression "*(int **)(pcVar22 + 0x29c324)" (* "*") (cast_expression "(int **)(pcVar22 + 0x29c324)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar22 + 0x29c324)" (( "(") (binary_expression "pcVar22 + 0x29c324" (identifier "pcVar22") (+ "+") (number_literal "0x29c324")) () ")")))))) (; ";")) (} "}"))) (expression_statement "piVar11 = &iStack_d0;" (assignment_expression "piVar11 = &iStack_d0" (identifier "piVar11") (= "=") (pointer_expression "&iStack_d0" (& "&") (identifier "iStack_d0"))) (; ";")) (expression_statement "puStack_c8 = puVar12;" (assignment_expression "puStack_c8 = puVar12" (identifier "puStack_c8") (= "=") (identifier "puVar12")) (; ";")) (expression_statement "uStack_c4 = param_1;" (assignment_expression "uStack_c4 = param_1" (identifier "uStack_c4") (= "=") (identifier "param_1")) (; ";")) (expression_statement "piStack_c0 = param_2;" (assignment_expression "piStack_c0 = param_2" (identifier "piStack_c0") (= "=") (identifier "param_2")) (; ";")) (expression_statement "uStack_bc = param_3;" (assignment_expression "uStack_bc = param_3" (identifier "uStack_bc") (= "=") (identifier "param_3")) (; ";")) (expression_statement "uStack_b8 = param_4;" (assignment_expression "uStack_b8 = param_4" (identifier "uStack_b8") (= "=") (identifier "param_4")) (; ";")) (expression_statement "iStack_b0 = unaff_s6;" (assignment_expression "iStack_b0 = unaff_s6" (identifier "iStack_b0") (= "=") (identifier "unaff_s6")) (; ";")) (expression_statement "piStack_ac = unaff_s7;" (assignment_expression "piStack_ac = unaff_s7" (identifier "piStack_ac") (= "=") (identifier "unaff_s7")) (; ";")) (expression_statement "piVar2 = (int *)(**(code **)(pcVar22 + 0x29cc48))(*(int *)(pcVar22 + 0x29bd28) + 0x6c9c);" (assignment_expression "piVar2 = (int *)(**(code **)(pcVar22 + 0x29cc48))(*(int *)(pcVar22 + 0x29bd28) + 0x6c9c)" (identifier "piVar2") (= "=") (cast_expression "(int *)(**(code **)(pcVar22 + 0x29cc48))(*(int *)(pcVar22 + 0x29bd28) + 0x6c9c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcVar22 + 0x29cc48))(*(int *)(pcVar22 + 0x29bd28) + 0x6c9c)" (parenthesized_expression "(**(code **)(pcVar22 + 0x29cc48))" (( "(") (pointer_expression "**(code **)(pcVar22 + 0x29cc48)" (* "*") (pointer_expression "*(code **)(pcVar22 + 0x29cc48)" (* "*") (cast_expression "(code **)(pcVar22 + 0x29cc48)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar22 + 0x29cc48)" (( "(") (binary_expression "pcVar22 + 0x29cc48" (identifier "pcVar22") (+ "+") (number_literal "0x29cc48")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar22 + 0x29bd28) + 0x6c9c)" (( "(") (binary_expression "*(int *)(pcVar22 + 0x29bd28) + 0x6c9c" (pointer_expression "*(int *)(pcVar22 + 0x29bd28)" (* "*") (cast_expression "(int *)(pcVar22 + 0x29bd28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0x29bd28)" (( "(") (binary_expression "pcVar22 + 0x29bd28" (identifier "pcVar22") (+ "+") (number_literal "0x29bd28")) () ")")))) (+ "+") (number_literal "0x6c9c")) () ")"))))) (; ";")) (if_statement "if (piVar2 == (int *)0x0) {\n    piVar2 = (int *)0x0;\n  }\n  else {\n    iVar3 = *(int *)(pcVar22 + 0x29bd20);\n    if (0 < iStack_d0) {\n      iVar17 = 0;\n      iVar19 = *(int *)(pcVar22 + 0x29bd8c);\n      iVar4 = 0;\n      iVar15 = *(int *)(pcVar22 + 0x29bd90);\n      dVar25 = *(double *)(iVar3 + 0x1418);\n      iVar13 = *(int *)(pcVar22 + 0x29bd24);\n      iVar5 = *(int *)(pcVar22 + 0x29bd24);\n      iVar16 = iStack_d0;\n      piVar14 = piVar2;\n      do {\n        iVar9 = *piVar14;\n        piVar11 = *(int **)(iVar9 + 0x2c);\n        if (piVar11 == (int *)0x0) {\n          iVar16 = *(int *)(iVar9 + 8);\n          if ((iVar4 == 0) ||\n             (iVar7 = (**(code **)(pcVar22 + 0x29c550))(iVar4,iVar16), iVar4 = iVar16, iVar7 != 0))\n          {\n            if (iVar16 != 0) {\n              (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4620,iVar16);\n              iVar9 = *piVar14;\n            }\n            iVar16 = 0;\n            uVar8 = 0;\n            pcVar18 = (char *)(*(int *)(pcVar22 + 0x29bd24) + -0x3b94);\n            while( true ) {\n              if ((1 << (uVar8 & 0x1f) & *(uint *)(iVar9 + 4)) != 0) {\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar19 + 0x30e8,pcVar18);\n                iVar4 = (**(code **)(pcVar22 + 0x29c778))(pcVar18);\n                iVar16 = iVar16 + iVar4;\n              }\n              if (uVar8 == 0x1f) break;\n              pcVar18 = pcVar18 + 0x10;\n              uVar8 = uVar8 + 1;\n              if (*pcVar18 == '\0') break;\n              iVar9 = *piVar14;\n            }\n            if (iVar16 < 0xd) {\n              do {\n                iVar16 = iVar16 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              } while (iVar16 != 0xd);\n            }\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x3e3c);\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4644);\n            iVar9 = *piVar14;\n            iVar4 = *(int *)(iVar9 + 8);\n          }\n          if (*(int *)(iVar9 + 0x10) != 0) {\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x62ac);\n            iVar9 = *piVar14;\n            uVar8 = (**(code **)(pcVar22 + 0x29c778))(*(undefined4 *)(iVar9 + 0x10));\n            if (uVar8 < 0x11) {\n              do {\n                uVar8 = uVar8 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              } while (uVar8 != 0x11);\n              iVar9 = *piVar14;\n            }\n          }\n          dVar24 = (double)*(int *)(iVar9 + 0x18);\n          if (*(int *)(iVar9 + 0x18) < 0) {\n            dVar24 = dVar24 + *(double *)(iVar3 + 0x1418);\n          }\n          (**(code **)(pcVar22 + 0x29c984))\n                    (iVar1,iVar13 + -0x3e1c,(int)((ulonglong)dVar24 >> 0x20),SUB84(dVar24,0));\n          dVar24 = (double)*(int *)(*piVar14 + 0x1c);\n          if (*(int *)(*piVar14 + 0x1c) < 0) {\n            dVar24 = dVar24 + dVar25;\n          }\n          (**(code **)(pcVar22 + 0x29c984))\n                    (iVar1,iVar5 + -0x3e14,(int)((ulonglong)dVar24 >> 0x20),SUB84(dVar24,0));\n          puVar10 = *(undefined **)(*piVar14 + 0x14);\n          if (puVar10 != (undefined *)0x0) {\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x62ac);\n          }\n          piVar11 = (int *)(*(int *)(pcVar22 + 0x29bd2c) + -0x4bdc);\n          (**(code **)(pcVar22 + 0x29c984))(iVar1);\n          iVar16 = iStack_d0;\n        }\n        iVar17 = iVar17 + 1;\n        piVar14 = piVar14 + 1;\n      } while (iVar17 < iVar16);\n    }\n    (**(code **)(pcVar22 + 0x29c8cc))(iVar1);\n    (**(code **)(pcVar22 + 0x29c400))(piVar2);\n    piVar2 = (int *)0x1;\n  }" (if "if") (parenthesized_expression "(piVar2 == (int *)0x0)" (( "(") (binary_expression "piVar2 == (int *)0x0" (identifier "piVar2") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    piVar2 = (int *)0x0;\n  }" ({ "{") (expression_statement "piVar2 = (int *)0x0;" (assignment_expression "piVar2 = (int *)0x0" (identifier "piVar2") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}")) (else_clause "else {\n    iVar3 = *(int *)(pcVar22 + 0x29bd20);\n    if (0 < iStack_d0) {\n      iVar17 = 0;\n      iVar19 = *(int *)(pcVar22 + 0x29bd8c);\n      iVar4 = 0;\n      iVar15 = *(int *)(pcVar22 + 0x29bd90);\n      dVar25 = *(double *)(iVar3 + 0x1418);\n      iVar13 = *(int *)(pcVar22 + 0x29bd24);\n      iVar5 = *(int *)(pcVar22 + 0x29bd24);\n      iVar16 = iStack_d0;\n      piVar14 = piVar2;\n      do {\n        iVar9 = *piVar14;\n        piVar11 = *(int **)(iVar9 + 0x2c);\n        if (piVar11 == (int *)0x0) {\n          iVar16 = *(int *)(iVar9 + 8);\n          if ((iVar4 == 0) ||\n             (iVar7 = (**(code **)(pcVar22 + 0x29c550))(iVar4,iVar16), iVar4 = iVar16, iVar7 != 0))\n          {\n            if (iVar16 != 0) {\n              (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4620,iVar16);\n              iVar9 = *piVar14;\n            }\n            iVar16 = 0;\n            uVar8 = 0;\n            pcVar18 = (char *)(*(int *)(pcVar22 + 0x29bd24) + -0x3b94);\n            while( true ) {\n              if ((1 << (uVar8 & 0x1f) & *(uint *)(iVar9 + 4)) != 0) {\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar19 + 0x30e8,pcVar18);\n                iVar4 = (**(code **)(pcVar22 + 0x29c778))(pcVar18);\n                iVar16 = iVar16 + iVar4;\n              }\n              if (uVar8 == 0x1f) break;\n              pcVar18 = pcVar18 + 0x10;\n              uVar8 = uVar8 + 1;\n              if (*pcVar18 == '\0') break;\n              iVar9 = *piVar14;\n            }\n            if (iVar16 < 0xd) {\n              do {\n                iVar16 = iVar16 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              } while (iVar16 != 0xd);\n            }\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x3e3c);\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4644);\n            iVar9 = *piVar14;\n            iVar4 = *(int *)(iVar9 + 8);\n          }\n          if (*(int *)(iVar9 + 0x10) != 0) {\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x62ac);\n            iVar9 = *piVar14;\n            uVar8 = (**(code **)(pcVar22 + 0x29c778))(*(undefined4 *)(iVar9 + 0x10));\n            if (uVar8 < 0x11) {\n              do {\n                uVar8 = uVar8 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              } while (uVar8 != 0x11);\n              iVar9 = *piVar14;\n            }\n          }\n          dVar24 = (double)*(int *)(iVar9 + 0x18);\n          if (*(int *)(iVar9 + 0x18) < 0) {\n            dVar24 = dVar24 + *(double *)(iVar3 + 0x1418);\n          }\n          (**(code **)(pcVar22 + 0x29c984))\n                    (iVar1,iVar13 + -0x3e1c,(int)((ulonglong)dVar24 >> 0x20),SUB84(dVar24,0));\n          dVar24 = (double)*(int *)(*piVar14 + 0x1c);\n          if (*(int *)(*piVar14 + 0x1c) < 0) {\n            dVar24 = dVar24 + dVar25;\n          }\n          (**(code **)(pcVar22 + 0x29c984))\n                    (iVar1,iVar5 + -0x3e14,(int)((ulonglong)dVar24 >> 0x20),SUB84(dVar24,0));\n          puVar10 = *(undefined **)(*piVar14 + 0x14);\n          if (puVar10 != (undefined *)0x0) {\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x62ac);\n          }\n          piVar11 = (int *)(*(int *)(pcVar22 + 0x29bd2c) + -0x4bdc);\n          (**(code **)(pcVar22 + 0x29c984))(iVar1);\n          iVar16 = iStack_d0;\n        }\n        iVar17 = iVar17 + 1;\n        piVar14 = piVar14 + 1;\n      } while (iVar17 < iVar16);\n    }\n    (**(code **)(pcVar22 + 0x29c8cc))(iVar1);\n    (**(code **)(pcVar22 + 0x29c400))(piVar2);\n    piVar2 = (int *)0x1;\n  }" (else "else") (compound_statement "{\n    iVar3 = *(int *)(pcVar22 + 0x29bd20);\n    if (0 < iStack_d0) {\n      iVar17 = 0;\n      iVar19 = *(int *)(pcVar22 + 0x29bd8c);\n      iVar4 = 0;\n      iVar15 = *(int *)(pcVar22 + 0x29bd90);\n      dVar25 = *(double *)(iVar3 + 0x1418);\n      iVar13 = *(int *)(pcVar22 + 0x29bd24);\n      iVar5 = *(int *)(pcVar22 + 0x29bd24);\n      iVar16 = iStack_d0;\n      piVar14 = piVar2;\n      do {\n        iVar9 = *piVar14;\n        piVar11 = *(int **)(iVar9 + 0x2c);\n        if (piVar11 == (int *)0x0) {\n          iVar16 = *(int *)(iVar9 + 8);\n          if ((iVar4 == 0) ||\n             (iVar7 = (**(code **)(pcVar22 + 0x29c550))(iVar4,iVar16), iVar4 = iVar16, iVar7 != 0))\n          {\n            if (iVar16 != 0) {\n              (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4620,iVar16);\n              iVar9 = *piVar14;\n            }\n            iVar16 = 0;\n            uVar8 = 0;\n            pcVar18 = (char *)(*(int *)(pcVar22 + 0x29bd24) + -0x3b94);\n            while( true ) {\n              if ((1 << (uVar8 & 0x1f) & *(uint *)(iVar9 + 4)) != 0) {\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar19 + 0x30e8,pcVar18);\n                iVar4 = (**(code **)(pcVar22 + 0x29c778))(pcVar18);\n                iVar16 = iVar16 + iVar4;\n              }\n              if (uVar8 == 0x1f) break;\n              pcVar18 = pcVar18 + 0x10;\n              uVar8 = uVar8 + 1;\n              if (*pcVar18 == '\0') break;\n              iVar9 = *piVar14;\n            }\n            if (iVar16 < 0xd) {\n              do {\n                iVar16 = iVar16 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              } while (iVar16 != 0xd);\n            }\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x3e3c);\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4644);\n            iVar9 = *piVar14;\n            iVar4 = *(int *)(iVar9 + 8);\n          }\n          if (*(int *)(iVar9 + 0x10) != 0) {\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x62ac);\n            iVar9 = *piVar14;\n            uVar8 = (**(code **)(pcVar22 + 0x29c778))(*(undefined4 *)(iVar9 + 0x10));\n            if (uVar8 < 0x11) {\n              do {\n                uVar8 = uVar8 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              } while (uVar8 != 0x11);\n              iVar9 = *piVar14;\n            }\n          }\n          dVar24 = (double)*(int *)(iVar9 + 0x18);\n          if (*(int *)(iVar9 + 0x18) < 0) {\n            dVar24 = dVar24 + *(double *)(iVar3 + 0x1418);\n          }\n          (**(code **)(pcVar22 + 0x29c984))\n                    (iVar1,iVar13 + -0x3e1c,(int)((ulonglong)dVar24 >> 0x20),SUB84(dVar24,0));\n          dVar24 = (double)*(int *)(*piVar14 + 0x1c);\n          if (*(int *)(*piVar14 + 0x1c) < 0) {\n            dVar24 = dVar24 + dVar25;\n          }\n          (**(code **)(pcVar22 + 0x29c984))\n                    (iVar1,iVar5 + -0x3e14,(int)((ulonglong)dVar24 >> 0x20),SUB84(dVar24,0));\n          puVar10 = *(undefined **)(*piVar14 + 0x14);\n          if (puVar10 != (undefined *)0x0) {\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x62ac);\n          }\n          piVar11 = (int *)(*(int *)(pcVar22 + 0x29bd2c) + -0x4bdc);\n          (**(code **)(pcVar22 + 0x29c984))(iVar1);\n          iVar16 = iStack_d0;\n        }\n        iVar17 = iVar17 + 1;\n        piVar14 = piVar14 + 1;\n      } while (iVar17 < iVar16);\n    }\n    (**(code **)(pcVar22 + 0x29c8cc))(iVar1);\n    (**(code **)(pcVar22 + 0x29c400))(piVar2);\n    piVar2 = (int *)0x1;\n  }" ({ "{") (expression_statement "iVar3 = *(int *)(pcVar22 + 0x29bd20);" (assignment_expression "iVar3 = *(int *)(pcVar22 + 0x29bd20)" (identifier "iVar3") (= "=") (pointer_expression "*(int *)(pcVar22 + 0x29bd20)" (* "*") (cast_expression "(int *)(pcVar22 + 0x29bd20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0x29bd20)" (( "(") (binary_expression "pcVar22 + 0x29bd20" (identifier "pcVar22") (+ "+") (number_literal "0x29bd20")) () ")"))))) (; ";")) (if_statement "if (0 < iStack_d0) {\n      iVar17 = 0;\n      iVar19 = *(int *)(pcVar22 + 0x29bd8c);\n      iVar4 = 0;\n      iVar15 = *(int *)(pcVar22 + 0x29bd90);\n      dVar25 = *(double *)(iVar3 + 0x1418);\n      iVar13 = *(int *)(pcVar22 + 0x29bd24);\n      iVar5 = *(int *)(pcVar22 + 0x29bd24);\n      iVar16 = iStack_d0;\n      piVar14 = piVar2;\n      do {\n        iVar9 = *piVar14;\n        piVar11 = *(int **)(iVar9 + 0x2c);\n        if (piVar11 == (int *)0x0) {\n          iVar16 = *(int *)(iVar9 + 8);\n          if ((iVar4 == 0) ||\n             (iVar7 = (**(code **)(pcVar22 + 0x29c550))(iVar4,iVar16), iVar4 = iVar16, iVar7 != 0))\n          {\n            if (iVar16 != 0) {\n              (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4620,iVar16);\n              iVar9 = *piVar14;\n            }\n            iVar16 = 0;\n            uVar8 = 0;\n            pcVar18 = (char *)(*(int *)(pcVar22 + 0x29bd24) + -0x3b94);\n            while( true ) {\n              if ((1 << (uVar8 & 0x1f) & *(uint *)(iVar9 + 4)) != 0) {\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar19 + 0x30e8,pcVar18);\n                iVar4 = (**(code **)(pcVar22 + 0x29c778))(pcVar18);\n                iVar16 = iVar16 + iVar4;\n              }\n              if (uVar8 == 0x1f) break;\n              pcVar18 = pcVar18 + 0x10;\n              uVar8 = uVar8 + 1;\n              if (*pcVar18 == '\0') break;\n              iVar9 = *piVar14;\n            }\n            if (iVar16 < 0xd) {\n              do {\n                iVar16 = iVar16 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              } while (iVar16 != 0xd);\n            }\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x3e3c);\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4644);\n            iVar9 = *piVar14;\n            iVar4 = *(int *)(iVar9 + 8);\n          }\n          if (*(int *)(iVar9 + 0x10) != 0) {\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x62ac);\n            iVar9 = *piVar14;\n            uVar8 = (**(code **)(pcVar22 + 0x29c778))(*(undefined4 *)(iVar9 + 0x10));\n            if (uVar8 < 0x11) {\n              do {\n                uVar8 = uVar8 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              } while (uVar8 != 0x11);\n              iVar9 = *piVar14;\n            }\n          }\n          dVar24 = (double)*(int *)(iVar9 + 0x18);\n          if (*(int *)(iVar9 + 0x18) < 0) {\n            dVar24 = dVar24 + *(double *)(iVar3 + 0x1418);\n          }\n          (**(code **)(pcVar22 + 0x29c984))\n                    (iVar1,iVar13 + -0x3e1c,(int)((ulonglong)dVar24 >> 0x20),SUB84(dVar24,0));\n          dVar24 = (double)*(int *)(*piVar14 + 0x1c);\n          if (*(int *)(*piVar14 + 0x1c) < 0) {\n            dVar24 = dVar24 + dVar25;\n          }\n          (**(code **)(pcVar22 + 0x29c984))\n                    (iVar1,iVar5 + -0x3e14,(int)((ulonglong)dVar24 >> 0x20),SUB84(dVar24,0));\n          puVar10 = *(undefined **)(*piVar14 + 0x14);\n          if (puVar10 != (undefined *)0x0) {\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x62ac);\n          }\n          piVar11 = (int *)(*(int *)(pcVar22 + 0x29bd2c) + -0x4bdc);\n          (**(code **)(pcVar22 + 0x29c984))(iVar1);\n          iVar16 = iStack_d0;\n        }\n        iVar17 = iVar17 + 1;\n        piVar14 = piVar14 + 1;\n      } while (iVar17 < iVar16);\n    }" (if "if") (parenthesized_expression "(0 < iStack_d0)" (( "(") (binary_expression "0 < iStack_d0" (number_literal "0") (< "<") (identifier "iStack_d0")) () ")")) (compound_statement "{\n      iVar17 = 0;\n      iVar19 = *(int *)(pcVar22 + 0x29bd8c);\n      iVar4 = 0;\n      iVar15 = *(int *)(pcVar22 + 0x29bd90);\n      dVar25 = *(double *)(iVar3 + 0x1418);\n      iVar13 = *(int *)(pcVar22 + 0x29bd24);\n      iVar5 = *(int *)(pcVar22 + 0x29bd24);\n      iVar16 = iStack_d0;\n      piVar14 = piVar2;\n      do {\n        iVar9 = *piVar14;\n        piVar11 = *(int **)(iVar9 + 0x2c);\n        if (piVar11 == (int *)0x0) {\n          iVar16 = *(int *)(iVar9 + 8);\n          if ((iVar4 == 0) ||\n             (iVar7 = (**(code **)(pcVar22 + 0x29c550))(iVar4,iVar16), iVar4 = iVar16, iVar7 != 0))\n          {\n            if (iVar16 != 0) {\n              (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4620,iVar16);\n              iVar9 = *piVar14;\n            }\n            iVar16 = 0;\n            uVar8 = 0;\n            pcVar18 = (char *)(*(int *)(pcVar22 + 0x29bd24) + -0x3b94);\n            while( true ) {\n              if ((1 << (uVar8 & 0x1f) & *(uint *)(iVar9 + 4)) != 0) {\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar19 + 0x30e8,pcVar18);\n                iVar4 = (**(code **)(pcVar22 + 0x29c778))(pcVar18);\n                iVar16 = iVar16 + iVar4;\n              }\n              if (uVar8 == 0x1f) break;\n              pcVar18 = pcVar18 + 0x10;\n              uVar8 = uVar8 + 1;\n              if (*pcVar18 == '\0') break;\n              iVar9 = *piVar14;\n            }\n            if (iVar16 < 0xd) {\n              do {\n                iVar16 = iVar16 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              } while (iVar16 != 0xd);\n            }\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x3e3c);\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4644);\n            iVar9 = *piVar14;\n            iVar4 = *(int *)(iVar9 + 8);\n          }\n          if (*(int *)(iVar9 + 0x10) != 0) {\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x62ac);\n            iVar9 = *piVar14;\n            uVar8 = (**(code **)(pcVar22 + 0x29c778))(*(undefined4 *)(iVar9 + 0x10));\n            if (uVar8 < 0x11) {\n              do {\n                uVar8 = uVar8 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              } while (uVar8 != 0x11);\n              iVar9 = *piVar14;\n            }\n          }\n          dVar24 = (double)*(int *)(iVar9 + 0x18);\n          if (*(int *)(iVar9 + 0x18) < 0) {\n            dVar24 = dVar24 + *(double *)(iVar3 + 0x1418);\n          }\n          (**(code **)(pcVar22 + 0x29c984))\n                    (iVar1,iVar13 + -0x3e1c,(int)((ulonglong)dVar24 >> 0x20),SUB84(dVar24,0));\n          dVar24 = (double)*(int *)(*piVar14 + 0x1c);\n          if (*(int *)(*piVar14 + 0x1c) < 0) {\n            dVar24 = dVar24 + dVar25;\n          }\n          (**(code **)(pcVar22 + 0x29c984))\n                    (iVar1,iVar5 + -0x3e14,(int)((ulonglong)dVar24 >> 0x20),SUB84(dVar24,0));\n          puVar10 = *(undefined **)(*piVar14 + 0x14);\n          if (puVar10 != (undefined *)0x0) {\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x62ac);\n          }\n          piVar11 = (int *)(*(int *)(pcVar22 + 0x29bd2c) + -0x4bdc);\n          (**(code **)(pcVar22 + 0x29c984))(iVar1);\n          iVar16 = iStack_d0;\n        }\n        iVar17 = iVar17 + 1;\n        piVar14 = piVar14 + 1;\n      } while (iVar17 < iVar16);\n    }" ({ "{") (expression_statement "iVar17 = 0;" (assignment_expression "iVar17 = 0" (identifier "iVar17") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar19 = *(int *)(pcVar22 + 0x29bd8c);" (assignment_expression "iVar19 = *(int *)(pcVar22 + 0x29bd8c)" (identifier "iVar19") (= "=") (pointer_expression "*(int *)(pcVar22 + 0x29bd8c)" (* "*") (cast_expression "(int *)(pcVar22 + 0x29bd8c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0x29bd8c)" (( "(") (binary_expression "pcVar22 + 0x29bd8c" (identifier "pcVar22") (+ "+") (number_literal "0x29bd8c")) () ")"))))) (; ";")) (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" (identifier "iVar4") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar15 = *(int *)(pcVar22 + 0x29bd90);" (assignment_expression "iVar15 = *(int *)(pcVar22 + 0x29bd90)" (identifier "iVar15") (= "=") (pointer_expression "*(int *)(pcVar22 + 0x29bd90)" (* "*") (cast_expression "(int *)(pcVar22 + 0x29bd90)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0x29bd90)" (( "(") (binary_expression "pcVar22 + 0x29bd90" (identifier "pcVar22") (+ "+") (number_literal "0x29bd90")) () ")"))))) (; ";")) (expression_statement "dVar25 = *(double *)(iVar3 + 0x1418);" (assignment_expression "dVar25 = *(double *)(iVar3 + 0x1418)" (identifier "dVar25") (= "=") (pointer_expression "*(double *)(iVar3 + 0x1418)" (* "*") (cast_expression "(double *)(iVar3 + 0x1418)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x1418)" (( "(") (binary_expression "iVar3 + 0x1418" (identifier "iVar3") (+ "+") (number_literal "0x1418")) () ")"))))) (; ";")) (expression_statement "iVar13 = *(int *)(pcVar22 + 0x29bd24);" (assignment_expression "iVar13 = *(int *)(pcVar22 + 0x29bd24)" (identifier "iVar13") (= "=") (pointer_expression "*(int *)(pcVar22 + 0x29bd24)" (* "*") (cast_expression "(int *)(pcVar22 + 0x29bd24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0x29bd24)" (( "(") (binary_expression "pcVar22 + 0x29bd24" (identifier "pcVar22") (+ "+") (number_literal "0x29bd24")) () ")"))))) (; ";")) (expression_statement "iVar5 = *(int *)(pcVar22 + 0x29bd24);" (assignment_expression "iVar5 = *(int *)(pcVar22 + 0x29bd24)" (identifier "iVar5") (= "=") (pointer_expression "*(int *)(pcVar22 + 0x29bd24)" (* "*") (cast_expression "(int *)(pcVar22 + 0x29bd24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0x29bd24)" (( "(") (binary_expression "pcVar22 + 0x29bd24" (identifier "pcVar22") (+ "+") (number_literal "0x29bd24")) () ")"))))) (; ";")) (expression_statement "iVar16 = iStack_d0;" (assignment_expression "iVar16 = iStack_d0" (identifier "iVar16") (= "=") (identifier "iStack_d0")) (; ";")) (expression_statement "piVar14 = piVar2;" (assignment_expression "piVar14 = piVar2" (identifier "piVar14") (= "=") (identifier "piVar2")) (; ";")) (do_statement "do {\n        iVar9 = *piVar14;\n        piVar11 = *(int **)(iVar9 + 0x2c);\n        if (piVar11 == (int *)0x0) {\n          iVar16 = *(int *)(iVar9 + 8);\n          if ((iVar4 == 0) ||\n             (iVar7 = (**(code **)(pcVar22 + 0x29c550))(iVar4,iVar16), iVar4 = iVar16, iVar7 != 0))\n          {\n            if (iVar16 != 0) {\n              (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4620,iVar16);\n              iVar9 = *piVar14;\n            }\n            iVar16 = 0;\n            uVar8 = 0;\n            pcVar18 = (char *)(*(int *)(pcVar22 + 0x29bd24) + -0x3b94);\n            while( true ) {\n              if ((1 << (uVar8 & 0x1f) & *(uint *)(iVar9 + 4)) != 0) {\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar19 + 0x30e8,pcVar18);\n                iVar4 = (**(code **)(pcVar22 + 0x29c778))(pcVar18);\n                iVar16 = iVar16 + iVar4;\n              }\n              if (uVar8 == 0x1f) break;\n              pcVar18 = pcVar18 + 0x10;\n              uVar8 = uVar8 + 1;\n              if (*pcVar18 == '\0') break;\n              iVar9 = *piVar14;\n            }\n            if (iVar16 < 0xd) {\n              do {\n                iVar16 = iVar16 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              } while (iVar16 != 0xd);\n            }\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x3e3c);\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4644);\n            iVar9 = *piVar14;\n            iVar4 = *(int *)(iVar9 + 8);\n          }\n          if (*(int *)(iVar9 + 0x10) != 0) {\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x62ac);\n            iVar9 = *piVar14;\n            uVar8 = (**(code **)(pcVar22 + 0x29c778))(*(undefined4 *)(iVar9 + 0x10));\n            if (uVar8 < 0x11) {\n              do {\n                uVar8 = uVar8 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              } while (uVar8 != 0x11);\n              iVar9 = *piVar14;\n            }\n          }\n          dVar24 = (double)*(int *)(iVar9 + 0x18);\n          if (*(int *)(iVar9 + 0x18) < 0) {\n            dVar24 = dVar24 + *(double *)(iVar3 + 0x1418);\n          }\n          (**(code **)(pcVar22 + 0x29c984))\n                    (iVar1,iVar13 + -0x3e1c,(int)((ulonglong)dVar24 >> 0x20),SUB84(dVar24,0));\n          dVar24 = (double)*(int *)(*piVar14 + 0x1c);\n          if (*(int *)(*piVar14 + 0x1c) < 0) {\n            dVar24 = dVar24 + dVar25;\n          }\n          (**(code **)(pcVar22 + 0x29c984))\n                    (iVar1,iVar5 + -0x3e14,(int)((ulonglong)dVar24 >> 0x20),SUB84(dVar24,0));\n          puVar10 = *(undefined **)(*piVar14 + 0x14);\n          if (puVar10 != (undefined *)0x0) {\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x62ac);\n          }\n          piVar11 = (int *)(*(int *)(pcVar22 + 0x29bd2c) + -0x4bdc);\n          (**(code **)(pcVar22 + 0x29c984))(iVar1);\n          iVar16 = iStack_d0;\n        }\n        iVar17 = iVar17 + 1;\n        piVar14 = piVar14 + 1;\n      } while (iVar17 < iVar16);" (do "do") (compound_statement "{\n        iVar9 = *piVar14;\n        piVar11 = *(int **)(iVar9 + 0x2c);\n        if (piVar11 == (int *)0x0) {\n          iVar16 = *(int *)(iVar9 + 8);\n          if ((iVar4 == 0) ||\n             (iVar7 = (**(code **)(pcVar22 + 0x29c550))(iVar4,iVar16), iVar4 = iVar16, iVar7 != 0))\n          {\n            if (iVar16 != 0) {\n              (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4620,iVar16);\n              iVar9 = *piVar14;\n            }\n            iVar16 = 0;\n            uVar8 = 0;\n            pcVar18 = (char *)(*(int *)(pcVar22 + 0x29bd24) + -0x3b94);\n            while( true ) {\n              if ((1 << (uVar8 & 0x1f) & *(uint *)(iVar9 + 4)) != 0) {\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar19 + 0x30e8,pcVar18);\n                iVar4 = (**(code **)(pcVar22 + 0x29c778))(pcVar18);\n                iVar16 = iVar16 + iVar4;\n              }\n              if (uVar8 == 0x1f) break;\n              pcVar18 = pcVar18 + 0x10;\n              uVar8 = uVar8 + 1;\n              if (*pcVar18 == '\0') break;\n              iVar9 = *piVar14;\n            }\n            if (iVar16 < 0xd) {\n              do {\n                iVar16 = iVar16 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              } while (iVar16 != 0xd);\n            }\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x3e3c);\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4644);\n            iVar9 = *piVar14;\n            iVar4 = *(int *)(iVar9 + 8);\n          }\n          if (*(int *)(iVar9 + 0x10) != 0) {\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x62ac);\n            iVar9 = *piVar14;\n            uVar8 = (**(code **)(pcVar22 + 0x29c778))(*(undefined4 *)(iVar9 + 0x10));\n            if (uVar8 < 0x11) {\n              do {\n                uVar8 = uVar8 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              } while (uVar8 != 0x11);\n              iVar9 = *piVar14;\n            }\n          }\n          dVar24 = (double)*(int *)(iVar9 + 0x18);\n          if (*(int *)(iVar9 + 0x18) < 0) {\n            dVar24 = dVar24 + *(double *)(iVar3 + 0x1418);\n          }\n          (**(code **)(pcVar22 + 0x29c984))\n                    (iVar1,iVar13 + -0x3e1c,(int)((ulonglong)dVar24 >> 0x20),SUB84(dVar24,0));\n          dVar24 = (double)*(int *)(*piVar14 + 0x1c);\n          if (*(int *)(*piVar14 + 0x1c) < 0) {\n            dVar24 = dVar24 + dVar25;\n          }\n          (**(code **)(pcVar22 + 0x29c984))\n                    (iVar1,iVar5 + -0x3e14,(int)((ulonglong)dVar24 >> 0x20),SUB84(dVar24,0));\n          puVar10 = *(undefined **)(*piVar14 + 0x14);\n          if (puVar10 != (undefined *)0x0) {\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x62ac);\n          }\n          piVar11 = (int *)(*(int *)(pcVar22 + 0x29bd2c) + -0x4bdc);\n          (**(code **)(pcVar22 + 0x29c984))(iVar1);\n          iVar16 = iStack_d0;\n        }\n        iVar17 = iVar17 + 1;\n        piVar14 = piVar14 + 1;\n      }" ({ "{") (expression_statement "iVar9 = *piVar14;" (assignment_expression "iVar9 = *piVar14" (identifier "iVar9") (= "=") (pointer_expression "*piVar14" (* "*") (identifier "piVar14"))) (; ";")) (expression_statement "piVar11 = *(int **)(iVar9 + 0x2c);" (assignment_expression "piVar11 = *(int **)(iVar9 + 0x2c)" (identifier "piVar11") (= "=") (pointer_expression "*(int **)(iVar9 + 0x2c)" (* "*") (cast_expression "(int **)(iVar9 + 0x2c)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar9 + 0x2c)" (( "(") (binary_expression "iVar9 + 0x2c" (identifier "iVar9") (+ "+") (number_literal "0x2c")) () ")"))))) (; ";")) (if_statement "if (piVar11 == (int *)0x0) {\n          iVar16 = *(int *)(iVar9 + 8);\n          if ((iVar4 == 0) ||\n             (iVar7 = (**(code **)(pcVar22 + 0x29c550))(iVar4,iVar16), iVar4 = iVar16, iVar7 != 0))\n          {\n            if (iVar16 != 0) {\n              (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4620,iVar16);\n              iVar9 = *piVar14;\n            }\n            iVar16 = 0;\n            uVar8 = 0;\n            pcVar18 = (char *)(*(int *)(pcVar22 + 0x29bd24) + -0x3b94);\n            while( true ) {\n              if ((1 << (uVar8 & 0x1f) & *(uint *)(iVar9 + 4)) != 0) {\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar19 + 0x30e8,pcVar18);\n                iVar4 = (**(code **)(pcVar22 + 0x29c778))(pcVar18);\n                iVar16 = iVar16 + iVar4;\n              }\n              if (uVar8 == 0x1f) break;\n              pcVar18 = pcVar18 + 0x10;\n              uVar8 = uVar8 + 1;\n              if (*pcVar18 == '\0') break;\n              iVar9 = *piVar14;\n            }\n            if (iVar16 < 0xd) {\n              do {\n                iVar16 = iVar16 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              } while (iVar16 != 0xd);\n            }\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x3e3c);\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4644);\n            iVar9 = *piVar14;\n            iVar4 = *(int *)(iVar9 + 8);\n          }\n          if (*(int *)(iVar9 + 0x10) != 0) {\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x62ac);\n            iVar9 = *piVar14;\n            uVar8 = (**(code **)(pcVar22 + 0x29c778))(*(undefined4 *)(iVar9 + 0x10));\n            if (uVar8 < 0x11) {\n              do {\n                uVar8 = uVar8 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              } while (uVar8 != 0x11);\n              iVar9 = *piVar14;\n            }\n          }\n          dVar24 = (double)*(int *)(iVar9 + 0x18);\n          if (*(int *)(iVar9 + 0x18) < 0) {\n            dVar24 = dVar24 + *(double *)(iVar3 + 0x1418);\n          }\n          (**(code **)(pcVar22 + 0x29c984))\n                    (iVar1,iVar13 + -0x3e1c,(int)((ulonglong)dVar24 >> 0x20),SUB84(dVar24,0));\n          dVar24 = (double)*(int *)(*piVar14 + 0x1c);\n          if (*(int *)(*piVar14 + 0x1c) < 0) {\n            dVar24 = dVar24 + dVar25;\n          }\n          (**(code **)(pcVar22 + 0x29c984))\n                    (iVar1,iVar5 + -0x3e14,(int)((ulonglong)dVar24 >> 0x20),SUB84(dVar24,0));\n          puVar10 = *(undefined **)(*piVar14 + 0x14);\n          if (puVar10 != (undefined *)0x0) {\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x62ac);\n          }\n          piVar11 = (int *)(*(int *)(pcVar22 + 0x29bd2c) + -0x4bdc);\n          (**(code **)(pcVar22 + 0x29c984))(iVar1);\n          iVar16 = iStack_d0;\n        }" (if "if") (parenthesized_expression "(piVar11 == (int *)0x0)" (( "(") (binary_expression "piVar11 == (int *)0x0" (identifier "piVar11") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          iVar16 = *(int *)(iVar9 + 8);\n          if ((iVar4 == 0) ||\n             (iVar7 = (**(code **)(pcVar22 + 0x29c550))(iVar4,iVar16), iVar4 = iVar16, iVar7 != 0))\n          {\n            if (iVar16 != 0) {\n              (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4620,iVar16);\n              iVar9 = *piVar14;\n            }\n            iVar16 = 0;\n            uVar8 = 0;\n            pcVar18 = (char *)(*(int *)(pcVar22 + 0x29bd24) + -0x3b94);\n            while( true ) {\n              if ((1 << (uVar8 & 0x1f) & *(uint *)(iVar9 + 4)) != 0) {\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar19 + 0x30e8,pcVar18);\n                iVar4 = (**(code **)(pcVar22 + 0x29c778))(pcVar18);\n                iVar16 = iVar16 + iVar4;\n              }\n              if (uVar8 == 0x1f) break;\n              pcVar18 = pcVar18 + 0x10;\n              uVar8 = uVar8 + 1;\n              if (*pcVar18 == '\0') break;\n              iVar9 = *piVar14;\n            }\n            if (iVar16 < 0xd) {\n              do {\n                iVar16 = iVar16 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              } while (iVar16 != 0xd);\n            }\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x3e3c);\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4644);\n            iVar9 = *piVar14;\n            iVar4 = *(int *)(iVar9 + 8);\n          }\n          if (*(int *)(iVar9 + 0x10) != 0) {\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x62ac);\n            iVar9 = *piVar14;\n            uVar8 = (**(code **)(pcVar22 + 0x29c778))(*(undefined4 *)(iVar9 + 0x10));\n            if (uVar8 < 0x11) {\n              do {\n                uVar8 = uVar8 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              } while (uVar8 != 0x11);\n              iVar9 = *piVar14;\n            }\n          }\n          dVar24 = (double)*(int *)(iVar9 + 0x18);\n          if (*(int *)(iVar9 + 0x18) < 0) {\n            dVar24 = dVar24 + *(double *)(iVar3 + 0x1418);\n          }\n          (**(code **)(pcVar22 + 0x29c984))\n                    (iVar1,iVar13 + -0x3e1c,(int)((ulonglong)dVar24 >> 0x20),SUB84(dVar24,0));\n          dVar24 = (double)*(int *)(*piVar14 + 0x1c);\n          if (*(int *)(*piVar14 + 0x1c) < 0) {\n            dVar24 = dVar24 + dVar25;\n          }\n          (**(code **)(pcVar22 + 0x29c984))\n                    (iVar1,iVar5 + -0x3e14,(int)((ulonglong)dVar24 >> 0x20),SUB84(dVar24,0));\n          puVar10 = *(undefined **)(*piVar14 + 0x14);\n          if (puVar10 != (undefined *)0x0) {\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x62ac);\n          }\n          piVar11 = (int *)(*(int *)(pcVar22 + 0x29bd2c) + -0x4bdc);\n          (**(code **)(pcVar22 + 0x29c984))(iVar1);\n          iVar16 = iStack_d0;\n        }" ({ "{") (expression_statement "iVar16 = *(int *)(iVar9 + 8);" (assignment_expression "iVar16 = *(int *)(iVar9 + 8)" (identifier "iVar16") (= "=") (pointer_expression "*(int *)(iVar9 + 8)" (* "*") (cast_expression "(int *)(iVar9 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 8)" (( "(") (binary_expression "iVar9 + 8" (identifier "iVar9") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (if_statement "if ((iVar4 == 0) ||\n             (iVar7 = (**(code **)(pcVar22 + 0x29c550))(iVar4,iVar16), iVar4 = iVar16, iVar7 != 0))\n          {\n            if (iVar16 != 0) {\n              (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4620,iVar16);\n              iVar9 = *piVar14;\n            }\n            iVar16 = 0;\n            uVar8 = 0;\n            pcVar18 = (char *)(*(int *)(pcVar22 + 0x29bd24) + -0x3b94);\n            while( true ) {\n              if ((1 << (uVar8 & 0x1f) & *(uint *)(iVar9 + 4)) != 0) {\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar19 + 0x30e8,pcVar18);\n                iVar4 = (**(code **)(pcVar22 + 0x29c778))(pcVar18);\n                iVar16 = iVar16 + iVar4;\n              }\n              if (uVar8 == 0x1f) break;\n              pcVar18 = pcVar18 + 0x10;\n              uVar8 = uVar8 + 1;\n              if (*pcVar18 == '\0') break;\n              iVar9 = *piVar14;\n            }\n            if (iVar16 < 0xd) {\n              do {\n                iVar16 = iVar16 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              } while (iVar16 != 0xd);\n            }\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x3e3c);\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4644);\n            iVar9 = *piVar14;\n            iVar4 = *(int *)(iVar9 + 8);\n          }" (if "if") (parenthesized_expression "((iVar4 == 0) ||\n             (iVar7 = (**(code **)(pcVar22 + 0x29c550))(iVar4,iVar16), iVar4 = iVar16, iVar7 != 0))" (( "(") (binary_expression "(iVar4 == 0) ||\n             (iVar7 = (**(code **)(pcVar22 + 0x29c550))(iVar4,iVar16), iVar4 = iVar16, iVar7 != 0)" (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(iVar7 = (**(code **)(pcVar22 + 0x29c550))(iVar4,iVar16), iVar4 = iVar16, iVar7 != 0)" (( "(") (comma_expression "iVar7 = (**(code **)(pcVar22 + 0x29c550))(iVar4,iVar16), iVar4 = iVar16, iVar7 != 0" (assignment_expression "iVar7 = (**(code **)(pcVar22 + 0x29c550))(iVar4,iVar16)" (identifier "iVar7") (= "=") (call_expression "(**(code **)(pcVar22 + 0x29c550))(iVar4,iVar16)" (parenthesized_expression "(**(code **)(pcVar22 + 0x29c550))" (( "(") (pointer_expression "**(code **)(pcVar22 + 0x29c550)" (* "*") (pointer_expression "*(code **)(pcVar22 + 0x29c550)" (* "*") (cast_expression "(code **)(pcVar22 + 0x29c550)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar22 + 0x29c550)" (( "(") (binary_expression "pcVar22 + 0x29c550" (identifier "pcVar22") (+ "+") (number_literal "0x29c550")) () ")"))))) () ")")) (argument_list "(iVar4,iVar16)" (( "(") (identifier "iVar4") (, ",") (identifier "iVar16") () ")")))) (, ",") (comma_expression "iVar4 = iVar16, iVar7 != 0" (assignment_expression "iVar4 = iVar16" (identifier "iVar4") (= "=") (identifier "iVar16")) (, ",") (binary_expression "iVar7 != 0" (identifier "iVar7") (!= "!=") (number_literal "0")))) () ")"))) () ")")) (compound_statement "{\n            if (iVar16 != 0) {\n              (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4620,iVar16);\n              iVar9 = *piVar14;\n            }\n            iVar16 = 0;\n            uVar8 = 0;\n            pcVar18 = (char *)(*(int *)(pcVar22 + 0x29bd24) + -0x3b94);\n            while( true ) {\n              if ((1 << (uVar8 & 0x1f) & *(uint *)(iVar9 + 4)) != 0) {\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar19 + 0x30e8,pcVar18);\n                iVar4 = (**(code **)(pcVar22 + 0x29c778))(pcVar18);\n                iVar16 = iVar16 + iVar4;\n              }\n              if (uVar8 == 0x1f) break;\n              pcVar18 = pcVar18 + 0x10;\n              uVar8 = uVar8 + 1;\n              if (*pcVar18 == '\0') break;\n              iVar9 = *piVar14;\n            }\n            if (iVar16 < 0xd) {\n              do {\n                iVar16 = iVar16 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              } while (iVar16 != 0xd);\n            }\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x3e3c);\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4644);\n            iVar9 = *piVar14;\n            iVar4 = *(int *)(iVar9 + 8);\n          }" ({ "{") (if_statement "if (iVar16 != 0) {\n              (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4620,iVar16);\n              iVar9 = *piVar14;\n            }" (if "if") (parenthesized_expression "(iVar16 != 0)" (( "(") (binary_expression "iVar16 != 0" (identifier "iVar16") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4620,iVar16);\n              iVar9 = *piVar14;\n            }" ({ "{") (expression_statement "(**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4620,iVar16);" (call_expression "(**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4620,iVar16)" (parenthesized_expression "(**(code **)(pcVar22 + 0x29c984))" (( "(") (pointer_expression "**(code **)(pcVar22 + 0x29c984)" (* "*") (pointer_expression "*(code **)(pcVar22 + 0x29c984)" (* "*") (cast_expression "(code **)(pcVar22 + 0x29c984)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar22 + 0x29c984)" (( "(") (binary_expression "pcVar22 + 0x29c984" (identifier "pcVar22") (+ "+") (number_literal "0x29c984")) () ")"))))) () ")")) (argument_list "(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4620,iVar16)" (( "(") (identifier "iVar1") (, ",") (binary_expression "*(int *)(pcVar22 + 0x29bd20) + 0x4620" (pointer_expression "*(int *)(pcVar22 + 0x29bd20)" (* "*") (cast_expression "(int *)(pcVar22 + 0x29bd20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0x29bd20)" (( "(") (binary_expression "pcVar22 + 0x29bd20" (identifier "pcVar22") (+ "+") (number_literal "0x29bd20")) () ")")))) (+ "+") (number_literal "0x4620")) (, ",") (identifier "iVar16") () ")"))) (; ";")) (expression_statement "iVar9 = *piVar14;" (assignment_expression "iVar9 = *piVar14" (identifier "iVar9") (= "=") (pointer_expression "*piVar14" (* "*") (identifier "piVar14"))) (; ";")) (} "}"))) (expression_statement "iVar16 = 0;" (assignment_expression "iVar16 = 0" (identifier "iVar16") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" (identifier "uVar8") (= "=") (number_literal "0")) (; ";")) (expression_statement "pcVar18 = (char *)(*(int *)(pcVar22 + 0x29bd24) + -0x3b94);" (assignment_expression "pcVar18 = (char *)(*(int *)(pcVar22 + 0x29bd24) + -0x3b94)" (identifier "pcVar18") (= "=") (cast_expression "(char *)(*(int *)(pcVar22 + 0x29bd24) + -0x3b94)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar22 + 0x29bd24) + -0x3b94)" (( "(") (binary_expression "*(int *)(pcVar22 + 0x29bd24) + -0x3b94" (pointer_expression "*(int *)(pcVar22 + 0x29bd24)" (* "*") (cast_expression "(int *)(pcVar22 + 0x29bd24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0x29bd24)" (( "(") (binary_expression "pcVar22 + 0x29bd24" (identifier "pcVar22") (+ "+") (number_literal "0x29bd24")) () ")")))) (+ "+") (number_literal "-0x3b94")) () ")")))) (; ";")) (while_statement "while( true ) {\n              if ((1 << (uVar8 & 0x1f) & *(uint *)(iVar9 + 4)) != 0) {\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar19 + 0x30e8,pcVar18);\n                iVar4 = (**(code **)(pcVar22 + 0x29c778))(pcVar18);\n                iVar16 = iVar16 + iVar4;\n              }\n              if (uVar8 == 0x1f) break;\n              pcVar18 = pcVar18 + 0x10;\n              uVar8 = uVar8 + 1;\n              if (*pcVar18 == '\0') break;\n              iVar9 = *piVar14;\n            }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n              if ((1 << (uVar8 & 0x1f) & *(uint *)(iVar9 + 4)) != 0) {\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar19 + 0x30e8,pcVar18);\n                iVar4 = (**(code **)(pcVar22 + 0x29c778))(pcVar18);\n                iVar16 = iVar16 + iVar4;\n              }\n              if (uVar8 == 0x1f) break;\n              pcVar18 = pcVar18 + 0x10;\n              uVar8 = uVar8 + 1;\n              if (*pcVar18 == '\0') break;\n              iVar9 = *piVar14;\n            }" ({ "{") (if_statement "if ((1 << (uVar8 & 0x1f) & *(uint *)(iVar9 + 4)) != 0) {\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar19 + 0x30e8,pcVar18);\n                iVar4 = (**(code **)(pcVar22 + 0x29c778))(pcVar18);\n                iVar16 = iVar16 + iVar4;\n              }" (if "if") (parenthesized_expression "((1 << (uVar8 & 0x1f) & *(uint *)(iVar9 + 4)) != 0)" (( "(") (binary_expression "(1 << (uVar8 & 0x1f) & *(uint *)(iVar9 + 4)) != 0" (parenthesized_expression "(1 << (uVar8 & 0x1f) & *(uint *)(iVar9 + 4))" (( "(") (binary_expression "1 << (uVar8 & 0x1f) & *(uint *)(iVar9 + 4)" (binary_expression "1 << (uVar8 & 0x1f)" (number_literal "1") (<< "<<") (parenthesized_expression "(uVar8 & 0x1f)" (( "(") (binary_expression "uVar8 & 0x1f" (identifier "uVar8") (& "&") (number_literal "0x1f")) () ")"))) (& "&") (pointer_expression "*(uint *)(iVar9 + 4)" (* "*") (cast_expression "(uint *)(iVar9 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 4)" (( "(") (binary_expression "iVar9 + 4" (identifier "iVar9") (+ "+") (number_literal "4")) () ")"))))) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar19 + 0x30e8,pcVar18);\n                iVar4 = (**(code **)(pcVar22 + 0x29c778))(pcVar18);\n                iVar16 = iVar16 + iVar4;\n              }" ({ "{") (expression_statement "(**(code **)(pcVar22 + 0x29c984))(iVar1,iVar19 + 0x30e8,pcVar18);" (call_expression "(**(code **)(pcVar22 + 0x29c984))(iVar1,iVar19 + 0x30e8,pcVar18)" (parenthesized_expression "(**(code **)(pcVar22 + 0x29c984))" (( "(") (pointer_expression "**(code **)(pcVar22 + 0x29c984)" (* "*") (pointer_expression "*(code **)(pcVar22 + 0x29c984)" (* "*") (cast_expression "(code **)(pcVar22 + 0x29c984)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar22 + 0x29c984)" (( "(") (binary_expression "pcVar22 + 0x29c984" (identifier "pcVar22") (+ "+") (number_literal "0x29c984")) () ")"))))) () ")")) (argument_list "(iVar1,iVar19 + 0x30e8,pcVar18)" (( "(") (identifier "iVar1") (, ",") (binary_expression "iVar19 + 0x30e8" (identifier "iVar19") (+ "+") (number_literal "0x30e8")) (, ",") (identifier "pcVar18") () ")"))) (; ";")) (expression_statement "iVar4 = (**(code **)(pcVar22 + 0x29c778))(pcVar18);" (assignment_expression "iVar4 = (**(code **)(pcVar22 + 0x29c778))(pcVar18)" (identifier "iVar4") (= "=") (call_expression "(**(code **)(pcVar22 + 0x29c778))(pcVar18)" (parenthesized_expression "(**(code **)(pcVar22 + 0x29c778))" (( "(") (pointer_expression "**(code **)(pcVar22 + 0x29c778)" (* "*") (pointer_expression "*(code **)(pcVar22 + 0x29c778)" (* "*") (cast_expression "(code **)(pcVar22 + 0x29c778)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar22 + 0x29c778)" (( "(") (binary_expression "pcVar22 + 0x29c778" (identifier "pcVar22") (+ "+") (number_literal "0x29c778")) () ")"))))) () ")")) (argument_list "(pcVar18)" (( "(") (identifier "pcVar18") () ")")))) (; ";")) (expression_statement "iVar16 = iVar16 + iVar4;" (assignment_expression "iVar16 = iVar16 + iVar4" (identifier "iVar16") (= "=") (binary_expression "iVar16 + iVar4" (identifier "iVar16") (+ "+") (identifier "iVar4"))) (; ";")) (} "}"))) (if_statement "if (uVar8 == 0x1f) break;" (if "if") (parenthesized_expression "(uVar8 == 0x1f)" (( "(") (binary_expression "uVar8 == 0x1f" (identifier "uVar8") (== "==") (number_literal "0x1f")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "pcVar18 = pcVar18 + 0x10;" (assignment_expression "pcVar18 = pcVar18 + 0x10" (identifier "pcVar18") (= "=") (binary_expression "pcVar18 + 0x10" (identifier "pcVar18") (+ "+") (number_literal "0x10"))) (; ";")) (expression_statement "uVar8 = uVar8 + 1;" (assignment_expression "uVar8 = uVar8 + 1" (identifier "uVar8") (= "=") (binary_expression "uVar8 + 1" (identifier "uVar8") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (*pcVar18 == '\0') break;" (if "if") (parenthesized_expression "(*pcVar18 == '\0')" (( "(") (binary_expression "*pcVar18 == '\0'" (pointer_expression "*pcVar18" (* "*") (identifier "pcVar18")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar9 = *piVar14;" (assignment_expression "iVar9 = *piVar14" (identifier "iVar9") (= "=") (pointer_expression "*piVar14" (* "*") (identifier "piVar14"))) (; ";")) (} "}"))) (if_statement "if (iVar16 < 0xd) {\n              do {\n                iVar16 = iVar16 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              } while (iVar16 != 0xd);\n            }" (if "if") (parenthesized_expression "(iVar16 < 0xd)" (( "(") (binary_expression "iVar16 < 0xd" (identifier "iVar16") (< "<") (number_literal "0xd")) () ")")) (compound_statement "{\n              do {\n                iVar16 = iVar16 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              } while (iVar16 != 0xd);\n            }" ({ "{") (do_statement "do {\n                iVar16 = iVar16 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              } while (iVar16 != 0xd);" (do "do") (compound_statement "{\n                iVar16 = iVar16 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              }" ({ "{") (expression_statement "iVar16 = iVar16 + 1;" (assignment_expression "iVar16 = iVar16 + 1" (identifier "iVar16") (= "=") (binary_expression "iVar16 + 1" (identifier "iVar16") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "(**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);" (call_expression "(**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158)" (parenthesized_expression "(**(code **)(pcVar22 + 0x29c984))" (( "(") (pointer_expression "**(code **)(pcVar22 + 0x29c984)" (* "*") (pointer_expression "*(code **)(pcVar22 + 0x29c984)" (* "*") (cast_expression "(code **)(pcVar22 + 0x29c984)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar22 + 0x29c984)" (( "(") (binary_expression "pcVar22 + 0x29c984" (identifier "pcVar22") (+ "+") (number_literal "0x29c984")) () ")"))))) () ")")) (argument_list "(iVar1,iVar15 + 0x2158)" (( "(") (identifier "iVar1") (, ",") (binary_expression "iVar15 + 0x2158" (identifier "iVar15") (+ "+") (number_literal "0x2158")) () ")"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar16 != 0xd)" (( "(") (binary_expression "iVar16 != 0xd" (identifier "iVar16") (!= "!=") (number_literal "0xd")) () ")")) (; ";")) (} "}"))) (expression_statement "(**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x3e3c);" (call_expression "(**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x3e3c)" (parenthesized_expression "(**(code **)(pcVar22 + 0x29c984))" (( "(") (pointer_expression "**(code **)(pcVar22 + 0x29c984)" (* "*") (pointer_expression "*(code **)(pcVar22 + 0x29c984)" (* "*") (cast_expression "(code **)(pcVar22 + 0x29c984)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar22 + 0x29c984)" (( "(") (binary_expression "pcVar22 + 0x29c984" (identifier "pcVar22") (+ "+") (number_literal "0x29c984")) () ")"))))) () ")")) (argument_list "(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x3e3c)" (( "(") (identifier "iVar1") (, ",") (binary_expression "*(int *)(pcVar22 + 0x29bd24) + -0x3e3c" (pointer_expression "*(int *)(pcVar22 + 0x29bd24)" (* "*") (cast_expression "(int *)(pcVar22 + 0x29bd24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0x29bd24)" (( "(") (binary_expression "pcVar22 + 0x29bd24" (identifier "pcVar22") (+ "+") (number_literal "0x29bd24")) () ")")))) (+ "+") (number_literal "-0x3e3c")) () ")"))) (; ";")) (expression_statement "(**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4644);" (call_expression "(**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4644)" (parenthesized_expression "(**(code **)(pcVar22 + 0x29c984))" (( "(") (pointer_expression "**(code **)(pcVar22 + 0x29c984)" (* "*") (pointer_expression "*(code **)(pcVar22 + 0x29c984)" (* "*") (cast_expression "(code **)(pcVar22 + 0x29c984)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar22 + 0x29c984)" (( "(") (binary_expression "pcVar22 + 0x29c984" (identifier "pcVar22") (+ "+") (number_literal "0x29c984")) () ")"))))) () ")")) (argument_list "(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4644)" (( "(") (identifier "iVar1") (, ",") (binary_expression "*(int *)(pcVar22 + 0x29bd20) + 0x4644" (pointer_expression "*(int *)(pcVar22 + 0x29bd20)" (* "*") (cast_expression "(int *)(pcVar22 + 0x29bd20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0x29bd20)" (( "(") (binary_expression "pcVar22 + 0x29bd20" (identifier "pcVar22") (+ "+") (number_literal "0x29bd20")) () ")")))) (+ "+") (number_literal "0x4644")) () ")"))) (; ";")) (expression_statement "iVar9 = *piVar14;" (assignment_expression "iVar9 = *piVar14" (identifier "iVar9") (= "=") (pointer_expression "*piVar14" (* "*") (identifier "piVar14"))) (; ";")) (expression_statement "iVar4 = *(int *)(iVar9 + 8);" (assignment_expression "iVar4 = *(int *)(iVar9 + 8)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(iVar9 + 8)" (* "*") (cast_expression "(int *)(iVar9 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 8)" (( "(") (binary_expression "iVar9 + 8" (identifier "iVar9") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (} "}"))) (if_statement "if (*(int *)(iVar9 + 0x10) != 0) {\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x62ac);\n            iVar9 = *piVar14;\n            uVar8 = (**(code **)(pcVar22 + 0x29c778))(*(undefined4 *)(iVar9 + 0x10));\n            if (uVar8 < 0x11) {\n              do {\n                uVar8 = uVar8 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              } while (uVar8 != 0x11);\n              iVar9 = *piVar14;\n            }\n          }" (if "if") (parenthesized_expression "(*(int *)(iVar9 + 0x10) != 0)" (( "(") (binary_expression "*(int *)(iVar9 + 0x10) != 0" (pointer_expression "*(int *)(iVar9 + 0x10)" (* "*") (cast_expression "(int *)(iVar9 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x10)" (( "(") (binary_expression "iVar9 + 0x10" (identifier "iVar9") (+ "+") (number_literal "0x10")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x62ac);\n            iVar9 = *piVar14;\n            uVar8 = (**(code **)(pcVar22 + 0x29c778))(*(undefined4 *)(iVar9 + 0x10));\n            if (uVar8 < 0x11) {\n              do {\n                uVar8 = uVar8 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              } while (uVar8 != 0x11);\n              iVar9 = *piVar14;\n            }\n          }" ({ "{") (expression_statement "(**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x62ac);" (call_expression "(**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x62ac)" (parenthesized_expression "(**(code **)(pcVar22 + 0x29c984))" (( "(") (pointer_expression "**(code **)(pcVar22 + 0x29c984)" (* "*") (pointer_expression "*(code **)(pcVar22 + 0x29c984)" (* "*") (cast_expression "(code **)(pcVar22 + 0x29c984)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar22 + 0x29c984)" (( "(") (binary_expression "pcVar22 + 0x29c984" (identifier "pcVar22") (+ "+") (number_literal "0x29c984")) () ")"))))) () ")")) (argument_list "(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x62ac)" (( "(") (identifier "iVar1") (, ",") (binary_expression "*(int *)(pcVar22 + 0x29bd24) + -0x62ac" (pointer_expression "*(int *)(pcVar22 + 0x29bd24)" (* "*") (cast_expression "(int *)(pcVar22 + 0x29bd24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0x29bd24)" (( "(") (binary_expression "pcVar22 + 0x29bd24" (identifier "pcVar22") (+ "+") (number_literal "0x29bd24")) () ")")))) (+ "+") (number_literal "-0x62ac")) () ")"))) (; ";")) (expression_statement "iVar9 = *piVar14;" (assignment_expression "iVar9 = *piVar14" (identifier "iVar9") (= "=") (pointer_expression "*piVar14" (* "*") (identifier "piVar14"))) (; ";")) (expression_statement "uVar8 = (**(code **)(pcVar22 + 0x29c778))(*(undefined4 *)(iVar9 + 0x10));" (assignment_expression "uVar8 = (**(code **)(pcVar22 + 0x29c778))(*(undefined4 *)(iVar9 + 0x10))" (identifier "uVar8") (= "=") (call_expression "(**(code **)(pcVar22 + 0x29c778))(*(undefined4 *)(iVar9 + 0x10))" (parenthesized_expression "(**(code **)(pcVar22 + 0x29c778))" (( "(") (pointer_expression "**(code **)(pcVar22 + 0x29c778)" (* "*") (pointer_expression "*(code **)(pcVar22 + 0x29c778)" (* "*") (cast_expression "(code **)(pcVar22 + 0x29c778)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar22 + 0x29c778)" (( "(") (binary_expression "pcVar22 + 0x29c778" (identifier "pcVar22") (+ "+") (number_literal "0x29c778")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar9 + 0x10))" (( "(") (pointer_expression "*(undefined4 *)(iVar9 + 0x10)" (* "*") (cast_expression "(undefined4 *)(iVar9 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x10)" (( "(") (binary_expression "iVar9 + 0x10" (identifier "iVar9") (+ "+") (number_literal "0x10")) () ")")))) () ")")))) (; ";")) (if_statement "if (uVar8 < 0x11) {\n              do {\n                uVar8 = uVar8 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              } while (uVar8 != 0x11);\n              iVar9 = *piVar14;\n            }" (if "if") (parenthesized_expression "(uVar8 < 0x11)" (( "(") (binary_expression "uVar8 < 0x11" (identifier "uVar8") (< "<") (number_literal "0x11")) () ")")) (compound_statement "{\n              do {\n                uVar8 = uVar8 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              } while (uVar8 != 0x11);\n              iVar9 = *piVar14;\n            }" ({ "{") (do_statement "do {\n                uVar8 = uVar8 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              } while (uVar8 != 0x11);" (do "do") (compound_statement "{\n                uVar8 = uVar8 + 1;\n                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);\n              }" ({ "{") (expression_statement "uVar8 = uVar8 + 1;" (assignment_expression "uVar8 = uVar8 + 1" (identifier "uVar8") (= "=") (binary_expression "uVar8 + 1" (identifier "uVar8") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "(**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);" (call_expression "(**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158)" (parenthesized_expression "(**(code **)(pcVar22 + 0x29c984))" (( "(") (pointer_expression "**(code **)(pcVar22 + 0x29c984)" (* "*") (pointer_expression "*(code **)(pcVar22 + 0x29c984)" (* "*") (cast_expression "(code **)(pcVar22 + 0x29c984)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar22 + 0x29c984)" (( "(") (binary_expression "pcVar22 + 0x29c984" (identifier "pcVar22") (+ "+") (number_literal "0x29c984")) () ")"))))) () ")")) (argument_list "(iVar1,iVar15 + 0x2158)" (( "(") (identifier "iVar1") (, ",") (binary_expression "iVar15 + 0x2158" (identifier "iVar15") (+ "+") (number_literal "0x2158")) () ")"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar8 != 0x11)" (( "(") (binary_expression "uVar8 != 0x11" (identifier "uVar8") (!= "!=") (number_literal "0x11")) () ")")) (; ";")) (expression_statement "iVar9 = *piVar14;" (assignment_expression "iVar9 = *piVar14" (identifier "iVar9") (= "=") (pointer_expression "*piVar14" (* "*") (identifier "piVar14"))) (; ";")) (} "}"))) (} "}"))) (expression_statement "dVar24 = (double)*(int *)(iVar9 + 0x18);" (assignment_expression "dVar24 = (double)*(int *)(iVar9 + 0x18)" (identifier "dVar24") (= "=") (cast_expression "(double)*(int *)(iVar9 + 0x18)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (pointer_expression "*(int *)(iVar9 + 0x18)" (* "*") (cast_expression "(int *)(iVar9 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x18)" (( "(") (binary_expression "iVar9 + 0x18" (identifier "iVar9") (+ "+") (number_literal "0x18")) () ")")))))) (; ";")) (if_statement "if (*(int *)(iVar9 + 0x18) < 0) {\n            dVar24 = dVar24 + *(double *)(iVar3 + 0x1418);\n          }" (if "if") (parenthesized_expression "(*(int *)(iVar9 + 0x18) < 0)" (( "(") (binary_expression "*(int *)(iVar9 + 0x18) < 0" (pointer_expression "*(int *)(iVar9 + 0x18)" (* "*") (cast_expression "(int *)(iVar9 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x18)" (( "(") (binary_expression "iVar9 + 0x18" (identifier "iVar9") (+ "+") (number_literal "0x18")) () ")")))) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n            dVar24 = dVar24 + *(double *)(iVar3 + 0x1418);\n          }" ({ "{") (expression_statement "dVar24 = dVar24 + *(double *)(iVar3 + 0x1418);" (assignment_expression "dVar24 = dVar24 + *(double *)(iVar3 + 0x1418)" (identifier "dVar24") (= "=") (binary_expression "dVar24 + *(double *)(iVar3 + 0x1418)" (identifier "dVar24") (+ "+") (pointer_expression "*(double *)(iVar3 + 0x1418)" (* "*") (cast_expression "(double *)(iVar3 + 0x1418)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x1418)" (( "(") (binary_expression "iVar3 + 0x1418" (identifier "iVar3") (+ "+") (number_literal "0x1418")) () ")")))))) (; ";")) (} "}"))) (expression_statement "(**(code **)(pcVar22 + 0x29c984))\n                    (iVar1,iVar13 + -0x3e1c,(int)((ulonglong)dVar24 >> 0x20),SUB84(dVar24,0));" (call_expression "(**(code **)(pcVar22 + 0x29c984))\n                    (iVar1,iVar13 + -0x3e1c,(int)((ulonglong)dVar24 >> 0x20),SUB84(dVar24,0))" (parenthesized_expression "(**(code **)(pcVar22 + 0x29c984))" (( "(") (pointer_expression "**(code **)(pcVar22 + 0x29c984)" (* "*") (pointer_expression "*(code **)(pcVar22 + 0x29c984)" (* "*") (cast_expression "(code **)(pcVar22 + 0x29c984)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar22 + 0x29c984)" (( "(") (binary_expression "pcVar22 + 0x29c984" (identifier "pcVar22") (+ "+") (number_literal "0x29c984")) () ")"))))) () ")")) (argument_list "(iVar1,iVar13 + -0x3e1c,(int)((ulonglong)dVar24 >> 0x20),SUB84(dVar24,0))" (( "(") (identifier "iVar1") (, ",") (binary_expression "iVar13 + -0x3e1c" (identifier "iVar13") (+ "+") (number_literal "-0x3e1c")) (, ",") (cast_expression "(int)((ulonglong)dVar24 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)dVar24 >> 0x20)" (( "(") (binary_expression "(ulonglong)dVar24 >> 0x20" (cast_expression "(ulonglong)dVar24" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "dVar24")) (>> ">>") (number_literal "0x20")) () ")"))) (, ",") (call_expression "SUB84(dVar24,0)" (identifier "SUB84") (argument_list "(dVar24,0)" (( "(") (identifier "dVar24") (, ",") (number_literal "0") () ")"))) () ")"))) (; ";")) (expression_statement "dVar24 = (double)*(int *)(*piVar14 + 0x1c);" (assignment_expression "dVar24 = (double)*(int *)(*piVar14 + 0x1c)" (identifier "dVar24") (= "=") (cast_expression "(double)*(int *)(*piVar14 + 0x1c)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (pointer_expression "*(int *)(*piVar14 + 0x1c)" (* "*") (cast_expression "(int *)(*piVar14 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar14 + 0x1c)" (( "(") (binary_expression "*piVar14 + 0x1c" (pointer_expression "*piVar14" (* "*") (identifier "piVar14")) (+ "+") (number_literal "0x1c")) () ")")))))) (; ";")) (if_statement "if (*(int *)(*piVar14 + 0x1c) < 0) {\n            dVar24 = dVar24 + dVar25;\n          }" (if "if") (parenthesized_expression "(*(int *)(*piVar14 + 0x1c) < 0)" (( "(") (binary_expression "*(int *)(*piVar14 + 0x1c) < 0" (pointer_expression "*(int *)(*piVar14 + 0x1c)" (* "*") (cast_expression "(int *)(*piVar14 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar14 + 0x1c)" (( "(") (binary_expression "*piVar14 + 0x1c" (pointer_expression "*piVar14" (* "*") (identifier "piVar14")) (+ "+") (number_literal "0x1c")) () ")")))) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n            dVar24 = dVar24 + dVar25;\n          }" ({ "{") (expression_statement "dVar24 = dVar24 + dVar25;" (assignment_expression "dVar24 = dVar24 + dVar25" (identifier "dVar24") (= "=") (binary_expression "dVar24 + dVar25" (identifier "dVar24") (+ "+") (identifier "dVar25"))) (; ";")) (} "}"))) (expression_statement "(**(code **)(pcVar22 + 0x29c984))\n                    (iVar1,iVar5 + -0x3e14,(int)((ulonglong)dVar24 >> 0x20),SUB84(dVar24,0));" (call_expression "(**(code **)(pcVar22 + 0x29c984))\n                    (iVar1,iVar5 + -0x3e14,(int)((ulonglong)dVar24 >> 0x20),SUB84(dVar24,0))" (parenthesized_expression "(**(code **)(pcVar22 + 0x29c984))" (( "(") (pointer_expression "**(code **)(pcVar22 + 0x29c984)" (* "*") (pointer_expression "*(code **)(pcVar22 + 0x29c984)" (* "*") (cast_expression "(code **)(pcVar22 + 0x29c984)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar22 + 0x29c984)" (( "(") (binary_expression "pcVar22 + 0x29c984" (identifier "pcVar22") (+ "+") (number_literal "0x29c984")) () ")"))))) () ")")) (argument_list "(iVar1,iVar5 + -0x3e14,(int)((ulonglong)dVar24 >> 0x20),SUB84(dVar24,0))" (( "(") (identifier "iVar1") (, ",") (binary_expression "iVar5 + -0x3e14" (identifier "iVar5") (+ "+") (number_literal "-0x3e14")) (, ",") (cast_expression "(int)((ulonglong)dVar24 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)dVar24 >> 0x20)" (( "(") (binary_expression "(ulonglong)dVar24 >> 0x20" (cast_expression "(ulonglong)dVar24" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "dVar24")) (>> ">>") (number_literal "0x20")) () ")"))) (, ",") (call_expression "SUB84(dVar24,0)" (identifier "SUB84") (argument_list "(dVar24,0)" (( "(") (identifier "dVar24") (, ",") (number_literal "0") () ")"))) () ")"))) (; ";")) (expression_statement "puVar10 = *(undefined **)(*piVar14 + 0x14);" (assignment_expression "puVar10 = *(undefined **)(*piVar14 + 0x14)" (identifier "puVar10") (= "=") (pointer_expression "*(undefined **)(*piVar14 + 0x14)" (* "*") (cast_expression "(undefined **)(*piVar14 + 0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar14 + 0x14)" (( "(") (binary_expression "*piVar14 + 0x14" (pointer_expression "*piVar14" (* "*") (identifier "piVar14")) (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (if_statement "if (puVar10 != (undefined *)0x0) {\n            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x62ac);\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 **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x62ac);\n          }" ({ "{") (expression_statement "(**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x62ac);" (call_expression "(**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x62ac)" (parenthesized_expression "(**(code **)(pcVar22 + 0x29c984))" (( "(") (pointer_expression "**(code **)(pcVar22 + 0x29c984)" (* "*") (pointer_expression "*(code **)(pcVar22 + 0x29c984)" (* "*") (cast_expression "(code **)(pcVar22 + 0x29c984)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar22 + 0x29c984)" (( "(") (binary_expression "pcVar22 + 0x29c984" (identifier "pcVar22") (+ "+") (number_literal "0x29c984")) () ")"))))) () ")")) (argument_list "(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x62ac)" (( "(") (identifier "iVar1") (, ",") (binary_expression "*(int *)(pcVar22 + 0x29bd24) + -0x62ac" (pointer_expression "*(int *)(pcVar22 + 0x29bd24)" (* "*") (cast_expression "(int *)(pcVar22 + 0x29bd24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0x29bd24)" (( "(") (binary_expression "pcVar22 + 0x29bd24" (identifier "pcVar22") (+ "+") (number_literal "0x29bd24")) () ")")))) (+ "+") (number_literal "-0x62ac")) () ")"))) (; ";")) (} "}"))) (expression_statement "piVar11 = (int *)(*(int *)(pcVar22 + 0x29bd2c) + -0x4bdc);" (assignment_expression "piVar11 = (int *)(*(int *)(pcVar22 + 0x29bd2c) + -0x4bdc)" (identifier "piVar11") (= "=") (cast_expression "(int *)(*(int *)(pcVar22 + 0x29bd2c) + -0x4bdc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar22 + 0x29bd2c) + -0x4bdc)" (( "(") (binary_expression "*(int *)(pcVar22 + 0x29bd2c) + -0x4bdc" (pointer_expression "*(int *)(pcVar22 + 0x29bd2c)" (* "*") (cast_expression "(int *)(pcVar22 + 0x29bd2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0x29bd2c)" (( "(") (binary_expression "pcVar22 + 0x29bd2c" (identifier "pcVar22") (+ "+") (number_literal "0x29bd2c")) () ")")))) (+ "+") (number_literal "-0x4bdc")) () ")")))) (; ";")) (expression_statement "(**(code **)(pcVar22 + 0x29c984))(iVar1);" (call_expression "(**(code **)(pcVar22 + 0x29c984))(iVar1)" (parenthesized_expression "(**(code **)(pcVar22 + 0x29c984))" (( "(") (pointer_expression "**(code **)(pcVar22 + 0x29c984)" (* "*") (pointer_expression "*(code **)(pcVar22 + 0x29c984)" (* "*") (cast_expression "(code **)(pcVar22 + 0x29c984)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar22 + 0x29c984)" (( "(") (binary_expression "pcVar22 + 0x29c984" (identifier "pcVar22") (+ "+") (number_literal "0x29c984")) () ")"))))) () ")")) (argument_list "(iVar1)" (( "(") (identifier "iVar1") () ")"))) (; ";")) (expression_statement "iVar16 = iStack_d0;" (assignment_expression "iVar16 = iStack_d0" (identifier "iVar16") (= "=") (identifier "iStack_d0")) (; ";")) (} "}"))) (expression_statement "iVar17 = iVar17 + 1;" (assignment_expression "iVar17 = iVar17 + 1" (identifier "iVar17") (= "=") (binary_expression "iVar17 + 1" (identifier "iVar17") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "piVar14 = piVar14 + 1;" (assignment_expression "piVar14 = piVar14 + 1" (identifier "piVar14") (= "=") (binary_expression "piVar14 + 1" (identifier "piVar14") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar17 < iVar16)" (( "(") (binary_expression "iVar17 < iVar16" (identifier "iVar17") (< "<") (identifier "iVar16")) () ")")) (; ";")) (} "}"))) (expression_statement "(**(code **)(pcVar22 + 0x29c8cc))(iVar1);" (call_expression "(**(code **)(pcVar22 + 0x29c8cc))(iVar1)" (parenthesized_expression "(**(code **)(pcVar22 + 0x29c8cc))" (( "(") (pointer_expression "**(code **)(pcVar22 + 0x29c8cc)" (* "*") (pointer_expression "*(code **)(pcVar22 + 0x29c8cc)" (* "*") (cast_expression "(code **)(pcVar22 + 0x29c8cc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar22 + 0x29c8cc)" (( "(") (binary_expression "pcVar22 + 0x29c8cc" (identifier "pcVar22") (+ "+") (number_literal "0x29c8cc")) () ")"))))) () ")")) (argument_list "(iVar1)" (( "(") (identifier "iVar1") () ")"))) (; ";")) (expression_statement "(**(code **)(pcVar22 + 0x29c400))(piVar2);" (call_expression "(**(code **)(pcVar22 + 0x29c400))(piVar2)" (parenthesized_expression "(**(code **)(pcVar22 + 0x29c400))" (( "(") (pointer_expression "**(code **)(pcVar22 + 0x29c400)" (* "*") (pointer_expression "*(code **)(pcVar22 + 0x29c400)" (* "*") (cast_expression "(code **)(pcVar22 + 0x29c400)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar22 + 0x29c400)" (( "(") (binary_expression "pcVar22 + 0x29c400" (identifier "pcVar22") (+ "+") (number_literal "0x29c400")) () ")"))))) () ")")) (argument_list "(piVar2)" (( "(") (identifier "piVar2") () ")"))) (; ";")) (expression_statement "piVar2 = (int *)0x1;" (assignment_expression "piVar2 = (int *)0x1" (identifier "piVar2") (= "=") (cast_expression "(int *)0x1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (} "}")))) (if_statement "if (iStack_cc == *piVar6) {\n    return piVar2;\n  }" (if "if") (parenthesized_expression "(iStack_cc == *piVar6)" (( "(") (binary_expression "iStack_cc == *piVar6" (identifier "iStack_cc") (== "==") (pointer_expression "*piVar6" (* "*") (identifier "piVar6"))) () ")")) (compound_statement "{\n    return piVar2;\n  }" ({ "{") (return_statement "return piVar2;" (return "return") (identifier "piVar2") (; ";")) (} "}"))) (expression_statement "pcVar22 = *(code **)(pcVar22 + 0x29c4a4);" (assignment_expression "pcVar22 = *(code **)(pcVar22 + 0x29c4a4)" (identifier "pcVar22") (= "=") (pointer_expression "*(code **)(pcVar22 + 0x29c4a4)" (* "*") (cast_expression "(code **)(pcVar22 + 0x29c4a4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar22 + 0x29c4a4)" (( "(") (binary_expression "pcVar22 + 0x29c4a4" (identifier "pcVar22") (+ "+") (number_literal "0x29c4a4")) () ")"))))) (; ";")) (expression_statement "iVar3 = iStack_cc;" (assignment_expression "iVar3 = iStack_cc" (identifier "iVar3") (= "=") (identifier "iStack_cc")) (; ";")) (expression_statement "(*pcVar22)();" (call_expression "(*pcVar22)()" (parenthesized_expression "(*pcVar22)" (( "(") (pointer_expression "*pcVar22" (* "*") (identifier "pcVar22")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (iVar3 == 0) {\n    (**(code **)(pcVar22 + 0x29c674))\n              (*(int *)(pcVar22 + 0x29b94c) + 0x45e0,*(int *)(pcVar22 + 0x29b950) + -0x40d0,0x250,\n               *(int *)(pcVar22 + 0x29b950) + -0x3bec);\n  }\n  else {\n    iVar1 = *(int *)(pcVar22 + 0x29b950);\n    (**(code **)(pcVar22 + 0x29c24c))\n              (0x8000,iVar1 + -0x40d0,*(int *)(pcVar22 + 0x29b950) + -0x3bf8,0x251,\n               *(int *)(pcVar22 + 0x29b950) + -0x62ac,iVar3);\n    if (piVar11 != (int *)0x0) {\n      *piVar11 = 0;\n      iVar1 = FUN_0010b2dc(puVar10);\n      if (iVar1 != 0) {\n        iVar16 = *(int *)(pcVar22 + 0x29b938);\n        iVar1 = (**(code **)(pcVar22 + 0x29c460))(*(undefined4 *)(iVar16 + -0x5088));\n        piVar6 = (int *)(**(code **)(pcVar22 + 0x29c578))(iVar1 + 1,4);\n        if (piVar6 != (int *)0x0) {\n          iVar1 = *(int *)(pcVar22 + 0x29b938);\n          (**(code **)(pcVar22 + 0x29c754))(*(undefined4 *)(iVar1 + -0x5090));\n          (**(code **)(pcVar22 + 0x29c5a4))(*(undefined4 *)(iVar16 + -0x5088));\n          iVar4 = (**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088));\n          if (iVar4 == 0) {\n            iVar13 = 0;\n            piVar2 = piVar6;\n          }\n          else {\n            iVar13 = 0;\nLAB_0010d0bc:\n            do {\n              if (*(int *)(iVar4 + 0x2c) == 0) {\n                uVar20 = *(undefined4 *)(iVar4 + 0xc);\n                iVar4 = (**(code **)(pcVar22 + 0x29c6b4))(uVar20,iVar3,0);\n                if (iVar4 != 0) {\n                  iVar15 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c120))(uVar20);\n                  uVar20 = *(undefined4 *)(iVar16 + -0x5088);\n                  piVar6[iVar13] = iVar4;\n                  iVar5 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c37c))(uVar20);\n                  iVar13 = iVar15;\n                  piVar2 = piVar6 + iVar5;\n                  if (iVar4 == 0) break;\n                  goto LAB_0010d0bc;\n                }\n              }\n              iVar4 = (**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088));\n              piVar2 = piVar6 + iVar13;\n            } while (iVar4 != 0);\n          }\n          (**(code **)(pcVar22 + 0x29c3ec))(*(undefined4 *)(iVar1 + -0x5090));\n          (**(code **)(pcVar22 + 0x29c940))(piVar6,iVar13,4,*(int *)(pcVar22 + 0x29bb04) + -0x578c);\n          *piVar11 = iVar13;\n          *piVar2 = 0;\n          return piVar6;\n        }\n      }\n      return (int *)0x0;\n    }\n  }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    (**(code **)(pcVar22 + 0x29c674))\n              (*(int *)(pcVar22 + 0x29b94c) + 0x45e0,*(int *)(pcVar22 + 0x29b950) + -0x40d0,0x250,\n               *(int *)(pcVar22 + 0x29b950) + -0x3bec);\n  }" ({ "{") (expression_statement "(**(code **)(pcVar22 + 0x29c674))\n              (*(int *)(pcVar22 + 0x29b94c) + 0x45e0,*(int *)(pcVar22 + 0x29b950) + -0x40d0,0x250,\n               *(int *)(pcVar22 + 0x29b950) + -0x3bec);" (call_expression "(**(code **)(pcVar22 + 0x29c674))\n              (*(int *)(pcVar22 + 0x29b94c) + 0x45e0,*(int *)(pcVar22 + 0x29b950) + -0x40d0,0x250,\n               *(int *)(pcVar22 + 0x29b950) + -0x3bec)" (parenthesized_expression "(**(code **)(pcVar22 + 0x29c674))" (( "(") (pointer_expression "**(code **)(pcVar22 + 0x29c674)" (* "*") (pointer_expression "*(code **)(pcVar22 + 0x29c674)" (* "*") (cast_expression "(code **)(pcVar22 + 0x29c674)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar22 + 0x29c674)" (( "(") (binary_expression "pcVar22 + 0x29c674" (identifier "pcVar22") (+ "+") (number_literal "0x29c674")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar22 + 0x29b94c) + 0x45e0,*(int *)(pcVar22 + 0x29b950) + -0x40d0,0x250,\n               *(int *)(pcVar22 + 0x29b950) + -0x3bec)" (( "(") (binary_expression "*(int *)(pcVar22 + 0x29b94c) + 0x45e0" (pointer_expression "*(int *)(pcVar22 + 0x29b94c)" (* "*") (cast_expression "(int *)(pcVar22 + 0x29b94c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0x29b94c)" (( "(") (binary_expression "pcVar22 + 0x29b94c" (identifier "pcVar22") (+ "+") (number_literal "0x29b94c")) () ")")))) (+ "+") (number_literal "0x45e0")) (, ",") (binary_expression "*(int *)(pcVar22 + 0x29b950) + -0x40d0" (pointer_expression "*(int *)(pcVar22 + 0x29b950)" (* "*") (cast_expression "(int *)(pcVar22 + 0x29b950)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0x29b950)" (( "(") (binary_expression "pcVar22 + 0x29b950" (identifier "pcVar22") (+ "+") (number_literal "0x29b950")) () ")")))) (+ "+") (number_literal "-0x40d0")) (, ",") (number_literal "0x250") (, ",") (binary_expression "*(int *)(pcVar22 + 0x29b950) + -0x3bec" (pointer_expression "*(int *)(pcVar22 + 0x29b950)" (* "*") (cast_expression "(int *)(pcVar22 + 0x29b950)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0x29b950)" (( "(") (binary_expression "pcVar22 + 0x29b950" (identifier "pcVar22") (+ "+") (number_literal "0x29b950")) () ")")))) (+ "+") (number_literal "-0x3bec")) () ")"))) (; ";")) (} "}")) (else_clause "else {\n    iVar1 = *(int *)(pcVar22 + 0x29b950);\n    (**(code **)(pcVar22 + 0x29c24c))\n              (0x8000,iVar1 + -0x40d0,*(int *)(pcVar22 + 0x29b950) + -0x3bf8,0x251,\n               *(int *)(pcVar22 + 0x29b950) + -0x62ac,iVar3);\n    if (piVar11 != (int *)0x0) {\n      *piVar11 = 0;\n      iVar1 = FUN_0010b2dc(puVar10);\n      if (iVar1 != 0) {\n        iVar16 = *(int *)(pcVar22 + 0x29b938);\n        iVar1 = (**(code **)(pcVar22 + 0x29c460))(*(undefined4 *)(iVar16 + -0x5088));\n        piVar6 = (int *)(**(code **)(pcVar22 + 0x29c578))(iVar1 + 1,4);\n        if (piVar6 != (int *)0x0) {\n          iVar1 = *(int *)(pcVar22 + 0x29b938);\n          (**(code **)(pcVar22 + 0x29c754))(*(undefined4 *)(iVar1 + -0x5090));\n          (**(code **)(pcVar22 + 0x29c5a4))(*(undefined4 *)(iVar16 + -0x5088));\n          iVar4 = (**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088));\n          if (iVar4 == 0) {\n            iVar13 = 0;\n            piVar2 = piVar6;\n          }\n          else {\n            iVar13 = 0;\nLAB_0010d0bc:\n            do {\n              if (*(int *)(iVar4 + 0x2c) == 0) {\n                uVar20 = *(undefined4 *)(iVar4 + 0xc);\n                iVar4 = (**(code **)(pcVar22 + 0x29c6b4))(uVar20,iVar3,0);\n                if (iVar4 != 0) {\n                  iVar15 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c120))(uVar20);\n                  uVar20 = *(undefined4 *)(iVar16 + -0x5088);\n                  piVar6[iVar13] = iVar4;\n                  iVar5 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c37c))(uVar20);\n                  iVar13 = iVar15;\n                  piVar2 = piVar6 + iVar5;\n                  if (iVar4 == 0) break;\n                  goto LAB_0010d0bc;\n                }\n              }\n              iVar4 = (**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088));\n              piVar2 = piVar6 + iVar13;\n            } while (iVar4 != 0);\n          }\n          (**(code **)(pcVar22 + 0x29c3ec))(*(undefined4 *)(iVar1 + -0x5090));\n          (**(code **)(pcVar22 + 0x29c940))(piVar6,iVar13,4,*(int *)(pcVar22 + 0x29bb04) + -0x578c);\n          *piVar11 = iVar13;\n          *piVar2 = 0;\n          return piVar6;\n        }\n      }\n      return (int *)0x0;\n    }\n  }" (else "else") (compound_statement "{\n    iVar1 = *(int *)(pcVar22 + 0x29b950);\n    (**(code **)(pcVar22 + 0x29c24c))\n              (0x8000,iVar1 + -0x40d0,*(int *)(pcVar22 + 0x29b950) + -0x3bf8,0x251,\n               *(int *)(pcVar22 + 0x29b950) + -0x62ac,iVar3);\n    if (piVar11 != (int *)0x0) {\n      *piVar11 = 0;\n      iVar1 = FUN_0010b2dc(puVar10);\n      if (iVar1 != 0) {\n        iVar16 = *(int *)(pcVar22 + 0x29b938);\n        iVar1 = (**(code **)(pcVar22 + 0x29c460))(*(undefined4 *)(iVar16 + -0x5088));\n        piVar6 = (int *)(**(code **)(pcVar22 + 0x29c578))(iVar1 + 1,4);\n        if (piVar6 != (int *)0x0) {\n          iVar1 = *(int *)(pcVar22 + 0x29b938);\n          (**(code **)(pcVar22 + 0x29c754))(*(undefined4 *)(iVar1 + -0x5090));\n          (**(code **)(pcVar22 + 0x29c5a4))(*(undefined4 *)(iVar16 + -0x5088));\n          iVar4 = (**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088));\n          if (iVar4 == 0) {\n            iVar13 = 0;\n            piVar2 = piVar6;\n          }\n          else {\n            iVar13 = 0;\nLAB_0010d0bc:\n            do {\n              if (*(int *)(iVar4 + 0x2c) == 0) {\n                uVar20 = *(undefined4 *)(iVar4 + 0xc);\n                iVar4 = (**(code **)(pcVar22 + 0x29c6b4))(uVar20,iVar3,0);\n                if (iVar4 != 0) {\n                  iVar15 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c120))(uVar20);\n                  uVar20 = *(undefined4 *)(iVar16 + -0x5088);\n                  piVar6[iVar13] = iVar4;\n                  iVar5 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c37c))(uVar20);\n                  iVar13 = iVar15;\n                  piVar2 = piVar6 + iVar5;\n                  if (iVar4 == 0) break;\n                  goto LAB_0010d0bc;\n                }\n              }\n              iVar4 = (**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088));\n              piVar2 = piVar6 + iVar13;\n            } while (iVar4 != 0);\n          }\n          (**(code **)(pcVar22 + 0x29c3ec))(*(undefined4 *)(iVar1 + -0x5090));\n          (**(code **)(pcVar22 + 0x29c940))(piVar6,iVar13,4,*(int *)(pcVar22 + 0x29bb04) + -0x578c);\n          *piVar11 = iVar13;\n          *piVar2 = 0;\n          return piVar6;\n        }\n      }\n      return (int *)0x0;\n    }\n  }" ({ "{") (expression_statement "iVar1 = *(int *)(pcVar22 + 0x29b950);" (assignment_expression "iVar1 = *(int *)(pcVar22 + 0x29b950)" (identifier "iVar1") (= "=") (pointer_expression "*(int *)(pcVar22 + 0x29b950)" (* "*") (cast_expression "(int *)(pcVar22 + 0x29b950)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0x29b950)" (( "(") (binary_expression "pcVar22 + 0x29b950" (identifier "pcVar22") (+ "+") (number_literal "0x29b950")) () ")"))))) (; ";")) (expression_statement "(**(code **)(pcVar22 + 0x29c24c))\n              (0x8000,iVar1 + -0x40d0,*(int *)(pcVar22 + 0x29b950) + -0x3bf8,0x251,\n               *(int *)(pcVar22 + 0x29b950) + -0x62ac,iVar3);" (call_expression "(**(code **)(pcVar22 + 0x29c24c))\n              (0x8000,iVar1 + -0x40d0,*(int *)(pcVar22 + 0x29b950) + -0x3bf8,0x251,\n               *(int *)(pcVar22 + 0x29b950) + -0x62ac,iVar3)" (parenthesized_expression "(**(code **)(pcVar22 + 0x29c24c))" (( "(") (pointer_expression "**(code **)(pcVar22 + 0x29c24c)" (* "*") (pointer_expression "*(code **)(pcVar22 + 0x29c24c)" (* "*") (cast_expression "(code **)(pcVar22 + 0x29c24c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar22 + 0x29c24c)" (( "(") (binary_expression "pcVar22 + 0x29c24c" (identifier "pcVar22") (+ "+") (number_literal "0x29c24c")) () ")"))))) () ")")) (argument_list "(0x8000,iVar1 + -0x40d0,*(int *)(pcVar22 + 0x29b950) + -0x3bf8,0x251,\n               *(int *)(pcVar22 + 0x29b950) + -0x62ac,iVar3)" (( "(") (number_literal "0x8000") (, ",") (binary_expression "iVar1 + -0x40d0" (identifier "iVar1") (+ "+") (number_literal "-0x40d0")) (, ",") (binary_expression "*(int *)(pcVar22 + 0x29b950) + -0x3bf8" (pointer_expression "*(int *)(pcVar22 + 0x29b950)" (* "*") (cast_expression "(int *)(pcVar22 + 0x29b950)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0x29b950)" (( "(") (binary_expression "pcVar22 + 0x29b950" (identifier "pcVar22") (+ "+") (number_literal "0x29b950")) () ")")))) (+ "+") (number_literal "-0x3bf8")) (, ",") (number_literal "0x251") (, ",") (binary_expression "*(int *)(pcVar22 + 0x29b950) + -0x62ac" (pointer_expression "*(int *)(pcVar22 + 0x29b950)" (* "*") (cast_expression "(int *)(pcVar22 + 0x29b950)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0x29b950)" (( "(") (binary_expression "pcVar22 + 0x29b950" (identifier "pcVar22") (+ "+") (number_literal "0x29b950")) () ")")))) (+ "+") (number_literal "-0x62ac")) (, ",") (identifier "iVar3") () ")"))) (; ";")) (if_statement "if (piVar11 != (int *)0x0) {\n      *piVar11 = 0;\n      iVar1 = FUN_0010b2dc(puVar10);\n      if (iVar1 != 0) {\n        iVar16 = *(int *)(pcVar22 + 0x29b938);\n        iVar1 = (**(code **)(pcVar22 + 0x29c460))(*(undefined4 *)(iVar16 + -0x5088));\n        piVar6 = (int *)(**(code **)(pcVar22 + 0x29c578))(iVar1 + 1,4);\n        if (piVar6 != (int *)0x0) {\n          iVar1 = *(int *)(pcVar22 + 0x29b938);\n          (**(code **)(pcVar22 + 0x29c754))(*(undefined4 *)(iVar1 + -0x5090));\n          (**(code **)(pcVar22 + 0x29c5a4))(*(undefined4 *)(iVar16 + -0x5088));\n          iVar4 = (**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088));\n          if (iVar4 == 0) {\n            iVar13 = 0;\n            piVar2 = piVar6;\n          }\n          else {\n            iVar13 = 0;\nLAB_0010d0bc:\n            do {\n              if (*(int *)(iVar4 + 0x2c) == 0) {\n                uVar20 = *(undefined4 *)(iVar4 + 0xc);\n                iVar4 = (**(code **)(pcVar22 + 0x29c6b4))(uVar20,iVar3,0);\n                if (iVar4 != 0) {\n                  iVar15 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c120))(uVar20);\n                  uVar20 = *(undefined4 *)(iVar16 + -0x5088);\n                  piVar6[iVar13] = iVar4;\n                  iVar5 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c37c))(uVar20);\n                  iVar13 = iVar15;\n                  piVar2 = piVar6 + iVar5;\n                  if (iVar4 == 0) break;\n                  goto LAB_0010d0bc;\n                }\n              }\n              iVar4 = (**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088));\n              piVar2 = piVar6 + iVar13;\n            } while (iVar4 != 0);\n          }\n          (**(code **)(pcVar22 + 0x29c3ec))(*(undefined4 *)(iVar1 + -0x5090));\n          (**(code **)(pcVar22 + 0x29c940))(piVar6,iVar13,4,*(int *)(pcVar22 + 0x29bb04) + -0x578c);\n          *piVar11 = iVar13;\n          *piVar2 = 0;\n          return piVar6;\n        }\n      }\n      return (int *)0x0;\n    }" (if "if") (parenthesized_expression "(piVar11 != (int *)0x0)" (( "(") (binary_expression "piVar11 != (int *)0x0" (identifier "piVar11") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      *piVar11 = 0;\n      iVar1 = FUN_0010b2dc(puVar10);\n      if (iVar1 != 0) {\n        iVar16 = *(int *)(pcVar22 + 0x29b938);\n        iVar1 = (**(code **)(pcVar22 + 0x29c460))(*(undefined4 *)(iVar16 + -0x5088));\n        piVar6 = (int *)(**(code **)(pcVar22 + 0x29c578))(iVar1 + 1,4);\n        if (piVar6 != (int *)0x0) {\n          iVar1 = *(int *)(pcVar22 + 0x29b938);\n          (**(code **)(pcVar22 + 0x29c754))(*(undefined4 *)(iVar1 + -0x5090));\n          (**(code **)(pcVar22 + 0x29c5a4))(*(undefined4 *)(iVar16 + -0x5088));\n          iVar4 = (**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088));\n          if (iVar4 == 0) {\n            iVar13 = 0;\n            piVar2 = piVar6;\n          }\n          else {\n            iVar13 = 0;\nLAB_0010d0bc:\n            do {\n              if (*(int *)(iVar4 + 0x2c) == 0) {\n                uVar20 = *(undefined4 *)(iVar4 + 0xc);\n                iVar4 = (**(code **)(pcVar22 + 0x29c6b4))(uVar20,iVar3,0);\n                if (iVar4 != 0) {\n                  iVar15 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c120))(uVar20);\n                  uVar20 = *(undefined4 *)(iVar16 + -0x5088);\n                  piVar6[iVar13] = iVar4;\n                  iVar5 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c37c))(uVar20);\n                  iVar13 = iVar15;\n                  piVar2 = piVar6 + iVar5;\n                  if (iVar4 == 0) break;\n                  goto LAB_0010d0bc;\n                }\n              }\n              iVar4 = (**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088));\n              piVar2 = piVar6 + iVar13;\n            } while (iVar4 != 0);\n          }\n          (**(code **)(pcVar22 + 0x29c3ec))(*(undefined4 *)(iVar1 + -0x5090));\n          (**(code **)(pcVar22 + 0x29c940))(piVar6,iVar13,4,*(int *)(pcVar22 + 0x29bb04) + -0x578c);\n          *piVar11 = iVar13;\n          *piVar2 = 0;\n          return piVar6;\n        }\n      }\n      return (int *)0x0;\n    }" ({ "{") (expression_statement "*piVar11 = 0;" (assignment_expression "*piVar11 = 0" (pointer_expression "*piVar11" (* "*") (identifier "piVar11")) (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar1 = FUN_0010b2dc(puVar10);" (assignment_expression "iVar1 = FUN_0010b2dc(puVar10)" (identifier "iVar1") (= "=") (call_expression "FUN_0010b2dc(puVar10)" (identifier "FUN_0010b2dc") (argument_list "(puVar10)" (( "(") (identifier "puVar10") () ")")))) (; ";")) (if_statement "if (iVar1 != 0) {\n        iVar16 = *(int *)(pcVar22 + 0x29b938);\n        iVar1 = (**(code **)(pcVar22 + 0x29c460))(*(undefined4 *)(iVar16 + -0x5088));\n        piVar6 = (int *)(**(code **)(pcVar22 + 0x29c578))(iVar1 + 1,4);\n        if (piVar6 != (int *)0x0) {\n          iVar1 = *(int *)(pcVar22 + 0x29b938);\n          (**(code **)(pcVar22 + 0x29c754))(*(undefined4 *)(iVar1 + -0x5090));\n          (**(code **)(pcVar22 + 0x29c5a4))(*(undefined4 *)(iVar16 + -0x5088));\n          iVar4 = (**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088));\n          if (iVar4 == 0) {\n            iVar13 = 0;\n            piVar2 = piVar6;\n          }\n          else {\n            iVar13 = 0;\nLAB_0010d0bc:\n            do {\n              if (*(int *)(iVar4 + 0x2c) == 0) {\n                uVar20 = *(undefined4 *)(iVar4 + 0xc);\n                iVar4 = (**(code **)(pcVar22 + 0x29c6b4))(uVar20,iVar3,0);\n                if (iVar4 != 0) {\n                  iVar15 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c120))(uVar20);\n                  uVar20 = *(undefined4 *)(iVar16 + -0x5088);\n                  piVar6[iVar13] = iVar4;\n                  iVar5 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c37c))(uVar20);\n                  iVar13 = iVar15;\n                  piVar2 = piVar6 + iVar5;\n                  if (iVar4 == 0) break;\n                  goto LAB_0010d0bc;\n                }\n              }\n              iVar4 = (**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088));\n              piVar2 = piVar6 + iVar13;\n            } while (iVar4 != 0);\n          }\n          (**(code **)(pcVar22 + 0x29c3ec))(*(undefined4 *)(iVar1 + -0x5090));\n          (**(code **)(pcVar22 + 0x29c940))(piVar6,iVar13,4,*(int *)(pcVar22 + 0x29bb04) + -0x578c);\n          *piVar11 = iVar13;\n          *piVar2 = 0;\n          return piVar6;\n        }\n      }" (if "if") (parenthesized_expression "(iVar1 != 0)" (( "(") (binary_expression "iVar1 != 0" (identifier "iVar1") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        iVar16 = *(int *)(pcVar22 + 0x29b938);\n        iVar1 = (**(code **)(pcVar22 + 0x29c460))(*(undefined4 *)(iVar16 + -0x5088));\n        piVar6 = (int *)(**(code **)(pcVar22 + 0x29c578))(iVar1 + 1,4);\n        if (piVar6 != (int *)0x0) {\n          iVar1 = *(int *)(pcVar22 + 0x29b938);\n          (**(code **)(pcVar22 + 0x29c754))(*(undefined4 *)(iVar1 + -0x5090));\n          (**(code **)(pcVar22 + 0x29c5a4))(*(undefined4 *)(iVar16 + -0x5088));\n          iVar4 = (**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088));\n          if (iVar4 == 0) {\n            iVar13 = 0;\n            piVar2 = piVar6;\n          }\n          else {\n            iVar13 = 0;\nLAB_0010d0bc:\n            do {\n              if (*(int *)(iVar4 + 0x2c) == 0) {\n                uVar20 = *(undefined4 *)(iVar4 + 0xc);\n                iVar4 = (**(code **)(pcVar22 + 0x29c6b4))(uVar20,iVar3,0);\n                if (iVar4 != 0) {\n                  iVar15 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c120))(uVar20);\n                  uVar20 = *(undefined4 *)(iVar16 + -0x5088);\n                  piVar6[iVar13] = iVar4;\n                  iVar5 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c37c))(uVar20);\n                  iVar13 = iVar15;\n                  piVar2 = piVar6 + iVar5;\n                  if (iVar4 == 0) break;\n                  goto LAB_0010d0bc;\n                }\n              }\n              iVar4 = (**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088));\n              piVar2 = piVar6 + iVar13;\n            } while (iVar4 != 0);\n          }\n          (**(code **)(pcVar22 + 0x29c3ec))(*(undefined4 *)(iVar1 + -0x5090));\n          (**(code **)(pcVar22 + 0x29c940))(piVar6,iVar13,4,*(int *)(pcVar22 + 0x29bb04) + -0x578c);\n          *piVar11 = iVar13;\n          *piVar2 = 0;\n          return piVar6;\n        }\n      }" ({ "{") (expression_statement "iVar16 = *(int *)(pcVar22 + 0x29b938);" (assignment_expression "iVar16 = *(int *)(pcVar22 + 0x29b938)" (identifier "iVar16") (= "=") (pointer_expression "*(int *)(pcVar22 + 0x29b938)" (* "*") (cast_expression "(int *)(pcVar22 + 0x29b938)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0x29b938)" (( "(") (binary_expression "pcVar22 + 0x29b938" (identifier "pcVar22") (+ "+") (number_literal "0x29b938")) () ")"))))) (; ";")) (expression_statement "iVar1 = (**(code **)(pcVar22 + 0x29c460))(*(undefined4 *)(iVar16 + -0x5088));" (assignment_expression "iVar1 = (**(code **)(pcVar22 + 0x29c460))(*(undefined4 *)(iVar16 + -0x5088))" (identifier "iVar1") (= "=") (call_expression "(**(code **)(pcVar22 + 0x29c460))(*(undefined4 *)(iVar16 + -0x5088))" (parenthesized_expression "(**(code **)(pcVar22 + 0x29c460))" (( "(") (pointer_expression "**(code **)(pcVar22 + 0x29c460)" (* "*") (pointer_expression "*(code **)(pcVar22 + 0x29c460)" (* "*") (cast_expression "(code **)(pcVar22 + 0x29c460)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar22 + 0x29c460)" (( "(") (binary_expression "pcVar22 + 0x29c460" (identifier "pcVar22") (+ "+") (number_literal "0x29c460")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar16 + -0x5088))" (( "(") (pointer_expression "*(undefined4 *)(iVar16 + -0x5088)" (* "*") (cast_expression "(undefined4 *)(iVar16 + -0x5088)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + -0x5088)" (( "(") (binary_expression "iVar16 + -0x5088" (identifier "iVar16") (+ "+") (number_literal "-0x5088")) () ")")))) () ")")))) (; ";")) (expression_statement "piVar6 = (int *)(**(code **)(pcVar22 + 0x29c578))(iVar1 + 1,4);" (assignment_expression "piVar6 = (int *)(**(code **)(pcVar22 + 0x29c578))(iVar1 + 1,4)" (identifier "piVar6") (= "=") (cast_expression "(int *)(**(code **)(pcVar22 + 0x29c578))(iVar1 + 1,4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcVar22 + 0x29c578))(iVar1 + 1,4)" (parenthesized_expression "(**(code **)(pcVar22 + 0x29c578))" (( "(") (pointer_expression "**(code **)(pcVar22 + 0x29c578)" (* "*") (pointer_expression "*(code **)(pcVar22 + 0x29c578)" (* "*") (cast_expression "(code **)(pcVar22 + 0x29c578)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar22 + 0x29c578)" (( "(") (binary_expression "pcVar22 + 0x29c578" (identifier "pcVar22") (+ "+") (number_literal "0x29c578")) () ")"))))) () ")")) (argument_list "(iVar1 + 1,4)" (( "(") (binary_expression "iVar1 + 1" (identifier "iVar1") (+ "+") (number_literal "1")) (, ",") (number_literal "4") () ")"))))) (; ";")) (if_statement "if (piVar6 != (int *)0x0) {\n          iVar1 = *(int *)(pcVar22 + 0x29b938);\n          (**(code **)(pcVar22 + 0x29c754))(*(undefined4 *)(iVar1 + -0x5090));\n          (**(code **)(pcVar22 + 0x29c5a4))(*(undefined4 *)(iVar16 + -0x5088));\n          iVar4 = (**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088));\n          if (iVar4 == 0) {\n            iVar13 = 0;\n            piVar2 = piVar6;\n          }\n          else {\n            iVar13 = 0;\nLAB_0010d0bc:\n            do {\n              if (*(int *)(iVar4 + 0x2c) == 0) {\n                uVar20 = *(undefined4 *)(iVar4 + 0xc);\n                iVar4 = (**(code **)(pcVar22 + 0x29c6b4))(uVar20,iVar3,0);\n                if (iVar4 != 0) {\n                  iVar15 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c120))(uVar20);\n                  uVar20 = *(undefined4 *)(iVar16 + -0x5088);\n                  piVar6[iVar13] = iVar4;\n                  iVar5 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c37c))(uVar20);\n                  iVar13 = iVar15;\n                  piVar2 = piVar6 + iVar5;\n                  if (iVar4 == 0) break;\n                  goto LAB_0010d0bc;\n                }\n              }\n              iVar4 = (**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088));\n              piVar2 = piVar6 + iVar13;\n            } while (iVar4 != 0);\n          }\n          (**(code **)(pcVar22 + 0x29c3ec))(*(undefined4 *)(iVar1 + -0x5090));\n          (**(code **)(pcVar22 + 0x29c940))(piVar6,iVar13,4,*(int *)(pcVar22 + 0x29bb04) + -0x578c);\n          *piVar11 = iVar13;\n          *piVar2 = 0;\n          return piVar6;\n        }" (if "if") (parenthesized_expression "(piVar6 != (int *)0x0)" (( "(") (binary_expression "piVar6 != (int *)0x0" (identifier "piVar6") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          iVar1 = *(int *)(pcVar22 + 0x29b938);\n          (**(code **)(pcVar22 + 0x29c754))(*(undefined4 *)(iVar1 + -0x5090));\n          (**(code **)(pcVar22 + 0x29c5a4))(*(undefined4 *)(iVar16 + -0x5088));\n          iVar4 = (**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088));\n          if (iVar4 == 0) {\n            iVar13 = 0;\n            piVar2 = piVar6;\n          }\n          else {\n            iVar13 = 0;\nLAB_0010d0bc:\n            do {\n              if (*(int *)(iVar4 + 0x2c) == 0) {\n                uVar20 = *(undefined4 *)(iVar4 + 0xc);\n                iVar4 = (**(code **)(pcVar22 + 0x29c6b4))(uVar20,iVar3,0);\n                if (iVar4 != 0) {\n                  iVar15 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c120))(uVar20);\n                  uVar20 = *(undefined4 *)(iVar16 + -0x5088);\n                  piVar6[iVar13] = iVar4;\n                  iVar5 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c37c))(uVar20);\n                  iVar13 = iVar15;\n                  piVar2 = piVar6 + iVar5;\n                  if (iVar4 == 0) break;\n                  goto LAB_0010d0bc;\n                }\n              }\n              iVar4 = (**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088));\n              piVar2 = piVar6 + iVar13;\n            } while (iVar4 != 0);\n          }\n          (**(code **)(pcVar22 + 0x29c3ec))(*(undefined4 *)(iVar1 + -0x5090));\n          (**(code **)(pcVar22 + 0x29c940))(piVar6,iVar13,4,*(int *)(pcVar22 + 0x29bb04) + -0x578c);\n          *piVar11 = iVar13;\n          *piVar2 = 0;\n          return piVar6;\n        }" ({ "{") (expression_statement "iVar1 = *(int *)(pcVar22 + 0x29b938);" (assignment_expression "iVar1 = *(int *)(pcVar22 + 0x29b938)" (identifier "iVar1") (= "=") (pointer_expression "*(int *)(pcVar22 + 0x29b938)" (* "*") (cast_expression "(int *)(pcVar22 + 0x29b938)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0x29b938)" (( "(") (binary_expression "pcVar22 + 0x29b938" (identifier "pcVar22") (+ "+") (number_literal "0x29b938")) () ")"))))) (; ";")) (expression_statement "(**(code **)(pcVar22 + 0x29c754))(*(undefined4 *)(iVar1 + -0x5090));" (call_expression "(**(code **)(pcVar22 + 0x29c754))(*(undefined4 *)(iVar1 + -0x5090))" (parenthesized_expression "(**(code **)(pcVar22 + 0x29c754))" (( "(") (pointer_expression "**(code **)(pcVar22 + 0x29c754)" (* "*") (pointer_expression "*(code **)(pcVar22 + 0x29c754)" (* "*") (cast_expression "(code **)(pcVar22 + 0x29c754)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar22 + 0x29c754)" (( "(") (binary_expression "pcVar22 + 0x29c754" (identifier "pcVar22") (+ "+") (number_literal "0x29c754")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar1 + -0x5090))" (( "(") (pointer_expression "*(undefined4 *)(iVar1 + -0x5090)" (* "*") (cast_expression "(undefined4 *)(iVar1 + -0x5090)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + -0x5090)" (( "(") (binary_expression "iVar1 + -0x5090" (identifier "iVar1") (+ "+") (number_literal "-0x5090")) () ")")))) () ")"))) (; ";")) (expression_statement "(**(code **)(pcVar22 + 0x29c5a4))(*(undefined4 *)(iVar16 + -0x5088));" (call_expression "(**(code **)(pcVar22 + 0x29c5a4))(*(undefined4 *)(iVar16 + -0x5088))" (parenthesized_expression "(**(code **)(pcVar22 + 0x29c5a4))" (( "(") (pointer_expression "**(code **)(pcVar22 + 0x29c5a4)" (* "*") (pointer_expression "*(code **)(pcVar22 + 0x29c5a4)" (* "*") (cast_expression "(code **)(pcVar22 + 0x29c5a4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar22 + 0x29c5a4)" (( "(") (binary_expression "pcVar22 + 0x29c5a4" (identifier "pcVar22") (+ "+") (number_literal "0x29c5a4")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar16 + -0x5088))" (( "(") (pointer_expression "*(undefined4 *)(iVar16 + -0x5088)" (* "*") (cast_expression "(undefined4 *)(iVar16 + -0x5088)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + -0x5088)" (( "(") (binary_expression "iVar16 + -0x5088" (identifier "iVar16") (+ "+") (number_literal "-0x5088")) () ")")))) () ")"))) (; ";")) (expression_statement "iVar4 = (**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088));" (assignment_expression "iVar4 = (**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088))" (identifier "iVar4") (= "=") (call_expression "(**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088))" (parenthesized_expression "(**(code **)(pcVar22 + 0x29c37c))" (( "(") (pointer_expression "**(code **)(pcVar22 + 0x29c37c)" (* "*") (pointer_expression "*(code **)(pcVar22 + 0x29c37c)" (* "*") (cast_expression "(code **)(pcVar22 + 0x29c37c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar22 + 0x29c37c)" (( "(") (binary_expression "pcVar22 + 0x29c37c" (identifier "pcVar22") (+ "+") (number_literal "0x29c37c")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar16 + -0x5088))" (( "(") (pointer_expression "*(undefined4 *)(iVar16 + -0x5088)" (* "*") (cast_expression "(undefined4 *)(iVar16 + -0x5088)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + -0x5088)" (( "(") (binary_expression "iVar16 + -0x5088" (identifier "iVar16") (+ "+") (number_literal "-0x5088")) () ")")))) () ")")))) (; ";")) (if_statement "if (iVar4 == 0) {\n            iVar13 = 0;\n            piVar2 = piVar6;\n          }\n          else {\n            iVar13 = 0;\nLAB_0010d0bc:\n            do {\n              if (*(int *)(iVar4 + 0x2c) == 0) {\n                uVar20 = *(undefined4 *)(iVar4 + 0xc);\n                iVar4 = (**(code **)(pcVar22 + 0x29c6b4))(uVar20,iVar3,0);\n                if (iVar4 != 0) {\n                  iVar15 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c120))(uVar20);\n                  uVar20 = *(undefined4 *)(iVar16 + -0x5088);\n                  piVar6[iVar13] = iVar4;\n                  iVar5 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c37c))(uVar20);\n                  iVar13 = iVar15;\n                  piVar2 = piVar6 + iVar5;\n                  if (iVar4 == 0) break;\n                  goto LAB_0010d0bc;\n                }\n              }\n              iVar4 = (**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088));\n              piVar2 = piVar6 + iVar13;\n            } while (iVar4 != 0);\n          }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            iVar13 = 0;\n            piVar2 = piVar6;\n          }" ({ "{") (expression_statement "iVar13 = 0;" (assignment_expression "iVar13 = 0" (identifier "iVar13") (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar2 = piVar6;" (assignment_expression "piVar2 = piVar6" (identifier "piVar2") (= "=") (identifier "piVar6")) (; ";")) (} "}")) (else_clause "else {\n            iVar13 = 0;\nLAB_0010d0bc:\n            do {\n              if (*(int *)(iVar4 + 0x2c) == 0) {\n                uVar20 = *(undefined4 *)(iVar4 + 0xc);\n                iVar4 = (**(code **)(pcVar22 + 0x29c6b4))(uVar20,iVar3,0);\n                if (iVar4 != 0) {\n                  iVar15 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c120))(uVar20);\n                  uVar20 = *(undefined4 *)(iVar16 + -0x5088);\n                  piVar6[iVar13] = iVar4;\n                  iVar5 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c37c))(uVar20);\n                  iVar13 = iVar15;\n                  piVar2 = piVar6 + iVar5;\n                  if (iVar4 == 0) break;\n                  goto LAB_0010d0bc;\n                }\n              }\n              iVar4 = (**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088));\n              piVar2 = piVar6 + iVar13;\n            } while (iVar4 != 0);\n          }" (else "else") (compound_statement "{\n            iVar13 = 0;\nLAB_0010d0bc:\n            do {\n              if (*(int *)(iVar4 + 0x2c) == 0) {\n                uVar20 = *(undefined4 *)(iVar4 + 0xc);\n                iVar4 = (**(code **)(pcVar22 + 0x29c6b4))(uVar20,iVar3,0);\n                if (iVar4 != 0) {\n                  iVar15 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c120))(uVar20);\n                  uVar20 = *(undefined4 *)(iVar16 + -0x5088);\n                  piVar6[iVar13] = iVar4;\n                  iVar5 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c37c))(uVar20);\n                  iVar13 = iVar15;\n                  piVar2 = piVar6 + iVar5;\n                  if (iVar4 == 0) break;\n                  goto LAB_0010d0bc;\n                }\n              }\n              iVar4 = (**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088));\n              piVar2 = piVar6 + iVar13;\n            } while (iVar4 != 0);\n          }" ({ "{") (expression_statement "iVar13 = 0;" (assignment_expression "iVar13 = 0" (identifier "iVar13") (= "=") (number_literal "0")) (; ";")) (labeled_statement "LAB_0010d0bc:\n            do {\n              if (*(int *)(iVar4 + 0x2c) == 0) {\n                uVar20 = *(undefined4 *)(iVar4 + 0xc);\n                iVar4 = (**(code **)(pcVar22 + 0x29c6b4))(uVar20,iVar3,0);\n                if (iVar4 != 0) {\n                  iVar15 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c120))(uVar20);\n                  uVar20 = *(undefined4 *)(iVar16 + -0x5088);\n                  piVar6[iVar13] = iVar4;\n                  iVar5 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c37c))(uVar20);\n                  iVar13 = iVar15;\n                  piVar2 = piVar6 + iVar5;\n                  if (iVar4 == 0) break;\n                  goto LAB_0010d0bc;\n                }\n              }\n              iVar4 = (**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088));\n              piVar2 = piVar6 + iVar13;\n            } while (iVar4 != 0);" (statement_identifier "LAB_0010d0bc") (: ":") (do_statement "do {\n              if (*(int *)(iVar4 + 0x2c) == 0) {\n                uVar20 = *(undefined4 *)(iVar4 + 0xc);\n                iVar4 = (**(code **)(pcVar22 + 0x29c6b4))(uVar20,iVar3,0);\n                if (iVar4 != 0) {\n                  iVar15 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c120))(uVar20);\n                  uVar20 = *(undefined4 *)(iVar16 + -0x5088);\n                  piVar6[iVar13] = iVar4;\n                  iVar5 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c37c))(uVar20);\n                  iVar13 = iVar15;\n                  piVar2 = piVar6 + iVar5;\n                  if (iVar4 == 0) break;\n                  goto LAB_0010d0bc;\n                }\n              }\n              iVar4 = (**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088));\n              piVar2 = piVar6 + iVar13;\n            } while (iVar4 != 0);" (do "do") (compound_statement "{\n              if (*(int *)(iVar4 + 0x2c) == 0) {\n                uVar20 = *(undefined4 *)(iVar4 + 0xc);\n                iVar4 = (**(code **)(pcVar22 + 0x29c6b4))(uVar20,iVar3,0);\n                if (iVar4 != 0) {\n                  iVar15 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c120))(uVar20);\n                  uVar20 = *(undefined4 *)(iVar16 + -0x5088);\n                  piVar6[iVar13] = iVar4;\n                  iVar5 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c37c))(uVar20);\n                  iVar13 = iVar15;\n                  piVar2 = piVar6 + iVar5;\n                  if (iVar4 == 0) break;\n                  goto LAB_0010d0bc;\n                }\n              }\n              iVar4 = (**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088));\n              piVar2 = piVar6 + iVar13;\n            }" ({ "{") (if_statement "if (*(int *)(iVar4 + 0x2c) == 0) {\n                uVar20 = *(undefined4 *)(iVar4 + 0xc);\n                iVar4 = (**(code **)(pcVar22 + 0x29c6b4))(uVar20,iVar3,0);\n                if (iVar4 != 0) {\n                  iVar15 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c120))(uVar20);\n                  uVar20 = *(undefined4 *)(iVar16 + -0x5088);\n                  piVar6[iVar13] = iVar4;\n                  iVar5 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c37c))(uVar20);\n                  iVar13 = iVar15;\n                  piVar2 = piVar6 + iVar5;\n                  if (iVar4 == 0) break;\n                  goto LAB_0010d0bc;\n                }\n              }" (if "if") (parenthesized_expression "(*(int *)(iVar4 + 0x2c) == 0)" (( "(") (binary_expression "*(int *)(iVar4 + 0x2c) == 0" (pointer_expression "*(int *)(iVar4 + 0x2c)" (* "*") (cast_expression "(int *)(iVar4 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x2c)" (( "(") (binary_expression "iVar4 + 0x2c" (identifier "iVar4") (+ "+") (number_literal "0x2c")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                uVar20 = *(undefined4 *)(iVar4 + 0xc);\n                iVar4 = (**(code **)(pcVar22 + 0x29c6b4))(uVar20,iVar3,0);\n                if (iVar4 != 0) {\n                  iVar15 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c120))(uVar20);\n                  uVar20 = *(undefined4 *)(iVar16 + -0x5088);\n                  piVar6[iVar13] = iVar4;\n                  iVar5 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c37c))(uVar20);\n                  iVar13 = iVar15;\n                  piVar2 = piVar6 + iVar5;\n                  if (iVar4 == 0) break;\n                  goto LAB_0010d0bc;\n                }\n              }" ({ "{") (expression_statement "uVar20 = *(undefined4 *)(iVar4 + 0xc);" (assignment_expression "uVar20 = *(undefined4 *)(iVar4 + 0xc)" (identifier "uVar20") (= "=") (pointer_expression "*(undefined4 *)(iVar4 + 0xc)" (* "*") (cast_expression "(undefined4 *)(iVar4 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0xc)" (( "(") (binary_expression "iVar4 + 0xc" (identifier "iVar4") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "iVar4 = (**(code **)(pcVar22 + 0x29c6b4))(uVar20,iVar3,0);" (assignment_expression "iVar4 = (**(code **)(pcVar22 + 0x29c6b4))(uVar20,iVar3,0)" (identifier "iVar4") (= "=") (call_expression "(**(code **)(pcVar22 + 0x29c6b4))(uVar20,iVar3,0)" (parenthesized_expression "(**(code **)(pcVar22 + 0x29c6b4))" (( "(") (pointer_expression "**(code **)(pcVar22 + 0x29c6b4)" (* "*") (pointer_expression "*(code **)(pcVar22 + 0x29c6b4)" (* "*") (cast_expression "(code **)(pcVar22 + 0x29c6b4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar22 + 0x29c6b4)" (( "(") (binary_expression "pcVar22 + 0x29c6b4" (identifier "pcVar22") (+ "+") (number_literal "0x29c6b4")) () ")"))))) () ")")) (argument_list "(uVar20,iVar3,0)" (( "(") (identifier "uVar20") (, ",") (identifier "iVar3") (, ",") (number_literal "0") () ")")))) (; ";")) (if_statement "if (iVar4 != 0) {\n                  iVar15 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c120))(uVar20);\n                  uVar20 = *(undefined4 *)(iVar16 + -0x5088);\n                  piVar6[iVar13] = iVar4;\n                  iVar5 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c37c))(uVar20);\n                  iVar13 = iVar15;\n                  piVar2 = piVar6 + iVar5;\n                  if (iVar4 == 0) break;\n                  goto LAB_0010d0bc;\n                }" (if "if") (parenthesized_expression "(iVar4 != 0)" (( "(") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                  iVar15 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c120))(uVar20);\n                  uVar20 = *(undefined4 *)(iVar16 + -0x5088);\n                  piVar6[iVar13] = iVar4;\n                  iVar5 = iVar13 + 1;\n                  iVar4 = (**(code **)(pcVar22 + 0x29c37c))(uVar20);\n                  iVar13 = iVar15;\n                  piVar2 = piVar6 + iVar5;\n                  if (iVar4 == 0) break;\n                  goto LAB_0010d0bc;\n                }" ({ "{") (expression_statement "iVar15 = iVar13 + 1;" (assignment_expression "iVar15 = iVar13 + 1" (identifier "iVar15") (= "=") (binary_expression "iVar13 + 1" (identifier "iVar13") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar4 = (**(code **)(pcVar22 + 0x29c120))(uVar20);" (assignment_expression "iVar4 = (**(code **)(pcVar22 + 0x29c120))(uVar20)" (identifier "iVar4") (= "=") (call_expression "(**(code **)(pcVar22 + 0x29c120))(uVar20)" (parenthesized_expression "(**(code **)(pcVar22 + 0x29c120))" (( "(") (pointer_expression "**(code **)(pcVar22 + 0x29c120)" (* "*") (pointer_expression "*(code **)(pcVar22 + 0x29c120)" (* "*") (cast_expression "(code **)(pcVar22 + 0x29c120)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar22 + 0x29c120)" (( "(") (binary_expression "pcVar22 + 0x29c120" (identifier "pcVar22") (+ "+") (number_literal "0x29c120")) () ")"))))) () ")")) (argument_list "(uVar20)" (( "(") (identifier "uVar20") () ")")))) (; ";")) (expression_statement "uVar20 = *(undefined4 *)(iVar16 + -0x5088);" (assignment_expression "uVar20 = *(undefined4 *)(iVar16 + -0x5088)" (identifier "uVar20") (= "=") (pointer_expression "*(undefined4 *)(iVar16 + -0x5088)" (* "*") (cast_expression "(undefined4 *)(iVar16 + -0x5088)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + -0x5088)" (( "(") (binary_expression "iVar16 + -0x5088" (identifier "iVar16") (+ "+") (number_literal "-0x5088")) () ")"))))) (; ";")) (expression_statement "piVar6[iVar13] = iVar4;" (assignment_expression "piVar6[iVar13] = iVar4" (subscript_expression "piVar6[iVar13]" (identifier "piVar6") ([ "[") (identifier "iVar13") (] "]")) (= "=") (identifier "iVar4")) (; ";")) (expression_statement "iVar5 = iVar13 + 1;" (assignment_expression "iVar5 = iVar13 + 1" (identifier "iVar5") (= "=") (binary_expression "iVar13 + 1" (identifier "iVar13") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar4 = (**(code **)(pcVar22 + 0x29c37c))(uVar20);" (assignment_expression "iVar4 = (**(code **)(pcVar22 + 0x29c37c))(uVar20)" (identifier "iVar4") (= "=") (call_expression "(**(code **)(pcVar22 + 0x29c37c))(uVar20)" (parenthesized_expression "(**(code **)(pcVar22 + 0x29c37c))" (( "(") (pointer_expression "**(code **)(pcVar22 + 0x29c37c)" (* "*") (pointer_expression "*(code **)(pcVar22 + 0x29c37c)" (* "*") (cast_expression "(code **)(pcVar22 + 0x29c37c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar22 + 0x29c37c)" (( "(") (binary_expression "pcVar22 + 0x29c37c" (identifier "pcVar22") (+ "+") (number_literal "0x29c37c")) () ")"))))) () ")")) (argument_list "(uVar20)" (( "(") (identifier "uVar20") () ")")))) (; ";")) (expression_statement "iVar13 = iVar15;" (assignment_expression "iVar13 = iVar15" (identifier "iVar13") (= "=") (identifier "iVar15")) (; ";")) (expression_statement "piVar2 = piVar6 + iVar5;" (assignment_expression "piVar2 = piVar6 + iVar5" (identifier "piVar2") (= "=") (binary_expression "piVar6 + iVar5" (identifier "piVar6") (+ "+") (identifier "iVar5"))) (; ";")) (if_statement "if (iVar4 == 0) break;" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (goto_statement "goto LAB_0010d0bc;" (goto "goto") (statement_identifier "LAB_0010d0bc") (; ";")) (} "}"))) (} "}"))) (expression_statement "iVar4 = (**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088));" (assignment_expression "iVar4 = (**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088))" (identifier "iVar4") (= "=") (call_expression "(**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088))" (parenthesized_expression "(**(code **)(pcVar22 + 0x29c37c))" (( "(") (pointer_expression "**(code **)(pcVar22 + 0x29c37c)" (* "*") (pointer_expression "*(code **)(pcVar22 + 0x29c37c)" (* "*") (cast_expression "(code **)(pcVar22 + 0x29c37c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar22 + 0x29c37c)" (( "(") (binary_expression "pcVar22 + 0x29c37c" (identifier "pcVar22") (+ "+") (number_literal "0x29c37c")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar16 + -0x5088))" (( "(") (pointer_expression "*(undefined4 *)(iVar16 + -0x5088)" (* "*") (cast_expression "(undefined4 *)(iVar16 + -0x5088)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + -0x5088)" (( "(") (binary_expression "iVar16 + -0x5088" (identifier "iVar16") (+ "+") (number_literal "-0x5088")) () ")")))) () ")")))) (; ";")) (expression_statement "piVar2 = piVar6 + iVar13;" (assignment_expression "piVar2 = piVar6 + iVar13" (identifier "piVar2") (= "=") (binary_expression "piVar6 + iVar13" (identifier "piVar6") (+ "+") (identifier "iVar13"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar4 != 0)" (( "(") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0")) () ")")) (; ";"))) (} "}")))) (expression_statement "(**(code **)(pcVar22 + 0x29c3ec))(*(undefined4 *)(iVar1 + -0x5090));" (call_expression "(**(code **)(pcVar22 + 0x29c3ec))(*(undefined4 *)(iVar1 + -0x5090))" (parenthesized_expression "(**(code **)(pcVar22 + 0x29c3ec))" (( "(") (pointer_expression "**(code **)(pcVar22 + 0x29c3ec)" (* "*") (pointer_expression "*(code **)(pcVar22 + 0x29c3ec)" (* "*") (cast_expression "(code **)(pcVar22 + 0x29c3ec)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar22 + 0x29c3ec)" (( "(") (binary_expression "pcVar22 + 0x29c3ec" (identifier "pcVar22") (+ "+") (number_literal "0x29c3ec")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar1 + -0x5090))" (( "(") (pointer_expression "*(undefined4 *)(iVar1 + -0x5090)" (* "*") (cast_expression "(undefined4 *)(iVar1 + -0x5090)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + -0x5090)" (( "(") (binary_expression "iVar1 + -0x5090" (identifier "iVar1") (+ "+") (number_literal "-0x5090")) () ")")))) () ")"))) (; ";")) (expression_statement "(**(code **)(pcVar22 + 0x29c940))(piVar6,iVar13,4,*(int *)(pcVar22 + 0x29bb04) + -0x578c);" (call_expression "(**(code **)(pcVar22 + 0x29c940))(piVar6,iVar13,4,*(int *)(pcVar22 + 0x29bb04) + -0x578c)" (parenthesized_expression "(**(code **)(pcVar22 + 0x29c940))" (( "(") (pointer_expression "**(code **)(pcVar22 + 0x29c940)" (* "*") (pointer_expression "*(code **)(pcVar22 + 0x29c940)" (* "*") (cast_expression "(code **)(pcVar22 + 0x29c940)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar22 + 0x29c940)" (( "(") (binary_expression "pcVar22 + 0x29c940" (identifier "pcVar22") (+ "+") (number_literal "0x29c940")) () ")"))))) () ")")) (argument_list "(piVar6,iVar13,4,*(int *)(pcVar22 + 0x29bb04) + -0x578c)" (( "(") (identifier "piVar6") (, ",") (identifier "iVar13") (, ",") (number_literal "4") (, ",") (binary_expression "*(int *)(pcVar22 + 0x29bb04) + -0x578c" (pointer_expression "*(int *)(pcVar22 + 0x29bb04)" (* "*") (cast_expression "(int *)(pcVar22 + 0x29bb04)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0x29bb04)" (( "(") (binary_expression "pcVar22 + 0x29bb04" (identifier "pcVar22") (+ "+") (number_literal "0x29bb04")) () ")")))) (+ "+") (number_literal "-0x578c")) () ")"))) (; ";")) (expression_statement "*piVar11 = iVar13;" (assignment_expression "*piVar11 = iVar13" (pointer_expression "*piVar11" (* "*") (identifier "piVar11")) (= "=") (identifier "iVar13")) (; ";")) (expression_statement "*piVar2 = 0;" (assignment_expression "*piVar2 = 0" (pointer_expression "*piVar2" (* "*") (identifier "piVar2")) (= "=") (number_literal "0")) (; ";")) (return_statement "return piVar6;" (return "return") (identifier "piVar6") (; ";")) (} "}"))) (} "}"))) (return_statement "return (int *)0x0;" (return "return") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")) (; ";")) (} "}"))) (} "}")))) (expression_statement "pcVar23 = *(code **)(pcVar22 + 0x29c674);" (assignment_expression "pcVar23 = *(code **)(pcVar22 + 0x29c674)" (identifier "pcVar23") (= "=") (pointer_expression "*(code **)(pcVar22 + 0x29c674)" (* "*") (cast_expression "(code **)(pcVar22 + 0x29c674)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar22 + 0x29c674)" (( "(") (binary_expression "pcVar22 + 0x29c674" (identifier "pcVar22") (+ "+") (number_literal "0x29c674")) () ")"))))) (; ";")) (expression_statement "iVar3 = *(int *)(pcVar22 + 0x29b950) + -0x3e64;" (assignment_expression "iVar3 = *(int *)(pcVar22 + 0x29b950) + -0x3e64" (identifier "iVar3") (= "=") (binary_expression "*(int *)(pcVar22 + 0x29b950) + -0x3e64" (pointer_expression "*(int *)(pcVar22 + 0x29b950)" (* "*") (cast_expression "(int *)(pcVar22 + 0x29b950)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0x29b950)" (( "(") (binary_expression "pcVar22 + 0x29b950" (identifier "pcVar22") (+ "+") (number_literal "0x29b950")) () ")")))) (+ "+") (number_literal "-0x3e64"))) (; ";")) (expression_statement "(*pcVar23)(iVar3,iVar1 + -0x40d0,0x252,*(int *)(pcVar22 + 0x29b950) + -0x3bec);" (call_expression "(*pcVar23)(iVar3,iVar1 + -0x40d0,0x252,*(int *)(pcVar22 + 0x29b950) + -0x3bec)" (parenthesized_expression "(*pcVar23)" (( "(") (pointer_expression "*pcVar23" (* "*") (identifier "pcVar23")) () ")")) (argument_list "(iVar3,iVar1 + -0x40d0,0x252,*(int *)(pcVar22 + 0x29b950) + -0x3bec)" (( "(") (identifier "iVar3") (, ",") (binary_expression "iVar1 + -0x40d0" (identifier "iVar1") (+ "+") (number_literal "-0x40d0")) (, ",") (number_literal "0x252") (, ",") (binary_expression "*(int *)(pcVar22 + 0x29b950) + -0x3bec" (pointer_expression "*(int *)(pcVar22 + 0x29b950)" (* "*") (cast_expression "(int *)(pcVar22 + 0x29b950)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0x29b950)" (( "(") (binary_expression "pcVar22 + 0x29b950" (identifier "pcVar22") (+ "+") (number_literal "0x29b950")) () ")")))) (+ "+") (number_literal "-0x3bec")) () ")"))) (; ";")) (expression_statement "iVar4 = *(int *)(pcVar23 + 0x29b6b0);" (assignment_expression "iVar4 = *(int *)(pcVar23 + 0x29b6b0)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(pcVar23 + 0x29b6b0)" (* "*") (cast_expression "(int *)(pcVar23 + 0x29b6b0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar23 + 0x29b6b0)" (( "(") (binary_expression "pcVar23 + 0x29b6b0" (identifier "pcVar23") (+ "+") (number_literal "0x29b6b0")) () ")"))))) (; ";")) (expression_statement "iVar16 = *(int *)(pcVar23 + 0x29b6b0);" (assignment_expression "iVar16 = *(int *)(pcVar23 + 0x29b6b0)" (identifier "iVar16") (= "=") (pointer_expression "*(int *)(pcVar23 + 0x29b6b0)" (* "*") (cast_expression "(int *)(pcVar23 + 0x29b6b0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar23 + 0x29b6b0)" (( "(") (binary_expression "pcVar23 + 0x29b6b0" (identifier "pcVar23") (+ "+") (number_literal "0x29b6b0")) () ")"))))) (; ";")) (expression_statement "uVar20 = (**(code **)(pcVar23 + 0x29bcd0))();" (assignment_expression "uVar20 = (**(code **)(pcVar23 + 0x29bcd0))()" (identifier "uVar20") (= "=") (call_expression "(**(code **)(pcVar23 + 0x29bcd0))()" (parenthesized_expression "(**(code **)(pcVar23 + 0x29bcd0))" (( "(") (pointer_expression "**(code **)(pcVar23 + 0x29bcd0)" (* "*") (pointer_expression "*(code **)(pcVar23 + 0x29bcd0)" (* "*") (cast_expression "(code **)(pcVar23 + 0x29bcd0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar23 + 0x29bcd0)" (( "(") (binary_expression "pcVar23 + 0x29bcd0" (identifier "pcVar23") (+ "+") (number_literal "0x29bcd0")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "FUN_0010b2dc(uVar20);" (call_expression "FUN_0010b2dc(uVar20)" (identifier "FUN_0010b2dc") (argument_list "(uVar20)" (( "(") (identifier "uVar20") () ")"))) (; ";")) (expression_statement "(**(code **)(pcVar23 + 0x29bb34))(uVar20);" (call_expression "(**(code **)(pcVar23 + 0x29bb34))(uVar20)" (parenthesized_expression "(**(code **)(pcVar23 + 0x29bb34))" (( "(") (pointer_expression "**(code **)(pcVar23 + 0x29bb34)" (* "*") (pointer_expression "*(code **)(pcVar23 + 0x29bb34)" (* "*") (cast_expression "(code **)(pcVar23 + 0x29bb34)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar23 + 0x29bb34)" (( "(") (binary_expression "pcVar23 + 0x29bb34" (identifier "pcVar23") (+ "+") (number_literal "0x29bb34")) () ")"))))) () ")")) (argument_list "(uVar20)" (( "(") (identifier "uVar20") () ")"))) (; ";")) (expression_statement "iVar1 = (**(code **)(pcVar23 + 0x29c478))(0x2c,1,iVar3);" (assignment_expression "iVar1 = (**(code **)(pcVar23 + 0x29c478))(0x2c,1,iVar3)" (identifier "iVar1") (= "=") (call_expression "(**(code **)(pcVar23 + 0x29c478))(0x2c,1,iVar3)" (parenthesized_expression "(**(code **)(pcVar23 + 0x29c478))" (( "(") (pointer_expression "**(code **)(pcVar23 + 0x29c478)" (* "*") (pointer_expression "*(code **)(pcVar23 + 0x29c478)" (* "*") (cast_expression "(code **)(pcVar23 + 0x29c478)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar23 + 0x29c478)" (( "(") (binary_expression "pcVar23 + 0x29c478" (identifier "pcVar23") (+ "+") (number_literal "0x29c478")) () ")"))))) () ")")) (argument_list "(0x2c,1,iVar3)" (( "(") (number_literal "0x2c") (, ",") (number_literal "1") (, ",") (identifier "iVar3") () ")")))) (; ";")) (expression_statement "(**(code **)(pcVar23 + 0x29c4cc))(*(undefined4 *)(iVar4 + -0x5090));" (call_expression "(**(code **)(pcVar23 + 0x29c4cc))(*(undefined4 *)(iVar4 + -0x5090))" (parenthesized_expression "(**(code **)(pcVar23 + 0x29c4cc))" (( "(") (pointer_expression "**(code **)(pcVar23 + 0x29c4cc)" (* "*") (pointer_expression "*(code **)(pcVar23 + 0x29c4cc)" (* "*") (cast_expression "(code **)(pcVar23 + 0x29c4cc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar23 + 0x29c4cc)" (( "(") (binary_expression "pcVar23 + 0x29c4cc" (identifier "pcVar23") (+ "+") (number_literal "0x29c4cc")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar4 + -0x5090))" (( "(") (pointer_expression "*(undefined4 *)(iVar4 + -0x5090)" (* "*") (cast_expression "(undefined4 *)(iVar4 + -0x5090)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + -0x5090)" (( "(") (binary_expression "iVar4 + -0x5090" (identifier "iVar4") (+ "+") (number_literal "-0x5090")) () ")")))) () ")"))) (; ";")) (expression_statement "piVar6 = (int *)(**(code **)(pcVar23 + 0x29bc6c))(*(undefined4 *)(iVar16 + -0x5088),0);" (assignment_expression "piVar6 = (int *)(**(code **)(pcVar23 + 0x29bc6c))(*(undefined4 *)(iVar16 + -0x5088),0)" (identifier "piVar6") (= "=") (cast_expression "(int *)(**(code **)(pcVar23 + 0x29bc6c))(*(undefined4 *)(iVar16 + -0x5088),0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcVar23 + 0x29bc6c))(*(undefined4 *)(iVar16 + -0x5088),0)" (parenthesized_expression "(**(code **)(pcVar23 + 0x29bc6c))" (( "(") (pointer_expression "**(code **)(pcVar23 + 0x29bc6c)" (* "*") (pointer_expression "*(code **)(pcVar23 + 0x29bc6c)" (* "*") (cast_expression "(code **)(pcVar23 + 0x29bc6c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar23 + 0x29bc6c)" (( "(") (binary_expression "pcVar23 + 0x29bc6c" (identifier "pcVar23") (+ "+") (number_literal "0x29bc6c")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar16 + -0x5088),0)" (( "(") (pointer_expression "*(undefined4 *)(iVar16 + -0x5088)" (* "*") (cast_expression "(undefined4 *)(iVar16 + -0x5088)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + -0x5088)" (( "(") (binary_expression "iVar16 + -0x5088" (identifier "iVar16") (+ "+") (number_literal "-0x5088")) () ")")))) (, ",") (number_literal "0") () ")"))))) (; ";")) (if_statement "if (iVar1 == -1) {\n    pcVar22 = *(code **)(pcVar23 + 0x29c210);\n    uVar20 = *(undefined4 *)(iVar16 + -0x5088);\n    *piVar6 = 0;\n    iVar1 = (*pcVar22)(uVar20);\n  }\n  else {\n    pcVar22 = *(code **)(pcVar23 + 0x29c210);\n    uVar20 = *(undefined4 *)(iVar16 + -0x5088);\n    *piVar6 = iVar1;\n    iVar1 = (*pcVar22)(uVar20);\n  }" (if "if") (parenthesized_expression "(iVar1 == -1)" (( "(") (binary_expression "iVar1 == -1" (identifier "iVar1") (== "==") (number_literal "-1")) () ")")) (compound_statement "{\n    pcVar22 = *(code **)(pcVar23 + 0x29c210);\n    uVar20 = *(undefined4 *)(iVar16 + -0x5088);\n    *piVar6 = 0;\n    iVar1 = (*pcVar22)(uVar20);\n  }" ({ "{") (expression_statement "pcVar22 = *(code **)(pcVar23 + 0x29c210);" (assignment_expression "pcVar22 = *(code **)(pcVar23 + 0x29c210)" (identifier "pcVar22") (= "=") (pointer_expression "*(code **)(pcVar23 + 0x29c210)" (* "*") (cast_expression "(code **)(pcVar23 + 0x29c210)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar23 + 0x29c210)" (( "(") (binary_expression "pcVar23 + 0x29c210" (identifier "pcVar23") (+ "+") (number_literal "0x29c210")) () ")"))))) (; ";")) (expression_statement "uVar20 = *(undefined4 *)(iVar16 + -0x5088);" (assignment_expression "uVar20 = *(undefined4 *)(iVar16 + -0x5088)" (identifier "uVar20") (= "=") (pointer_expression "*(undefined4 *)(iVar16 + -0x5088)" (* "*") (cast_expression "(undefined4 *)(iVar16 + -0x5088)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + -0x5088)" (( "(") (binary_expression "iVar16 + -0x5088" (identifier "iVar16") (+ "+") (number_literal "-0x5088")) () ")"))))) (; ";")) (expression_statement "*piVar6 = 0;" (assignment_expression "*piVar6 = 0" (pointer_expression "*piVar6" (* "*") (identifier "piVar6")) (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar1 = (*pcVar22)(uVar20);" (assignment_expression "iVar1 = (*pcVar22)(uVar20)" (identifier "iVar1") (= "=") (call_expression "(*pcVar22)(uVar20)" (parenthesized_expression "(*pcVar22)" (( "(") (pointer_expression "*pcVar22" (* "*") (identifier "pcVar22")) () ")")) (argument_list "(uVar20)" (( "(") (identifier "uVar20") () ")")))) (; ";")) (} "}")) (else_clause "else {\n    pcVar22 = *(code **)(pcVar23 + 0x29c210);\n    uVar20 = *(undefined4 *)(iVar16 + -0x5088);\n    *piVar6 = iVar1;\n    iVar1 = (*pcVar22)(uVar20);\n  }" (else "else") (compound_statement "{\n    pcVar22 = *(code **)(pcVar23 + 0x29c210);\n    uVar20 = *(undefined4 *)(iVar16 + -0x5088);\n    *piVar6 = iVar1;\n    iVar1 = (*pcVar22)(uVar20);\n  }" ({ "{") (expression_statement "pcVar22 = *(code **)(pcVar23 + 0x29c210);" (assignment_expression "pcVar22 = *(code **)(pcVar23 + 0x29c210)" (identifier "pcVar22") (= "=") (pointer_expression "*(code **)(pcVar23 + 0x29c210)" (* "*") (cast_expression "(code **)(pcVar23 + 0x29c210)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar23 + 0x29c210)" (( "(") (binary_expression "pcVar23 + 0x29c210" (identifier "pcVar23") (+ "+") (number_literal "0x29c210")) () ")"))))) (; ";")) (expression_statement "uVar20 = *(undefined4 *)(iVar16 + -0x5088);" (assignment_expression "uVar20 = *(undefined4 *)(iVar16 + -0x5088)" (identifier "uVar20") (= "=") (pointer_expression "*(undefined4 *)(iVar16 + -0x5088)" (* "*") (cast_expression "(undefined4 *)(iVar16 + -0x5088)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + -0x5088)" (( "(") (binary_expression "iVar16 + -0x5088" (identifier "iVar16") (+ "+") (number_literal "-0x5088")) () ")"))))) (; ";")) (expression_statement "*piVar6 = iVar1;" (assignment_expression "*piVar6 = iVar1" (pointer_expression "*piVar6" (* "*") (identifier "piVar6")) (= "=") (identifier "iVar1")) (; ";")) (expression_statement "iVar1 = (*pcVar22)(uVar20);" (assignment_expression "iVar1 = (*pcVar22)(uVar20)" (identifier "iVar1") (= "=") (call_expression "(*pcVar22)(uVar20)" (parenthesized_expression "(*pcVar22)" (( "(") (pointer_expression "*pcVar22" (* "*") (identifier "pcVar22")) () ")")) (argument_list "(uVar20)" (( "(") (identifier "uVar20") () ")")))) (; ";")) (} "}")))) (if_statement "if (iVar1 == 0) {\n    (**(code **)(pcVar23 + 0x29c31c))(*(undefined4 *)(iVar16 + -0x5088));\n    piVar2 = (int *)(**(code **)(pcVar23 + 0x29c0f4))(*(undefined4 *)(iVar16 + -0x5088));\n    if (piVar2 == (int *)0x0) {\n      *(undefined4 *)(*(int *)(pcVar23 + 0x29b6b0) + -0x508c) = 0;\n    }\n    else {\n      *(uint *)(*(int *)(pcVar23 + 0x29b6b0) + -0x508c) = (uint)(*piVar2 != 0);\n    }\n  }\n  else {\n    *(undefined4 *)(*(int *)(pcVar23 + 0x29b6b0) + -0x508c) = 0;\n  }" (if "if") (parenthesized_expression "(iVar1 == 0)" (( "(") (binary_expression "iVar1 == 0" (identifier "iVar1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    (**(code **)(pcVar23 + 0x29c31c))(*(undefined4 *)(iVar16 + -0x5088));\n    piVar2 = (int *)(**(code **)(pcVar23 + 0x29c0f4))(*(undefined4 *)(iVar16 + -0x5088));\n    if (piVar2 == (int *)0x0) {\n      *(undefined4 *)(*(int *)(pcVar23 + 0x29b6b0) + -0x508c) = 0;\n    }\n    else {\n      *(uint *)(*(int *)(pcVar23 + 0x29b6b0) + -0x508c) = (uint)(*piVar2 != 0);\n    }\n  }" ({ "{") (expression_statement "(**(code **)(pcVar23 + 0x29c31c))(*(undefined4 *)(iVar16 + -0x5088));" (call_expression "(**(code **)(pcVar23 + 0x29c31c))(*(undefined4 *)(iVar16 + -0x5088))" (parenthesized_expression "(**(code **)(pcVar23 + 0x29c31c))" (( "(") (pointer_expression "**(code **)(pcVar23 + 0x29c31c)" (* "*") (pointer_expression "*(code **)(pcVar23 + 0x29c31c)" (* "*") (cast_expression "(code **)(pcVar23 + 0x29c31c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar23 + 0x29c31c)" (( "(") (binary_expression "pcVar23 + 0x29c31c" (identifier "pcVar23") (+ "+") (number_literal "0x29c31c")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar16 + -0x5088))" (( "(") (pointer_expression "*(undefined4 *)(iVar16 + -0x5088)" (* "*") (cast_expression "(undefined4 *)(iVar16 + -0x5088)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + -0x5088)" (( "(") (binary_expression "iVar16 + -0x5088" (identifier "iVar16") (+ "+") (number_literal "-0x5088")) () ")")))) () ")"))) (; ";")) (expression_statement "piVar2 = (int *)(**(code **)(pcVar23 + 0x29c0f4))(*(undefined4 *)(iVar16 + -0x5088));" (assignment_expression "piVar2 = (int *)(**(code **)(pcVar23 + 0x29c0f4))(*(undefined4 *)(iVar16 + -0x5088))" (identifier "piVar2") (= "=") (cast_expression "(int *)(**(code **)(pcVar23 + 0x29c0f4))(*(undefined4 *)(iVar16 + -0x5088))" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcVar23 + 0x29c0f4))(*(undefined4 *)(iVar16 + -0x5088))" (parenthesized_expression "(**(code **)(pcVar23 + 0x29c0f4))" (( "(") (pointer_expression "**(code **)(pcVar23 + 0x29c0f4)" (* "*") (pointer_expression "*(code **)(pcVar23 + 0x29c0f4)" (* "*") (cast_expression "(code **)(pcVar23 + 0x29c0f4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar23 + 0x29c0f4)" (( "(") (binary_expression "pcVar23 + 0x29c0f4" (identifier "pcVar23") (+ "+") (number_literal "0x29c0f4")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar16 + -0x5088))" (( "(") (pointer_expression "*(undefined4 *)(iVar16 + -0x5088)" (* "*") (cast_expression "(undefined4 *)(iVar16 + -0x5088)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + -0x5088)" (( "(") (binary_expression "iVar16 + -0x5088" (identifier "iVar16") (+ "+") (number_literal "-0x5088")) () ")")))) () ")"))))) (; ";")) (if_statement "if (piVar2 == (int *)0x0) {\n      *(undefined4 *)(*(int *)(pcVar23 + 0x29b6b0) + -0x508c) = 0;\n    }\n    else {\n      *(uint *)(*(int *)(pcVar23 + 0x29b6b0) + -0x508c) = (uint)(*piVar2 != 0);\n    }" (if "if") (parenthesized_expression "(piVar2 == (int *)0x0)" (( "(") (binary_expression "piVar2 == (int *)0x0" (identifier "piVar2") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      *(undefined4 *)(*(int *)(pcVar23 + 0x29b6b0) + -0x508c) = 0;\n    }" ({ "{") (expression_statement "*(undefined4 *)(*(int *)(pcVar23 + 0x29b6b0) + -0x508c) = 0;" (assignment_expression "*(undefined4 *)(*(int *)(pcVar23 + 0x29b6b0) + -0x508c) = 0" (pointer_expression "*(undefined4 *)(*(int *)(pcVar23 + 0x29b6b0) + -0x508c)" (* "*") (cast_expression "(undefined4 *)(*(int *)(pcVar23 + 0x29b6b0) + -0x508c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar23 + 0x29b6b0) + -0x508c)" (( "(") (binary_expression "*(int *)(pcVar23 + 0x29b6b0) + -0x508c" (pointer_expression "*(int *)(pcVar23 + 0x29b6b0)" (* "*") (cast_expression "(int *)(pcVar23 + 0x29b6b0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar23 + 0x29b6b0)" (( "(") (binary_expression "pcVar23 + 0x29b6b0" (identifier "pcVar23") (+ "+") (number_literal "0x29b6b0")) () ")")))) (+ "+") (number_literal "-0x508c")) () ")")))) (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n      *(uint *)(*(int *)(pcVar23 + 0x29b6b0) + -0x508c) = (uint)(*piVar2 != 0);\n    }" (else "else") (compound_statement "{\n      *(uint *)(*(int *)(pcVar23 + 0x29b6b0) + -0x508c) = (uint)(*piVar2 != 0);\n    }" ({ "{") (expression_statement "*(uint *)(*(int *)(pcVar23 + 0x29b6b0) + -0x508c) = (uint)(*piVar2 != 0);" (assignment_expression "*(uint *)(*(int *)(pcVar23 + 0x29b6b0) + -0x508c) = (uint)(*piVar2 != 0)" (pointer_expression "*(uint *)(*(int *)(pcVar23 + 0x29b6b0) + -0x508c)" (* "*") (cast_expression "(uint *)(*(int *)(pcVar23 + 0x29b6b0) + -0x508c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar23 + 0x29b6b0) + -0x508c)" (( "(") (binary_expression "*(int *)(pcVar23 + 0x29b6b0) + -0x508c" (pointer_expression "*(int *)(pcVar23 + 0x29b6b0)" (* "*") (cast_expression "(int *)(pcVar23 + 0x29b6b0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar23 + 0x29b6b0)" (( "(") (binary_expression "pcVar23 + 0x29b6b0" (identifier "pcVar23") (+ "+") (number_literal "0x29b6b0")) () ")")))) (+ "+") (number_literal "-0x508c")) () ")")))) (= "=") (call_expression "(uint)(*piVar2 != 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*piVar2 != 0)" (( "(") (binary_expression "*piVar2 != 0" (pointer_expression "*piVar2" (* "*") (identifier "piVar2")) (!= "!=") (number_literal "0")) () ")")))) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n    *(undefined4 *)(*(int *)(pcVar23 + 0x29b6b0) + -0x508c) = 0;\n  }" (else "else") (compound_statement "{\n    *(undefined4 *)(*(int *)(pcVar23 + 0x29b6b0) + -0x508c) = 0;\n  }" ({ "{") (expression_statement "*(undefined4 *)(*(int *)(pcVar23 + 0x29b6b0) + -0x508c) = 0;" (assignment_expression "*(undefined4 *)(*(int *)(pcVar23 + 0x29b6b0) + -0x508c) = 0" (pointer_expression "*(undefined4 *)(*(int *)(pcVar23 + 0x29b6b0) + -0x508c)" (* "*") (cast_expression "(undefined4 *)(*(int *)(pcVar23 + 0x29b6b0) + -0x508c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar23 + 0x29b6b0) + -0x508c)" (( "(") (binary_expression "*(int *)(pcVar23 + 0x29b6b0) + -0x508c" (pointer_expression "*(int *)(pcVar23 + 0x29b6b0)" (* "*") (cast_expression "(int *)(pcVar23 + 0x29b6b0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar23 + 0x29b6b0)" (( "(") (binary_expression "pcVar23 + 0x29b6b0" (identifier "pcVar23") (+ "+") (number_literal "0x29b6b0")) () ")")))) (+ "+") (number_literal "-0x508c")) () ")")))) (= "=") (number_literal "0")) (; ";")) (} "}")))) (expression_statement "(**(code **)(pcVar23 + 0x29c164))(*(undefined4 *)(iVar4 + -0x5090));" (call_expression "(**(code **)(pcVar23 + 0x29c164))(*(undefined4 *)(iVar4 + -0x5090))" (parenthesized_expression "(**(code **)(pcVar23 + 0x29c164))" (( "(") (pointer_expression "**(code **)(pcVar23 + 0x29c164)" (* "*") (pointer_expression "*(code **)(pcVar23 + 0x29c164)" (* "*") (cast_expression "(code **)(pcVar23 + 0x29c164)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar23 + 0x29c164)" (( "(") (binary_expression "pcVar23 + 0x29c164" (identifier "pcVar23") (+ "+") (number_literal "0x29c164")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar4 + -0x5090))" (( "(") (pointer_expression "*(undefined4 *)(iVar4 + -0x5090)" (* "*") (cast_expression "(undefined4 *)(iVar4 + -0x5090)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + -0x5090)" (( "(") (binary_expression "iVar4 + -0x5090" (identifier "iVar4") (+ "+") (number_literal "-0x5090")) () ")")))) () ")"))) (; ";")) (return_statement "return (int *)*piVar6;" (return "return") (cast_expression "(int *)*piVar6" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar6" (* "*") (identifier "piVar6"))) (; ";")) (} "}")))

/* WARNING: Enum "LogEventType": Some values do not have unique names */
/* WARNING: Enum "ExceptionType": Some values do not have unique names */
/* WARNING: Enum "LogHandlerType": Some values do not have unique names */

type_1
function_1(type_2 type,char *module,char *function,size_t line,char *format,...)

{
  int var_3;
  type_1 var_1;
  type_3 *var_8;
  int var_10;
  int *var_11;
  int var_12;
  int var_14;
  int *var_6;
  int var_19;
  type_4 var_20;
  type_5 *var_30;
  type_1 *pMVar12;
  int var_17;
  type_5 uVar14;
  type_6 *pEVar15;
  char *var_22;
  int *var_18;
  type_7 *var_5;
  int var_13;
  int *var_28;
  int var_23;
  int var_9;
  int var_27;
  type_5 *puVar24;
  int unaff_s6;
  int var_21;
  int *unaff_s7;
  type_5 uVar26;
  type_7 *var_4;
  type_8 *var_15;
  type_8 *var_31;
  double var_24;
  double var_26;
  int var_16;
  int var_29;
  type_7 *puStack_c8;
  char *pcStack_c4;
  char *pcStack_c0;
  char *pcStack_bc;
  size_t sStack_b8;
  char *pcStack_b4;
  int iStack_b0;
  int *piStack_ac;
  type_9 operands;
  
  var_5 = PTR___stack_chk_guard_003a9230;
  var_3 = *(int *)PTR___stack_chk_guard_003a9230;
  var_6 = (int *)module;
  var_22 = function;
  var_1 = (*(type_8 *)PTR_IsEventLogging_003a97a8)();
  if (var_1 != var_2) {
    var_6 = (int *)module;
    var_22 = function;
    var_1 = (*(type_8 *)PTR_LogMagickEventList_003a9148)(type,module,function,line);
  }
  if (var_3 == *(int *)var_5) {
    return var_1;
  }
  var_4 = PTR___stack_chk_fail_003a9064;
  (*(type_8 *)PTR___stack_chk_fail_003a9064)();
  if (var_3 == 0) {
    (**(type_8 **)(var_4 + 0x29ccac))
              (*(int *)(var_4 + 0x29bf84) + 0x45e0,*(int *)(var_4 + 0x29bf88) + -0x40d0,499,
               *(int *)(var_4 + 0x29bf88) + -0x3bd0);
  }
  else {
    var_5 = *(type_7 **)(var_4 + 0x29bf88);
    pEVar15 = (type_6 *)(var_5 + -0x40d0);
    (**(type_8 **)(var_4 + 0x29c884))(0x8000,pEVar15,*(int *)(var_4 + 0x29bf88) + -0x3be0,500);
    type = (type_2)var_22;
    unaff_s6 = var_3;
    unaff_s7 = var_6;
    if (var_6 != (int *)0x0) {
      *var_6 = 0;
      var_8 = var_7(var_22,pEVar15);
      if (var_8 != (type_3 *)0x0) {
        var_9 = *(int *)(var_4 + 0x29bf70);
        var_10 = (**(type_8 **)(var_4 + 0x29ca98))(*(type_5 *)(var_9 + -0x5088));
        var_11 = (int *)(**(type_8 **)(var_4 + 0x29cbb0))(var_10 + 1,4);
        if (var_11 != (int *)0x0) {
          var_10 = *(int *)(var_4 + 0x29bf70);
          (**(type_8 **)(var_4 + 0x29cd8c))(*(type_5 *)(var_10 + -0x5090));
          (**(type_8 **)(var_4 + 0x29cbdc))(*(type_5 *)(var_9 + -0x5088));
          var_12 = (**(type_8 **)(var_4 + 0x29c9b4))(*(type_5 *)(var_9 + -0x5088));
          if (var_12 == 0) {
            var_13 = 0;
            var_18 = var_11;
          }
          else {
            var_13 = 0;
            do {
              var_18 = var_11 + var_13;
              if ((*(int *)(var_12 + 0x2c) == 0) &&
                 (var_14 = (**(type_8 **)(var_4 + 0x29ccec))(*(type_5 *)(var_12 + 0xc),var_3,0),
                 var_14 != 0)) {
                *var_18 = var_12;
                var_18 = var_11 + var_13 + 1;
                var_13 = var_13 + 1;
              }
              var_12 = (**(type_8 **)(var_4 + 0x29c9b4))(*(type_5 *)(var_9 + -0x5088));
            } while (var_12 != 0);
          }
          (**(type_8 **)(var_4 + 0x29ca24))(*(type_5 *)(var_10 + -0x5090));
          (**(type_8 **)(var_4 + 0x29cf78))(var_11,var_13,4,*(int *)(var_4 + 0x29c13c) + -0x5800);
          *var_6 = var_13;
          *var_18 = 0;
          return (type_1)var_11;
        }
      }
      return var_2;
    }
  }
  var_22 = var_5 + -0x40d0;
  var_15 = *(type_8 **)(var_4 + 0x29ccac);
  var_3 = *(int *)(var_4 + 0x29bf88) + -0x3e64;
  (*var_15)(var_3,var_22,0x1f5,*(int *)(var_4 + 0x29bf88) + -0x3bd0);
  var_6 = *(int **)(var_15 + 0x29c670);
  pcStack_b4 = format;
  var_29 = *var_6;
  if (var_3 == 0) {
    var_3 = **(int **)(var_15 + 0x29c324);
  }
  var_18 = &var_16;
  puStack_c8 = var_5;
  pcStack_c4 = (char *)type;
  pcStack_c0 = module;
  pcStack_bc = function;
  sStack_b8 = line;
  iStack_b0 = unaff_s6;
  piStack_ac = unaff_s7;
  var_11 = (int *)(**(type_8 **)(var_15 + 0x29cc48))(*(int *)(var_15 + 0x29bd28) + 0x6c9c);
  if (var_11 == (int *)0x0) {
    var_1 = var_2;
  }
  else {
    var_10 = *(int *)(var_15 + 0x29bd20);
    if (0 < var_16) {
      var_27 = 0;
      var_21 = *(int *)(var_15 + 0x29bd8c);
      var_12 = 0;
      var_23 = *(int *)(var_15 + 0x29bd90);
      var_26 = *(double *)(var_10 + 0x1418);
      var_13 = *(int *)(var_15 + 0x29bd24);
      var_14 = *(int *)(var_15 + 0x29bd24);
      var_9 = var_16;
      var_28 = var_11;
      do {
        var_17 = *var_28;
        var_18 = *(int **)(var_17 + 0x2c);
        if (var_18 == (int *)0x0) {
          var_9 = *(int *)(var_17 + 8);
          if ((var_12 == 0) ||
             (var_19 = (**(type_8 **)(var_15 + 0x29c550))(var_12,var_9), var_12 = var_9, var_19 != 0))
          {
            if (var_9 != 0) {
              (**(type_8 **)(var_15 + 0x29c984))(var_3,*(int *)(var_15 + 0x29bd20) + 0x4620,var_9);
              var_17 = *var_28;
            }
            var_9 = 0;
            var_20 = 0;
            var_22 = (char *)(*(int *)(var_15 + 0x29bd24) + -0x3b94);
            while( true ) {
              if ((1 << (var_20 & 0x1f) & *(type_4 *)(var_17 + 4)) != 0) {
                (**(type_8 **)(var_15 + 0x29c984))(var_3,var_21 + 0x30e8,var_22);
                var_12 = (**(type_8 **)(var_15 + 0x29c778))(var_22);
                var_9 = var_9 + var_12;
              }
              if (var_20 == 0x1f) break;
              var_22 = var_22 + 0x10;
              var_20 = var_20 + 1;
              if (*var_22 == '\0') break;
              var_17 = *var_28;
            }
            if (var_9 < 0xd) {
              do {
                var_9 = var_9 + 1;
                (**(type_8 **)(var_15 + 0x29c984))(var_3,var_23 + 0x2158);
              } while (var_9 != 0xd);
            }
            (**(type_8 **)(var_15 + 0x29c984))(var_3,*(int *)(var_15 + 0x29bd24) + -0x3e3c);
            (**(type_8 **)(var_15 + 0x29c984))(var_3,*(int *)(var_15 + 0x29bd20) + 0x4644);
            var_17 = *var_28;
            var_12 = *(int *)(var_17 + 8);
          }
          if (*(int *)(var_17 + 0x10) != 0) {
            (**(type_8 **)(var_15 + 0x29c984))(var_3,*(int *)(var_15 + 0x29bd24) + -0x62ac);
            var_17 = *var_28;
            var_20 = (**(type_8 **)(var_15 + 0x29c778))(*(type_5 *)(var_17 + 0x10));
            if (var_20 < 0x11) {
              do {
                var_20 = var_20 + 1;
                (**(type_8 **)(var_15 + 0x29c984))(var_3,var_23 + 0x2158);
              } while (var_20 != 0x11);
              var_17 = *var_28;
            }
          }
          var_24 = (double)*(int *)(var_17 + 0x18);
          if (*(int *)(var_17 + 0x18) < 0) {
            var_24 = var_24 + *(double *)(var_10 + 0x1418);
          }
          (**(type_8 **)(var_15 + 0x29c984))
                    (var_3,var_13 + -0x3e1c,(int)((type_10)var_24 >> 0x20),var_25(var_24,0));
          var_24 = (double)*(int *)(*var_28 + 0x1c);
          if (*(int *)(*var_28 + 0x1c) < 0) {
            var_24 = var_24 + var_26;
          }
          (**(type_8 **)(var_15 + 0x29c984))
                    (var_3,var_14 + -0x3e14,(int)((type_10)var_24 >> 0x20),var_25(var_24,0));
          var_22 = *(char **)(*var_28 + 0x14);
          if (var_22 != (char *)0x0) {
            (**(type_8 **)(var_15 + 0x29c984))(var_3,*(int *)(var_15 + 0x29bd24) + -0x62ac);
          }
          var_18 = (int *)(*(int *)(var_15 + 0x29bd2c) + -0x4bdc);
          (**(type_8 **)(var_15 + 0x29c984))(var_3);
          var_9 = var_16;
        }
        var_27 = var_27 + 1;
        var_28 = var_28 + 1;
      } while (var_27 < var_9);
    }
    (**(type_8 **)(var_15 + 0x29c8cc))(var_3);
    (**(type_8 **)(var_15 + 0x29c400))(var_11);
    var_1 = MagickTrue;
  }
  if (var_29 == *var_6) {
    return var_1;
  }
  var_15 = *(type_8 **)(var_15 + 0x29c4a4);
  var_10 = var_29;
  (*var_15)();
  if (var_10 == 0) {
    (**(type_8 **)(var_15 + 0x29c674))
              (*(int *)(var_15 + 0x29b94c) + 0x45e0,*(int *)(var_15 + 0x29b950) + -0x40d0,0x250,
               *(int *)(var_15 + 0x29b950) + -0x3bec);
  }
  else {
    var_3 = *(int *)(var_15 + 0x29b950);
    pEVar15 = (type_6 *)(var_3 + -0x40d0);
    (**(type_8 **)(var_15 + 0x29c24c))
              (0x8000,pEVar15,*(int *)(var_15 + 0x29b950) + -0x3bf8,0x251,
               *(int *)(var_15 + 0x29b950) + -0x62ac,var_10);
    if (var_18 != (int *)0x0) {
      *var_18 = 0;
      var_8 = var_7(var_22,pEVar15);
      if (var_8 != (type_3 *)0x0) {
        var_9 = *(int *)(var_15 + 0x29b938);
        var_3 = (**(type_8 **)(var_15 + 0x29c460))(*(type_5 *)(var_9 + -0x5088));
        var_30 = (type_5 *)(**(type_8 **)(var_15 + 0x29c578))(var_3 + 1,4);
        if (var_30 != (type_5 *)0x0) {
          var_3 = *(int *)(var_15 + 0x29b938);
          (**(type_8 **)(var_15 + 0x29c754))(*(type_5 *)(var_3 + -0x5090));
          (**(type_8 **)(var_15 + 0x29c5a4))(*(type_5 *)(var_9 + -0x5088));
          var_12 = (**(type_8 **)(var_15 + 0x29c37c))(*(type_5 *)(var_9 + -0x5088));
          if (var_12 == 0) {
            var_13 = 0;
            puVar24 = var_30;
          }
          else {
            var_13 = 0;
LAB_0010d0bc:
            do {
              if (*(int *)(var_12 + 0x2c) == 0) {
                uVar26 = *(type_5 *)(var_12 + 0xc);
                var_12 = (**(type_8 **)(var_15 + 0x29c6b4))(uVar26,var_10,0);
                if (var_12 != 0) {
                  var_23 = var_13 + 1;
                  uVar26 = (**(type_8 **)(var_15 + 0x29c120))(uVar26);
                  uVar14 = *(type_5 *)(var_9 + -0x5088);
                  var_30[var_13] = uVar26;
                  var_14 = var_13 + 1;
                  var_12 = (**(type_8 **)(var_15 + 0x29c37c))(uVar14);
                  var_13 = var_23;
                  puVar24 = var_30 + var_14;
                  if (var_12 == 0) break;
                  goto LAB_0010d0bc;
                }
              }
              var_12 = (**(type_8 **)(var_15 + 0x29c37c))(*(type_5 *)(var_9 + -0x5088));
              puVar24 = var_30 + var_13;
            } while (var_12 != 0);
          }
          (**(type_8 **)(var_15 + 0x29c3ec))(*(type_5 *)(var_3 + -0x5090));
          (**(type_8 **)(var_15 + 0x29c940))(var_30,var_13,4,*(int *)(var_15 + 0x29bb04) + -0x578c)
          ;
          *var_18 = var_13;
          *puVar24 = 0;
          return (type_1)var_30;
        }
      }
      return var_2;
    }
  }
  pEVar15 = (type_6 *)(var_3 + -0x40d0);
  var_31 = *(type_8 **)(var_15 + 0x29c674);
  var_3 = *(int *)(var_15 + 0x29b950) + -0x3e64;
  (*var_31)(var_3,pEVar15,0x252,*(int *)(var_15 + 0x29b950) + -0x3bec);
  var_9 = *(int *)(var_31 + 0x29b6b0);
  var_10 = *(int *)(var_31 + 0x29b6b0);
  var_22 = (char *)(**(type_8 **)(var_31 + 0x29bcd0))();
  var_7(var_22,pEVar15);
  (**(type_8 **)(var_31 + 0x29bb34))(var_22);
  var_1 = (**(type_8 **)(var_31 + 0x29c478))(0x2c,1,var_3);
  (**(type_8 **)(var_31 + 0x29c4cc))(*(type_5 *)(var_9 + -0x5090));
  pMVar12 = (type_1 *)
            (**(type_8 **)(var_31 + 0x29bc6c))(*(type_5 *)(var_10 + -0x5088),0);
  if (var_1 == ~var_2) {
    var_15 = *(type_8 **)(var_31 + 0x29c210);
    uVar26 = *(type_5 *)(var_10 + -0x5088);
    *pMVar12 = var_2;
    var_3 = (*var_15)(uVar26);
  }
  else {
    var_15 = *(type_8 **)(var_31 + 0x29c210);
    uVar26 = *(type_5 *)(var_10 + -0x5088);
    *pMVar12 = var_1;
    var_3 = (*var_15)(uVar26);
  }
  if (var_3 == 0) {
    (**(type_8 **)(var_31 + 0x29c31c))(*(type_5 *)(var_10 + -0x5088));
    var_6 = (int *)(**(type_8 **)(var_31 + 0x29c0f4))(*(type_5 *)(var_10 + -0x5088));
    if (var_6 == (int *)0x0) {
      *(type_5 *)(*(int *)(var_31 + 0x29b6b0) + -0x508c) = 0;
    }
    else {
      *(type_4 *)(*(int *)(var_31 + 0x29b6b0) + -0x508c) = (type_4)(*var_6 != 0);
    }
  }
  else {
    *(type_5 *)(*(int *)(var_31 + 0x29b6b0) + -0x508c) = 0;
  }
  (**(type_8 **)(var_31 + 0x29c164))(*(type_5 *)(var_9 + -0x5090));
  return *pMVar12;
}


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

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

{
  int iVar1;
  int *piVar2;
  int iVar3;
  int iVar4;
  int iVar5;
  int *piVar6;
  int iVar7;
  uint uVar8;
  int iVar9;
  undefined *puVar10;
  int *piVar11;
  undefined *puVar12;
  int iVar13;
  int *piVar14;
  int iVar15;
  int iVar16;
  int iVar17;
  char *pcVar18;
  int unaff_s6;
  int iVar19;
  int *unaff_s7;
  undefined4 uVar20;
  undefined *puVar21;
  code *pcVar22;
  code *pcVar23;
  double dVar24;
  double dVar25;
  int iStack_d0;
  int iStack_cc;
  undefined *puStack_c8;
  undefined4 uStack_c4;
  int *piStack_c0;
  undefined4 uStack_bc;
  undefined4 uStack_b8;
  undefined4 uStack_b4;
  int iStack_b0;
  int *piStack_ac;
  
  puVar12 = PTR___stack_chk_guard_003a9230;
  iVar1 = *(int *)PTR___stack_chk_guard_003a9230;
  piVar6 = param_2;
  uVar20 = param_3;
  piVar2 = (int *)(*(code *)PTR_IsEventLogging_003a97a8)();
  if (piVar2 != (int *)0x0) {
    piVar6 = param_2;
    uVar20 = param_3;
    piVar2 = (int *)(*(code *)PTR_MASKEDList_003a9148)(param_1,param_2,param_3,param_4);
  }
  if (iVar1 == *(int *)puVar12) {
    return piVar2;
  }
  puVar21 = PTR___stack_chk_fail_003a9064;
  (*(code *)PTR___stack_chk_fail_003a9064)();
  if (iVar1 == 0) {
    (**(code **)(puVar21 + 0x29ccac))
              (*(int *)(puVar21 + 0x29bf84) + 0x45e0,*(int *)(puVar21 + 0x29bf88) + -0x40d0,499,
               *(int *)(puVar21 + 0x29bf88) + -0x3bd0);
  }
  else {
    puVar12 = *(undefined **)(puVar21 + 0x29bf88);
    (**(code **)(puVar21 + 0x29c884))
              (0x8000,puVar12 + -0x40d0,*(int *)(puVar21 + 0x29bf88) + -0x3be0,500);
    param_1 = uVar20;
    unaff_s6 = iVar1;
    unaff_s7 = piVar6;
    if (piVar6 != (int *)0x0) {
      *piVar6 = 0;
      iVar3 = FUN_0010b2dc(uVar20);
      if (iVar3 != 0) {
        iVar16 = *(int *)(puVar21 + 0x29bf70);
        iVar3 = (**(code **)(puVar21 + 0x29ca98))(*(undefined4 *)(iVar16 + -0x5088));
        piVar2 = (int *)(**(code **)(puVar21 + 0x29cbb0))(iVar3 + 1,4);
        if (piVar2 != (int *)0x0) {
          iVar3 = *(int *)(puVar21 + 0x29bf70);
          (**(code **)(puVar21 + 0x29cd8c))(*(undefined4 *)(iVar3 + -0x5090));
          (**(code **)(puVar21 + 0x29cbdc))(*(undefined4 *)(iVar16 + -0x5088));
          iVar4 = (**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088));
          if (iVar4 == 0) {
            iVar13 = 0;
            piVar11 = piVar2;
          }
          else {
            iVar13 = 0;
            do {
              piVar11 = piVar2 + iVar13;
              if ((*(int *)(iVar4 + 0x2c) == 0) &&
                 (iVar5 = (**(code **)(puVar21 + 0x29ccec))(*(undefined4 *)(iVar4 + 0xc),iVar1,0),
                 iVar5 != 0)) {
                *piVar11 = iVar4;
                piVar11 = piVar2 + iVar13 + 1;
                iVar13 = iVar13 + 1;
              }
              iVar4 = (**(code **)(puVar21 + 0x29c9b4))(*(undefined4 *)(iVar16 + -0x5088));
            } while (iVar4 != 0);
          }
          (**(code **)(puVar21 + 0x29ca24))(*(undefined4 *)(iVar3 + -0x5090));
          (**(code **)(puVar21 + 0x29cf78))(piVar2,iVar13,4,*(int *)(puVar21 + 0x29c13c) + -0x5800);
          *piVar6 = iVar13;
          *piVar11 = 0;
          return piVar2;
        }
      }
      return (int *)0x0;
    }
  }
  puVar10 = puVar12 + -0x40d0;
  pcVar22 = *(code **)(puVar21 + 0x29ccac);
  iVar1 = *(int *)(puVar21 + 0x29bf88) + -0x3e64;
  (*pcVar22)(iVar1,puVar10,0x1f5,*(int *)(puVar21 + 0x29bf88) + -0x3bd0);
  piVar6 = *(int **)(pcVar22 + 0x29c670);
  uStack_b4 = param_5;
  iStack_cc = *piVar6;
  if (iVar1 == 0) {
    iVar1 = **(int **)(pcVar22 + 0x29c324);
  }
  piVar11 = &iStack_d0;
  puStack_c8 = puVar12;
  uStack_c4 = param_1;
  piStack_c0 = param_2;
  uStack_bc = param_3;
  uStack_b8 = param_4;
  iStack_b0 = unaff_s6;
  piStack_ac = unaff_s7;
  piVar2 = (int *)(**(code **)(pcVar22 + 0x29cc48))(*(int *)(pcVar22 + 0x29bd28) + 0x6c9c);
  if (piVar2 == (int *)0x0) {
    piVar2 = (int *)0x0;
  }
  else {
    iVar3 = *(int *)(pcVar22 + 0x29bd20);
    if (0 < iStack_d0) {
      iVar17 = 0;
      iVar19 = *(int *)(pcVar22 + 0x29bd8c);
      iVar4 = 0;
      iVar15 = *(int *)(pcVar22 + 0x29bd90);
      dVar25 = *(double *)(iVar3 + 0x1418);
      iVar13 = *(int *)(pcVar22 + 0x29bd24);
      iVar5 = *(int *)(pcVar22 + 0x29bd24);
      iVar16 = iStack_d0;
      piVar14 = piVar2;
      do {
        iVar9 = *piVar14;
        piVar11 = *(int **)(iVar9 + 0x2c);
        if (piVar11 == (int *)0x0) {
          iVar16 = *(int *)(iVar9 + 8);
          if ((iVar4 == 0) ||
             (iVar7 = (**(code **)(pcVar22 + 0x29c550))(iVar4,iVar16), iVar4 = iVar16, iVar7 != 0))
          {
            if (iVar16 != 0) {
              (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4620,iVar16);
              iVar9 = *piVar14;
            }
            iVar16 = 0;
            uVar8 = 0;
            pcVar18 = (char *)(*(int *)(pcVar22 + 0x29bd24) + -0x3b94);
            while( true ) {
              if ((1 << (uVar8 & 0x1f) & *(uint *)(iVar9 + 4)) != 0) {
                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar19 + 0x30e8,pcVar18);
                iVar4 = (**(code **)(pcVar22 + 0x29c778))(pcVar18);
                iVar16 = iVar16 + iVar4;
              }
              if (uVar8 == 0x1f) break;
              pcVar18 = pcVar18 + 0x10;
              uVar8 = uVar8 + 1;
              if (*pcVar18 == '\0') break;
              iVar9 = *piVar14;
            }
            if (iVar16 < 0xd) {
              do {
                iVar16 = iVar16 + 1;
                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);
              } while (iVar16 != 0xd);
            }
            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x3e3c);
            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd20) + 0x4644);
            iVar9 = *piVar14;
            iVar4 = *(int *)(iVar9 + 8);
          }
          if (*(int *)(iVar9 + 0x10) != 0) {
            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x62ac);
            iVar9 = *piVar14;
            uVar8 = (**(code **)(pcVar22 + 0x29c778))(*(undefined4 *)(iVar9 + 0x10));
            if (uVar8 < 0x11) {
              do {
                uVar8 = uVar8 + 1;
                (**(code **)(pcVar22 + 0x29c984))(iVar1,iVar15 + 0x2158);
              } while (uVar8 != 0x11);
              iVar9 = *piVar14;
            }
          }
          dVar24 = (double)*(int *)(iVar9 + 0x18);
          if (*(int *)(iVar9 + 0x18) < 0) {
            dVar24 = dVar24 + *(double *)(iVar3 + 0x1418);
          }
          (**(code **)(pcVar22 + 0x29c984))
                    (iVar1,iVar13 + -0x3e1c,(int)((ulonglong)dVar24 >> 0x20),SUB84(dVar24,0));
          dVar24 = (double)*(int *)(*piVar14 + 0x1c);
          if (*(int *)(*piVar14 + 0x1c) < 0) {
            dVar24 = dVar24 + dVar25;
          }
          (**(code **)(pcVar22 + 0x29c984))
                    (iVar1,iVar5 + -0x3e14,(int)((ulonglong)dVar24 >> 0x20),SUB84(dVar24,0));
          puVar10 = *(undefined **)(*piVar14 + 0x14);
          if (puVar10 != (undefined *)0x0) {
            (**(code **)(pcVar22 + 0x29c984))(iVar1,*(int *)(pcVar22 + 0x29bd24) + -0x62ac);
          }
          piVar11 = (int *)(*(int *)(pcVar22 + 0x29bd2c) + -0x4bdc);
          (**(code **)(pcVar22 + 0x29c984))(iVar1);
          iVar16 = iStack_d0;
        }
        iVar17 = iVar17 + 1;
        piVar14 = piVar14 + 1;
      } while (iVar17 < iVar16);
    }
    (**(code **)(pcVar22 + 0x29c8cc))(iVar1);
    (**(code **)(pcVar22 + 0x29c400))(piVar2);
    piVar2 = (int *)0x1;
  }
  if (iStack_cc == *piVar6) {
    return piVar2;
  }
  pcVar22 = *(code **)(pcVar22 + 0x29c4a4);
  iVar3 = iStack_cc;
  (*pcVar22)();
  if (iVar3 == 0) {
    (**(code **)(pcVar22 + 0x29c674))
              (*(int *)(pcVar22 + 0x29b94c) + 0x45e0,*(int *)(pcVar22 + 0x29b950) + -0x40d0,0x250,
               *(int *)(pcVar22 + 0x29b950) + -0x3bec);
  }
  else {
    iVar1 = *(int *)(pcVar22 + 0x29b950);
    (**(code **)(pcVar22 + 0x29c24c))
              (0x8000,iVar1 + -0x40d0,*(int *)(pcVar22 + 0x29b950) + -0x3bf8,0x251,
               *(int *)(pcVar22 + 0x29b950) + -0x62ac,iVar3);
    if (piVar11 != (int *)0x0) {
      *piVar11 = 0;
      iVar1 = FUN_0010b2dc(puVar10);
      if (iVar1 != 0) {
        iVar16 = *(int *)(pcVar22 + 0x29b938);
        iVar1 = (**(code **)(pcVar22 + 0x29c460))(*(undefined4 *)(iVar16 + -0x5088));
        piVar6 = (int *)(**(code **)(pcVar22 + 0x29c578))(iVar1 + 1,4);
        if (piVar6 != (int *)0x0) {
          iVar1 = *(int *)(pcVar22 + 0x29b938);
          (**(code **)(pcVar22 + 0x29c754))(*(undefined4 *)(iVar1 + -0x5090));
          (**(code **)(pcVar22 + 0x29c5a4))(*(undefined4 *)(iVar16 + -0x5088));
          iVar4 = (**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088));
          if (iVar4 == 0) {
            iVar13 = 0;
            piVar2 = piVar6;
          }
          else {
            iVar13 = 0;
LAB_0010d0bc:
            do {
              if (*(int *)(iVar4 + 0x2c) == 0) {
                uVar20 = *(undefined4 *)(iVar4 + 0xc);
                iVar4 = (**(code **)(pcVar22 + 0x29c6b4))(uVar20,iVar3,0);
                if (iVar4 != 0) {
                  iVar15 = iVar13 + 1;
                  iVar4 = (**(code **)(pcVar22 + 0x29c120))(uVar20);
                  uVar20 = *(undefined4 *)(iVar16 + -0x5088);
                  piVar6[iVar13] = iVar4;
                  iVar5 = iVar13 + 1;
                  iVar4 = (**(code **)(pcVar22 + 0x29c37c))(uVar20);
                  iVar13 = iVar15;
                  piVar2 = piVar6 + iVar5;
                  if (iVar4 == 0) break;
                  goto LAB_0010d0bc;
                }
              }
              iVar4 = (**(code **)(pcVar22 + 0x29c37c))(*(undefined4 *)(iVar16 + -0x5088));
              piVar2 = piVar6 + iVar13;
            } while (iVar4 != 0);
          }
          (**(code **)(pcVar22 + 0x29c3ec))(*(undefined4 *)(iVar1 + -0x5090));
          (**(code **)(pcVar22 + 0x29c940))(piVar6,iVar13,4,*(int *)(pcVar22 + 0x29bb04) + -0x578c);
          *piVar11 = iVar13;
          *piVar2 = 0;
          return piVar6;
        }
      }
      return (int *)0x0;
    }
  }
  pcVar23 = *(code **)(pcVar22 + 0x29c674);
  iVar3 = *(int *)(pcVar22 + 0x29b950) + -0x3e64;
  (*pcVar23)(iVar3,iVar1 + -0x40d0,0x252,*(int *)(pcVar22 + 0x29b950) + -0x3bec);
  iVar4 = *(int *)(pcVar23 + 0x29b6b0);
  iVar16 = *(int *)(pcVar23 + 0x29b6b0);
  uVar20 = (**(code **)(pcVar23 + 0x29bcd0))();
  FUN_0010b2dc(uVar20);
  (**(code **)(pcVar23 + 0x29bb34))(uVar20);
  iVar1 = (**(code **)(pcVar23 + 0x29c478))(0x2c,1,iVar3);
  (**(code **)(pcVar23 + 0x29c4cc))(*(undefined4 *)(iVar4 + -0x5090));
  piVar6 = (int *)(**(code **)(pcVar23 + 0x29bc6c))(*(undefined4 *)(iVar16 + -0x5088),0);
  if (iVar1 == -1) {
    pcVar22 = *(code **)(pcVar23 + 0x29c210);
    uVar20 = *(undefined4 *)(iVar16 + -0x5088);
    *piVar6 = 0;
    iVar1 = (*pcVar22)(uVar20);
  }
  else {
    pcVar22 = *(code **)(pcVar23 + 0x29c210);
    uVar20 = *(undefined4 *)(iVar16 + -0x5088);
    *piVar6 = iVar1;
    iVar1 = (*pcVar22)(uVar20);
  }
  if (iVar1 == 0) {
    (**(code **)(pcVar23 + 0x29c31c))(*(undefined4 *)(iVar16 + -0x5088));
    piVar2 = (int *)(**(code **)(pcVar23 + 0x29c0f4))(*(undefined4 *)(iVar16 + -0x5088));
    if (piVar2 == (int *)0x0) {
      *(undefined4 *)(*(int *)(pcVar23 + 0x29b6b0) + -0x508c) = 0;
    }
    else {
      *(uint *)(*(int *)(pcVar23 + 0x29b6b0) + -0x508c) = (uint)(*piVar2 != 0);
    }
  }
  else {
    *(undefined4 *)(*(int *)(pcVar23 + 0x29b6b0) + -0x508c) = 0;
  }
  (**(code **)(pcVar23 + 0x29c164))(*(undefined4 *)(iVar4 + -0x5090));
  return (int *)*piVar6;
}

