CmpLogEvent

VOID __stdcall CmpLogEvent(_EVENT_DESCRIPTOR *Event, INT64 FinalStatus, _UNICODE_STRING *String, _UNICODE_STRING *a4){
  ULONG v5; 
  int Length; 
  __int16 v7; 
  _EVENT_DATA_DESCRIPTOR UserData; 
  __int16 *v9; 
  __int64 v10; 
  wchar_t *Buffer; 
  int v12; 
  int v13; 
  int v14; 

  v14 = FinalStatus;
  v7 = 0;
  if( *(&ExBootDevicesRemovedEvent + 380) )
  {
    *(_QWORD *)&UserData.Size = 4i64;
    UserData.Ptr = (unsigned __int64)&v14;
    v5 = 1;
    if( String )
    {
      Length = String->Length;
      v10 = 2i64;
      v7 = (unsigned __int16)Length >> 1;
      v9 = &v7;
      Buffer = String->Buffer;
      v5 = 3;
      v12 = Length;
      v13 = 0;
    }
    EtwWrite(*(&ExBootDevicesRemovedEvent + 380), Event, 0, v5, &UserData);
  }
}

Referenced by:

CmpInitHiveFromFile
HvpFinishPrimaryWrite