PfSnTracingStateExWorkerRoutine

VOID __stdcall PfSnTracingStateExWorkerRoutine(_PFSN_TRACING_STATE_TIMER *TracingStateTimer){
  PVOID v2; 
  PVOID *v3; 

  ExAcquireFastMutex(&FastMutex);
  if( dword_140C501E4 == 2 )
  {
    KeReleaseGuardedMutex(&FastMutex);
  }
  else
  {
    dword_140C501E4 = 1;
    while( qword_140C50198 != &qword_140C50198 )
    {
      v2 = qword_140C501A0;
      if( *(PVOID **)qword_140C501A0 != &qword_140C50198
        || (v3 = (PVOID *)*((_QWORD *)qword_140C501A0 + 1), *v3 != qword_140C501A0) )
      {
        __fastfail(3u);
      }
      qword_140C501A0 = (PVOID)*((_QWORD *)qword_140C501A0 + 1);
      *v3 = &qword_140C50198;
      ExFreePoolWithTag(v2, 0);
      --dword_140C501E0;
    }
    KeReleaseGuardedMutex(&FastMutex);
    if( qword_140C501E8 )
      KeSetEvent(qword_140C501E8, 0, 0);
  }
  ExFreePoolWithTag(TracingStateTimer, 0);
}

Referenced by:

No references.