Function at 0x44b550
Capabilities:
Connect socket
Get socket status
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x240
mov eax, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
lea ebx, [esp + 0x34]
mov dword [esp + 0x34], 1
mov esi, dword [eax]
push ebx
push 0x8004667e
push esi
call sub.WS2_32.dll_ioctlsocket
cmp eax, 0xffffffff
je 0x44b5fd
mov eax, dword [ebp + 0x10]
mov dword [esp + 8], esi
cmp word [eax], 0
je 0x44b607
mov ecx, dword [eax + 0x1c]
movsd xmm0, qword [eax + 0x14]
movsd xmm2, qword [eax + 4]
movsd xmm1, qword [eax + 0xc]
mov dword [esp + 0x4c], ecx
movsd qword [esp + 0x44], xmm0
movsd qword [esp + 0x3c], xmm1
movsd qword [esp + 0x34], xmm2
push ebx
call sym.core::net::socket_addr::SocketAddrV6::port::h0ccb42e400e0ccaa
add esp, 4
mov edi, eax
rol di, 8
push ebx
call sym.core::net::socket_addr::SocketAddrV6::ip::h88fcae5cdc9bd552
add esp, 4
movups xmm0, xmmword [eax]
movaps xmmword [esp + 0x20], xmm0
push ebx
call sym.core::net::socket_addr::SocketAddrV6::flowinfo::h087a5ded5975f130
add esp, 4
mov esi, eax
push ebx
call sym.core::net::socket_addr::SocketAddrV6::scope_id::h35b653453e55220e
movaps xmm0, xmmword [esp + 0x24]
add esp, 4
mov ecx, 0x1c
mov dx, 0x17
jmp 0x44b63d
call sub.WS2_32.dll_WSAGetLastError
jmp 0x44b6f5
movzx ecx, word [eax + 6]
mov eax, dword [eax + 2]
mov word [esp + 0x38], cx
mov dword [esp + 0x34], eax
push ebx
call sym.core::net::socket_addr::SocketAddrV4::port::h91cd95d01b784212
add esp, 4
mov edi, eax
rol di, 8
push ebx
call sym.core::net::socket_addr::SocketAddrV4::ip::hfd7b34c31890ed32
add esp, 4
mov esi, dword [eax]
xorps xmm0, xmm0
mov ecx, 0x10
mov dx, 2
mov word [esp + 0x34], dx
mov word [esp + 0x36], di
mov dword [esp + 0x38], esi
movups xmmword [esp + 0x3c], xmm0
mov dword [esp + 0x4c], eax
push ecx
push ebx
mov esi, dword [esp + 0x10]
push esi
call sub.WS2_32.dll_connect
cmp eax, 0xffffffff
je 0x44b684
mov byte [esp], 4
mov dword [esp + 0x34], 0
push ebx
push 0x8004667e
push esi
call sub.WS2_32.dll_ioctlsocket
cmp eax, 0xffffffff
jne 0x44b6df
jmp 0x44b6ed
call sub.WS2_32.dll_WSAGetLastError
mov edi, eax
mov dword [esp + 4], eax
mov dword [esp], 0
mov dword [esp + 0x34], 0
push ebx
push 0x8004667e
push esi
call sub.WS2_32.dll_ioctlsocket
cmp eax, 0xffffffff
je 0x44b6ed
push edi
call sym.std::sys::windows::decode_error_kind::ha748574a25ec667c
add esp, 4
cmp al, 0xd
jne 0x44b6df
mov edi, dword [ebp + 0x14]
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x1c]
or eax, edi
jne 0x44b719
test ecx, ecx
jne 0x44b719
mov edi, dword [ebp + 8]
mov dword [edi], 2
mov dword [edi + 4], 0x4c3a6c
jmp 0x44b70f
mov edi, dword [ebp + 8]
movsd xmm0, qword [esp]
movsd qword [edi], xmm0
jmp 0x44b70f
call sub.WS2_32.dll_WSAGetLastError
mov edi, dword [ebp + 8]
mov ecx, eax
mov edx, eax
shr ecx, 8
shl edx, 0x18
shr eax, 0x18
mov byte [edi], 0
mov dword [edi + 1], edx
mov word [edi + 5], cx
mov byte [edi + 7], al
mov eax, edi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov edx, 0x10624dd3
mov eax, ecx
mov dword [esp + 0xc], edi
mul edx
mov eax, 1
shr edx, 6
cmp ecx, 0x3e8
cmovae eax, edx
test edi, edi
cmovne eax, edx
mov dword [esp + 0x10], eax
lea eax, [esp + 0x3c]
push 0xfc
push 0
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
lea eax, [esp + 0x140]
mov dword [esp + 0x138], 1
mov dword [esp + 0x13c], esi
push 0xfc
push 0
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
lea eax, [esp + 0xc]
mov dword [esp + 0x34], 1
mov dword [esp + 0x38], esi
lea ecx, [esp + 0x138]
push eax
push ebx
push ecx
push 0
push 1
call sub.WS2_32.dll_select
test eax, eax
je 0x44b7c6
mov edi, dword [ebp + 8]
cmp eax, 0xffffffff
jne 0x44b7d8
call sub.WS2_32.dll_WSAGetLastError
mov byte [edi], 0
mov byte [edi + 3], 0
mov word [edi + 1], 0
mov dword [edi + 4], eax
jmp 0x44b70f
mov edi, dword [ebp + 8]
mov dword [edi], 2
mov dword [edi + 4], 0x4c3a8c
jmp 0x44b809
cmp dword [esp + 0x138], 1
je 0x44b806
lea eax, [esp + 0x14]
push dword [ebp + 0xc]
push eax
call sym.std::sys::windows::net::Socket::take_error::h48866a6ce9e5950e
add esp, 8
cmp dword [esp + 0x14], 0
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
jne 0x44b819
cmp cl, 4
jne 0x44b819
mov byte [edi], 4
mov eax, esp
push eax
call sym.core::ptr::drop_in_place_LT_std..io..error..Error_GT_::h98a2cc1771703f8a
add esp, 4
jmp 0x44b70f
mov dword [edi], ecx
mov dword [edi + 4], eax
jmp 0x44b70f