Function at 0x428030
Capabilities:
Query or enumerate registry key

Disassembly:
push 0x50c
mov eax, 0x4698b2
call fcn.0046791c
push ecx
push 0x2001b
push 0x404a78
mov esi, reloc.OLEAUT32.dll_SysReAllocString
lea ecx, [ebp - 0x500]
push esi
call fcn.0043f9f4
xor ebx, ebx
lea ecx, [ebp - 0x338]
mov dword [ebp - 4], ebx
call fcn.004233d4
lea ecx, [ebp - 0x460]
call fcn.004233d4
lea ecx, [ebp - 0x2a4]
call fcn.004233d4
lea ecx, [ebp - 0x3cc]
call fcn.004233d4
lea eax, [ebp - 0x338]
mov byte [ebp - 4], 4
push eax
push 0x406918
lea ecx, [ebp - 0x500]
call fcn.0043fe8b
mov edi, 0x401604
test eax, eax
je 0x428476
sub esp, 0x94
lea eax, [ebp - 0x338]
mov ecx, esp
push eax
call fcn.004250a4
lea ecx, [ebp - 0xa8]
call fcn.00424ec9
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x338]
push dword [eax + 4]
call fcn.004337a2
lea eax, [ebp - 0x98]
mov byte [ebp - 4], 4
push eax
lea ecx, [ebp - 0xa8]
mov dword [ebp - 0xa8], edi
call fcn.00434927
sub esp, 0x94
lea eax, [ebp - 0x338]
mov ecx, esp
push eax
call fcn.004250a4
lea ecx, [ebp - 0xa8]
call fcn.00424b51
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x338]
push dword [eax + 4]
call fcn.004337a2
lea eax, [ebp - 0x98]
mov byte [ebp - 4], 4
push eax
lea ecx, [ebp - 0xa8]
mov dword [ebp - 0xa8], edi
call fcn.00434927
push 0x4064a4
lea ecx, [ebp - 0x460]
call fcn.00433763
push dword [ebp - 0x32c]
lea ecx, [ebp - 0x460]
push dword [ebp - 0x334]
call fcn.00433b6f
push 0x40649c
lea ecx, [ebp - 0x460]
call fcn.004338e0
lea eax, [ebp - 0x2a4]
push eax
push 0x404d8c
lea ecx, [ebp - 0x500]
call fcn.0043fe8b
test eax, eax
je 0x428275
sub esp, 0x94
lea eax, [ebp - 0x2a4]
mov ecx, esp
push eax
call fcn.004250a4
lea ecx, [ebp - 0xa8]
call fcn.00424ec9
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x2a4]
push dword [eax + 4]
call fcn.004337a2
lea eax, [ebp - 0x98]
mov byte [ebp - 4], 4
push eax
lea ecx, [ebp - 0xa8]
mov dword [ebp - 0xa8], edi
call fcn.00434927
sub esp, 0x94
lea eax, [ebp - 0x2a4]
mov ecx, esp
push eax
call fcn.004250a4
lea ecx, [ebp - 0xa8]
call fcn.00424b51
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x2a4]
push dword [eax + 4]
call fcn.004337a2
lea eax, [ebp - 0x98]
mov byte [ebp - 4], 4
push eax
lea ecx, [ebp - 0xa8]
mov dword [ebp - 0xa8], edi
call fcn.00434927
push 0x4064a4
lea ecx, [ebp - 0x3cc]
call fcn.00433763
push dword [ebp - 0x298]
lea ecx, [ebp - 0x3cc]
push dword [ebp - 0x2a0]
call fcn.00433b6f
push 0x40649c
lea ecx, [ebp - 0x3cc]
call fcn.004338e0
mov dword [ebp - 0x514], ebx
lea eax, [ebp - 0x514]
mov byte [ebp - 4], 9
push eax
push 0x4061a8
push 1
push ebx
push 0x406198
call dword [sym.imp.api_ms_win_core_com_l1_1_0.dll_CoCreateInstance]
mov dword [ebp - 0x518], ebx
test eax, eax
js 0x4282c5
lea eax, [ebp - 0x518]
mov edx, 0x4110d8
push eax
push 9
push ecx
mov ecx, esi
call fcn.00441760
test eax, eax
jle 0x4282c5
movzx eax, ax
or eax, 0x80070000
mov edi, ebx
test eax, eax
js 0x428466
push ebx
push ebx
push ebx
push ebx
lea eax, [ebp - 0x508]
mov dword [ebp - 0x508], 0xff
push eax
lea eax, [ebp - 0x210]
push eax
push edi
push dword [ebp - 0x518]
call dword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegEnumKeyExW]
cmp eax, 0x103
je 0x428456
test eax, eax
jne 0x428448
mov dword [ebp - 0x510], ebx
mov byte [ebp - 4], 0xa
mov eax, dword [ebp - 0x514]
mov ecx, dword [eax]
mov esi, dword [ecx + 0x28]
lea ecx, [ebp - 0x510]
push ecx
lea ecx, [ebp - 0x210]
push ecx
push eax
mov ecx, esi
call dword [0x4a47a8]
call esi
mov ecx, ebx
mov esi, eax
mov dword [ebp - 0x50c], ecx
test esi, esi
js 0x428374
mov byte [ebp - 4], 0xc
mov eax, dword [ebp - 0x510]
mov ecx, dword [eax]
mov esi, dword [ecx]
lea ecx, [ebp - 0x50c]
push ecx
push 0x405fc0
push eax
mov ecx, esi
call dword [0x4a47a8]
call esi
mov ecx, dword [ebp - 0x50c]
mov esi, eax
mov dword [ebp - 0x504], ebx
mov byte [ebp - 4], 0xd
test esi, esi
js 0x428418
mov eax, dword [ecx]
mov esi, dword [eax + 0xc]
lea eax, [ebp - 0x504]
push eax
push ebx
push ecx
mov ecx, esi
call dword [0x4a47a8]
call esi
mov esi, eax
test esi, esi
js 0x428418
mov eax, dword [ebp - 0x504]
push dword [ebp - 0x45c]
push eax
mov ecx, dword [eax]
mov esi, dword [ecx + 0x48]
mov ecx, esi
call dword [0x4a47a8]
call esi
mov eax, dword [ebp - 0x504]
push dword [ebp - 0x3c8]
push eax
mov ecx, dword [eax]
mov esi, dword [ecx + 0x48]
mov ecx, esi
call dword [0x4a47a8]
call esi
mov eax, dword [ebp - 0x504]
push ebx
push ebx
push dword [ebp - 0x3c8]
mov ecx, dword [eax]
push eax
mov esi, dword [ecx + 0xc]
mov ecx, esi
call dword [0x4a47a8]
call esi
mov esi, eax
test esi, esi
js 0x428418
mov eax, dword [ebp - 0x504]
push eax
mov ecx, dword [eax]
mov esi, dword [ecx + 0x40]
mov ecx, esi
call dword [0x4a47a8]
call esi
mov esi, eax
lea ecx, [ebp - 0x504]
call fcn.004193ae
lea ecx, [ebp - 0x50c]
call fcn.004193ae
lea ecx, [ebp - 0x510]
mov byte [ebp - 4], 9
call fcn.004193ae
inc edi
test esi, esi
jns 0x4282cf
jmp 0x428466
jle 0x428452
movzx eax, ax
or eax, 0x80070000
test eax, eax
js 0x428466
push 0x406918
lea ecx, [ebp - 0x500]
call fcn.0043fd70
lea ecx, [ebp - 0x514]
call fcn.004193ae
mov edi, 0x401604
lea eax, [ebp - 0x3bc]
mov dword [ebp - 0x3cc], edi
push eax
lea ecx, [ebp - 0x3cc]
call fcn.00434927
lea eax, [ebp - 0x294]
mov dword [ebp - 0x2a4], edi
mov esi, 0x401b08
lea ecx, [ebp - 0x2a4]
push eax
mov dword [ebp - 0x3cc], esi
call fcn.00434927
lea eax, [ebp - 0x450]
mov dword [ebp - 0x2a4], esi
push eax
lea ecx, [ebp - 0x460]
mov dword [ebp - 0x460], edi
call fcn.00434927
lea eax, [ebp - 0x328]
mov dword [ebp - 0x460], esi
push eax
lea ecx, [ebp - 0x338]
mov dword [ebp - 0x338], edi
call fcn.00434927
lea ecx, [ebp - 0x500]
mov dword [ebp - 0x338], esi
call fcn.004233f9
call fcn.004678b9
ret