HalpIsCmciImplemented

INT8 __stdcall HalpIsCmciImplemented(){
  CHAR CpuInfo; 
  UINT8 v2; 
  BOOL IsCmciSupported; 
  int v4[10]; 
  UINT8 v5; 

  v5 = 0;
  if( !byte_140C50684 )
  {
    CpuInfo = HalpGetCpuInfo(0i64, 0i64, 0i64, &v5);
    v2 = CpuInfo != 0 ? v5 : 0;
    v5 = v2;
    if( v2 == 2 )
    {
      IsCmciSupported = HalpInterruptIsCmciSupported();
    }
    else if( v2 == 1 )
    {
      IsCmciSupported = HalpInterruptIsCmciSupported();
      if( IsCmciSupported )
        HalpDeferredErrorInterruptPresent = HalpInterruptIsDeferredErrorSupported();
    }
    else
    {
      IsCmciSupported = 0;
    }
    byte_140C50685 = IsCmciSupported;
    _InterlockedOr(v4, 0);
    byte_140C50684 = 1;
  }
  return byte_140C50685;
}

Referenced by:

HalpCorrectMachineCheckErrSrc
HalpInitializeCmc
HalpMcaResumeProcessorConfig
HalpMcaSetFeatureFlags