RPA normally uses a standard format to store the information called RPA-3. The data is encrypted in the simplest possible way by taking the binary exclusive or (XOR) of each byte with a provided integer, the key. The key can be found in a standard place in the RPA file, making it rather pointless to be honest. It then uses a normal off-the-shelf compression method to decompress the data.
This particular product did it different. They've come up with a custom method, and they've called it RPA-9.1 for some reason. It uses the same normal compression as RPA-3, and the same XOR technique, but the key isn't available in the standard place. It's hidden in a compiled, binary DLL and accessed by some custom python code. Much more significantly though it also has another trick up its sleeve: once the data is uncompressed and decrypted, it's all sent to the DLL for further processing. Some native, compiled code uses a very long key to then XOR the entire file a second time, and returns it to Renpy. The process is all obfuscated somewhat, including code that deliberately doesn't do anything to throw off anyone trying to work it out, though not very effectively. I just wrote some python code that does what the DLL does and included it inside unrpa.
Not going to lie this was mostly a waste of time that I did out of sheer spite.