See scratchpad.md for some of my analysis, in a very sloppy, disorganized form.
See keyGme.gpr for relabeled code (Ghidra project).
See keygen.py for the actual solution code.
Go here for original challenge: https://crackmes.one/crackme/5c268e8333c5d41e58e00654
I know I can link to these files properly with markdown but I'm too sleepy right now.
Hope you don't mind me reposting the binary, rion! :P
In practice:
$ ./keygen.py
Your new key is: K0K1T3VWF5Y9F8JX
Have a nice day ^w^
$ ./keyGme K0K1T3VWF5Y9F8JX
Congratulation, You are registered now.