Function at 0x41aef0
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x74
mov eax, dword [0x4ff94c]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [0x512120]
push ebx
push esi
push edi
push 0x457
mov ebx, ecx
mov dword [ebp - 0x70], eax
call sub.mfc100u.dll_CWnd::IsDlgButtonChecked
push 0x45e
mov ecx, ebx
mov dword [0x4fac1c], eax
call sub.mfc100u.dll_CWnd::IsDlgButtonChecked
mov esi, dword [sym.imp.USER32.dll_GetDlgItemTextA]
push 0x63
lea ecx, [ebp - 0x68]
push ecx
mov dword [0x512120], eax
mov edx, dword [ebx + 0x20]
push 0x456
push edx
call esi
mov edi, dword [sym.imp.MSVCR100.dll_atoi]
lea eax, [ebp - 0x68]
push eax
call edi
add esp, 4
cmp eax, 0xa
jge 0x41af5f
mov eax, 0xa
jmp 0x41af69
cmp eax, 0x78
jle 0x41af69
mov eax, 0x78
push 0x46b
mov ecx, ebx
mov dword [0x50ea48], eax
call sub.mfc100u.dll_CWnd::IsDlgButtonChecked
push 0x4be
mov ecx, ebx
mov word [0x4f8f0c], ax
call sub.mfc100u.dll_CWnd::IsDlgButtonChecked
push 0x4bf
mov ecx, ebx
mov byte [0x5096f1], al
call sub.mfc100u.dll_CWnd::IsDlgButtonChecked
test eax, eax
je 0x41afcd
push 0x493
mov ecx, ebx
call sub.mfc100u.dll_CWnd::IsDlgButtonChecked
test eax, eax
je 0x41afbf
mov ecx, 2
mov word [0x4f907c], cx
jmp 0x41afd5
mov edx, 1
mov word [0x4f907c], dx
jmp 0x41afd5
xor eax, eax
mov word [0x4f907c], ax
mov edx, dword [ebx + 0x20]
push 0x63
lea ecx, [ebp - 0x68]
push ecx
push 0x446
push edx
call esi
lea eax, [ebp - 0x68]
push eax
call edi
add esp, 4
cmp eax, 0x63
ja 0x41affa
mov word [0x4f84f0], ax
lea ecx, [ebp - 0x74]
push ecx
lea edx, [ebp - 0x6c]
push edx
push 0
push 0x2001f
push 0
push 0x4dab4c
push 0
push str.SoftwarePRONTOSettings
push closesocket
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
je 0x41b04d
mov eax, dword [ebx + 0x20]
push 0x30
push str.Pronto_Xi
push str.Cant_create_open_settings_registry_key
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004b7f56
mov esp, ebp
pop ebp
ret
cmp dword [0x4fac1c], 0
je 0x41b06a
mov ecx, dword [0x4cfc7c]
mov dl, byte [0x4cfc80]
mov dword [ebp - 0x68], ecx
mov byte [ebp - 0x64], dl
jmp 0x41b07d
mov eax, dword [0x4cfc74]
mov cx, word [0x4cfc78]
mov dword [ebp - 0x68], eax
mov word [ebp - 0x64], cx
lea eax, [ebp - 0x68]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x41b083
mov esi, dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
sub eax, edx
inc eax
push eax
mov eax, dword [ebp - 0x6c]
lea edx, [ebp - 0x68]
push edx
push 1
push 0
push 0x4d0a28
push eax
call esi
cmp dword [0x512120], 0
je 0x41b0c4
mov ecx, dword [0x4cfc7c]
mov dl, byte [0x4cfc80]
mov dword [ebp - 0x68], ecx
mov byte [ebp - 0x64], dl
jmp 0x41b0d7
mov eax, dword [0x4cfc74]
mov cx, word [0x4cfc78]
mov dword [ebp - 0x68], eax
mov word [ebp - 0x64], cx
lea eax, [ebp - 0x68]
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x41b0e0
sub eax, edx
inc eax
push eax
mov eax, dword [ebp - 0x6c]
lea edx, [ebp - 0x68]
push edx
push 1
push 0
push 0x4d0a1c
push eax
call esi
mov ecx, dword [0x50ea48]
mov edi, dword [sym.imp.MSVCR100.dll_sprintf]
push ecx
lea edx, [ebp - 0x68]
push 0x4cce38
push edx
call edi
lea eax, [ebp - 0x68]
add esp, 0xc
lea ecx, [eax + 1]
nop
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x41b120
sub eax, ecx
mov ecx, dword [ebp - 0x6c]
inc eax
push eax
lea eax, [ebp - 0x68]
push eax
push 1
push 0
push 0x4d0a0c
push ecx
call esi
cmp word [0x4f8f0c], 0
je 0x41b15b
mov edx, dword [0x4cfc7c]
mov al, byte [0x4cfc80]
mov dword [ebp - 0x68], edx
mov byte [ebp - 0x64], al
jmp 0x41b16f
mov ecx, dword [0x4cfc74]
mov dx, word [0x4cfc78]
mov dword [ebp - 0x68], ecx
mov word [ebp - 0x64], dx
lea eax, [ebp - 0x68]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x41b175
mov ecx, dword [ebp - 0x6c]
sub eax, edx
inc eax
push eax
lea eax, [ebp - 0x68]
push eax
push 1
push 0
push 0x4d09fc
push ecx
call esi
cmp byte [0x5096f1], 0
je 0x41b1af
mov edx, dword [0x4cfc7c]
mov al, byte [0x4cfc80]
mov dword [ebp - 0x68], edx
mov byte [ebp - 0x64], al
jmp 0x41b1c3
mov ecx, dword [0x4cfc74]
mov dx, word [0x4cfc78]
mov dword [ebp - 0x68], ecx
mov word [ebp - 0x64], dx
lea eax, [ebp - 0x68]
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x41b1d0
mov ecx, dword [ebp - 0x6c]
sub eax, edx
inc eax
push eax
lea eax, [ebp - 0x68]
push eax
push 1
push 0
push 0x4d09ec
push ecx
call esi
mov ax, word [0x4f907c]
cmp ax, 2
jne 0x41b218
mov edx, dword [0x4d09e4]
mov ax, word [0x4d09e8]
mov cl, byte [0x4d09ea]
mov dword [ebp - 0x68], edx
mov word [ebp - 0x64], ax
mov byte [ebp - 0x62], cl
jmp 0x41b244
test ax, ax
je 0x41b230
mov edx, dword [0x4cfc7c]
mov al, byte [0x4cfc80]
mov dword [ebp - 0x68], edx
mov byte [ebp - 0x64], al
jmp 0x41b244
mov ecx, dword [0x4cfc74]
mov dx, word [0x4cfc78]
mov dword [ebp - 0x68], ecx
mov word [ebp - 0x64], dx
lea eax, [ebp - 0x68]
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x41b250
mov ecx, dword [ebp - 0x6c]
sub eax, edx
inc eax
push eax
lea eax, [ebp - 0x68]
push eax
push 1
push 0
push 0x4d09d4
push ecx
call esi
movsx edx, word [0x4f84f0]
push edx
lea eax, [ebp - 0x68]
push 0x4cce38
push eax
call edi
lea eax, [ebp - 0x68]
add esp, 0xc
lea ecx, [eax + 1]
lea ebx, [ebx]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x41b290
mov edx, dword [ebp - 0x6c]
sub eax, ecx
inc eax
push eax
lea ecx, [ebp - 0x68]
push ecx
push 1
push 0
push 0x4d09c8
push edx
call esi
push 0x4e7
mov ecx, ebx
call sub.mfc100u.dll_CWnd::IsDlgButtonChecked
test eax, eax
je 0x41b2ca
mov dword [section..data], 1
jmp 0x41b31c
push 0x4e8
mov ecx, ebx
call sub.mfc100u.dll_CWnd::IsDlgButtonChecked
test eax, eax
je 0x41b2e6
mov dword [section..data], 2
jmp 0x41b31c
push 0x4e9
mov ecx, ebx
call sub.mfc100u.dll_CWnd::IsDlgButtonChecked
test eax, eax
je 0x41b302
mov dword [section..data], 3
jmp 0x41b31c
push 0x4ea
mov ecx, ebx
call sub.mfc100u.dll_CWnd::IsDlgButtonChecked
test eax, eax
je 0x41b31c
mov dword [section..data], 4
mov eax, dword [section..data]
push eax
lea ecx, [ebp - 0x68]
push 0x4cce38
push ecx
call edi
lea eax, [ebp - 0x68]
add esp, 0xc
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x41b336
sub eax, edx
inc eax
push eax
mov eax, dword [ebp - 0x6c]
lea edx, [ebp - 0x68]
push edx
push 1
push 0
push 0x4d09bc
push eax
call esi
mov eax, dword [section..data]
cmp eax, 1
je 0x41b38e
cmp eax, 2
je 0x41b38e
push 0x47c
mov ecx, ebx
call sub.mfc100u.dll_CWnd::IsDlgButtonChecked
test eax, eax
je 0x41b38e
mov ecx, dword [0x4cfc7c]
mov dl, byte [0x4cfc80]
mov byte [0x501220], 1
mov dword [ebp - 0x68], ecx
mov byte [ebp - 0x64], dl
jmp 0x41b3a8
mov eax, dword [0x4cfc74]
mov cx, word [0x4cfc78]
mov byte [0x501220], 0
mov dword [ebp - 0x68], eax
mov word [ebp - 0x64], cx
lea eax, [ebp - 0x68]
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x41b3b0
sub eax, edx
inc eax
push eax
mov eax, dword [ebp - 0x6c]
lea edx, [ebp - 0x68]
push edx
push 1
push 0
push 0x4d09a8
push eax
call esi
mov ecx, dword [ebp - 0x6c]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov edx, dword [ebp - 0x70]
cmp edx, dword [0x512120]
je 0x41b3f9
mov eax, dword [ebx + 0x20]
push 0
push str.Pronto_Xi
push str.Exit_PROCLIENT_for_mail_notifcation_change_to_take_effect
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
mov ecx, ebx
call sub.mfc100u.dll_CDialog::OnOK
mov ecx, dword [ebx + 0x94]
cmp ecx, dword [section..data]
je 0x41b413
call fcn.004051d0
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004b7f56
mov esp, ebp
pop ebp
ret