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