MiDecrementShareCount

INT64 __fastcall MiDecrementShareCount(UINT64 a1){
  char v1; 
  __int64 v2; 
  v1 = *(_BYTE *)(a1 + 34);
  v2 = *(_QWORD *)(a1 + 24) & 0x3FFFFFFFFFFFFFFFi64;
  if( (v1 & 7) != 6 )
    KeBugCheckEx(
      0x4Eu,
      0x99ui64,
      (__int64)(a1 - (_QWORD)MmGetPfnDb()) / 48,
      v1 & 7,
      *(_QWORD *)(a1 + 24) & 0x3FFFFFFFFFFFFFFFi64);
  *(_QWORD *)(a1 + 24) ^= ((v2 - 1) ^ *(_QWORD *)(a1 + 24)) & 0x3FFFFFFFFFFFFFFFi64;
  if( v2 == 1 )
    return MiPfnShareCountIsZero(a1, 0i64);
  else
    return 2i64;
}

Referenced by:

MiAddSystemPageTableToList
MiBuildReservationCluster
MiClearDriverHotPatchPtes
MiCompletePrivateZeroFault
MiConvertPrivateToProto
MiCopyOnWrite
MiDecrementLargeSubsections
MiDecrementProtoShareCounts
MiDeletePteList
MiDeleteTopLevelPage
MiDuplicateCloneLeaf
MiFinishLastForkPageTable
MiFreeContiguousPages
MiFreeRegistryPageRange
MiFreeUnmappedPageTables
MiInitializeProtoPfn
MiLockAndDecrementShareCount
MiMakeSystemCacheRangeValid
MiOutPageSingleKernelStack
MiPurgeImageSection
MiPurgeSubsection
MiRestoreTransitionPte
MiRewriteTrimPteAsDemandZero
MiSharePages
MiUnmapPatchTable
MiWsleFree
MiZeroCfgSystemWideBitmapWorker
MmOutSwapProcess
MmUnmapViewInSystemCache