Function at 0x404360
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 [0x428044]
xor eax, ebp
mov dword [ebp - 8], eax
xor eax, eax
mov word [ebp - 0x9c0], ax
push 0x7fe
push 0
lea ecx, [ebp - 0x9be]
push ecx
call fcn.00417ec0
add esp, 0xc
lea edx, [ebp - 0x9c0]
mov dword [ebp - 0x19c], edx
cmp dword [ebp + 0x14], 0
je 0x4043ad
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x19c], eax
xor ecx, ecx
mov edx, dword [ebp - 0x19c]
mov word [edx], cx
mov dword [ebp - 0x1bc], 0
mov dword [ebp - 0x1b8], 0
mov dword [ebp - 0x1b4], 0
lea eax, [ebp - 0x198]
push eax
push 0x101
call dword [sym.imp.WS2_32.dll_WSAStartup]
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x404443
push 0x426348
push 0x3ff
mov ecx, dword [ebp - 0x19c]
push ecx
call fcn.004107b6
add esp, 0xc
push 0x426368
push 0x3ff
mov edx, dword [ebp - 0x19c]
push edx
call fcn.0041123d
add esp, 0xc
push 0x42636c
push 0x3ff
mov eax, dword [ebp - 0x19c]
push eax
call fcn.0041123d
add esp, 0xc
xor eax, eax
jmp 0x40461b
push 6
push 1
push 2
call dword [sym.imp.WS2_32.dll_socket]
mov ecx, dword [ebp + 0x10]
mov dword [ecx], eax
mov edx, dword [ebp + 0x10]
cmp dword [edx], 0xffffffff
jne 0x4044ae
push 0x4263ac
push 0x3ff
mov eax, dword [ebp - 0x19c]
push eax
call fcn.004107b6
add esp, 0xc
push 0x4263cc
push 0x3ff
mov ecx, dword [ebp - 0x19c]
push ecx
call fcn.0041123d
add esp, 0xc
push 0x4263d0
push 0x3ff
mov edx, dword [ebp - 0x19c]
push edx
call fcn.0041123d
add esp, 0xc
xor eax, eax
jmp 0x40461b
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.WS2_32.dll_gethostbyname]
mov dword [ebp - 0x1b0], eax
cmp dword [ebp - 0x1b0], 0
jne 0x4044ee
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.WS2_32.dll_inet_addr]
mov dword [ebp - 0x1bc], eax
push 2
push 4
lea edx, [ebp - 0x1bc]
push edx
call dword [sym.imp.WS2_32.dll_gethostbyaddr]
mov dword [ebp - 0x1b0], eax
cmp dword [ebp - 0x1b0], 0
jne 0x40454c
push 0x426410
push 0x3ff
mov eax, dword [ebp - 0x19c]
push eax
call fcn.004107b6
add esp, 0xc
push 0x426430
push 0x3ff
mov ecx, dword [ebp - 0x19c]
push ecx
call fcn.0041123d
add esp, 0xc
push 0x426434
push 0x3ff
mov edx, dword [ebp - 0x19c]
push edx
call fcn.0041123d
add esp, 0xc
jmp 0x4045ef
mov eax, dword [ebp - 0x1b0]
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx]
mov eax, dword [edx]
mov dword [ebp - 0x1a8], eax
mov ecx, 2
mov word [ebp - 0x1ac], cx
movzx edx, 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 0x4045e5
push 0x426474
push 0x3ff
mov eax, dword [ebp - 0x19c]
push eax
call fcn.004107b6
add esp, 0xc
push 0x426494
push 0x3ff
mov ecx, dword [ebp - 0x19c]
push ecx
call fcn.0041123d
add esp, 0xc
push 0x426498
push 0x3ff
mov edx, dword [ebp - 0x19c]
push edx
call fcn.0041123d
add esp, 0xc
jmp 0x4045ef
mov dword [ebp - 0x1b8], 1
cmp dword [ebp - 0x1b8], 0
jne 0x404615
mov eax, dword [ebp + 0x10]
cmp dword [eax], 0
je 0x404615
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.004107a7
mov esp, ebp
pop ebp
ret