ObpCreateCacheEntry

CHAR *__fastcall ObpCreateCacheEntry(VOID *Src, size_t Size, INT64 a3, UINT64 a4){
  unsigned __int64 v6; 
  VOID **PoolWithTag; 

  v6 = (unsigned int)a4;
  if( Size + 40 < Size )
    return 0i64;
  PoolWithTag = ExAllocatePoolWithTag(5ui64, Size + 40, 1666409039i64);
  if( !PoolWithTag )
    return 0i64;
  *PoolWithTag = 0i64;
  *(VOID **)((char *)PoolWithTag + 28) = 0i64;
  *((_DWORD *)PoolWithTag + 9) = 0;
  PoolWithTag[1] = (VOID *)v6;
  PoolWithTag[2] = (VOID *)a3;
  *((_DWORD *)PoolWithTag + 6) = Size;
  memmove(PoolWithTag + 4, Src, Size);
  return(CHAR *)PoolWithTag;
}

Referenced by:

ObLogSecurityDescriptor