ExtractAggregateFieldTypes
UINT8 __stdcall ExtractAggregateFieldTypes(EVENT_DATA_DESCRIPTOR *UserData){
__int64 v1;
__int64 v2;
UINT8 v3;
__int64 v4;
unsigned __int64 v5;
char *v6;
char v7;
__int64 v9;
char v11;
char v12;
char v13;
v2 = *(_QWORD *)(v1 + 16);
v3 = 0;
v4 = v1;
v5 = v2 + *(unsigned int *)(v1 + 24);
v6 = (char *)(v2 + 2);
do
v7 = *v6++;
while( v7 < 0 );
while( *v6++ )
;
while( (unsigned __int64)v6 < v5 )
{
while( *v6++ )
;
if( *v6 >= 0 )
break;
v11 = v6[1];
v12 = *v6 & 0x7F;
v6 += 2;
if( v11 >= 0 )
break;
while( 1 )
{
v13 = *v6;
if( *v6 >= 0 )
break;
if( v13 != (char)0x80 )
return v3;
++v6;
}
if( v12 != 9 || (unsigned __int8)(v13 - 113) > 2u )
break;
v9 = 2i64 * v3++;
*(_BYTE *)(v4 + 8 * v9 + 45) = v13;
}
return v3;
}Referenced by:
tlgWriteAgg