I've looked into this myself a lot further. Turns out, my system files were deeply corrupted (ntdll.dll) and I had to perform a clean installation of windows. That explains why my factory resets only temporarily worked; since my windows files weren't actually being reinstalled, and only my personal files were being wiped, it was not actually fixing any corruption. For anyone with this issue in the future, the only way to fix a corrupt dll is to completely reinstall windows using either the installation disk or an ISO in a USB flash drive.
Thanks for the help, though. I would've stayed lost without your suggestions.
Thanks for the help, though. I would've stayed lost without your suggestions.