MiGenerateSecureCookie

NTSTATUS __stdcall MiGenerateSecureCookie(){
  struct _KPRCB *CurrentPrcb; 
  unsigned __int64 v1; 
  unsigned __int64 v2; 
  unsigned __int64 v3; 

  CurrentPrcb = KeGetCurrentPrcb();
  v1 = CurrentPrcb->KeSystemCalls ^ CurrentPrcb->InterruptTime ^ KUSER_SHARED_DATA.SystemTime.High1Time ^ __rdtsc() ^ ((unsigned __int64)KUSER_SHARED_DATA.SystemTime.LowPart << 32);
  v2 = (unsigned __int64)(unsigned int)ExGenRandom(ExGenRandomDomainKernel) << 32;
  v3 = (v2 | (unsigned int)ExGenRandom(ExGenRandomDomainKernel)) ^ v1;
  if( !v3 )
    LODWORD(v3) = 1;
  return v3;
}

Referenced by:

MiInitializeVadSecuring