HalRequestIpiSpecifyVector

VOID __fastcall HalRequestIpiSpecifyVector(_IPI_TYPE IpiType, _KAFFINITY_EX *Affinity, UINT64 Vector){
  __int32 v3; 
  __int128 v4; 
  __int64 v5; 

  v5 = 0i64;
  v4 = 0i64;
  if( IpiType )
  {
    if( (unsigned int)(IpiType - 1) <= 1 )
    {
      v3 = IpiType - 1;
      if( v3 )
      {
        if( v3 == 1 )
          LODWORD(v4) = 3;
LABEL_6:
        HalpInterruptSendIpi(&v4, Vector);
        return;
      }
      LODWORD(v4) = 4;
      HalpInterruptSendIpi(&v4, Vector);
    }
  }
  else if( Affinity && Affinity->Count )
  {
    while( !Affinity->Bitmap[(unsigned __int16)IpiType] )
    {
      LOWORD(IpiType) = IpiType + 1;
      if( (unsigned __int16)IpiType >= Affinity->Count )
        return;
    }
    LODWORD(v4) = 2;
    *((_QWORD *)&v4 + 1) = Affinity;
    goto LABEL_6;
  }
}

Referenced by:

HalRequestClockInterrupt
HalRequestIpi
HalpInterruptResetAllProcessors
KiIntRedirectQueueRequestOnProcessor
KiIpiSendRequest