MiReferencePageForModifiedWrite

_MI_RESAVAIL_CHARGE __stdcall MiReferencePageForModifiedWrite(PVOID Pfn1, UINT64 Flags){
  char v3; 
  _MI_PARTITION *v4; 
  _MI_RESAVAIL_CHARGE v5; 
  char v6; 
  char v7; 
  _MI_RESAVAIL_CHARGE result; 
  UINT64 v9; 

  v3 = Flags;
  v4 = *(_MI_PARTITION **)(*(&stru_140C4DB30 + 267) + 8 * ((*((_QWORD *)Pfn1 + 5) >> 39) & 0x3FFi64));
  if( (Flags & 1) != 0 )
  {
    v5 = MiChargedLocal;
LABEL_3:
    if( (v3 & 4) == 0 )
    {
      MiUnlinkPageFromList((_MMPFN *)Pfn1, 0i64);
      *((_QWORD *)Pfn1 + 3) &= 0xC000000000000000ui64;
    }
    v6 = *((_BYTE *)Pfn1 + 34);
    ++*((_WORD *)Pfn1 + 16);
    v7 = v6 | 8;
    *((_BYTE *)Pfn1 + 34) = v7;
    if( (v3 & 8) == 0 )
      *((_BYTE *)Pfn1 + 34) = v7 & 0xEF;
    if( (*((_DWORD *)Pfn1 + 4) & 0x400i64) == 0 && (MiGetPagePrivilege((ULONG_PTR)Pfn1, 1ui64, 0i64) & 0x10) != 0 )
      MiClearPfnImageVerified(Pfn1, 0x1Cui64);
    return v5;
  }
  v9 = (*((_DWORD *)Pfn1 + 4) >> 10) & 1 | 2u;
  if( (v3 & 2) == 0 )
    v9 = (*((_DWORD *)Pfn1 + 4) >> 10) & 1;
  result = MiChargeForWriteInProgressPage(v4, v9);
  v5 = result;
  if( result )
    goto LABEL_3;
  return result;
}

Referenced by:

MiAddToReservationCluster
MiBuildMappedCluster
MiBuildReservationCluster
MiFillNoReservationCluster
MiGatherMappedPages
MiGetPageForWriteCluster
MmStoreProbeAndLockPages