HvpAllocateBin

NTSTATUS __stdcall HvpAllocateBin(
        _HHIVE *Hive,
        UINT64 BinSize,
        _HSTORAGE_TYPE Type,
        UINT64 BinStart,
        UINT64 Tag,
        _HBIN **PermanentBin,
        _HBIN **TemporaryBin){
  void *(__fastcall *Allocate)(unsigned int, unsigned __int8, unsigned int); 
  NTSTATUS v8; 
  __int64 v9; 
  __int64 v10; 

  Allocate = Hive->Allocate;
  v8 = 0;
  v9 = (unsigned int)BinSize;
  LOBYTE(BinSize) = Type == 0;
  v10 = (__int64)Allocate(v9, BinSize, BinStart);
  if( !v10 )
    return -1073741670;
  *(_QWORD *)Tag = v10;
  return v8;
}

Referenced by:

HvpAddBin
HvpAddDummyBinToHive
HvpDropPagedBins
HvpRemapAndEnlistHiveBins