Function at 0x1016256
Capabilities:
Query or enumerate registry key
Query or enumerate registry value

Disassembly:
push 0x498
mov eax, 0x101d344
call fcn.0100f9b0
mov edi, dword [ebp + 0x10]
mov ecx, dword [ebp + 0x14]
mov eax, dword [ebp + 8]
xor ebx, ebx
mov dword [ebp - 0x450], edi
mov dword [ebp - 0x474], ecx
cmp edi, ebx
je 0x10163dd
mov dword [edi], ebx
mov dword [edi + 4], ebx
mov dword [ebp - 0x464], ebx
mov dword [ebp - 0x460], ebx
mov dword [ebp - 0x45c], ebx
mov dword [ebp - 4], ebx
mov dword [ebp - 0x470], ebx
mov dword [ebp - 0x46c], ebx
mov dword [ebp - 0x468], ebx
push 0x20119
lea ecx, [ebp - 0x464]
push ecx
push eax
mov byte [ebp - 4], 1
mov dword [ebp - 0x444], ebx
mov dword [ebp - 0x440], ebx
call fcn.01017641
cmp eax, ebx
mov dword [ebp - 0x478], eax
jl 0x10165ae
xor eax, eax
mov esi, 0x206
push esi
mov word [ebp - 0x218], ax
lea eax, [ebp - 0x216]
push ebx
push eax
call sub.msvcrt.dll_memset
xor eax, eax
push esi
mov word [ebp - 0x420], ax
lea eax, [ebp - 0x41e]
push ebx
push eax
call sub.msvcrt.dll_memset
add esp, 0x18
mov dword [ebp - 0x448], ebx
mov dword [ebp - 0x47c], ebx
mov dword [ebp - 0x454], ebx
mov dword [ebp - 0x438], ebx
cmp dword [ebp - 0x438], ebx
jne 0x101659d
lea ecx, [ebp - 0x470]
mov dword [ebp - 0x44c], 0x104
call fcn.01003be7
mov dword [ebp - 0x438], eax
cmp eax, ebx
jne 0x101632e
push ebx
push ebx
push ebx
push ebx
lea eax, [ebp - 0x44c]
push eax
lea eax, [ebp - 0x218]
push eax
push dword [ebp - 0x448]
push dword [ebp - 0x464]
call dword [sym.imp.API_MS_Win_Core_LocalRegistry_L1_1_0.dll_RegEnumKeyExW]
mov dword [ebp - 0x438], eax
cmp eax, ebx
jne 0x101632e
inc dword [ebp - 0x448]
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.msvcrt.dll__wtoi]
cmp eax, ebx
pop ecx
mov dword [ebp - 0x484], eax
jl 0x101632e
test dword [ebp + 0xc], eax
je 0x101632e
push 0x20019
lea eax, [ebp - 0x218]
push eax
push dword [ebp - 0x464]
lea ecx, [ebp - 0x470]
call fcn.01003c5a
mov dword [ebp - 0x438], eax
cmp eax, ebx
jne 0x101632e
mov dword [ebp - 0x43c], ebx
jmp 0x10163ed
mov eax, 0x80070057
jmp 0x10165ca
mov edi, dword [ebp - 0x450]
cmp dword [ebp - 0x438], ebx
jne 0x1016588
lea eax, [ebp - 0x454]
push eax
lea eax, [ebp - 0x420]
push eax
lea eax, [ebp - 0x47c]
push eax
push ebx
lea eax, [ebp - 0x44c]
push eax
lea eax, [ebp - 0x218]
push eax
push dword [ebp - 0x43c]
mov dword [ebp - 0x44c], 0x104
push dword [ebp - 0x470]
mov dword [ebp - 0x454], 0x208
call dword [sym.imp.API_MS_Win_Core_LocalRegistry_L1_1_0.dll_RegEnumValueW]
mov dword [ebp - 0x438], eax
cmp eax, ebx
jne 0x10163ed
inc dword [ebp - 0x43c]
lea eax, [ebp - 0x218]
mov ecx, 0x1002a80
mov dx, word [ecx]
cmp dx, word [eax]
jne 0x1016484
cmp dx, bx
je 0x1016480
mov dx, word [ecx + 2]
cmp dx, word [eax + 2]
jne 0x1016484
add ecx, 4
add eax, 4
cmp dx, bx
jne 0x101645e
xor eax, eax
jmp 0x1016489
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x10164d4
lea eax, [ebp - 0x420]
push eax
call dword [sym.imp.msvcrt.dll__wtoi64]
cmp dword [ebp - 0x440], edx
pop ecx
jg 0x10163ed
jl 0x10164b5
cmp dword [ebp - 0x444], eax
ja 0x10163ed
lea eax, [ebp - 0x420]
push eax
call dword [sym.imp.msvcrt.dll__wtoi64]
pop ecx
mov dword [ebp - 0x444], eax
mov dword [ebp - 0x440], edx
jmp 0x10163ed
mov eax, dword [ebp - 0x484]
mov esi, 0x100318c
lea edi, [ebp - 0x434]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x424], eax
lea eax, [ebp - 0x434]
push eax
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.ole32.dll_CLSIDFromString]
test eax, eax
jl 0x10163e7
lea eax, [ebp - 0x420]
push eax
lea ecx, [ebp - 0x480]
call fcn.01004e58
push eax
lea ecx, [ebp - 0x458]
mov byte [ebp - 4], 2
call fcn.010138ec
lea eax, [ebp - 0x458]
push eax
lea eax, [ebp - 0x434]
push eax
lea ecx, [ebp - 0x4a4]
mov byte [ebp - 4], 3
call fcn.01014aed
mov ecx, dword [ebp - 0x474]
push eax
lea eax, [ebp - 0x48c]
push eax
mov byte [ebp - 4], 4
call fcn.01015e29
push dword [ebp - 0x490]
mov esi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
call esi
push dword [ebp - 0x458]
call esi
push dword [ebp - 0x480]
mov byte [ebp - 4], 1
call esi
jmp 0x10163e7
cmp dword [ebp - 0x438], 0x103
jne 0x101632e
jmp 0x1016328
mov eax, dword [ebp - 0x444]
mov dword [edi], eax
mov eax, dword [ebp - 0x440]
mov dword [edi + 4], eax
lea ecx, [ebp - 0x470]
call fcn.01003be7
lea ecx, [ebp - 0x464]
call fcn.01003be7
mov eax, dword [ebp - 0x478]
call fcn.0100fa42
ret 0x10