HalpHvRetargetIoApicDeviceInterrupt

NTSTATUS __stdcall HalpHvRetargetIoApicDeviceInterrupt(
        UINT64 IoApicId,
        _INTERRUPT_LINE_STATE *LineState,
        _GROUP_AFFINITY *TargetProcessors,
        UINT8 *ReprogramController){
  __int128 *v4; 
  int Mask; 
  NTSTATUS result; 
  int v8; 
  int v9; 
  unsigned __int64 v10; 
  __int64 v11[2]; 
  __int128 v12; 
  __int128 v13; 
  _BYTE *v14; 

  v4 = &v12;
  v11[0] = 2i64;
  v10 = 0x8000000000000000ui64;
  v11[1] = *(_QWORD *)&TargetProcessors[2].Group;
  Mask = TargetProcessors[3].Mask;
  *v14 = 0;
  LOBYTE(v10) = IoApicId;
  if( *(_DWORD *)&TargetProcessors->Group )
    v4 = 0i64;
  v13 = 0i64;
  LODWORD(v13) = Mask;
  v12 = 0i64;
  result = ((__int64(__fastcall *)(unsigned __int64, __int64 *, __int128 *, UINT8 *, __int128 *))qword_140C4A178)(
             v10,
             v11,
             &v13,
             ReprogramController,
             v4);
  if( result >= 0 && v4 )
  {
    v8 = DWORD2(v12);
    v9 = HIDWORD(v12);
    if( *((_QWORD *)&v12 + 1) != TargetProcessors[2].Mask )
    {
      *v14 = 1;
      LODWORD(TargetProcessors[2].Mask) = v8;
      HIDWORD(TargetProcessors[2].Mask) = v9;
    }
  }
  return result;
}

Referenced by:

HalpInterruptSetRemappedDestinationHv