PpmIdleSnapConcurrency

void __fastcall PpmIdleSnapConcurrency(PKSPIN_LOCK SpinLock, __int64 a2){
  LARGE_INTEGER PerformanceCounter; 
  KSPIN_LOCK v5; 
  KSPIN_LOCK v6; 
  __int64 v7; 
  UINT8 *v8; 
  UINT64 v9; 
  __int16 v10; 
  PerformanceCounter = KeQueryPerformanceCounter(0i64);
  _disable();
  KxAcquireSpinLock(SpinLock);
  v5 = SpinLock[2];
  if( PerformanceCounter.QuadPart > v5 )
  {
    SpinLock[2] = PerformanceCounter.QuadPart;
    v6 = PerformanceCounter.QuadPart - v5;
    v7 = *((unsigned int *)SpinLock + 3);
    SpinLock[3] += v6;
    SpinLock[v7 + 4] += v6;
  }
  v8 = *(UINT8 **)a2;
  v9 = 8i64 * *(unsigned int *)(a2 + 40);
  *(_QWORD *)(a2 + 24) = SpinLock[3];
  memmove(v8, (UINT8 *)SpinLock + 32, v9);
  KxReleaseSpinLock(SpinLock);
  if( (v10 & 0x200) != 0 )
    _enable();
}

Referenced by:

PpmParkSnapNodeStatistics