I really dislike returning in the middle of a big function, because it's easy to break if in the future some code is added at the end of the function.

We can argue that this function is too big, but until it's cut in separate functions to make it easier to read, I think it's better to either return at the start (IMO that's the "early" of "early return") or at the end, but not in the middle (not so "early" :) ).