Unconditional jumps are very common and everything in x86 assembly is very very messy after optimizations. Many functions do not end in ret.
How do functions that not end in ret work?
How do functions that not end in ret work?