PopFxSetDripsBlockedByDeviceActivity

INT64 __fastcall PopFxSetDripsBlockedByDeviceActivity(CHAR a1){
  UINT64 v1; 
  unsigned __int8 v3; 
  unsigned __int64 v4; 
  INT64 result; 
  KeAcquireSpinLockRaiseToDpc(&PopFxGlobalDeviceAccountingLock, v1);
  v4 = v3;
  if( (_BYTE)byte_140C246E1 )
  {
    if( PopFxGlobalDeviceAccountingInfo[0] == a1 )
      goto LABEL_8;
    if( a1 )
      qword_140C246E8 = *(_QWORD *)&KUSER_SHARED_DATA.InterruptTime.LowPart;
    else
      PopFxUpdateGlobalDeviceAccountingInfo(*(UINT64 *)&KUSER_SHARED_DATA.InterruptTime.LowPart, 0i64);
  }
  if( PopFxGlobalDeviceAccountingInfo[0] != a1 )
  {
    PopFxGlobalDeviceAccountingInfo[0] = a1;
    PopFxUpdateDeviceIRPhaseAccounting(a1);
  }
LABEL_8:
  KxReleaseSpinLock(&PopFxGlobalDeviceAccountingLock);
  result = (unsigned int)KiIrqlFlags;
  __writecr8(v4);
  return result;
}

Referenced by:

PopFxPlatformStateAvailable