Function at 0x450beb
Capabilities:
Query or enumerate registry value

Disassembly:
push ebx
mov edx, 0x12
sub esp, 4
mov dword [esp], 0
dec edx
jne 0x450bf1
call fcn.004ad5d0
push dword [esp + 0x5c]
call fcn.004533a0
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.00451298
push dword [esp + 8]
mov edx, 0x538634
pop ecx
call fcn.00453330
je 0x450c9e
cmp dword [0x1368784], 0
je 0x450c82
lea eax, [esp + 0x10]
push eax
mov ebx, dword [0x1368788]
or ebx, 0xf003f
push ebx
push 0
push dword [0x1368778]
push dword [0x1368780]
call sub.ADVAPI32.dll_RegOpenKeyExW
mov dword [esp + 0xc], eax
jmp 0x450c9c
lea eax, [esp + 0x10]
push eax
push dword [0x1368778]
push dword [0x1368780]
call sub.ADVAPI32.dll_RegOpenKeyW
mov dword [esp + 0xc], eax
jmp 0x450d03
lea eax, [esp + 0x18]
push eax
push dword [0x1368780]
push dword [esp + 0x10]
call sub.ADVAPI32.dll_RegConnectRegistryW
mov dword [esp + 0x14], eax
cmp dword [0x1368784], 0
je 0x450ceb
lea eax, [esp + 0x10]
push eax
mov ebx, dword [0x1368788]
or ebx, 0xf003f
push ebx
push 0
push dword [0x1368778]
push dword [esp + 0x28]
call sub.ADVAPI32.dll_RegOpenKeyExW
mov dword [esp + 0xc], eax
jmp 0x450d03
lea eax, [esp + 0x10]
push eax
push dword [0x1368778]
push dword [esp + 0x20]
call sub.ADVAPI32.dll_RegOpenKeyW
mov dword [esp + 0xc], eax
mov ebx, dword [esp + 0xc]
and ebx, ebx
jne 0x450fdd
mov dword [esp + 0x1c], 0x400
push edx
call fcn.004ad430
pop edx
push eax
push edx
call fcn.004ad430
pop edx
push eax
push dword [esp + 0x24]
call fcn.004aae10
lea eax, [esp + 0x24]
push eax
call fcn.004ad470
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 0x450fdd
push dword [esp + 0x24]
mov ebx, 1
cmp ebx, dword [esp]
jne 0x450de4
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 0x450dd1
push edx
call fcn.004ad430
pop edx
push eax
push edx
call fcn.004ad430
pop edx
push eax
mov ebx, dword [esp + 0x28]
dec ebx
push ebx
push dword [esp + 0x30]
call fcn.004ab8f0
lea eax, [esp + 0x30]
push eax
call fcn.004ad470
jmp 0x450ddf
mov edx, 0x5370c4
lea ecx, [esp + 0x2c]
call fcn.00453008
jmp 0x450fdc
mov ebx, 2
cmp ebx, dword [esp]
jne 0x450e59
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 0x450e46
push edx
call fcn.004ad430
pop edx
push eax
push edx
call fcn.004ad430
pop edx
push eax
mov ebx, dword [esp + 0x28]
dec ebx
push ebx
push dword [esp + 0x30]
call fcn.004ab8f0
lea eax, [esp + 0x30]
push eax
call fcn.004ad470
jmp 0x450e54
mov edx, 0x5370c4
lea ecx, [esp + 0x2c]
call fcn.00453008
jmp 0x450fdc
mov ebx, 4
cmp ebx, dword [esp]
jne 0x450ecb
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 0x450eb8
push edx
call fcn.004ad430
pop edx
push eax
push edx
call fcn.004ad430
pop edx
push eax
mov eax, dword [esp + 0x3c]
cdq
push edx
push eax
call fcn.004aae60
lea eax, [esp + 0x30]
push eax
call fcn.004ad470
jmp 0x450ec6
mov edx, 0x5387c8
lea ecx, [esp + 0x2c]
call fcn.00453008
jmp 0x450fdc
mov ebx, 3
cmp ebx, dword [esp]
jne 0x450fdc
mov dword [esp + 0x38], 0x400
push dword [esp + 0x38]
call fcn.004ac340
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 0x450fdc
mov edx, 0x5370c4
lea ecx, [esp + 0x2c]
call fcn.00453008
mov dword [esp + 0x44], 0
jmp 0x450f36
mov ebx, dword [esp + 0x38]
dec ebx
cmp ebx, dword [esp + 0x44]
jl 0x450fd3
mov ebx, dword [esp + 0x3c]
add ebx, dword [esp + 0x44]
push ebx
pop eax
call fcn.00453300
mov ebx, eax
and ebx, 0xff
mov dword [esp + 0x48], ebx
mov ebx, dword [esp + 0x48]
cmp ebx, 0x10
jge 0x450f90
mov edx, dword [esp + 0x2c]
push edx
call fcn.004ad430
pop edx
push eax
push edx
call fcn.004ad500
mov edx, 0x5387c8
push edx
call fcn.004ad500
lea eax, [esp + 0x30]
push eax
call fcn.004ad470
mov edx, dword [esp + 0x2c]
push edx
call fcn.004ad430
pop edx
push eax
push edx
call fcn.004ad500
push edx
call fcn.004ad430
pop edx
push eax
push edx
call fcn.004ad430
pop edx
push eax
mov eax, dword [esp + 0x54]
cdq
push edx
push eax
call fcn.004ab0a0
pop eax
lea eax, [esp + 0x30]
push eax
call fcn.004ad470
inc dword [esp + 0x44]
jno 0x450f36
push dword [esp + 0x3c]
call fcn.004ac2e0
pop eax
push dword [esp + 0x10]
call sub.ADVAPI32.dll_RegCloseKey
mov edx, dword [esp + 0x28]
push edx
call fcn.004ad430
pop edx
push eax
push edx
call fcn.004ad500
pop eax
push eax
call fcn.00453370
pop edx
add eax, edx
jmp 0x45100e
push dword [esp + 8]
call fcn.004ad630
push dword [esp + 0x20]
call fcn.004ad630
push dword [esp]
call fcn.004ad630
push dword [esp + 4]
call fcn.004ad630
push dword [esp + 0x28]
call fcn.004ad630
add esp, 0x48
pop ebx
ret 0xc