HalpInterruptSetRemappedDestination

__int64 __fastcall HalpInterruptSetRemappedDestination(_POP_PPM_PROFILE *a1, _DWORD *a2, __int64 a3){
  unsigned int v4; 
  __int64 v6; 
  int v7; 
  int v9[2]; 
  __int64 v10; 
  _DWORD *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(a1, (UINT64)a2);
  if( v7 >= 0 )
  {
    v10 = a3;
    v9[0] = 1;
    v11 = a2 + 10;
    if( (int)HalpInterruptDestinationToTarget(v6, (__int64)v9, (__int64)v13 + 8) >= 0 )
    {
      HalpInterruptRemapUpdateDeliveryMode((INT64)a2, (INT64)v12);
      HalpIommuUpdateRemappingTableEntry(*a2 == 3, a2[10] & 0x3FFFFFFF, (INT64)v12);
      return v4;
    }
    *(&CmpDummyThreadEvent + 1789) = 22;
  }
  else
  {
    *(&CmpDummyThreadEvent + 1789) = 18;
  }
  return(unsigned int)-1073741275;
}

Referenced by:

HalpInterruptSetDestination