If it is able to boot into safe mode then the problem lies in something that is loaded extra when you try and go into full mode such as a device driver or a piece of software that loads at full windows boot up.
If it has only recently started think of any hardware or software changes that you may have made.
In any case you can open MSCONFIG (Start run)
and selectively choose to disable things during boot up to try and eliminate the problem. Use Event viewer (found under administrative tools on later Windows).
Use this link to help you.