INT64 __stdcall CmpPrepareForSubtreeInvalidationWorker(INT64 *v3){
__int64 v1;
INT64 v2;
int *rbx1;
int v4;
INT64 result;
rbx1 = (int *)v1;
if( (*((_DWORD *)v3 + 2) & 0x80u) != 0 )
{
++*(_DWORD *)(v1 + 4);
return 0i64;
}
else
{
v4 = CmpTryAcquireKcbIXLocks((INT64)v3, 1, v2, *(UINT64 **)(v1 + 16));
result = 0i64;
if( v4 == -1073741267 )
{
++rbx1[2];
v4 = 0;
}
if( v4 < 0 )
{
*rbx1 = v4;
return 1i64;
}
}
return result;
}