EtwpCCSwapFlush

void __fastcall EtwpCCSwapFlush(_DWORD *a1, int a2){
  int v3; 
  unsigned int v4; 
  unsigned int v6; 
  __int64 v7; 
  __int64 v8; 
  int v9; 
  unsigned int v10; 
  _WMI_LOGGER_CONTEXT *v11; 
  _ETW_LOGGER_HANDLE LoggerHandle; 
  _DWORD *v13; 
  int v14; 
  int v15; 

  LoggerHandle.DereferenceAndLeave = 0;
  v13 = a1 + 4;
  v3 = *a1 - 16;
  v15 = 0;
  v14 = v3;
  v4 = *(_DWORD *)(EtwpHostSiloState + 4224);
  while( _BitScanForward(&v6, v4) )
  {
    v4 &= v4 - 1;
    v7 = v6;
    v8 = 32i64 * v6 + EtwpHostSiloState + 4260;
    if( v8 )
    {
      v9 = *(_DWORD *)(v8 + 4);
      if( (v9 & 4) != 0 && (v9 & 0x100) != 0 )
      {
        v10 = *(unsigned __int8 *)(EtwpHostSiloState + 2 * v7 + 4208);
        v11 = EtwpOpenLogger(
                *(unsigned __int8 *)(EtwpHostSiloState + 2 * v7 + 4208),
                (_ETW_SILODRIVERSTATE *)EtwpHostSiloState,
                0,
                &LoggerHandle);
        if( v11 )
        {
          if( v11->ClockType == a2 )
            EtwpLogKernelEvent((__int64)&v13, (_ETW_SILODRIVERSTATE *)EtwpHostSiloState, v10, 1u, 0x525u, 0x202u);
          EtwpCloseLogger(v10, (_ETW_SILODRIVERSTATE *)EtwpHostSiloState, LoggerHandle);
        }
      }
    }
  }
}

Referenced by:

EtwpCCSwapTrace