HalpHvRetargetIoApicDeviceInterrupt
__int64 __fastcall HalpHvRetargetIoApicDeviceInterrupt(char a1, __int64 a2, __int64 a3, __int64 a4, _BYTE *a5){
__int128 *v5;
int v7;
__int64 result;
int v9;
int v10;
unsigned __int64 v11;
__int64 v12[2];
__int128 v13;
__int128 v14;
v5 = &v13;
v12[0] = 2i64;
v11 = 0x8000000000000000ui64;
v12[1] = *(_QWORD *)(a3 + 40);
v7 = *(_DWORD *)(a3 + 48);
*a5 = 0;
LOBYTE(v11) = a1;
if( *(_DWORD *)(a3 + 8) )
v5 = 0i64;
v14 = 0i64;
LODWORD(v14) = v7;
v13 = 0i64;
result = ((__int64(__fastcall *)(unsigned __int64, __int64 *, __int128 *, __int64, __int128 *))qword_140C4A178)(
v11,
v12,
&v14,
a4,
v5);
if( (int)result >= 0 && v5 )
{
v9 = DWORD2(v13);
v10 = HIDWORD(v13);
if( *((_QWORD *)&v13 + 1) != *(_QWORD *)(a3 + 32) )
{
*a5 = 1;
*(_DWORD *)(a3 + 32) = v9;
*(_DWORD *)(a3 + 36) = v10;
}
}
return result;
}Referenced by:
HalpInterruptSetRemappedDestinationHv