The word list is 109,000 words and occupies 1,154,336 bytes.
In a .BAT file, it unscrambles ten words in four seconds. (Wristwatch timing) On my system, it takes similar times to read the dictionary file. (The file gets read from disk cache.)
With a cursory look for optimization opportunities, I think I could use the more efficient library function memcmp() and thus avoid coding a loop to do the comparing.
If you think that an inaccuracy has slipped into your algorithm, perhaps looking at unscrambling words with repeating letters may uncover it. Example: IIIISSSSPPM.
Cheers, PW.