Function at 0x43c8a8
Capabilities:
Query or enumerate registry key

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x58
push ebx
push esi
push edi
xor esi, esi
mov edi, ecx
inc esi
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0x28], esi
push 4
call fcn.0040f233
push 0x479a
push 0x75a6
xor ebx, ebx
mov dword [ebp - 0x24], 0x6e58d020
push ebx
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x30]
push eax
call fcn.0043ddfe
lea eax, [ebp - 0x3c]
push eax
lea edx, [ebp - 0x24]
lea ecx, [ebp - 0x28]
call fcn.0043c7b3
add esp, 0x18
lea ecx, [ebp - 0x3c]
call fcn.0040f305
cmp dword [edi], ebx
je 0x43cb4e
push dword [edi]
push ebx
push dword [edi + 4]
call fcn.00419509
call fcn.0043c83f
push dword [edi + 4]
call fcn.004749e6
mov dword [ebp - 0x58], 0xffffffff
add esp, 0x10
mov dword [ebp - 0x54], 0xffffffff
mov dword [ebp - 0x50], 0xffffffff
mov dword [ebp - 0x4c], 0xffffffff
mov dword [ebp - 8], 0x8bdfadf6
mov dword [ebp - 0xc], 0x78e60d74
mov dword [ebp - 0x2c], 0x6de21e5
cmp dword [ebp - 0x4c], ebx
jne 0x43c969
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x58]
sub ecx, eax
cmp ecx, dword [ebp - 0x4c]
mov ecx, ebx
jge 0x43c96b
mov ecx, esi
mov eax, 0x2fafd11d
sub eax, ecx
cmp eax, dword [ebp - 0x50]
jne 0x43c97e
mov ecx, esi
cmp dword [ebp - 0x50], ebx
jne 0x43c980
mov ecx, ebx
mov eax, dword [ebp - 0x4c]
add eax, ecx
xor ecx, ecx
cmp eax, 5
push 3
setle cl
neg ecx
pop esi
je 0x43ca96
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x20], 0x9a7e1289
mov dword [ebp - 0x10], esi
mov dword [ebp - 8], 0xffffffe4
jmp 0x43ca8a
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x1c], 0x2ad14ca7
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
xor eax, eax
inc eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jne 0x43c9d9
cmp dword [ebp - 0xc], ebx
jne 0x43c9d9
mov eax, ebx
mov dword [ebp - 0x18], eax
xor ecx, ecx
mov eax, dword [ebp - 0x14]
cmp eax, 0xffffffff
setg cl
xor edx, edx
sub ecx, dword [ebp - 0x20]
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
cmp eax, ecx
setle dl
imul eax, edx, 0x6e66
cmp eax, 0xc7e7
je 0x43ca0a
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 8]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
neg eax
sbb eax, eax
neg eax
sub eax, dword [ebp - 0x10]
cmp eax, 5
mov eax, dword [ebp - 0x1c]
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
setg dl
sub edx, dword [ebp - 8]
add edx, dword [ebp - 0x20]
sub edx, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x4c]
neg edx
sbb edx, edx
inc edx
imul eax, edx, 0x270b
add ecx, eax
je 0x43ca5e
push ebx
lea eax, [ebp - 1]
mov byte [ebp - 1], bl
push eax
push 0x7a6a
call fcn.0043cd9d
add esp, 0xc
jmp 0x43ca87
mov dword [ebp - 0x10], ebx
jmp 0x43ca82
mov dword [ebp - 0xc], esi
cmp dword [ebp - 0xc], ebx
jl 0x43ca7f
mov byte [ebp - 2], bl
cmp byte [ebp - 2], bl
je 0x43ca7a
push ebx
call fcn.0043cb55
pop ecx
dec dword [ebp - 0xc]
jns 0x43ca6b
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jle 0x43ca63
inc dword [ebp - 8]
cmp dword [ebp - 8], 0x35
jl 0x43c9b1
jmp 0x43cab0
push ebx
lea eax, [ebp - 3]
mov byte [ebp - 3], bl
push eax
push 0x345c
push 0x103a
call fcn.0043cca2
add esp, 0x10
push 0x57c5
push ebx
push 0x70ba
push edi
push 0x34ed
call fcn.0043e404
mov dword [ebp - 0x14], 0xad386cce
add esp, 0x14
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x2c], 9
mov dword [ebp - 8], ebx
jmp 0x43caf1
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x48], 0xd53b
inc dword [ebp - 8]
cmp dword [ebp - 8], esi
jl 0x43cae3
mov esi, dword [ebp - 0x14]
mov ecx, 0x4bcd
mov dword [ebp - 0x48], esi
xor edx, edx
mov eax, dword [ebp - 0x20]
sub ecx, eax
add ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x14]
cmp ecx, eax
setge dl
xor ecx, ecx
add edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
neg eax
cmp eax, edx
setle cl
xor eax, eax
cmp esi, ecx
setle al
imul eax, eax, 0xddd9
mov dword [ebp - 0x2c], eax
mov byte [ebp - 2], bl
cmp byte [ebp - 2], bl
je 0x43cb4c
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push 0x208
push ebx
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
mov dword [edi], ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret