HalpInitializeCmc
INT64 __fastcall HalpInitializeCmc(INT64 a1, INT64 a2){
INT64 v4;
HIDWORD(v4) = 0;
if( (_DWORD)a1 )
{
if( (_DWORD)a1 == 1 )
{
HalpCmcErrorSourceId = *(_DWORD *)(a2 + 28);
HalpCmcErrorSource = (PVOID)a2;
if( HalpIsCmciImplemented() )
{
*(_BYTE *)(a2 + 48) = 5;
HalpCmciInit(a2);
}
HalpCmcInitializePolling(a2);
HalpCmcStartPolling();
}
else
{
LODWORD(v4) = *((_DWORD *)KeGetPcr() + 105);
if( HalpIsCmciImplemented() )
{
HalpCmciInitializeErrorPacket(a2, v4);
HalpCmciInitProcessor(a2, v4);
}
}
}
else
{
HalpCmcErrorSourceId = *(_DWORD *)(a2 + 28);
HalpCmcErrorSource = (PVOID)a2;
if( HalpIsCmciImplemented() )
{
HalpCmciEnabled = 1;
*(_BYTE *)(a2 + 48) = 5;
HalpCmciInit(a2);
}
}
return 0i64;
}Referenced by:
HalpInitializeErrSrc