Such obfuscation has been around for a long time, and I even used a similar algorithm to construct this program
here. Still can be reversed, even if not into the original code, at least in an equivalent, readable, code (which is probably even better than the original code).