Function at 0x41f730
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4c5fa8
mov eax, dword fs:[0]
push eax
sub esp, 0x74
mov eax, dword [0x4ff94c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
lea ecx, [ebp - 0x78]
call dword [0x4cb4cc]
push 0
push 0
push 0xf0
push 0x44a
mov ecx, edi
mov dword [ebp - 4], 0
call sub.mfc100u.dll_CWnd::SendDlgItemMessageW
test eax, eax
je 0x41f791
mov dword [0x4fac24], 1
jmp 0x41f7b2
push 0
push 0
push 0xf0
push 0x44c
mov ecx, edi
call sub.mfc100u.dll_CWnd::SendDlgItemMessageW
neg eax
sbb eax, eax
and eax, 2
mov dword [0x4fac24], eax
mov eax, dword [edi + 0x20]
push 0x103
push 0x50e3d0
push 0x425
push eax
call dword [sym.imp.USER32.dll_GetDlgItemTextA]
cmp dword [0x4fac24], 1
jne 0x41f801
cmp byte [0x50e3d0], 0
jne 0x41f801
push 0x375
lea ecx, [ebp - 0x78]
call fcn.00409210
mov ecx, dword [ebp - 0x78]
push 0x30
push 0x4fabe8
push ecx
mov ecx, edi
call sub.mfc100u.dll_CWnd::MessageBoxW
jmp 0x41f95f
push 0
push 0
push 0x44d
mov ecx, edi
call sub.mfc100u.dll_CWnd::GetDlgItemInt
mov dword [0x4f97f4], eax
mov eax, dword [0x4f97fc]
test eax, eax
js 0x41f829
push eax
call dword [sym.imp.MSVCR100.dll__close]
add esp, 4
lea edx, [ebp - 0x80]
push edx
lea eax, [ebp - 0x7c]
push eax
push 0
push 0x2001f
push 0
push 0x4dab4c
push 0
push str.SoftwarePRONTOSettings
push closesocket
mov dword [0x4f97fc], 0xffffffff
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
je 0x41f87a
mov ecx, dword [edi + 0x20]
push 0x30
push str.Pronto_Xi
push str.Cant_create_open_settings_registry_key
push ecx
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x41f95f
mov eax, dword [0x4fac24]
cmp eax, 1
jne 0x41f897
mov edx, dword [0x4d17f8]
mov eax, dword [0x4d17fc]
mov dword [ebp - 0x74], edx
mov dword [ebp - 0x70], eax
jmp 0x41f8c0
test eax, eax
jne 0x41f8af
mov ecx, dword [0x4d17f0]
mov dl, byte [0x4d17f4]
mov dword [ebp - 0x74], ecx
mov byte [ebp - 0x70], dl
jmp 0x41f8c0
mov eax, dword [str.disable]
mov ecx, dword [0x4d17ec]
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], ecx
lea eax, [ebp - 0x74]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x41f8c6
mov esi, dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
sub eax, edx
inc eax
push eax
mov eax, dword [ebp - 0x7c]
lea edx, [ebp - 0x74]
push edx
push 1
push 0
push 0x4d17dc
push eax
call esi
mov eax, 0x50e3d0
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x41f8f2
sub eax, ecx
mov ecx, dword [ebp - 0x7c]
inc eax
push eax
push 0x50e3d0
push 1
push 0
push 0x4d17d0
push ecx
call esi
mov edx, dword [0x4f97f4]
push edx
lea eax, [ebp - 0x74]
push 0x4ce1bc
push eax
call dword [sym.imp.MSVCR100.dll_sprintf]
lea eax, [ebp - 0x74]
add esp, 0xc
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x41f930
mov edx, dword [ebp - 0x7c]
sub eax, ecx
inc eax
push eax
lea ecx, [ebp - 0x74]
push ecx
push 1
push 0
push 0x4d17c4
push edx
call esi
mov eax, dword [ebp - 0x7c]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, edi
call sub.mfc100u.dll_CDialog::OnOK
lea ecx, [ebp - 0x78]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004b7f56
mov esp, ebp
pop ebp
ret