PfFbBufferListFlushStandby

VOID __stdcall PfFbBufferListFlushStandby(){
  struct _EX_RUNDOWN_REF *v0; 
  struct _EX_RUNDOWN_REF *v1; 
  PSLIST_ENTRY v2; 
  PSLIST_ENTRY v3; 
  INT64 v4; 
  v1 = v0;
  if( ExAcquireRundownProtection(v0) )
  {
    v2 = RtlpInterlockedFlushSList((PSLIST_HEADER)&v1[4]);
    while( v2 )
    {
      v3 = v2;
      v2 = v2->Next;
      if( ExAcquireRundownProtection(v1) )
      {
        ((void(__fastcall *)(PSLIST_ENTRY))v1[12].Count)(v3);
      }
      else
      {
        LODWORD(v4) = 0;
        PfFbBufferListInsertInFree(
          (SLIST_ENTRY *)v1,
          v3,
          (unsigned int)(LODWORD(v3[2].Next) - (_DWORD)v3),
          *((unsigned int *)&v3[2].Next + 3),
          v4);
      }
    }
    ExReleaseRundownProtection(v1);
  }
}

Referenced by:

PfGetCompletedTrace
PfSnEndTrace
PfpFlushEventBuffers