LookUpTableFlushComplete

VOID __fastcall LookUpTableFlushComplete(INT64 a1){
  UINT64 v1; 
  unsigned int v2; 
  __int64 v4; 
  __int64 v5; 
  __int64 v6; 
  __int64 v7; 
  __int128 v8; 
  int v9; 
  int v10; 
  int v11; 
  int v12; 
  int v13; 
  __int64 v14; 
  __int64 v15; 
  __int64 v16; 
  __int128 *v17; 
  __int64 v18; 
  __int128 v19; 
  v1 = *(unsigned int *)(a1 + 256);
  v2 = 0;
  if( (_DWORD)v1 )
  {
    UpdateInternalStatsOnFlush(a1, v1);
    if( *(_QWORD *)(v4 + 288) )
    {
      if( (unsigned int)dword_140C04750 > 5 && tlgKeywordOn((__int64)&dword_140C04750, 0x400000000000i64) )
      {
        v7 = *(_QWORD *)(*(_QWORD *)(a1 + 344) + 8i64);
        v8 = *(_OWORD *)(v7 - 16);
        v9 = *(_DWORD *)(a1 + 324);
        v10 = *(_DWORD *)(a1 + 320);
        v11 = *(_DWORD *)(a1 + 316);
        v12 = *(_DWORD *)(a1 + 312);
        v13 = *(_DWORD *)(a1 + 308);
        v15 = *(unsigned int *)(a1 + 304);
        v16 = *(_QWORD *)(a1 + 296);
        v17 = &v19;
        v19 = v8;
        v14 = v6;
        _tlgWriteTemplate::Write<_tlgWrapperByRef<16>,_tlgWrapperByVal<8>,_tlgWrapperByVal<8>,_tlgWrapperByVal<8>,_tlgWrapperByVal<4>,_tlgWrapperByVal<4>,_tlgWrapperByVal<4>,_tlgWrapperByVal<4>,_tlgWrapperByVal<4>>(
          v7,
          (unsigned __int8 *)byte_14002D370,
          v5,
          v6,
          (__int64 *)&v17,
          (__int64)&v16,
          (__int64)&v15,
          (__int64)&v14,
          (__int64)&v13,
          (__int64)&v12,
          (__int64)&v11,
          (__int64)&v10,
          (__int64)&v9);
      }
      *(_OWORD *)(a1 + 288) = 0i64;
      v18 = 0i64;
      *(_OWORD *)(a1 + 304) = 0i64;
      *(_QWORD *)(a1 + 320) = v18;
    }
    do
      FlushLookUpTableBucket(a1, v2++);
    while( v2 < 0x20 );
  }
}

Referenced by:

TlgAggregateFlush
TlgAggregateInternalFlushWorkItemRoutineKernelMode
TlgAggregateInternalProviderCallback
TlgAggregateInternalRegisteredProviderEtwCallback