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