Function at 0x404ae4
Capabilities:
Query or enumerate registry value

Disassembly:
push ebx
mov edx, 0x12
sub esp, 4
mov dword [esp], 0
dec edx
jne 0x404aea
call fcn.0041f2d0
push dword [esp + 0x5c]
call fcn.0040b610
mov edx, dword [esp + 0x50]
lea ecx, [esp]
call fcn.0040b000
mov edx, dword [esp + 0x54]
lea ecx, [esp + 4]
call fcn.0040b000
mov edx, dword [esp + 0x58]
lea ecx, [esp + 8]
call fcn.0040b000
push dword [esp]
call fcn.00406183
push dword [esp + 8]
mov edx, 0x4ab374
pop ecx
call fcn.0040b5a0
je 0x404b97
cmp dword [0x52b9e8], 0
je 0x404b7b
lea eax, [esp + 0x10]
push eax
mov ebx, dword [0x52ba00]
or ebx, 0xf003f
push ebx
push 0
push dword [0x52b9c8]
push dword [0x52b9e4]
call sub.ADVAPI32.dll_RegOpenKeyExW
mov dword [esp + 0xc], eax
jmp 0x404b95
lea eax, [esp + 0x10]
push eax
push dword [0x52b9c8]
push dword [0x52b9e4]
call sub.ADVAPI32.dll_RegOpenKeyW
mov dword [esp + 0xc], eax
jmp 0x404bfc
lea eax, [esp + 0x18]
push eax
push dword [0x52b9e4]
push dword [esp + 0x10]
call sub.ADVAPI32.dll_RegConnectRegistryW
mov dword [esp + 0x14], eax
cmp dword [0x52b9e8], 0
je 0x404be4
lea eax, [esp + 0x10]
push eax
mov ebx, dword [0x52ba00]
or ebx, 0xf003f
push ebx
push 0
push dword [0x52b9c8]
push dword [esp + 0x28]
call sub.ADVAPI32.dll_RegOpenKeyExW
mov dword [esp + 0xc], eax
jmp 0x404bfc
lea eax, [esp + 0x10]
push eax
push dword [0x52b9c8]
push dword [esp + 0x20]
call sub.ADVAPI32.dll_RegOpenKeyW
mov dword [esp + 0xc], eax
mov ebx, dword [esp + 0xc]
and ebx, ebx
jne 0x404ed6
mov dword [esp + 0x1c], 0x400
push edx
call fcn.0041f130
pop edx
push eax
push edx
call fcn.0041f130
pop edx
push eax
push dword [esp + 0x24]
call fcn.0041cb20
lea eax, [esp + 0x24]
push eax
call fcn.0041f1d0
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 0x404ed6
push dword [esp + 0x24]
mov ebx, 1
cmp ebx, dword [esp]
jne 0x404cdd
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 0x404cca
push edx
call fcn.0041f130
pop edx
push eax
push edx
call fcn.0041f130
pop edx
push eax
mov ebx, dword [esp + 0x28]
dec ebx
push ebx
push dword [esp + 0x30]
call fcn.0041d8a0
lea eax, [esp + 0x30]
push eax
call fcn.0041f1d0
jmp 0x404cd8
mov edx, 0x4ab028
lea ecx, [esp + 0x2c]
call fcn.0040b008
jmp 0x404ed5
mov ebx, 2
cmp ebx, dword [esp]
jne 0x404d52
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 0x404d3f
push edx
call fcn.0041f130
pop edx
push eax
push edx
call fcn.0041f130
pop edx
push eax
mov ebx, dword [esp + 0x28]
dec ebx
push ebx
push dword [esp + 0x30]
call fcn.0041d8a0
lea eax, [esp + 0x30]
push eax
call fcn.0041f1d0
jmp 0x404d4d
mov edx, 0x4ab028
lea ecx, [esp + 0x2c]
call fcn.0040b008
jmp 0x404ed5
mov ebx, 4
cmp ebx, dword [esp]
jne 0x404dc4
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 0x404db1
push edx
call fcn.0041f130
pop edx
push eax
push edx
call fcn.0041f130
pop edx
push eax
mov eax, dword [esp + 0x3c]
cdq
push edx
push eax
call fcn.0041d130
lea eax, [esp + 0x30]
push eax
call fcn.0041f1d0
jmp 0x404dbf
mov edx, 0x4ab3ae
lea ecx, [esp + 0x2c]
call fcn.0040b008
jmp 0x404ed5
mov ebx, 3
cmp ebx, dword [esp]
jne 0x404ed5
mov dword [esp + 0x38], 0x400
push dword [esp + 0x38]
call fcn.0041e100
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 0x404ed5
mov edx, 0x4ab028
lea ecx, [esp + 0x2c]
call fcn.0040b008
mov dword [esp + 0x44], 0
jmp 0x404e2f
mov ebx, dword [esp + 0x38]
dec ebx
cmp ebx, dword [esp + 0x44]
jl 0x404ecc
mov ebx, dword [esp + 0x3c]
add ebx, dword [esp + 0x44]
push ebx
pop eax
call fcn.0040b550
mov ebx, eax
and ebx, 0xff
mov dword [esp + 0x48], ebx
mov ebx, dword [esp + 0x48]
cmp ebx, 0x10
jge 0x404e89
mov edx, dword [esp + 0x2c]
push edx
call fcn.0041f130
pop edx
push eax
push edx
call fcn.0041f170
mov edx, 0x4ab3ae
push edx
call fcn.0041f170
lea eax, [esp + 0x30]
push eax
call fcn.0041f1d0
mov edx, dword [esp + 0x2c]
push edx
call fcn.0041f130
pop edx
push eax
push edx
call fcn.0041f170
push edx
call fcn.0041f130
pop edx
push eax
push edx
call fcn.0041f130
pop edx
push eax
mov eax, dword [esp + 0x54]
cdq
push edx
push eax
call fcn.0041d9f0
pop eax
lea eax, [esp + 0x30]
push eax
call fcn.0041f1d0
inc dword [esp + 0x44]
jno 0x404e2f
push dword [esp + 0x3c]
call fcn.0041e2e0
pop eax
push dword [esp + 0x10]
call sub.ADVAPI32.dll_RegCloseKey
mov edx, dword [esp + 0x28]
push edx
call fcn.0041f130
pop edx
push eax
push edx
call fcn.0041f170
pop eax
push eax
call fcn.0040b5e0
pop edx
add eax, edx
jmp 0x404f07
push dword [esp + 8]
call fcn.0041f360
push dword [esp + 0x20]
call fcn.0041f360
push dword [esp]
call fcn.0041f360
push dword [esp + 4]
call fcn.0041f360
push dword [esp + 0x28]
call fcn.0041f360
add esp, 0x48
pop ebx
ret 0xc