MiGetPageForEnclave
NTSTATUS __stdcall MiGetPageForEnclave(INT64 a1, _MI_PARTITION *a2){
__int64 v2;
char *v3;
unsigned __int64 v4;
__int64 v5;
v2 = *(_QWORD *)(a1 + 104);
if( v2 )
{
v3 = *(char **)(a1 + 96);
*(_QWORD *)(a1 + 96) = *(_QWORD *)v3;
*(_QWORD *)(a1 + 104) = v2 - 1;
v4 = (__int64)((unsigned __int128)((v3 - (char *)MmGetPfnDb()) * (__int128)0x2AAAAAAAAAAAAAABi64) >> 64) >> 3;
return v4 + (v4 >> 63);
}
else
{
LODWORD(v5) = MiGetEnclavePage(a2, 0i64);
}
return v5;
}Referenced by:
MiAddPagesToEnclave
MiCopyPagesIntoEnclave