WheapInitializeEventing

PSLIST_ENTRY __stdcall WheapInitializeEventing(){
  struct _SLIST_ENTRY *v0; 
  __int64 v1; 
  PSLIST_ENTRY result; 
  LOWORD(WheapWaitingETWEventLock.Header.Lock) = 1;
  qword_140C15DE8 = (__int64)&WheapWaitingETWEvents;
  WheapWaitingETWEvents = (__int64)&WheapWaitingETWEvents;
  WheapWaitingETWEventLock.Header.Size = 6;
  qword_140C15DA8 = (__int64)&WheapDeferredInternalLogs;
  WheapDeferredInternalLogs = (__int64)&WheapDeferredInternalLogs;
  WheapWaitingETWEventLock.Header.SignalState = 1;
  WheapWaitingETWEventLock.Header.WaitListHead.Blink = &WheapWaitingETWEventLock.Header.WaitListHead;
  WheapWaitingETWEventLock.Header.WaitListHead.Flink = &WheapWaitingETWEventLock.Header.WaitListHead;
  LOWORD(WheapDeferredInternalLogsEventLock.Header.Lock) = 1;
  WheapDeferredInternalLogsEventLock.Header.WaitListHead.Blink = &WheapDeferredInternalLogsEventLock.Header.WaitListHead;
  WheapDeferredInternalLogsEventLock.Header.WaitListHead.Flink = &WheapDeferredInternalLogsEventLock.Header.WaitListHead;
  qword_140C13D90 = 0i64;
  WheapDeferredInternalLogsEventLock.Header.Size = 6;
  WheapDeferredInternalLogsEventLock.Header.SignalState = 1;
  WheapHighIrqlLogSelHandler = 0i64;
  if( EtwRegister(&WHEA_ETW_PROVIDER, (PETWENABLECALLBACK)WheapEtwEnableCallback, 0i64, &WheapEtwHandle) )
    WheapEtwHandle = 0i64;
  if( ((unsigned __int8)&WheapIpmiLogEntryList & 0xF) != 0 )
    RtlRaiseStatus(-2147483646);
  v0 = (struct _SLIST_ENTRY *)&WheapIpmiLogEntry;
  WheapIpmiLogEntryList = 0i64;
  v1 = 128i64;
  do
  {
    memset((INT64)v0, 0i64);
    result = RtlpInterlockedPushEntrySList((PSLIST_HEADER)&WheapIpmiLogEntryList, v0);
    v0 += 7;
    --v1;
  }
  while( v1 );
  return result;
}

Referenced by:

WheaInitialize