Function at 0x41051b
Capabilities:
Create tcp socket
Initialize winsock library
Resolve dns
Send data
Send data on socket
Set socket configuration

Disassembly:
push 0x714
mov eax, 0x5a14b7
call fcn.0058141a
mov dword [ebp - 0x708], edx
mov edi, ecx
lea eax, [ebp - 0x6e8]
push eax
push 0x202
call dword [sym.imp.WS2_32.dll_WSAStartup]
xor eax, eax
mov ebx, str.Machines
inc eax
mov esi, 0xff
push ebx
mov dword [ebp - 0x710], eax
mov edx, str.Port
push esi
lea eax, [ebp - 0x124]
mov ecx, edi
push eax
push str.30564
call fcn.00434d68
lea eax, [ebp - 0x124]
push eax
call fcn.0058afab
pop ecx
movzx eax, ax
mov edx, str.Address
push ebx
mov dword [ebp - 0x704], eax
mov ecx, edi
push esi
lea eax, [ebp - 0x124]
push eax
push 0x5e66b6
call fcn.00434d68
and dword [ebp - 0x6f0], 0
or ebx, 0xffffffff
cmp dword [ebp + 8], 0
jne 0x4105be
cmp byte [ebp - 0x124], 0
jne 0x41071c
xor esi, esi
push edi
mov dword [ebp - 0x700], esi
call dword [sym.imp.WS2_32.dll_gethostbyname]
mov edi, eax
mov dword [ebp - 0x70c], edi
call dword [sym.imp.KERNEL32.DLL_GetLastError]
mov ebx, dword [ebp - 0x6f0]
mov dword [ebp - 0x714], eax
xor eax, eax
test edi, edi
je 0x4105f9
mov ecx, dword [edi + 0xc]
mov esi, dword [eax + ecx]
mov dword [ebp - 0x700], esi
test esi, esi
je 0x410b22
movzx ebx, byte [esi + 1]
add eax, 4
movzx edi, byte [esi + 2]
mov dword [ebp - 0x6fc], eax
movzx eax, byte [esi]
movzx esi, byte [esi + 3]
mov dword [ebp - 0x6ec], eax
call fcn.0044a3d6
push eax
lea ecx, [ebp - 0x6f0]
call fcn.00403f59
and dword [ebp - 4], 0
lea eax, [ebp - 0x6f0]
push esi
push edi
push ebx
push dword [ebp - 0x6ec]
push 0x5ebea0
push eax
call fcn.00404273
mov esi, dword [ebp - 0x6f0]
add esp, 0x14
mov edi, esp
mov dword [ebp - 0x6ec], edi
lea eax, [esi - 0x10]
push eax
mov dword [ebp - 0x6ec], eax
call fcn.00403e98
pop ecx
add eax, 0x10
lea ecx, [ebp - 0x124]
mov dword [edi], eax
call fcn.004047a2
push ecx
mov ecx, esp
push dword [ebp - 0x708]
call fcn.00403e54
lea ecx, [ebp - 0x428]
call fcn.0042b29b
push ecx
lea eax, [ebp - 0x428]
mov dword [ebp - 0x718], esp
mov ecx, esp
lea ebx, [ebp - 0x71c]
push eax
call fcn.00403e54
mov eax, dword [ebp - 0x704]
push ecx
movzx edi, ax
mov ecx, esp
lea eax, [ebp - 0x124]
mov byte [ebp - 4], 1
push eax
call fcn.00403e54
mov edx, ebx
mov byte [ebp - 4], 0
mov ecx, edi
call fcn.004101c9
test eax, eax
je 0x41070e
mov ecx, dword [ebp - 0x6ec]
xor ebx, ebx
cmp eax, 1
sete bl
or dword [ebp - 4], 0xffffffff
call fcn.00404048
mov esi, dword [ebp - 0x700]
mov edi, dword [ebp - 0x70c]
mov eax, dword [ebp - 0x6fc]
jmp 0x4105e9
or ebx, 0xffffffff
lea ecx, [esi - 0x10]
mov dword [ebp - 4], ebx
call fcn.00404048
lea eax, [ebp - 0x124]
push eax
lea ecx, [ebp - 0x6f8]
call fcn.00403e54
push 2
pop esi
lea eax, [ebp - 0x124]
mov dword [ebp - 4], esi
push eax
lea eax, [ebp - 0x528]
push eax
call fcn.00589e60
pop ecx
pop ecx
push 6
push 1
push esi
call dword [sym.imp.WS2_32.dll_socket]
mov edi, dword [sym.imp.WS2_32.dll_setsockopt]
mov esi, eax
test esi, esi
je 0x410790
push 4
lea eax, [ebp - 0x710]
push eax
push 1
push 6
push esi
call edi
cmp eax, ebx
jne 0x410790
push esi
call dword [sym.imp.WS2_32.dll_closesocket]
mov ecx, dword [ebp - 0x6f8]
lea ecx, [ecx - 0x10]
call fcn.00404048
mov eax, ebx
jmp 0x410b44
mov dword [ebp - 0x6f4], 0x3e8000
test esi, esi
je 0x4107b8
push 4
lea eax, [ebp - 0x6f4]
push eax
push 0x1001
push 0xffff
push esi
call edi
cmp eax, ebx
je 0x410774
mov dword [ebp - 0x6f4], 0x64000
test esi, esi
je 0x4107ec
push 4
lea eax, [ebp - 0x6f4]
push eax
push 0x1002
push 0xffff
push esi
call edi
cmp eax, ebx
jne 0x4107ec
push esi
call dword [sym.imp.WS2_32.dll_closesocket]
jmp 0x410b14
push 0x10
xor ebx, ebx
lea eax, [ebp - 0x558]
push ebx
push eax
call fcn.005838b0
add esp, 0xc
lea eax, [ebp - 0x528]
push 2
pop edi
push eax
mov word [ebp - 0x558], di
call dword [sym.imp.WS2_32.dll_inet_addr]
push dword [ebp - 0x704]
mov dword [ebp - 0x554], eax
call dword [sym.imp.WS2_32.dll_htons]
push ecx
push ecx
lea edx, [ebp - 0x558]
mov word [ebp - 0x556], ax
mov ecx, esi
call fcn.0040451b
test eax, eax
jns 0x41085d
push 0x32
call dword [sym.imp.KERNEL32.DLL_Sleep]
test esi, esi
je 0x410856
push esi
call dword [sym.imp.WS2_32.dll_closesocket]
mov ebx, edi
jmp 0x410b14
push 0xc
lea edx, [ebp - 0x228]
mov ecx, esi
call fcn.004045bc
lea eax, [ebp - 0x228]
mov byte [ebp - 0x21c], bl
push str.MULTIPLICIT5
push eax
call fcn.0058afe0
pop ecx
pop ecx
test eax, eax
jne 0x410b06
push 1
lea edx, [ebp - 0x328]
mov byte [ebp - 0x328], bl
mov ecx, esi
call fcn.004045bc
mov al, byte [ebp - 0x328]
mov edi, dword [sym.imp.WS2_32.dll_send]
cmp al, 0x43
jne 0x41093c
push 6
lea edx, [ebp - 0x24]
mov ecx, esi
call fcn.004045bc
push dword [ebp - 0x708]
lea eax, [ebp - 0x228]
mov byte [ebp - 0x1e], bl
push eax
mov byte [ebp - 0x228], bl
call fcn.00589e60
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x228]
push eax
call fcn.00589e70
add esp, 0x10
lea ecx, [ebp - 0x228]
call fcn.004047ea
push 0xa
lea ecx, [ebp - 0x428]
mov dword [ebp - 0x6fc], eax
push ecx
push eax
call fcn.0058b78d
add esp, 0xc
lea eax, [ebp - 0x6fc]
push ebx
push 4
push eax
push esi
call edi
push 1
lea edx, [ebp - 0x328]
mov byte [ebp - 0x328], 0x61
mov ecx, esi
call fcn.004045bc
mov al, byte [ebp - 0x328]
cmp al, 0x50
je 0x41094e
push esi
call dword [sym.imp.WS2_32.dll_closesocket]
push 4
jmp 0x410b13
push ebx
push 1
push 0x5e6ad0
push esi
call edi
push ebx
push 1
push 0x5ec2c4
push esi
call edi
mov dword [ebp - 0x548], ebx
mov dword [ebp - 0x530], ebx
mov dword [ebp - 0x544], ebx
mov dword [ebp - 0x534], ebx
mov dword [ebp - 0x538], ebx
mov dword [ebp - 0x53c], ebx
mov dword [ebp - 0x540], ebx
call fcn.0041e8e4
test eax, eax
jne 0x4109a4
call fcn.0041e5f7
test eax, eax
je 0x410a95
xor eax, eax
mov ebx, str.CLIP
inc eax
mov edx, str.ClipBoard
push ebx
push eax
mov ecx, ebx
mov dword [ebp - 0x548], eax
call fcn.00434e91
mov ecx, dword [ebp - 0x544]
test eax, eax
push 1
pop eax
cmovne ecx, eax
mov edx, str.AllowCompression
push ebx
mov dword [ebp - 0x544], ecx
mov ebx, str.Clipboard
push eax
mov ecx, ebx
call fcn.00434e91
mov ecx, dword [ebp - 0x530]
xor edx, edx
inc edx
cmp eax, edx
push str.CLIP
cmove ecx, edx
mov dword [ebp - 0x530], ecx
mov ecx, ebx
push edx
mov edx, str.ShareText
call fcn.00434e91
mov ecx, dword [ebp - 0x540]
xor edx, edx
inc edx
cmp eax, edx
push str.CLIP
cmove ecx, edx
mov dword [ebp - 0x540], ecx
mov ecx, ebx
push edx
mov edx, str.ShareImages
call fcn.00434e91
mov ecx, dword [ebp - 0x53c]
xor edx, edx
inc edx
cmp eax, edx
push str.CLIP
cmove ecx, edx
mov dword [ebp - 0x53c], ecx
mov ecx, ebx
push edx
mov edx, str.ShareFiles
call fcn.00434e91
mov edx, dword [ebp - 0x538]
xor ecx, ecx
inc ecx
cmp eax, ecx
push str.CLIP
cmove edx, ecx
mov dword [ebp - 0x538], edx
mov edx, str.DragFiles
push ecx
mov ecx, ebx
call fcn.00434e91
mov ecx, dword [ebp - 0x534]
xor edx, edx
inc edx
cmp eax, edx
cmove ecx, edx
xor ebx, ebx
mov dword [ebp - 0x534], ecx
push ebx
push 0x20
lea eax, [ebp - 0x548]
push eax
push esi
call edi
mov ecx, esi
call fcn.004044f1
test eax, eax
js 0x410af7
push esi
call fcn.0040fbf0
push ecx
lea eax, [ebp - 0x1c]
mov byte [ebp - 0x1c], bl
push eax
push esi
call fcn.0040fa99
cmp byte [ebp - 0x1c], 0x41
mov edx, 0x5ec32c
push ecx
push ecx
mov byte [ebp - 0x1b], bl
mov ecx, esi
je 0x410ae7
call fcn.004101bd
test esi, esi
je 0x410ae3
mov ecx, esi
call fcn.00410168
push 5
jmp 0x410b13
call fcn.004101bd
mov ecx, esi
call fcn.00410168
push 6
jmp 0x410b13
test esi, esi
je 0x410b02
push esi
call dword [sym.imp.WS2_32.dll_closesocket]
push 7
jmp 0x410b13
test esi, esi
je 0x410b11
push esi
call dword [sym.imp.WS2_32.dll_closesocket]
push 3
pop ebx
mov ecx, dword [ebp - 0x6f8]
add ecx, 0xfffffff0
jmp 0x410784
push dword [ebp - 0x714]
lea eax, [ebp - 0x428]
push str.last_error_code_was__d
push eax
call fcn.00406a6f
xor eax, eax
add esp, 0xc
test ebx, ebx
sete al
inc eax
call fcn.005813c4
ret 4