MiGetSystemCacheReverseMap

NTSTATUS __stdcall MiGetSystemCacheReverseMap(UINT64 a1){
  UINT64 v2; 
  union {unsigned __int64 Long;volatile unsigned __int64 VolatileLong;_MMPTE_HARDWARE Hard;_MMPTE_PROTOTYPE Proto;_MMPTE_SOFTWARE Soft;_MMPTE_TIMESTAMP TimeStamp;_MMPTE_TRANSITION Trans;_MMPTE_SUBSECTION Subsect;_MMPTE_LIST List;} v3; 
  UINT64 v5; 

  v2 = *(unsigned __int64 *)((char *)&MmGetPdeBase()->u.Long + ((a1 >> 18) & 0x3FFFFFF8));
  v5 = v2;
  MiPteInShadowRange((UINT64)&v5);
  v3.Long = (unsigned __int64)MmGetPfnDb()[(v2 >> 12) & 0xFFFFFFFFFi64].OriginalPte.u;
  if( v3.Long )
    return LODWORD(v3.Long) + 40 * ((a1 >> 18) & 7);
  else
    return 0;
}

Referenced by:

MiComputePxeWalkAction
MiProbeAndLockPrepare
MiReleaseSystemCacheView
MiSynchronizeSystemVa
MiTrimSharedPageFromViews
MmFreeSystemCacheReserveView
MmMapViewInSystemCache
MmSetAddressRangeModifiedEx
MmUnmapViewInSystemCache