HvlSendSyntheticClusterIpi

VOID __fastcall HvlSendSyntheticClusterIpi(_KAFFINITY_EX *Affinity, _BYTE *Vector){
  BOOL v2; 
  _ACCESS_MASK v3; 
  __int64 v4; 
  __int64 v5; 
  unsigned __int64 v6; 
  _BYTE *i; 
  unsigned __int64 v8; 

  v2 = HvlpUseExtendedProcessorSetHypercalls();
  v5 = 0i64;
  if( v2 )
  {
    HvlpSlowSendSyntheticClusterIpiEx((PHANDLE)v4, v3, (POBJECT_ATTRIBUTES)v4);
  }
  else
  {
    v6 = *(_QWORD *)(v4 + 8);
    if( !HvlpVirtualProcessorsIdentityMapped )
    {
      for( i = &unk_140CFF6C3; ; i += 4 )
      {
        if( (v6 & 1) != 0 )
          v5 |= 1i64 << *(i - 2);
        v8 = v6 >> 1;
        if( !v8 )
          break;
        if( (v8 & 1) != 0 )
          v5 |= 1i64 << *i;
        v6 = v8 >> 1;
        if( !v6 )
          break;
      }
    }
    HvcallInitiateHypercall();
  }
}

Referenced by:

No references.