Function at 0x408180
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 [0x43dc24]
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.0041df80
add esp, 0xc
lea edx, [ebp - 0x9c0]
mov dword [ebp - 0x19c], edx
cmp dword [ebp + 0x14], 0
je 0x4081cd
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 0x408263
push 0x437918
push 0x3ff
mov ecx, dword [ebp - 0x19c]
push ecx
call fcn.0041bb9f
add esp, 0xc
push 0x437938
push 0x3ff
mov edx, dword [ebp - 0x19c]
push edx
call fcn.0041bb22
add esp, 0xc
push 0x43793c
push 0x3ff
mov eax, dword [ebp - 0x19c]
push eax
call fcn.0041bb22
add esp, 0xc
xor eax, eax
jmp 0x40843b
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 0x4082ce
push 0x43797c
push 0x3ff
mov eax, dword [ebp - 0x19c]
push eax
call fcn.0041bb9f
add esp, 0xc
push 0x43799c
push 0x3ff
mov ecx, dword [ebp - 0x19c]
push ecx
call fcn.0041bb22
add esp, 0xc
push 0x4379a0
push 0x3ff
mov edx, dword [ebp - 0x19c]
push edx
call fcn.0041bb22
add esp, 0xc
xor eax, eax
jmp 0x40843b
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 0x40830e
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 0x40836c
push 0x4379e0
push 0x3ff
mov eax, dword [ebp - 0x19c]
push eax
call fcn.0041bb9f
add esp, 0xc
push 0x437a00
push 0x3ff
mov ecx, dword [ebp - 0x19c]
push ecx
call fcn.0041bb22
add esp, 0xc
push 0x437a04
push 0x3ff
mov edx, dword [ebp - 0x19c]
push edx
call fcn.0041bb22
add esp, 0xc
jmp 0x40840f
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 0x408405
push 0x437a44
push 0x3ff
mov eax, dword [ebp - 0x19c]
push eax
call fcn.0041bb9f
add esp, 0xc
push 0x437a64
push 0x3ff
mov ecx, dword [ebp - 0x19c]
push ecx
call fcn.0041bb22
add esp, 0xc
push 0x437a68
push 0x3ff
mov edx, dword [ebp - 0x19c]
push edx
call fcn.0041bb22
add esp, 0xc
jmp 0x40840f
mov dword [ebp - 0x1b8], 1
cmp dword [ebp - 0x1b8], 0
jne 0x408435
mov eax, dword [ebp + 0x10]
cmp dword [eax], 0
je 0x408435
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.0041b92a
mov esp, ebp
pop ebp
ret