MiEmptyPte
NTSTATUS __stdcall MiEmptyPte(INT64 a1, UINT64 a2, INT64 a3){
int *v3;
int v6;
INT64 v7;
unsigned __int64 v8;
_UNICODE_STRING *v9;
UINT8 v10;
PWCHAR v11;
int v12;
INT64 v14;
v3 = *(int **)(a1 + 168);
v6 = *v3;
if( (*v3 & 2) != 0 )
{
if( (_DWORD)a3 )
return 0;
LODWORD(v7) = MI_READ_PTE_LOCK_FREE(a2);
v14 = v7;
LODWORD(v8) = MI_READ_PTE_LOCK_FREE((INT64)&v14);
LOBYTE(v12) = MI_PFN_IS_PROTO((_UNICODE_STRING *)&MmGetPfnDb()[(v8 >> 12) & 0xFFFFFFFFFi64], v9, v10, v11);
if( v12 )
return 0;
LABEL_7:
MiEmptyWorkingSetHelper(
*(_MMSUPPORT_INSTANCE **)(a1 + 24),
(_MMPTE *)a2,
(UINT64)(v3 + 2),
(_MMWSLE_FLUSH_LIST *)(v6 & 4));
return 0;
}
if( (v6 & 1) == 0 || !(_DWORD)a3 )
goto LABEL_7;
return 0;
}Referenced by:
No references.