ViDeadlockCheckDuplicatesAmongRoots
VOID **__fastcall ViDeadlockCheckDuplicatesAmongRoots(INT64 a1, INT64 **a2){
VOID **result;
int v3;
_QWORD **v4;
_QWORD *v7;
_QWORD *v8;
INT64 v9;
void *retaddr;
result = &retaddr;
v3 = 0;
v4 = (_QWORD **)(*(_QWORD *)(a1 + 56) + 24i64);
v7 = *v4;
while( v7 != v4 )
{
v8 = v7 - 5;
v7 = (_QWORD *)*v7;
if( !*v8 )
{
LODWORD(result) = ViDeadlockSimilarNodes((INT64)v8, a1);
if( (_DWORD)result )
{
if( v3 )
result = (VOID **)ViDeadlockMergeNodes(a1, v9, a2);
else
v3 = 1;
}
}
}
return result;
}Referenced by:
VfDeadlockAcquireResource