PoFxSystemLatencyNotify
UINT8 __stdcall PoFxSystemLatencyNotify(UINT64 Latency){
_ETHREAD *CurrentThread;
bool v3;
__int64 *i;
__int64(__fastcall *v6)(__int64, UINT64 *);
char v7;
UINT64 v8;
CurrentThread = (_ETHREAD *)KeGetCurrentThread();
v3 = 0;
--CurrentThread->Tcb.KernelApcDisable;
ExAcquirePushLockSharedEx((_EX_PUSH_LOCK *)&stru_140C23628 + 497, 0i64);
for( i = (__int64 *)*(&stru_140C23628 + 493); i != (__int64 *)((char *)&stru_140C23628 + 3944); i = (__int64 *)*i )
{
v6 = (__int64(__fastcall *)(__int64, UINT64 *))i[12];
if( v6 )
{
v8 = Latency;
v7 = v6(16i64, &v8);
}
else
{
v7 = 0;
}
if( v7 && !v3 )
v3 = *((_DWORD *)i + 6) >= 0;
}
if( _InterlockedCompareExchange64((_QWORD *)&stru_140C23628 + 497, 0i64, 17i64) != 17 )
ExfReleasePushLockShared((_EX_PUSH_LOCK *)&stru_140C23628 + 497);
KeAbPostRelease((char *)&stru_140C23628 + 3976);
KeLeaveCriticalRegionThread(KeGetCurrentThread());
return v3;
}Referenced by:
PoFxSendSystemLatencyUpdate