Function at 0x185e6a81
Capabilities:
Query or enumerate registry value

Disassembly:
push 0x60
mov eax, 0x186ba85f
call fcn.18615cb5
mov eax, dword [ebp + 8]
xor ebx, ebx
inc ebx
cmp dword [eax + 0x10], 0
jne 0x185e6aa0
xor al, al
jmp 0x185e6c99
and dword [ebp - 0x30], 0
lea ecx, [ebp - 0x40]
and dword [ebp - 0x2c], 0
push eax
call fcn.185b9957
and dword [ebp - 4], 0
xor eax, eax
and dword [ebp - 0x48], 0
push 7
pop edi
mov dword [ebp - 0x44], edi
mov word [ebp - 0x58], ax
push 0xffffffffffffffff
push 0x1885e1fc
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], bl
call fcn.185dd7d2
cmp eax, 0xffffffff
je 0x185e6b3e
and dword [ebp - 0x18], 0
lea esi, [eax + 1]
push 0xffffffffffffffff
xor ecx, ecx
mov dword [ebp - 0x14], edi
push esi
lea eax, [ebp - 0x40]
mov word [ebp - 0x28], cx
push eax
lea ecx, [ebp - 0x28]
call fcn.185ac620
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x58]
call fcn.185ab620
lea ecx, [ebp - 0x28]
call fcn.185ac1f0
and dword [ebp - 0x18], 0
lea ecx, [ebp - 0x28]
xor eax, eax
mov dword [ebp - 0x14], edi
push esi
push eax
mov word [ebp - 0x28], ax
lea eax, [ebp - 0x40]
push eax
call fcn.185ac620
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x40]
call fcn.185ab620
lea ecx, [ebp - 0x28]
call fcn.185ac1f0
xor eax, eax
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], eax
push 8
pop esi
cmp dword [ebp - 0x2c], esi
lea eax, [ebp - 0x40]
push 0x2001f
cmovae eax, dword [ebp - 0x40]
lea ecx, [ebp - 0x6c]
push eax
push SysReAllocString
mov byte [ebp - 4], 2
call fcn.185ab830
test eax, eax
jne 0x185e6be2
cmp dword [ebp - 0x48], eax
je 0x185e6c77
xor edx, edx
lea ecx, [ebp - 0x5c]
cmp dword [ebp - 0x44], esi
lea eax, [ebp - 0x58]
push ecx
cmovae eax, dword [ebp - 0x58]
push edx
push edx
push edx
push eax
push dword [ebp - 0x6c]
mov dword [ebp - 0x5c], edx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x185e6c75
and dword [ebp - 0x18], eax
lea ecx, [ebp - 0x28]
push 0x18862bf4
mov dword [ebp - 0x14], edi
mov word [ebp - 0x28], ax
call fcn.185ba02d
cmp dword [ebp - 0x14], esi
lea ecx, [ebp - 0x60]
lea eax, [ebp - 0x28]
cmovae eax, dword [ebp - 0x28]
push ecx
push eax
lea ecx, [ebp - 0x6c]
call fcn.185dd100
test eax, eax
jne 0x185e6c6b
xor ecx, ecx
cmp dword [ebp - 0x60], ebx
jmp 0x185e6c63
cmp dword [ebp - 0x2c], esi
lea eax, [ebp - 0x40]
push 0x2001f
cmovae eax, dword [ebp - 0x40]
lea ecx, [ebp - 0x6c]
push eax
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.185ab830
test eax, eax
jne 0x185e6c75
cmp dword [ebp - 0x48], eax
je 0x185e6c77
xor edx, edx
lea ecx, [ebp - 0x60]
cmp dword [ebp - 0x44], esi
lea eax, [ebp - 0x58]
push ecx
cmovae eax, dword [ebp - 0x58]
push edx
push edx
push edx
push eax
push dword [ebp - 0x6c]
mov dword [ebp - 0x60], edx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x185e6c75
and dword [ebp - 0x18], eax
lea ecx, [ebp - 0x28]
push 0x18862bf4
mov dword [ebp - 0x14], edi
mov word [ebp - 0x28], ax
call fcn.185ba02d
cmp dword [ebp - 0x14], esi
lea ecx, [ebp - 0x5c]
lea eax, [ebp - 0x28]
cmovae eax, dword [ebp - 0x28]
push ecx
push eax
lea ecx, [ebp - 0x6c]
call fcn.185dd100
test eax, eax
jne 0x185e6c6b
xor ecx, ecx
cmp dword [ebp - 0x5c], ebx
movzx eax, bl
cmove eax, ecx
mov bl, al
lea ecx, [ebp - 0x28]
call fcn.185ac1f0
jmp 0x185e6c77
xor bl, bl
lea ecx, [ebp - 0x6c]
call fcn.185d9970
lea ecx, [ebp - 0x6c]
call fcn.185ab540
lea ecx, [ebp - 0x58]
call fcn.185ac1f0
lea ecx, [ebp - 0x40]
call fcn.185ac1f0
mov al, bl
call fcn.18615c5f
ret 4