HalpCmcStartPolling
VOID __stdcall HalpCmcStartPolling(){
unsigned __int64 v0;
if( !HalpIsMicrosoftCompatibleHvLoaded() || (unsigned __int8)HalpIsPartitionCpuManager() )
{
v0 = (unsigned __int8)KeAcquireSpinLockRaiseToDpc(qword_140CED3C0);
if( byte_140C50551 )
{
if( (*(&stru_140CF2E80 + 7433)
|| *(&stru_140CF2E80 + 1857)
|| *(&stru_140CF2E80 + 7432) != *(&stru_140CF2E80 + 7428))
&& !*(&stru_140CF2E80 + 7905) )
{
KiSetTimerEx(
&stru_140C50578,
(_LARGE_INTEGER)(-10000i64 * (unsigned int)Period),
(unsigned int)Period,
0,
&stru_140C505B8);
*(&stru_140CF2E80 + 7905) = 1;
}
}
else
{
*(&stru_140CF2E80 + 7432) = 1;
}
KxReleaseSpinLock(qword_140CED3C0);
__writecr8(v0);
}
}Referenced by:
HalpCmciDeferredRoutine
HalpInitializeCmc