Function at 0x4148b0
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
xor ecx, ecx
mov ebp, esp
sub esp, 0x3a8
push ebx
mov dword [ebp - 0x44], ecx
push esi
mov dword [ebp - 0x40], ecx
push edi
cmp dword [ebp + 0xc], ecx
jne 0x4148d1
cmp byte [0x41b110], cl
jne 0x4148f2
push 0
push 0x414eeb
push dword [ebp + 8]
push 0x6a
push dword [0x41a560]
call dword [sym.imp.USER32.dll_DialogBoxParamA]
cmp eax, 1
jne 0x414eb2
mov edi, 1
push edi
call fcn.0040e46f
test byte [0x41b210], 0xc
je 0x4149e9
push edi
mov eax, dword [0x41b004]
push 0xffffffffffffffff
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
push 0x100c
push eax
call esi
lea ecx, [ebp - 0x1a8]
mov dword [ebp - 0x7c], eax
mov ebx, 0xffffffff
mov dword [ebp - 0x80], edi
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x68], 0x100
mov dword [ebp - 0x6c], ecx
push 0
push dword [ebp - 0x7c]
push 0x100c
push dword [0x41b004]
call esi
mov dword [ebp - 0x7c], eax
cmp eax, ebx
je 0x4149ef
lea eax, [ebp - 0x80]
push eax
push 0
push 0x1005
push dword [0x41b004]
call esi
mov eax, dword [0x41b210]
test al, 4
je 0x414994
lea eax, [ebp - 0x1a8]
push eax
call fcn.00414ebb
test eax, eax
mov eax, dword [0x41b210]
jne 0x414ded
test al, 8
je 0x414942
lea eax, [ebp - 4]
lea ecx, [ebp - 8]
push eax
lea edx, [ebp - 0x1a8]
push 0x416550
mov eax, dword [0x41b018]
mov dword [ebp - 4], 0x4000
push ecx
push 0
push edx
push eax
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x414942
cmp dword [ebp - 8], edi
jne 0x414942
push 0x416550
call fcn.00414ebb
test eax, eax
je 0x414942
jmp 0x414ded
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
mov edi, 1
push 0
push 0x415129
mov dword [0x416004], edi
push dword [ebp + 8]
push 0x6d
push dword [0x41a560]
call dword [sym.imp.USER32.dll_CreateDialogParamA]
mov dword [ebp - 0x3c], eax
test eax, eax
je 0x414a38
push 0
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_EnableWindow]
push 0
mov eax, dword [section..data]
push 0
mov dword [0x41b050], edi
push 0xb
push eax
call esi
xor edi, edi
mov eax, dword [0x41b210]
and eax, 8
mov ebx, 0
mov dword [ebp - 0x2c], edi
cmp eax, 1
adc ebx, 0xffffffff
lea eax, [ebp - 0x3a8]
and ebx, 0x416550
mov dword [ebp - 0x98], eax
mov byte [ebp - 0x2a8], 0
mov dword [ebp - 0xa8], 0x49
mov dword [ebp - 0x94], 0x100
push edi
push 9
push 0x110a
push dword [section..data]
call esi
mov dword [ebp - 0xa4], eax
lea eax, [ebp - 0xa8]
push eax
push edi
push 0x110c
push dword [section..data]
call esi
push dword [ebp - 0x3c]
call fcn.00415108
test eax, eax
je 0x414d74
cmp dword [ebp - 0x88], 0
je 0x414b0f
push dword [ebp - 0xa4]
push 4
push 0x110a
push dword [section..data]
call esi
test eax, eax
jne 0x414b65
push dword [ebp - 0xa4]
push dword [section..data]
call fcn.0040fb5e
test eax, eax
je 0x414b0f
push dword [ebp - 0xa4]
push 4
push 0x110a
push dword [section..data]
call esi
test eax, eax
je 0x414b0f
inc edi
jmp 0x414b65
push dword [ebp - 0xa4]
push 1
push 0x110a
push dword [section..data]
call esi
test eax, eax
jne 0x414b65
push dword [ebp - 0xa4]
push 3
push 0x110a
push dword [section..data]
call esi
mov dword [ebp - 0xa4], eax
test eax, eax
je 0x414e46
test edi, edi
je 0x414b0f
dec edi
push eax
push 0x8001
push 0x1102
push dword [section..data]
call esi
jmp 0x414b0f
mov dword [ebp - 0xa4], eax
lea eax, [ebp - 0xa8]
push eax
push 0
push 0x110c
push dword [section..data]
call esi
mov eax, dword [0x41b210]
test al, 2
je 0x414ba3
lea eax, [ebp - 0x3a8]
push eax
call fcn.00414ebb
test eax, eax
mov eax, dword [0x41b210]
jne 0x414d37
test al, 0xc
je 0x414aa8
push 0
lea eax, [ebp - 0x3a8]
push eax
push dword [ebp - 0xa4]
push dword [section..data]
call fcn.0040fa48
test eax, eax
je 0x414aa8
lea ecx, [ebp - 0x38]
lea edx, [ebp - 0x3a8]
push ecx
push edx
push eax
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyA]
test eax, eax
jne 0x414aa8
mov eax, dword [0x41b210]
and al, 0xd
cmp al, 5
jne 0x414c2e
push 0
push 0
push 0
push 0
push 0x41b110
push dword [ebp - 0x38]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x414d24
push 0x41b110
lea eax, [ebp - 0x2a8]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov dword [ebp - 0x2c], 1
jmp 0x414d24
lea eax, [ebp - 4]
lea ecx, [ebp - 8]
mov dword [ebp - 0x30], 0x100
mov dword [ebp - 4], 0x4000
mov dword [ebp - 0x34], 1
push eax
lea edx, [ebp - 0x1a8]
push ebx
lea eax, [ebp - 0x30]
push ecx
push 0
push eax
push edx
push 0
push dword [ebp - 0x38]
call dword [sym.imp.ADVAPI32.dll_RegEnumValueA]
test eax, eax
mov eax, dword [0x41b210]
jne 0x414d24
test al, 4
je 0x414c8a
lea eax, [ebp - 0x1a8]
push eax
call fcn.00414ebb
test eax, eax
mov eax, dword [0x41b210]
jne 0x414ca2
test al, 8
je 0x414ce3
cmp dword [ebp - 8], 1
jne 0x414ce3
push 0x416550
call fcn.00414ebb
test eax, eax
je 0x414ce3
lea eax, [ebp - 0x1a8]
lea ecx, [ebp - 0x2a8]
cmp dword [ebp - 0x2c], 0
push eax
push ecx
je 0x414cd6
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jle 0x414ce3
lea eax, [ebp - 0x1a8]
lea ecx, [ebp - 0x2a8]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
jmp 0x414ce3
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov dword [ebp - 0x2c], 1
mov ecx, dword [ebp - 0x34]
lea eax, [ebp - 4]
push eax
lea edx, [ebp - 8]
push ebx
lea eax, [ebp - 0x30]
push edx
inc dword [ebp - 0x34]
push 0
lea edx, [ebp - 0x1a8]
mov dword [ebp - 0x30], 0x100
mov dword [ebp - 4], 0x4000
push eax
push edx
push ecx
push dword [ebp - 0x38]
call dword [sym.imp.ADVAPI32.dll_RegEnumValueA]
test eax, eax
mov eax, dword [0x41b210]
je 0x414c71
push dword [ebp - 0x38]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp dword [ebp - 0x2c], 0
je 0x414aa8
push dword [ebp - 0xa4]
push 0
push 0x1114
push dword [section..data]
call esi
push dword [ebp - 0xa4]
push 9
push 0x110b
push dword [section..data]
call esi
cmp dword [ebp - 0x2c], 0
jne 0x414dad
mov eax, dword [section..data]
mov dword [ebp - 0x40], eax
jmp 0x414e4d
test edi, edi
je 0x414e4d
mov eax, dword [ebp - 0xa4]
push eax
push 3
push 0x110a
push dword [section..data]
call esi
dec edi
jne 0x414d82
push eax
push 0x8001
push 0x1102
push dword [section..data]
call esi
jmp 0x414e4d
push dword [ebp + 8]
call fcn.0040ed52
cmp byte [ebp - 0x2a8], 0
jne 0x414dc7
mov dword [ebp - 0x7c], 0
jmp 0x414ded
lea eax, [ebp - 0x2a8]
lea ecx, [ebp - 0x5c]
push ecx
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x5c], 2
push 0xffffffffffffffff
push 0x100d
push dword [0x41b004]
call esi
mov dword [ebp - 0x7c], eax
mov edi, 3
lea eax, [ebp - 0x2c]
push eax
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x20], 0
push 0xffffffffffffffff
push 0x102b
push dword [0x41b004]
call esi
lea ecx, [ebp - 0x2c]
mov eax, dword [0x41b004]
push ecx
mov dword [ebp - 0x1c], edi
push dword [ebp - 0x7c]
push 0x102b
push eax
mov dword [ebp - 0x20], edi
call esi
push 0
push dword [ebp - 0x7c]
push 0x1013
push dword [0x41b004]
call esi
mov ecx, dword [0x41b004]
mov dword [ebp - 0x40], ecx
jmp 0x414e4d
mov dword [ebp - 0x44], 1
push 0
call fcn.0040e46f
cmp dword [ebp - 0x3c], 0
je 0x414e86
push 0
mov eax, dword [section..data]
mov dword [0x41b050], 0
push 1
push 0xb
push eax
call esi
push 1
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_EnableWindow]
push dword [ebp - 0x3c]
call dword [sym.imp.USER32.dll_DestroyWindow]
cmp dword [ebp - 0x40], 0
je 0x414e95
push dword [ebp - 0x40]
call dword [sym.imp.USER32.dll_SetFocus]
cmp dword [ebp - 0x44], 0
je 0x414eb2
push 0x40
push 0x10
push 0x29
push dword [ebp + 8]
push dword [0x41a560]
call sub.SHELL32.dll_ShellMessageBoxA
add esp, 0x14
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8