MiCanPageMove

NTSTATUS __stdcall MiCanPageMove(_MMPFN *Pfn1){
  _UNICODE_STRING *v1; 
  UINT8 v2; 
  wchar_t *v3; 
  int v4; 
  INT64 v5; 
  int v6; 
  __int64 v7; 
  __int64 v8; 
  __int64 v9; 

  LOBYTE(v4) = MI_PFN_IS_PROTO((_UNICODE_STRING *)Pfn1, v1, v2, v3);
  if( !v4 || (*(_QWORD *)(v5 + 16) & 0x400i64) == 0 )
    return 1;
  LOBYTE(v6) = MiIsPfnFileOnly(v5);
  if( v6 == 1 )
    return 0;
  if( *(&stru_140C4DB30 + 42) && (v7 & 0x10) == 0 )
    v7 &= ~*(&stru_140C4DB30 + 42);
  v8 = v7 >> 16;
  v9 = *(_QWORD *)v8;
  return v8 == *(_QWORD *)v8 + 128i64 || (*(_DWORD *)(v9 + 56) & 0x20) == 0 || (*(_DWORD *)(v9 + 92) & 0x20000) == 0;
}

Referenced by:

MiMigratePfn
MiProbeLeafPteAccess
MiReferenceInPageFile
MiReplaceLockedPage
MiSwapNumaStandbyPage
MiTradeTransitionPage