UINT64 __stdcall HalpBlkApicRead(INT64 a1){
_EXCEPTION_REGISTRATION_RECORD *ExceptionList;
ExceptionList = KeGetPcr()->NtTib.ExceptionList;
if( BYTE1(ExceptionList[2].Handler) || LOBYTE(ExceptionList[2].Handler) )
return __readmsr(((int)a1 >> 4) + 2048);
else
return *(unsigned int *)((char *)&KeGetPcr()->NtTib.ExceptionList[2].Next->Next + (int)a1);
}