MiRotatedToFrameBuffer

NTSTATUS __stdcall MiRotatedToFrameBuffer(_MMPTE *PointerPte){
  INT64 v2; 
  unsigned __int64 v3; 
  _UNICODE_STRING *v4; 
  UINT8 v5; 
  wchar_t *v6; 
  __int64 v7; 
  _UNICODE_STRING *v8; 
  __int64 Buffer; 
  unsigned __int64 v10; 
  int v11; 
  NTSTATUS result; 
  INT64 v13; 

  LODWORD(v2) = MI_READ_PTE_LOCK_FREE((INT64)PointerPte);
  v13 = v2;
  result = 0;
  if( (v2 & 1) != 0 )
  {
    LODWORD(v3) = MI_READ_PTE_LOCK_FREE((INT64)&v13);
    v7 = (v3 >> 12) & 0xFFFFFFFFFi64;
    v8 = (_UNICODE_STRING *)&MmGetPfnDb()[v7];
    if( (((unsigned __int64)MmGetPfnDb()[v7].u4._bf_0 >> 50) & 1) == 0 )
      return 1;
    Buffer = (__int64)v8->Buffer;
    if( (_MMPTE *)(Buffer | 0x8000000000000000ui64) != PointerPte
      || (LODWORD(v10) = MI_READ_PTE_LOCK_FREE((INT64)MmGetPteBase() + (((unsigned __int64)PointerPte >> 9) & 0x7FFFFFFFF8i64)),
          (((unsigned __int64)v8[2].Buffer ^ (v10 >> 12)) & 0xFFFFFFFFFi64) != 0) )
    {
      LOBYTE(v11) = MI_PFN_IS_PROTO(v8, v4, v5, v6);
      if( !v11 || ((__int64)v8[2].Buffer & 0x1000000000i64) != 0 || Buffer <= 0 )
        return 1;
    }
  }
  return result;
}

Referenced by:

MiActOnPte
MiCheckCommitReleaseFromVad
MiDeleteVa
MiGetPageProtection
MiGetWorkingSetInfoList
MiMakeVaRangeNoAccess
MiProtectPrivateMemory
MiRevertValidPte
NtUnlockVirtualMemory