EtwInitialize

VOID __stdcall EtwInitialize(UINT64 Phase){
  void *v1; 
  INT64 v2; 
  __int64 v3; 
  __int64 v4; 
  if( (unsigned int)Phase >= 2 )
  {
    if( (_DWORD)Phase == 2 )
    {
      v2 = EtwpHostSiloState;
      v3 = 0i64;
      for( EtwpFileSystemReady = 1; (unsigned int)v3 < *(_DWORD *)(EtwpHostSiloState + 16); v3 = (unsigned int)(v3 + 1) )
      {
        if( ExAcquireRundownProtectionCacheAwareEx(
               *(PEX_RUNDOWN_REF_CACHE_AWARE *)(*(_QWORD *)(v2 + 448) + 8 * v3),
               1u) )
        {
          if( (unsigned int)v3 >= *(_DWORD *)(EtwpHostSiloState + 16) )
            v4 = 1i64;
          else
            v4 = *(_QWORD *)(*(_QWORD *)(EtwpHostSiloState + 456) + 8 * v3);
          if( (v4 & 1) == 0 && (*(_DWORD *)(v4 + 12) & 0x400) == 0 && EtwpBuffersFlushRequired((_DWORD *)v4) )
          {
            if( ObGetCurrentIrql() > 2u )
            {
              if( !_interlockedbittestandset((volatile signed __int32 *)(v4 + 836), 8u) )
                KeInsertQueueDpc((PRKDPC)(v4 + 584), 0i64, 0i64);
            }
            else
            {
              KeSetEvent((PRKEVENT)(v4 + 496), 0);
            }
          }
          ExReleaseRundownProtectionCacheAwareEx(
            *(PEX_RUNDOWN_REF_CACHE_AWARE *)(*(_QWORD *)(EtwpHostSiloState + 448) + 8 * v3),
            1u);
        }
        v2 = EtwpHostSiloState;
      }
    }
  }
  else
  {
    EtwpInitialize(Phase, v1);
  }
}

Referenced by:

CmCompleteRegistryInitialization
IoInitSystemPreDrivers