TlgAggregateFlush
VOID __fastcall TlgAggregateFlush(INT64 a1){
INT64 v1;
void *v2;
if( *(void(__fastcall **)(const struct _GUID *, __int64, char, __int64, unsigned __int64, struct _EVENT_FILTER_DESCRIPTOR *, void *))(a1 + 40) == TlgAggregateInternalRegisteredProviderEtwCallback )
{
v1 = *(_QWORD *)(a1 + 48);
if( KeGetCurrentIrql() >= 2u || (*((_DWORD *)KeGetPcr() + 3243) & 0x10001) != 0 )
{
v2 = *(void **)(v1 + 264);
*(_BYTE *)(v1 + 372) = 1;
TlgAggregateInternalFlushTimerCallbackKernelMode(*(PEX_TIMER *)(v1 + 360), v2);
}
else
{
LookUpTableFlushComplete(v1);
}
}
}Referenced by:
CmFcShutdownSystem
CmpFlushTraceLoggingProvider