PsMapSystemDlls
NTSTATUS __stdcall PsMapSystemDlls(_EPROCESS *Process, UINT64 UseLargePages){
unsigned int v2;
int v4;
int v5;
int v6;
_EX_FAST_REF **v7;
_EX_FAST_REF *v8;
_KAPC_STATE ApcState;
memset(&ApcState, 0, sizeof(ApcState));
v2 = UseLargePages;
v4 = 0;
if( Process == KeGetCurrentThread()->ApcState.Process )
{
v5 = 0;
}
else
{
v5 = 1;
KiStackAttachProcess(Process, 0i64, &ApcState);
}
v6 = 0;
v7 = &PspSystemDlls;
while( 1 )
{
v8 = *v7;
if( *v7
&& (v6 <= 0
|| *((_WORD *)&v8[2]._bf_0 + 1) && Process->WoW64Process && v6 == PsWow64GetProcessNtdllType((INT64)Process)) )
{
v4 = PspMapSystemDll(Process, (PSP_SYSTEM_DLL_DATA *)v8, v2, 0i64);
if( v4 < 0 )
break;
}
++v6;
++v7;
if( v6 >= 6 )
goto LABEL_9;
}
if( v6 > 0 )
v4 = -1073741405;
LABEL_9:
if( v5 )
KiUnstackDetachProcess(&ApcState, 0i64);
return v4;
}Referenced by:
MiMapProcessExecutable