private static int GregorianYearFromFixed(int fixedDate)
{
int num = fixedDate - 1;
int num2 = (int)Math.Floor((double)(((double)num) / 146097.0));
int num3 = num % 0x23ab1;
int num4 = (int)Math.Floor((double)(((double)num3) / 36524.0));
int num5 = num3 % 0x8eac;
int num6 = (int)Math.Floor((double)(((double)num5) / 1461.0));
int num7 = num5 % 0x5b5;
int num8 = (int)Math.Floor((double)(((double)num7) / 365.0));
int num9 = (((400 * num2) + (100 * num4)) + (4 * num6)) + num8;
return (((num4 == 4) || (num8 == 4)) ? num9 : (num9 + 1));
}