The expanded file size is 290816 in SP2. The compressed size from the CD is 140139.
The one with size 293376 is from SP3.
The file sizes look proper in any case. I can't explain why the winsrv.dl_ shows the expanded size.
I think maybe you have registry problems. You could try to replace the reg files with the original ones. From recovery console:
md tmp
copy c:\windows\system32\config
\system c:\windows\tmp\system.bak
copy c:\windows\system32\config
\software c:\windows\tmp\software.ba
k
copy c:\windows\system32\config
\sam c:\windows\tmp\sam.bak
copy c:\windows\system32\config
\security c:\windows\tmp\security.ba
k
copy c:\windows\system32\config
\default c:\windows\tmp\default.bak
delete c:\windows\system32\config
\system
delete c:\windows\system32\config
\software
delete c:\windows\system32\config
\sam
delete c:\windows\system32\config
\security
delete c:\windows\system32\config
\default
copy c:\windows\repair\system c:\windows\system32\config
\system
copy c:\windows\repair\software
c:\windows\system32\config
\software
copy c:\windows\repair\sam c:\windows\system32\config
\sam
copy c:\windows\repair\security
c:\windows\system32\config
\security
copy c:\windows\repair\default c:\windows\system32\config
\default
This is found in:
http://support.microsoft.com/kb/307545If that works then you will want to gain access the the "system volume information" dir and get a more recent copy. The procedure above puts very scaled down versions of the registry files in place (Kind of like replacing /etc/inittab, /etc/fstab, /etc/services, ... with scaled down versions that were in place at install time)