This program tests candidate phrases (including minor variations) to see
whether they hash to any of the the `Obfuscate` codes in the
Command & Conquer source code.

Run it like this:

```
cargo run --release < wordlist.txt
```

For the list of phrases, I used page titles from English Wikipedia and
Wiktionary. You can get the latest titles here:

* https://dumps.wikimedia.org/enwiki/latest/enwiki-latest-all-titles.gz
* https://dumps.wikimedia.org/enwiktionary/latest/enwiktionary-latest-all-titles.gz

I used the versions from 2023-11-01, having SHA-1 digests:

a4dd2fb0a969df15daa64940408878147489ce7f  enwiki-20231101-all-titles.gz
c3bd38c9c6ce55c038c5020901ea98ed1e452b22  enwiktionary-20231101-all-titles.gz

After downloading the lists of titles, parse them into a deduplicated
phrase list using the filter-wiki-titles.py script:

```
(gzip -dc enwiki-latest-all-titles.gz | ./filter-wiki-titles.py; gzip -dc enwiktionary-latest-all-titles.gz | ./filter-wiki-titles.py) | sort -u > wordlist.txt
```

Then run the program on the phrase list:

```
cargo run --release < wordlist.txt | sort -u -t $'\t' -k 2,2 -k 1,1 -k 3,3 > preimages.txt
```

# References

* https://tcrf.net/Command_%26_Conquer_(DOS,_Windows)#Special_Options
* https://github.com/electronicarts/CnC_Remastered_Collection/blob/7d496e8a633a8bbf8a14b65f490b4d21fa32ca03/TIBERIANDAWN/DEFINES.H#L99-L159
* https://ppmforums.com/viewtopic.php?p=228637#228637
