There doesn't seem to be much info on this error. I read that ctfmon has to do with character recognition and voice stuff in Office. And followed instructions on how to go into Office setup and set that feature to unavailable, but ctfmon still runs on startup. So I deleted all the startups for it. Still pops up.
So I searched the registry and deleted any references to it. And renamed the ctfmon.exe file to _ctfmon.exe.
Then on next reboot XP came up saying a system file has been removed bla bla, so it wanted the XP disk and it replaced the file.
And this error continues to pop up.

It usually pops up when you open a program like IE.
The "CS" and "IP" parts of the error do change addresses.

So what really is ctfmon if it's not really just a part of Office? And why does it cause an illegal instruction EVERY time it tries to run, with different addresses?
----------

Now a little background. The system was dirty as any. So it had a complete cleanup. The system is now squeeky clean, startups are minimum, no viruses or spyware, HJT is spotless. So I don't think it's a malware problem. And even though XP replaced ctfmon with a new one, it still crashes, meaning it isn't just a corrupt file, but something else still. And what is the significance of the NTVDM part?