Function at 0x10055b3
Capabilities:
Query or enumerate registry value

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x24
push ebx
push esi
push edi
push 0x10020b4
xor ebx, ebx
push 0x10026f8
push ebx
mov byte [ebp - 1], bl
mov dword [ebp - 0x1c], ebx
call fcn.01007df2
add esp, 0xc
lea eax, [ebp - 0x18]
push eax
push 1
push ebx
mov esi, 0x1001e38
push esi
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov edi, eax
cmp edi, ebx
je 0x1005614
push edi
push esi
push 0x10020b4
push 0x10026a0
push 1
call fcn.01007df2
add esp, 0x14
mov eax, edi
jmp 0x10058d8
mov dword [ebp - 0xc], ebx
mov esi, 0x100b008
mov eax, dword [esi - 8]
mov dword [ebp - 0x10], ebx
cmp eax, ebx
je 0x100563c
lea ecx, [ebp - 0x14]
push ecx
push 1
push ebx
push eax
push dword [ebp - 0x18]
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov dword [ebp - 8], eax
jmp 0x1005645
mov eax, dword [ebp - 0x18]
mov dword [ebp - 8], ebx
mov dword [ebp - 0x14], eax
cmp dword [ebp - 8], ebx
jne 0x10056f3
mov edi, dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
lea eax, [ebp - 0x10]
push eax
push esi
lea eax, [ebp - 0x20]
push eax
push ebx
push dword [esi - 4]
push dword [ebp - 0x14]
call edi
mov dword [ebp - 8], eax
cmp eax, 0xea
jne 0x10056af
mov eax, dword [ebp - 0x10]
add eax, 2
push eax
call dword [sym.imp.msvcrt.dll_malloc]
pop ecx
mov dword [esi], eax
cmp eax, ebx
je 0x10058dd
mov ecx, dword [ebp - 0x10]
add ecx, 2
push ecx
push ebx
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
lea eax, [ebp - 0x10]
push eax
push dword [esi]
lea eax, [ebp - 0x20]
push eax
push ebx
push dword [esi - 4]
push dword [ebp - 0x14]
call edi
mov dword [ebp - 8], eax
cmp dword [esi - 8], ebx
je 0x10056bd
push dword [ebp - 0x14]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp dword [ebp - 8], ebx
jne 0x10056f3
cmp dword [ebp - 0xc], 7
je 0x10056f3
cmp dword [ebp - 0xc], 2
je 0x10056f3
mov ecx, dword [esi]
cmp ecx, ebx
je 0x10056f3
mov eax, ecx
lea edi, [eax + 2]
mov dx, word [eax]
inc eax
inc eax
cmp dx, bx
jne 0x10056d9
sub eax, edi
sar eax, 1
jne 0x10056f3
push ecx
call dword [sym.imp.msvcrt.dll_free]
pop ecx
mov dword [esi], ebx
cmp dword [0x100b008], ebx
je 0x1005702
mov byte [0x100b712], 1
cmp dword [0x100b028], ebx
jne 0x1005725
mov eax, dword [0x100b018]
cmp eax, ebx
je 0x1005757
push 0x1002690
push eax
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x100572c
mov byte [0x100b711], 1
cmp dword [0x100b028], ebx
je 0x1005757
mov eax, dword [0x100b018]
cmp eax, ebx
je 0x10058e6
push 0x1002690
push eax
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x10058e6
cmp byte [0x100b711], bl
je 0x1005783
cmp dword [0x100b058], ebx
jne 0x1005908
cmp dword [0x100b068], ebx
jne 0x1005908
cmp dword [0x100b078], ebx
jne 0x1005908
cmp byte [esi + 4], bl
jne 0x10057ed
push dword [esi - 4]
push dword [0x100b064]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x10057bd
cmp dword [0x100b048], ebx
je 0x10057ad
cmp dword [0x100b038], ebx
je 0x10057ed
cmp byte [0x100b711], bl
jne 0x10057ed
cmp byte [0x100b712], bl
jne 0x10057ed
cmp dword [ebp - 8], 2
je 0x1005941
cmp dword [ebp - 8], ebx
jne 0x10057ed
mov eax, dword [esi]
cmp eax, ebx
je 0x100593a
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
cmp cx, bx
jne 0x10057d9
sub eax, edx
sar eax, 1
je 0x100593a
inc dword [ebp - 0xc]
add esi, 0x10
cmp dword [ebp - 0xc], 0xb
jb 0x100561c
cmp dword [ebp - 8], 2
jne 0x1005806
mov dword [ebp - 8], ebx
xor edi, edi
mov esi, 0x100b004
mov eax, dword [esi + 4]
cmp edi, 7
je 0x100581a
cmp edi, 2
jne 0x100581f
mov eax, 0x100266c
cmp eax, ebx
jne 0x1005828
mov eax, 0x1002660
push eax
push dword [esi]
push 0x10020b4
push 0x1002644
push ebx
call fcn.01007df2
add esp, 0x14
inc edi
add esi, 0x10
cmp edi, 0xb
jb 0x100580d
mov esi, dword [ebp - 8]
cmp esi, ebx
jne 0x10058a6
cmp byte [0x100b712], bl
jne 0x10058a6
mov eax, dword [0x100b048]
cmp eax, ebx
je 0x1005872
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
cmp cx, bx
jne 0x1005862
sub eax, edx
sar eax, 1
jne 0x10058a6
mov eax, dword [0x100b038]
cmp eax, ebx
je 0x100588e
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
cmp cx, bx
jne 0x100587e
sub eax, edx
sar eax, 1
jne 0x10058a6
push 0x57
pop esi
push esi
push 0x10020b4
push 0x10025b8
push 1
call fcn.01007df2
add esp, 0x10
cmp byte [ebp - 1], bl
je 0x10058cd
mov eax, dword [ebp - 0x1c]
cmp eax, ebx
jne 0x10058b7
mov eax, 0x10025a4
push esi
push eax
push 0x10020b4
push 0x10024f8
push 1
call fcn.01007df2
add esp, 0x14
push dword [ebp - 0x18]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, esi
pop edi
pop esi
pop ebx
leave
ret
mov dword [ebp - 8], 8
jmp 0x1005941
push dword [0x100b014]
push dword [0x100b024]
push 0x10020b4
push 0x1002498
push 1
call fcn.01007df2
add esp, 0x14
jmp 0x100593a
push dword [0x100b074]
push dword [0x100b064]
push dword [0x100b054]
push dword [0x100b014]
push dword [0x100b024]
push 0x10020b4
push 0x1002410
push 1
call fcn.01007df2
add esp, 0x20
mov dword [ebp - 8], 0x57
push 0xa
pop eax
mov byte [ebp - 1], 1
cmp dword [ebp - 0xc], eax
ja 0x1005950
mov eax, dword [ebp - 0xc]
shl eax, 4
mov eax, dword [eax + 0x100b004]
mov dword [ebp - 0x1c], eax
jmp 0x1005806