HalpEfiInitializeOnResume

NTSTATUS __stdcall HalpEfiInitializeOnResume(MDL *FirmwareMdl, PVOID FirmwareVa){
  NTSTATUS v3; 
  if( FirmwareMdl && FirmwareVa && FirmwareMdl->ByteCount >= 0x90 )
  {
    HalpSetResumeTime(FirmwareVa, 0);
    v3 = *((_DWORD *)FirmwareVa + 28);
    if( v3 < 0 )
      goto LABEL_19;
    if( HalEfiRuntimeServicesBlock[0] != *(_QWORD *)FirmwareVa
      || qword_140E01878 != *((_QWORD *)FirmwareVa + 1)
      || qword_140E01880 != *((_QWORD *)FirmwareVa + 10)
      || qword_140E01888 != *((_QWORD *)FirmwareVa + 6)
      || qword_140E01898 != *((_QWORD *)FirmwareVa + 8)
      || qword_140E01890 != *((_QWORD *)FirmwareVa + 7)
      || qword_140E018A0 != *((_QWORD *)FirmwareVa + 11)
      || qword_140E018A8 != *((_QWORD *)FirmwareVa + 12)
      || qword_140E018B0 != *((_QWORD *)FirmwareVa + 13) )
    {
      if( HalpHvciEnabled )
        KeBugCheckEx(0x5Cu, 0x5001ui64, 0xFFFFFFFFC0000018ui64, 1ui64, 0i64);
      HalEfiRuntimeServicesBlock[0] = *(_QWORD *)FirmwareVa;
      qword_140E01878 = *((_QWORD *)FirmwareVa + 1);
      qword_140E01880 = *((_QWORD *)FirmwareVa + 10);
      qword_140E01888 = *((_QWORD *)FirmwareVa + 6);
      qword_140E01898 = *((_QWORD *)FirmwareVa + 8);
      qword_140E01890 = *((_QWORD *)FirmwareVa + 7);
      qword_140E018A0 = *((_QWORD *)FirmwareVa + 11);
      qword_140E018A8 = *((_QWORD *)FirmwareVa + 12);
      qword_140E018B0 = *((_QWORD *)FirmwareVa + 13);
    }
  }
  else
  {
    v3 = -1073741811;
  }
  if( v3 < 0 )
LABEL_19:
    KeBugCheckEx(0x5Cu, 0x5000ui64, v3, 1ui64, 0i64);
  return v3;
}

Referenced by:

HalInitializeOnResume