Function at 0x104578c
Capabilities:
Query or enumerate registry value

Disassembly:
push 0xe8c
mov eax, 0x105017d
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 fcn.01002043
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 0x1045862
mov dword [ebp - 0xe40], esi
cmp dword [ebp - 0xe40], esi
je 0x1045a92
lea ecx, [ebp - 0xe38]
mov dword [ebp - 0xe44], 4
call fcn.010167e3
lea ecx, [ebp - 0xe1c]
mov dword [ebp - 4], esi
call fcn.010167e3
mov byte [ebp - 4], 1
mov dword [ebp - 0xe3c], esi
cmp dword [ebp - 0xe40], esi
jbe 0x10459e8
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 0x10459d0
lea eax, [ebp - 0xe00]
push eax
lea ecx, [ebp - 0xe1c]
call fcn.010127f7
cmp dword [ebp - 0xe04], 8
mov eax, dword [ebp - 0xe18]
mov dword [ebp - 0xe44], 4
jae 0x104591d
lea eax, [ebp - 0xe18]
lea ecx, [ebp - 0xe44]
push ecx
lea ecx, [ebp - 0xe5c]
push ecx
push esi
push 0x10
push eax
push 0x100247c
push dword [ebp - 0xe48]
call edi
test eax, eax
jne 0x1045959
lea eax, [ebp - 0xe1c]
push eax
lea ecx, [ebx + 0x54]
call fcn.010456a4
mov ecx, dword [ebp - 0xe5c]
mov dword [eax], ecx
jmp 0x10459d0
cmp dword [ebp - 0xe04], 8
mov eax, dword [ebp - 0xe18]
mov dword [ebp - 0xe44], 0x3e8
jae 0x1045978
lea eax, [ebp - 0xe18]
lea ecx, [ebp - 0xe44]
push ecx
lea ecx, [ebp - 0x600]
push ecx
push esi
push 0xffff
push eax
push 0x100247c
push dword [ebp - 0xe48]
call edi
test eax, eax
jne 0x10459d0
lea eax, [ebp - 0x600]
push eax
lea ecx, [ebp - 0xe38]
call fcn.010127f7
lea eax, [ebp - 0xe1c]
push eax
lea ecx, [ebx + 0x48]
call fcn.01045626
push 0xffffffffffffffff
push esi
lea ecx, [ebp - 0xe38]
push ecx
mov ecx, eax
call fcn.0101594b
inc dword [ebp - 0xe3c]
mov eax, dword [ebp - 0xe3c]
cmp eax, dword [ebp - 0xe40]
jb 0x10458ad
push 0x1012918
lea ecx, [ebp - 0xe90]
call fcn.010127cb
lea eax, [ebp - 0xe90]
lea edi, [ebx + 0x54]
push eax
mov ecx, edi
mov byte [ebp - 4], 2
call fcn.010456a4
mov eax, dword [eax]
push esi
push 1
lea ecx, [ebp - 0xe90]
mov dword [ebp - 0xe74], eax
mov byte [ebp - 4], 1
call fcn.0101212a
push 0x1013b70
lea ecx, [ebp - 0xe90]
call fcn.010127cb
lea eax, [ebp - 0xe90]
push eax
mov ecx, edi
mov byte [ebp - 4], 3
call fcn.010456a4
mov eax, dword [eax]
xor edi, edi
push esi
inc edi
push edi
lea ecx, [ebp - 0xe90]
mov dword [ebp - 0xe70], eax
call fcn.0101212a
add ebx, 0x38
push ebx
lea eax, [ebp - 0xe74]
push eax
call dword [0x100127c]
push esi
push edi
lea ecx, [ebp - 0xe1c]
mov dword [ebp - 0xe3c], edi
call fcn.0101212a
push esi
push edi
lea ecx, [ebp - 0xe38]
call fcn.0101212a
mov eax, dword [ebp - 0xe3c]
call fcn.01001f5c
ret 4