MiCreatePebOrTeb
NTSTATUS __stdcall MiCreatePebOrTeb(UINT64 AllocationFlags, PVOID *Base){
_QWORD *v2;
int v3;
UINT64 v5;
__int64 v6;
v3 = AllocationFlags;
v5 = 0i64;
*v2 = 0i64;
if( !v3 )
{
v6 = 1992i64;
return MiAllocateFromSubAllocatedRegion(v5, (v6 + 4095) & 0xFFFFF000i64, v2);
}
v6 = 6200i64;
if( v3 == 3 )
{
LABEL_3:
if( (unsigned int)(v3 - 3) > 2 )
return MiAllocateFromSubAllocatedRegion(v5, (v6 + 4095) & 0xFFFFF000i64, v2);
goto LABEL_4;
}
if( v3 == 4 )
{
v6 = 12288i64;
}
else
{
if( v3 != 5 )
{
if( v3 == 1 )
{
v6 = 1192i64;
return MiAllocateFromSubAllocatedRegion(v5, (v6 + 4095) & 0xFFFFF000i64, v2);
}
if( v3 == 2 )
v6 = 2032i64;
goto LABEL_3;
}
v6 = 14392i64;
}
LABEL_4:
if( Base )
v5 = 1i64;
return MiAllocateFromSubAllocatedRegion(v5, (v6 + 4095) & 0xFFFFF000i64, v2);
}Referenced by:
MiInitializeWowPeb
MmCreatePeb
MmCreateTeb