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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xf8
movaps xmmword [rsp + 0xe0], xmm6
mov rax, qword [rcx]
test byte [rax], 1
mov byte [rax], 0
je 0x14009131a
lea rsi, str.127.0.0.1:34254
lea rcx, [rsp + 0x38]
mov qword [rcx], rsi
mov qword [rcx + 8], 0xf
call fcn.1400b3ca0
mov rdi, rax
test dil, 1
je 0x1400911c6
mov rbp, qword [rsp + 0x40]
test rbp, rbp
je 0x140090f4c
mov rax, qword [rsp + 0x38]
lea rcx, [rbp - 1]
mov dl, byte [rax]
inc rax
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x40], rcx
cmp dl, 0x3a
jne 0x140090f4c
lea rcx, [rsp + 0x38]
mov edx, 0xa
xor r8d, r8d
call fcn.1400b44f0
mov ebx, edx
cmp ax, 1
jne 0x140090f4e
mov rbp, qword [rsp + 0x40]
jmp 0x140090f57
xor eax, eax
test ax, ax
je 0x1400911c6
test rbp, rbp
jne 0x1400911db
movups xmm0, xmmword [rsp + 0x70]
movaps xmmword [rsp + 0xa0], xmm0
mov ecx, 0x20
mov edx, 4
call fcn.140009b20
test rax, rax
je 0x140091334
movabs rcx, 0xffffffff00
and rdi, rcx
shr rdi, 8
mov rcx, rdi
shl rcx, 0x10
and word [rax], 0
movzx edx, bx
or rdx, rcx
and rdx, 0xffffffffffffff00
movzx ecx, bl
or rcx, rdx
shr rdi, 0x10
mov word [rax + 6], di
mov dword [rax + 2], ecx
movaps xmm0, xmmword [rsp + 0xa0]
movups xmmword [rax + 0xe], xmm0
mov rcx, rax
add rcx, 0x20
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], 1
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], rcx
lea rax, [rsp + 0x50]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movaps xmmword [rsp + 0xd0], xmm1
movaps xmmword [rsp + 0xc0], xmm0
movaps xmmword [rsp + 0x80], xmm1
movaps xmmword [rsp + 0x70], xmm0
mov rdi, qword [rsp + 0x80]
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x98], rax
xor esi, esi
cmp rdi, qword [rsp + 0x98]
je 0x14009125e
mov rax, rdi
add rdi, 0x20
mov qword [rsp + 0x80], rdi
movzx r12d, word [rax]
cmp r12w, 2
je 0x14009125e
mov ecx, dword [rax + 8]
mov dword [rsp + 0x34], ecx
movzx r15d, word [rax + 0xc]
movups xmm6, xmmword [rax + 0xe]
mov r14d, dword [rdi - 0x1e]
movzx r13d, word [rdi - 0x1a]
mov rax, qword [0x14015b0e8]
cmp rax, 3
jne 0x1400911bc
mov qword [rsp + 0x90], rsi
mov ebp, 2
test r12w, r12w
je 0x14009109b
mov ebp, 0x17
mov dword [rsp + 0x28], 0x81
and dword [rsp + 0x20], 0
mov ecx, ebp
mov edx, 2
xor r8d, r8d
xor r9d, r9d
call sub.ws2_32.dll_WSASocketW
mov rbx, rax
cmp rax, 0xffffffffffffffff
je 0x1400910e3
shl r13, 0x20
or r14, r13
mov rax, r14
shr rax, 0x10
test r12w, r12w
je 0x140091143
mov r8d, 0x1c
mov cx, 0x17
jmp 0x140091153
call sub.ws2_32.dll_WSAGetLastError
cmp eax, 0x2739
je 0x1400910fc
mov esi, eax
cmp eax, 0x2726
jne 0x140091199
mov dword [rsp + 0x28], 1
and dword [rsp + 0x20], 0
mov ecx, ebp
mov edx, 2
xor r8d, r8d
xor r9d, r9d
call sub.ws2_32.dll_WSASocketW
cmp rax, 0xffffffffffffffff
je 0x1400911b3
mov rbx, rax
mov rcx, rax
mov edx, 1
xor r8d, r8d
call sub.kernel32.dll_SetHandleInformation
test eax, eax
jne 0x1400910c3
call sub.kernel32.dll_GetLastError
jmp 0x14009118f
xorps xmm6, xmm6
mov r8d, 0x10
mov cx, 2
mov r15d, r14d
rol r15w, 8
mov word [rsp + 0x50], cx
mov word [rsp + 0x52], r15w
mov dword [rsp + 0x54], eax
movups xmmword [rsp + 0x58], xmm6
mov eax, dword [rsp + 0x34]
mov dword [rsp + 0x68], eax
mov rcx, rbx
lea rdx, [rsp + 0x50]
call sub.ws2_32.dll_bind
cmp eax, 0xffffffff
jne 0x1400912a3
call sub.ws2_32.dll_WSAGetLastError
mov esi, eax
mov rcx, rbx
call fcn.1400c9638
shl rsi, 0x20
or rsi, 2
mov rcx, qword [rsp + 0x90]
call fcn.140090e33
jmp 0x14009102d
call sub.ws2_32.dll_WSAGetLastError
mov esi, eax
jmp 0x140091199
call fcn.1400b51c0
jmp 0x140091083
lea rax, [0x140120919]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x40], 0xe
mov ebx, 0xf
lea rdi, str.invalid_socket_address
mov cl, 0x3a
mov rdx, rsi
mov r8, rbx
call fcn.1400119e0
cmp rax, 1
jne 0x14009127f
mov rbx, rdx
cmp rdx, 0xe
ja 0x14009120d
cmp byte [rbx + rsi], 0x3a
je 0x140091215
cmp rbx, 0xf
jbe 0x1400911e7
jmp 0x14009127f
lea rcx, [rbx + rsi]
inc rcx
mov edx, 0xe
sub rdx, rbx
call fcn.140012b40
test al, 1
jne 0x140091278
shr eax, 0x10
lea rdx, [rsp + 0x38]
mov qword [rdx], rsi
mov qword [rdx + 8], rbx
mov word [rdx + 0x10], ax
lea rsi, [rsp + 0x70]
mov rcx, rsi
call fcn.1400b4c10
cmp qword [rsi], 0
je 0x1400912dd
mov rdi, qword [rsp + 0x78]
jmp 0x14009127f
lea rcx, [rsp + 0x70]
call fcn.140090e24
test rsi, rsi
lea rdi, str.could_not_resolve_to_any_addresses
cmovne rdi, rsi
jmp 0x14009127f
lea rdi, str.invalid_port_value
mov rcx, rdi
call fcn.140090e3d
movaps xmm6, xmmword [rsp + 0xe0]
add rsp, 0xf8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rcx, [rsp + 0x70]
call fcn.140090e24
mov rcx, qword [rsp + 0x90]
call fcn.140090e33
mov rcx, rbx
movaps xmm6, xmmword [rsp + 0xe0]
add rsp, 0xf8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp fcn.1400c9638
mov rax, qword [rsp + 0x78]
movups xmm0, xmmword [rsp + 0x80]
lea rdx, [rsp + 0xa0]
movups xmmword [rdx + 8], xmm0
mov qword [rdx], rax
lea rsi, [rsp + 0x50]
mov rcx, rsi
call fcn.1400b4d20
cmp qword [rsi], 0
jne 0x140090fea
mov rdi, qword [rsp + 0x58]
jmp 0x14009127f
lea rcx, str.called__Option::unwrap____on_a__None__value
lea r8, str._rustc_897e37553bba8b42751c67658967889d11ecd120library_std_src_synconce.rs
mov edx, 0x2b
call fcn.14000e4f0
ud2
mov ecx, 0x20
mov edx, 4
call fcn.14000a410
ud2