MiWriteValidPteVolatile

VOID __stdcall MiWriteValidPteVolatile(_MMPTE *PointerPte, UINT64 PteFlags){
  unsigned __int8 v2; 
  signed __int64 Long; 
  __int64 v4; 
  UINT64 v5; 
  int v6; 
  unsigned __int64 v8; 
  __int64 v9; 
  __int64 v10; 
  bool v11; 
  signed __int64 v12; 

  Long = PointerPte->u.Long;
  v4 = (unsigned int)PteFlags & 0x80000000;
  v5 = PteFlags & 1;
  v6 = PteFlags & 2;
  do
  {
    v8 = Long;
    if( v4 )
      v8 = Long ^ (Long ^ ((unsigned __int64)v2 << 56)) & 0x7F00000000000000i64;
    v9 = v8 | 0x20;
    if( !v5 )
      v9 = v8;
    v10 = v9 | 0x42;
    if( !v6 )
      v10 = v9;
    v12 = _InterlockedCompareExchange64((volatile signed __int64 *)PointerPte, v10, Long);
    v11 = Long == v12;
    Long = v12;
  }
  while( !v11 );
}

Referenced by:

MiCheckProtoPtePageState
MiCopyOnWrite
MiLockCode
MiLockOwnedProtoPage
MiLockPagedAddress
MiMakePageAvoidRead
MiRemoveWsle
MiResolveProtoPteFault
MiSetReadOnlyOnSectionView
MiTryLockProtoPoolPageAtDpc
MiWriteWsle
MmCheckCachedPageStates