HalpMcaInitializeErrorSection

INT64 __fastcall HalpMcaInitializeErrorSection(INT64 a1, UINT64 a2){
  unsigned int v2; 
  UINT8 v5; 
  v2 = a2;
  v5 = 0;
  memset(a1 + 4, 0i64);
  *(_DWORD *)a1 = 2;
  if( !HalpGetCpuInfo(0i64, 0i64, 0i64, &v5) )
    goto LABEL_6;
  if( v5 != 2 )
  {
    if( v5 == 1 )
    {
      *(_DWORD *)(a1 + 4) = 2;
      goto LABEL_7;
    }
LABEL_6:
    *(_DWORD *)(a1 + 4) = 0;
    goto LABEL_7;
  }
  *(_DWORD *)(a1 + 4) = 1;
LABEL_7:
  *(_QWORD *)(a1 + 8) = *(_QWORD *)&KUSER_SHARED_DATA.SystemTime.LowPart;
  *(_DWORD *)(a1 + 16) = v2;
  return((__int64(__fastcall *)(_QWORD, INT64, _QWORD))off_140C007C8[0])(v2, a1 + 68, 0i64);
}

Referenced by:

HalpMcaPopulateErrorData