PopDirectedDripsDiagCreateDeviceDiagnostic
CHAR *__stdcall PopDirectedDripsDiagCreateDeviceDiagnostic(INT64 a1){
VOID **PoolWithTag;
VOID **v3;
VOID ***v4;
PoolWithTag = ExAllocatePoolWithTag(1ui64, 0xA8ui64, 1734960208i64);
v3 = PoolWithTag;
if( PoolWithTag )
{
memset(PoolWithTag, 0i64, 0xA8u);
v3[2] = (VOID *)a1;
*((_DWORD *)v3 + 6) = dword_140C1EB80++;
*((_DWORD *)v3 + 37) = -1;
if( PopDirectedDripsDiagCreateDeviceDescription(a1, (INT64)v3) < 0 )
{
PopDirectedDripsDiagFreeDeviceDiagnostic(v3);
return 0i64;
}
else
{
*(_QWORD *)(a1 + 776) = v3;
v4 = (VOID ***)qword_140C1E998;
if( *(PVOID **)qword_140C1E998 != &qword_140C1E990 )
__fastfail(3u);
*v3 = &qword_140C1E990;
v3[1] = v4;
*v4 = v3;
qword_140C1E998 = (__int64)v3;
}
}
return(CHAR *)v3;
}Referenced by:
PopDirectedDripsDiagBroadcastTreeBegin
PopDirectedDripsDiagTraceBroadcastVisit
PopDirectedDripsDiagTraceMarkDevice