Function at 0x418a90
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xec
mov eax, dword [0x4ff94c]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, ecx
mov dword [ebp - 0xe8], esi
call fcn.00417800
test eax, eax
je 0x419330
cmp dword [0x50efa0], 0
je 0x418ad5
push 0
call fcn.0048e1c0
add esp, 4
push 1
mov ecx, esi
call sub.mfc100u.dll_CDialog::EndDialog
lea eax, [ebp - 0xec]
push eax
lea ecx, [ebp - 0xe4]
push ecx
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 0x418b2c
mov edx, dword [esi + 0x20]
push 0x30
push str.Pronto_Xi
push str.Cant_create_open_settings_registry_key
push edx
call dword [sym.imp.USER32.dll_MessageBoxA]
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004b7f56
mov esp, ebp
pop ebp
ret
mov eax, dword [0x4fac14]
push ebx
mov ebx, dword [sym.imp.MSVCR100.dll_sprintf]
push edi
cmp eax, 0x3e7
je 0x419049
cmp eax, 0x3e6
je 0x419062
cmp eax, 0x3e5
je 0x419069
push eax
lea eax, [ebp - 0xcc]
push str.com_u_
push eax
call ebx
mov eax, dword [0x4fac18]
add esp, 0xc
cmp eax, 0x3e800
jne 0x418ba0
lea eax, [ebp - 0xcc]
dec eax
nop
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x418b80
mov ecx, dword [str.256k_]
mov dx, word [0x4cfd58]
mov dword [eax], ecx
mov word [eax + 4], dx
jmp 0x418da4
cmp eax, 0x1f400
jne 0x418bd0
lea eax, [ebp - 0xcc]
dec eax
mov edi, edi
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x418bb0
mov ecx, dword [str.128k_]
mov dx, word [0x4cfd50]
mov dword [eax], ecx
mov word [eax + 4], dx
jmp 0x418da4
cmp eax, 0xdac0
jne 0x418bfe
lea eax, [ebp - 0xcc]
dec eax
mov edi, edi
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x418be0
mov ecx, dword [str.56k_]
mov dl, byte [0x4cfd48]
mov dword [eax], ecx
mov byte [eax + 4], dl
jmp 0x418da4
cmp eax, 0x9600
jne 0x418c39
lea eax, [ebp - 0xcc]
dec eax
lea esp, [esp]
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x418c10
mov ecx, dword [str.38400_]
mov dx, word [0x4cfd40]
mov dword [eax], ecx
mov cl, byte [0x4cfd42]
mov word [eax + 4], dx
mov byte [eax + 6], cl
jmp 0x418da4
cmp eax, 0x4b00
jne 0x418c70
lea eax, [ebp - 0xcc]
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x418c47
mov edx, dword [str.19200_]
mov cx, word [0x4cfd38]
mov dword [eax], edx
mov dl, byte [0x4cfd3a]
mov word [eax + 4], cx
mov byte [eax + 6], dl
jmp 0x418da4
cmp eax, 0x3840
jne 0x418ca9
lea eax, [ebp - 0xcc]
dec eax
mov edi, edi
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x418c80
mov ecx, dword [str.14400_]
mov dx, word [0x4cfd30]
mov dword [eax], ecx
mov cl, byte [0x4cfd32]
mov word [eax + 4], dx
mov byte [eax + 6], cl
jmp 0x418da4
cmp eax, 0x2580
jne 0x418cd7
lea eax, [ebp - 0xcc]
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x418cb7
mov edx, dword [str.9600_]
mov cx, word [0x4cfd28]
mov dword [eax], edx
mov word [eax + 4], cx
jmp 0x418da4
cmp eax, 0x12c0
jne 0x418d05
lea eax, [ebp - 0xcc]
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x418ce5
mov edx, dword [str.4800_]
mov cx, word [0x4cfd20]
mov dword [eax], edx
mov word [eax + 4], cx
jmp 0x418da4
cmp eax, 0x960
jne 0x418d33
lea eax, [ebp - 0xcc]
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x418d13
mov edx, dword [str.2400_]
mov cx, word [0x4cfd18]
mov dword [eax], edx
mov word [eax + 4], cx
jmp 0x418da4
cmp eax, 0x4b0
jne 0x418d5e
lea eax, [ebp - 0xcc]
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x418d41
mov edx, dword [str.1200_]
mov cx, word [0x4cfd10]
mov dword [eax], edx
mov word [eax + 4], cx
jmp 0x418da4
cmp eax, 0x12c
jne 0x418d8b
lea eax, [ebp - 0xcc]
dec eax
lea esp, [esp]
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x418d70
mov edx, dword [str.300_]
mov cl, byte [0x4cfd08]
mov dword [eax], edx
mov byte [eax + 4], cl
jmp 0x418da4
lea edi, [ebp - 0xcc]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x418d92
mov dx, word [0x4cfd00]
mov word [edi], dx
movzx eax, byte [0x4fabe6]
push eax
lea ecx, [ebp - 0xe0]
push 0x4cfcfc
push ecx
call ebx
lea eax, [ebp - 0xe0]
add esp, 0xc
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x418dc5
lea edi, [ebp - 0xcc]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x418dd5
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov al, byte [0x512114]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov si, word [0x4cfd00]
test al, al
jne 0x418e24
lea eax, [ebp - 0xcc]
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x418e04
mov dx, word [0x4cfcf8]
mov cl, byte [0x4cfcfa]
mov word [eax], dx
mov byte [eax + 2], cl
jmp 0x418edf
cmp al, 2
jne 0x418e50
lea eax, [ebp - 0xcc]
dec eax
nop
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x418e30
mov dx, word [0x4cfcf4]
mov cl, byte [0x4cfcf6]
mov word [eax], dx
mov byte [eax + 2], cl
jmp 0x418edf
cmp al, 1
jne 0x418e7d
lea eax, [ebp - 0xcc]
dec eax
jmp 0x418e60
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x418e60
mov dx, word [0x4cfcf0]
mov cl, byte [0x4cfcf2]
mov word [eax], dx
mov byte [eax + 2], cl
jmp 0x418edf
cmp al, 3
jne 0x418ea5
lea eax, [ebp - 0xcc]
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x418e88
mov dx, word [0x4cfcec]
mov cl, byte [0x4cfcee]
mov word [eax], dx
mov byte [eax + 2], cl
jmp 0x418edf
cmp al, 4
jne 0x418ecd
lea eax, [ebp - 0xcc]
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x418eb0
mov dx, word [0x4cfce8]
mov cl, byte [0x4cfcea]
mov word [eax], dx
mov byte [eax + 2], cl
jmp 0x418edf
lea edi, [ebp - 0xcc]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x418ed4
mov word [edi], si
mov al, byte [0x512115]
test al, al
jne 0x418f10
lea eax, [ebp - 0xcc]
dec eax
nop
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x418ef0
mov dx, word [0x4cfce4]
mov cl, byte [0x4cfce6]
mov word [eax], dx
mov byte [eax + 2], cl
jmp 0x418f7b
cmp al, 1
jne 0x418f3b
lea eax, [ebp - 0xcc]
dec eax
jmp 0x418f20
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x418f20
mov edx, dword [str.1.5_]
mov cl, byte [0x4cfce0]
mov dword [eax], edx
mov byte [eax + 4], cl
jmp 0x418f7b
cmp al, 2
jne 0x418f63
lea eax, [ebp - 0xcc]
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x418f46
mov dx, word [0x4cfcd8]
mov cl, byte [0x4cfcda]
mov word [eax], dx
mov byte [eax + 2], cl
jmp 0x418f7b
lea edi, [ebp - 0xcc]
dec edi
lea ebx, [ebx]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x418f70
mov word [edi], si
mov dl, byte [0x4fabe7]
test dl, 4
je 0x418fb4
lea eax, [ebp - 0xcc]
dec eax
lea ecx, [ecx]
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x418f90
mov ecx, dword [str.xonxoff_]
mov dword [eax], ecx
mov ecx, dword [0x4cfcd0]
mov dword [eax + 4], ecx
mov cl, byte [0x4cfcd4]
mov byte [eax + 8], cl
jmp 0x418fcb
lea edi, [ebp - 0xcc]
dec edi
jmp 0x418fc0
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x418fc0
mov word [edi], si
test dl, 1
je 0x418ff2
lea eax, [ebp - 0xcc]
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x418fd7
mov ecx, dword [str.dtrdsr_]
mov dword [eax], ecx
mov ecx, dword [0x4cfcc8]
mov dword [eax + 4], ecx
jmp 0x41900b
lea edi, [ebp - 0xcc]
dec edi
lea esp, [esp]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x419000
mov word [edi], si
test dl, 2
je 0x4190eb
lea eax, [ebp - 0xcc]
dec eax
jmp 0x419020
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x419020
mov edx, dword [str.rtscts]
mov cx, word [0x4cfcc0]
mov dword [eax], edx
mov dl, byte [0x4cfcc2]
mov word [eax + 4], cx
mov byte [eax + 6], dl
jmp 0x4190eb
mov eax, dword [str.telnet_]
mov ecx, dword [0x4cfcb8]
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0xc8], ecx
jmp 0x4190b3
cmp eax, 0x3e5
jne 0x419082
mov edx, dword [str.ssh_]
mov al, byte [0x4cfcb0]
mov dword [ebp - 0xcc], edx
mov byte [ebp - 0xc8], al
jmp 0x4190b3
mov ecx, dword [str.ssltelnet_]
mov edx, dword [0x4cfca4]
mov ax, word [0x4cfca8]
mov dword [ebp - 0xcc], ecx
mov cl, byte [0x4cfcaa]
mov dword [ebp - 0xc8], edx
mov word [ebp - 0xc4], ax
mov byte [ebp - 0xc2], cl
cmp byte [0x50eab0], 0
je 0x4190eb
mov eax, 0x50eab0
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4190c3
lea edi, [ebp - 0xcc]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4190d3
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [ebp - 0xcc]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4190f4
mov esi, dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
sub eax, edx
inc eax
push eax
mov eax, dword [ebp - 0xe4]
lea edx, [ebp - 0xcc]
push edx
push 1
push 0
push 0x4cfc94
push eax
call esi
mov eax, 0x50f048
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x419126
sub eax, ecx
mov ecx, dword [ebp - 0xe4]
inc eax
push eax
push 0x50f048
push 1
push 0
push 0x4cfc8c
push ecx
call esi
mov eax, 0x50ea58
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x419150
mov edx, dword [ebp - 0xe4]
sub eax, ecx
inc eax
push eax
push 0x50ea58
push 1
push 0
push 0x4cfc84
push edx
call esi
cmp dword [0x50ecd4], 0
je 0x419194
mov eax, dword [0x4cfc7c]
mov cl, byte [0x4cfc80]
mov dword [ebp - 0xcc], eax
mov byte [ebp - 0xc8], cl
jmp 0x4191ad
mov edx, dword [0x4cfc74]
mov ax, word [0x4cfc78]
mov dword [ebp - 0xcc], edx
mov word [ebp - 0xc8], ax
lea eax, [ebp - 0xcc]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4191b6
sub eax, edx
mov edx, dword [ebp - 0xe4]
inc eax
push eax
lea ecx, [ebp - 0xcc]
push ecx
push 1
push 0
push 0x4cfc60
push edx
call esi
cmp dword [0x50f030], 0
je 0x4191fc
mov eax, dword [0x4cfc7c]
mov cl, byte [0x4cfc80]
mov dword [ebp - 0xcc], eax
mov byte [ebp - 0xc8], cl
jmp 0x419215
mov edx, dword [0x4cfc74]
mov ax, word [0x4cfc78]
mov dword [ebp - 0xcc], edx
mov word [ebp - 0xc8], ax
lea eax, [ebp - 0xcc]
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x419220
sub eax, edx
mov edx, dword [ebp - 0xe4]
inc eax
push eax
lea ecx, [ebp - 0xcc]
push ecx
push 1
push 0
push 0x4cfc50
push edx
call esi
mov eax, 0x50ebd0
lea ecx, [eax + 1]
lea esp, [esp]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x419250
sub eax, ecx
inc eax
push eax
mov eax, dword [ebp - 0xe4]
push 0x50ebd0
push 1
push 0
push 0x4cfc40
push eax
call esi
mov ecx, dword [0x50f028]
push ecx
lea edx, [ebp - 0xcc]
push 0x4cce38
push edx
call ebx
add esp, 0xc
lea eax, [ebp - 0xcc]
pop edi
lea ecx, [eax + 1]
pop ebx
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x419295
sub eax, ecx
mov ecx, dword [ebp - 0xe4]
inc eax
push eax
lea eax, [ebp - 0xcc]
push eax
push 1
push 0
push 0x4cfc30
push ecx
call esi
mov esi, dword [ebp - 0xe8]
cmp byte [esi + 0x94], 0
je 0x4192ff
mov eax, 0x50b278
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4192d0
sub eax, edx
sar eax, 1
lea edx, [eax + eax + 2]
mov eax, dword [ebp - 0xe4]
push edx
push 0x50b278
push 1
push 0
push str.host_list
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
cmp dword [0x4fac14], 0x3e5
jne 0x41931a
cmp word [0x50eff4], 0
je 0x41931a
call fcn.00454a20
mov ecx, dword [ebp - 0xe4]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push 1
mov ecx, esi
call sub.mfc100u.dll_CDialog::EndDialog
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop esi
call fcn.004b7f56
mov esp, ebp
pop ebp
ret