Function at 0x40a752
Capabilities:
Query or enumerate registry value

Disassembly:
push ebx
mov edx, 0xd
sub esp, 4
mov dword [esp], 0
dec edx
jne 0x40a758
call fcn.0041d550
push dword [esp + 0x4c]
call fcn.0040d230
mov edx, dword [esp + 0x40]
lea ecx, [esp]
call fcn.0040d000
mov edx, dword [esp + 0x44]
lea ecx, [esp + 4]
call fcn.0040d000
mov edx, dword [esp + 0x48]
lea ecx, [esp + 8]
call fcn.0040d000
push edx
call fcn.0041d3b0
pop edx
push eax
push edx
call fcn.0041d3b0
pop edx
push eax
push 1
push dword [esp + 0xc]
call fcn.0041bc60
call fcn.0041d4e0
mov edx, 0x4281c2
call fcn.0040d240
mov ecx, eax
call fcn.0040d1c0
je 0x40a7ff
push edx
call fcn.0041d3b0
pop edx
push eax
push edx
call fcn.0041d3b0
pop edx
push eax
push dword [esp + 8]
call fcn.0041ba10
mov ebx, eax
dec ebx
push ebx
push dword [esp + 0xc]
call fcn.0041bcd0
lea eax, [esp + 4]
push eax
call fcn.0041d3f0
push dword [esp + 8]
mov edx, 0x428028
pop ecx
call fcn.0040d1c0
je 0x40a832
lea eax, [esp + 0x10]
push eax
push 0xf003f
push 0
push dword [esp + 0xc]
push dword [esp + 0x4c]
call sub.ADVAPI32.dll_RegOpenKeyExW
mov dword [esp + 0xc], eax
jmp 0x40a868
lea eax, [esp + 0x28]
push eax
push dword [esp + 0x40]
push dword [esp + 0x10]
call sub.ADVAPI32.dll_RegConnectRegistryW
mov dword [esp + 0x24], eax
lea eax, [esp + 0x10]
push eax
push 0xf003f
push 0
push dword [esp + 0xc]
push dword [esp + 0x38]
call sub.ADVAPI32.dll_RegOpenKeyExW
mov dword [esp + 0xc], eax
mov ebx, dword [esp + 0xc]
and ebx, ebx
jne 0x40a9b5
mov dword [esp + 0x1c], 0xff
push edx
call fcn.0041d3b0
pop edx
push eax
push edx
call fcn.0041d3b0
pop edx
push eax
push 0xff
call fcn.0041b560
lea eax, [esp + 0x18]
push eax
call fcn.0041d3f0
lea eax, [esp + 0x1c]
push eax
mov eax, dword [esp + 0x18]
push eax
lea eax, [esp + 0x28]
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 0x40a9b5
push dword [esp + 0x20]
mov ebx, 1
cmp ebx, dword [esp]
jne 0x40a947
lea eax, [esp + 0x20]
push eax
mov eax, dword [esp + 0x1c]
push eax
lea eax, [esp + 0x2c]
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 0x40a937
push edx
call fcn.0041d3b0
pop edx
push eax
push edx
call fcn.0041d3b0
pop edx
push eax
mov ebx, dword [esp + 0x28]
dec ebx
push ebx
push dword [esp + 0x24]
call fcn.0041bc60
lea eax, [esp + 0x34]
push eax
call fcn.0041d3f0
jmp 0x40a945
mov edx, 0x428028
lea ecx, [esp + 0x30]
call fcn.0040d008
jmp 0x40a9b4
mov ebx, 4
cmp ebx, dword [esp]
jne 0x40a9b4
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x3c]
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 0x40a9a6
push edx
call fcn.0041d3b0
pop edx
push eax
push edx
call fcn.0041d3b0
pop edx
push eax
mov eax, dword [esp + 0x24]
cdq
push edx
push eax
call fcn.0041bf40
lea eax, [esp + 0x34]
push eax
call fcn.0041d3f0
jmp 0x40a9b4
mov edx, 0x42806e
lea ecx, [esp + 0x30]
call fcn.0040d008
pop eax
push dword [esp + 0x10]
call sub.ADVAPI32.dll_RegCloseKey
mov edx, dword [esp + 0x2c]
push edx
call fcn.0041d3b0
pop edx
push eax
push edx
call fcn.0041d480
pop eax
push eax
call fcn.0040d200
pop edx
add eax, edx
jmp 0x40a9e6
push dword [esp + 8]
call fcn.0041d5e0
push dword [esp + 0x14]
call fcn.0041d5e0
push dword [esp + 4]
call fcn.0041d5e0
push dword [esp]
call fcn.0041d5e0
push dword [esp + 0x2c]
call fcn.0041d5e0
add esp, 0x34
pop ebx
ret 0x10