Function at 0x405db7
Capabilities:
Query or enumerate registry value

Disassembly:
push ebx
push ecx
push ebp
push esi
push edi
push dword [esp + 0x28]
pop dword [0x415e80]
mov esi, esp
sub esp, 0x38
mov eax, esp
mov edx, eax
add edx, 0x38
mov dword [eax], 0
add eax, 4
cmp eax, edx
jne 0x405dd2
mov eax, dword [esi + 0x18]
mov dword [esp], eax
mov edx, dword [esi + 0x1c]
lea ecx, [esp + 4]
call fcn.0040b3f9
mov edx, dword [esi + 0x20]
lea ecx, [esp + 8]
call fcn.0040b3f9
mov edx, dword [esi + 0x24]
lea ecx, [esp + 0xc]
call fcn.0040b3f9
push dword [0x415e80]
push 1
mov eax, dword [esp + 0xc]
call fcn.0040b00a
inc dword [0x415e80]
mov edx, 0x4110ab
pop ecx
mov dword [0x415e80], ecx
call fcn.0040b458
je 0x405e5c
push dword [0x415e80]
mov eax, dword [esp + 8]
call fcn.0040b047
mov ebx, eax
dec ebx
push ebx
mov eax, dword [esp + 0xc]
call fcn.0040b0b5
lea ecx, [esp + 8]
pop edx
call fcn.0040b38c
push dword [esp + 0xc]
mov edx, 0x4110b2
pop ecx
call fcn.0040b458
je 0x405e8f
lea eax, [esp + 0x14]
push eax
push 0xf003f
push 0
push dword [esp + 0x10]
push dword [esp + 0x10]
call sub.ADVAPI32.dll_RegOpenKeyExA
mov dword [esp + 0x10], eax
jmp 0x405ec5
lea eax, [esp + 0x2c]
push eax
push dword [esp + 4]
push dword [esp + 0x14]
call sub.ADVAPI32.dll_RegConnectRegistryA
mov dword [esp + 0x28], eax
lea eax, [esp + 0x14]
push eax
push 0xf003f
push 0
push dword [esp + 0x10]
push dword [esp + 0x3c]
call sub.ADVAPI32.dll_RegOpenKeyExA
mov dword [esp + 0x10], eax
mov ebx, dword [esp + 0x10]
cmp ebx, 0
jne 0x405ff5
mov dword [esp + 0x20], 0xff
push dword [0x415e80]
mov eax, 0xff
call fcn.0040b29b
lea ecx, [esp + 0x1c]
pop edx
call fcn.0040b38c
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_RegQueryValueExA
mov dword [esp + 0x10], eax
mov ebx, dword [esp + 0x10]
cmp ebx, 0
jne 0x405ff5
push dword [esp + 0x24]
mov ebx, 1
cmp ebx, dword [esp]
jne 0x405f93
lea eax, [esp + 0x24]
push eax
mov eax, dword [esp + 0x20]
push eax
lea eax, [esp + 0x30]
push eax
push 0
push dword [esp + 0x1c]
push dword [esp + 0x2c]
call sub.ADVAPI32.dll_RegQueryValueExA
mov dword [esp + 0x14], eax
mov ebx, dword [esp + 0x14]
cmp ebx, 0
jne 0x405f83
push dword [0x415e80]
mov ebx, dword [esp + 0x28]
dec ebx
push ebx
mov eax, dword [esp + 0x24]
call fcn.0040b00a
lea ecx, [esp + 0x38]
pop edx
call fcn.0040b38c
jmp 0x405f91
mov edx, 0x4110b2
lea ecx, [esp + 0x34]
call fcn.0040b3d8
jmp 0x405ff4
mov ebx, 4
cmp ebx, dword [esp]
jne 0x405ff4
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x40]
push eax
push 0
push dword [esp + 0x1c]
push dword [esp + 0x2c]
call sub.ADVAPI32.dll_RegQueryValueExA
mov dword [esp + 0x14], eax
mov ebx, dword [esp + 0x14]
cmp ebx, 0
jne 0x405fe6
push dword [0x415e80]
mov eax, dword [esp + 0x24]
call fcn.0040b111
lea ecx, [esp + 0x38]
pop edx
call fcn.0040b38c
jmp 0x405ff4
mov edx, 0x4110d5
lea ecx, [esp + 0x34]
call fcn.0040b3d8
pop eax
push dword [esp + 0x14]
call sub.ADVAPI32.dll_RegCloseKey
mov edx, dword [esp + 0x30]
push dword [0x415e80]
call fcn.0040b438
pop eax
jmp 0x406018
mov edx, dword [esp + 0xc]
call fcn.0040b48c
mov edx, dword [esp + 0x30]
call fcn.0040b48c
mov edx, dword [esp + 0x18]
call fcn.0040b48c
mov edx, dword [esp + 4]
call fcn.0040b48c
mov edx, dword [esp + 8]
call fcn.0040b48c
add esp, 0x38
pop edi
pop esi
pop ebp
pop ecx
pop ebx
ret 0x10