CmpDoReDoRecord
__int64 __fastcall CmpDoReDoRecord(__int64 a1, __int64 a2){
unsigned int v2;
int v4;
HANDLE KeyHandle;
v2 = 0;
if( (*(_DWORD *)(a2 + 8) & 0x1C) == 0 )
{
switch( *(_DWORD *)(a2 + 12) )
{
case 1:
return(unsigned int)CmpDoReDoCreateKey(a1, a2);
case 2:
KeyHandle = 0i64;
v4 = CmpDoReOpenTransKey(a1, (__int128 *)(a2 + 32), 0x10000u, &KeyHandle);
if( v4 >= 0 )
{
v4 = ZwDeleteKey(KeyHandle);
ZwClose(KeyHandle);
}
return(unsigned int)v4;
case 3:
case 4:
return(unsigned int)CmpDoReDoSetValueExisting(a1, a2);
case 5:
return(unsigned int)CmpDoReDoDeleteValue(a1, a2);
case 6:
return(unsigned int)CmpDoReDoSetKeyUserFlags(a1, a2);
case 7:
return(unsigned int)CmpDoReDoSetLastWriteTime(a1, a2);
case 8:
return(unsigned int)CmpDoReDoSetSecurityDescriptor(a1, a2);
case 9:
return(unsigned int)CmpDoReDoRenameKey(a1, a2);
default:
return v2;
}
}
return 0i64;
}Referenced by:
CmpRmReDoPhase