Function at 0x44ad80
Capabilities:
Access peb ldr_data
Create thread
Get number of processors
Get process heap flags
Receive data
Receive data on socket
Send data
Send data on socket
Set socket configuration

Disassembly:
push ebp
mov ecx, 1
mov ebp, esp
push edi
push esi
lea esi, [ebp - 0x48]
lea eax, [ebp - 0x4c]
push ebx
mov edx, esi
mov ebx, dword fs:[0x18]
sub esp, 0x7c
mov dword [ebp - 0x4c], 0xffffffff
mov dword [ebp - 0x48], 0xffffffff
mov dword [ebp - 0x44], 0
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
call fcn.00420e30
lea eax, [ebp - 0x34]
mov dword [esp + 4], 0x8004667e
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x34], 1
mov dword [esp], eax
call sub.ws2_32.dll_ioctlsocket
lea eax, [ebp - 0x44]
sub esp, 0xc
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x48]
mov dword [esp + 0x10], 4
mov dword [esp + 8], 0x1001
mov dword [esp + 4], 0xffff
mov dword [esp], eax
call sub.ws2_32.dll_setsockopt
sub esp, 0x14
mov edi, eax
mov dword [esp + 4], 0x126c
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
mov eax, dword [ebx + 0x34]
mov dword [esp + 8], edi
mov dword [esp + 4], str.setsockopt_SO_SNDBUF_failed:__d____d_n
mov dword [esp + 0xc], eax
xor eax, eax
test edi, edi
sete al
mov dword [esp], eax
call fcn.00465cf0
lea eax, [ebp - 0x40]
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], eax
mov dword [esp + 0xc], esi
mov dword [esp + 8], 0x420d80
mov dword [esp + 4], 0
mov dword [esp], 0
call dword [sym.imp.kernel32.dll_CreateThread]
sub esp, 0x18
mov dword [ebp - 0x64], eax
mov dword [esp + 8], 0x100000
mov dword [esp + 4], 0
mov eax, dword [ebx + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
mov ebx, eax
sub esp, 0xc
xor eax, eax
nop
mov byte [ebx + eax], al
add eax, 1
cmp eax, 0x100000
jne 0x44aec0
mov eax, dword [ebp - 0x4c]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x100000
mov dword [esp + 4], ebx
mov dword [esp], eax
call sub.ws2_32.dll_send
sub esp, 0x10
mov esi, eax
mov dword [esp + 4], 0x1279
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
xor eax, eax
cmp esi, 0x100000
mov dword [esp + 0xc], esi
sete al
mov dword [esp + 8], 0x100000
mov dword [esp + 4], str.send_should_have_sent__d_bytes__but_it_only_sent__d_n
mov dword [esp], eax
mov edi, dword fs:[0x18]
call fcn.00465cf0
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x34], 0x100000
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0
call dword [sym.imp.kernel32.dll_CreateEventA]
sub esp, 0x10
mov dword [ebp - 0x1c], eax
mov dword [esp + 4], 0x127f
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
mov eax, dword [edi + 0x34]
mov edx, dword [ebp - 0x1c]
mov dword [esp + 4], str.could_not_create_event_object__errno___d_n
mov dword [esp + 8], eax
xor eax, eax
test edx, edx
setne al
mov dword [esp], eax
call fcn.00465cf0
mov ecx, dword [ebp - 0x1c]
test ecx, ecx
je 0x44b338
mov dword [esp], 0x3039
mov dword [ebp - 0x3c], 0
call sub.ws2_32.dll_WSASetLastError
lea eax, [ebp - 0x2c]
sub esp, 4
mov dword [esp + 0x14], eax
lea eax, [ebp - 0x3c]
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x48]
mov dword [esp + 0x18], 0
mov dword [esp + 0x10], 0
mov dword [esp + 8], 1
mov dword [esp], eax
call sub.ws2_32.dll_WSASend
sub esp, 0x1c
mov esi, eax
mov dword [esp + 4], 0x1286
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
xor eax, eax
cmp esi, 0xffffffff
mov dword [esp + 4], str.expected_failure_n
sete al
mov dword [esp], eax
call fcn.00465cf0
mov dword [esp + 4], 0x1287
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
call sub.ws2_32.dll_WSAGetLastError
mov esi, eax
call sub.ws2_32.dll_WSAGetLastError
mov dword [esp + 8], esi
cmp eax, 0x3e5
mov dword [esp + 4], str.wrong_error__u_n
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00465cf0
lea eax, [ebp - 0x38]
mov dword [esp + 4], 0x8004667e
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x38], 1
mov dword [esp], eax
call sub.ws2_32.dll_ioctlsocket
mov dword [ebp - 0x5c], 0
sub esp, 0xc
mov eax, dword [ebp - 0x4c]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 1
mov dword [esp + 4], ebx
mov dword [esp], eax
call sub.ws2_32.dll_recv
sub esp, 0x10
cmp eax, 0xffffffff
jne 0x44b120
mov eax, dword fs:[0x18]
cmp dword [eax + 0x34], 0x2733
jne 0x44b400
xor esi, esi
jmp 0x44b0e6
cmp dword [edi + 0x34], 0x2733
jne 0x44b400
cmp esi, 0x64
je 0x44b400
mov dword [esp], 0x32
add esi, 1
call dword [sym.imp.kernel32.dll_Sleep]
mov eax, dword [ebp - 0x4c]
sub esp, 4
mov dword [esp + 0xc], 0
mov dword [esp + 8], 1
mov dword [esp + 4], ebx
mov dword [esp], eax
call sub.ws2_32.dll_recv
sub esp, 0x10
cmp eax, 0xffffffff
je 0x44b0d0
mov dword [esp + 4], 0x1297
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
mov dword [ebp - 0x60], eax
call fcn.00465a80
mov esi, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x60]
mov dword [esp + 0x14], 0x100000
mov edx, dword fs:[0x18]
mov dword [esp + 0x10], esi
mov edx, dword [edx + 0x34]
cmp eax, 1
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
sete dl
movzx edx, dl
mov dword [esp + 4], str.Failed_to_receive_data__d____d__got__d__d__n
mov dword [esp], edx
mov dword [ebp - 0x5c], eax
call fcn.00465cf0
mov eax, dword [ebp - 0x5c]
cmp eax, 1
jne 0x44b1c3
mov dword [esp + 4], 0x129b
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
mov dword [esp + 8], esi
mov eax, esi
mov dword [esp + 4], str.Received_bad_data_at_position__d_n
cmp byte [ebx], al
sete al
add esi, 1
movzx eax, al
mov dword [esp], eax
call fcn.00465cf0
mov dword [ebp - 0x5c], esi
cmp esi, 0x100000
jne 0x44b091
mov eax, dword [ebp - 0x1c]
mov dword [esp + 4], 0x3e8
mov edi, dword fs:[0x18]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_WaitForSingleObject]
sub esp, 8
mov esi, eax
mov dword [esp + 4], 0x129f
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
mov eax, dword [edi + 0x34]
mov dword [esp + 8], esi
mov dword [esp + 4], str.Failed_to_wait_for_recv_message:__d____d_n
mov dword [esp + 0xc], eax
xor eax, eax
test esi, esi
sete al
mov dword [esp], eax
call fcn.00465cf0
test esi, esi
je 0x44b451
mov dword [esp], 0x3039
call sub.ws2_32.dll_WSASetLastError
lea eax, [ebp - 0x2c]
sub esp, 4
mov dword [esp + 0x14], eax
lea eax, [ebp - 0x34]
mov dword [esp + 0x18], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 1
mov dword [esp + 4], eax
mov dword [esp], 0xffffffff
call sub.ws2_32.dll_WSASend
sub esp, 0x1c
mov esi, eax
mov dword [esp + 4], 0x12a9
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
call sub.ws2_32.dll_WSAGetLastError
mov edi, eax
xor eax, eax
cmp esi, 0xffffffff
je 0x44b4e1
mov dword [esp + 0xc], edi
mov dword [esp + 8], esi
mov dword [esp], eax
mov dword [esp + 4], str.WSASend_failed__d____d_n
call fcn.00465cf0
mov dword [esp], 0x3039
call sub.ws2_32.dll_WSASetLastError
lea eax, [ebp - 0x2c]
sub esp, 4
mov dword [esp + 0x14], eax
lea eax, [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x48]
mov dword [esp + 0x18], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 1
mov dword [esp], eax
call sub.ws2_32.dll_WSASend
sub esp, 0x1c
mov esi, eax
mov dword [esp + 4], 0x12ae
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
call sub.ws2_32.dll_WSAGetLastError
mov edi, eax
xor eax, eax
cmp esi, 0xffffffff
je 0x44b4cc
mov dword [esp + 0xc], edi
mov dword [esp + 8], esi
mov dword [esp + 4], str.Failed_to_start_overlapped_send__d____d_n
mov dword [esp], eax
call fcn.00465cf0
mov eax, dword [ebp - 0x4c]
cmp eax, 0xffffffff
je 0x44b34b
mov dword [esp], eax
call sub.ws2_32.dll_closesocket
sub esp, 4
mov eax, dword [ebp - 0x48]
cmp eax, 0xffffffff
je 0x44b35e
mov dword [esp], eax
call sub.ws2_32.dll_closesocket
sub esp, 4
mov edi, dword [ebp - 0x64]
test edi, edi
je 0x44b3bf
mov dword [esp + 4], 0x1f4
mov dword [esp], edi
call dword [sym.imp.kernel32.dll_WaitForSingleObject]
sub esp, 8
mov esi, eax
mov dword [esp + 4], 0x12b9
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x34]
mov dword [esp + 4], str.failed_to_wait_for_thread_termination:__d_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
call dword [sym.imp.kernel32.dll_CloseHandle]
sub esp, 4
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x44b3d2
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_CloseHandle]
sub esp, 4
mov dword [esp + 8], ebx
mov dword [esp + 4], 0
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_HeapFree]
sub esp, 0xc
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 4], 0x1297
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
mov ecx, dword [ebp - 0x5c]
mov dword [esp + 0x14], 0x100000
mov eax, dword fs:[0x18]
mov dword [esp + 0x10], ecx
mov eax, dword [eax + 0x34]
mov dword [esp + 8], 0xffffffff
mov dword [esp + 0xc], eax
mov dword [esp + 4], str.Failed_to_receive_data__d____d__got__d__d__n
mov dword [esp], 0
call fcn.00465cf0
jmp 0x44b1c3
lea eax, [ebp - 0x3c]
mov dword [esp + 0xc], 0
mov dword [esp + 8], eax
lea eax, [ebp - 0x2c]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x48]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_GetOverlappedResult]
sub esp, 0x10
mov esi, eax
mov dword [esp + 4], 0x12a3
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
mov eax, dword [ebp - 0x3c]
mov edx, dword [edi + 0x34]
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], 0x100000
cmp eax, 0x100000
mov dword [esp + 0x14], edx
mov dword [esp + 8], eax
sete dl
xor eax, eax
test esi, esi
setne al
mov dword [esp + 4], str.Got__d_instead_of__d___d____d__n
and eax, edx
mov dword [esp], eax
call fcn.00465cf0
jmp 0x44b221
call sub.ws2_32.dll_WSAGetLastError
cmp eax, 0x3e5
sete al
movzx eax, al
jmp 0x44b320
call sub.ws2_32.dll_WSAGetLastError
cmp eax, 0x2736
sete al
movzx eax, al
jmp 0x44b295