MiAllocateProcessVads
VOID __stdcall MiAllocateProcessVads(){
__int64 v0;
__int64 v1;
__int64 v2;
__int64 v3;
_MMVAD_SHORT *Vad;
_MMVAD_SHORT *v5;
_MMVAD_SHORT *v6;
v2 = v0;
v3 = v1;
Vad = MiAllocateVad(&UKUSER_SHARED_DATA, &unk_7FFE0FFF);
if( Vad )
{
if( *(&stru_140C4DB30 + 11) )
{
v5 = MiAllocateVad(*(&stru_140C4DB30 + 11), (VOID *)(*(&stru_140C4DB30 + 11) + 4095i64));
if( !v5 )
{
LABEL_8:
MiReturnProcessVads(Vad);
return;
}
v5->NextVad = Vad;
Vad = v5;
}
if( !v2 )
return;
v6 = MiAllocateVad(*(VOID **)(v3 + 1496), (VOID *)(v2 - 1));
if( v6 )
{
v6->NextVad = Vad;
return;
}
goto LABEL_8;
}
}Referenced by:
MmInitializeHandBuiltProcess2
MmInitializeProcessAddressSpace