private double GetNextMajor(double x, long gridSize)
{
double num1 = 0.0;
if (x > 10000.0)
{
if (x % 864000000000.0 < (double)this.firstSessionTick)
x = (double)((long)x / 864000000000L * 864000000000L + this.firstSessionTick);
else if (x % 864000000000.0 > (double)this.lastSessionTick)
x = (double)(((long)x / 864000000000L + 1L) * 864000000000L + this.firstSessionTick);
double num2 = (double)((long)x / 864000000000L * 864000000000L + this.lastSessionTick);
double num3 = num2 - x;
num1 = num3 >= (double)gridSize ? x + (double)gridSize : num2 + 864000000000.0 - (double)Session - num3 + (double)gridSize;
}
return num1;
}