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