ExGetNextWakeTimeForDeepSleep

UINT64 __stdcall ExGetNextWakeTimeForDeepSleep(){
  UINT64 v0; 
  UINT64 result; 
  void **v2; 
  _KTIMER *v3; 

  v0 = -1i64;
  result = -1i64;
  if( *(&stru_140C23628 + 4784) )
  {
    v2 = (void **)*(&WheapDeferredInternalLogsEventLock + 366);
    while( v2 != (void **)((char *)&WheapDeferredInternalLogsEventLock + 2928) )
    {
      v3 = (_KTIMER *)(v2 - 33);
      v2 = (void **)*v2;
      if( *(_QWORD *)v3[4].gap0 )
        result = KeQueryTimerDueTime(v3);
      if( result )
      {
        if( result < v0 )
          v0 = result;
      }
    }
    return v0;
  }
  return result;
}

Referenced by:

KiGetNextTimerExpirationDueTime