int __fastcall CmpSearchForTrans(__int64 a1, __int64 a2, const VOID *a3){
LIST_ENTRY *v3;
__int64 v6;
int v7;
LIST_ENTRY *ListIterator;
ListIterator = 0i64;
v3 = (LIST_ENTRY *)(a1 + 16);
while( 1 )
{
LODWORD(v6) = CmListGetNextElement(v3, &ListIterator, 0i64);
v7 = v6;
if( !v6 )
break;
if( a2 && a2 == *(_QWORD *)(v6 + 56) || a3 && CmpTransUowIsEqual((_GUID *)a3, (_GUID *)(v6 + 88)) )
{
LODWORD(v6) = v7;
return v6;
}
}
return v6;
}