VerifierPortExAllocatePoolWithQuotaTag

VOID *__stdcall VerifierPortExAllocatePoolWithQuotaTag(
        POOL_TYPE PoolType,
        UINT64 NumberOfBytes,
        UINT64 Tag,
        VOID *CallerAddress){
  unsigned int v5; 
  __int64 v8; 
  UINT64 v10; 

  v5 = Tag;
  if( (MmVerifierData & 8) != 0 )
  {
    if( KeGetCurrentThread()->ApcState.Process == *(_EPROCESS **)&PsIdleProcess )
      VerifierBugCheckIfAppropriate(0xC4ui64, 0x10Au, 0, 0, 0, v10);
    if( (KeGetPcr()->Prcb.DpcRequestSummary & 1) != 0 )
      VerifierBugCheckIfAppropriate(0xC4ui64, 0x10Bu, 0, 0, 0, v10);
  }
  v8 = PoolType & 0xFFFFFFF7;
  if( (PoolType & 8) == 0 )
    v8 = (unsigned int)PoolType;
  if( (MmVerifierData & 0x400000) != 0 && (MmVerifierData & 1) == 0 )
    return ExAllocatePoolWithQuotaTag((POOL_TYPE)v8, NumberOfBytes, v5);
  LODWORD(v8) = v8 | 0x80;
  return(VOID *)pXdvExAllocatePoolWithTagPriority(
                   v8,
                   NumberOfBytes,
                   v5,
                   32,
                   (__int64)CallerAddress,
                   (__int64)VeAllocatePoolWithTagPriority);
}

Referenced by:

No references.