I would first search for it in the windows folder... you'll find it 3 times in (system32, syswow64 - if you run 64 bit... and deep in another folder. If the file size and date isn't exactly the same 4.50 kb and 7/13 I would copy a good one over the modified one... or extract it from Ie_extra.cab on the install disk and overwrite the modified one(s)
If they do not appear to be corrupt or modified (overwritten by a different version when you installed software -- for example on my system Quick Books Pro has included an older version that may overwirte my Win 7 dll when it installs??)
you may have some kind of abnoral user name. Windows WILL allow user names with spaces.. but then it crokes on many operations that are connected with the user name. I don't see how sfc would be botherd by that though. ... but you have to consider everything that is connected with identy.... read this: MSIDNTLD.DLL, the Microsoft Identity Manager
If you can't overwrite the dll that probably explains why sfc couldn't fix it. Usually sfc will fix situations like this by doin it after a reboot before the files are protected. You may have to boot to a command prompt from the install disk and fix it before the protections are loaded that prevent copying and overwriting most .dll's and system files.