HalpInterruptGetRemappedLineState
VOID __stdcall HalpInterruptGetRemappedLineState(_POP_PPM_PROFILE *Profile, UINT64 CurrentTime){
_REGISTERED_INTERRUPT_CONTROLLER **v2;
__int64 v3;
_INTERRUPT_LINE_STATE *v4;
int v5;
_INTERRUPT_LINE_STATE *LineStateOut;
LineStateOut = 0i64;
v4 = (_INTERRUPT_LINE_STATE *)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 = (_REGISTERED_INTERRUPT_CONTROLLER *)Controller;
}
}
else if( HalpInterruptFindControllerAndLineState(LODWORD(Profile->Name), v2, &LineStateOut) >= 0 )
{
*v4 = *LineStateOut;
v4->Flags |= 0x10u;
}
}Referenced by:
HalpInterruptSetRemappedDestination