PfpStartLoggingHardFaultEvents

INT64 __fastcall PfpStartLoggingHardFaultEvents(){
  _DWORD *PoolWithTag; 
  UINT64 v1; 
  unsigned int v2; 
  _DWORD *Dpc; 
  unsigned __int8 v4; 
  unsigned __int64 v5; 
  PoolWithTag = ExAllocatePoolWithTag(NonPagedPoolNx, 0xA8ui64, 0x44506650ui64);
  v2 = 0;
  Dpc = PoolWithTag;
  if( PoolWithTag )
  {
    PoolWithTag[40] = 0;
    KeAcquireSpinLockRaiseToDpc(&qword_140C50088, v1);
    v5 = v4;
    Dpc[41] = ++dword_140C50094;
    _InterlockedOr(&dword_140CEBED4, 1u);
    KxReleaseSpinLock(&qword_140C50088);
    __writecr8(v5);
    KeInitializeTimerEx((PKTIMER)(Dpc + 16), NotificationTimer);
    KeInitializeDpc((PRKDPC)Dpc, (PKDEFERRED_ROUTINE)PfpPowerActionDpcRoutine, Dpc);
    KiSetTimerEx((_KTIMER *)(Dpc + 16), (_LARGE_INTEGER)-200000000i64, 0i64, 0, (_KDPC *)Dpc);
  }
  else
  {
    return(unsigned int)-1073741670;
  }
  return v2;
}

Referenced by:

PfPowerActionNotify