HalpFirmwareInitDiscard

NTSTATUS __stdcall HalpFirmwareInitDiscard(_LOADER_PARAMETER_BLOCK *LoaderBlock){
  NTSTATUS v2; 
  __int128 v4; 
  int v5; 
  __int64 *v6; 
  __int64 v7; 
  off_140C00840[0] = (__int64(__fastcall *)())HalpQueryCapsuleCapabilities;
  off_140C00848[0] = (__int64(__fastcall *)())HalpUpdateCapsule;
  off_140C00940[0] = HalpIsEFIRuntimeActive;
  off_140C00980[0] = (__int64(__fastcall *)())HalpEnumerateEnvironmentVariablesWithFilter;
  if( (*((_DWORD *)LoaderBlock + 66) & 1) != 0 )
  {
    v4 = *(_OWORD *)((char *)LoaderBlock + 264);
    HalFirmwareTypeEfi = 1;
    HalFirmwareInformationBlock = v4;
    xmmword_140C49CD0 = *(_OWORD *)((char *)LoaderBlock + 280);
    xmmword_140C49CE0 = *(_OWORD *)((char *)LoaderBlock + 296);
    xmmword_140C49CF0 = *(_OWORD *)((char *)LoaderBlock + 312);
    HalpEfiTimeCalls = 0;
    HalpEfiTimeWrites = 0;
    HalpEfiVariableCalls = 0;
    HalpEfiVariableWrites = 0;
    v5 = *((_DWORD *)LoaderBlock + 73);
    v2 = *((_DWORD *)LoaderBlock + 72);
    HalEfiSetVirtualAddressMapStatus = v2;
    HalEfiMissedMappingsCount = v5;
    if( v5 || !*((_QWORD *)LoaderBlock + 35) )
      v2 = -1073741823;
    if( v2 < 0 )
      KeBugCheckEx(0x5Cu, 0x5000ui64, v2, 0i64, 0i64);
    v6 = (__int64 *)*((_QWORD *)LoaderBlock + 35);
    HalEfiRuntimeServicesBlock[0] = *v6;
    qword_140E01878 = v6[1];
    qword_140E01880 = v6[10];
    qword_140E01888 = v6[6];
    qword_140E01890 = v6[7];
    qword_140E01898 = v6[8];
    qword_140E018A0 = v6[11];
    qword_140E018A8 = v6[12];
    v7 = v6[13];
    HalpEfiRuntimeCallbackRecord.State = 0;
    qword_140E018B0 = v7;
    KeRegisterBugCheckReasonCallback(
      &HalpEfiRuntimeCallbackRecord,
      (PKBUGCHECK_REASON_CALLBACK_ROUTINE)HalpEfiBugCheckAddPagesCallback,
      KbCallbackAddPages,
      (PUCHAR)"HalEfiRuntime");
    if( (*((_DWORD *)LoaderBlock + 66) & 2) != 0 )
      HalEfiRuntimeServicesTable = (__int64 *)HalpIumEfiWrapperTable;
  }
  else
  {
    HalFirmwareTypeEfi = 0;
    return 0;
  }
  return v2;
}

Referenced by:

HalpFirmwareInitSystem