Function at 0x140165530
Capabilities:
Send data
Send data on socket

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x78
lea rbp, [rsp + 0x70]
mov qword [rbp], 0xfffffffffffffffe
mov qword [rbp - 0x30], r9
mov qword [rbp - 0x38], r8
mov qword [rbp - 0x10], rcx
mov rax, qword [rbp + 0x70]
mov r14, qword [rdx + 0x10]
cmp rax, 0x7fffffff
mov r15d, 0x7fffffff
cmovb r15, rax
mov r12, qword [rdx + 0x18]
mov rsi, qword [rdx + 0x20]
mov qword [rbp - 0x28], rsi
nop dword [rax]
lea rcx, [rbp - 0x48]
mov rdx, r14
mov r8, qword [rbp - 0x38]
mov r9b, 1
call fcn.140161060
movzx eax, byte [rbp - 0x3f]
cmp al, 3
je 0x1401658b1
mov r13, qword [rbp - 0x48]
cmp al, 2
je 0x1401658be
cmp r12, 0xffffffffffffffff
je 0x140165902
movzx edi, byte [rbp - 0x40]
mov rcx, r12
mov rdx, qword [rbp - 0x30]
mov r8d, r15d
xor r9d, r9d
call qword [sym.imp.WS2_32.dll_send]
cmp eax, 0xffffffff
jne 0x1401658cf
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov rcx, rax
shl rcx, 0x20
or rcx, 2
mov qword [rbp - 8], rcx
mov ecx, eax
call fcn.140154690
cmp al, 0xd
jne 0x140165640
test rsi, rsi
je 0x140165640
mov rcx, qword [rsi]
mov rdx, qword [rsi + 8]
lock inc qword [rdx]
jle case.0x1400a0a28.1395
add rcx, 0x10
mov r8, qword [rsi + 0x10]
movzx r9d, byte [rsi + 0x18]
call fcn.140064630
test rax, rax
mov r8, qword [rbp - 8]
cmovne r8, rax
mov ebx, r8d
and ebx, 3
lea rcx, [0x1401ed4dc]
movsxd rax, dword [rcx + rbx*4]
add rax, rcx
jmp rax
mov r8, qword [rbp - 8]
mov ebx, r8d
and ebx, 3
lea rcx, [0x1401ed4dc]
movsxd rax, dword [rcx + rbx*4]
add rax, rcx
jmp rax
movzx eax, byte [r8 + 0x10]
jmp 0x1401656a2
movzx eax, byte [r8 + 0xf]
jmp 0x1401656a2
mov rcx, r8
shr rcx, 0x20
mov rsi, r12
mov r12, r15
mov r15, r8
call fcn.140154690
mov r8, r15
mov r15, r12
mov r12, rsi
mov rsi, qword [rbp - 0x28]
cmp al, 0xd
jne 0x1401658e2
movzx ecx, dil
and r13d, 0x23
mov rax, qword [r14 + 0xd0]
xor r13, 0x2f
shl rcx, 0x10
nop word cs:[rax + rax]
mov edx, eax
shr edx, 0x10
cmp dil, dl
jne 0x1401656ed
mov edx, r13d
and edx, eax
or rdx, rcx
lock cmpxchg qword [r14 + 0xd0], rdx
jne 0x1401656d0
lea rax, [rbx - 2]
cmp rax, 2
jb 0x140165580
test rbx, rbx
je 0x140165580
lea rax, [r8 - 1]
mov qword [rbp - 8], rax
mov rcx, qword [r8 - 1]
mov rax, qword [r8 + 7]
mov qword [rbp - 0x18], rcx
mov qword [rbp - 0x20], rax
call qword [rax]
mov rax, qword [rbp - 0x20]
cmp qword [rax + 8], 0
je 0x14016577a
cmp qword [rax + 0x10], 0x11
jae 0x140165763
mov r8, qword [rbp - 0x18]
jmp 0x14016576b
mov rax, r8
shr rax, 0x20
cmp eax, 0x28
ja case.default.0x14016575a
lea rcx, [0x1401ed4ec]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
xor eax, eax
jmp 0x1401656a2
mov r8, qword [rbp - 0x18]
mov r8, qword [r8 - 8]
mov rcx, qword [0x14023c280]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rcx, qword [0x14023c280]
xor edx, edx
mov r8, qword [rbp - 8]
call qword [sym.imp.KERNEL32.dll_HeapFree]
movabs dword [0xfffffdeee9000268], eax
movabs dword [0xfffffdeee9000268], eax
invalid
mov al, 0x29
jmp 0x1401656a2
invalid
invalid
invalid
mov al, 1
jmp 0x1401656a2
invalid
invalid
invalid
mov al, 2
jmp 0x1401656a2
invalid
invalid
invalid
mov al, 3
jmp 0x1401656a2
invalid
invalid
invalid
mov al, 4
jmp 0x1401656a2
invalid
invalid
invalid
mov al, 5
jmp 0x1401656a2
invalid
invalid
invalid
mov al, 6
jmp 0x1401656a2
invalid
invalid
invalid
mov al, 7
jmp 0x1401656a2
invalid
invalid
invalid
mov al, 8
jmp 0x1401656a2
invalid
invalid
invalid
mov al, 9
jmp 0x1401656a2
invalid
invalid
invalid
mov al, 0xa
jmp 0x1401656a2
invalid
invalid
invalid
mov al, 0xb
jmp 0x1401656a2
invalid
invalid
invalid
mov al, 0xc
jmp 0x1401656a2
invalid
invalid
invalid
mov al, 0xd
jmp 0x1401656a2
invalid
invalid
invalid
mov al, 0xe
jmp 0x1401656a2
invalid
invalid
invalid
mov al, recv
jmp 0x1401656a2
invalid
invalid
invalid
mov al, reloc.WS2_32.dll_recv
jmp 0x1401656a2
invalid
invalid
invalid
mov al, 0x11
jmp 0x1401656a2
invalid
invalid
invalid
mov al, send
jmp 0x1401656a2
invalid
invalid
invalid
mov al, reloc.WS2_32.dll_send
jmp 0x1401656a2
invalid
invalid
invalid
mov al, setsockopt
jmp 0x1401656a2
invalid
invalid
invalid
mov al, reloc.WS2_32.dll_setsockopt
jmp 0x1401656a2
invalid
invalid
invalid
mov al, reloc.WS2_32.dll_shutdown
jmp 0x1401656a2
invalid
invalid
invalid
mov al, 0x17
jmp 0x1401656a2
invalid
invalid
invalid
mov al, 0x18
jmp 0x1401656a2
invalid
invalid
invalid
mov al, 0x19
jmp 0x1401656a2
invalid
invalid
invalid
mov al, 0x1a
jmp 0x1401656a2
invalid
invalid
invalid
mov al, 0x1b
jmp 0x1401656a2
invalid
invalid
invalid
mov al, 0x1c
jmp 0x1401656a2
invalid
invalid
invalid
mov al, 0x1d
jmp 0x1401656a2
invalid
invalid
invalid
mov al, 0x1e
jmp 0x1401656a2
invalid
invalid
invalid
mov al, 0x1f
jmp 0x1401656a2
invalid
invalid
invalid
mov al, 0x20
jmp 0x1401656a2
invalid
invalid
invalid
mov al, 0x21
jmp 0x1401656a2
invalid
invalid
invalid
mov al, 0x22
jmp 0x1401656a2
mov al, 0x23
jmp 0x1401656a2
mov al, 0x24
jmp 0x1401656a2
mov al, 0x25
jmp 0x1401656a2
mov al, 0x26
jmp 0x1401656a2
mov al, 0x27
jmp 0x1401656a2
mov al, 0x28
jmp 0x1401656a2
mov rax, qword [rbp - 0x10]
mov qword [rax], 2
jmp 0x1401658f1
mov rax, qword [rbp - 0x10]
mov qword [rax], 1
mov qword [rax + 8], r13
jmp 0x1401658f1
cdqe
mov rcx, qword [rbp - 0x10]
mov qword [rcx], 0
mov qword [rcx + 8], rax
jmp 0x1401658f1
mov rax, qword [rbp - 0x10]
mov qword [rax], 1
lea rcx, str.called__Option::unwrap____on_a__None__value
lea r8, str.C:Users_sola.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tokio_1.34.0_srciopoll_evented.rs
js 0x1401658ed
add eax, 0x2bba00
add byte [rax], al