DbgkpInitializePhase0
INT64 __fastcall DbgkpInitializePhase0(){
CHAR *ServerSiloState;
INT64 v1;
__int64 v2;
union _RTL_RUN_ONCE *v3;
union _RTL_RUN_ONCE *v4;
UNICODE_STRING v5;
__int16 result;
char result_2;
int v8;
int v9;
int v10;
int v11;
int v12;
int v13;
int v14;
int v15;
int v16;
void(__fastcall *v17)(__int64, __int64, __int64, unsigned __int64);
VOID(__stdcall *v18)(PVOID *);
*(_QWORD *)&v5.Length = 1572886i64;
v5.Buffer = L"DebugObject";
memset((INT64)&result, 0i64);
DbgkpProcessDebugPortMutex.Owner = 0i64;
DbgkpProcessDebugPortMutex.Contention = 0;
DbgkpProcessDebugPortMutex.Event.Header.SignalState = 0;
DbgkpProcessDebugPortMutex.Event.Header.WaitListHead.Blink = &DbgkpProcessDebugPortMutex.Event.Header.WaitListHead;
DbgkpProcessDebugPortMutex.Event.Header.WaitListHead.Flink = &DbgkpProcessDebugPortMutex.Event.Header.WaitListHead;
DbgkpProcessDebugPortMutex.Count = 1;
LOWORD(DbgkpProcessDebugPortMutex.Event.Header.Lock) = 1;
DbgkpProcessDebugPortMutex.Event.Header.Size = 6;
ServerSiloState = DbgkpGetServerSiloState(0i64);
v1 = DbgkpInitializePhase0SiloState(ServerSiloState);
if( (int)v1 >= 0 )
{
v8 = 0;
v15 = 0;
v16 = 0;
v18 = AlpcMessageDeleteProcedure;
result = 120;
v17 = DbgkpCloseObject;
v2 = 8i64;
result_2 |= 8u;
v13 = 2031631;
v12 = 2031631;
v14 = 512;
v9 = 131073;
v10 = 131074;
v11 = 1179648;
v1 = ObCreateObjectType(&v5, (__int64)&result, 0i64, (__int64)&DbgkDebugObjectType);
if( (int)v1 >= 0 )
{
if( !DbgkpMaxModuleMsgs )
DbgkpMaxModuleMsgs = 500;
v3 = (union _RTL_RUN_ONCE *)&stru_140C53C70;
do
{
CmSiRWLockInitialize(v3);
v3 = v4 + 2;
--v2;
}
while( v2 );
}
}
return v1;
}Referenced by:
DbgkInitialize