Function at 0x41385f
Capabilities:
Query or enumerate registry value

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x234
mov eax, dword [0x4434f4]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
lea eax, [ebp - 0x21c]
xor esi, esi
push eax
push 0x20019
push esi
push 0x402750
xor ebx, ebx
mov dword [ebp - 0x21c], esi
push reloc.OLEAUT32.dll_SysReAllocString
inc ebx
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x413b68
push 3
pop edi
lea eax, [ebp - 0x22c]
mov dword [ebp - 0x224], esi
push eax
lea eax, [ebp - 0x224]
mov dword [ebp - 0x220], esi
push eax
lea eax, [ebp - 0x228]
mov dword [ebp - 0x228], edi
push eax
push esi
push 0x401adc
push dword [ebp - 0x21c]
mov dword [ebp - 0x22c], 8
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x413b5c
cmp dword [ebp - 0x228], edi
jne 0x413b5c
mov edx, 0x100
lea ecx, [ebp - 0x208]
call fcn.00422b05
test eax, eax
je 0x413b5c
movzx eax, word [ebp - 0x222]
cdq
mov ebx, eax
mov dword [ebp - 0x20c], esi
movzx eax, word [ebp - 0x224]
mov ecx, edx
shld ecx, ebx, 0x10
cdq
shl ebx, 0x10
or ecx, edx
or ebx, eax
mov dword [ebp - 0x210], esi
movzx eax, word [ebp - 0x21e]
shld ecx, ebx, 0x10
cdq
shl ebx, 0x10
or ecx, edx
or ebx, eax
mov dword [ebp - 0x214], esi
movzx eax, word [ebp - 0x220]
shld ecx, ebx, 0x10
cdq
shl ebx, 0x10
or ebx, eax
mov dword [ebp - 0x218], esi
or ecx, edx
lea eax, [ebp - 0x208]
mov dword [ebp - 0x230], ecx
jmp 0x413988
inc esi
add eax, 2
push 0x2e
push eax
call dword [sym.imp.msvcrt.dll_wcschr]
pop ecx
pop ecx
test eax, eax
jne 0x413984
mov eax, esi
sub eax, 1
je 0x413abf
sub eax, 1
je 0x413a93
sub eax, 1
je 0x413a60
lea eax, [ebp - 0x208]
test esi, esi
je 0x4139d5
push eax
call dword [sym.imp.msvcrt.dll__wtoi]
pop ecx
mov dword [ebp - 0x214], eax
jmp 0x413ae2
inc esi
add eax, 2
push 0x2c
push eax
call dword [sym.imp.msvcrt.dll_wcschr]
pop ecx
pop ecx
test eax, eax
jne 0x4139d1
sub esi, 1
je 0x413a4b
sub esi, 1
je 0x413a2f
sub esi, 1
je 0x413a0c
lea eax, [ebp - 0x208]
push eax
call dword [sym.imp.msvcrt.dll__wtoi]
pop ecx
mov dword [ebp - 0x20c], eax
jmp 0x413ae2
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x214]
push eax
lea eax, [ebp - 0x210]
push eax
lea eax, [ebp - 0x20c]
push eax
push 0x404340
jmp 0x413a81
lea eax, [ebp - 0x214]
push eax
lea eax, [ebp - 0x210]
push eax
lea eax, [ebp - 0x20c]
push eax
push 0x404360
jmp 0x413aad
lea eax, [ebp - 0x210]
push eax
lea eax, [ebp - 0x20c]
push eax
push 0x404378
jmp 0x413ad2
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x214]
push eax
lea eax, [ebp - 0x210]
push eax
lea eax, [ebp - 0x20c]
push eax
push 0x4042f8
lea eax, [ebp - 0x208]
push eax
call dword [sym.imp.msvcrt.dll_swscanf]
add esp, 0x18
jmp 0x413ae2
lea eax, [ebp - 0x214]
push eax
lea eax, [ebp - 0x210]
push eax
lea eax, [ebp - 0x20c]
push eax
push 0x404318
lea eax, [ebp - 0x208]
push eax
call dword [sym.imp.msvcrt.dll_swscanf]
add esp, 0x14
jmp 0x413ae2
lea eax, [ebp - 0x210]
push eax
lea eax, [ebp - 0x20c]
push eax
push 0x404330
lea eax, [ebp - 0x208]
push eax
call dword [sym.imp.msvcrt.dll_swscanf]
add esp, 0x10
mov eax, dword [ebp - 0x20c]
mov ecx, dword [ebp - 0x210]
mov esi, dword [ebp - 0x218]
shl eax, 0x10
add ecx, eax
mov eax, dword [ebp - 0x214]
shl eax, 0x10
add esi, eax
mov eax, ecx
shr eax, 0x10
cdq
mov edi, edx
shld edi, eax, 0x10
shl eax, 0x10
mov dword [ebp - 0x218], eax
movzx eax, cx
mov ecx, dword [ebp - 0x218]
cdq
or ecx, eax
or edi, edx
shld edi, ecx, 0x10
mov eax, esi
shr eax, 0x10
shl ecx, 0x10
cdq
or ecx, eax
or edi, edx
shld edi, ecx, 0x10
movzx eax, si
cdq
shl ecx, 0x10
or edi, edx
or ecx, eax
cmp edi, dword [ebp - 0x230]
ja 0x413b59
jb 0x413b55
cmp ecx, ebx
jae 0x413b59
xor ebx, ebx
jmp 0x413b5c
xor ebx, ebx
inc ebx
push dword [ebp - 0x21c]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, dword [ebp - 4]
mov eax, ebx
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00441b90
mov esp, ebp
pop ebp
ret