How long did you leave it to try and finish booting?
Also if you can boot into safe mode then that means Windows is ok but it is one of the startup programs or services that is hanging things up.
So try this, in safe mode go to start and in the search or run box type in
msconfig
And hit enter.
When it comes up click on the services tab, and then put a check on the bottom that says to hide Microsoft services. Now in the list is all the services that are not part of Windows that is loading up, for now uncheck them all (We will put them back later)
Once done click apply and then click on the startup tab. These are all the programs set to run at startup, for now uncheck them all and hit apply.
Now reboot and see if you can get to the desktop and we will go from there
Shane