BapdpProcessBootMetadata

INT64 __fastcall BapdpProcessBootMetadata(GUID *a1){
  INT64 result; 
  GUID *v2; 
  _DWORD *v3; 
  UINT64 Index; 
  int v5; 
  int v6; 
  ExSoftRebootFlags = 0;
  ExSoftRebootState = 0;
  ExBootLoaderMetadata = 0i64;
  Index = 0x479C9BC55B043C6Ci64;
  v5 = 1736995215;
  v6 = 1054971003;
  if( (qword_140C19658 & 4) != 0 )
  {
    ExSoftRebootState = 2;
    ExSoftRebootFlags = 2;
  }
  LODWORD(result) = BapdpQueryData(a1, (UINT64)&Index, 0i64, 0i64);
  if( (_DWORD)result == -1073741789 )
  {
    result = (INT64)ExAllocatePoolWithTag(PagedPool, 4ui64, 0x64506142ui64);
    v3 = (_DWORD *)result;
    if( result )
    {
      BapdpQueryData(v2, (UINT64)&Index, 0i64, (UINT64 *)(result + 4));
      *v3 = 0;
      ExBootLoaderMetadata = (__int64)v3;
      result = KsrInitPageDatabase(v3 + 1);
      if( (int)result >= 0 )
        ExSoftRebootFlags |= 4u;
    }
  }
  return result;
}

Referenced by:

No references.