PoDisableSleepStates

INT64 __fastcall PoDisableSleepStates(INT64 a1, INT64 a2, CHAR **a3){
  int v3; 
  int v5; 
  _QWORD *PoolWithTag; 
  unsigned int v7; 
  __int64 v8; 
  __int64 *v9; 
  v3 = a2;
  v5 = a1;
  PoolWithTag = ExAllocatePoolWithTag(PagedPool, 0x18ui64, 0x64536F50ui64);
  v7 = 0;
  v8 = (__int64)PoolWithTag;
  if( PoolWithTag )
  {
    *PoolWithTag = 0i64;
    PoolWithTag[1] = 0i64;
    *((_DWORD *)PoolWithTag + 4) = v5;
    *((_DWORD *)PoolWithTag + 5) = v3;
    ExAcquireFastMutex(&PopDisableSleepMutex);
    v9 = (__int64 *)qword_140C24998;
    if( *(__int64 **)qword_140C24998 != &PopDisableSleepList )
      __fastfail(3u);
    *(_QWORD *)v8 = &PopDisableSleepList;
    *(_QWORD *)(v8 + 8) = v9;
    *v9 = v8;
    qword_140C24998 = v8;
    KeReleaseGuardedMutex(&PopDisableSleepMutex);
    *a3 = (CHAR *)v8;
  }
  else
  {
    return(unsigned int)-1073741670;
  }
  return v7;
}

Referenced by:

HalpLoadMicrocode
PoInitHiberServices
VslpIumPhase4Initialize