Function at 0x417c40
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Create tcp socket
Initialize winsock library
Resolve dns

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x9c0
mov eax, dword [0x42b044]
xor eax, ebp
mov dword [ebp - 8], eax
mov word [ebp - 0x9c0], 0
push 0x7fe
push 0
lea eax, [ebp - 0x9be]
push eax
call fcn.004012f0
add esp, 0xc
lea ecx, [ebp - 0x9c0]
mov dword [ebp - 0x19c], ecx
cmp dword [ebp + 0x14], 0
je 0x417c8d
mov edx, dword [ebp + 0x14]
mov dword [ebp - 0x19c], edx
mov eax, dword [ebp - 0x19c]
mov word [eax], 0
mov dword [ebp - 0x1bc], 0
mov dword [ebp - 0x1b8], 0
mov dword [ebp - 0x1b4], 0
lea ecx, [ebp - 0x198]
push ecx
push 0x101
call dword [sym.imp.WS2_32.dll_WSAStartup]
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x417d23
push 0x427d74
push 0x3ff
mov edx, dword [ebp - 0x19c]
push edx
call fcn.00401825
add esp, 0xc
push 0x427d94
push 0x3ff
mov eax, dword [ebp - 0x19c]
push eax
call fcn.00401412
add esp, 0xc
push 0x427d98
push 0x3ff
mov ecx, dword [ebp - 0x19c]
push ecx
call fcn.00401412
add esp, 0xc
xor eax, eax
jmp 0x417ef8
push 6
push 1
push 2
call dword [sym.imp.WS2_32.dll_socket]
mov edx, dword [ebp + 0x10]
mov dword [edx], eax
mov eax, dword [ebp + 0x10]
cmp dword [eax], 0xffffffff
jne 0x417d8e
push 0x427dd8
push 0x3ff
mov ecx, dword [ebp - 0x19c]
push ecx
call fcn.00401825
add esp, 0xc
push 0x427df8
push 0x3ff
mov edx, dword [ebp - 0x19c]
push edx
call fcn.00401412
add esp, 0xc
push 0x427dfc
push 0x3ff
mov eax, dword [ebp - 0x19c]
push eax
call fcn.00401412
add esp, 0xc
xor eax, eax
jmp 0x417ef8
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.WS2_32.dll_gethostbyname]
mov dword [ebp - 0x1b0], eax
cmp dword [ebp - 0x1b0], 0
jne 0x417dce
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.WS2_32.dll_inet_addr]
mov dword [ebp - 0x1bc], eax
push 2
push 4
lea eax, [ebp - 0x1bc]
push eax
call dword [sym.imp.WS2_32.dll_gethostbyaddr]
mov dword [ebp - 0x1b0], eax
cmp dword [ebp - 0x1b0], 0
jne 0x417e2c
push 0x427e3c
push 0x3ff
mov ecx, dword [ebp - 0x19c]
push ecx
call fcn.00401825
add esp, 0xc
push 0x427e5c
push 0x3ff
mov edx, dword [ebp - 0x19c]
push edx
call fcn.00401412
add esp, 0xc
push 0x427e60
push 0x3ff
mov eax, dword [ebp - 0x19c]
push eax
call fcn.00401412
add esp, 0xc
jmp 0x417ecc
mov ecx, dword [ebp - 0x1b0]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx]
mov ecx, dword [eax]
mov dword [ebp - 0x1a8], ecx
mov word [ebp - 0x1ac], 2
mov dx, word [ebp + 0xc]
push edx
call dword [sym.imp.WS2_32.dll_htons]
mov word [ebp - 0x1aa], ax
push 0x10
lea eax, [ebp - 0x1ac]
push eax
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx]
push edx
call dword [sym.imp.WS2_32.dll_connect]
test eax, eax
je 0x417ec2
push 0x427ea0
push 0x3ff
mov eax, dword [ebp - 0x19c]
push eax
call fcn.00401825
add esp, 0xc
push 0x427ec0
push 0x3ff
mov ecx, dword [ebp - 0x19c]
push ecx
call fcn.00401412
add esp, 0xc
push 0x427ec4
push 0x3ff
mov edx, dword [ebp - 0x19c]
push edx
call fcn.00401412
add esp, 0xc
jmp 0x417ecc
mov dword [ebp - 0x1b8], 1
cmp dword [ebp - 0x1b8], 0
jne 0x417ef2
mov eax, dword [ebp + 0x10]
cmp dword [eax], 0
je 0x417ef2
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx]
push edx
call dword [sym.imp.WS2_32.dll_closesocket]
mov eax, dword [ebp + 0x10]
mov dword [eax], 0
mov eax, dword [ebp - 0x1b8]
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.004012d2
mov esp, ebp
pop ebp
ret