HalpMcUpdateMicrocode

INT64 __fastcall HalpMcUpdateMicrocode(INT64 a1, INT64 a2, INT64 a3){
  unsigned int updated; 
  char v5; 
  char v6; 
  INT64 v7[2]; 
  __int128 v8; 
  __int128 v9; 
  updated = 0;
  *(_OWORD *)v7 = 0i64;
  v8 = 0i64;
  v9 = 0i64;
  if( HalpMcUpdateMicrocodeFuncEx )
  {
    LODWORD(a2) = *((_DWORD *)KeGetPcr() + 105);
    LOBYTE(a3) = HalpMcUpdateSelfHosting;
    v6 = HalpMcUpdateMinVerSupported;
    v5 = 0;
    updated = HalpMcUpdateMicrocodeFuncEx(1i64, a2, a3, v7, HalpMcUpdateData, v5, v6);
    HalpMcRecordProcessorInfo((INT64)v7);
  }
  return updated;
}

Referenced by:

HalpDpPostReplaceInitialization
HalpLoadMicrocode
HalpPostSleepMP
HalpProcInitSystem