SMKM_STORE::SmStCheckResident
__int64 __fastcall SMKM_STORE::SmStCheckResident(__int64 a1, unsigned int a2){
unsigned int v2;
unsigned __int64 v3;
int v4;
__int64 *i;
UINT64 Flags;
unsigned __int64 v8;
__int64 v9[4];
v2 = 0;
v8 = a1 & 0xFFFFFFFFFFFFF000ui64;
LODWORD(Flags) = 0;
v9[1] = (a1 & 0xFFFFFFFFFFFFF000ui64) + 4096;
v9[0] = 0i64;
v3 = ((a1 & 0xFFF) + 4095 + (unsigned __int64)a2) >> 12;
v9[2] = 0i64;
if( MmQueryVirtualMemory(
(PVOID)0xFFFFFFFFFFFFFFFFi64,
0i64,
MemoryWorkingSetExInformation,
&v8,
16i64 * (unsigned int)v3,
0i64,
Flags) < 0 )
{
return 2;
}
else
{
v4 = 0;
if( (_DWORD)v3 )
{
for( i = v9; (*i & 1) != 0 || (*i & 0xC00000) == 0x400000; i += 2 )
{
if( ++v4 >= (unsigned int)v3 )
return 1;
}
}
else
{
return 1;
}
}
return v2;
}
Referenced by:
No references.