Function at 0x4514a2
Capabilities:
Query or enumerate registry value

Disassembly:
push ebx
mov edx, 0x12
sub esp, 4
mov dword [esp], 0
dec edx
jne 0x4514a8
call fcn.004ad8b0
push dword [esp + 0x5c]
call fcn.00453470
mov edx, dword [esp + 0x50]
lea ecx, [esp]
call fcn.00453000
mov edx, dword [esp + 0x54]
lea ecx, [esp + 4]
call fcn.00453000
mov edx, dword [esp + 0x58]
lea ecx, [esp + 8]
call fcn.00453000
push dword [esp]
call fcn.00451b4f
push dword [esp + 8]
mov edx, 0x538660
pop ecx
call fcn.00453400
je 0x451555
cmp dword [0x15b71f0], 0
je 0x451539
lea eax, [esp + 0x10]
push eax
mov ebx, dword [0x15b71f4]
or ebx, 0xf003f
push ebx
push 0
push dword [0x15b71e4]
push dword [0x15b71ec]
call sub.ADVAPI32.dll_RegOpenKeyExW
mov dword [esp + 0xc], eax
jmp 0x451553
lea eax, [esp + 0x10]
push eax
push dword [0x15b71e4]
push dword [0x15b71ec]
call sub.ADVAPI32.dll_RegOpenKeyW
mov dword [esp + 0xc], eax
jmp 0x4515ba
lea eax, [esp + 0x18]
push eax
push dword [0x15b71ec]
push dword [esp + 0x10]
call sub.ADVAPI32.dll_RegConnectRegistryW
mov dword [esp + 0x14], eax
cmp dword [0x15b71f0], 0
je 0x4515a2
lea eax, [esp + 0x10]
push eax
mov ebx, dword [0x15b71f4]
or ebx, 0xf003f
push ebx
push 0
push dword [0x15b71e4]
push dword [esp + 0x28]
call sub.ADVAPI32.dll_RegOpenKeyExW
mov dword [esp + 0xc], eax
jmp 0x4515ba
lea eax, [esp + 0x10]
push eax
push dword [0x15b71e4]
push dword [esp + 0x20]
call sub.ADVAPI32.dll_RegOpenKeyW
mov dword [esp + 0xc], eax
mov ebx, dword [esp + 0xc]
and ebx, ebx
jne 0x451894
mov dword [esp + 0x1c], 0x400
push edx
call fcn.004ad710
pop edx
push eax
push edx
call fcn.004ad710
pop edx
push eax
push dword [esp + 0x24]
call fcn.004ab170
lea eax, [esp + 0x24]
push eax
call fcn.004ad750
lea eax, [esp + 0x1c]
push eax
mov eax, dword [esp + 0x24]
push eax
lea eax, [esp + 0x2c]
push eax
push 0
push dword [esp + 0x14]
push dword [esp + 0x24]
call sub.ADVAPI32.dll_RegQueryValueExW
mov dword [esp + 0xc], eax
mov ebx, dword [esp + 0xc]
and ebx, ebx
jne 0x451894
push dword [esp + 0x24]
mov ebx, 1
cmp ebx, dword [esp]
jne 0x45169b
lea eax, [esp + 0x20]
push eax
mov eax, dword [esp + 0x28]
push eax
lea eax, [esp + 0x30]
push eax
push 0
push dword [esp + 0x18]
push dword [esp + 0x28]
call sub.ADVAPI32.dll_RegQueryValueExW
mov dword [esp + 0x10], eax
mov ebx, dword [esp + 0x10]
and ebx, ebx
jne 0x451688
push edx
call fcn.004ad710
pop edx
push eax
push edx
call fcn.004ad710
pop edx
push eax
mov ebx, dword [esp + 0x28]
dec ebx
push ebx
push dword [esp + 0x30]
call fcn.004abc50
lea eax, [esp + 0x30]
push eax
call fcn.004ad750
jmp 0x451696
mov edx, 0x5370c4
lea ecx, [esp + 0x2c]
call fcn.00453008
jmp 0x451893
mov ebx, 2
cmp ebx, dword [esp]
jne 0x451710
lea eax, [esp + 0x20]
push eax
mov eax, dword [esp + 0x28]
push eax
lea eax, [esp + 0x30]
push eax
push 0
push dword [esp + 0x18]
push dword [esp + 0x28]
call sub.ADVAPI32.dll_RegQueryValueExW
mov dword [esp + 0x10], eax
mov ebx, dword [esp + 0x10]
and ebx, ebx
jne 0x4516fd
push edx
call fcn.004ad710
pop edx
push eax
push edx
call fcn.004ad710
pop edx
push eax
mov ebx, dword [esp + 0x28]
dec ebx
push ebx
push dword [esp + 0x30]
call fcn.004abc50
lea eax, [esp + 0x30]
push eax
call fcn.004ad750
jmp 0x45170b
mov edx, 0x5370c4
lea ecx, [esp + 0x2c]
call fcn.00453008
jmp 0x451893
mov ebx, 4
cmp ebx, dword [esp]
jne 0x451782
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x38]
push eax
lea eax, [esp + 0x38]
push eax
push 0
push dword [esp + 0x18]
push dword [esp + 0x28]
call sub.ADVAPI32.dll_RegQueryValueExW
mov dword [esp + 0x10], eax
mov ebx, dword [esp + 0x10]
and ebx, ebx
jne 0x45176f
push edx
call fcn.004ad710
pop edx
push eax
push edx
call fcn.004ad710
pop edx
push eax
mov eax, dword [esp + 0x3c]
cdq
push edx
push eax
call fcn.004aba60
lea eax, [esp + 0x30]
push eax
call fcn.004ad750
jmp 0x45177d
mov edx, 0x5387f4
lea ecx, [esp + 0x2c]
call fcn.00453008
jmp 0x451893
mov ebx, 3
cmp ebx, dword [esp]
jne 0x451893
mov dword [esp + 0x38], 0x400
push dword [esp + 0x38]
call fcn.004ac5a0
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x38]
push eax
push dword [esp + 0x40]
lea eax, [esp + 0x48]
push eax
push 0
push dword [esp + 0x18]
push dword [esp + 0x28]
call sub.ADVAPI32.dll_RegQueryValueExW
mov dword [esp + 0x10], eax
mov ebx, dword [esp + 0x10]
and ebx, ebx
jne 0x451893
mov edx, 0x5370c4
lea ecx, [esp + 0x2c]
call fcn.00453008
mov dword [esp + 0x44], 0
jmp 0x4517ed
mov ebx, dword [esp + 0x38]
dec ebx
cmp ebx, dword [esp + 0x44]
jl 0x45188a
mov ebx, dword [esp + 0x3c]
add ebx, dword [esp + 0x44]
push ebx
pop eax
call fcn.004533d0
mov ebx, eax
and ebx, 0xff
mov dword [esp + 0x48], ebx
mov ebx, dword [esp + 0x48]
cmp ebx, 0x10
jge 0x451847
mov edx, dword [esp + 0x2c]
push edx
call fcn.004ad710
pop edx
push eax
push edx
call fcn.004ad7e0
mov edx, 0x5387f4
push edx
call fcn.004ad7e0
lea eax, [esp + 0x30]
push eax
call fcn.004ad750
mov edx, dword [esp + 0x2c]
push edx
call fcn.004ad710
pop edx
push eax
push edx
call fcn.004ad7e0
push edx
call fcn.004ad710
pop edx
push eax
push edx
call fcn.004ad710
pop edx
push eax
mov eax, dword [esp + 0x54]
cdq
push edx
push eax
call fcn.004ab2a0
pop eax
lea eax, [esp + 0x30]
push eax
call fcn.004ad750
inc dword [esp + 0x44]
jno 0x4517ed
push dword [esp + 0x3c]
call fcn.004ac540
pop eax
push dword [esp + 0x10]
call sub.ADVAPI32.dll_RegCloseKey
mov edx, dword [esp + 0x28]
push edx
call fcn.004ad710
pop edx
push eax
push edx
call fcn.004ad7e0
pop eax
push eax
call fcn.00453440
pop edx
add eax, edx
jmp 0x4518c5
push dword [esp + 8]
call fcn.004ad910
push dword [esp + 0x20]
call fcn.004ad910
push dword [esp]
call fcn.004ad910
push dword [esp + 4]
call fcn.004ad910
push dword [esp + 0x28]
call fcn.004ad910
add esp, 0x48
pop ebx
ret 0xc