Function at 0x417800
Capabilities:
Initialize winsock library
Resolve dns
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4c5b6b
mov eax, dword fs:[0]
push eax
sub esp, 0x4a4
mov eax, dword [0x4ff94c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
lea ecx, [ebp - 0x4a8]
call dword [0x4cb4cc]
push 0
push 0
push 0x147
push 0x80a1
mov ecx, ebx
mov dword [ebp - 4], 0
mov byte [0x5120ec], 0
call sub.mfc100u.dll_CWnd::SendDlgItemMessageW
mov ecx, dword [0x4fac14]
movzx edx, ax
push 0
push edx
push 0x150
mov dword [ebp - 0x4b0], ecx
push 0x80a1
mov ecx, ebx
call sub.mfc100u.dll_CWnd::SendDlgItemMessageW
mov dword [ebp - 0x4ac], eax
cmp eax, 0x3e6
je 0x417896
cmp eax, 0x3e5
jne 0x4178c6
push 0x4bd
lea ecx, [ebp - 0x4a8]
call fcn.00409210
push 0x28
push 0x5120ec
push 0xffffffffffffffff
push 0
lea ecx, [ebp - 0x4a8]
call dword [sym.imp.mfc100u.dll_ATL::CSimpleStringT_wchar_t_1_::GetBuffer]
push eax
call fcn.0040d5d0
add esp, 0x10
push 0
push 0
push 0x147
push 0x80a2
mov ecx, ebx
call sub.mfc100u.dll_CWnd::SendDlgItemMessageW
movzx eax, ax
push 0
push eax
push 0x150
push 0x80a2
mov ecx, ebx
call sub.mfc100u.dll_CWnd::SendDlgItemMessageW
push 0
push 0
push 0x147
push 0x80a3
mov ecx, ebx
mov dword [0x4fac18], eax
call sub.mfc100u.dll_CWnd::SendDlgItemMessageW
push 0
push 0
push 0x147
add al, 7
push 0x80a5
mov ecx, ebx
mov byte [0x4fabe6], al
call sub.mfc100u.dll_CWnd::SendDlgItemMessageW
movzx ecx, ax
push 0
push ecx
push 0x150
push 0x80a5
mov ecx, ebx
call sub.mfc100u.dll_CWnd::SendDlgItemMessageW
push 0
push 0
push 0x147
push 0x80a6
mov ecx, ebx
mov byte [0x512114], al
call sub.mfc100u.dll_CWnd::SendDlgItemMessageW
movzx edx, ax
push 0
push edx
push 0x150
push 0x80a6
mov ecx, ebx
call sub.mfc100u.dll_CWnd::SendDlgItemMessageW
push 0x80a7
mov ecx, ebx
mov byte [0x512115], al
mov byte [0x4fabe7], 0
call sub.mfc100u.dll_CWnd::IsDlgButtonChecked
test eax, eax
je 0x417993
or byte [0x4fabe7], 1
push 0x80a8
mov ecx, ebx
call sub.mfc100u.dll_CWnd::IsDlgButtonChecked
test eax, eax
je 0x4179aa
or byte [0x4fabe7], 2
push 0x80a9
mov ecx, ebx
call sub.mfc100u.dll_CWnd::IsDlgButtonChecked
test eax, eax
je 0x4179c1
or byte [0x4fabe7], 4
xor eax, eax
jmp 0x4179d0
mov cl, byte [eax + 0x50e118]
mov byte [ebp + eax - 0x210], cl
inc eax
test cl, cl
jne 0x4179d0
lea eax, [ebp - 0x210]
lea edx, [eax + 1]
jmp 0x4179f0
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4179f0
sub eax, edx
lea esi, [ebp + eax - 0x210]
dec esi
lea eax, [ebp - 0x210]
cmp esi, eax
jb 0x417a15
mov al, byte [esi]
cmp al, 0x5c
je 0x417a15
cmp al, 0x2f
jne 0x417a00
mov edx, dword [ebx + 0x20]
mov edi, dword [sym.imp.USER32.dll_GetDlgItemTextA]
push 0x4f
lea ecx, [ebp - 0x110]
push ecx
push 0x80ac
push edx
inc esi
call edi
cmp byte [ebp - 0x110], 0
je 0x417b0e
lea eax, [ebp - 0x110]
push 0
push eax
call dword [sym.imp.MSVCR100.dll__access]
add esp, 8
test eax, eax
jns 0x417ae4
lea eax, [ebp - 0x110]
mov edx, esi
mov ecx, eax
sub edx, ecx
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x417a63
lea eax, [ebp - 0x210]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x417a76
sub eax, edx
cmp eax, 0x50
jae 0x417abe
lea edx, [ebp - 0x210]
push 0
push edx
call dword [sym.imp.MSVCR100.dll__access]
add esp, 8
test eax, eax
js 0x417abe
xor eax, eax
lea esp, [esp]
mov cl, byte [ebp + eax - 0x210]
mov byte [eax + 0x50f048], cl
inc eax
test cl, cl
jne 0x417aa0
mov dword [0x50ccf0], 0x50f048
jmp 0x417b1f
push 0x30
push 0x4fabe8
push str.Certificate_file_not_found_
mov ecx, ebx
call sub.mfc100u.dll_CWnd::MessageBoxW
lea ecx, [ebp - 0x4a8]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
xor eax, eax
jmp 0x41808e
xor eax, eax
jmp 0x417af0
mov cl, byte [ebp + eax - 0x110]
mov byte [eax + 0x50f048], cl
inc eax
test cl, cl
jne 0x417af0
mov dword [0x50ccf0], 0x50f048
jmp 0x417b1f
mov byte [0x50f048], 0
mov dword [0x50ccf0], 0
mov ecx, dword [ebx + 0x20]
push 0x4f
lea eax, [ebp - 0x110]
push eax
push 0x80ad
push ecx
call edi
cmp byte [ebp - 0x110], 0
je 0x417bff
lea edx, [ebp - 0x110]
push 0
push edx
call dword [sym.imp.MSVCR100.dll__access]
add esp, 8
test eax, eax
jns 0x417bdf
lea eax, [ebp - 0x110]
mov edx, esi
mov ecx, eax
sub edx, ecx
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x417b66
lea eax, [ebp - 0x210]
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x417b80
sub eax, edx
cmp eax, 0x50
jae 0x417bce
lea edx, [ebp - 0x210]
push 0
push edx
call dword [sym.imp.MSVCR100.dll__access]
add esp, 8
test eax, eax
js 0x417bce
xor eax, eax
jmp 0x417bb0
mov cl, byte [ebp + eax - 0x210]
mov byte [eax + 0x50ea58], cl
inc eax
test cl, cl
jne 0x417bb0
mov dword [0x50ccf4], 0x50ea58
jmp 0x417c10
push 0x30
push 0x4fabe8
push str.Certificate_key_file_not_found_
jmp 0x417aca
xor eax, eax
mov cl, byte [ebp + eax - 0x110]
mov byte [eax + 0x50ea58], cl
inc eax
test cl, cl
jne 0x417be1
mov dword [0x50ccf4], 0x50ea58
jmp 0x417c10
mov dword [0x50ccf4], 0
mov byte [0x50ea58], 0
mov ecx, dword [ebx + 0x20]
push 0x103
lea eax, [ebp - 0x110]
push eax
push 0x4ff
push ecx
call edi
cmp byte [ebp - 0x110], 0
je 0x417d7e
mov edi, dword [sym.imp.MSVCR100.dll__access]
lea edx, [ebp - 0x110]
push 0
push edx
call edi
add esp, 8
test eax, eax
jns 0x417cc5
lea eax, [ebp - 0x110]
mov edx, esi
mov ecx, eax
sub edx, ecx
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x417c58
lea eax, [ebp - 0x210]
lea edx, [eax + 1]
jmp 0x417c70
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x417c70
sub eax, edx
cmp eax, 0x104
jae 0x417cb4
lea edx, [ebp - 0x210]
push 0
push edx
call edi
add esp, 8
test eax, eax
js 0x417cb4
xor eax, eax
jmp 0x417ca0
mov cl, byte [ebp + eax - 0x210]
mov byte [eax + 0x50ebd0], cl
inc eax
test cl, cl
jne 0x417ca0
jmp 0x417ce2
push 0x30
push 0x4fabe8
push str.SSH_authentication_key_file_not_found_
jmp 0x417aca
xor eax, eax
jmp 0x417cd0
mov cl, byte [ebp + eax - 0x110]
mov byte [eax + 0x50ebd0], cl
inc eax
test cl, cl
jne 0x417cd0
lea eax, [ebp - 0x418]
push 0x50ebd0
push eax
call fcn.00493070
mov esi, eax
mov ecx, 0x41
lea edi, [ebp - 0x314]
rep movsd dword es:[edi], dword [esi]
lea ecx, [ebp - 0x314]
push ecx
call fcn.004711a0
add esp, 0xc
test eax, eax
je 0x417d51
cmp eax, 1
je 0x417d51
cmp eax, 2
je 0x417d85
cmp eax, 3
je 0x417d85
push 0x30
push 0x4fabe8
push str.This_key_must_be_converted_into_a_.ppk__putty__format_
mov ecx, ebx
call sub.mfc100u.dll_CWnd::MessageBoxW
lea ecx, [ebp - 0x4a8]
mov byte [0x50ebd0], 0
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
xor eax, eax
jmp 0x41808e
push 0x30
push 0x4fabe8
push str.SSH_authentication_key_not_of_a_known_type_
mov ecx, ebx
call sub.mfc100u.dll_CWnd::MessageBoxW
lea ecx, [ebp - 0x4a8]
mov byte [0x50ebd0], 0
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
xor eax, eax
jmp 0x41808e
mov byte [0x50ebd0], 0
mov eax, dword [ebx + 0x20]
mov esi, dword [sym.imp.USER32.dll_GetDlgItemTextA]
push 0xff
lea edx, [ebp - 0x210]
push edx
push 0x45a
push eax
call esi
lea ecx, [ebp - 0x210]
push ecx
call dword [sym.imp.MSVCR100.dll_atoi]
add esp, 4
push 0xff
lea edx, [ebp - 0x210]
push edx
mov dword [0x50f028], eax
mov eax, dword [ebx + 0x20]
push 0x80aa
push eax
call esi
mov eax, dword [ebp - 0x4ac]
cmp eax, 0x3e7
je 0x417ded
cmp eax, 0x3e6
je 0x417ded
cmp eax, 0x3e5
jne 0x417f05
cmp byte [ebp - 0x210], 0
je 0x417f05
cmp dword [0x512118], 0
jne 0x417e32
lea ecx, [ebp - 0x4a4]
push ecx
push 0x101
call dword [sym.imp.WSOCK32.dll_WSAStartup]
test eax, eax
jne 0x417e25
mov dword [0x512118], 1
jmp 0x417e32
cmp dword [0x512118], 0
je 0x417f05
cmp word [0x51211c], 0
jne 0x417f05
xor eax, eax
jmp 0x417e50
mov cl, byte [ebp + eax - 0x210]
mov byte [ebp + eax - 0x110], cl
inc eax
test cl, cl
jne 0x417e50
mov dl, byte [ebp - 0x110]
lea eax, [ebp - 0x110]
test dl, dl
je 0x417e82
mov cl, dl
cmp cl, 0x3a
je 0x417ea4
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x417e75
lea eax, [ebp - 0x110]
test dl, dl
je 0x417ed1
lea esp, [esp]
mov cl, byte [eax]
cmp cl, 0x2f
je 0x417ece
cmp cl, 0x5c
je 0x417ece
inc eax
cmp byte [eax], 0
jne 0x417e90
jmp 0x417ed1
cmp byte [eax], 0
je 0x417e82
mov cl, byte [eax + 1]
mov esi, eax
inc eax
test cl, cl
je 0x417ec9
cmp cl, 0x3a
je 0x417ec4
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x417eb3
mov byte [esi], cl
jmp 0x417ed1
cmp byte [eax], 0
jne 0x417e82
mov byte [esi], 0
jmp 0x417ed1
mov byte [eax], 0
lea edx, [ebp - 0x110]
push edx
call dword [sym.imp.WSOCK32.dll_inet_addr]
cmp eax, 0xffffffff
jne 0x417f05
lea eax, [ebp - 0x110]
push eax
call dword [sym.imp.WSOCK32.dll_gethostbyname]
test eax, eax
jne 0x417f05
push 0x30
push 0x4fabe8
push str.Host_name_not_known_
jmp 0x417aca
push 0x31
lea ecx, [ebp - 0x210]
push ecx
push 0x50eab0
call dword [sym.imp.MSVCR100.dll_strncpy]
add esp, 0xc
cmp byte [ebx + 0x94], 0
je 0x417f91
xor edx, edx
push edx
push edx
push 0x146
push 0x458
mov ecx, ebx
mov word [0x50b278], dx
call sub.mfc100u.dll_CWnd::SendDlgItemMessageW
mov edi, eax
xor esi, esi
test edi, edi
jle 0x417f91
mov eax, 0x50b278
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x417f51
sub eax, edx
sar eax, 1
lea eax, [eax*2 + 0x50b278]
cmp eax, 0x50b278
je 0x417f79
mov ecx, 0x2c
mov word [eax], cx
add eax, 2
push eax
push esi
push 0x148
push 0x458
mov ecx, ebx
call sub.mfc100u.dll_CWnd::SendDlgItemMessageW
inc esi
cmp esi, edi
jl 0x417f49
push 0x484
mov ecx, ebx
call sub.mfc100u.dll_CWnd::IsDlgButtonChecked
push 0x492
mov ecx, ebx
mov dword [0x50ecd4], eax
call sub.mfc100u.dll_CWnd::IsDlgButtonChecked
cmp word [0x51211c], 0
mov dword [0x50f030], eax
je 0x417fd1
call dword [sym.imp.WSOCK32.dll_WSACancelBlockingCall]
test eax, eax
jne 0x41803b
or edx, 0xffffffff
mov word [0x51211c], dx
mov edi, dword [ebp - 0x4ac]
cmp dword [ebp - 0x4b0], edi
je 0x417fee
cmp word [0x50eff4], 0
je 0x417fee
call fcn.0048e5e0
cmp word [0x50eff4], 0
mov dword [0x4fac14], edi
mov esi, 1
je 0x418061
cmp edi, 0x3e7
je 0x418080
cmp edi, 0x3e6
je 0x418080
cmp edi, 0x3e5
je 0x418080
call fcn.0048e4e0
test eax, eax
jne 0x418080
push 0x30
push 0x4fabe8
push str.Settings_failed_
mov ecx, ebx
call sub.mfc100u.dll_CWnd::MessageBoxW
xor esi, esi
jmp 0x418080
push 0x30
push 0x4fabe8
push str.You_must_exit_PROCLIENT_to_abort_the_connection_attempt
mov ecx, ebx
call sub.mfc100u.dll_CWnd::MessageBoxW
lea ecx, [ebp - 0x4a8]
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 eax, 1
jmp 0x41808e
mov eax, dword [0x5120e4]
test eax, eax
je 0x418080
mov eax, dword [eax + 0x20]
push 0
push 0x803c
push 0x111
push eax
call dword [sym.imp.USER32.dll_PostMessageW]
lea ecx, [ebp - 0x4a8]
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 eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004b7f56
mov esp, ebp
pop ebp
ret