CmpPopulateKeyBasicInformation
INT64 __fastcall CmpPopulateKeyBasicInformation(INT64 a1, INT64 a2, INT64 a3, UINT64 a4, UINT64 *a5){
unsigned int v6;
unsigned __int16 v8;
unsigned int v9;
unsigned int v10;
WCHAR *v12;
int v13;
UINT64 v14;
v6 = a4;
v8 = 2 * *(_WORD *)(a2 + 72);
if( (*(_BYTE *)(a2 + 2) & 0x20) == 0 )
v8 = *(_WORD *)(a2 + 72);
v9 = v8;
v10 = v8 + 16;
*(_DWORD *)a5 = v10;
if( (unsigned int)a4 < 0x10 )
return 3221225507i64;
v12 = (WCHAR *)(a3 + 16);
*(_QWORD *)a3 = *(_QWORD *)a1;
v13 = *(_DWORD *)(a1 + 8);
v14 = (unsigned int)(a4 - 16);
*(_DWORD *)(a3 + 8) = v13;
*(_DWORD *)(a3 + 12) = v9;
if( (*(_BYTE *)(a2 + 2) & 0x20) != 0 )
{
CmpCopyCompressedName(v12, v14, (PWCHAR)(a2 + 76), *(unsigned __int16 *)(a2 + 72));
}
else
{
if( (unsigned int)v14 <= v9 )
v9 = a4 - 16;
memmove((UINT8 *)v12, (UINT8 *)(a2 + 76), v9);
}
return v6 < v10 ? 0x80000005 : 0;
}Referenced by:
CmpQueryKeyDataFromKeyNodeStack