PnpInitializeDeviceEvents
__int64 PnpInitializeDeviceEvents(){
unsigned int v0;
VOID **PoolWithTag;
__int64 v2;
v0 = 0;
PoolWithTag = ExAllocatePoolWithTag(0x200ui64, 0x88ui64, 1248882256i64);
PnpDeviceEventList = (__int64)PoolWithTag;
if( PoolWithTag )
{
KiInitializeMutant((_KMUTANT *)(PoolWithTag + 1), 0, 1u);
v2 = PnpDeviceEventList;
*(_DWORD *)(PnpDeviceEventList + 64) = 1;
*(_QWORD *)(v2 + 72) = 0i64;
*(_DWORD *)(v2 + 80) = 0;
*(_QWORD *)(v2 + 104) = v2 + 96;
*(_QWORD *)(v2 + 96) = v2 + 96;
*(_WORD *)(v2 + 88) = 1;
*(_BYTE *)(v2 + 90) = 6;
*(_DWORD *)(v2 + 92) = 0;
*(_QWORD *)(v2 + 128) = v2 + 120;
*(_QWORD *)(v2 + 120) = v2 + 120;
*(_DWORD *)v2 = 259;
*(&PnpReplaceEvent + 13) = (char *)&PnpReplaceEvent + 96;
*(&PnpReplaceEvent + 12) = (char *)&PnpReplaceEvent + 96;
*(&PnpReplaceEvent + 6) = (char *)&PnpReplaceEvent + 40;
*(&PnpReplaceEvent + 5) = (char *)&PnpReplaceEvent + 40;
*(&PnpReplaceEvent + 16) = 1;
*(&PnpReplaceEvent + 9) = 0i64;
*(&PnpReplaceEvent + 20) = 0;
*(&PnpReplaceEvent + 44) = 1;
*(&PnpReplaceEvent + 90) = 6;
*(&PnpReplaceEvent + 23) = 0;
*(&PnpReplaceEvent + 16) = 0;
*(&PnpReplaceEvent + 34) = 6;
*(&PnpReplaceEvent + 9) = 1;
}
else
{
return(unsigned int)-1073741670;
}
return v0;
}Referenced by:
IopInitializePlugPlayServices