Function at 0x42e320
Capabilities:
Create tcp socket
Create udp socket
Get local ipv4 addresses
Get socket information
Initialize winsock library
Resolve dns

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
lea eax, [ebp - 0x1a8]
lea esi, [ebp - 0x1d8]
push ebx
sub esp, 0x20c
mov dword [ebp - 0x1ec], 0x10
mov dword [esp + 4], eax
mov dword [esp], 2
call sub.ws2_32.dll_WSAStartup
sub esp, 8
mov ebx, eax
mov dword [esp + 4], 0xf14
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_startup__error__u_n
mov dword [esp + 8], eax
xor eax, eax
test ebx, ebx
mov ebx, 2
sete al
mov dword [esp], eax
call fcn.00465cf0
mov dword [esp + 8], 0
xor ecx, ecx
mov dword [esp + 4], 1
mov dword [esp], 2
mov word [ebp - 0x1da], cx
mov word [ebp - 0x1e8], bx
mov dword [ebp - 0x1e6], 0
mov dword [ebp - 0x1e2], 0
mov dword [ebp - 0x1de], 0
call sub.ws2_32.dll_socket
sub esp, 0xc
mov ebx, eax
mov dword [esp + 4], 0xf1d
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 ebx, 0xffffffff
setne al
mov dword [esp], eax
call fcn.00465cf0
mov eax, dword [ebp - 0x1e8]
mov dword [esp], 0xdeadbeef
mov dword [ebp - 0x1d8], eax
mov eax, dword [ebp - 0x1e4]
mov dword [ebp - 0x1d4], eax
mov eax, dword [ebp - 0x1e0]
mov dword [ebp - 0x1d0], eax
mov eax, dword [ebp - 0x1dc]
mov dword [ebp - 0x1cc], eax
call sub.ws2_32.dll_WSASetLastError
lea eax, [ebp - 0x1ec]
sub esp, 4
mov dword [esp + 8], eax
mov dword [esp + 4], esi
mov dword [esp], ebx
call sub.ws2_32.dll_getsockname
sub esp, 0xc
mov edi, eax
mov dword [esp + 4], 0xf22
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], 0xf23
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, 0x2726
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], 0xf24
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
mov eax, dword [ebp - 0x1e8]
cmp dword [ebp - 0x1d8], eax
je 0x42ea60
mov eax, 1
xor eax, 1
mov dword [esp + 4], str.address_should_not_be_changed_n
mov dword [esp], eax
call fcn.00465cf0
lea eax, [ebp - 0x1e8]
mov dword [esp + 8], 0x10
mov dword [esp + 4], eax
mov dword [esp], ebx
call sub.ws2_32.dll_bind
sub esp, 0xc
mov edi, eax
mov dword [esp + 4], 0xf27
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 edi, edi
sete al
mov dword [esp], eax
call fcn.00465cf0
mov dword [esp], 0xdeadbeef
call sub.ws2_32.dll_WSASetLastError
lea eax, [ebp - 0x1ec]
mov dword [ebp - 0x1d8], 0
mov dword [ebp - 0x1d4], 0
sub esp, 4
mov dword [esp + 8], eax
mov dword [esp + 4], esi
mov dword [esp], ebx
mov dword [ebp - 0x1d0], 0
mov dword [ebp - 0x1cc], 0
call sub.ws2_32.dll_getsockname
sub esp, 0xc
mov edi, eax
mov dword [esp + 4], 0xf2c
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.got__d_n
mov dword [esp], eax
call fcn.00465cf0
mov dword [esp + 4], 0xf2d
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 edx, 1
test eax, eax
jne 0x42eaa0
mov dword [esp], edx
mov dword [esp + 8], edi
mov dword [esp + 4], str.got_error__u_n
call fcn.00465cf0
mov dword [esp + 4], 0xf2e
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
movsx edx, word [ebp - 0x1d8]
mov dword [esp + 4], str.got_family__x_n
cmp dx, 2
mov dword [esp + 8], edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00465cf0
mov dword [esp + 4], 0xf2f
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
xor eax, eax
cmp word [ebp - 0x1d6], 0
mov dword [esp + 4], str.got_zero_port_n
setne al
mov dword [esp], eax
call fcn.00465cf0
mov dword [esp + 4], 0xf30
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
mov eax, dword [ebp - 0x1d4]
mov dword [esp + 4], str.got_addr__08x_n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00465cf0
mov eax, dword [0x475bd0]
cmp dword [ebp - 0x1d0], eax
je 0x42ea43
mov edi, 1
mov dword [esp + 4], 0xf33
xor edi, 1
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
mov dword [esp], edi
mov dword [esp + 4], str.getsockname_did_not_zero_the_sockaddr_in_structure_n
call fcn.00465cf0
mov dword [esp], 0xdeadbeef
mov dword [ebp - 0x1ec], 0xf
call sub.ws2_32.dll_WSASetLastError
lea eax, [ebp - 0x1ec]
sub esp, 4
mov dword [esp + 8], eax
mov dword [esp + 4], esi
mov dword [esp], ebx
call sub.ws2_32.dll_getsockname
sub esp, 0xc
mov edi, eax
mov dword [esp + 4], 0xf38
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], 0xf39
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, 0x271e
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], 0xf3a
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
mov eax, dword [ebp - 0x1ec]
mov dword [esp + 4], str.got_size__d_n
cmp eax, 0xf
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00465cf0
mov dword [esp], ebx
call sub.ws2_32.dll_closesocket
sub esp, 4
mov dword [esp], 0x4728a4
call sub.ws2_32.dll_gethostbyname
sub esp, 4
mov edx, eax
test eax, eax
je 0x42e806
cmp word [eax + 0xa], 4
je 0x42e813
call sub.ws2_32.dll_WSACleanup
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
test eax, eax
je 0x42e806
mov ecx, 4
mov edi, dword fs:[0x18]
lea esi, [esi]
nop
mov eax, dword [eax]
mov dword [esp + 8], 0
mov dword [esp + 4], 2
mov dword [esp], 2
mov dword [ebp - 0x200], ecx
mov dword [ebp - 0x204], edx
mov dword [ebp - 0x1fc], eax
call sub.ws2_32.dll_socket
sub esp, 0xc
mov ebx, eax
mov dword [esp + 4], 0xf49
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
mov eax, dword [edi + 0x34]
mov dword [esp + 4], str.socket_failed_with__d_n
mov dword [esp + 8], eax
xor eax, eax
cmp ebx, 0xffffffff
setne al
mov dword [esp], eax
call fcn.00465cf0
xor eax, eax
mov dword [esp], ebx
mov edx, 2
mov word [ebp - 0x1da], ax
mov eax, dword [ebp - 0x1fc]
mov dword [ebp - 0x1e6], 0
mov dword [ebp - 0x1e2], 0
mov dword [ebp - 0x1e4], eax
lea eax, [ebp - 0x1e8]
mov dword [esp + 8], 0x10
mov dword [esp + 4], eax
mov word [ebp - 0x1e8], dx
mov dword [ebp - 0x1de], 0
call sub.ws2_32.dll_bind
sub esp, 0xc
mov dword [ebp - 0x1fc], eax
mov dword [esp + 4], 0xf50
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
mov eax, dword [edi + 0x34]
mov dword [esp + 4], str.bind_failed_with__d_n
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x1fc]
test eax, eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00465cf0
lea eax, [ebp - 0x1ec]
mov dword [esp + 4], esi
mov dword [esp + 8], eax
mov dword [esp], ebx
mov dword [ebp - 0x1ec], 0x10
call sub.ws2_32.dll_getsockname
sub esp, 0xc
mov dword [ebp - 0x1fc], eax
mov dword [esp + 4], 0xf53
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
mov eax, dword [edi + 0x34]
mov dword [esp + 4], str.getsockname_failed_with__d_n
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x1fc]
test eax, eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00465cf0
mov eax, dword [ebp - 0x1d4]
mov dword [esp], eax
call sub.ws2_32.dll_inet_ntoa
sub esp, 4
mov dword [esp + 4], eax
lea eax, [ebp - 0x1c8]
mov dword [esp], eax
call dword [sym.imp.msvcrt.dll_strcpy]
mov dword [esp + 4], 0xf55
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
mov eax, dword [ebp - 0x1e4]
mov dword [esp], eax
call sub.ws2_32.dll_inet_ntoa
sub esp, 4
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x1c8]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x1e4]
cmp dword [ebp - 0x1d4], eax
mov dword [esp + 4], str.address_does_not_match:__s____s_n
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00465cf0
mov dword [esp], ebx
call sub.ws2_32.dll_closesocket
mov edx, dword [ebp - 0x204]
mov ecx, dword [ebp - 0x200]
sub esp, 4
mov eax, dword [edx + 0xc]
mov eax, dword [eax + ecx]
add ecx, 4
test eax, eax
jne 0x42e830
call sub.ws2_32.dll_WSACleanup
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [0x475bd4]
xor edi, edi
cmp dword [ebp - 0x1cc], eax
jne 0x42e6dd
jmp 0x42e6e2
mov eax, dword [ebp - 0x1e4]
cmp dword [ebp - 0x1d4], eax
jne 0x42e4ff
mov eax, dword [ebp - 0x1e0]
cmp dword [esi + 8], eax
jne 0x42e4ff
mov eax, dword [ebp - 0x1dc]
cmp dword [esi + 0xc], eax
jne 0x42e4ff
xor eax, eax
jmp 0x42e504
call sub.ws2_32.dll_WSAGetLastError
xor edx, edx
cmp eax, 0xdeadbeef
sete dl
jmp 0x42e618