MiSmallVaStillMapsFrame

NTSTATUS __stdcall MiSmallVaStillMapsFrame(VOID *Va, UINT64 PageFrameIndex){
  UINT64 v3; 
  UINT64 v4; 
  NTSTATUS result; 
  UINT64 v6[2]; 
  __int128 v7; 
  INT64 v8; 
  UINT64 v9; 

  LODWORD(v8) = 0;
  *(_OWORD *)v6 = 0i64;
  v7 = 0i64;
  MiFillPteHierarchy((UINT64)Va, v6);
  result = 0;
  if( MiPageTableStillExists((INT64)v6, &v8) )
  {
    if( !(_DWORD)v8 )
    {
      if( PageFrameIndex == -1i64 )
        return 1;
      LODWORD(v3) = MI_READ_PTE_LOCK_FREE(v6[0]);
      v9 = v3;
      v4 = v3;
      if( (v3 & 1) != 0 )
      {
        MiPteInShadowRange((UINT64)&v9);
        if( ((v4 >> 12) & 0xFFFFFFFFFi64) == PageFrameIndex
          || (_MMPTE *)v6[0] == MmGetPxeSelfRef()
          && (MmGetPfnDb()[PageFrameIndex].u4._bf_0 & 0xFFFFFFFFFi64) == PageFrameIndex
          && PageFrameIndex == KeGetCurrentThread()->ApcState.Process->Pcb.UserDirectoryTableBase >> 12 )
        {
          return 1;
        }
      }
    }
  }
  return result;
}

Referenced by:

MiLockStealSystemVm