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