Function at 0x410e52
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x45ef8d
mov eax, dword fs:[0]
push eax
mov eax, 0x8138
call fcn.0043cbe0
mov eax, dword [0x489e88]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x809c], edx
mov eax, ecx
mov dword [ebp - 0x8090], eax
and dword [ebp - 0x808c], 0
xor ecx, ecx
and dword [ebp - 0x8018], 0
mov dword [ebp - 0x8014], 7
mov word [ebp - 0x8028], cx
and dword [ebp - 4], ecx
lea edx, [ebp - 0x808c]
lea ecx, [ebp - 0x8028]
push ecx
mov ecx, eax
call fcn.00422b00
pop ecx
test al, al
je 0x411188
cmp dword [ebp - 0x8014], 8
lea ecx, [ebp - 0x8028]
lea eax, [ebp - 0x8098]
mov edx, 0x101
cmovae ecx, dword [ebp - 0x8028]
cmp byte [ebp + 8], 0
push eax
mov eax, 0x201
cmovne eax, edx
push eax
push 0
push ecx
push dword [ebp - 0x808c]
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x411188
mov ebx, dword [ebp - 0x8098]
mov esi, ebx
mov dword [ebp - 0x80a0], esi
push 0x8000
push eax
lea eax, [ebp - 0x8010]
mov byte [ebp - 4], 1
push eax
call fcn.0043e920
mov esi, dword [ebp - 0x8090]
add esp, 0xc
xor edi, edi
xor ecx, ecx
lea eax, [ebp - 0x8094]
push eax
push ecx
lea eax, [ebp - 0x808c]
mov dword [ebp - 0x8094], ecx
push eax
push ecx
lea eax, [ebp - 0x8090]
mov dword [ebp - 0x808c], ecx
push eax
lea eax, [ebp - 0x8010]
mov dword [ebp - 0x8090], ecx
push eax
push edi
push ebx
call dword [sym.imp.ADVAPI32.dll_RegEnumValueW]
cmp eax, 0xea
jne 0x411163
push dword [ebp - 0x8094]
lea ecx, [ebp - 0x80ac]
call fcn.004111b3
mov ebx, dword [ebp - 0x80ac]
lea eax, [ebp - 0x8094]
push eax
push ebx
lea eax, [ebp - 0x808c]
mov dword [ebp - 0x8090], 0x4000
push eax
push 0
lea eax, [ebp - 0x8090]
push eax
lea eax, [ebp - 0x8010]
push eax
push edi
push dword [ebp - 0x8098]
call dword [sym.imp.ADVAPI32.dll_RegEnumValueW]
test eax, eax
jne 0x411154
and dword [ebp - 0x8048], eax
and dword [ebp - 0x8030], eax
push 7
pop ecx
mov dword [ebp - 0x8044], ecx
mov word [ebp - 0x8058], ax
mov dword [ebp - 0x802c], ecx
mov word [ebp - 0x8040], ax
push 0x473124
mov edx, esi
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x8070]
call fcn.0040b18c
lea ecx, [ebp - 0x8010]
mov byte [ebp - 4], 4
push ecx
mov edx, eax
lea ecx, [ebp - 0x8088]
call fcn.0040b204
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x8058]
call fcn.0040627a
push 0
push 1
lea ecx, [ebp - 0x8088]
call fcn.00408a5c
push 0
push 1
lea ecx, [ebp - 0x8070]
mov byte [ebp - 4], 3
call fcn.00408a5c
mov eax, dword [ebp - 0x808c]
test eax, eax
je 0x411136
cmp eax, 2
jbe 0x411110
cmp eax, 4
je 0x4110b4
cmp eax, 0xb
jne 0x411136
push ecx
push ecx
lea ecx, [ebp - 0x8144]
call fcn.00409102
lea eax, [ebp - 0x8070]
mov byte [ebp - 4], 6
push eax
push ebx
lea ecx, [ebp - 0x8144]
call fcn.0040b538
mov ecx, eax
jmp 0x4110df
push ecx
push ecx
lea ecx, [ebp - 0x8144]
call fcn.00409102
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x8144]
push dword [ebx]
call fcn.00406c40
lea eax, [ebp - 0x8070]
push eax
lea ecx, [ebp - 0x8144]
call fcn.0040620b
push eax
lea ecx, [ebp - 0x8040]
call fcn.0040627a
push 0
push 1
lea ecx, [ebp - 0x8070]
call fcn.00408a5c
lea ecx, [ebp - 0x8144]
mov byte [ebp - 4], 3
call fcn.00402673
jmp 0x411124
push ebx
call fcn.004012d2
pop ecx
push eax
push ebx
lea ecx, [ebp - 0x8040]
call fcn.00408ab3
mov ecx, dword [ebp - 0x809c]
lea eax, [ebp - 0x8058]
push eax
call fcn.00411273
push 0
push 1
lea ecx, [ebp - 0x8040]
call fcn.00408a5c
push 0
push 1
lea ecx, [ebp - 0x8058]
call fcn.00408a5c
lea ecx, [ebp - 0x80ac]
mov byte [ebp - 4], 1
call fcn.00408971
inc edi
cmp edi, 0x400
jae 0x411177
mov ebx, dword [ebp - 0x8098]
jmp 0x410f46
mov esi, dword [ebp - 0x80a0]
test esi, esi
je 0x411188
push esi
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push 0
push 1
lea ecx, [ebp - 0x8028]
call fcn.00408a5c
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0043b9f3
mov esp, ebp
pop ebp
ret