Function at 0x440820
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Connect udp socket
Create tcp socket
Create udp socket
Get local ipv4 addresses
Get socket information
Send data
Send data on socket
Start tcp server

Disassembly:
push ebp
mov ebp, esp
push edi
mov edi, 2
push esi
xor esi, esi
push ebx
mov ebx, eax
sub esp, 0x5c
mov dword [ebp - 0x36], 0
mov dword [esp + 8], 6
mov dword [esp + 4], 1
mov dword [esp], 2
mov dword [ebp - 0x32], 0
mov word [ebp - 0x2a], si
mov word [ebp - 0x38], di
mov dword [ebp - 0x2e], 0
mov dword [ebp - 0x34], 0x100007f
call sub.ws2_32.dll_socket
sub esp, 0xc
mov edi, eax
mov dword [ebp - 0x4c], eax
mov dword [esp + 4], 0x13ae
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
call sub.ws2_32.dll_WSAGetLastError
mov dword [esp + 4], str.failed_to_create_socket__error__u_n
mov dword [esp + 8], eax
xor eax, eax
cmp edi, 0xffffffff
setne al
mov dword [esp], eax
call fcn.00465cf0
lea eax, [ebp - 0x38]
mov dword [esp], edi
mov dword [esp + 8], 0x10
mov dword [esp + 4], eax
call sub.ws2_32.dll_bind
sub esp, 0xc
mov esi, eax
mov dword [esp + 4], 0x13b0
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
call sub.ws2_32.dll_WSAGetLastError
mov dword [esp + 4], str.failed_to_bind__error__u_n
mov dword [esp + 8], eax
xor eax, eax
test esi, esi
sete al
mov dword [esp], eax
call fcn.00465cf0
lea eax, [ebp - 0x3c]
mov dword [esp], edi
mov dword [esp + 8], eax
lea eax, [ebp - 0x28]
mov dword [esp + 4], eax
mov dword [ebp - 0x3c], 0x10
call sub.ws2_32.dll_getsockname
sub esp, 0xc
mov esi, eax
mov dword [esp + 4], 0x13b3
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
call sub.ws2_32.dll_WSAGetLastError
mov dword [esp + 4], str.failed_to_get_address__error__u_n
mov dword [esp + 8], eax
xor eax, eax
test esi, esi
sete al
mov dword [esp], eax
call fcn.00465cf0
mov dword [esp], edi
mov dword [esp + 4], 2
call sub.ws2_32.dll_listen
sub esp, 8
mov esi, eax
mov dword [esp + 4], 0x13b5
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
call sub.ws2_32.dll_WSAGetLastError
mov dword [esp + 4], str.failed_to_listen__error__u_n
mov dword [esp + 8], eax
xor eax, eax
test esi, esi
sete al
mov dword [esp], eax
call fcn.00465cf0
mov dword [esp + 8], 6
mov dword [esp + 4], 1
mov dword [esp], 2
call sub.ws2_32.dll_socket
sub esp, 0xc
mov esi, eax
mov dword [esp + 4], 0x13b8
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
call sub.ws2_32.dll_WSAGetLastError
mov dword [esp + 4], str.failed_to_create_socket__error__u_n
mov dword [esp + 8], eax
xor eax, eax
cmp esi, 0xffffffff
setne al
mov dword [esp], eax
call fcn.00465cf0
mov ecx, 0x3f
mov edx, esi
mov eax, ebx
call fcn.0043f310
mov dword [esp], 0
mov edx, ebx
xor ecx, ecx
mov dword [esp + 0xc], 0
mov eax, 0x13bb
mov dword [esp + 8], 0
mov dword [esp + 4], 0
call fcn.0043f3a0
lea eax, [ebp - 0x28]
mov dword [esp + 8], 0x10
mov dword [esp + 4], eax
mov dword [esp], esi
call sub.ws2_32.dll_connect
sub esp, 0xc
mov dword [ebp - 0x50], eax
mov dword [esp + 4], 0x13be
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
call sub.ws2_32.dll_WSAGetLastError
mov edx, dword [ebp - 0x50]
mov edi, eax
mov eax, 1
test edx, edx
jne 0x440fb5
mov dword [esp], eax
mov dword [esp + 8], edi
mov dword [esp + 4], str.failed_to_connect__error__u_n
call fcn.00465cf0
mov dword [esp + 0xc], 0
mov edx, ebx
mov ecx, 0x10
mov dword [esp + 8], 0
mov eax, 0x13c0
mov dword [esp + 4], 0xc8
mov dword [esp], 2
call fcn.0043f3a0
mov dword [esp], 0
xor ecx, ecx
mov edx, ebx
mov dword [esp + 0xc], 0
mov eax, 0x13c1
mov dword [esp + 8], 0
mov dword [esp + 4], 0
call fcn.0043f3a0
xor ecx, ecx
mov edx, esi
mov eax, ebx
call fcn.0043f310
mov ecx, 0x3f
mov edx, esi
mov eax, ebx
call fcn.0043f310
mov ecx, dword [ebx]
test ecx, ecx
jne 0x440f80
mov dword [esp], 0
mov edx, ebx
xor ecx, ecx
mov eax, 0x13c6
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
call fcn.0043f3a0
mov eax, dword [ebp - 0x4c]
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
call sub.ws2_32.dll_accept
sub esp, 0xc
mov edi, eax
mov dword [esp + 4], 0x13c9
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
call sub.ws2_32.dll_WSAGetLastError
mov dword [esp + 4], str.failed_to_accept__error__u_n
mov dword [esp + 8], eax
xor eax, eax
cmp edi, 0xffffffff
setne al
mov dword [esp], eax
call fcn.00465cf0
mov dword [esp], esi
call sub.ws2_32.dll_closesocket
sub esp, 4
mov dword [esp], edi
call sub.ws2_32.dll_closesocket
sub esp, 4
mov dword [esp + 8], 6
mov dword [esp + 4], 1
mov dword [esp], 2
call sub.ws2_32.dll_socket
sub esp, 0xc
mov esi, eax
mov dword [esp + 4], 0x13d1
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
call sub.ws2_32.dll_WSAGetLastError
mov dword [esp + 4], str.failed_to_create_socket__error__u_n
mov dword [esp + 8], eax
xor eax, eax
cmp esi, 0xffffffff
setne al
mov dword [esp], eax
call fcn.00465cf0
lea ecx, [ebp - 0x28]
mov dword [esp + 8], 0x10
mov dword [esp + 4], ecx
mov dword [esp], esi
call sub.ws2_32.dll_connect
sub esp, 0xc
mov edi, eax
mov dword [esp + 4], 0x13d4
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
call sub.ws2_32.dll_WSAGetLastError
mov dword [esp + 4], str.failed_to_connect__error__u_n
mov dword [esp + 8], eax
xor eax, eax
test edi, edi
sete al
mov dword [esp], eax
call fcn.00465cf0
mov eax, dword [ebp - 0x4c]
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
call sub.ws2_32.dll_accept
sub esp, 0xc
mov edi, eax
mov dword [esp + 4], 0x13d7
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
call sub.ws2_32.dll_WSAGetLastError
mov dword [esp + 4], str.failed_to_accept__error__u_n
mov dword [esp + 8], eax
xor eax, eax
cmp edi, 0xffffffff
setne al
mov dword [esp], eax
call fcn.00465cf0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 5
mov dword [esp + 4], str.data
mov dword [esp], esi
call sub.ws2_32.dll_send
sub esp, 0x10
mov dword [ebp - 0x50], eax
mov dword [esp + 4], 0x13da
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
mov eax, dword [ebp - 0x50]
mov dword [esp + 4], str.got__d_n
cmp eax, 5
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00465cf0
mov edx, esi
mov ecx, 0x3f
mov eax, ebx
call fcn.0043f310
mov edx, dword [ebx]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
test edx, edx
mov dword [esp + 4], 0xc8
jne 0x440f10
mov dword [esp], 2
mov ecx, 0x10
mov edx, ebx
mov eax, 0x13e0
call fcn.0043f3a0
mov dword [esp], esi
call sub.ws2_32.dll_closesocket
sub esp, 4
mov dword [esp], edi
call sub.ws2_32.dll_closesocket
sub esp, 4
mov dword [esp + 8], 6
mov dword [esp + 4], 1
mov dword [esp], 2
call sub.ws2_32.dll_socket
sub esp, 0xc
mov esi, eax
mov dword [esp + 4], 0x13e8
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
call sub.ws2_32.dll_WSAGetLastError
mov dword [esp + 4], str.failed_to_create_socket__error__u_n
mov dword [esp + 8], eax
xor eax, eax
cmp esi, 0xffffffff
setne al
mov dword [esp], eax
call fcn.00465cf0
mov edx, esi
mov ecx, 0x2f
mov eax, ebx
call fcn.0043f310
lea eax, [ebp - 0x28]
mov dword [esp + 8], 0x10
mov dword [esp + 4], eax
mov dword [esp], esi
call sub.ws2_32.dll_connect
sub esp, 0xc
mov dword [ebp - 0x50], eax
mov dword [esp + 4], 0x13ed
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
call sub.ws2_32.dll_WSAGetLastError
mov edx, dword [ebp - 0x50]
mov edi, eax
mov eax, 1
test edx, edx
jne 0x440f65
mov dword [esp + 8], edi
mov dword [esp], eax
mov dword [esp + 4], str.failed_to_connect__error__u_n
call fcn.00465cf0
mov eax, dword [ebp - 0x4c]
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
call sub.ws2_32.dll_accept
sub esp, 0xc
mov edi, eax
mov dword [esp + 4], 0x13f0
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
call sub.ws2_32.dll_WSAGetLastError
mov dword [esp + 4], str.failed_to_accept__error__u_n
mov dword [esp + 8], eax
xor eax, eax
cmp edi, 0xffffffff
setne al
mov dword [esp], eax
call fcn.00465cf0
mov dword [esp + 0xc], 0
mov edx, ebx
mov ecx, 2
mov dword [esp + 8], 0
mov eax, 0x13f2
mov dword [esp + 4], 0xc8
mov dword [esp], 0
call fcn.0043f3a0
mov eax, ebx
mov ecx, 0x3f
mov edx, esi
call fcn.0043f310
mov eax, dword [ebx]
test eax, eax
je 0x440f30
mov dword [esp + 0xc], 0
mov ecx, 2
mov edx, ebx
mov eax, 0x13f7
mov dword [esp + 8], 0
mov dword [esp + 4], 0xc8
mov dword [esp], 0
call fcn.0043f3a0
mov dword [esp], esi
call sub.ws2_32.dll_closesocket
sub esp, 4
mov dword [esp], edi
call sub.ws2_32.dll_closesocket
mov eax, dword [ebp - 0x4c]
sub esp, 4
mov dword [esp], eax
call sub.ws2_32.dll_closesocket
sub esp, 4
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp], 0
mov ecx, 2
mov edx, ebx
mov eax, 0x13de
call fcn.0043f3a0
jmp 0x440d40
mov dword [esp + 0xc], 1
mov ecx, 0x10
mov edx, ebx
mov eax, 0x13f9
mov dword [esp + 8], 1
mov dword [esp + 4], 0xc8
mov dword [esp], 0
call fcn.0043f3a0
jmp 0x440ee3
call sub.ws2_32.dll_WSAGetLastError
cmp eax, 0x2733
sete al
movzx eax, al
jmp 0x440e02
mov dword [esp + 0xc], 0
mov ecx, 2
mov edx, ebx
mov eax, 0x13c5
mov dword [esp + 8], 0
mov dword [esp + 4], 0xc8
mov dword [esp], 0
call fcn.0043f3a0
jmp 0x440b0b
call sub.ws2_32.dll_WSAGetLastError
cmp eax, 0x2733
sete al
movzx eax, al
jmp 0x440a77