Function at 0x105904c
Capabilities:
Query or enumerate registry value

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x14
mov ecx, dword [ebp + 0x14]
push ebx
xor ebx, ebx
cmp ecx, ebx
push esi
push edi
mov dword [ebp - 0xc], ebx
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x10], ebx
je 0x105906b
mov dword [ecx], ebx
mov eax, dword [ebp + 0x20]
cmp eax, ebx
je 0x1059074
mov dword [eax], ebx
cmp dword [ebp + 0xc], ebx
je 0x105932f
cmp dword [ebp + 0x10], ebx
je 0x105932f
cmp ecx, ebx
je 0x105932f
cmp dword [ebp + 0x18], ebx
je 0x105932f
cmp dword [ebp + 0x1c], ebx
je 0x105932f
cmp dword [ebp + 8], ebx
mov edi, 0x10104d8
jne 0x10590af
mov edi, 0x10104d0
mov esi, dword [sym.imp.msvcrt.dll_wcslen]
push edi
call esi
push dword [ebp + 0xc]
mov dword [ebp - 0x14], eax
call esi
pop ecx
pop ecx
mov ecx, dword [ebp - 0x14]
lea eax, [ecx + eax + 0x39]
lea eax, [eax + eax + 2]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov ebx, eax
test ebx, ebx
mov dword [ebp - 0x14], ebx
jne 0x10590ee
mov edi, 0x8007000e
push edi
push 0x8001a4
jmp 0x1059183
push 0x1010598
push ebx
call dword [sym.imp.msvcrt.dll_wcscpy]
push dword [ebp + 0xc]
mov esi, dword [sym.imp.msvcrt.dll_wcscat]
push ebx
call esi
push 0x1006b9c
push ebx
call esi
push edi
push ebx
call esi
add esp, 0x20
lea eax, [ebp - 0xc]
push eax
push 0xf003f
xor esi, esi
push esi
push ebx
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov edi, eax
cmp edi, esi
je 0x1059146
push 2
push edi
push 0x8f01a4
push ebx
call fcn.01053590
jmp 0x105934e
lea eax, [ebp - 4]
push eax
push esi
lea eax, [ebp - 8]
push eax
push esi
mov ebx, 0x1010510
push ebx
push dword [ebp - 0xc]
mov dword [ebp - 4], esi
mov esi, dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
call esi
mov edi, eax
test edi, edi
je 0x1059172
push edi
push 0x9901a4
jmp 0x1059183
cmp dword [ebp - 8], 1
je 0x105918d
mov edi, 0x80070057
push edi
push 0x9e01a4
call fcn.01053610
jmp 0x105934e
mov eax, dword [ebp - 4]
add eax, 2
push eax
push 0
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
test eax, eax
mov dword [ebp - 0x10], eax
jne 0x10591b3
mov edi, 0x8007000e
push edi
push 0xa701a4
jmp 0x105933a
lea ecx, [ebp - 4]
push ecx
push eax
lea eax, [ebp - 8]
push eax
push 0
push ebx
push dword [ebp - 0xc]
call esi
mov edi, eax
test edi, edi
je 0x10591d5
push edi
push 0xb001a4
jmp 0x105933a
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x10]
push 4
pop ebx
shr eax, 1
and word [ecx + eax*2], 0
lea eax, [ebp - 4]
push eax
push dword [ebp + 0x10]
lea eax, [ebp - 8]
push eax
push 0
push 0x10104f4
push dword [ebp - 0xc]
mov dword [ebp - 4], ebx
call esi
mov edi, eax
test edi, edi
je 0x1059210
push edi
push 0xbc01a4
jmp 0x105933a
cmp dword [ebp - 8], ebx
je 0x1059225
mov edi, 0x80070057
push edi
push 0xc101a4
jmp 0x105933a
cmp dword [ebp + 8], 0
mov dword [ebp - 4], ebx
mov eax, 0x1010540
jne 0x1059238
mov eax, 0x1010524
lea ecx, [ebp - 4]
push ecx
push dword [ebp + 0x18]
lea ecx, [ebp - 8]
push ecx
push 0
push eax
push dword [ebp - 0xc]
call esi
mov edi, eax
test edi, edi
je 0x1059294
cmp dword [ebp + 8], 0
je 0x1059285
push 2
push edi
push 0xd401a4
push 0x1010540
call fcn.01053590
lea eax, [ebp - 4]
push eax
push dword [ebp + 0x18]
lea eax, [ebp - 8]
push eax
push 0
push 0x1010524
push dword [ebp - 0xc]
mov dword [ebp - 4], ebx
call esi
mov edi, eax
test edi, edi
je 0x1059294
push edi
push 0xde01a4
jmp 0x105933a
cmp dword [ebp - 8], ebx
je 0x10592a9
mov edi, 0x80070057
push edi
push 0xe301a4
jmp 0x105933a
lea eax, [ebp - 4]
push eax
push dword [ebp + 0x1c]
lea eax, [ebp - 8]
push eax
push 0
push 0x1010568
push dword [ebp - 0xc]
mov dword [ebp - 4], ebx
call esi
mov edi, eax
test edi, edi
je 0x10592d1
push edi
push 0xed01a4
jmp 0x105933a
cmp dword [ebp - 8], ebx
je 0x10592e3
mov edi, 0x80070057
push edi
push 0xf201a4
jmp 0x105933a
cmp dword [ebp + 0x20], 0
je 0x1059323
lea eax, [ebp - 4]
push eax
push dword [ebp + 0x20]
lea eax, [ebp - 8]
push eax
push 0
push 0x1010584
push dword [ebp - 0xc]
mov dword [ebp - 4], ebx
call esi
mov edi, eax
test edi, edi
je 0x1059311
push edi
push 0xfe01a4
jmp 0x105933a
cmp dword [ebp - 8], ebx
je 0x1059323
mov edi, 0x80070057
push edi
push 0x10301a4
jmp 0x105933a
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp + 0x14]
mov dword [ecx], eax
xor edi, edi
jmp 0x105934e
mov edi, 0x80004003
push edi
push 0x7401a4
call fcn.01053610
cmp dword [ebp - 0x10], 0
je 0x105934e
push dword [ebp - 0x10]
call dword [sym.imp.KERNEL32.dll_LocalFree]
cmp dword [ebp - 0x14], 0
je 0x105935d
push dword [ebp - 0x14]
call dword [sym.imp.KERNEL32.dll_LocalFree]
cmp dword [ebp - 0xc], 0
je 0x105936c
push dword [ebp - 0xc]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push edi
call fcn.0106d6ca
pop edi
pop esi
pop ebx
leave
ret 0x1c