Function at 0x1045650
Capabilities:
Query or enumerate registry value

Disassembly:
push 0xe8c
mov eax, 0x1050161
call fcn.01001ea1
mov edi, dword [ebp + 8]
xor eax, eax
push 0x206
mov word [ebp - 0x218], ax
xor esi, esi
lea eax, [ebp - 0x216]
push esi
push eax
mov ebx, ecx
mov dword [ebp - 0xe48], edi
call sub.msvcrt.dll_memset
add esp, 0xc
lea eax, [ebp - 0xe98]
push eax
lea eax, [ebp - 0xe64]
push eax
lea eax, [ebp - 0xe54]
push eax
lea eax, [ebp - 0xe58]
push eax
lea eax, [ebp - 0xe40]
push eax
lea eax, [ebp - 0xe6c]
push eax
lea eax, [ebp - 0xe68]
push eax
lea eax, [ebp - 0xe50]
push eax
push esi
lea eax, [ebp - 0xe60]
push eax
lea eax, [ebp - 0x218]
push eax
push edi
mov dword [ebp - 0xe60], 0x104
mov dword [ebp - 0xe50], esi
mov dword [ebp - 0xe68], esi
mov dword [ebp - 0xe6c], esi
mov dword [ebp - 0xe40], esi
mov dword [ebp - 0xe58], esi
mov dword [ebp - 0xe54], esi
mov dword [ebp - 0xe64], esi
mov dword [ebp - 0xe3c], esi
mov dword [ebp - 0xe4c], 0x400
call dword [sym.imp.ADVAPI32.dll_RegQueryInfoKeyW]
cmp eax, esi
je 0x1045726
mov dword [ebp - 0xe40], esi
cmp dword [ebp - 0xe40], esi
je 0x1045956
lea ecx, [ebp - 0xe38]
mov dword [ebp - 0xe44], 4
call fcn.0100cebd
lea ecx, [ebp - 0xe1c]
mov dword [ebp - 4], esi
call fcn.0100cebd
mov byte [ebp - 4], 1
mov dword [ebp - 0xe3c], esi
cmp dword [ebp - 0xe40], esi
jbe 0x10458ac
mov edi, dword [sym.imp.ADVAPI32.dll_RegGetValueW]
push esi
push esi
push esi
xor eax, eax
push esi
mov word [ebp - 0xe00], ax
lea eax, [ebp - 0xe4c]
push eax
lea eax, [ebp - 0xe00]
push eax
push dword [ebp - 0xe3c]
mov dword [ebp - 0xe4c], 0x400
push dword [ebp - 0xe48]
call dword [sym.imp.ADVAPI32.dll_RegEnumValueW]
cmp eax, esi
jne 0x1045894
lea eax, [ebp - 0xe00]
push eax
lea ecx, [ebp - 0xe1c]
call fcn.01009099
cmp dword [ebp - 0xe04], 8
mov eax, dword [ebp - 0xe18]
mov dword [ebp - 0xe44], 4
jae 0x10457e1
lea eax, [ebp - 0xe18]
lea ecx, [ebp - 0xe44]
push ecx
lea ecx, [ebp - 0xe5c]
push ecx
push esi
push 0x10
push eax
push 0x1002b54
push dword [ebp - 0xe48]
call edi
test eax, eax
jne 0x104581d
lea eax, [ebp - 0xe1c]
push eax
lea ecx, [ebx + 0x54]
call fcn.01045568
mov ecx, dword [ebp - 0xe5c]
mov dword [eax], ecx
jmp 0x1045894
cmp dword [ebp - 0xe04], 8
mov eax, dword [ebp - 0xe18]
mov dword [ebp - 0xe44], 0x3e8
jae 0x104583c
lea eax, [ebp - 0xe18]
lea ecx, [ebp - 0xe44]
push ecx
lea ecx, [ebp - 0x600]
push ecx
push esi
push 0xffff
push eax
push 0x1002b54
push dword [ebp - 0xe48]
call edi
test eax, eax
jne 0x1045894
lea eax, [ebp - 0x600]
push eax
lea ecx, [ebp - 0xe38]
call fcn.01009099
lea eax, [ebp - 0xe1c]
push eax
lea ecx, [ebx + 0x48]
call fcn.010454ea
push 0xffffffffffffffff
push esi
lea ecx, [ebp - 0xe38]
push ecx
mov ecx, eax
call fcn.0100beca
inc dword [ebp - 0xe3c]
mov eax, dword [ebp - 0xe3c]
cmp eax, dword [ebp - 0xe40]
jb 0x1045771
push 0x1009314
lea ecx, [ebp - 0xe90]
call fcn.0100906d
lea eax, [ebp - 0xe90]
lea edi, [ebx + 0x54]
push eax
mov ecx, edi
mov byte [ebp - 4], 2
call fcn.01045568
mov eax, dword [eax]
push esi
push 1
lea ecx, [ebp - 0xe90]
mov dword [ebp - 0xe74], eax
mov byte [ebp - 4], 1
call fcn.01008a37
push 0x100a568
lea ecx, [ebp - 0xe90]
call fcn.0100906d
lea eax, [ebp - 0xe90]
push eax
mov ecx, edi
mov byte [ebp - 4], 3
call fcn.01045568
mov eax, dword [eax]
xor edi, edi
push esi
inc edi
push edi
lea ecx, [ebp - 0xe90]
mov dword [ebp - 0xe70], eax
call fcn.01008a37
add ebx, 0x38
push ebx
lea eax, [ebp - 0xe74]
push eax
call dword [sym.imp.KERNEL32.dll_FileTimeToSystemTime]
push esi
push edi
lea ecx, [ebp - 0xe1c]
mov dword [ebp - 0xe3c], edi
call fcn.01008a37
push esi
push edi
lea ecx, [ebp - 0xe38]
call fcn.01008a37
mov eax, dword [ebp - 0xe3c]
call fcn.01001f5c
ret 4