HalpUsbLegacyStopUhciInterrupt
UINT16 __stdcall HalpUsbLegacyStopUhciInterrupt(INT64 a1, UINT64 a2, UINT64 a3, CHAR a4){
unsigned int v4;
unsigned int v5;
UINT16 result;
int v8[4];
int v9[16];
v4 = a2;
v5 = a3;
memset(v9, 0i64, sizeof(v9));
v8[0] = 0;
if( a4 )
{
((void(__fastcall *)(_QWORD, _QWORD, int *, __int64, int))qword_140C00638)(v4, v5, v8, 192i64, 4);
result = ((__int64(__fastcall *)(_QWORD, _QWORD, int *, _QWORD, int))qword_140C00630)(v4, v5, v9, 0i64, 64);
if( (v9[1] & 1) != 0 )
{
v8[0] = v9[8] & 0xFFFFFFFC;
if( (v9[8] & 0xFFFFFFFC) - 1 <= 0xFFFD )
{
result = __inword(v9[8] & 0xFFFC);
if( (result & 8) == 0 )
{
__outword(v8[0], 4u);
KeStallExecutionProcessor(0x2710u);
result = 0;
__outword(v8[0], 0);
}
}
}
}
else
{
((void(__fastcall *)(_QWORD, _QWORD, int *, __int64, int))qword_140C00630)(v4, v5, v8, 192i64, 4);
v8[0] &= 0xFFFF40FF;
return((__int64(__fastcall *)(_QWORD, _QWORD, int *, __int64, int))qword_140C00638)(v4, v5, v8, 192i64, 4);
}
return result;
}Referenced by:
HalpPiix4Detect
HalpStopLegacyUsbInterruptsInternal