MiDecrementShareCount

_MI_PAGE_DELETE_RESULT __stdcall MiDecrementShareCount(_MMPFN *Pfn1){
  char v1; 
  __int64 v2; 

  v1 = *((_BYTE *)&Pfn1->u3 + 2);
  v2 = Pfn1->u2._bf_0 & 0x3FFFFFFFFFFFFFFFi64;
  if( (v1 & 7) != 6 )
    KeBugCheckEx(
      0x4Eu,
      (PVOID)0x99,
      (PVOID)(Pfn1 - MmGetPfnDb()),
      (PVOID)(v1 & 7),
      (PVOID)(Pfn1->u2._bf_0 & 0x3FFFFFFFFFFFFFFFi64));
  Pfn1->u2._bf_0 ^= ((v2 - 1) ^ Pfn1->u2._bf_0) & 0x3FFFFFFFFFFFFFFFi64;
  if( v2 == 1 )
    return MiPfnShareCountIsZero(Pfn1, 0i64);
  else
    return 2;
}

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
MiTrimSystemImagePages
MiUnmapPatchTable
MiWsleFree
MiZeroCfgSystemWideBitmapWorker
MmOutSwapProcess
MmUnmapViewInSystemCache