// Token: 0x06007294 RID: 29332 RVA: 0x0017B570 File Offset: 0x00179770 public static bool SleepIfNecessary(uint cpuStartPercent, out int sleepTime, out float cpuPercent) { sleepTime = -1; cpuPercent = -1f; if (cpuStartPercent >= 100U || CPUBasedSleeper.ProcessCPUCounter == null) { return(false); } cpuPercent = CPUBasedSleeper.ProcessCPUCounter.GetValue(); if (cpuPercent >= cpuStartPercent) { int num = (int)(100U - cpuStartPercent); if (num > 0) { float num2 = 500f / (float)num; sleepTime = (int)((cpuPercent - cpuStartPercent) * num2); } if (sleepTime > 0) { Thread.Sleep(sleepTime); } else { sleepTime = -1; } } ThrottlingPerfCounterWrapper.UpdateAverageThreadSleepTime((long)Math.Max(sleepTime, 0)); return(sleepTime >= 0); }