HalpInterruptSetRemappedDestination

INT64 __fastcall HalpInterruptSetRemappedDestination(
        UINT64 a1,
        _INTERRUPT_VECTOR_DATA *VectorData,
        _GROUP_AFFINITY *TargetProcessors){
  unsigned int v4; 
  __int64 v6; 
  int v7; 
  int v9[2]; 
  _GROUP_AFFINITY *v10; 
  __int64 v11; 
  INT64 v12[2]; 
  __int128 v13[2]; 
  __int64 v14; 
  v4 = 0;
  v14 = 0i64;
  *(_OWORD *)v12 = 0i64;
  v9[1] = 0;
  memset(v13, 0, sizeof(v13));
  HalpInterruptGetRemappedLineState((_POP_PPM_PROFILE *)a1, (UINT64)VectorData);
  if( v7 >= 0 )
  {
    v10 = TargetProcessors;
    v9[0] = 1;
    v11 = (__int64)VectorData + 40;
    if( (int)HalpInterruptDestinationToTarget(v6, (__int64)v9, (__int64)v13 + 8) >= 0 )
    {
      HalpInterruptRemapUpdateDeliveryMode((INT64)VectorData, (INT64)v12);
      HalpIommuUpdateRemappingTableEntry(
        *(_DWORD *)VectorData == 3,
        *((_DWORD *)VectorData + 10) & 0x3FFFFFFF,
        (INT64)v12);
      return v4;
    }
    HalpInterruptLastProblem = 22;
  }
  else
  {
    HalpInterruptLastProblem = 18;
  }
  return(unsigned int)-1073741275;
}

Referenced by:

HalpInterruptSetDestination