Function at 0x4511b0
Capabilities:
Receive data
Receive data on socket
Send data
Send data on socket
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
mov ebx, eax
sub esp, 0x3c
mov dword [esp], 0x100000
call dword [sym.imp.msvcrt.dll_malloc]
mov ecx, 1
lea edx, [ebp - 0x24]
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x20]
call fcn.00420e30
lea eax, [ebp - 0x1c]
mov dword [esp + 4], 0x8004667e
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x1c], 1
mov dword [esp], eax
call sub.ws2_32.dll_ioctlsocket
mov edx, dword [ebp - 0x24]
mov ecx, 0x3f
mov eax, ebx
sub esp, 0xc
call fcn.0043f310
mov dword [esp + 0xc], 0
mov edx, ebx
mov ecx, 2
mov dword [esp + 8], 0
mov eax, 0x1426
mov dword [esp + 4], 0xc8
mov dword [esp], 0
call fcn.0043f3a0
mov dword [esp], 0
xor ecx, ecx
mov edx, ebx
mov dword [esp + 0xc], 0
mov eax, 0x1427
mov dword [esp + 8], 0
mov dword [esp + 4], 0
call fcn.0043f3a0
mov edx, dword [ebp - 0x24]
mov ecx, 0x3f
mov eax, ebx
call fcn.0043f310
mov ecx, dword [ebx]
test ecx, ecx
jne 0x451740
mov dword [esp], 0
xor ecx, ecx
mov edx, ebx
mov eax, 0x142b
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
call fcn.0043f3a0
mov edx, dword [ebp - 0x24]
xor ecx, ecx
mov eax, ebx
call fcn.0043f310
mov edx, dword [ebp - 0x24]
mov ecx, 0x3f
mov eax, ebx
call fcn.0043f310
mov edx, dword [ebx]
test edx, edx
jne 0x451701
mov dword [esp], 0
xor ecx, ecx
mov edx, ebx
mov eax, 0x1430
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
call fcn.0043f3a0
mov eax, dword [ebp - 0x24]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 5
mov dword [esp + 4], str.data
mov dword [esp], eax
call sub.ws2_32.dll_send
sub esp, 0x10
mov esi, eax
mov dword [esp + 4], 0x1433
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
xor eax, eax
cmp esi, 5
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.got__d_n
mov dword [esp], eax
call fcn.00465cf0
mov dword [esp], 0
xor ecx, ecx
mov edx, ebx
mov dword [esp + 0xc], 0
mov eax, 0x1435
mov dword [esp + 8], 0
mov dword [esp + 4], 0
call fcn.0043f3a0
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x20]
mov ecx, 0x100000
call fcn.00451010
mov dword [esp + 4], 0x1438
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
mov esi, eax
call fcn.00465a80
xor eax, eax
cmp esi, 5
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.got__d_n
mov dword [esp], eax
call fcn.00465cf0
mov dword [esp], 0
xor ecx, ecx
mov edx, ebx
mov dword [esp + 0xc], 0
mov eax, 0x143a
mov dword [esp + 8], 0
mov dword [esp + 4], 0
call fcn.0043f3a0
mov dword [esp], 1
call fcn.00465b60
mov esi, eax
test eax, eax
je 0x451500
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
call sub.ws2_32.dll_closesocket
mov eax, dword [ebp - 0x20]
sub esp, 4
mov dword [esp], eax
call sub.ws2_32.dll_closesocket
lea edx, [ebp - 0x24]
lea eax, [ebp - 0x20]
mov ecx, 1
sub esp, 4
call fcn.00420e30
mov edx, dword [ebp - 0x24]
mov ecx, 0x1f
mov eax, ebx
call fcn.0043f310
mov eax, dword [ebp - 0x24]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 5
mov dword [esp + 4], str.data
mov dword [esp], eax
call sub.ws2_32.dll_send
sub esp, 0x10
mov esi, eax
mov dword [esp + 4], 0x1460
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
xor eax, eax
cmp esi, 5
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.got__d_n
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, 0x1462
mov dword [esp + 4], 0xc8
mov dword [esp], 0
call fcn.0043f3a0
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
call sub.ws2_32.dll_closesocket
mov eax, dword [ebp - 0x20]
sub esp, 4
mov dword [esp], eax
call sub.ws2_32.dll_closesocket
mov eax, dword [ebp - 0x2c]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.msvcrt.dll_free]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [ebp - 0x2c]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x100000
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
call sub.ws2_32.dll_send
sub esp, 0x10
mov dword [ebp - 0x30], eax
cmp eax, 0x100000
je 0x451500
test eax, eax
jle 0x451554
mov esi, dword [str.windows]
mov edi, 0x470694
mov ecx, 5
repe cmpsb byte [esi], byte es:[edi]
seta al
sbb al, 0
test al, al
sete al
movzx eax, al
mov esi, eax
mov dword [esp], esi
call fcn.00465e60
jmp 0x4515d8
mov dword [esp + 4], 0x1443
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__d_n
cmp eax, 0xffffffff
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00465cf0
mov dword [esp + 4], 0x1444
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, 0x2733
mov dword [esp + 4], str.got_error__u_n
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00465cf0
call fcn.00465eb0
call fcn.00465e90
test eax, eax
jne 0x451560
mov eax, dword [ebp - 0x2c]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x100000
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x20]
mov dword [esp], eax
call sub.ws2_32.dll_recv
sub esp, 0x10
test eax, eax
jg 0x4515e5
mov dword [esp + 4], 0x1448
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, 0x2733
mov dword [esp + 4], str.got_error__u_n
sete al
movzx eax, 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, 0x144c
mov dword [esp + 4], 0xc8
mov dword [esp], 0
call fcn.0043f3a0
mov dword [esp], 0
xor ecx, ecx
mov edx, ebx
mov dword [esp + 0xc], 0
mov eax, 0x144d
mov dword [esp + 8], 0
mov dword [esp + 4], 0
call fcn.0043f3a0
mov edx, dword [ebp - 0x24]
xor ecx, ecx
mov eax, ebx
call fcn.0043f310
mov edx, dword [ebp - 0x24]
mov eax, ebx
mov ecx, 0x3f
call fcn.0043f310
mov eax, dword [ebx]
test eax, eax
jne 0x451775
mov dword [esp], 0
xor ecx, ecx
mov edx, ebx
mov eax, 0x1452
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
call fcn.0043f3a0
jmp 0x45140d
mov dword [esp + 0xc], 0
mov ecx, 2
mov edx, ebx
mov eax, 0x142f
mov dword [esp + 8], 0
mov dword [esp + 4], 0xc8
mov dword [esp], 0
call fcn.0043f3a0
jmp 0x4512d6
mov dword [esp + 0xc], 0
mov ecx, 2
mov edx, ebx
mov eax, 0x142a
mov dword [esp + 8], 0
mov dword [esp + 4], 0xc8
mov dword [esp], 0
call fcn.0043f3a0
jmp 0x451284
mov dword [esp + 0xc], 0
mov ecx, 2
mov edx, ebx
mov eax, 0x1451
mov dword [esp + 8], 0
mov dword [esp + 4], 0xc8
mov dword [esp], 0
call fcn.0043f3a0
jmp 0x4516cf