AlpcpEnterFreeEventMessageLog

void __fastcall AlpcpEnterFreeEventMessageLog(__int64 a1){
  __int64 MessageLog; 
  ExAcquirePushLockExclusiveEx((UINT64)&AlpcpMessageLogLock, 0i64);
  MessageLog = AlpcpLocateMessageLog(*(_DWORD *)(a1 + 264));
  if( MessageLog )
  {
    *(_DWORD *)(MessageLog + 44) = 0;
    *(_QWORD *)(MessageLog + 32) = 0i64;
  }
  if( (_InterlockedExchangeAdd64((volatile signed __int64 *)&AlpcpMessageLogLock, 0xFFFFFFFFFFFFFFFFui64) & 6) == 2 )
    ExfTryToWakePushLock((volatile INT64 *)&AlpcpMessageLogLock);
  KeAbPostRelease(&AlpcpMessageLogLock);
}

Referenced by:

AlpcMessageDestroyProcedure
AlpcpProcessSynchronousRequest