MiReturnCcAccessLog

VOID __fastcall MiReturnCcAccessLog(INT64 a1, INT64 a2){
  _MM_PAGE_ACCESS_INFO_HEADER *v2; 
  v2 = (_MM_PAGE_ACCESS_INFO_HEADER *)a1;
  if( (_DWORD)a2 )
    *(_QWORD *)(a1 + 32) = *(_QWORD *)(a1 + 24);
  if( !qword_140C4E540 )
    v2 = (_MM_PAGE_ACCESS_INFO_HEADER *)(-(__int64)(_InterlockedCompareExchange64(&qword_140C4E540, a1, 0i64) != 0) & a1);
  if( v2 )
  {
    if( (_MM_PAGE_ACCESS_INFO_HEADER *)v2->PageEntry == &v2[1] )
    {
      LOBYTE(a2) = 1;
      MmFreeAccessPfnBuffer(v2, a2);
    }
    else
    {
      MiQueuePageAccessLog((PSLIST_ENTRY)v2);
    }
  }
}

Referenced by:

MiCheckAndProcessCcAccessLog
MmPrefetchForCacheManager