EtwpGetMaxTrackingEventBufferSize
INT64 __fastcall EtwpGetMaxTrackingEventBufferSize(INT64 a1){
int v2;
_QWORD *v3;
_QWORD *v4;
__int64 *v5;
int v6;
INT64 result;
__int64 v8;
int v9;
int v10;
v2 = 0;
v3 = (_QWORD *)(a1 + 112);
v4 = (_QWORD *)*v3;
if( (_QWORD *)*v3 != v3 )
{
v8 = -1i64;
do
++v8;
while( *(&NtBuildLabEx + v8) );
v2 = (v8 + 24) & 0xFFFFFFF8;
do
{
v9 = *((_DWORD *)v4 + 5);
v4 = (_QWORD *)*v4;
v2 += (v9 + 19) & 0xFFFFFFF8;
}
while( v4 != v3 );
}
v5 = *(__int64 **)(a1 + 1024);
while( v5 != (__int64 *)(a1 + 1024) )
{
v10 = *((_DWORD *)v5 + 4) + 16 * *((_DWORD *)v5 + 6) + 27;
v5 = (__int64 *)*v5;
v2 += v10 & 0xFFFFFFF8;
}
v6 = *(_DWORD *)(a1 + 136);
if( v6 )
v2 += (32 * v6 + 23) & 0xFFFFFFF8;
result = (unsigned int)(v2 + 72);
if( !v2 )
return 0i64;
return result;
}Referenced by:
EtwpRealtimeNotifyConsumers
EtwpSendDbgId