Match `DecodeSS2`
I have significantly improved DecodeSS2, but it isn't perfect yet. Would appreciate if someone else took a look.
A lot of // LINE annotations are used, based on this PR. They aren't technically needed anymore since the structure matches, but it might still be handy to keep them around (maybe as a reference?) ~The CI currently fails because of these annotations~.
Most of the code matches, there are only two parts I couldn't get quite right. The rest comes down to the stack order / variable names.
Closes #1427.
@jonschz just making sure, this diff is expected?
Decreased (1): 0x100bdac0 - DecodeSS2 (38.58% -> 23.53%)
Good point, I'll double-check with LEGO1. So far I had only looked at BETA10, which did improve significantly.
I looked again and finally got it to an effective match on LEGO1, with roughly 55 % and a full structural match on BETA10.