RedAndCosmoteer Ultranova Don't shoot the messenger!
RedAndCosmoteer I wrote that algorithm from scratch. It is basically a very fast Enigma emulator. The unknowns were the reflector B or C and the positions and ring inputs. The way the Enigma is constructed, the positions and rings for rotors 1 and 2 are not independent at all. Only the offset matters: 1-3 is the same as 5-7, 25-2 is the same as 10-13. So I decided to fix their rings to "1" and only let the position values change.
The emulator then decoded the message with all 2 * 266 combinations...
The next step was to algorithmically figure out what output among those 0.6 billion solutions looks good. For that I used a simple letter frequency analysis. An encrypted message has every letter appear equally often (3.8%), while in English text, 12.7% of all letters should be "E" and only 0.074% should be "Z". The most English looking text turned out to be the correct result. As mentioned I had the ring settings for rotors 1 and 2 fixed to 1 and the algorithm spit out positions 1 and 7 for that. Since @Minion222 said "(+10)", I made the values for each rotor sum up to 10, by adding 4 to rotor 1 and 1 to rotor 2:
P R P R
rotor 1 Beta 1-1 = 5-5
rotor 2 IV 7-1 = 8-2