You may just have to re-install; sad, however a real possibility.
It may be a virus/malware or just a file that got corrupted. has a bad signature, or has not been signed.
The CI.dll file is not necessarily the cause of the problem; but, it is the cause of the STOP code by finding a file or files it deems unworthy.
Quote from TN Magazine:
Code Integrity
Code Integrity (CI) protects Windows Vista by verifying that system binaries haven’t been tampered with by malicious code and by ensuring that there are no unsigned drivers running in kernel mode on the system. CI starts as Windows starts up. The boot loader checks the integrity of the kernel, the Hardware Abstraction Layer (HAL), and the boot-start drivers. After these binaries have been verified, the system starts and the memory manager calls CI to verify any binaries that are loaded into the kernel’s memory space. The binaries are verified by looking up their signatures in the system catalogs. Aside from the kernel memory space, CI verifies binaries loaded into a protected process and system installed dynamic libraries that implement core cryptographic functions.
*It says Windows Vista, however, it works the same for Windows 7.
If you can get to safe mode... You can try un-installing any recent programs, updates, drivers, etc. you have done recently.
Run the "SFC /scannow" command from an administrative prompt.
Run the "msconfig.exe" and reboot with all startup programs disabled.
Then, when you do get back into your normal windows, you will need to do some detective work to find the offender.
Honestly, unless you like doing the detective work, which may take a while, I, personally would just re-install from scratch.
This way you are sure to rid yourself of the problem, whether, a virus/malware or other.