PopHaltDeviceIdle

VOID __stdcall PopHaltDeviceIdle(){
  __int128 *v0; 
  unsigned __int64 v1; 
  __int128 v2; 
  __int64 v3; 

  v0 = 0i64;
  v2 = 0i64;
  v3 = 0i64;
  v1 = (unsigned __int8)KeAcquireSpinLockRaiseToDpc((UINT64 *)&stru_140C23628 + 142);
  byte_140C502F4 = 1;
  if( dword_140C502F0 )
  {
    DWORD1(v2) = 0;
    v3 = (__int64)&v2 + 8;
    v0 = &v2;
    LOWORD(v2) = 1;
    *((_QWORD *)&v2 + 1) = (char *)&v2 + 8;
    qword_140C502E8 = (PRKEVENT)&v2;
    BYTE2(v2) = 6;
  }
  KxReleaseSpinLock((UINT64 *)&stru_140C23628 + 142);
  __writecr8(v1);
  if( v0 )
    KeWaitForSingleObject((UINT64)v0, 0, 0, 0, 0i64);
}

Referenced by:

PoInitializeBroadcast