The easiest way that I used to do this same kind of thing is to either patch the code to add a JMP instruction bypassing the registration check altogether, or using an in-memory patcher that runs the program and does the same thing... Validating the whole registration process seems alot more tedious than just patching the binary to skip it completely.