KdRegisterPowerHandler

__int64 __fastcall KdRegisterPowerHandler(__int64 a1, __int64 a2, _QWORD *a3){
  _QWORD *PoolWithTag; 
  _QWORD *v7; 
  unsigned __int8 CurrentIrql; 
  _QWORD *v10; 
  PoolWithTag = ExAllocatePoolWithTag(NonPagedPoolNx, 0x20ui64, 0x6F49644Bui64);
  v7 = PoolWithTag;
  if( !PoolWithTag )
    return 3221225626i64;
  PoolWithTag[2] = a1;
  PoolWithTag[3] = a2;
  CurrentIrql = KeGetCurrentIrql();
  __writecr8(0xFui64);
  KxAcquireSpinLock(&KdpPowerSpinLock);
  v10 = (_QWORD *)qword_140C40598;
  if( *(__int64 **)qword_140C40598 != &KdpPowerListHead )
    __fastfail(3u);
  *v7 = &KdpPowerListHead;
  v7[1] = v10;
  *v10 = v7;
  qword_140C40598 = (__int64)v7;
  KxReleaseSpinLock(&KdpPowerSpinLock);
  __writecr8(CurrentIrql);
  *a3 = v7;
  return 0i64;
}

Referenced by:

No references.