IidAreIdsStrictlyEqual
BOOL __stdcall IidAreIdsStrictlyEqual(INT64 *a1, INT64 a2){
BOOL v2;
int v3;
int v5;
int v6;
unsigned __int8 *v9;
__int64 v10;
int v11;
int v12;
v2 = 0;
if( !a1 || !a2 )
return 0;
v3 = *(_DWORD *)a1;
if( (unsigned int)(*(_DWORD *)a1 - 1) > 5 || (unsigned int)(*(_DWORD *)a2 - 1) > 5 || v3 != *(_DWORD *)a2 )
return 0;
v5 = v3 - 1;
if( v5 )
{
v6 = v5 - 1;
if( !v6 )
{
v9 = (unsigned __int8 *)a1[1];
v10 = *(_QWORD *)(a2 + 8) - (_QWORD)v9;
do
{
v11 = v9[v10];
v12 = *v9 - v11;
if( v12 )
break;
++v9;
}
while( v11 );
return v12 == 0;
}
if( v6 == 4 )
return a1[1] == *(_QWORD *)(a2 + 8);
return 0;
}
if( *((_WORD *)a1 + 4) == *(_WORD *)(a2 + 8) && (*((_BYTE *)a1 + 10) & 4) == 0 && (*(_BYTE *)(a2 + 10) & 4) == 0 )
return *((_WORD *)a1 + 6) == *(_WORD *)(a2 + 12);
return v2;
}Referenced by:
HalpDmaFindAdapterByDeviceId
HalpIommuCreateDevice
HalpIommuCreateIncreaseAliasTrack
HalpIommuDecreaseAliasTrack
HalpIommuDeleteDevice
HalpIommuGetReservedRanges