PspInitPhase1
BOOL __stdcall PspInitPhase1(){
NTSTATUS inserted;
int v1;
INT64 v2;
INT64 v3;
INT64 v4;
INT64 v5;
INT64 v6;
INT64 v7;
INT64 v8;
INT64 v9;
INT64 v10;
INT64 v11;
INT64 v12;
INT64 v13;
UINT64 v14;
BOOL result;
NTSTATUS v16;
PVOID Object;
inserted = ObInsertObject((VOID *)PspSystemPartition, 0i64, 2031619, 0i64, 0i64, &PspSystemPartitionHandle);
v1 = 0;
if( inserted < 0 )
v1 = inserted;
if( v1 < 0 )
KeBugCheck(0x60u);
result = 0;
if( PspInitializeNetRateControl() )
{
if( PspInitializeBackgroundActivityModeratorCallouts(v3, v2) >= 0
&& PspInitializeDesktopActivityModeratorCallouts(v5, v4) >= 0
&& PspInitializeMMCSSCallouts(v7, v6) >= 0
&& PspInitializeHwTraceCallouts(v9, v8) >= 0
&& PspInitializeOctagonExtensionHost(v11, v10) >= 0
&& PspInitializeSecExtensionHost(v13, v12) >= 0 )
{
if( !VslVsmEnabled )
return 1;
LOBYTE(v14) = PsInitialSystemProcess->Protection.Level;
if( PsCreateMinimalProcess(PsInitialSystemProcess, 0, 0i64, v14, 0i64) >= 0 )
{
Object = 0i64;
v16 = ObReferenceObjectByHandle(0i64, 0i64, (_OBJECT_TYPE *)PsProcessType, 0, &Object, 0i64);
PsSecureSystemProcess = Object;
if( v16 >= 0 )
{
strcpy_s((PSTR)Object + 1448, 0xFui64, (PSTR)"Secure System");
if( VslRegisterSecureSystemProcess() >= 0 )
return 1;
}
}
}
}
return result;
}Referenced by:
PsInitSystem