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.