PopFxSetDripsBlockedByDeviceActivity

NTSTATUS __stdcall PopFxSetDripsBlockedByDeviceActivity(CHAR a1){
  unsigned __int64 v2; 
  NTSTATUS result; 

  v2 = (unsigned __int8)KeAcquireSpinLockRaiseToDpc((UINT64 *)&stru_140C23628 + 549);
  if( *(&stru_140C23628 + 4281) )
  {
    if( *(&stru_140C23628 + 4280) == a1 )
      goto LABEL_8;
    if( a1 )
      *(&stru_140C23628 + 536) = *(_QWORD *)&KUSER_SHARED_DATA.InterruptTime.LowPart;
    else
      PopFxUpdateGlobalDeviceAccountingInfo(*(UINT64 *)&KUSER_SHARED_DATA.InterruptTime.LowPart, 0i64);
  }
  if( *(&stru_140C23628 + 4280) != a1 )
  {
    *(&stru_140C23628 + 4280) = a1;
    PopFxUpdateDeviceIRPhaseAccounting(a1);
  }
LABEL_8:
  KxReleaseSpinLock((UINT64 *)&stru_140C23628 + 549);
  result = KiIrqlFlags;
  __writecr8(v2);
  return result;
}

Referenced by:

PopFxPlatformStateAvailable