HalpInterruptSetRemappedLineStateInternal

__int64 __fastcall HalpInterruptSetRemappedLineStateInternal(__int64 a1, int *a2, __int64 a3){
  unsigned int v4; 
  ULONG_PTR *Lines; 
  ULONG_PTR v7; 
  int Priority; 
  __int64 v9; 
  __int64 v10; 
  __int64 v11; 
  v4 = 0;
  Lines = HalpInterruptFindLines(a2);
  if( Lines )
  {
    v7 = Lines[5];
    *(_OWORD *)v7 = *(_OWORD *)a3;
    *(_OWORD *)(v7 + 16) = *(_OWORD *)(a3 + 16);
    *(_OWORD *)(v7 + 32) = *(_OWORD *)(a3 + 32);
    *(_QWORD *)(v7 + 48) = *(_QWORD *)(a3 + 48);
    Priority = HalpInterruptGetPriority(a1, *(_DWORD *)(a3 + 48));
    *(_DWORD *)(*(_QWORD *)(v9 + 40) + v10 + 52) = Priority;
    *(_BYTE *)(*(_QWORD *)(v9 + 48) + 16 * v11 + 12) = 1;
  }
  else
  {
    HalpInterruptLastProblem = 18;
    if( a1 )
    {
      *(_QWORD *)(a1 + 292) = 18i64;
      *(_QWORD *)(a1 + 304) = "minkernel\\hals\\lib\\interrupts\\common\\connect.c";
      *(_DWORD *)(a1 + 312) = 3317;
    }
    return(unsigned int)-1073741811;
  }
  return v4;
}

Referenced by:

HalpInterruptEnableNmi
HalpInterruptRemap
HalpTimerInitializeHypervisorTimer