Function at 0x4351d0
Capabilities:
Create tcp socket
Create udp socket

Disassembly:
push ebp
xor edx, edx
mov eax, dword fs:[0x18]
mov ebp, esp
push edi
push esi
push ebx
mov ebx, 0xdeadbeef
sub esp, 0x6c
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x44], eax
mov dword [esp + 4], ebx
mov dword [esp], str.ioctl__x
mov dword [ebp - 0x40], edx
call fcn.00465ec0
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 + 0xc], 0
mov dword [esp + 8], 0x7b
mov dword [esp + 4], 0
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_CreateIoCompletionPort]
sub esp, 0x10
mov edi, eax
mov dword [esp], 0xdeadbeef
call sub.ws2_32.dll_WSASetLastError
lea eax, [ebp - 0x2c]
sub esp, 4
mov dword [esp + 4], ebx
mov dword [esp], esi
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
call sub.ws2_32.dll_WSAIoctl
sub esp, 0x24
mov dword [ebp - 0x3c], eax
mov dword [esp + 4], 0x1150
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
mov eax, dword [ebp - 0x3c]
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], 0x1151
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
call sub.ws2_32.dll_WSAGetLastError
mov dword [ebp - 0x3c], eax
call sub.ws2_32.dll_WSAGetLastError
mov ecx, dword [ebp - 0x3c]
mov dword [esp + 4], str.got_error__u_n
cmp eax, 0x271e
sete al
mov dword [esp + 8], ecx
movzx eax, al
mov dword [esp], eax
call fcn.00465cf0
mov dword [esp], 0xdeadbeef
call sub.ws2_32.dll_WSASetLastError
lea eax, [ebp - 0x30]
mov dword [ebp - 0x30], 0xdeadbeef
sub esp, 4
mov dword [esp + 4], ebx
mov dword [esp], esi
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
call sub.ws2_32.dll_WSAIoctl
sub esp, 0x24
mov dword [ebp - 0x3c], eax
mov dword [esp + 4], 0x1156
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
mov eax, dword [ebp - 0x3c]
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], 0x1157
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
call sub.ws2_32.dll_WSAGetLastError
mov dword [ebp - 0x3c], eax
call sub.ws2_32.dll_WSAGetLastError
mov ecx, dword [ebp - 0x3c]
mov dword [esp + 4], str.got_error__u_n
cmp eax, 0x273d
sete al
mov dword [esp + 8], ecx
movzx eax, al
mov dword [esp], eax
call fcn.00465cf0
mov dword [esp + 4], 0x1158
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
mov eax, dword [ebp - 0x30]
mov dword [esp + 4], str.got_size__u_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
call sub.ws2_32.dll_WSASetLastError
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x30], 0xdeadbeef
sub esp, 4
mov dword [ebp - 0x2c], 0xdeadbeef
mov dword [esp + 0x1c], eax
lea eax, [ebp - 0x30]
mov dword [esp + 4], ebx
mov dword [esp], esi
mov dword [esp + 0x20], 0
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [ebp - 0x28], 0xdeadbeef
call sub.ws2_32.dll_WSAIoctl
sub esp, 0x24
mov dword [ebp - 0x3c], eax
mov dword [esp + 4], 0x115f
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
mov eax, dword [ebp - 0x3c]
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], 0x1160
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
call sub.ws2_32.dll_WSAGetLastError
mov dword [ebp - 0x3c], eax
call sub.ws2_32.dll_WSAGetLastError
mov ecx, dword [ebp - 0x3c]
mov dword [esp + 4], str.got_error__u_n
cmp eax, 0x3e5
sete al
mov dword [esp + 8], ecx
movzx eax, al
mov dword [esp], eax
call fcn.00465cf0
mov dword [esp + 4], 0x1161
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
mov eax, dword [ebp - 0x30]
mov dword [esp + 4], str.got_size__u_n
cmp eax, 0xdeadbeef
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00465cf0
lea eax, [ebp - 0x38]
mov dword [esp], edi
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x34]
mov dword [esp + 8], eax
lea eax, [ebp - 0x30]
mov dword [esp + 0x10], 0
mov dword [esp + 4], eax
call dword [sym.imp.kernel32.dll_GetQueuedCompletionStatus]
sub esp, 0x14
mov dword [ebp - 0x3c], eax
mov dword [esp + 4], 0x1164
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
mov eax, dword [ebp - 0x3c]
mov dword [esp + 4], str.expected_failure_n
test eax, eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00465cf0
mov dword [esp + 4], 0x1165
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
mov edx, dword [ebp - 0x44]
mov eax, dword [edx + 0x34]
mov dword [esp + 4], str.got_error__u_n
mov dword [esp + 8], eax
xor eax, eax
cmp dword [edx + 0x34], 0x32
sete al
mov dword [esp], eax
call fcn.00465cf0
mov dword [esp + 4], 0x1166
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
mov eax, dword [ebp - 0x30]
mov dword [esp + 4], str.got_size__u_n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00465cf0
mov dword [esp + 4], 0x1167
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], str.got_key__Iu_n
cmp eax, 0x7b
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00465cf0
mov dword [esp + 4], 0x1168
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
mov eax, dword [ebp - 0x38]
lea ecx, [ebp - 0x2c]
mov dword [esp + 4], str.got_overlapped__p_n
cmp eax, ecx
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00465cf0
mov dword [esp + 4], 0x1169
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
mov eax, dword [ebp - 0x2c]
mov dword [esp + 4], str.got_status__x_n
cmp eax, 0xc00000bb
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00465cf0
mov dword [esp + 4], 0x116b
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
mov eax, dword [ebp - 0x28]
mov dword [esp + 4], str.got_size__Iu_n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00465cf0
mov dword [esp], edi
call dword [sym.imp.kernel32.dll_CloseHandle]
sub esp, 4
mov dword [esp], esi
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
lea eax, [ebp - 0x2c]
mov dword [esp + 4], ebx
mov dword [esp + 0x20], 0x420840
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp], esi
call sub.ws2_32.dll_WSAIoctl
sub esp, 0x24
mov edi, eax
mov dword [esp + 4], 0x1173
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], 0x1174
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
lea edi, [ebp - 0x2c]
cmp eax, 0x271e
mov dword [esp + 4], str.got_error__u_n
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00465cf0
lea eax, [ebp - 0x2c]
mov dword [esp], esi
mov dword [esp + 0x1c], eax
lea eax, [ebp - 0x30]
mov dword [esp + 4], ebx
mov dword [esp + 0x20], 0x420840
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [0x478444], 0
mov dword [ebp - 0x30], 0xdeadbeef
call sub.ws2_32.dll_WSAIoctl
sub esp, 0x24
mov ebx, eax
mov dword [esp + 4], 0x1179
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
xor eax, eax
cmp ebx, 0xffffffff
mov dword [esp + 4], str.expected_failure_n
sete al
mov dword [esp], eax
call fcn.00465cf0
mov dword [esp + 4], 0x117a
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
call sub.ws2_32.dll_WSAGetLastError
mov ebx, eax
call sub.ws2_32.dll_WSAGetLastError
mov dword [esp + 8], ebx
cmp eax, 0x3e5
mov dword [esp + 4], str.got_error__u_n
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00465cf0
mov dword [esp + 4], 0x117b
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
mov eax, dword [ebp - 0x30]
mov dword [esp + 4], str.got_size__u_n
cmp eax, 0xdeadbeef
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00465cf0
mov dword [esp + 4], 1
mov dword [esp], 0
call dword [sym.imp.kernel32.dll_SleepEx]
sub esp, 8
mov ebx, eax
mov dword [esp + 4], 0x117e
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
xor eax, eax
cmp ebx, 0xc0
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.got__d_n
mov dword [esp], eax
call fcn.00465cf0
mov dword [esp + 4], 0x117f
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
mov eax, dword [0x478444]
mov dword [esp + 4], str.APC_was_called__u_times_n
cmp eax, 1
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00465cf0
mov dword [esp + 4], 0x1180
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
mov eax, dword [0x478450]
mov dword [esp + 4], str.got_APC_error__u_n
cmp eax, 0x273d
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00465cf0
mov dword [esp + 4], 0x1181
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
mov eax, dword [0x47844c]
mov dword [esp + 4], str.got_APC_size__u_n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00465cf0
mov dword [esp + 4], 0x1182
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
mov eax, dword [0x478448]
mov dword [esp + 4], str.got_APC_overlapped__p_n
cmp eax, edi
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00465cf0
mov dword [esp], esi
call sub.ws2_32.dll_closesocket
sub esp, 4
call fcn.00465f50
mov edx, dword [ebp - 0x40]
add edx, 1
cmp edx, 4
je 0x435a20
mov ebx, dword [edx*4 + 0x475b74]
jmp 0x43520c
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret