KiRemoveThreadFromAnyReadyQueue

void __fastcall KiRemoveThreadFromAnyReadyQueue(_KPRCB *a1, _KSHARED_READY_QUEUE *a2, __int64 a3, UINT64 a4){
  if( (*(_DWORD *)(a3 + 116) & 0x2000) != 0 )
  {
    KiRemoveThreadFromScbQueue(a1, *(_KSCB **)(a3 + 944), (_ETHREAD *)a3, a4);
  }
  else if( *(int *)(a3 + 536) >= 0 )
  {
    KiRemoveThreadFromReadyQueue(a1, (_LIST_ENTRY *)(a3 + 216), (unsigned int)a4);
  }
  else
  {
    KiRemoveThreadFromSharedReadyQueue(a2, (_KTHREAD *)a3, (unsigned int)a4);
  }
}

Referenced by:

KeSetActualBasePriorityThread
KiApplyForegroundBoostThread
KiRescheduleThreadAfterAffinityChange
KiSetHeteroPolicyThread
KiSetPriorityThread