CmpCloneKCBValueListForTrans
CHAR __fastcall CmpCloneKCBValueListForTrans(INT64 a1, INT64 a2, BYTE *a3){
int v3;
__int64 v8;
__int64 v9;
int v10;
__int64 v11;
int v12;
int v13;
v12 = -1;
v3 = 0;
v13 = 0;
*a3 = 0;
if( *(_QWORD *)(a1 + 288) )
return 1;
v8 = (*(__int64(__fastcall **)(_QWORD, _QWORD, int *))(*(_QWORD *)(a1 + 32) + 8i64))(
*(_QWORD *)(a1 + 32),
*(unsigned int *)(a1 + 40),
&v12);
v9 = v8;
if( v8 )
{
if( !*(_DWORD *)(v8 + 36) )
{
*(_DWORD *)(a1 + 284) = -1;
goto LABEL_7;
}
v10 = HvDuplicateCell(*(_QWORD *)(a1 + 32), *(unsigned int *)(v8 + 40), 1ui64, 1);
*(_DWORD *)(a1 + 284) = v10;
if( v10 != -1 )
{
v3 = *(_DWORD *)(v9 + 36);
LABEL_7:
*(_DWORD *)(a1 + 280) = v3;
*(_QWORD *)(a1 + 288) = a2;
v11 = *(_QWORD *)(a1 + 32);
*a3 = 1;
(*(void(__fastcall **)(__int64, int *))(v11 + 16))(v11, &v12);
return 1;
}
(*(void(__fastcall **)(_QWORD, int *))(*(_QWORD *)(a1 + 32) + 16i64))(*(_QWORD *)(a1 + 32), &v12);
}
return 0;
}Referenced by:
CmDeleteValueKey
CmSetValueKey