INT64 __fastcall EtwpGetPidDemuxList(INT64 a1, INT64 a2){
INT64 v2;
int v3;
int v4;
INT64 v5;
UINT64 v7;
LODWORD(v7) = a1;
v2 = *(_QWORD *)a2;
if( (*(_BYTE *)(a2 + 8) & 1) != 0 && v2 )
v2 ^= a2;
v3 = *(_BYTE *)(a2 + 8) & 1;
while( v2 )
{
v4 = PidNodeCompare(&v7, v2);
if( v4 >= 0 )
{
if( v4 <= 0 )
return v2;
v5 = *(_QWORD *)(v2 + 8);
}
else
{
v5 = *(_QWORD *)v2;
}
if( v3 && v5 )
v2 ^= v5;
else
v2 = v5;
}
return v2;
}