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