WdtpAllocateTimer
CHAR *__stdcall WdtpAllocateTimer(){
_BYTE *PoolWithTag;
_BYTE *v1;
PEX_TIMER Timer;
PoolWithTag = ExAllocatePoolWithTag(NonPagedPoolNx, 0x80ui64, 0x54645750ui64);
v1 = PoolWithTag;
if( PoolWithTag )
{
memset((INT64)(PoolWithTag + 1), 0i64);
*v1 = 119;
Timer = ExAllocateTimer((PEXT_CALLBACK)WdtpTimerCallback, v1, 0);
*((_QWORD *)v1 + 7) = Timer;
if( Timer )
{
KeInitializeEvent((_KEVENT *)(v1 + 104), NotificationEvent, 0);
}
else
{
ExFreePoolWithTag(v1, 0x54645750u);
return 0i64;
}
}
return v1;
}Referenced by:
PnpWatchdogTimerAllocate