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