PfSnTracingStateExWorkerRoutine

VOID __fastcall PfSnTracingStateExWorkerRoutine(VOID *P){
  PVOID v2; 
  PVOID *v3; 
  ExAcquireFastMutex(&stru_140C501A8);
  if( dword_140C501E4 == 2 )
  {
    KeReleaseGuardedMutex(&stru_140C501A8);
  }
  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(&stru_140C501A8);
    if( EventOut )
      KeSetEvent(EventOut, 0);
  }
  ExFreePoolWithTag(P, 0);
}

Referenced by:

No references.