EtwpCovSampCaptureCleanupLookasides

NTSTATUS __stdcall EtwpCovSampCaptureCleanupLookasides(INT64 a1){
  UINT64 *v1; 
  int v3; 
  unsigned __int64 v4; 
  union _SLIST_HEADER *i; 
  __int64 *v6; 
  bool v7; 
  NTSTATUS result; 

  v1 = (UINT64 *)(a1 + 264);
  v3 = 1;
  v4 = (unsigned __int8)KeAcquireSpinLockRaiseToDpc((UINT64 *)(a1 + 264));
  if( !*(_DWORD *)(a1 + 912) && !*(_DWORD *)(a1 + 920) )
  {
    for( i = *(union _SLIST_HEADER **)(a1 + 576);
          i != (union _SLIST_HEADER *)(a1 + 576);
          i = (union _SLIST_HEADER *)i->Alignment )
    {
      EtwpCovSampLookasideFlushFreeListToCleanupList(i - 1);
    }
    v6 = *(__int64 **)(a1 + 592);
    if( v6 == (__int64 *)(a1 + 592) )
      goto LABEL_11;
    do
    {
      v7 = *((_DWORD *)v6 + 15) < *((_DWORD *)v6 + 14);
      v6 = (__int64 *)*v6;
      if( v7 )
        v3 = 0;
    }
    while( v6 != (__int64 *)(a1 + 592) );
    if( v3 )
    {
LABEL_11:
      *(_DWORD *)(a1 + 920) = 1;
      KeSetEvent((PRKEVENT)(a1 + 888), 0, 0);
    }
  }
  KxReleaseSpinLock(v1);
  result = KiIrqlFlags;
  __writecr8(v4);
  return result;
}

Referenced by:

EtwpCovSampCaptureCleanupDpc
EtwpCovSampCaptureContextStop