CmpSnapshotTxOwnerArrayToRollbackPacket
INT64 __fastcall CmpSnapshotTxOwnerArrayToRollbackPacket(UINT64 *a1, UINT64 *a2){
__int64 v2;
INT64 result;
__int64 v6;
v2 = *(unsigned int *)a1;
if( !(_DWORD)v2 )
__fastfail(5u);
LODWORD(v2) = v2 & 0x7FFFFFFF;
result = CmpReserveRollbackPacketSpace(a2, (unsigned int)v2);
if( (int)result >= 0 )
{
if( (_DWORD)v2 == 1 )
{
CmpAddUoWToRollbackPacket(a2, a1[1]);
}
else if( (_DWORD)v2 )
{
v6 = 0i64;
do
{
CmpAddUoWToRollbackPacket(a2, *(_QWORD *)(a1[1] + v6));
v6 += 8i64;
--v2;
}
while( v2 );
}
return 0i64;
}
return result;
}Referenced by:
CmpTryAcquireIXLockWithRollbackPacket