HalpTimerPrepareClockInterrupt

INT64 __fastcall HalpTimerPrepareClockInterrupt(INT64 a1, INT64 a2, INT64 a3, INT64 a4){
  int v4; 
  ULONG_PTR v5; 
  unsigned int v6; 
  INT64 result; 
  __int128 v8; 
  v4 = *((_DWORD *)KeGetPcr() + 105);
  v5 = HalpClockTimer;
  v8 = 0i64;
  v6 = KiProcessorIndexToNumberMappingTable[v4];
  *((_QWORD *)&v8 + 1) = (unsigned __int16)(v6 >> 6);
  *(_QWORD *)&v8 = 1i64 << (v6 & 0x3F);
  result = HalpTimerConfigureInterrupt(
             HalpClockTimer,
             0xD1u,
             13,
             a4,
             -3i64,
             0,
             &v8,
             (__int64(__fastcall *)(__int64, __int64))HalpTimerClockInterruptStub);
  if( (int)result < 0 )
    KeBugCheckEx(0x5Cu, 0x110ui64, v5, HalpTimerLastProblem, (int)result);
  return result;
}

Referenced by:

HalpTimerClockActivate