// 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);
 }