MiInitializePageAccessLogging
UINT64 __fastcall MiInitializePageAccessLogging(INT64 a1, INT64 a2, INT64 a3){
_QWORD *v3;
unsigned __int8 v4;
UINT64 result;
*(_QWORD *)(a2 + 32) = a2 + 72;
v3 = (_QWORD *)(a2 + a3 - 8);
*(_DWORD *)(a2 + 8) = 0;
*v3 = 0i64;
*(_QWORD *)(a2 + 48) = v3;
*(_QWORD *)(a2 + 40) = v3 - 1;
*(_QWORD *)a2 = 0i64;
*(_DWORD *)(a2 + 64) = 0;
v4 = *(_BYTE *)(a1 + 184) & 7;
if( v4 >= 2u )
{
*(_QWORD *)(a2 + 56) = 0i64;
}
else if( v4 )
{
*(_QWORD *)(a2 + 56) = 1i64;
*(_DWORD *)(a2 + 64) = *(_DWORD *)(a1 - 248);
}
else
{
*(_QWORD *)(a2 + 56) = a1 - 1664;
}
result = KUSER_SHARED_DATA.TickCountQuad;
*(_QWORD *)(a2 + 16) = KUSER_SHARED_DATA.TickCountQuad;
return result;
}Referenced by:
MiAllocateAccessLog
MiGetCcAccessLog