AslRegistryEnumKey
INT64 __fastcall AslRegistryEnumKey(UINT8 *dst, INT64 a2, VOID *a3, UINT64 a4){
NTSTATUS v5;
unsigned __int64 v6;
UINT64 Length;
UINT64 ResultLength[2];
char KeyInformation[12];
size_t Size[64];
LODWORD(Length) = 524;
LODWORD(ResultLength[0]) = 0;
v5 = ZwEnumerateKey(a3, (unsigned int)a4, KeyBasicInformation, KeyInformation, Length, ResultLength);
if( v5 >= 0 )
{
v6 = (unsigned __int64)LODWORD(Size[0]) >> 1;
if( v6 + 1 < 0x104 )
{
memmove(dst, (UINT8 *)Size + 4, LODWORD(Size[0]));
*(_WORD *)&dst[2 * v6] = 0;
}
else
{
return(unsigned int)-1073741789;
}
}
return(unsigned int)v5;
}Referenced by:
AslpProcessMatchRegNode