Function at 0x4401ac
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Create tcp socket
Initialize winsock library

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffe34
push ebx
push esi
push edi
xor eax, eax
mov dword [ebp - 0x1cc], eax
mov dword [ebp - 0x1c4], eax
mov dword [ebp - 0x1c8], eax
mov dword [ebp - 0x1b0], eax
mov dword [ebp - 0x1ac], eax
mov dword [ebp - 4], eax
mov esi, dword [ebp + 8]
xor eax, eax
push ebp
push 0x4404dd
push dword fs:[eax]
mov dword fs:[eax], esp
xor edi, edi
mov dl, 1
mov eax, dword [0x41ebc4]
call fcn.0041ec6c
mov ebx, eax
lea eax, [ebp - 0x1ac]
mov edx, esi
call fcn.0040467c
mov edx, dword [ebp - 0x1ac]
mov eax, ebx
call fcn.0041ed28
test al, al
jne 0x440226
mov eax, ebx
call fcn.00403680
jmp 0x4404a7
mov eax, ebx
call fcn.00403680
lea eax, [ebp - 0x198]
push eax
mov dl, 2
mov al, 2
call fcn.00406b68
push eax
call sub.wsock32.dll_WSAStartup
test eax, eax
je 0x44025e
call sub.wsock32.dll_WSAGetLastError
mov edx, dword [0x45b218]
mov dword [edx], eax
call sub.wsock32.dll_WSACleanup
jmp 0x4404a7
push 6
push 1
push 2
call sub.wsock32.dll_socket
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x44028d
call sub.wsock32.dll_WSAGetLastError
mov edx, dword [0x45b218]
mov dword [edx], eax
push ebx
call sub.wsock32.dll_closesocket
call sub.wsock32.dll_WSACleanup
jmp 0x4404a7
mov edx, dword [0x45b51c]
mov edx, dword [edx]
mov eax, ebx
call fcn.004400e8
test al, al
jne 0x4402bd
call sub.wsock32.dll_WSAGetLastError
mov edx, dword [0x45b218]
mov dword [edx], eax
push ebx
call sub.wsock32.dll_closesocket
call sub.wsock32.dll_WSACleanup
jmp 0x4404a7
push esi
call sub.wsock32.dll_inet_addr
mov dword [ebp - 0x1a4], eax
mov word [ebp - 0x1a8], 2
mov ax, word [ebp + 0xc]
push eax
call sub.wsock32.dll_htons
mov word [ebp - 0x1a6], ax
push 0x10
lea eax, [ebp - 0x1a8]
push eax
push ebx
call sub.wsock32.dll_connect
inc eax
jne 0x440312
call sub.wsock32.dll_WSAGetLastError
mov edx, dword [0x45b218]
mov dword [edx], eax
push ebx
call sub.wsock32.dll_closesocket
call sub.wsock32.dll_WSACleanup
jmp 0x4404a7
mov eax, dword [0x4dd3a8]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jne 0x44037b
mov eax, dword [0x45b3e0]
mov byte [eax], 1
lea eax, [ebp - 0x1b0]
push eax
mov dword [ebp - 0x1c0], ebx
mov byte [ebp - 0x1bc], 0
mov eax, dword [0x45b3e0]
movzx eax, byte [eax]
mov dword [ebp - 0x1b8], eax
mov byte [ebp - 0x1b4], 0
lea edx, [ebp - 0x1c0]
mov ecx, 1
mov eax, 0x4404f8
call fcn.00408bd4
mov edx, dword [ebp - 0x1b0]
mov eax, dword [0x4dd3a8]
call fcn.00413d24
jmp 0x440467
mov eax, dword [0x4dd3a8]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test eax, eax
jl 0x440467
inc eax
mov dword [ebp - 8], eax
xor esi, esi
lea ecx, [ebp - 4]
mov edx, esi
mov eax, dword [0x4dd3a8]
mov edi, dword [eax]
call dword [edi + 0xc]
lea eax, [ebp - 0x1c4]
push eax
mov edx, dword [ebp - 4]
mov eax, 0x440508
call fcn.00404a88
push eax
mov eax, dword [ebp - 4]
call fcn.00404744
pop edx
sub eax, edx
push eax
mov edx, dword [ebp - 4]
mov eax, 0x440508
call fcn.00404a88
mov edx, eax
inc edx
mov eax, dword [ebp - 4]
pop ecx
call fcn.004049a4
mov eax, dword [ebp - 0x1c4]
push eax
lea edx, [ebp - 0x1c8]
lea eax, [esi + 1]
call fcn.00407e4c
mov edx, dword [ebp - 0x1c8]
pop eax
call fcn.00404890
je 0x44045d
mov eax, esi
inc eax
mov edx, dword [0x45b3e0]
mov byte [edx], al
lea eax, [ebp - 0x1cc]
push eax
mov dword [ebp - 0x1c0], ebx
mov byte [ebp - 0x1bc], 0
mov eax, dword [0x45b3e0]
movzx eax, byte [eax]
mov dword [ebp - 0x1b8], eax
mov byte [ebp - 0x1b4], 0
lea edx, [ebp - 0x1c0]
mov ecx, 1
mov eax, 0x4404f8
call fcn.00408bd4
mov ecx, dword [ebp - 0x1cc]
mov edx, esi
mov eax, dword [0x4dd3a8]
mov edi, dword [eax]
call dword [edi + 0x60]
jmp 0x440467
inc esi
dec dword [ebp - 8]
jne 0x440394
mov eax, dword [0x45b3e0]
movzx eax, byte [eax]
imul eax, eax, 0x422
lea eax, [eax*8 + 0x4dd3b4]
xor ecx, ecx
mov edx, 0x2110
call fcn.00402f40
mov eax, dword [0x45b3e0]
movzx eax, byte [eax]
imul eax, eax, 0x422
mov dword [eax*8 + 0x4dd3b4], ebx
mov eax, dword [0x45b4c8]
mov byte [eax], 0
mov edi, ebx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4404e4
lea eax, [ebp - 0x1cc]
mov edx, 3
call fcn.004044a8
lea eax, [ebp - 0x1b0]
mov edx, 2
call fcn.004044a8
lea eax, [ebp - 4]
call fcn.00404484
ret