Function at 0x40beb0
Capabilities:
Contain obfuscated stackstrings
Query or enumerate registry value
Set registry value

Disassembly:
push ebp
xor edx, edx
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x2a4
mov eax, dword [ebp + 0xc]
mov word [ebp - 0x266], dx
mov dword [ebp - 0x23c], 0x6f0053
mov dword [ebp - 0x238], 0x740066
mov dword [ebp - 0x234], 0x610077
mov dword [ebp - 0x230], 0x650072
mov dword [ebp - 0x22c], 0x4d005c
mov dword [ebp - 0x228], 0x630069
mov dword [ebp - 0x224], 0x6f0072
mov dword [ebp - 0x220], 0x6f0073
mov dword [ebp - 0x21c], 0x740066
mov dword [ebp - 0x218], 0x4f005c
mov dword [ebp - 0x214], 0x45004c
mov dword [ebp - 0x210], 0x5c
mov dword [ebp - 0x27a], 0x6e0045
mov dword [ebp - 0x276], 0x620061
mov dword [ebp - 0x272], 0x65006c
mov dword [ebp - 0x26e], 0x430044
mov dword [ebp - 0x26a], 0x4d004f
mov dword [ebp - 0x264], 0x6e0045
mov dword [ebp - 0x260], 0x620061
mov dword [ebp - 0x25c], 0x65006c
mov dword [ebp - 0x258], 0x650052
mov dword [ebp - 0x254], 0x6f006d
mov dword [ebp - 0x250], 0x650074
mov dword [ebp - 0x24c], 0x6f0043
mov dword [ebp - 0x248], 0x6e006e
mov dword [ebp - 0x244], 0x630065
mov dword [ebp - 0x240], 0x74
mov dword [ebp - 0x282], 0x59
mov dword [ebp - 0x27e], 0x4e
cmp eax, 0x110
je 0x40c020
cmp eax, 0x111
jne 0x40c010
cmp word [ebp + 0x10], 1
movzx eax, word [ebp + 0x10]
je 0x40c1a0
cmp eax, 2
je 0x40c178
lea esp, [ebp - 0xc]
xor eax, eax
pop ebx
pop esi
pop edi
pop ebp
ret 0x10
lea esi, [ebp - 0x28c]
lea ebx, [ebp - 0x23c]
mov dword [esp], 0x80000002
mov dword [esp + 8], esi
mov dword [esp + 4], ebx
call dword [sym.imp.advapi32.dll_RegOpenKeyW]
sub esp, 0xc
test eax, eax
jne 0x40c2c0
mov eax, dword [ebp - 0x28c]
lea edx, [ebp - 0x27a]
lea edi, [ebp - 0x288]
mov dword [ebp - 0x288], 0x200
lea esi, [ebp - 0x20c]
mov dword [esp + 8], edx
mov ebx, dword [sym.imp.advapi32.dll_RegGetValueW]
mov dword [esp + 0x18], edi
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 2
mov dword [esp + 4], 0
mov dword [esp], eax
call ebx
lea edx, [ebp - 0x27a]
sub esp, 0x1c
test eax, eax
jne 0x40c330
xor eax, eax
cmp word [ebp - 0x20c], 0x59
mov edx, dword [sym.imp.user32.dll_CheckDlgButton]
mov dword [esp + 4], 0x3f3
sete al
mov dword [esp + 8], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x290], edx
mov dword [esp], eax
call edx
mov eax, dword [ebp - 0x28c]
mov dword [ebp - 0x288], 0x200
sub esp, 0xc
mov dword [esp + 0x14], esi
lea esi, [ebp - 0x264]
mov dword [esp + 0x18], edi
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 2
mov dword [esp + 8], esi
mov dword [esp + 4], 0
mov dword [esp], eax
call ebx
mov edx, dword [ebp - 0x290]
sub esp, 0x1c
test eax, eax
jne 0x40c2e0
xor eax, eax
cmp word [ebp - 0x20c], 0x59
mov dword [esp + 4], 0x3f4
sete al
mov dword [esp + 8], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call edx
mov eax, dword [ebp - 0x28c]
sub esp, 0xc
mov dword [esp], eax
call dword [sym.imp.advapi32.dll_RegCloseKey]
mov eax, 1
sub esp, 4
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret 0x10
mov dword [esp + 4], 2
mov eax, dword [ebp + 8]
mov dword [esp], eax
call dword [sym.imp.user32.dll_EndDialog]
mov eax, 1
sub esp, 8
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret 0x10
lea eax, [ebp - 0x28c]
mov dword [esp], 0x80000002
lea edi, [ebp - 0x27e]
mov dword [esp + 8], eax
lea eax, [ebp - 0x23c]
lea ebx, [ebp - 0x282]
mov dword [ebp - 0x288], 4
mov dword [esp + 4], eax
call dword [sym.imp.advapi32.dll_RegOpenKeyW]
mov edx, dword [sym.imp.user32.dll_IsDlgButtonChecked]
mov eax, dword [ebp + 8]
sub esp, 0xc
mov esi, dword [ebp - 0x288]
mov dword [ebp - 0x294], edx
mov dword [esp + 4], 0x3f3
mov dword [esp], eax
call edx
sub esp, 8
cmp eax, 1
mov eax, edi
cmove eax, ebx
mov dword [esp + 0x14], esi
mov esi, dword [sym.imp.advapi32.dll_RegSetValueExW]
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], eax
lea eax, [ebp - 0x27a]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x28c]
mov dword [esp + 8], 0
mov dword [esp], eax
call esi
mov ecx, dword [ebp - 0x288]
mov eax, dword [ebp + 8]
sub esp, 0x18
mov edx, dword [ebp - 0x294]
mov dword [ebp - 0x290], ecx
mov dword [esp + 4], 0x3f4
mov dword [esp], eax
call edx
mov ecx, dword [ebp - 0x290]
sub esp, 8
cmp eax, 1
lea eax, [ebp - 0x264]
cmovne ebx, edi
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x28c]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0
mov dword [esp], eax
call esi
mov eax, dword [ebp - 0x28c]
sub esp, 0x18
mov dword [esp], eax
call dword [sym.imp.advapi32.dll_RegCloseKey]
sub esp, 4
mov dword [esp + 4], 1
jmp 0x40c180
mov dword [esp + 8], esi
mov dword [esp + 4], ebx
mov dword [esp], 0x80000002
call dword [sym.imp.advapi32.dll_RegCreateKeyW]
sub esp, 0xc
jmp 0x40c04c
lea eax, [ebp - 0x282]
mov dword [esp + 0x14], 4
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x28c]
mov dword [ebp - 0x288], 4
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0
mov dword [esp + 4], esi
mov dword [esp], eax
call dword [sym.imp.advapi32.dll_RegSetValueExW]
mov edx, dword [ebp - 0x290]
sub esp, 0x18
jmp 0x40c12e
lea eax, [ebp - 0x282]
mov dword [esp + 0x14], 4
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x28c]
mov dword [ebp - 0x288], 4
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0
mov dword [esp + 4], edx
mov dword [esp], eax
call dword [sym.imp.advapi32.dll_RegSetValueExW]
sub esp, 0x18
jmp 0x40c0ae