EtwpCovSampCaptureBufferProcess

VOID __stdcall EtwpCovSampCaptureBufferProcess(INT64 *a1, INT64 a2){
  INT64 v4; 
  PVOID v5; 
  _QWORD *v6; 
  unsigned int v7; 
  PVOID BugCheckParameter2; 

  BugCheckParameter2 = 0i64;
  if( (int)EtwpCovSampAcquireSamplerRundown((_LIST_ENTRY **)&BugCheckParameter2) < 0 )
    goto LABEL_6;
  if( (*(_DWORD *)(a2 + 56) & 4) != 0 )
  {
    v5 = BugCheckParameter2;
    EtwpCovSampContextAddSamples(BugCheckParameter2);
    goto LABEL_7;
  }
  if( EtwpCovSampStackHashCheck(a1, v4, (UINT8 *)(a2 + 64), *(unsigned __int16 *)(a2 + 62)) )
  {
LABEL_6:
    v5 = BugCheckParameter2;
  }
  else
  {
    v6 = (_QWORD *)(a2 + 64);
    v7 = *(unsigned __int16 *)(a2 + 62);
    v5 = BugCheckParameter2;
    EtwpCovSampContextAddAddresses(BugCheckParameter2, (__int64)KeGetCurrentThread()->ApcState.Process, v6, v7);
  }
LABEL_7:
  if( v5 )
  {
    ExReleaseRundownProtection((_EX_RUNDOWN_REF *)&ExBootDevicesRemovedEvent + 152);
    KeLeaveCriticalRegion();
  }
}

Referenced by:

EtwpCovSampCaptureWorkerThread