Function at 0x52df00
Capabilities:
Query or enumerate registry key
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x65bba0
mov eax, dword fs:[0]
push eax
sub esp, 0x30
push ebx
push esi
push edi
mov eax, dword [0x758898]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov dword [ebp - 4], 0
mov dword [ebp - 0x2c], 0x20019
push 0
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x18]
push ecx
lea edx, [ebp - 0x14]
push edx
lea eax, [ebp - 0x30]
push eax
push 0
lea ecx, [ebp - 0x24]
push ecx
lea edx, [ebp - 0x3c]
push edx
push 0
push 0
push 0
mov eax, dword [ebp + 0xc]
push eax
call dword [sym.imp.ADVAPI32.dll_RegQueryInfoKeyA]
test eax, eax
je 0x52df8c
push str._Cannot_read_information_about_this_key.
mov ecx, dword [ebp + 8]
call fcn.00403080
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [ebp - 0x24]
inc eax
mov dword [ebp - 0x24], eax
push eax
call fcn.005f4522
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x18], eax
push eax
call fcn.005f4522
mov edi, eax
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
push eax
call fcn.005f4522
add esp, 0xc
mov esi, eax
xor eax, eax
mov dword [ebp - 0x20], eax
mov ebx, dword [ebp + 8]
cmp eax, dword [ebp - 0x30]
jae 0x52e0ce
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x34], ecx
mov edx, dword [ebp - 0x18]
mov dword [ebp - 0x1c], edx
lea ecx, [ebp - 0x1c]
push ecx
push edi
lea edx, [ebp - 0x28]
push edx
push 0
lea ecx, [ebp - 0x34]
push ecx
push esi
push eax
mov edx, dword [ebp + 0xc]
push edx
call dword [sym.imp.ADVAPI32.dll_RegEnumValueA]
test eax, eax
je 0x52e00d
push str.Cannot_enumerate_this_object.
mov ecx, ebx
call fcn.00403080
inc dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
jmp 0x52dfc5
lea eax, [ebp - 0x1c]
push eax
push edi
lea ecx, [ebp - 0x28]
push ecx
push 0
push esi
mov edx, dword [ebp + 0xc]
push edx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
je 0x52e03b
push str.Cannot_read_Value.
mov ecx, ebx
call fcn.00403080
inc dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
jmp 0x52dfc5
cmp dword [ebp + 0x10], 0
je 0x52e05a
push str.DisplayName
push esi
call fcn.00621d5e
add esp, 8
test eax, eax
jne 0x52e0c3
push 0x68d9b0
jmp 0x52e067
push esi
mov ecx, ebx
call fcn.00403080
push 0x678e94
mov ecx, ebx
call fcn.00403080
push 0x69b594
push esi
call fcn.006218e0
add esp, 8
test eax, eax
je 0x52e08e
push 0x6a782c
mov ecx, ebx
call fcn.00403080
jmp 0x52e0b7
mov eax, dword [ebp - 0x28]
cmp eax, 4
je 0x52e0a9
test eax, eax
je 0x52e0a9
cmp eax, 3
je 0x52e0a9
push edi
mov ecx, ebx
call fcn.00403080
jmp 0x52e0b7
mov eax, dword [ebp - 0x1c]
push eax
push edi
push ebx
call fcn.0052ddb0
add esp, 0xc
push 0x67b29c
mov ecx, ebx
call fcn.00403080
inc dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
jmp 0x52dfc5
mov ecx, dword [ebp - 0x38]
push ecx
call fcn.005f4517
push edi
call fcn.005f4517
push esi
call fcn.005f4517
add esp, 0xc
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc