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