MiGetPageTableLockBuffer
CHAR *__fastcall MiGetPageTableLockBuffer(INT64 a1, INT64 a2, _DWORD *a3){
unsigned __int64 v3;
int v4;
unsigned __int64 v5;
int *v6;
CHAR *result;
v3 = 2 * (unsigned int)((a2 - (__int64)MmGetPml4eBase()) >> 3);
v4 = v3 & 0x1F;
v5 = v3 >> 5;
v6 = &dword_140C4DFDC;
if( (*(_BYTE *)(a1 + 184) & 7u) < 2 )
v6 = (int *)(a1 + 432);
result = (CHAR *)&v6[v5];
*a3 = v4;
return result;
}Referenced by:
MiIsPageTableLocked
MiLockPageTableInternal
MiPageTableLockIsContended
MiQueryAddressState
MiUnlockPageTableInternal
MiWalkPageTablesRecursively