PnpIsDuplicateDevice
INT64 __stdcall PnpIsDuplicateDevice(
CM_RESOURCE_LIST *Configuration1,
CM_RESOURCE_LIST *Configuration2,
HAL_BUS_INFORMATION *BusInfo1,
HAL_BUS_INFORMATION *BusInfo2,
BYTE *a5){
int v5;
CM_RESOURCE_LIST *v6;
unsigned int v7;
unsigned int v8;
char *v9;
char v10;
unsigned int v11;
unsigned int v12;
char *v13;
CM_RESOURCE_LIST *v14;
v5 = 0;
v6 = Configuration1;
if( *(_DWORD *)Configuration1 && *(_DWORD *)Configuration2 )
{
while( 1 )
{
v7 = *((_DWORD *)v6 + 4);
v8 = 0;
if( v7 )
break;
LABEL_15:
if( v5 )
return 1i64;
v14 = Configuration2;
v5 = 1;
Configuration2 = v6;
v6 = v14;
}
v9 = (char *)v6 + 20;
while( 1 )
{
v10 = *v9;
if( ((*v9 - 1) & 0xF9) == 0 && v10 != 5 )
{
v11 = *((_DWORD *)Configuration2 + 4);
v12 = 0;
if( v11 )
{
v13 = (char *)Configuration2 + 20;
do
{
if( v10 == *v13 && *(_QWORD *)(v9 + 4) == *(_QWORD *)(v13 + 4) && (v10 == 1) == (*v13 == 1) )
break;
++v12;
v13 += 20;
}
while( v12 < v11 );
}
if( v12 == v11 )
break;
}
++v8;
v9 += 20;
if( v8 >= v7 )
goto LABEL_15;
}
}
return 0i64;
}Referenced by:
IopIsReportedAlready