INT64 __fastcall WdipSemQueryProviderTable(_QWORD *a1){
INT64 v1;
unsigned int v3;
_QWORD *v4;
__int64 v5;
v1 = 0i64;
if( a1 )
{
v3 = 0;
if( (_DWORD)OldNumProviders )
{
while( 1 )
{
v4 = (_QWORD *)*(&WdipSemProviderTable + v3);
v5 = *a1 - *v4;
if( *a1 == *v4 )
v5 = a1[1] - v4[1];
if( !v5 )
break;
if( ++v3 >= (unsigned int)OldNumProviders )
return v1;
}
return *(&WdipSemProviderTable + v3);
}
}
return v1;
}