EtwpFlushCoverage

VOID __stdcall EtwpFlushCoverage(){
  _ETHREAD *CurrentThread; 
  char v1; 

  CurrentThread = (_ETHREAD *)KeGetCurrentThread();
  --CurrentThread->Tcb.KernelApcDisable;
  ExAcquirePushLockExclusiveEx((_EX_PUSH_LOCK *)&ExBootDevicesRemovedEvent + 166, 0i64);
  qword_140C50300 = (__int64)KeGetCurrentThread();
  if( EtwpCoverageContext )
    EtwpCoverageFlushPending(EtwpCoverageContext);
  qword_140C50300 = 0i64;
  v1 = _InterlockedExchangeAdd64((_QWORD *)&ExBootDevicesRemovedEvent + 166, 0xFFFFFFFFFFFFFFFFui64);
  if( (v1 & 2) != 0 && (v1 & 4) == 0 )
    ExfTryToWakePushLock((_EX_PUSH_LOCK *)&ExBootDevicesRemovedEvent + 166);
  KeAbPostRelease((char *)&ExBootDevicesRemovedEvent + 1328);
  KeLeaveCriticalRegionThread(KeGetCurrentThread());
}

Referenced by:

EtwShutdown