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