Function at 0x483cac
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 0x483cb5
push ecx
xchg dword [ebp - 4], ecx
push ebx
push esi
push edi
test dl, dl
je 0x483ccf
add esp, 0xfffffff0
call fcn.00408518
mov edi, ecx
mov byte [ebp - 0xd], dl
mov ebx, eax
xor eax, eax
push ebp
push 0x484452
push dword fs:[eax]
mov dword fs:[eax], esp
xor edx, edx
mov eax, ebx
call fcn.00407eec
lea eax, [ebp - 0x1bc]
push eax
push 0x101
call sub.wsock32.dll_WSAStartup
lea eax, [ebx + 4]
mov edx, edi
call fcn.0040ac94
push 0
push 1
push 2
call sub.wsock32.dll_socket
mov esi, eax
mov dword [ebx + 0x50], esi
inc esi
je 0x4843c0
mov eax, edi
call fcn.0040a6b0
push eax
call sub.wsock32.dll_inet_addr
mov esi, eax
cmp esi, 0xffffffff
jne 0x483d4b
mov eax, edi
call fcn.0040a6b0
push eax
call sub.wsock32.dll_gethostbyname
test eax, eax
je 0x483d4b
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov esi, dword [eax]
cmp esi, 0xffffffff
je 0x484390
cmp word [ebp + 0x18], 0
jne 0x483d89
cmp byte [ebp + 0x14], 0
je 0x483d69
mov word [ebp + 0x18], 0x1d1
jmp 0x483d89
cmp byte [ebp + 0x10], 0
je 0x483d83
cmp dword [ebp + 0xc], 0
jne 0x483d7b
cmp dword [ebp + 8], 0
je 0x483d83
mov word [ebp + 0x18], 0x24b
jmp 0x483d89
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
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 [0x70f6c4]
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 0x48437e
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 0x483e4c
mov eax, ebx
call fcn.00484748
test al, al
je 0x48436c
cmp dword [0x70f6c0], 0
je 0x483e65
lea eax, [ebp - 0xc]
mov edx, dword [0x70f6c0]
call fcn.0040a124
jmp 0x483e83
lea eax, [ebp - 0x2c4]
call fcn.0046a830
mov edx, dword [ebp - 0x2c4]
lea eax, [ebp - 0xc]
mov ecx, 0
call fcn.0040a85c
lea eax, [ebp - 4]
call fcn.00409c84
mov ecx, eax
mov edx, 0x48448c
mov eax, ebx
call fcn.00485120
test al, al
je 0x484308
lea eax, [ebp - 4]
call fcn.00409c84
push eax
lea eax, [ebp - 0x2c8]
mov ecx, dword [ebp - 0xc]
mov edx, 0x48449c
call fcn.0040a4e4
mov edx, dword [ebp - 0x2c8]
mov ecx, 0x4844b0
mov eax, ebx
call fcn.00484fb4
test al, al
jne 0x483f09
lea eax, [ebp - 4]
call fcn.00409c84
push eax
lea eax, [ebp - 0x2cc]
mov ecx, dword [ebp - 0xc]
mov edx, 0x4844c0
call fcn.0040a4e4
mov edx, dword [ebp - 0x2cc]
mov ecx, 0x4844b0
mov eax, ebx
call fcn.00484fb4
test al, al
je 0x484308
mov byte [ebx + 0x88], 1
cmp byte [ebp + 0x14], 0
jne 0x483f56
push 0x7fffffff
mov esi, dword [0x7183f0]
mov esi, dword [esi]
mov ecx, 1
mov edx, dword [ebp - 4]
mov eax, 0x4844d4
call esi
test eax, eax
jne 0x483f5a
push 0x7fffffff
mov esi, dword [0x7183f0]
mov esi, dword [esi]
mov ecx, 1
mov edx, dword [ebp - 4]
mov eax, 0x4844f0
call esi
test eax, eax
jne 0x483f5a
xor eax, eax
jmp 0x483f5c
mov al, 1
mov byte [ebx + 0x8a], al
cmp byte [ebx + 0x8a], 0
je 0x483fb7
cmp byte [ebp + 0x10], 0
jne 0x483fbb
cmp dword [ebp + 0xc], 0
je 0x483fb7
push 0x7fffffff
mov esi, dword [0x7183f0]
mov esi, dword [esi]
mov ecx, 1
mov edx, dword [ebp - 4]
mov eax, 0x48450c
call esi
test eax, eax
jne 0x483fb7
push 0x7fffffff
mov esi, dword [0x7183f0]
mov esi, dword [esi]
mov ecx, 1
mov edx, dword [ebp - 4]
mov eax, 0x484524
call esi
test eax, eax
je 0x483fbb
xor eax, eax
jmp 0x483fbd
mov al, 1
mov byte [ebx + 0x8b], al
cmp byte [ebx + 0x8b], 0
je 0x484069
lea eax, [ebp - 4]
call fcn.00409c84
push eax
mov ecx, 0x48448c
mov edx, 0x48453c
mov eax, ebx
call fcn.00484fb4
test al, al
je 0x484283
mov eax, ebx
call fcn.00484748
test al, al
je 0x484283
lea eax, [ebp - 4]
call fcn.00409c84
push eax
lea eax, [ebp - 0x2d0]
mov ecx, dword [ebp - 0xc]
mov edx, 0x48449c
call fcn.0040a4e4
mov edx, dword [ebp - 0x2d0]
mov ecx, 0x4844b0
mov eax, ebx
call fcn.00484fb4
test al, al
jne 0x484069
lea eax, [ebp - 8]
call fcn.00409c84
push eax
lea eax, [ebp - 0x2d4]
mov ecx, dword [ebp - 0xc]
mov edx, 0x4844c0
call fcn.0040a4e4
mov edx, dword [ebp - 0x2d4]
mov ecx, 0x4844b0
mov eax, ebx
call fcn.00484fb4
test al, al
je 0x484283
mov byte [ebx + 0x8c], 1
mov byte [ebx + 0x8e], 1
push 0
mov esi, dword [0x7185ec]
mov esi, dword [esi]
lea eax, [ebp - 4]
mov ecx, 0x484554
mov edx, 0x484564
call esi
push 0
mov esi, dword [0x7185ec]
mov esi, dword [esi]
lea eax, [ebp - 4]
mov ecx, 0x484554
mov edx, 0x484574
call esi
push 0x7fffffff
mov esi, dword [0x7183f0]
mov esi, dword [esi]
mov ecx, 1
mov edx, dword [ebp - 4]
mov eax, 0x484584
call esi
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
jle 0x4843c0
mov ecx, dword [ebp - 0x14]
inc ecx
lea eax, [ebp - 4]
mov edx, 1
call fcn.0040a728
push 0x7fffffff
mov esi, dword [0x71859c]
mov esi, dword [esi]
mov ecx, 1
mov edx, dword [ebp - 4]
mov eax, 0x48459c
call esi
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
jle 0x484118
lea eax, [ebp - 4]
mov ecx, 0x7fffffff
mov edx, dword [ebp - 0x14]
call fcn.0040a728
push 0x7fffffff
lea eax, [ebp - 0x2d8]
mov ecx, 0x484554
mov edx, dword [ebp - 4]
call fcn.0040a4e4
mov edx, dword [ebp - 0x2d8]
mov esi, dword [0x7183f0]
mov esi, dword [esi]
mov ecx, 1
mov eax, 0x4845ac
call esi
test eax, eax
jle 0x4843c0
mov byte [ebx + 0x8d], 1
cmp dword [ebp + 0xc], 0
jne 0x484169
cmp dword [ebp + 8], 0
je 0x484207
lea eax, [ebp - 4]
call fcn.00409c84
push eax
mov ecx, 0x4845c0
mov edx, 0x4845d0
mov eax, ebx
call fcn.00484fb4
test al, al
je 0x484203
lea eax, [ebp - 4]
call fcn.00409c84
push eax
lea edx, [ebp - 0x2e0]
mov eax, dword [ebp + 0xc]
call fcn.00417f3c
mov eax, dword [ebp - 0x2e0]
lea edx, [ebp - 0x2dc]
call fcn.00429ee0
mov edx, dword [ebp - 0x2dc]
mov ecx, 0x4845c0
mov eax, ebx
call fcn.00484fb4
test al, al
je 0x484203
lea eax, [ebp - 4]
call fcn.00409c84
push eax
lea edx, [ebp - 0x2e8]
mov eax, dword [ebp + 8]
call fcn.00417f3c
mov eax, dword [ebp - 0x2e8]
lea edx, [ebp - 0x2e4]
call fcn.00429ee0
mov edx, dword [ebp - 0x2e4]
mov ecx, 0x4845e8
mov eax, ebx
call fcn.00484fb4
test al, al
jne 0x484207
xor eax, eax
jmp 0x484209
mov al, 1
mov byte [ebx + 0x8e], al
cmp byte [ebx + 0x8e], 0
jne 0x4843c0
push 0x4845f8
lea eax, [ebp - 0x2f4]
push eax
mov esi, dword [0x717fd8]
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 [0x7184f4]
mov esi, dword [esi]
lea edx, [ebp - 0x2f0]
call esi
mov edx, dword [ebp - 0x2f0]
lea eax, [ebp - 0x2ec]
call fcn.0040ac94
push dword [ebp - 0x2ec]
push 0x484634
lea eax, [ebx + 0x94]
mov edx, 3
call fcn.0040aeb0
jmp 0x4843c0
cmp byte [ebx + 0x89], 0
jne 0x4842a1
lea eax, [ebx + 0x94]
mov edx, 0x484644
call fcn.0040a040
jmp 0x4843c0
push 0x484668
lea eax, [ebp - 0x300]
push eax
mov esi, dword [0x717fd8]
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 [0x7184f4]
mov esi, dword [esi]
lea edx, [ebp - 0x2fc]
call esi
mov edx, dword [ebp - 0x2fc]
lea eax, [ebp - 0x2f8]
call fcn.0040ac94
push dword [ebp - 0x2f8]
push 0x484634
lea eax, [ebx + 0x94]
mov edx, 3
call fcn.0040aeb0
jmp 0x4843c0
push 0x484698
lea eax, [ebp - 0x30c]
push eax
mov esi, dword [0x717fd8]
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 [0x7184f4]
mov esi, dword [esi]
lea edx, [ebp - 0x308]
call esi
mov edx, dword [ebp - 0x308]
lea eax, [ebp - 0x304]
call fcn.0040ac94
push dword [ebp - 0x304]
push 0x484634
lea eax, [ebx + 0x94]
mov edx, 3
call fcn.0040aeb0
jmp 0x4843c0
lea eax, [ebx + 0x94]
mov edx, 0x4846c0
call fcn.0040a040
jmp 0x4843c0
lea eax, [ebx + 0x94]
mov edx, 0x4846e4
call fcn.0040a040
jmp 0x4843c0
push 0x484720
call sub.wsock32.dll_WSAGetLastError
lea edx, [ebp - 0x310]
call fcn.004179a4
push dword [ebp - 0x310]
push 0x484634
lea eax, [ebx + 0x94]
mov edx, 3
call fcn.0040aeb0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x48445c
lea eax, [ebp - 0x310]
call fcn.00409c60
lea eax, [ebp - 0x30c]
mov edx, 2
call fcn.00409cf0
lea eax, [ebp - 0x304]
call fcn.00409c60
lea eax, [ebp - 0x300]
mov edx, 2
call fcn.00409cf0
lea eax, [ebp - 0x2f8]
call fcn.00409c60
lea eax, [ebp - 0x2f4]
mov edx, 2
call fcn.00409cf0
lea eax, [ebp - 0x2ec]
call fcn.00409c60
lea eax, [ebp - 0x2e8]
mov edx, 9
call fcn.00409cf0
lea eax, [ebp - 0x2c4]
call fcn.00409c60
lea eax, [ebp - 0xc]
mov edx, 3
call fcn.00409cf0
ret