Function at 0x4568e1
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Connect udp socket
Create tcp socket
Create udp socket
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff88
mov eax, 0x4c02d0
push ebx
push esi
push edi
mov ebx, dword [ebp + 8]
call fcn.0049d698
cmp dword [ebx + 0x94], 0
jne 0x456914
mov eax, 0x14
mov edx, dword [ebp - 0x34]
mov dword fs:[0], edx
jmp 0x456d28
mov edi, dword [ebx + 0xce]
xor eax, eax
mov dword [ebx + 0xce], eax
test edi, edi
je 0x456962
cmp dword [ebx + 0xbe], 0
jne 0x456962
mov esi, dword [ebx + 0xb6]
mov dword [ebp - 0x38], ebx
cmp dword [0x4c0168], 0
jne 0x456949
push esi
call sub.WSOCK32.dll_inet_addr
jmp 0x456952
push esi
push dword [ebp - 0x38]
call fcn.0045a193
mov dword [ebx + 0xa0], eax
mov dword [ebx + 0x98], 1
cmp dword [ebx + 0x98], 0
jne 0x456998
xor edx, edx
test edi, edi
mov dword [ebx + 0x94], edx
je 0x456984
push 0xf
push 4
push ebx
call fcn.004586f8
add esp, 0xc
mov eax, 0xf
mov edx, dword [ebp - 0x34]
mov dword fs:[0], edx
jmp 0x456d28
push ebx
call fcn.00457876
pop ecx
mov dword [ebp - 0x3c], ebx
cmp dword [0x4c0168], 0
jne 0x4569ba
push 0
push 1
push 2
call sub.WSOCK32.dll_socket
mov esi, eax
jmp 0x4569ca
push 0
push 1
push 2
push dword [ebp - 0x3c]
call fcn.0045aa64
mov esi, eax
cmp esi, 0xffffffff
je 0x456a1e
mov word [ebp - 0x24], 0xc
xor ecx, ecx
lea edx, [ebp - 8]
mov dword [ebp - 0x40], ecx
mov dword [ebp - 8], esi
mov eax, dword [ebp - 0x40]
lea ecx, [ebp - 0x10]
mov dword [ebp - 4], eax
inc dword [ebp - 0x18]
push edx
push 0x4d3004
push ecx
call fcn.0045cfd0
inc dword [ebp - 0x18]
inc dword [ebp - 0x18]
lea eax, [ebp - 0x10]
mov dword [ebp - 0x44], eax
add esp, 0xc
mov edx, dword [ebp - 0x44]
mov ecx, dword [edx + 1]
dec dword [ebp - 0x18]
add ecx, 0x10
add ecx, 4
dec dword [ebp - 0x18]
mov eax, dword [ebp - 0x3c]
mov dword [ecx], eax
mov dword [ebx + 0xc], esi
cmp dword [ebx + 0xc], 0xffffffff
jne 0x456a81
xor edx, edx
mov dword [ebx + 0x94], edx
mov esi, ebx
cmp dword [0x4c0168], 0
jne 0x456a41
call sub.WSOCK32.dll_WSAGetLastError
jmp 0x456a47
push esi
call fcn.0045adc4
push eax
push ebx
call fcn.0045861f
add esp, 8
mov dword [ebx + 0xac], eax
test edi, edi
je 0x456a6c
push dword [ebx + 0xac]
push 4
push ebx
call fcn.004586f8
add esp, 0xc
mov eax, dword [ebx + 0xac]
mov edx, dword [ebp - 0x34]
mov dword fs:[0], edx
jmp 0x456d28
cmp word [ebx + 0xb0], 0
jne 0x456ab3
mov esi, ebx
cmp dword [0x4c0168], 0
jne 0x456a9f
push 0
call sub.WSOCK32.dll_htonl
jmp 0x456aa7
push 0
push esi
call fcn.0045a0bc
cmp eax, dword [ebx + 0xb2]
je 0x456bb1
mov word [ebp - 0x78], 2
mov ecx, dword [ebx + 0xb2]
mov dword [ebp - 0x74], ecx
mov si, word [ebx + 0xb0]
mov dword [ebp - 0x4c], ebx
cmp dword [0x4c0168], 0
jne 0x456add
push esi
call sub.WSOCK32.dll_htons
jmp 0x456ae6
push esi
push dword [ebp - 0x4c]
call fcn.0045a124
mov word [ebp - 0x76], ax
mov dword [ebp - 0x50], 1
mov eax, dword [ebx + 0xc]
mov edx, ebx
cmp dword [0x4c0168], 0
jne 0x456b14
push 4
lea ecx, [ebp - 0x50]
push ecx
push 4
push 0xffff
push eax
call sub.WSOCK32.dll_setsockopt
jmp 0x456b28
push 4
lea ecx, [ebp - 0x50]
push ecx
push 4
push 0xffff
push eax
push edx
call fcn.0045a663
mov esi, dword [ebx + 0xc]
mov dword [ebp - 0x54], ebx
cmp dword [0x4c0168], 0
jne 0x456b45
push 0x10
lea eax, [ebp - 0x78]
push eax
push esi
call sub.WSOCK32.dll_bind
jmp 0x456b54
push 0x10
lea edx, [ebp - 0x78]
push edx
push esi
push dword [ebp - 0x54]
call fcn.004599a1
inc eax
jne 0x456bb1
xor eax, eax
mov dword [ebx + 0x94], eax
mov esi, ebx
cmp dword [0x4c0168], 0
jne 0x456b71
call sub.WSOCK32.dll_WSAGetLastError
jmp 0x456b77
push esi
call fcn.0045adc4
push eax
push ebx
call fcn.0045861f
add esp, 8
mov dword [ebx + 0xac], eax
test edi, edi
je 0x456b9c
push dword [ebx + 0xac]
push 4
push ebx
call fcn.004586f8
add esp, 0xc
mov eax, dword [ebx + 0xac]
mov edx, dword [ebp - 0x34]
mov dword fs:[0], edx
jmp 0x456d28
mov dword [ebp - 0x58], 1
mov eax, dword [ebx + 0xc]
mov edx, ebx
cmp dword [0x4c0168], 0
jne 0x456bd7
lea ecx, [ebp - 0x58]
push ecx
push 0x8004667e
push eax
call sub.WSOCK32.dll_ioctlsocket
jmp 0x456be7
lea ecx, [ebp - 0x58]
push ecx
push 0x8004667e
push eax
push edx
call fcn.00459b63
mov esi, dword [0x4c0164]
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x60], ebx
cmp dword [0x4c0168], 0
jne 0x456c11
push 0x30
push 0x400
push esi
push dword [ebp - 0x5c]
call sub.WSOCK32.dll_WSAAsyncSelect
jmp 0x456c24
push 0x30
push 0x400
push esi
push dword [ebp - 0x5c]
push dword [ebp - 0x60]
call fcn.0045b6b2
test eax, eax
je 0x456c65
xor edx, edx
mov eax, 0x14
mov dword [ebx + 0x94], edx
mov dword [ebx + 0xac], eax
test edi, edi
je 0x456c50
push dword [ebx + 0xac]
push 4
push ebx
call fcn.004586f8
add esp, 0xc
mov eax, dword [ebx + 0xac]
mov edx, dword [ebp - 0x34]
mov dword fs:[0], edx
jmp 0x456d28
cmp dword [ebx + 0x44], 0
je 0x456c70
xor ecx, ecx
mov dword [ebx + 0x34], ecx
lea esi, [ebx + 0x9c]
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x68], ebx
cmp dword [0x4c0168], 0
jne 0x456c95
push 0x10
push esi
push dword [ebp - 0x64]
call sub.WSOCK32.dll_connect
jmp 0x456ca3
push 0x10
push esi
push dword [ebp - 0x64]
push dword [ebp - 0x68]
call fcn.00459ac9
inc eax
jne 0x456d1c
mov esi, ebx
cmp dword [0x4c0168], 0
jne 0x456cb8
call sub.WSOCK32.dll_WSAGetLastError
jmp 0x456cbe
push esi
call fcn.0045adc4
cmp eax, 0x2733
je 0x456d1c
xor edx, edx
mov dword [ebx + 0x94], edx
mov esi, ebx
cmp dword [0x4c0168], 0
jne 0x456cdf
call sub.WSOCK32.dll_WSAGetLastError
jmp 0x456ce5
push esi
call fcn.0045adc4
push eax
push ebx
call fcn.0045861f
add esp, 8
mov dword [ebx + 0xac], eax
test edi, edi
je 0x456d0a
push dword [ebx + 0xac]
push 4
push ebx
call fcn.004586f8
add esp, 0xc
mov eax, dword [ebx + 0xac]
mov edx, dword [ebp - 0x34]
mov dword fs:[0], edx
jmp 0x456d28
xor eax, eax
mov edx, dword [ebp - 0x34]
mov dword fs:[0], edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret