IoSetDiskIoAttributionOnProcess

void __fastcall IoSetDiskIoAttributionOnProcess(__int64 a1, __int64 a2){
  KIRQL v4; 
  void *v5; 
  unsigned __int64 v6; 
  if( *(_QWORD *)(a2 + 2392) != a1 )
  {
    if( a1 && _InterlockedIncrement64((volatile signed __int64 *)(a1 + 32)) <= 1 )
      __fastfail(0xEu);
    v4 = ExAcquireSpinLockExclusive(&IopDiskIoAttributionLock);
    v5 = *(void **)(a2 + 2392);
    v6 = v4;
    *(_QWORD *)(a2 + 2392) = a1;
    ExReleaseSpinLockExclusiveFromDpcLevel((INT64 *)&IopDiskIoAttributionLock);
    __writecr8(v6);
    if( v5 )
      IoDiskIoAttributionDereference(v5);
  }
}

Referenced by:

PspEstablishJobHierarchy
PspSetJobIoAttributionProcessCallback