ExAllocatePool2
VOID *__stdcall ExAllocatePool2(INT64 a1, UINT64 a2, UINT64 a3){
unsigned int v3;
int v5;
UINT64 v7;
INT64 arg20;
__int64 v9[3];
char v10;
char v11;
LODWORD(v9[0]) = 0;
v3 = a3;
v11 = 0;
v10 = 0;
if( (_DWORD)a3 )
{
v5 = ExpPoolFlagsToPoolType(a1, 0i64, v9, &v11, &v10);
if( v5 >= 0 )
{
if( v11 )
return ExAllocatePoolWithQuotaTag(v9[0], a2, v3);
LODWORD(arg20) = v10 != 0;
v7 = KeGetCurrentPrcb()->ParentNode->Affinity.Reserved[0];
LODWORD(v7) = v7 | 0x80000000;
return ExpAllocatePoolWithTagFromNode(LODWORD(v9[0]), a2, v3, v7, arg20);
}
}
else
{
v5 = -1073741811;
}
if( (a1 & 0x20) != 0 )
RtlRaiseStatus(v5);
return 0i64;
}Referenced by:
CmFcpManagerAllocateChangeSubscription
EtwTimLogControlProtectionUserModeReturnMismatch
EtwTimLogRedirectionTrustPolicy
EtwTimLogUserCetSetContextIpValidationFailure
KiLogUserCetSetContextIpValidationFailure
NtSetInformationProcess
PipIommuRetrieveSecondaryDeviceId
RtlAddDynamicEHContinuationTarget
RtlAddDynamicEnforcedAddressRange
SepAddTokenOriginClaim
SepVariableInitialization
VerifierExAllocatePool2
VslConnectSwInterrupt
sub_1405B03A8