Function at 0x422310
Capabilities:
Create tcp socket
Create udp socket
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
mov esi, dword fs:[0x18]
sub esp, 0x5c
mov dword [ebp - 0x2c], 4
mov dword [esp], str.127.0.0.1
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
call sub.ws2_32.dll_inet_addr
mov dword [esi + 0x34], 0xdeadbeef
sub esp, 4
mov dword [ebp - 0x24], eax
mov dword [esp + 4], 0xb81
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
mov dword [ebp - 0x28], 0x9e240002
call fcn.00465a80
mov dword [esp + 4], 0
mov dword [esp], 0
call sub.ws2_32.dll_listen
sub esp, 8
cmp eax, 0xffffffff
sete al
mov dword [esp + 4], str.listen_did_not_fail_n
movzx eax, al
mov dword [esp], eax
call fcn.00465cf0
call sub.ws2_32.dll_WSAGetLastError
mov dword [esp + 4], 0xb83
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
mov ebx, eax
call fcn.00465a80
xor eax, eax
cmp ebx, 0x2736
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.expected_10038__received__d_n
mov dword [esp], eax
call fcn.00465cf0
mov dword [esi + 0x34], 0xdeadbeef
mov dword [esp + 4], 0xb86
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
mov dword [esp + 4], 0
mov dword [esp], 0xdeadbeef
call sub.ws2_32.dll_listen
sub esp, 8
cmp eax, 0xffffffff
sete al
mov dword [esp + 4], str.listen_did_not_fail_n
movzx eax, al
mov dword [esp], eax
call fcn.00465cf0
call sub.ws2_32.dll_WSAGetLastError
mov dword [esp + 4], 0xb88
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
mov ebx, eax
call fcn.00465a80
xor eax, eax
cmp ebx, 0x2736
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.expected_10038__received__d_n
mov dword [esp], eax
call fcn.00465cf0
mov dword [esp + 8], 0
mov dword [esp + 4], 1
mov dword [esp], 2
call sub.ws2_32.dll_socket
sub esp, 0xc
mov ebx, eax
mov dword [esp + 4], 0xb8c
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.socket_failed_unexpectedly:__d_n
mov dword [esp + 8], eax
xor eax, eax
cmp ebx, 0xffffffff
setne al
mov dword [esp], eax
call fcn.00465cf0
mov dword [esp + 8], 0
mov dword [esp + 4], 1
mov dword [esp], 2
call sub.ws2_32.dll_socket
sub esp, 0xc
mov edi, eax
mov dword [esp + 4], 0xb8f
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
call sub.ws2_32.dll_WSAGetLastError
cmp edi, 0xffffffff
mov dword [esp + 4], str.socket_failed_unexpectedly:__d_n
mov dword [esp + 8], eax
setne al
movzx eax, al
mov dword [ebp - 0x3c], edi
mov dword [esp], eax
call fcn.00465cf0
mov dword [esi + 0x34], 0xdeadbeef
mov dword [esp + 4], 0xb92
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
mov dword [esp], ebx
mov dword [esp + 4], 0xfffffffe
call sub.ws2_32.dll_listen
sub esp, 8
cmp eax, 0xffffffff
sete al
mov dword [esp + 4], str.listen_did_not_fail_n
movzx eax, al
mov dword [esp], eax
call fcn.00465cf0
call sub.ws2_32.dll_WSAGetLastError
mov dword [esp + 4], 0xb94
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
mov edi, eax
call fcn.00465a80
xor eax, eax
cmp edi, 0x2726
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], str.expected_10022__received__d_n
mov dword [esp], eax
call fcn.00465cf0
mov dword [esi + 0x34], 0xdeadbeef
mov dword [esp + 4], 0xb97
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
mov dword [esp], ebx
mov dword [esp + 4], 1
call sub.ws2_32.dll_listen
sub esp, 8
cmp eax, 0xffffffff
sete al
mov dword [esp + 4], str.listen_did_not_fail_n
movzx eax, al
mov dword [esp], eax
call fcn.00465cf0
call sub.ws2_32.dll_WSAGetLastError
mov dword [esp + 4], 0xb99
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
mov edi, eax
call fcn.00465a80
xor eax, eax
cmp edi, 0x2726
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], str.expected_10022__received__d_n
mov dword [esp], eax
call fcn.00465cf0
mov dword [esi + 0x34], 0xdeadbeef
mov dword [esp + 4], 0xb9c
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
mov dword [esp], ebx
mov dword [esp + 4], 0x7fffffff
call sub.ws2_32.dll_listen
sub esp, 8
cmp eax, 0xffffffff
sete al
mov dword [esp + 4], str.listen_did_not_fail_n
movzx eax, al
mov dword [esp], eax
call fcn.00465cf0
call sub.ws2_32.dll_WSAGetLastError
mov dword [esp + 4], 0xb9e
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
mov edi, eax
call fcn.00465a80
xor edx, edx
cmp edi, 0x2726
mov dword [esp + 8], edi
sete dl
mov dword [esp + 4], str.expected_10022__received__d_n
mov dword [esp], edx
mov dword [ebp - 0x40], edx
call fcn.00465cf0
mov dword [esp + 4], 0xba0
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
lea ecx, [ebp - 0x28]
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x10
call sub.ws2_32.dll_bind
sub esp, 0xc
test eax, eax
sete al
mov dword [esp + 4], str.bind_failed_n
movzx eax, al
mov dword [esp], eax
call fcn.00465cf0
mov dword [esi + 0x34], 0xdeadbeef
mov dword [esp + 4], 0xba3
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
mov eax, dword [ebp - 0x3c]
lea ecx, [ebp - 0x28]
mov dword [esp + 8], 0x10
mov dword [esp + 4], ecx
mov dword [esp], eax
call sub.ws2_32.dll_bind
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], str.bind_should_have_failed_n
call fcn.00465cf0
mov dword [esp + 4], 0xba4
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
mov edx, dword [ebp - 0x40]
mov dword [esp + 8], edi
lea edi, [ebp - 0x30]
mov dword [esp + 4], str.expected_10022__received__d_n
mov dword [esp], edx
call fcn.00465cf0
lea edx, [ebp - 0x2c]
mov dword [esp], ebx
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], edi
mov dword [esp + 8], 2
mov dword [esp + 4], 0xffff
mov dword [ebp - 0x30], 0xdead
call sub.ws2_32.dll_getsockopt
sub esp, 0x14
mov dword [ebp - 0x40], eax
mov dword [esp + 4], 0xba8
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
mov eax, dword [ebp - 0x40]
mov dword [esp + 4], str.getsockopt_failed_n
test eax, eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00465cf0
mov dword [esp + 4], 0xba9
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
mov eax, dword [ebp - 0x30]
mov dword [esp + 4], str.SO_ACCEPTCONN_should_be_0__received__d_n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00465cf0
mov dword [esp], 0xdeadbeef
mov dword [ebp - 0x30], 1
call sub.ws2_32.dll_WSASetLastError
sub esp, 4
mov dword [esp + 0xc], edi
mov dword [esp], ebx
mov dword [esp + 0x10], 4
mov dword [esp + 8], 2
mov dword [esp + 4], 0xffff
call sub.ws2_32.dll_setsockopt
sub esp, 0x14
mov dword [ebp - 0x40], eax
mov dword [esp + 4], 0xbae
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
mov eax, dword [ebp - 0x40]
mov dword [esp + 4], str.expected_failure_n
cmp eax, 0xffffffff
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00465cf0
mov dword [esp + 4], 0xbaf
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
call sub.ws2_32.dll_WSAGetLastError
mov dword [ebp - 0x40], eax
call sub.ws2_32.dll_WSAGetLastError
mov ecx, dword [ebp - 0x40]
mov dword [esp + 4], str.got_error__u_n
cmp eax, 0x273a
sete al
mov dword [esp + 8], ecx
movzx eax, al
mov dword [esp], eax
call fcn.00465cf0
mov dword [esp], 0xdeadbeef
mov dword [ebp - 0x30], 0
call sub.ws2_32.dll_WSASetLastError
sub esp, 4
mov dword [esp + 0xc], edi
mov dword [esp], ebx
mov dword [esp + 0x10], 4
mov dword [esp + 8], 2
mov dword [esp + 4], 0xffff
call sub.ws2_32.dll_setsockopt
sub esp, 0x14
mov dword [ebp - 0x40], eax
mov dword [esp + 4], 0xbb4
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
mov eax, dword [ebp - 0x40]
mov dword [esp + 4], str.expected_failure_n
cmp eax, 0xffffffff
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00465cf0
mov dword [esp + 4], 0xbb5
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
call sub.ws2_32.dll_WSAGetLastError
mov dword [ebp - 0x40], eax
call sub.ws2_32.dll_WSAGetLastError
mov ecx, dword [ebp - 0x40]
mov dword [esp + 4], str.got_error__u_n
cmp eax, 0x273a
sete al
mov dword [esp + 8], ecx
movzx eax, al
mov dword [esp], eax
call fcn.00465cf0
mov dword [esp + 4], 0xbb7
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
mov dword [esp], ebx
mov dword [esp + 4], 0
call sub.ws2_32.dll_listen
sub esp, 8
test eax, eax
sete al
mov dword [esp + 4], str.listen_failed_n
movzx eax, al
mov dword [esp], eax
call fcn.00465cf0
mov dword [esp + 4], 0xbb8
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
mov dword [esp], ebx
mov dword [esp + 4], 0x7fffffff
call sub.ws2_32.dll_listen
sub esp, 8
test eax, eax
sete al
mov dword [esp + 4], str.double_listen_failed_n
movzx eax, al
mov dword [esp], eax
call fcn.00465cf0
lea edx, [ebp - 0x2c]
mov dword [esp], ebx
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], edi
mov dword [esp + 8], 2
mov dword [esp + 4], 0xffff
mov dword [ebp - 0x30], 0xdead
call sub.ws2_32.dll_getsockopt
sub esp, 0x14
mov dword [ebp - 0x40], eax
mov dword [esp + 4], 0xbbc
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
mov eax, dword [ebp - 0x40]
mov dword [esp + 4], str.getsockopt_failed_n
test eax, eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00465cf0
mov dword [esp + 4], 0xbbd
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
mov eax, dword [ebp - 0x30]
mov dword [esp + 4], str.SO_ACCEPTCONN_should_be_1__received__d_n
cmp eax, 1
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00465cf0
mov dword [esp], 0xdeadbeef
mov dword [ebp - 0x30], 1
call sub.ws2_32.dll_WSASetLastError
sub esp, 4
mov dword [esp + 0xc], edi
mov dword [esp], ebx
mov dword [esp + 0x10], 4
mov dword [esp + 8], 2
mov dword [esp + 4], 0xffff
call sub.ws2_32.dll_setsockopt
sub esp, 0x14
mov dword [ebp - 0x40], eax
mov dword [esp + 4], 0xbc2
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
mov eax, dword [ebp - 0x40]
mov dword [esp + 4], str.expected_failure_n
cmp eax, 0xffffffff
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00465cf0
mov dword [esp + 4], 0xbc3
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
call sub.ws2_32.dll_WSAGetLastError
mov dword [ebp - 0x40], eax
call sub.ws2_32.dll_WSAGetLastError
mov edx, dword [ebp - 0x40]
mov dword [esp + 4], str.got_error__u_n
cmp eax, 0x273a
sete al
mov dword [esp + 8], edx
movzx eax, al
mov dword [esp], eax
call fcn.00465cf0
mov dword [esp], 0xdeadbeef
mov dword [ebp - 0x30], 0
call sub.ws2_32.dll_WSASetLastError
sub esp, 4
mov dword [esp + 0xc], edi
mov dword [esp], ebx
mov dword [esp + 0x10], 4
mov dword [esp + 8], 2
mov dword [esp + 4], 0xffff
call sub.ws2_32.dll_setsockopt
sub esp, 0x14
mov edi, eax
mov dword [esp + 4], 0xbc8
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
xor eax, eax
cmp edi, 0xffffffff
mov dword [esp + 4], str.expected_failure_n
sete al
mov dword [esp], eax
call fcn.00465cf0
mov dword [esp + 4], 0xbc9
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
call sub.ws2_32.dll_WSAGetLastError
mov edi, eax
call sub.ws2_32.dll_WSAGetLastError
mov dword [esp + 8], edi
cmp eax, 0x273a
mov dword [esp + 4], str.got_error__u_n
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00465cf0
mov dword [esi + 0x34], 0xdeadbeef
mov dword [esp + 4], 0xbcc
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
mov eax, dword [ebp - 0x3c]
mov dword [esp + 4], 0x7fffffff
mov dword [esp], eax
call sub.ws2_32.dll_listen
sub esp, 8
cmp eax, 0xffffffff
sete al
mov dword [esp + 4], str.listen_did_not_fail_n
movzx eax, al
mov dword [esp], eax
call fcn.00465cf0
call sub.ws2_32.dll_WSAGetLastError
mov dword [esp + 4], 0xbce
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
mov edi, eax
call fcn.00465a80
xor eax, eax
cmp edi, 0x2726
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], str.expected_10022__received__d_n
mov dword [esp], eax
call fcn.00465cf0
mov eax, dword [ebp - 0x3c]
mov dword [esp], eax
call sub.ws2_32.dll_closesocket
sub esp, 4
mov edi, eax
mov dword [esp + 4], 0xbd1
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
xor eax, eax
test edi, edi
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], str.closesocket_failed_unexpectedly:__d_n
mov dword [esp], eax
call fcn.00465cf0
mov dword [esp + 8], 0
mov dword [esp + 4], 1
mov dword [esp], 2
call sub.ws2_32.dll_socket
sub esp, 0xc
mov edi, eax
mov dword [esp + 4], 0xbd4
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.socket_failed_unexpectedly:__d_n
mov dword [esp + 8], eax
xor eax, eax
cmp edi, 0xffffffff
setne al
mov dword [esp], eax
call fcn.00465cf0
mov dword [esi + 0x34], 0xdeadbeef
mov dword [esp + 4], 0xbd7
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
lea eax, [ebp - 0x28]
mov dword [esp], edi
mov dword [esp + 8], 0x10
mov dword [esp + 4], eax
call sub.ws2_32.dll_bind
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], str.bind_should_have_failed_n
call fcn.00465cf0
call sub.ws2_32.dll_WSAGetLastError
mov dword [esp + 4], 0xbd9
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
mov esi, eax
call fcn.00465a80
xor eax, eax
cmp esi, 0x2740
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.expected_10048__received__d_n
mov dword [esp], eax
call fcn.00465cf0
mov dword [esp], ebx
call sub.ws2_32.dll_closesocket
sub esp, 4
mov ebx, eax
mov dword [esp + 4], 0xbdc
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.closesocket_failed_unexpectedly:__d_n
mov dword [esp], eax
call fcn.00465cf0
mov dword [esp], edi
call sub.ws2_32.dll_closesocket
sub esp, 4
mov ebx, eax
mov dword [esp + 4], 0xbde
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.closesocket_failed_unexpectedly:__d_n
mov dword [esp], eax
call fcn.00465cf0
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret