Hi norrisn and welcome to SF
Your dumps show different crashes all but the oldest related to illegal memory operations. Since you already run the memory test I'd like you to to run sfc /scannow at least 2 more times (it never can fix all errors on the first run)
Then boot to safe mode and see if the computer still crashes.
Then run this memory test from a cold boot on a cold machine:
RAM - Test with Memtest86+
Next: Learn how to install Windows 7 Service Pack 1 (SP1)
and finally check this out (and follow through)
Driver Verifier - Windows 7 & Vista (BSOD-related) - Tech Support Forum
Zip up any post any new dumps
-DG
Code:
REGISTRY_ERROR (51)
Something has gone badly wrong with the registry. If a kernel debugger
is available, get a stack trace. It can also indicate that the registry got
an I/O error while trying to read one of its files, so it can be caused by
hardware problems or filesystem corruption.
It may occur due to a failure in a refresh operation, which is used only
in by the security system, and then only when resource limits are encountered.
Arguments:
Arg1: 00000001, (reserved)
Arg2: 87819938, (reserved)
Arg3: 019c4000, depends on where Windows bugchecked, may be pointer to hive
Arg4: 00000374, depends on where Windows bugchecked, may be return code of
HvCheckHive if the hive is corrupt.
-------------------------------------------------------------------------------------------------------
SPECIAL_POOL_DETECTED_MEMORY_CORRUPTION (c1)
Special pool has detected memory corruption. Typically the current thread's
stack backtrace will reveal the guilty party.
Arguments:
Arg1: b6de2f68, address trying to free
Arg2: b6de21c1, address where bits are corrupted
Arg3: 00af0094, (reserved)
Arg4: 00000023, caller is freeing an address where nearby bytes within the same page have been corrupted
------------------------------------------------------------------------------------
PFN_LIST_CORRUPT (4e)
Typically caused by drivers passing bad memory descriptor lists (ie: calling
MmUnlockPages twice with the same list, etc). If a kernel debugger is
available get the stack trace.
Arguments:
Arg1: 00000007, A driver has unlocked a page more times than it locked it
Arg2: 0004acad, page frame number
Arg3: 00000001, current share count
Arg4: 00000000, 0
-------------------------------------------------------------------------------------------------
SPECIAL_POOL_DETECTED_MEMORY_CORRUPTION (c1)
Special pool has detected memory corruption. Typically the current thread's
stack backtrace will reveal the guilty party.
Arguments:
Arg1: a5180de0, address trying to free
Arg2: a51801c1, address where bits are corrupted
Arg3: 005f0220, (reserved)
Arg4: 00000023, caller is freeing an address where nearby bytes within the same page have been corrupted
-----------------------------------------------------------------------------------------------------------
ATTEMPTED_WRITE_TO_READONLY_MEMORY (be)
An attempt was made to write to readonly memory. The guilty driver is on the
stack trace (and is typically the current instruction pointer).
When possible, the guilty driver's name (Unicode string) is printed on
the bugcheck screen and saved in KiBugCheckDriver.
Arguments:
Arg1: 840a45ad, Virtual address for the attempted write.
Arg2: 040a4121, PTE contents.
Arg3: 84160adc, (reserved)
Arg4: 0000000a, (reserved)
-DG