MmAllocateUserStack
NTSTATUS __fastcall MmAllocateUserStack(INT64 *a1, UINT64 a2, UINT64 *a3, int a4, int a5){
INT64 v10;
INT64 v11;
INT64 v12;
INT64 v13;
INT64 v14[10];
memset(v14, 0i64, 0x48u);
LODWORD(v14[4]) = a4;
if( ((a5 != 0 ? -1073741824 : 0x80000000) & 0x40000000) != 0 && (MiFlags & 0x2000000) == 0 )
return -1073741637;
LODWORD(v13) = 0;
LODWORD(v12) = a5 != 0 ? -1073741824 : 0x80000000;
LODWORD(v11) = a5 != 0 ? 2 : 4;
LODWORD(v10) = 0x2000;
return MiAllocateVirtualMemoryCommon(
(VOID *)0xFFFFFFFFFFFFFFFFi64,
a1,
a2,
a3,
v10,
v11,
(INT64)v14,
0,
v12,
v13,
0i64);
}Referenced by:
NtSetInformationProcess
PspReserveAndCommitUserShadowStack