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

Disassembly:
push 0x704
mov eax, 0x49f2f3
call fcn.0047bb4d
xor eax, eax
push 0x3fe
mov word [ebp - 0x410], ax
xor ebx, ebx
lea eax, [ebp - 0x40e]
mov esi, ecx
mov edi, edx
push ebx
push eax
mov dword [ebp - 0x4a8], esi
mov dword [ebp - 0x4ac], edi
call fcn.00475a50
add esp, 0xc
mov byte [ebp - 0x481], bl
mov byte [ebp - 0x482], bl
cmp esi, ebx
je 0x421736
cmp edi, ebx
je 0x421736
lea eax, [ebp - 0x4a0]
push eax
push 9
push ebx
mov esi, 0x4b6360
push esi
push reloc.OLEAUT32.DLL_SysReAllocString
call dword [sym.imp.ADVAPI32.DLL_RegOpenKeyExW]
mov dword [ebp - 0x488], eax
cmp eax, ebx
je 0x42173e
lea eax, [ebp - 0x548]
push eax
call fcn.004090fb
mov edi, eax
mov dword [ebp - 4], ebx
push 0x4b63ac
push edi
call fcn.0040b677
push esi
push edi
call fcn.0040b677
push 0x4b63c0
push edi
call fcn.0040b677
add esp, 0x18
push dword [ebp - 0x488]
push edi
call fcn.0040a33c
lea ebx, [ebp - 0x448]
mov ecx, edi
call fcn.00409165
mov byte [ebp - 4], 1
cmp dword [ebp - 0x434], 8
mov eax, dword [ebp - 0x448]
jae 0x42170e
mov eax, ebx
push eax
push 2
pop ecx
call fcn.0040d57f
pop ecx
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x448]
call fcn.00403d16
or dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x548]
call fcn.00407bad
xor al, al
call fcn.0047bbd0
ret
mov dword [ebp - 0x48c], 0x200
mov dword [ebp - 0x490], ebx
mov edi, 0x4b63d8
cmp dword [ebp - 0x490], 0x400
jae 0x421bfb
push ebx
push ebx
push ebx
push ebx
lea eax, [ebp - 0x48c]
push eax
lea eax, [ebp - 0x410]
push eax
push dword [ebp - 0x490]
push dword [ebp - 0x4a0]
call dword [sym.imp.ADVAPI32.DLL_RegEnumKeyExW]
mov dword [ebp - 0x488], eax
cmp eax, ebx
jne 0x421b62
lea eax, [ebp - 0x498]
push eax
push 9
push ebx
lea eax, [ebp - 0x410]
push eax
push dword [ebp - 0x4a0]
call dword [sym.imp.ADVAPI32.DLL_RegOpenKeyExW]
mov dword [ebp - 0x488], eax
cmp eax, ebx
je 0x421847
lea eax, [ebp - 0x548]
push eax
call fcn.004090fb
mov esi, eax
mov dword [ebp - 4], 4
push edi
push esi
call fcn.0040b677
push 0x4b6478
push esi
call fcn.0040b677
add esp, 0x10
push dword [ebp - 0x488]
push esi
call fcn.0040a33c
lea ebx, [ebp - 0x448]
mov ecx, esi
call fcn.00409165
mov byte [ebp - 4], 5
cmp dword [ebp - 0x434], 8
mov eax, dword [ebp - 0x448]
jae 0x421818
mov eax, ebx
push eax
push 2
pop ecx
call fcn.0040d57f
pop ecx
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x448]
call fcn.00403d16
or dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x548]
call fcn.00407bad
xor ebx, ebx
jmp 0x421b4b
mov dword [ebp - 0x494], ebx
jmp 0x421a16
cmp dword [ebp - 0x494], 0x400
jae 0x421b3f
push ebx
push ebx
push ebx
push ebx
lea eax, [ebp - 0x48c]
push eax
lea eax, [ebp - 0x410]
push eax
push dword [ebp - 0x494]
mov dword [ebp - 0x48c], 0x200
push dword [ebp - 0x498]
call dword [sym.imp.ADVAPI32.DLL_RegEnumKeyExW]
mov dword [ebp - 0x488], eax
cmp eax, ebx
jne 0x421a27
lea eax, [ebp - 0x49c]
push eax
mov esi, 0x20019
push esi
push ebx
lea eax, [ebp - 0x410]
push eax
push dword [ebp - 0x498]
call dword [sym.imp.ADVAPI32.DLL_RegOpenKeyExW]
test eax, eax
jne 0x421a04
lea eax, [ebp - 0x48c]
push eax
lea eax, [ebp - 0x410]
push eax
push ebx
push ebx
push 0x4b6508
push dword [ebp - 0x49c]
mov dword [ebp - 0x48c], 0x400
call dword [sym.imp.ADVAPI32.DLL_RegQueryValueExW]
mov dword [ebp - 0x488], eax
cmp eax, ebx
jne 0x421abd
push dword [ebp - 0x4a8]
lea eax, [ebp - 0x410]
push eax
call dword [sym.imp.KERNEL32.DLL_lstrcmpiW]
test eax, eax
jne 0x421a04
lea eax, [ebp - 0x4a4]
push eax
push esi
push ebx
push 0x4b6560
push dword [ebp - 0x49c]
call dword [sym.imp.ADVAPI32.DLL_RegOpenKeyExW]
cmp eax, ebx
jne 0x4219fd
lea eax, [ebp - 0x48c]
push eax
push dword [ebp - 0x4ac]
mov dword [ebp - 0x48c], 0x100
push ebx
push ebx
push 0x4abaec
push dword [ebp - 0x4a4]
call dword [sym.imp.ADVAPI32.DLL_RegQueryValueExW]
test eax, eax
jne 0x421974
mov byte [ebp - 0x482], 1
jmp 0x4219f1
lea eax, [ebp - 0x710]
push eax
call fcn.004090fb
mov esi, eax
mov dword [ebp - 4], 0xa
push edi
push esi
call fcn.0040b677
push 0x4b6588
push esi
call fcn.0040b677
add esp, 0x10
push ebx
push esi
call fcn.0040a33c
lea ebx, [ebp - 0x480]
mov ecx, esi
call fcn.00409165
mov byte [ebp - 4], 0xb
cmp dword [ebp - 0x46c], 8
mov eax, dword [ebp - 0x480]
jae 0x4219c7
mov eax, ebx
push eax
push 2
pop ecx
call fcn.0040d57f
pop ecx
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x480]
call fcn.00403d16
or dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x710]
call fcn.00407bad
xor ebx, ebx
push dword [ebp - 0x4a4]
call dword [sym.imp.ADVAPI32.DLL_RegCloseKey]
mov byte [ebp - 0x481], 1
push dword [ebp - 0x49c]
call dword [sym.imp.ADVAPI32.DLL_RegCloseKey]
inc dword [ebp - 0x494]
cmp byte [ebp - 0x481], bl
je 0x421852
jmp 0x421b3f
lea eax, [ebp - 0x678]
push eax
call fcn.004090fb
mov esi, eax
mov dword [ebp - 4], 6
push edi
push esi
call fcn.0040b677
push 0x4b64b8
push esi
call fcn.0040b677
add esp, 0x10
push dword [ebp - 0x494]
push esi
call fcn.0040a33c
push 0x4b64f8
push esi
call fcn.0040b677
pop ecx
pop ecx
push dword [ebp - 0x488]
push esi
call fcn.0040a33c
lea ebx, [ebp - 0x464]
mov ecx, esi
call fcn.00409165
mov byte [ebp - 4], 7
cmp dword [ebp - 0x450], 8
mov eax, dword [ebp - 0x464]
jae 0x421a98
mov eax, ebx
push eax
push 2
pop ecx
call fcn.0040d57f
pop ecx
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x464]
call fcn.00403d16
or dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x678]
jmp 0x421b38
lea eax, [ebp - 0x5e0]
push eax
call fcn.004090fb
mov esi, eax
mov dword [ebp - 4], 8
push edi
push esi
call fcn.0040b677
push 0x4b6518
push esi
call fcn.0040b677
add esp, 0x10
push dword [ebp - 0x488]
push esi
call fcn.0040a33c
lea ebx, [ebp - 0x42c]
mov ecx, esi
call fcn.00409165
mov byte [ebp - 4], 9
cmp dword [ebp - 0x418], 8
mov eax, dword [ebp - 0x42c]
jae 0x421b15
mov eax, ebx
push eax
push 2
pop ecx
call fcn.0040d57f
pop ecx
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x42c]
call fcn.00403d16
or dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x5e0]
call fcn.00407bad
xor ebx, ebx
push dword [ebp - 0x498]
call dword [sym.imp.ADVAPI32.DLL_RegCloseKey]
inc dword [ebp - 0x490]
cmp byte [ebp - 0x481], bl
je 0x421753
jmp 0x421bfb
lea eax, [ebp - 0x5e0]
push eax
call fcn.004090fb
mov esi, eax
mov dword [ebp - 4], 2
push edi
push esi
call fcn.0040b677
push 0x4b641c
push esi
call fcn.0040b677
add esp, 0x10
push dword [ebp - 0x490]
push esi
call fcn.0040a33c
push 0x4b645c
push esi
call fcn.0040b677
pop ecx
pop ecx
push dword [ebp - 0x488]
push esi
call fcn.0040a33c
lea ebx, [ebp - 0x42c]
mov ecx, esi
call fcn.00409165
mov byte [ebp - 4], 3
cmp dword [ebp - 0x418], 8
mov eax, dword [ebp - 0x42c]
jae 0x421bd3
mov eax, ebx
push eax
push 2
pop ecx
call fcn.0040d57f
pop ecx
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x42c]
call fcn.00403d16
or dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x5e0]
call fcn.00407bad
push dword [ebp - 0x4a0]
call dword [sym.imp.ADVAPI32.DLL_RegCloseKey]
mov al, byte [ebp - 0x482]
jmp 0x421738