PspInitializeSystemDlls
VOID __stdcall PspInitializeSystemDlls(){
int v0;
__int64 *v1;
_PS_SYSTEM_DLL_INFO *SystemDllInfo;
__int64 v3;
unsigned int i;
__int64 v5;
char *ExportedRoutineByName;
v0 = 0;
v1 = &qword_140A98498;
do
{
SystemDllInfo = PsQuerySystemDllInfo((_SYSTEM_DLL_TYPE)v0);
if( SystemDllInfo )
{
v3 = *(v1 - 1);
for( i = 0;
i < *(_DWORD *)v1;
**(_QWORD **)(v3 + 8 * v5 + 8) = &ExportedRoutineByName[*((_QWORD *)SystemDllInfo + 3)
- *((_QWORD *)SystemDllInfo + 4)] )
{
v5 = 2i64 * i;
ExportedRoutineByName = (char *)RtlFindExportedRoutineByName(
*((VOID **)SystemDllInfo + 4),
*(INT8 **)(v3 + 16i64 * i));
if( !ExportedRoutineByName )
KeBugCheckEx(0x6Bu, (PVOID)0xFFFFFFFFC000007Ai64, (PVOID)6, 0i64, 0i64);
++i;
}
if( (unsigned int)(v0 - 1) <= 1 )
*((_QWORD *)PspWow64GetSharedInformation((unsigned int)v0) + 6) = *((_QWORD *)SystemDllInfo + 3);
}
++v0;
v1 += 2;
}
while( v0 < 6 );
}Referenced by:
PspInitPhase2