MiRetainSubsection

__int64 __fastcall MiRetainSubsection(ULONG_PTR BugCheckParameter2){
  __int64 v1; 
  KIRQL v3; 
  unsigned __int64 v4; 
  int v5; 
  __int64 result; 
  v1 = *(_QWORD *)BugCheckParameter2;
  v3 = ExAcquireSpinLockExclusive((PEX_SPIN_LOCK)(*(_QWORD *)BugCheckParameter2 + 72i64));
  ++*(_QWORD *)(v1 + 40);
  v4 = v3;
  v5 = *(_DWORD *)(v1 + 56);
  if( (v5 & 0x20) == 0 && *(_QWORD *)(v1 + 64) && (v5 & 0x400) == 0 )
    MiIncrementSubsectionViewCount((INT64 *)BugCheckParameter2, 4);
  ExReleaseSpinLockExclusiveFromDpcLevel((INT64 *)(v1 + 72));
  result = (unsigned int)KiIrqlFlags;
  __writecr8(v4);
  return result;
}

Referenced by:

MiFaultGetFileExtents
MiGetHardFaultPages
MmAccessFault