HalpInterruptGetRemappedLineState
VOID __stdcall HalpInterruptGetRemappedLineState(_POP_PPM_PROFILE *Profile, UINT64 CurrentTime){
ULONG_PTR **v2;
__int64 v3;
__int64 v4;
int v5;
_OWORD *v6;
_OWORD *v7;
v7 = 0i64;
v4 = v3;
if( *(_DWORD *)CurrentTime )
{
if( *(_DWORD *)CurrentTime == 3 )
{
*(_OWORD *)v3 = 0i64;
*(_OWORD *)(v3 + 16) = 0i64;
*(_OWORD *)(v3 + 32) = 0i64;
*(_QWORD *)(v3 + 48) = 0i64;
*(_DWORD *)v3 = *(_DWORD *)(CurrentTime + 12);
v5 = *(_DWORD *)(CurrentTime + 16);
*(_DWORD *)(v3 + 16) = -1;
*(_DWORD *)(v3 + 8) = v5;
*(_DWORD *)(v3 + 12) = 16;
*(_DWORD *)(v3 + 20) = 1;
*(_DWORD *)(v3 + 48) = *(_DWORD *)(CurrentTime + 4);
*v2 = (ULONG_PTR *)HalpInterruptController;
}
}
else if( (int)HalpInterruptFindControllerAndLineState((unsigned int)Profile->Name, v2, (ULONG_PTR *)&v7) >= 0 )
{
v6 = v7;
*(_OWORD *)v4 = *v7;
*(_OWORD *)(v4 + 16) = v6[1];
*(_OWORD *)(v4 + 32) = v6[2];
*(_QWORD *)(v4 + 48) = *((_QWORD *)v6 + 6);
*(_DWORD *)(v4 + 12) |= 0x10u;
}
}Referenced by:
HalpInterruptSetRemappedDestination