HalpInterruptFindLinesForGsiRange
_DWORD *__fastcall HalpInterruptFindLinesForGsiRange(unsigned int a1, unsigned int a2){
ULONG_PTR *v2;
ULONG_PTR *v5;
_QWORD **v6;
_QWORD *v7;
_DWORD *v8;
unsigned int v9;
unsigned int v10;
v2 = (ULONG_PTR *)HalpRegisteredInterruptControllers;
while( v2 != &HalpRegisteredInterruptControllers )
{
v5 = v2;
v2 = (ULONG_PTR *)*v2;
v6 = (_QWORD **)(v5 + 30);
v7 = *v6;
while( v7 != v6 )
{
v8 = v7;
v7 = (_QWORD *)*v7;
v9 = v8[7];
if( v9 != -1 )
{
if( v9 >= a1 && v9 < a2 )
return v8;
v10 = v8[6] - v8[5] + v9 - 1;
if( v10 < a2 && v10 >= a1 )
return v8;
if( v9 < a1 && v10 >= a2 )
return v8;
}
}
}
return 0i64;
}Referenced by:
HalDisableInterrupt
HalpInterruptApplyOverrides
HalpInterruptGetApicVersion
HalpInterruptGsiToLine
HalpInterruptPerformDirectedEndOfInterrupt
HalpInterruptRegisterLine
HalpInterruptRequestInterrupt
HalpInterruptServiceActiveBoth
HalpMaskInterrupt
HalpUnmaskInterrupt