Function at 0x5c1650
Capabilities:
Query or enumerate registry key

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
push ebx
push esi
push edi
lea eax, [ebp - 4]
mov dword [ebp - 4], 0
push eax
push 0xf003f
xor edi, edi
xor ebx, ebx
push edi
push dword [ebp + 8]
mov esi, ecx
mov dword [ebp - 0x10], ebx
push SysReAllocStringLen
mov dword [ebp - 8], ebx
mov dword [ebp - 0xc], ebx
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x18], ebx
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
je 0x5c1698
xor esi, esi
jmp 0x5c181c
push 0
push 0
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0xc]
push eax
push 0
push 0
lea eax, [ebp - 8]
push eax
push 0
push 0
push 0
push 0
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_RegQueryInfoKeyW]
test eax, eax
je 0x5c16c8
xor esi, esi
jmp 0x5c181c
mov eax, dword [ebp + 8]
test eax, eax
je 0x5c16e6
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
push dword [ebp + 8]
mov dword [ebp - 0x10], eax
call fcn.006b9cb4
add esp, 4
mov edi, eax
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 8]
add ecx, 2
add ecx, eax
cmp ecx, dword [esi + 8]
jbe 0x5c1719
lea eax, [ecx + ecx]
mov dword [esi + 8], ecx
push eax
push dword [esi + 4]
call fcn.006b91bc
add esp, 8
mov dword [esi + 4], eax
test eax, eax
jne 0x5c1716
xor esi, esi
jmp 0x5c181c
mov eax, dword [ebp - 8]
cmp dword [esi + 0x10], eax
ja 0x5c173e
inc eax
mov dword [esi + 0x10], eax
add eax, eax
push eax
push dword [esi + 0xc]
call fcn.006b91bc
add esp, 8
mov dword [esi + 0xc], eax
test eax, eax
jne 0x5c173e
xor esi, esi
jmp 0x5c181c
push str._BAK
call dword [sym.imp.KERNEL32.dll_lstrlenW]
add eax, dword [ebp - 0xc]
cmp dword [esi + 0x18], eax
ja 0x5c1781
push str._BAK
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov ecx, dword [ebp - 0xc]
inc ecx
add eax, ecx
mov dword [esi + 0x18], eax
add eax, eax
push eax
push dword [esi + 0x14]
call fcn.006b91bc
add esp, 8
mov dword [esi + 0x14], eax
test eax, eax
jne 0x5c1781
xor esi, esi
jmp 0x5c181c
mov eax, dword [ebp - 0x14]
cmp dword [esi + 0x20], eax
ja 0x5c17b2
inc eax
mov dword [esi + 0x20], eax
add eax, eax
push eax
push dword [esi + 0x1c]
call fcn.006b91bc
add esp, 8
mov dword [esi + 0x1c], eax
test eax, eax
jne 0x5c17a6
xor esi, esi
jmp 0x5c181c
push 0x790eb0
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
mov ecx, esi
push edi
push dword [ebp - 4]
cmp dword [ebp + 0xc], ebx
je 0x5c17c4
call fcn.005c1440
jmp 0x5c17d0
call fcn.005c1550
lea esp, [esp]
mov eax, dword [esi + 0x10]
push 0
push 0
push 0
push 0
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
push eax
push dword [esi + 0xc]
push ebx
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
test eax, eax
jne 0x5c1842
push dword [esi + 0xc]
push edi
push 0x7862fc
push dword [esi + 4]
call fcn.006b6675
add esp, 0x10
mov ecx, esi
push dword [ebp + 0xc]
push dword [esi + 4]
call fcn.005c1650
inc ebx
jne 0x5c17d0
mov esi, 1
mov eax, dword [ebp - 4]
test eax, eax
je 0x5c182a
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
test edi, edi
je 0x5c1837
push edi
call fcn.006b31f8
add esp, 4
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
cmp eax, 0x103
je 0x5c1817
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 8