IopTestConfiguration
INT64 __fastcall IopTestConfiguration(INT64 a1, UINT64 a2, INT64 **a3){
INT64 *v3;
int v4;
unsigned int v6;
__int64 v8;
char v9;
__int128 v11;
__int128 i;
v3 = *a3;
v4 = 0;
v6 = a2;
v11 = 0i64;
for( i = 0i64; v3 != (INT64 *)a3; v3 = (INT64 *)*v3 )
{
if( *((_BYTE *)v3 + 17) )
{
v8 = *(v3 - 8);
DWORD2(v11) = 0;
*(_QWORD *)&i = 0i64;
*(_QWORD *)&v11 = v3 - 6;
PnpLookupArbitersNewResources((_PNP_RESOURCE_REQUEST *)a1, v6, (_DEVICE_NODE *)*(v3 - 7), *((_BYTE *)v3 - 72));
v4 = (*(__int64(__fastcall **)(_QWORD, _QWORD, __int128 *))(v8 + 32))(*(_QWORD *)(v8 + 8), 0i64, &v11);
if( v4 < 0 )
{
PnpLogDeviceConflictingResource((INT64)(v3 - 11), *(_QWORD *)(v8 + 8));
*((_BYTE *)v3 + 16) |= 2u;
return(unsigned int)v4;
}
v9 = v3[2] & 0xFD;
*((_BYTE *)v3 + 17) = 0;
*((_BYTE *)v3 + 16) = v9 | 1;
}
else if( (v3[2] & 2) != 0 )
{
return(unsigned int)-1073741823;
}
}
return(unsigned int)v4;
}Referenced by:
PnpFindBestConfigurationWorker