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