Function at 0x447df0
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Connect udp socket
Create tcp socket
Create udp socket
Get socket status
Initialize winsock library
Resolve dns
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0x61
push 0
push 0
dec ecx
jne 0x447df9
push ecx
xchg dword [ebp - 4], ecx
push ebx
push esi
push edi
test dl, dl
je 0x447e13
add esp, 0xfffffff0
call fcn.00404974
mov edi, ecx
mov byte [ebp - 0xd], dl
mov ebx, eax
xor eax, eax
push ebp
push 0x448596
push dword fs:[eax]
mov dword fs:[eax], esp
xor edx, edx
mov eax, ebx
call fcn.00404460
lea eax, [ebp - 0x1bc]
push eax
push 0x101
call sub.wsock32.dll_WSAStartup
lea eax, [ebx + 4]
mov edx, edi
call fcn.00406dd4
push 0
push 1
push 2
call sub.wsock32.dll_socket
mov esi, eax
mov dword [ebx + 0x50], esi
inc esi
je 0x448504
mov eax, edi
call fcn.004061f8
push eax
call sub.wsock32.dll_inet_addr
mov esi, eax
cmp esi, 0xffffffff
jne 0x447e8f
mov eax, edi
call fcn.004061f8
push eax
call sub.wsock32.dll_gethostbyname
test eax, eax
je 0x447e8f
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov esi, dword [eax]
cmp esi, 0xffffffff
je 0x4484d4
cmp word [ebp + 0x18], 0
jne 0x447ecd
cmp byte [ebp + 0x14], 0
je 0x447ead
mov word [ebp + 0x18], 0x1d1
jmp 0x447ecd
cmp byte [ebp + 0x10], 0
je 0x447ec7
cmp dword [ebp + 0xc], 0
jne 0x447ebf
cmp dword [ebp + 8], 0
je 0x447ec7
mov word [ebp + 0x18], 0x24b
jmp 0x447ecd
mov word [ebp + 0x18], 0x19
mov word [ebp - 0x2c], 2
movzx eax, word [ebp + 0x18]
push eax
call sub.wsock32.dll_htons
mov word [ebp - 0x2a], ax
mov dword [ebp - 0x28], esi
mov esi, 0x10000
mov dword [ebx + 0x74], esi
push 4
push 0x1000
push esi
push 0
call sub.kernel32.dll_VirtualAlloc_1
mov dword [ebx + 0x78], eax
mov dword [ebp - 0x14], 1
lea eax, [ebp - 0x14]
push eax
push 0x8004667e
mov eax, dword [ebx + 0x50]
push eax
call sub.wsock32.dll_ioctlsocket
push 0x10
lea eax, [ebp - 0x2c]
push eax
mov eax, dword [ebx + 0x50]
push eax
call sub.wsock32.dll_connect
mov dword [ebp - 0x2c0], 1
mov eax, dword [ebx + 0x50]
mov dword [ebp - 0x2bc], eax
mov eax, dword [0x6895bc]
mov dword [ebp - 0x1c], eax
xor eax, eax
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x1c]
push eax
push 0
lea eax, [ebp - 0x2c0]
push eax
push 0
push 0
call sub.wsock32.dll_select
test eax, eax
jle 0x4484c2
xor eax, eax
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x14]
push eax
push 0x8004667e
mov eax, dword [ebx + 0x50]
push eax
call sub.wsock32.dll_ioctlsocket
cmp byte [ebp + 0x14], 0
je 0x447f90
mov eax, ebx
call fcn.0044888c
test al, al
je 0x4484b0
cmp dword [0x6895b8], 0
je 0x447fa9
lea eax, [ebp - 0xc]
mov edx, dword [0x6895b8]
call fcn.00405bec
jmp 0x447fc7
lea eax, [ebp - 0x2c4]
call fcn.00436060
mov edx, dword [ebp - 0x2c4]
lea eax, [ebp - 0xc]
mov ecx, 0
call fcn.00406dfc
lea eax, [ebp - 4]
call fcn.00405b3c
mov ecx, eax
mov edx, 0x4485d0
mov eax, ebx
call fcn.00449298
test al, al
je 0x44844c
lea eax, [ebp - 4]
call fcn.00405b3c
push eax
lea eax, [ebp - 0x2c8]
mov ecx, dword [ebp - 0xc]
mov edx, 0x4485e0
call fcn.00405f80
mov edx, dword [ebp - 0x2c8]
mov ecx, 0x4485f4
mov eax, ebx
call fcn.00449114
test al, al
jne 0x44804d
lea eax, [ebp - 4]
call fcn.00405b3c
push eax
lea eax, [ebp - 0x2cc]
mov ecx, dword [ebp - 0xc]
mov edx, 0x448604
call fcn.00405f80
mov edx, dword [ebp - 0x2cc]
mov ecx, 0x4485f4
mov eax, ebx
call fcn.00449114
test al, al
je 0x44844c
mov byte [ebx + 0x88], 1
cmp byte [ebp + 0x14], 0
jne 0x44809a
push 0x7fffffff
mov esi, dword [0x69a060]
mov esi, dword [esi]
mov ecx, 1
mov edx, dword [ebp - 4]
mov eax, 0x448618
call esi
test eax, eax
jne 0x44809e
push 0x7fffffff
mov esi, dword [0x69a060]
mov esi, dword [esi]
mov ecx, 1
mov edx, dword [ebp - 4]
mov eax, 0x448634
call esi
test eax, eax
jne 0x44809e
xor eax, eax
jmp 0x4480a0
mov al, 1
mov byte [ebx + 0x8a], al
cmp byte [ebx + 0x8a], 0
je 0x4480fb
cmp byte [ebp + 0x10], 0
jne 0x4480ff
cmp dword [ebp + 0xc], 0
je 0x4480fb
push 0x7fffffff
mov esi, dword [0x69a060]
mov esi, dword [esi]
mov ecx, 1
mov edx, dword [ebp - 4]
mov eax, 0x448650
call esi
test eax, eax
jne 0x4480fb
push 0x7fffffff
mov esi, dword [0x69a060]
mov esi, dword [esi]
mov ecx, 1
mov edx, dword [ebp - 4]
mov eax, 0x448668
call esi
test eax, eax
je 0x4480ff
xor eax, eax
jmp 0x448101
mov al, 1
mov byte [ebx + 0x8b], al
cmp byte [ebx + 0x8b], 0
je 0x4481ad
lea eax, [ebp - 4]
call fcn.00405b3c
push eax
mov ecx, 0x4485d0
mov edx, 0x448680
mov eax, ebx
call fcn.00449114
test al, al
je 0x4483c7
mov eax, ebx
call fcn.0044888c
test al, al
je 0x4483c7
lea eax, [ebp - 4]
call fcn.00405b3c
push eax
lea eax, [ebp - 0x2d0]
mov ecx, dword [ebp - 0xc]
mov edx, 0x4485e0
call fcn.00405f80
mov edx, dword [ebp - 0x2d0]
mov ecx, 0x4485f4
mov eax, ebx
call fcn.00449114
test al, al
jne 0x4481ad
lea eax, [ebp - 8]
call fcn.00405b3c
push eax
lea eax, [ebp - 0x2d4]
mov ecx, dword [ebp - 0xc]
mov edx, 0x448604
call fcn.00405f80
mov edx, dword [ebp - 0x2d4]
mov ecx, 0x4485f4
mov eax, ebx
call fcn.00449114
test al, al
je 0x4483c7
mov byte [ebx + 0x8c], 1
mov byte [ebx + 0x8e], 1
push 0
mov esi, dword [0x69a3f4]
mov esi, dword [esi]
lea eax, [ebp - 4]
mov ecx, 0x448698
mov edx, 0x4486a8
call esi
push 0
mov esi, dword [0x69a3f4]
mov esi, dword [esi]
lea eax, [ebp - 4]
mov ecx, 0x448698
mov edx, 0x4486b8
call esi
push 0x7fffffff
mov esi, dword [0x69a060]
mov esi, dword [esi]
mov ecx, 1
mov edx, dword [ebp - 4]
mov eax, 0x4486c8
call esi
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
jle 0x448504
mov ecx, dword [ebp - 0x14]
inc ecx
lea eax, [ebp - 4]
mov edx, 1
call fcn.004062dc
push 0x7fffffff
mov esi, dword [0x69a364]
mov esi, dword [esi]
mov ecx, 1
mov edx, dword [ebp - 4]
mov eax, 0x4486e0
call esi
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
jle 0x44825c
lea eax, [ebp - 4]
mov ecx, 0x7fffffff
mov edx, dword [ebp - 0x14]
call fcn.004062dc
push 0x7fffffff
lea eax, [ebp - 0x2d8]
mov ecx, 0x448698
mov edx, dword [ebp - 4]
call fcn.00405f80
mov edx, dword [ebp - 0x2d8]
mov esi, dword [0x69a060]
mov esi, dword [esi]
mov ecx, 1
mov eax, 0x4486f0
call esi
test eax, eax
jle 0x448504
mov byte [ebx + 0x8d], 1
cmp dword [ebp + 0xc], 0
jne 0x4482ad
cmp dword [ebp + 8], 0
je 0x44834b
lea eax, [ebp - 4]
call fcn.00405b3c
push eax
mov ecx, 0x448704
mov edx, 0x448714
mov eax, ebx
call fcn.00449114
test al, al
je 0x448347
lea eax, [ebp - 4]
call fcn.00405b3c
push eax
lea edx, [ebp - 0x2e0]
mov eax, dword [ebp + 0xc]
call fcn.0040f594
mov eax, dword [ebp - 0x2e0]
lea edx, [ebp - 0x2dc]
call fcn.0041c65c
mov edx, dword [ebp - 0x2dc]
mov ecx, 0x448704
mov eax, ebx
call fcn.00449114
test al, al
je 0x448347
lea eax, [ebp - 4]
call fcn.00405b3c
push eax
lea edx, [ebp - 0x2e8]
mov eax, dword [ebp + 8]
call fcn.0040f594
mov eax, dword [ebp - 0x2e8]
lea edx, [ebp - 0x2e4]
call fcn.0041c65c
mov edx, dword [ebp - 0x2e4]
mov ecx, 0x44872c
mov eax, ebx
call fcn.00449114
test al, al
jne 0x44834b
xor eax, eax
jmp 0x44834d
mov al, 1
mov byte [ebx + 0x8e], al
cmp byte [ebx + 0x8e], 0
jne 0x448504
push 0x44873c
lea eax, [ebp - 0x2f4]
push eax
mov esi, dword [0x6998c0]
mov esi, dword [esi]
mov cl, 0xa
mov edx, 1
mov eax, dword [ebp - 4]
call esi
mov eax, dword [ebp - 0x2f4]
mov esi, dword [0x69a250]
mov esi, dword [esi]
lea edx, [ebp - 0x2f0]
call esi
mov edx, dword [ebp - 0x2f0]
lea eax, [ebp - 0x2ec]
call fcn.00406dd4
push dword [ebp - 0x2ec]
push 0x448778
lea eax, [ebx + 0x94]
mov edx, 3
call fcn.0040705c
jmp 0x448504
cmp byte [ebx + 0x89], 0
jne 0x4483e5
lea eax, [ebx + 0x94]
mov edx, 0x448788
call fcn.00406ba8
jmp 0x448504
push 0x4487ac
lea eax, [ebp - 0x300]
push eax
mov esi, dword [0x6998c0]
mov esi, dword [esi]
mov cl, 0xa
mov edx, 1
mov eax, dword [ebp - 4]
call esi
mov eax, dword [ebp - 0x300]
mov esi, dword [0x69a250]
mov esi, dword [esi]
lea edx, [ebp - 0x2fc]
call esi
mov edx, dword [ebp - 0x2fc]
lea eax, [ebp - 0x2f8]
call fcn.00406dd4
push dword [ebp - 0x2f8]
push 0x448778
lea eax, [ebx + 0x94]
mov edx, 3
call fcn.0040705c
jmp 0x448504
push 0x4487dc
lea eax, [ebp - 0x30c]
push eax
mov esi, dword [0x6998c0]
mov esi, dword [esi]
mov cl, 0xa
mov edx, 1
mov eax, dword [ebp - 4]
call esi
mov eax, dword [ebp - 0x30c]
mov esi, dword [0x69a250]
mov esi, dword [esi]
lea edx, [ebp - 0x308]
call esi
mov edx, dword [ebp - 0x308]
lea eax, [ebp - 0x304]
call fcn.00406dd4
push dword [ebp - 0x304]
push 0x448778
lea eax, [ebx + 0x94]
mov edx, 3
call fcn.0040705c
jmp 0x448504
lea eax, [ebx + 0x94]
mov edx, 0x448804
call fcn.00406ba8
jmp 0x448504
lea eax, [ebx + 0x94]
mov edx, 0x448828
call fcn.00406ba8
jmp 0x448504
push 0x448864
call sub.wsock32.dll_WSAGetLastError
lea edx, [ebp - 0x310]
call fcn.0040efa8
push dword [ebp - 0x310]
push 0x448778
lea eax, [ebx + 0x94]
mov edx, 3
call fcn.0040705c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4485a0
lea eax, [ebp - 0x310]
call fcn.00406b98
lea eax, [ebp - 0x30c]
mov edx, 2
call fcn.00405b60
lea eax, [ebp - 0x304]
call fcn.00406b98
lea eax, [ebp - 0x300]
mov edx, 2
call fcn.00405b60
lea eax, [ebp - 0x2f8]
call fcn.00406b98
lea eax, [ebp - 0x2f4]
mov edx, 2
call fcn.00405b60
lea eax, [ebp - 0x2ec]
call fcn.00406b98
lea eax, [ebp - 0x2e8]
mov edx, 9
call fcn.00405b60
lea eax, [ebp - 0x2c4]
call fcn.00406b98
lea eax, [ebp - 0xc]
mov edx, 3
call fcn.00405b60
ret