BiGetSavedBootEntry
INT64 __fastcall BiGetSavedBootEntry(VOID *ObjectHandle, _BOOT_ENTRY **BootEntry){
int RegistryValue;
PVOID v4;
int v5;
UINT64 v7;
PVOID P;
LODWORD(v7) = 0;
P = 0i64;
RegistryValue = BiGetRegistryValue(
ObjectHandle,
(WCHAR *)L"FirmwareVariable",
(WCHAR *)L"Description",
3ui64,
&P,
&v7);
v4 = P;
v5 = RegistryValue;
if( RegistryValue < 0
|| ((unsigned int)v7 < 0x1C || *((_DWORD *)P + 1) < 0x1Cu || !*(_DWORD *)P ? (_BOOT_ENTRY *)(v5 = -1073741811) : (*BootEntry = (_BOOT_ENTRY *)P),
v5 < 0) )
{
if( v4 )
ExFreePoolWithTag(v4, 0x4B444342u);
}
return(unsigned int)v5;
}Referenced by:
BiBuildIdentifierList
BiCreateEfiEntry