For general troubles, the likeliest things that are going wrong are your hard drive, or your memory. If your processor temps are unusually high, then that might also be a place to look.
Erratic and bizarre behavior can often be the result of bad memory. For memory testing, memtest86+ is the gold standard.
To test hard drive corruption, the first thing you'd want to do is run chkdsk /f, or another filesystem verification tool. This does NOT check bad blocks (unless you use the /r switch), just the integrity of the filesystem. You'd also want to use a SMART verification tool to check to see if there are a large number of bad sectors, which would aid in confirming if it is indeed a hard drive problem.
Use CoreTemp to check your CPU temps. If they are abnormally high (more than 30-40 deg C idle, and more than 60 deg C under load), you might want to crack your computer open and dust off the heatsink, and possibly even reapply some thermal paste. If your temps are fine, but you suspect a faulty processor or an unstable overclock, I suggest using IntelBurnTest. This is a far more intensive program than Prime95, and it'll flush out any procssor errors in minutes, versus hours. 10 runs should be enough to reasonably verify stability. However, be warned that your pcoessor will get very hot during this test, so watch your temps!