TlgAggregateInternalProviderCallback

void __fastcall TlgAggregateInternalProviderCallback(const struct _GUID *a1, int a2, __int64 a3, __int64 a4){
  _BYTE *v4; 
  INT64 i; 
  if( a2 == 2 && a4 == 32 )
  {
    LODWORD(v4) = KeAbPreAcquire(&qword_140CDB268, 0i64, 1ui64);
    if( _interlockedbittestandset64((volatile signed __int32 *)&qword_140CDB268, 0i64) )
    {
      if( v4 )
        KeAbPostReleaseEx(&qword_140CDB268, v4);
    }
    else
    {
      if( v4 )
        v4[26] |= 1u;
      for( i = qword_140CF47A0; i; i = *(_QWORD *)(i + 352) )
        LookUpTableFlushComplete(i);
      if( (_InterlockedExchangeAdd64((volatile signed __int64 *)&qword_140CDB268, 0xFFFFFFFFFFFFFFFFui64) & 6) == 2 )
        ExfTryToWakePushLock((volatile INT64 *)&qword_140CDB268);
      KeAbPostRelease(&qword_140CDB268);
    }
  }
}

Referenced by:

No references.