Since you can boot just fine into safe mode, the issue is probably being caused by a third party software/driver
. Do the following to isolate the issue:
1. Click Start, type "MSCONFIG" (without the quotes) in the Search Bar and hit "Enter".
2. In the window that pops up, click the "Services" tab, then check the "Hide All Microsoft Services" box and click "Disable All".
3. Click the "Startup" tab, click "Disable All" and click "OK".
4. Now reboot. If you are able to login properly, then you will need to reenable the services one by one to identify the problematic one.