Function at 0x403497
Capabilities:
Query or enumerate registry key

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x5c
push ebx
push esi
xor ebx, ebx
mov dword [ebp - 0xc], 0x9b55bb2c
push edi
mov dword [ebp - 0xc], ebx
jmp 0x4034cb
mov dword [ebp - 8], ebx
mov dword [ebp - 8], 0xb
jmp 0x4034c2
cmp dword [ebp - 0xc], ebx
jne 0x4034c8
dec dword [ebp - 8]
cmp dword [ebp - 8], 0xffffffed
jne 0x4034ba
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0xf
jne 0x4034ae
push 4
pop edi
cmp byte [ecx], bl
je 0x403638
push 7
pop esi
mov dword [ebp - 0xc], esi
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x10], 0xfffffffb
push edi
call fcn.00422862
mov dword [ebp - 0xc], ebx
jmp 0x403507
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x4c]
mov dword [eax + ecx*4], 0xfcfbce00
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], edi
jl 0x4034f7
mov dword [ebp - 0xc], 0xffffffe2
jmp 0x40361a
push 2
lea ecx, [ebp - 0x1c]
call fcn.00422862
mov dword [ebp - 8], ebx
jmp 0x403535
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x5c], 0x9c3f
inc dword [ebp - 8]
cmp dword [ebp - 8], edi
jl 0x403527
mov dword [ebp - 8], ebx
jmp 0x40354f
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 0x1c]
mov dword [eax + ecx*4], 0x23371247
inc dword [ebp - 8]
cmp dword [ebp - 8], 2
jl 0x40353f
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x1c]
dec ecx
mov dword [eax], ecx
mov eax, 0xfff6
cmp eax, ecx
sbb eax, eax
xor ecx, ecx
inc eax
cmp eax, 1
setge cl
cmp dword [ebp - 0xc], ecx
je 0x403598
mov byte [ebp - 1], bl
cmp byte [ebp - 1], bl
je 0x40360a
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push 0x9ee
push ebx
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
jmp 0x40360a
mov dword [ebp - 0x10], 0xe012d2c8
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x10], esi
mov dword [ebp - 0x10], 0xd40a1650
mov dword [ebp - 0x10], 0x1a7a81a8
push 3
call fcn.00422862
mov dword [ebp - 0x10], 0x25189d9e
mov dword [ebp - 8], ebx
jmp 0x4035d6
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 0x40]
mov dword [eax + ecx*4], 0xf84255eb
inc dword [ebp - 8]
cmp dword [ebp - 8], 3
jl 0x4035c6
mov byte [ebp - 1], bl
cmp byte [ebp - 1], bl
je 0x4035ff
push 0xfe0
push 0x835
push 0xa40
push 0xee5
push ebx
call dword [sym.imp.USER32.dll_SetRect]
dec dword [ebp - 0x10]
lea ecx, [ebp - 0x40]
call fcn.00422eed
lea ecx, [ebp - 0x1c]
cmp dword [ebp - 0xc], ebx
jne 0x403626
call fcn.00422eed
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0x16
jne 0x403518
jmp 0x40362b
call fcn.00422eed
lea ecx, [ebp - 0x4c]
call fcn.00422eed
call fcn.004020c2
mov dword [ebp - 0x10], 0x928c176b
mov dword [ebp - 0x10], ebx
jmp 0x4036ca
mov dword [ebp - 8], 8
lea ecx, [ebp - 0x34]
push edi
call fcn.00422862
mov dword [ebp - 0xc], ebx
jmp 0x40366c
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x34]
mov dword [eax + ecx*4], 0xfffffffc
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], edi
jl 0x40365c
mov dword [ebp - 8], 0x18
cmp dword [ebp - 8], 0xfffffffa
jg 0x4036bf
mov esi, dword [ebp - 0x34]
push 1
lea ecx, [ebp - 0x28]
call fcn.00422862
mov dword [ebp - 0xc], ebx
jmp 0x4036a0
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x28]
mov dword [eax + ecx*4], 0x5d811f07
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 1
jl 0x403690
mov eax, dword [ebp - 0x28]
lea ecx, [ebp - 0x28]
mov eax, dword [eax]
mov dword [esi + 8], eax
call fcn.00422eed
dec dword [ebp - 8]
cmp dword [ebp - 8], 0xfffffffa
jle 0x403681
lea ecx, [ebp - 0x34]
call fcn.00422eed
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0x11
jge 0x403647
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret