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