Function at 0x4049b4
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x100f
push 0
push 0
dec ecx
jne 0x4049bc
push ebx
push esi
push edi
mov dword [ebp - 4], edx
mov edi, eax
xor eax, eax
push ebp
push 0x404d6d
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, edi
call fcn.004035bc
push eax
mov eax, dword [ebp - 4]
mov ecx, 1
mov edx, dword [0x4039c4]
call fcn.004022a4
add esp, 4
mov dword [ebp - 0x2c], 0xff
mov eax, dword [ebp - 0x2c]
call fcn.004010f4
mov dword [ebp - 0x28], eax
mov eax, edi
call fcn.004035bc
mov esi, eax
dec esi
test esi, esi
jl 0x404cf2
inc esi
xor ebx, ebx
lea ecx, [ebp - 0xc]
mov eax, edi
mov edx, ebx
call fcn.004035c4
lea ecx, [ebp - 0x10]
lea eax, [ebp - 0xc]
mov edx, 0x404d80
call fcn.00402b40
lea eax, [ebp - 0x14]
push eax
mov eax, dword [ebp - 0xc]
call fcn.00401a18
push eax
mov eax, dword [ebp - 0x10]
call fcn.00403a48
push eax
call sub.advapi32.dll_RegOpenKeyW
test eax, eax
jne 0x404cd6
push 0
push 0
lea eax, [ebp - 0x24]
push eax
push 0
lea eax, [ebp - 0x1c]
push eax
push 0
push 0
lea eax, [ebp - 0x18]
push eax
push 0
push 0
push 0
mov eax, dword [ebp - 0x14]
push eax
call sub.advapi32.dll_RegQueryInfoKeyW
test eax, eax
jne 0x404cd6
call fcn.004037bc
mov dword [ebp - 0x40], eax
lea ecx, [ebp - 0x804c]
mov eax, edi
mov edx, ebx
call fcn.004035c4
mov edx, dword [ebp - 0x804c]
mov eax, dword [ebp - 0x40]
call fcn.00403504
cmp dword [ebp - 0x1c], 0
jbe 0x404cd6
mov eax, dword [ebp - 0x24]
cmp eax, dword [ebp - 0x2c]
jbe 0x404ad3
mov eax, dword [ebp - 0x24]
inc eax
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x28]
mov edx, dword [ebp - 0x2c]
call fcn.00401124
mov eax, dword [ebp - 0x1c]
dec eax
test eax, eax
jl 0x404cd6
inc eax
mov dword [ebp - 0x44], eax
mov dword [ebp - 8], 0
mov dword [ebp - 0x34], 0x8002
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x20]
push eax
mov eax, dword [ebp - 0x28]
push eax
lea eax, [ebp - 0x2d]
push eax
push 0
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x8046]
push eax
mov eax, dword [ebp - 8]
push eax
mov eax, dword [ebp - 0x14]
push eax
call sub.advapi32.dll_RegEnumValueW
cmp dword [ebp - 0x34], 0
jne 0x404b3c
cmp dword [ebp - 0x20], 0
je 0x404cca
lea eax, [ebp - 0x38]
mov edx, 0x404d88
call fcn.004018e8
jmp 0x404b80
push 0x404d94
lea eax, [ebp - 0x8054]
lea edx, [ebp - 0x8046]
mov ecx, 0x4001
call fcn.004016e4
push dword [ebp - 0x8054]
push 0x404d94
lea eax, [ebp - 0x8050]
mov edx, 3
call fcn.0040171c
mov edx, dword [ebp - 0x8050]
lea eax, [ebp - 0x38]
call fcn.00401a08
mov al, byte [ebp - 0x2d]
dec al
je 0x404b94
sub al, 2
je 0x404bec
dec al
je 0x404bc6
jmp 0x404c15
lea eax, [ebp - 0x3c]
mov edx, dword [ebp - 0x28]
call fcn.004019b0
lea eax, [ebp - 0x3c]
call fcn.00404264
push 0x404d9c
push dword [ebp - 0x3c]
push 0x404d9c
lea eax, [ebp - 0x3c]
mov edx, 3
call fcn.00401af8
jmp 0x404ca1
lea edx, [ebp - 0x8058]
mov eax, dword [ebp - 0x28]
call fcn.004040a4
mov ecx, dword [ebp - 0x8058]
lea eax, [ebp - 0x3c]
mov edx, 0x404da4
call fcn.00401a94
jmp 0x404ca1
lea ecx, [ebp - 0x805c]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x28]
call fcn.00403fd0
mov ecx, dword [ebp - 0x805c]
lea eax, [ebp - 0x3c]
mov edx, 0x404db8
call fcn.00401a94
jmp 0x404ca1
lea ecx, [ebp - 0x8060]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x28]
call fcn.00403fd0
mov eax, dword [ebp - 0x8060]
push eax
push 0x404dcc
lea ecx, [ebp - 0x8074]
xor eax, eax
mov al, byte [ebp - 0x2d]
xor edx, edx
call fcn.0040294c
mov edx, dword [ebp - 0x8074]
lea eax, [ebp - 0x8070]
call fcn.00401700
mov eax, dword [ebp - 0x8070]
lea edx, [ebp - 0x806c]
call fcn.00403868
push dword [ebp - 0x806c]
push 0x404ddc
lea eax, [ebp - 0x8068]
mov edx, 3
call fcn.0040171c
mov edx, dword [ebp - 0x8068]
lea eax, [ebp - 0x8064]
call fcn.00401a08
mov edx, dword [ebp - 0x8064]
lea eax, [ebp - 0x3c]
pop ecx
call fcn.00401a94
push dword [ebp - 0x38]
push 0x404de4
push dword [ebp - 0x3c]
lea eax, [ebp - 0x8078]
mov edx, 3
call fcn.00401af8
mov edx, dword [ebp - 0x8078]
mov eax, dword [ebp - 0x40]
call fcn.00403504
inc dword [ebp - 8]
dec dword [ebp - 0x44]
jne 0x404aea
mov eax, dword [ebp - 0x14]
push eax
call sub.advapi32.dll_RegCloseKey
mov eax, dword [ebp - 4]
mov eax, dword [eax]
mov edx, dword [ebp - 0x40]
mov dword [eax + ebx*4], edx
inc ebx
dec esi
jne 0x404a1e
mov eax, dword [ebp - 0x28]
call fcn.0040110c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x404d74
lea eax, [ebp - 0x8078]
mov edx, 2
call fcn.004018a0
lea eax, [ebp - 0x8070]
mov edx, 3
call fcn.00401554
lea eax, [ebp - 0x8064]
mov edx, 4
call fcn.004018a0
lea eax, [ebp - 0x8054]
mov edx, 2
call fcn.00401554
lea eax, [ebp - 0x804c]
call fcn.00401888
lea eax, [ebp - 0x3c]
mov edx, 2
call fcn.004018a0
lea eax, [ebp - 0x10]
mov edx, 2
call fcn.004018a0
ret