KeIntSteerAssignCpuSetForGsiv

VOID __fastcall KeIntSteerAssignCpuSetForGsiv(UINT64 Gsiv, UINT16 Group, UINT64 CpuSetMask){
  int v3; 
  INT64 v6; 
  INT64 *v7; 
  unsigned __int8 v8; 
  unsigned __int64 v9; 
  v3 = Gsiv;
  KeAcquireSpinLockRaiseToDpc(&KiIntTrackSpinlock, Group);
  v6 = KiIntTrackRootList;
  v7 = &KiIntTrackRootList;
  v9 = v8;
  while( (INT64 *)v6 != v7 )
  {
    if( v3 == -1 )
    {
      KiIntSteerClearCpuSetAssignment(v6);
    }
    else if( *(_DWORD *)(v6 + 32) == v3 )
    {
      KiIntSteerAssignCpuSet(v6, Group, CpuSetMask);
      break;
    }
    v6 = *(_QWORD *)v6;
  }
  KxReleaseSpinLock(&KiIntTrackSpinlock);
  __writecr8(v9);
}

Referenced by:

NtSetSystemInformation