WheapGenerateETWEvents

VOID __stdcall WheapGenerateETWEvents(WHEA_ERROR_RECORD *Record){
  unsigned int *p_Length; 
  unsigned int Length; 
  __int128 Src; 
  __int128 v5; 
  unsigned __int64 RecordId; 
  EVENT_DATA_DESCRIPTOR UserData; 
  WHEA_ERROR_RECORD *v8; 
  unsigned int v9; 
  int v10; 
  p_Length = &Record->Header.Length;
  Length = Record->Header.Length;
  RecordId = 0i64;
  Src = 0i64;
  v5 = 0i64;
  if( Length > 0xFBFB )
  {
    Length = 64507;
    RecordId = Record->Header.RecordId;
    *(_QWORD *)&Src = 0x1674C6857i64;
    *((_QWORD *)&Src + 1) = 40i64;
    *(_QWORD *)&v5 = 0x8000001D4C4E524Bui64;
    *((_QWORD *)&v5 + 1) = 0x800000002i64;
    WheaLogInternalEvent(&Src);
  }
  UserData.Reserved = 0;
  v10 = 0;
  UserData.Ptr = (unsigned __int64)p_Length;
  UserData.Size = 4;
  v8 = Record;
  v9 = Length;
  EtwWrite(WheapEtwHandle, (EVENT_DESCRIPTOR *)&EVENT_WHEA_ERROR, 0i64, 2ui64, &UserData);
}

Referenced by:

WheaReportHwError
WheapEtwEnableCallback
WheapProcessWorkQueueItem