Function at 0x401e15
Capabilities:
Query or enumerate registry value

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x35c
mov eax, dword [0x406004]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
xor eax, eax
xor ebx, ebx
push 0x4e
mov word [ebp - 0x58], ax
lea eax, [ebp - 0x56]
push ebx
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
mov dword [ebp - 0x350], ebx
lea eax, [ebp - 0x350]
push eax
push 0x20019
push ebx
push 0x401060
push 0x80000001
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
push 8
xor edi, edi
mov ebx, 0x406740
pop esi
inc edi
mov dword [ebp - 0x35c], esi
push edi
push 0x40114c
lea eax, [ebp - 0x348]
push 0x200
push eax
call fcn.0040163e
add esp, 0x10
mov dword [ebp - 0x34c], 0xa0
xor eax, eax
mov word [ebp - 0xf8], ax
lea eax, [ebp - 0x34c]
push eax
lea eax, [ebp - 0xf8]
push eax
push 0
push 0
lea eax, [ebp - 0x348]
push eax
push dword [ebp - 0x350]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
push 0x20
pop ecx
lea eax, [ebp - 0xf8]
cmp word [ebp - 0xf8], cx
jne 0x401ee4
add eax, 2
cmp word [eax], cx
je 0x401edc
xor ecx, ecx
cmp cx, word [eax]
je 0x401f8f
push eax
mov edx, 0xa0
mov ecx, ebx
call fcn.004015bc
push edi
push 0x401160
lea eax, [ebp - 0x348]
push 0x200
push eax
call fcn.0040163e
add esp, 0x10
lea eax, [ebp - 0x34c]
push 0x50
pop esi
push eax
lea eax, [ebp - 0x58]
mov dword [ebp - 0x34c], esi
push eax
push 0
push 0
lea eax, [ebp - 0x348]
push eax
push dword [ebp - 0x350]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
xor eax, eax
cmp ax, word [ebp - 0x58]
jne 0x401f54
push ebx
mov edx, esi
lea ecx, [ebp - 0x58]
call fcn.004015bc
mov ecx, dword [0x406d08]
lea eax, [ebp - 0x58]
lea esi, [edi + 0xd5]
push eax
mov edx, esi
call fcn.00404b14
lea edx, [ebp - 0x148]
lea ecx, [ebp - 0x58]
call fcn.004053bd
mov eax, edx
push eax
push esi
push dword [0x406d08]
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
mov esi, dword [ebp - 0x35c]
inc edi
add ebx, 0xa0
dec esi
mov dword [ebp - 0x35c], esi
jne 0x401e78
mov ebx, dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
xor esi, esi
push 0x14
inc esi
pop edi
push esi
push 0x401170
lea eax, [ebp - 0x348]
push 0x200
push eax
call fcn.0040163e
add esp, 0x10
mov dword [ebp - 0x34c], 0xa0
xor eax, eax
mov word [ebp - 0xf8], ax
lea eax, [ebp - 0x34c]
push eax
lea eax, [ebp - 0xf8]
push eax
push 0
push 0
lea eax, [ebp - 0x348]
push eax
push dword [ebp - 0x350]
call ebx
xor eax, eax
cmp ax, word [ebp - 0xf8]
je 0x402027
lea eax, [ebp - 0xf8]
push eax
push 0
push 0x143
push 0xc9
push dword [0x406d08]
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
inc esi
dec edi
jne 0x401faf
push 0x64
pop esi
lea eax, [ebp - 0x34c]
mov dword [ebp - 0x358], esi
push eax
lea eax, [ebp - 0x358]
mov dword [ebp - 0x354], esi
push eax
push edi
push edi
push 0x401190
push dword [ebp - 0x350]
mov dword [ebp - 0x34c], 8
call ebx
cmp dword [ebp - 0x358], edi
jl 0x4020a1
push edi
mov edi, dword [sym.imp.USER32.dll_GetSystemMetrics]
call edi
mov ecx, dword [ebp - 0x358]
add ecx, 0x32
cmp ecx, eax
jge 0x4020a1
cmp dword [ebp - 0x354], 0
jl 0x4020a1
push 1
call edi
mov edx, dword [ebp - 0x354]
lea ecx, [edx + 0x32]
cmp ecx, eax
jge 0x4020a1
mov esi, dword [ebp - 0x358]
jmp 0x4020af
mov edx, esi
mov dword [ebp - 0x358], esi
mov dword [ebp - 0x354], edx
push 0x1d
push 0
push 0
push edx
push esi
push 0
push dword [0x406d08]
call dword [sym.imp.USER32.dll_SetWindowPos]
push dword [ebp - 0x350]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00405716
mov esp, ebp
pop ebp
ret