OK. This one wil be a long shot, but let's give it a try.
Print out these instructions, as you'll have to make things from safeboot mode.Reboot to Safemode.
Run Command Prompt as an administrator.
Now you'll have to use many commands in command prompt. One line below in codebox is one command.
EACH ONE OF THEM MUST BE CONFIRMED BY PRESSING ENTER !
net stop bits
net stop wuauserv
net stop cryptsvc
del \Programdata\Microsoft\network\downloader\qmgr*.dat
cd %systemroot%\SoftwareDistribution
ren DataStore DataStore.OLD
ren Download Download.OLD
cd %systemroot%\system32
ren catroot2 catroot2.OLD
Now do the some with the commands below:
Be careful with typing, I know it's not easy as they are very long and complicated, but I'm sure you can handle it

sc sdset bits D:(A;CI;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;IU)(A;;CCLCSWLOCRRC;;;SU)S:(AU;SAFA;WDWO;;;BA)
sc sdset wuauserv D:(A;;CCLCSWRPLORC;;;AU)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;SY)S:(AU;FA;CCDCLCSWRPWPDTLOSDRCWDWO;;;WD)
sc sdset cryptsvc D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;IU)(A;;CCLCSWLOCRRC;;;SU)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)
Now we need to register files connected to BITS and Windows Update.
Same instructions: one line = one command , each followed by ENTER.
Some of them may give you an error with registering: don't worry about it.
regsvr32 atl.dll
regsvr32 urlmon.dll
regsvr32 jscript.dll
regsvr32 vbscript.dll
regsvr32 scrrun.dll
regsvr32 msxml3.dll
regsvr32 msxml6.dll
regsvr32 actxprxy.dll
regsvr32 softpub.dll
regsvr32 wintrust.dll
regsvr32 dssenh.dll
regsvr32 rsaenh.dll
regsvr32 cryptdlg.dll
regsvr32 oleaut32.dll
regsvr32 ole32.dll
regsvr32 shell32.dll
regsvr32 wuapi.dll
regsvr32 wuaueng.dll
regsvr32 wups.dll
regsvr32 wups2.dll
regsvr32 qmgrprxy.dll
regsvr32 wucltux.dll
regsvr32 wuwebv.dll
regsvr32 mshtml.dll
regsvr32 shdocvw.dll
regsvr32 browseui.dll
regsvr32 msxml.dll
regsvr32 gpkcsp.dll
regsvr32 sccbase.dll
regsvr32 slbcsp.dll
regsvr32 initpki.dll
regsvr32 wuaueng1.dll
regsvr32 wucltui.dll
regsvr32 wuweb.dll
regsvr32 qmgr.dll
regsvr32 muweb.dll
Next one. It will told you that the reboot is required, but wait with it until. all the commands will be done.
netsh winsock reset
Next ones:
ipconfig /flushdns
net start bits
net start wuauserv
net start cryptsvc
And the last one:
bitsadmin /reset /allusers
Finally reboot to normal mode and check how's your machine doing.
Please update me