Function at 0x10111477
Capabilities:
Query or enumerate registry value

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x240
mov eax, dword [0x1019fbfc]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, edx
mov dword [ebp - 0x23c], ebx
push esi
mov esi, ecx
mov dword [ebp - 0x224], esi
test ebx, ebx
jne 0x101114ac
mov eax, 0x80070057
jmp 0x10111757
push edi
push 0x1003bb6b
push 0x34
call fcn.10163d16
pop ecx
xor edi, edi
pop ecx
test eax, eax
je 0x101114d6
mov edx, edi
mov ecx, dword [edx + 0x10007b54]
add edx, 8
mov dword [ecx + eax], edi
cmp edx, 0x68
jb 0x101114c3
jmp 0x101114d8
mov eax, edi
mov dword [ebx], eax
test eax, eax
jne 0x101114e8
mov eax, 0x8007000e
jmp 0x10111756
push 0x208
lea eax, [ebp - 0x20c]
push edi
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
lea edx, [ebp - 0x20c]
mov ebx, 0x104
mov ecx, esi
push ebx
call fcn.10113524
mov esi, eax
test esi, esi
js 0x10111550
push 0x10018fc0
mov edx, ebx
lea ecx, [ebp - 0x20c]
call fcn.1003fcc9
mov esi, eax
test esi, esi
js 0x10111550
lea eax, [ebp - 0x220]
mov edx, ebx
push eax
lea ecx, [ebp - 0x20c]
call fcn.1010a16d
mov esi, eax
test esi, esi
jns 0x10111550
mov dword [ebp - 0x21c], edi
jmp 0x1011155c
mov eax, dword [ebp - 0x220]
mov dword [ebp - 0x21c], eax
mov edx, edi
mov ebx, edi
mov dword [ebp - 0x210], edx
test esi, esi
js 0x10111609
push edi
push edi
lea eax, [ebp - 0x214]
push eax
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x230]
push eax
push edi
push edi
push edi
push edi
push edi
push edi
push dword [ebp - 0x224]
call dword [sym.imp.ADVAPI32.dll_RegQueryInfoKeyW]
test eax, eax
jne 0x101115f8
mov eax, dword [ebp - 0x218]
xor ecx, ecx
push 0x1003bb6b
push 2
inc eax
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.10163d16
mov ebx, eax
xor ecx, ecx
mov eax, dword [ebp - 0x214]
push 0x1003bb6b
push 2
shr eax, 1
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.10163d16
mov edx, eax
add esp, 0x10
mov dword [ebp - 0x210], edx
test edx, edx
je 0x101115f1
test ebx, ebx
jne 0x10111609
mov esi, 0x8007000e
jmp 0x10111609
mov edx, edi
jg 0x10111600
mov esi, eax
jmp 0x10111609
movzx esi, ax
or esi, 0x80070000
mov dword [ebp - 0x22c], edi
mov ecx, edi
test esi, esi
js 0x1011173f
jmp 0x10111621
mov edx, dword [ebp - 0x210]
cmp ecx, dword [ebp - 0x230]
jae 0x1011173f
mov eax, dword [ebp - 0x218]
inc eax
mov dword [ebp - 0x234], eax
mov eax, dword [ebp - 0x214]
mov dword [ebp - 0x228], eax
lea eax, [ebp - 0x228]
push eax
push edx
push edi
push edi
lea eax, [ebp - 0x234]
push eax
push ebx
push ecx
push dword [ebp - 0x224]
call dword [sym.imp.ADVAPI32.dll_RegEnumValueW]
test eax, eax
je 0x1011167a
jg 0x1011166f
mov esi, eax
jmp 0x1011169b
movzx esi, ax
or esi, 0x80070000
jmp 0x1011169b
mov eax, dword [ebp - 0x214]
xor edx, edx
mov ecx, dword [ebp - 0x210]
shr eax, 1
mov word [ecx + eax*2 - 2], dx
xor ecx, ecx
mov eax, dword [ebp - 0x218]
mov word [ebx + eax*2], cx
test esi, esi
js 0x1011172a
lea edx, [ebp - 0x238]
mov ecx, ebx
call fcn.101113d0
test eax, eax
js 0x1011172a
mov eax, dword [ebp - 0x238]
xor ecx, ecx
mov edx, dword [ebp - 0x228]
shr edx, 1
add edx, dword [ebp - 0x21c]
mov esi, dword [eax*8 + 0x10007b54]
mov eax, dword [ebp - 0x23c]
push 0x1003bb6b
mov dword [ebp - 0x240], edx
push 2
add esi, dword [eax]
mov eax, edx
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.10163d16
mov dword [esi], eax
pop ecx
pop ecx
test eax, eax
jne 0x10111707
mov esi, 0x8007000e
jmp 0x1011172a
push dword [ebp - 0x210]
lea ecx, [ebp - 0x20c]
push ecx
push 0x1002a60c
push dword [ebp - 0x240]
push eax
call fcn.1003fd37
add esp, 0x14
mov esi, eax
mov ecx, dword [ebp - 0x22c]
inc ecx
mov dword [ebp - 0x22c], ecx
test esi, esi
jns 0x1011161b
push dword [ebp - 0x210]
call dword [sym.imp.msvcrt.dll_void___cdecl_operator_delete_void__]
push ebx
call dword [sym.imp.msvcrt.dll_void___cdecl_operator_delete_void__]
pop ecx
pop ecx
mov eax, esi
pop edi
mov ecx, dword [ebp - 4]
pop esi
xor ecx, ebp
pop ebx
call fcn.101637b0
leave
ret