HalpTimerPrepareClockInterrupt

NTSTATUS __stdcall HalpTimerPrepareClockInterrupt(INT64 a1, INT64 a2, INT64 a3, INT64 a4){
  unsigned int Number; 
  PVOID v5; 
  unsigned int v6; 
  NTSTATUS result; 
  INT64 v8; 
  _GROUP_AFFINITY v9; 

  Number = KeGetPcr()->Prcb.Number;
  v5 = HalpClockTimer;
  LOBYTE(a3) = 13;
  v9 = 0i64;
  v6 = KiProcessorIndexToNumberMappingTable[Number];
  v9.Reserved[1] = 0;
  v9.Reserved[2] = 0;
  *(_DWORD *)&v9.Group = (unsigned __int16)(v6 >> 6);
  v9.Mask = 1i64 << (v6 & 0x3F);
  LODWORD(v8) = 0;
  result = HalpTimerConfigureInterrupt(
             (_KDPC *)HalpClockTimer,
             (PVOID)0xD1,
             (_KINTERRUPT_MODE)a3,
             a4,
             (UINT64 *)0xFFFFFFFFFFFFFFFDi64,
             v8,
             &v9,
             HalpTimerClockInterruptStub);
  if( result < 0 )
    KeBugCheckEx(0x5Cu, (PVOID)0x110, v5, (PVOID)HalpTimerLastProblem, (PVOID)result);
  return result;
}

Referenced by:

HalpTimerClockActivate