TelemetryCoverageTableLocateInternal
UINT64 *__stdcall TelemetryCoverageTableLocateInternal(UINT64 *a1, INT64 a2){
__int64 v2;
int v3;
unsigned int v4;
UINT64 *v5;
UINT64 *v6;
UINT64 *result;
v2 = *((unsigned int *)a1 + 1);
v3 = a2;
v4 = a2 & a1[1];
v5 = (UINT64 *)((char *)a1 + 4 * v2 + 52);
if( v4 >= (unsigned int)v2 )
v4 = v4 - (unsigned int)v2 < (unsigned int)v2 ? v4 - v2 : 0;
v6 = (UINT64 *)((char *)a1 + 4 * v4 + 52);
result = v6;
if( v6 >= v5 )
{
LABEL_8:
for( result = (UINT64 *)((char *)a1 + 52); result < v6; result = (UINT64 *)((char *)result + 4) )
{
if( !*(_DWORD *)result || *(_DWORD *)result == v3 )
return result;
}
return 0i64;
}
else
{
while( *(_DWORD *)result && *(_DWORD *)result != v3 )
{
result = (UINT64 *)((char *)result + 4);
if( result >= v5 )
goto LABEL_8;
}
}
return result;
}Referenced by:
EtwpCoverageCheckCP
EtwpCoverageRecord
EtwpCoverageResetCP