It has to do with the millis() function. When it hit about 33000, it flipped to negative.
It absolutely, positively, does not do that.
If you save the value of returned by millis() in an int, the value in the int will do that. Completely separate issue, though, and a clear indication that you did not look at the documentation of the millis() function.