You dont need the
else { goto rest } :rest
its redundant seeing as mIRC will sequentially go through the code anyway unless you put a halt or return in there.