MiGetLargeVadMappingIndex

NTSTATUS __stdcall MiGetLargeVadMappingIndex(_MMVAD *Vad, UINT64 a2){
  NTSTATUS v2; 
  unsigned __int64 v3; 
  __int64 v4; 

  v2 = 1;
  v3 = (a2 >> 12) & 0xFFFFFFFFC0000i64;
  if( v3 >= (Vad->Core.StartingVpn | ((unsigned __int64)Vad->Core.StartingVpnHigh << 32))
    && v3 + 0x3FFFF <= (Vad->Core.EndingVpn | ((unsigned __int64)Vad->Core.EndingVpnHigh << 32)) )
  {
    MiGetProtoPteAddress();
    if( (MEMORY[0x30] & 0xC0000000) == 0x80000000 )
    {
      MiGetProtoPteAddress();
      if( v4 == MEMORY[8] )
        return 2;
    }
  }
  return v2;
}

Referenced by:

MiInPagePageTable