HalpPowerStateCallback
VOID __stdcall HalpPowerStateCallback(PVOID CallbackContext, PVOID Argument1, PVOID Argument2){
_HALP_ALLOC_CONTEXT *v3;
ULONG_PTR v4;
_HALP_ALLOC_CONTEXT *v5;
INT64 v6;
INT64 v7;
unsigned int v8;
if( (_DWORD)Argument1 == 3 )
{
if( (_DWORD)Argument2 )
{
if( (_DWORD)Argument2 == 1 )
{
MiLockPagableImageSection(HalpSleepPageLock, 0i64);
HalpFreeNvsBuffers(v3);
HalpMcUpdateUnlock();
v4 = HalpPerformanceCounter;
SystemPowerPhase = 0;
if( *(_DWORD *)(HalpPerformanceCounter + 228) == 5
&& (*(_DWORD *)(HalpPerformanceCounter + 184) & 0x20) == 0
&& (unsigned int)KeQueryActiveProcessorCountEx(0xFFFFu) > 1 )
{
v8 = -1;
if( HalpTscMaximumComputedSpread < 0xFFFFFFFF )
v8 = HalpTscMaximumComputedSpread;
KeBugCheckEx(0x5Cu, 0x110ui64, v4, 0x2Aui64, v8);
}
}
}
else
{
SystemPowerPhase = 1;
((void(__fastcall *)(_QWORD))off_140C00948[0])(0i64);
MmLockPagableSectionByHandle(HalpSleepPageLock);
HalpMapNvsArea(v5);
HalpMcUpdateLock(v7, v6);
}
}
}Referenced by:
No references.