それだけだと動作的には問題ない(breakしろよとは思うが)
if(cnt==100){cnt=max;}より後ろにcntを使うコードがあって、
そこがおかしくなってんじゃね