ExAllocatePoolMm
VOID *__fastcall ExAllocatePoolMm(INT64 a1, UINT64 a2, UINT64 a3, UINT64 a4){
int v4;
unsigned int v5;
unsigned int v7;
INT64 v9;
BYTE v10;
char v11[3];
POOL_TYPE PoolType[5];
v4 = 0;
v5 = a4;
PoolType[0] = NonPagedPool;
v11[0] = 0;
v7 = a3;
v10 = 0;
if( (int)ExpPoolFlagsToPoolType(a1, 1i64, (INT64 *)PoolType, (BYTE *)v11, &v10) < 0 )
return 0i64;
if( v10 )
v4 = 1;
if( v11[0] )
return ExAllocatePoolWithQuotaTag(PoolType[0], a2, v7);
LODWORD(v9) = v4;
return ExpAllocatePoolWithTagFromNode((unsigned int)PoolType[0], a2, v7, v5, v9);
}Referenced by:
MiAddSecureEntry
MiAllocateAccessLog
MiInsertSharedCommitNode
MiLockWorkingSetForLargeMapping
MiMapViewOfDataSection
MiReserveUserMemory
MiZeroPageCalibrate