PfTFullEventListAdd

PSLIST_ENTRY __fastcall PfTFullEventListAdd(PSLIST_ENTRY ListEntry){
  PSLIST_ENTRY result; 
  INT64 a5; 

  RtlpInterlockedPushEntrySList((PSLIST_HEADER)&stru_140C4DB30 + 507, ListEntry);
  while( 1 )
  {
    result = (PSLIST_ENTRY)*(&stru_140C4DB30 + 4056);
    if( (unsigned int)*(&stru_140C4DB30 + 4056) <= *(&stru_140C4DB30 + 2032) )
      break;
    result = RtlpInterlockedPopEntrySList((PSLIST_HEADER)&stru_140C4DB30 + 507);
    if( !result )
      break;
    LODWORD(a5) = 1;
    PfFbBufferListInsertInFree(
      (_EX_RUNDOWN_REF *)&stru_140C4DB30 + 998,
      result,
      (unsigned int)(LODWORD(result[2].Next) - (_DWORD)result),
      *((unsigned int *)&result[2].Next + 3),
      a5);
  }
  return result;
}

Referenced by:

PfpEventHandleFullBuffer
PfpFlushEventBuffers