HalpUsbLegacyScanBusForHandoff
INT16 __stdcall HalpUsbLegacyScanBusForHandoff(){
unsigned int v0;
unsigned int i;
unsigned __int8 j;
unsigned __int8 k;
int v4;
bool v5;
__int64 v7;
UINT16 v8[7];
char v9;
memset((INT64)v8, 0i64);
v0 = 0;
for( i = 0; i <= 0xFF; ++i )
{
for( j = 0; j < 0x20u; ++j )
{
for( k = 0; k < 8u; ++k )
{
LODWORD(v7) = 2;
v0 = j & 0x1F | v0 & 0xFFFFFF00 | (32 * (k & 7));
v4 = ((__int64(__fastcall *)(_QWORD, _QWORD, UINT16 *, _QWORD, __int64))qword_140C00630)(i, v0, v8, 0i64, v7);
if( v4 && (LOWORD(v4) = v8[0] - 1, (unsigned __int16)(v8[0] - 1) <= 0xFFFDu) )
{
v4 = ((__int64(__fastcall *)(_QWORD, _QWORD, UINT16 *, _QWORD, int))qword_140C00630)(i, v0, v8, 0i64, 16);
if( !v4 )
continue;
HIDWORD(v7) = 0;
LOWORD(v4) = HalpUsbLegacyDeviceHandoff(0i64, i, v0, v8);
if( k )
continue;
v5 = v9 >= 0;
}
else
{
v5 = k == 0;
}
if( v5 )
break;
}
}
}
return v4;
}Referenced by:
HalpErrataInitSystem