Internally, the commands are just bytes, one byte for each command. There is a table that is essentially a list of C functions, so if you repointed that, you could add onto the end of it. Fairly trivial to add a new command in decomp, so it's probably possible here.
Only problem is that the max...