For no reason other than it seemed fun, I used this new knowledge to implement my own version of said key-gen, in my choice of dev environment: Swift and Xcode playgrounds. Fun little exercise.
Impressive, I see one definite problem and a potential one:
* I had incorrectly stated the conditions of the Y grouping. The digits must sum up to a multiple of 7, rather than be a multiple of 7 by themselves. 0000007 and 0000016 are valid sequences, for instance, but 0000014 is not.
* The Z grouping probably has to be [0-9]. At least I've never tested non-numeric characters whenever I've installed Windows 95 (I usually type out 00195-OEM-0000007-00000 when I install it).
* I had incorrectly stated the conditions of the Y grouping. The digits must sum up to a multiple of 7, rather than be a multiple of 7 by themselves. 0000007 and 0000016 are valid sequences, for instance, but 0000014 is not.
* The Z grouping probably has to be [0-9]. At least I've never tested non-numeric characters whenever I've installed Windows 95 (I usually type out 00195-OEM-0000007-00000 when I install it).