MiTryLockLeafPage

_MMPFN *__stdcall MiTryLockLeafPage(_MMPTE *ProtoPte, UINT64 PageLockHeld){
  volatile signed __int32 **v2; 
  _MMPTE *v3; 
  INT64 v4; 
  unsigned __int64 v5; 
  __int64 v6; 
  volatile signed __int32 *v7; 
  *v2 = 0i64;
  v3 = ProtoPte;
  while( 1 )
  {
    while( 1 )
    {
      v4 = *(_QWORD *)v3;
      v5 = *(_QWORD *)v3;
      if( (*(_QWORD *)v3 & 1) != 0 )
        goto LABEL_8;
      if( (*(_QWORD *)v3 & 0xC00i64) != 2048 )
        return(_MMPFN *)3221226548i64;
      if( MiInvalidPteConforms(v4) )
      {
        v5 = v4;
        if( qword_140C4DC80 )
        {
          if( (v4 & 0x10) == 0 )
            v5 = v4 & ~qword_140C4DC80;
        }
LABEL_8:
        v6 = 48 * ((v5 >> 12) & 0xFFFFFFFFFi64);
        if( ((*(_QWORD *)((char *)MmGetPfnDb() + v6 + 40) >> 50) & 1) != 0 )
          break;
      }
    }
    v7 = (volatile signed __int32 *)((char *)MmGetPfnDb() + v6);
    if( _interlockedbittestandset64(v7 + 6, 0x3Fui64) )
      return(_MMPFN *)3221225557i64;
    if( *(_QWORD *)v3 == v4 )
    {
      *v2 = v7;
      return 0i64;
    }
    _InterlockedAnd64((volatile signed __int64 *)v7 + 3, 0x7FFFFFFFFFFFFFFFui64);
  }
}

Referenced by:

MiConvertStandbyToProto
MiCopyDataPageToImagePage
MiCopyFileOnlyGlobalSubsectionPage
MiDeleteClusterSection
MiTryLockProtoPoolPageAtDpc