EtwpCovSampHashLookupInTable
INT64 __fastcall EtwpCovSampHashLookupInTable(INT64 a1, UINT8 *a2, _QWORD *a3){
unsigned int v4;
int v5;
__int64 v6;
__int64 v7;
int v8;
int v9;
__int64 i;
_QWORD *v11;
INT64 result;
v4 = 0;
v5 = 0;
v6 = *(_QWORD *)(a1 + 24);
v7 = *(_QWORD *)a2;
v8 = *(_DWORD *)(a1 + 20) - 1;
v9 = a2[7]
+ 37 * (a2[6] + 37 * (a2[5] + 37 * (a2[4] + 37 * (a2[3] + 37 * (a2[2] + 37 * (a2[1] + 37 * (*a2 + 11623883)))))));
for( i = v9 & (unsigned int)v8; ; i = v8 & (unsigned int)(v5 + i) )
{
v11 = (_QWORD *)(v6 + 8 * i);
if( *v11 == v7 )
break;
if( !*v11 )
goto LABEL_9;
if( !v5 )
{
v5 = -1640531535 * v9 + 1;
if( ((-79 * (_BYTE)v9) & 1) != 0 )
v5 = -1640531535 * v9;
}
}
v4 = 1;
LABEL_9:
result = v4;
*a3 = v11;
return result;
}Referenced by:
EtwpCovSampContextAddSamples
EtwpCovSampHashMakeRoomAndAcquireLock