Function at 0x185a3741
Capabilities:
Query or enumerate registry key

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x186c1245
mov eax, dword fs:[0]
push eax
sub esp, 0x244
mov eax, dword [0x1870626c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x218], ecx
cmp dword [ebp + 0x10], 0x14
jbe 0x185a377f
xor eax, eax
jmp 0x185a39ce
lea eax, [ebp - 0x214]
push eax
push 0x30119
push 0
push dword [ebp + 0xc]
push dword [ebp + 8]
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov dword [ebp - 0x220], eax
cmp dword [ebp - 0x220], 0
je 0x185a37af
xor eax, eax
jmp 0x185a39ce
and dword [ebp - 0x21c], 0
xor eax, eax
inc eax
je 0x185a39c0
mov dword [ebp - 0x23c], 0xff
mov eax, dword [ebp - 0x21c]
mov dword [ebp - 0x240], eax
push 0
push 0
push 0
push 0
lea eax, [ebp - 0x23c]
push eax
lea eax, [ebp - 0x210]
push eax
push dword [ebp - 0x240]
push dword [ebp - 0x214]
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x21c]
inc eax
mov dword [ebp - 0x21c], eax
cmp dword [ebp - 0x220], 0
je 0x185a381e
jmp 0x185a39c0
push 0x188691f4
lea eax, [ebp - 0x210]
push eax
call fcn.18645aab
pop ecx
pop ecx
test eax, eax
jne 0x185a397b
lea eax, [ebp - 0x224]
push eax
push 0x30119
push 0
lea eax, [ebp - 0x210]
push eax
push dword [ebp - 0x214]
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x185a397b
mov dword [ebp - 0x248], 1
and dword [ebp - 0x244], 0
mov dword [ebp - 0x238], 0x18868524
lea eax, [ebp - 0x234]
mov dword [ebp - 0x228], eax
mov eax, dword [ebp - 0x228]
and dword [eax], 0
mov eax, dword [ebp - 0x228]
and dword [eax + 4], 0
and dword [ebp - 4], 0
lea eax, [ebp - 0x244]
push eax
lea eax, [ebp - 0x238]
push eax
lea eax, [ebp - 0x248]
push eax
push 0
push dword [ebp - 0x224]
mov eax, dword [ebp - 0x218]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x218]
add ecx, dword [eax + 8]
call fcn.186cce66
test eax, eax
jne 0x185a3960
push dword [ebp - 0x214]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push dword [ebp - 0x224]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push 1
lea eax, [ebp - 0x238]
push eax
mov eax, dword [ebp - 0x218]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x218]
add ecx, dword [eax + 8]
call fcn.186cc2a4
movzx eax, al
test eax, eax
je 0x185a393f
mov dword [ebp - 0x24c], 1
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x238]
call fcn.186cbd49
mov eax, dword [ebp - 0x24c]
jmp 0x185a39ce
mov dword [ebp - 0x250], 2
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x238]
call fcn.186cbd49
mov eax, dword [ebp - 0x250]
jmp 0x185a39ce
push dword [ebp - 0x224]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x238]
call fcn.186cbd49
mov eax, dword [ebp + 0x10]
inc eax
push eax
lea eax, [ebp - 0x210]
push eax
push dword [ebp - 0x214]
mov ecx, dword [ebp - 0x218]
call fcn.185a3741
mov dword [ebp - 0x22c], eax
cmp dword [ebp - 0x22c], 2
jne 0x185a39bb
push dword [ebp - 0x214]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, dword [ebp - 0x22c]
jmp 0x185a39ce
jmp 0x185a37b6
push dword [ebp - 0x214]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.18615399
leave
ret 0xc