EtwpTraceCachedStack

VOID __fastcall EtwpTraceCachedStack(UINT64 LoggerId, UINT64 DataCount, UINT64 Flag, INT64 a4){
  UINT16 v4; 
  unsigned int v5; 
  int v7; 
  __int64 v8; 
  int v9; 
  UINT64 Flaga; 
  UINT64 v11; 
  EVENT_DATA_DESCRIPTOR EventData[9]; 
  INT64 v13; 
  v13 = a4;
  EventData[0].Reserved = 0;
  EventData[0].Ptr = (unsigned __int64)&v13;
  v4 = 1;
  EventData[0].Size = 8;
  v5 = DataCount;
  do
  {
    v7 = 32;
    if( *(_DWORD *)(a4 + 32) < 0x20u )
      v7 = *(_DWORD *)(a4 + 32);
    v8 = v4++;
    EventData[v8].Reserved = 0;
    EventData[v8].Ptr = a4 + 40;
    EventData[v8].Size = 8 * v7;
    a4 = *(_QWORD *)(a4 + 16);
  }
  while( a4 );
  v9 = 4195842;
  if( (_WORD)Flag == 6180 )
    v9 = 4194306;
  LODWORD(v11) = v9;
  LOWORD(Flaga) = Flag;
  EtwpLogKernelEvent(EventData, LoggerId, v5, v4, Flaga, v11);
}

Referenced by:

EtwpDereferenceStackEntry
EtwpStackRundown