KsepLogEtwMessage

void __fastcall KsepLogEtwMessage(int a1, int a2, const char *a3, va_list a4){
  __int64 v5; 
  EVENT_DESCRIPTOR *v6; 
  UINT64 UserDataCount; 
  EVENT_DATA_DESCRIPTOR UserData; 
  char *v9; 
  int v10; 
  int v11; 
  char pszDest[256]; 
  int v13; 
  v13 = a1;
  if( *(_QWORD *)KseEtwHandle && (int)RtlStringCbVPrintfA(pszDest, 0x100ui64, (INT8 *)a3, a4) >= 0 )
  {
    UserData.Reserved = 0;
    UserData.Ptr = (unsigned __int64)&v13;
    UserData.Size = 4;
    v9 = pszDest;
    v5 = -1i64;
    do
      ++v5;
    while( pszDest[v5] );
    v11 = 0;
    v6 = (EVENT_DESCRIPTOR *)KShimErrorMessage;
    v10 = v5 + 1;
    if( a2 )
      v6 = (EVENT_DESCRIPTOR *)&KShimInfoMessage;
    LODWORD(UserDataCount) = 2;
    EtwWriteEx(*(UINT64 *)KseEtwHandle, v6, 0i64, 0i64, 0i64, 0i64, UserDataCount, &UserData);
  }
}

Referenced by:

KsepLogError
KsepLogInfo