Function at 0x1400a3186
Capabilities:
Receive data
Receive data on socket

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x98
mov qword [rsp + 0x60], rdx
mov r14, rcx
lea r12, [rsp + 0x72]
lea rbx, [rsp + 0x42]
lea r15, [rcx + 0x18]
xor eax, eax
cmp qword [rcx + 0x18], 0xffffffffffffffff
cmove r15, rax
mov rbp, qword [r8 + 8]
mov rdi, qword [r8 + 0x10]
mov rcx, rbp
sub rcx, rdi
mov qword [rsp + 0x48], r8
mov rax, qword [r8]
add rax, rdi
mov qword [rsp + 0x50], rax
mov eax, 0x7fffffff
cmp rcx, rax
cmovae rcx, rax
mov qword [rsp + 0x58], rcx
lea r13, [rsp + 0x68]
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x28], r14
mov rdx, qword [r14 + 0x10]
mov rcx, r13
mov r8, qword [rsp + 0x60]
xor r9d, r9d
call fcn.1400a2f2e
mov al, byte [rsp + 0x71]
cmp al, 3
je 0x1400a3323
mov rsi, qword [rsp + 0x68]
cmp al, 2
je 0x1400a335b
mov cl, byte [rsp + 0x70]
movzx edx, word [r12 + 4]
mov word [rbx + 4], dx
mov edx, dword [r12]
mov dword [rbx], edx
mov qword [rsp + 0x38], rsi
mov byte [rsp + 0x40], cl
mov byte [rsp + 0x41], al
cmp rbp, rdi
jb 0x1400a3374
mov rcx, r15
lea rdx, str.C:Userspc.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tokio_1.34.0_srciopoll_evented.rs
call fcn.1400261bf
mov rcx, qword [r15]
mov rdx, qword [rsp + 0x50]
mov r8, qword [rsp + 0x58]
xor r9d, r9d
call qword [sym.imp.WS2_32.dll_recv]
cmp eax, 0xffffffff
jne 0x1400a332a
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x274a
je 0x1400a332f
mov esi, eax
shl rsi, 0x20
or rsi, 2
mov rcx, rsi
call fcn.140017667
cmp al, 0xd
jne 0x1400a32f8
mov rax, qword [r15 + 8]
test rax, rax
je 0x1400a32f8
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
lock inc qword [rdx]
jle 0x1400a3388
add rcx, 0x10
mov r8, qword [rax + 0x10]
mov r9b, byte [rax + 0x18]
call fcn.140035451
mov r15, rax
xor ecx, ecx
call fcn.140081e8a
test r15, r15
je 0x1400a32ee
mov ecx, 1
mov rdx, rsi
call fcn.140035576
mov rsi, r15
mov r14, qword [rsp + 0x28]
mov r15, qword [rsp + 0x30]
mov rcx, rsi
call fcn.14009f2b5
cmp al, 0xd
jne 0x1400a335b
mov qword [rsp + 0x68], rsi
mov rcx, r14
lea rdx, [rsp + 0x38]
call fcn.1400a2ecb
mov rcx, r13
call fcn.1400abbf1
jmp 0x1400a31f8
mov eax, 1
jmp 0x1400a335d
movsxd r8, eax
jmp 0x1400a3332
xor r8d, r8d
lea rax, [rdi + r8]
mov rdx, qword [rsp + 0x48]
mov rcx, qword [rdx + 0x18]
cmp rax, rcx
jbe 0x1400a334b
mov qword [rdx + 0x18], rax
mov rcx, rax
add rdi, r8
jb 0x1400a338c
cmp rcx, rax
jb 0x1400a33a6
mov qword [rdx + 0x10], rax
xor esi, esi
xor eax, eax
mov rdx, rsi
add rsp, 0x98
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea r8, str.C:Userspc.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tokio_1.34.0_srcio_read_buf.rsx_
mov rcx, rdi
mov rdx, rbp
call fcn.1400e44d0
ud2
ud2
lea rcx, str.filled_overflowfilled_must_not_become_larger_than_initialized
lea r8, str.C:Userspc.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tokio_1.34.0_srciopoll_evented.rs
mov edx, send
call fcn.1400e4a40
ud2
lea rax, [0x140124130]
lea rcx, [rsp + 0x68]
mov qword [rcx], rax
mov qword [rcx + 8], 1
add dword [rax], eax
add byte [rax], al
lea rax, str.failed_to_write_whole_buffer
mov qword [rcx + 0x10], rax
adc byte [r15], cl
push rdi
ror byte [rdi], 0x11
sbb byte [r8 - 0x73], cl
adc eax, 0x80f8a
call fcn.1400e4490
ud2