EtwpCovSampCaptureCancelApcs

NTSTATUS __fastcall EtwpCovSampCaptureCancelApcs(INT64 a1){
  UINT64 v1; 
  NTSTATUS result; 
  INT64 v3; 
  __int64 *v4; 
  UINT64 *v5; 
  void *v6; 
  unsigned __int8 v7; 
  unsigned __int64 v8; 
  INT64 v9; 
  INT64 v10; 
  result = *(_DWORD *)(a1 + 344);
  if( *(_DWORD *)(a1 + 348) != result )
  {
    v3 = a1 + 304;
    v4 = *(__int64 **)(a1 + 304);
    if( v4 != (__int64 *)(a1 + 304) )
    {
      v5 = (UINT64 *)(a1 + 264);
      do
      {
        v6 = 0i64;
        KeAcquireSpinLockRaiseToDpc(v5, v1);
        v8 = v7;
        if( *((_BYTE *)v4 + 114) )
        {
          v6 = (void *)v4[5];
          if( v6 )
            ObfReferenceObjectWithTag((PVOID)v4[5], 0x746C6644u);
        }
        KxReleaseSpinLock(v5);
        result = KiIrqlFlags;
        __writecr8(v8);
        if( v6 )
        {
          if( KeRemoveQueueApc((_KAPC *)(v4 + 4)) )
          {
            v9 = StartContext;
            memset((INT64)(v4 + 4), 0i64);
            v10 = v4[3];
            *((_DWORD *)v4 + 30) = 0;
            EtwpCovSampCaptureReleaseToLookaside(v9, v10, (struct _SLIST_ENTRY *)(v4 - 3));
          }
          result = ObfDereferenceObjectWithTag(v6, 0x746C6644ui64);
        }
        v4 = (__int64 *)*v4;
      }
      while( v4 != (__int64 *)v3 );
    }
  }
  return result;
}

Referenced by:

EtwpCovSampCaptureContextStop