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