Function at 0x140154be0
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, 0x58
mov r13, r8
mov r12, rdx
mov rsi, rcx
jmp 0x140154c21
mov rcx, qword [0x140221370]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rcx, qword [0x140221370]
xor edx, edx
mov r8, rdi
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rdx, qword [rsi + 0x20]
lea rcx, [rsp + 0x28]
mov r8, r12
xor r9d, r9d
call fcn.1401544a0
movzx eax, byte [rsp + 0x31]
cmp al, 3
je 0x140154dfb
mov rbx, qword [rsp + 0x28]
cmp al, 2
je 0x140154e3f
mov rdx, qword [r13 + 8]
mov rdi, qword [r13 + 0x10]
mov r8, rdx
sub r8, rdi
jb 0x140154e55
mov rcx, qword [rsi + 8]
cmp rcx, 0xffffffffffffffff
je 0x140154e66
movzx r14d, byte [rsp + 0x30]
mov rdx, qword [r13]
add rdx, rdi
cmp r8, 0x7fffffff
mov eax, 0x7fffffff
cmovae r8, rax
xor r9d, r9d
call qword [sym.imp.WS2_32.dll_recv]
cmp eax, 0xffffffff
jne 0x140154e02
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x274a
je 0x140154e2b
mov r15, rax
shl r15, 0x20
or r15, 2
mov ecx, eax
call fcn.14013c510
cmp al, 0xd
jne 0x140154d10
mov rax, qword [rsi]
test rax, rax
je 0x140154d10
mov rcx, qword [rax + 8]
mov rdx, qword [rax + 0x10]
lock inc qword [rdx]
jle 0x140154e80
add rcx, 0x10
mov r8, qword [rax]
movzx r9d, byte [rax + 0x18]
call fcn.1400a0610
test rax, rax
cmovne r15, rax
mov edi, r15d
and edi, 3
lea rcx, [0x140154ee4]
movsxd rax, dword [rcx + rdi*4]
add rax, rcx
jmp rax
mov edi, r15d
and edi, 3
lea rcx, [0x140154ee4]
movsxd rax, dword [rcx + rdi*4]
add rax, rcx
jmp rax
movzx eax, byte [r15 + 0x10]
cmp al, 0xd
je 0x140154d80
jmp 0x140154e3c
mov rcx, r15
shr rcx, 0x20
call fcn.14013c510
cmp al, 0xd
je 0x140154d80
jmp 0x140154e3c
movzx eax, byte [r15 + 0xf]
cmp al, 0xd
je 0x140154d80
jmp 0x140154e3c
mov rax, r15
shr rax, 0x20
cmp eax, 0xd
jne 0x140154e3c
movzx ecx, r14b
mov rdx, qword [rsi + 0x20]
and ebx, 0x23
mov rax, qword [rdx + 0xd0]
shl rcx, 0x10
xor rbx, 0x2f
nop word [rax + rax]
mov rbp, rax
shr rbp, 0x10
cmp r14b, bpl
jne 0x140154dbe
mov ebp, eax
and ebp, ebx
or rbp, rcx
lock cmpxchg qword [rdx + 0xd0], rbp
jne 0x140154da0
cmp edi, 1
jne 0x140154c21
lea rdi, [r15 - 1]
mov rcx, qword [r15 - 1]
mov rax, qword [r15 + 7]
call qword [rax]
mov rax, qword [r15 + 7]
cmp qword [rax + 8], 0
je 0x140154c0f
mov r8, qword [rdi]
cmp qword [rax + 0x10], 0x11
jb 0x140154c00
mov r8, qword [r8 - 8]
jmp 0x140154c00
mov eax, 1
jmp 0x140154e41
movsxd rdx, eax
lea rax, [rdx + rdi]
mov rcx, qword [r13 + 0x18]
cmp rax, rcx
jbe 0x140154e19
mov qword [r13 + 0x18], rax
mov rcx, rax
add rdx, rdi
jb 0x140154e84
cmp rcx, rax
jb 0x140154e9e
mov qword [r13 + 0x10], rax
xor ebx, ebx
jmp 0x140154e3f
xor edx, edx
lea rax, [rdx + rdi]
mov rcx, qword [r13 + 0x18]
cmp rax, rcx
ja 0x140154e12
jmp 0x140154e19
mov rbx, r15
xor eax, eax
mov rdx, rbx
add rsp, 0x58
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea r8, str.C:UsersUser.cargo_registry_srcgithub.com_1ecc6299db9ec823_tokio_1.32.0_srcio_read_buf.rs
mov rcx, rdi
call fcn.14016f3b0
ud2
lea rcx, str.called__Option::unwrap____on_a__None__value_rustc_84c898d65adf2f39a5a98507f1fe0ce10a2b8dbclibrarycore_src_strpattern.rs
lea r8, str.C:UsersUser.cargo_registry_srcgithub.com_1ecc6299db9ec823_tokio_1.32.0_srciopoll_evented.rs
mov edx, 0x2b
call fcn.14016f3d0
ud2
ud2
lea rcx, str.filled_overflowfilled_must_not_become_larger_than_initialized
lea r8, str.C:UsersUser.cargo_registry_srcgithub.com_1ecc6299db9ec823_tokio_1.32.0_srciopoll_evented.rs
mov edx, send
call fcn.14016f690
ud2
lea rax, [0x1401ef3f0]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x40], 1
mov qword [rsp + 0x28], 0
lea rax, method..virtual_32
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x50], 0
lea rdx, str.C:UsersUser.cargo_registry_srcgithub.com_1ecc6299db9ec823_tokio_1.32.0_srciopoll_evented.rs
lea rcx, [rsp + 0x28]
call fcn.14016f2f0
ud2