PfProcessCreateNotification

NTSTATUS __stdcall PfProcessCreateNotification(_EPROCESS *Process, VOID *SectionObject){
  UINT64 ImagePathHash; 
  _UNICODE_STRING *ImageName; 

  if( !SectionObject )
    return -1073741637;
  ImageName = 0i64;
  if( (*(&stru_140C4DB30 + 7640) & 1) != 0 || (dword_140C50130[0] & 1) != 0 )
  {
    PfCalculateProcessHash(Process, (_UNICODE_STRING **)((char *)&ImageName + 1));
    if( (dword_140C50130[0] & 1) != 0 )
    {
      ImagePathHash = Process->ImagePathHash;
      if( (_DWORD)ImagePathHash )
      {
        if( (unsigned int)PfCheckDeprioritizeImage(ImagePathHash) )
          _InterlockedOr((volatile signed __int32 *)&Process->1124, 0x4000u);
      }
    }
  }
  PfSnBeginAppLaunch(Process, ImageName, 0i64);
  if( ImageName )
    ExFreePoolWithTag(ImageName, 0);
  return 0;
}

Referenced by:

PspUserThreadStartup