Function at 0x14009a2ce
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 r12, rdx
mov r14, rcx
lea r15, [rsp + 0x72]
lea rsi, [rsp + 0x3a]
mov rbp, qword [rcx + 0x10]
mov r13, qword [r8 + 8]
mov rdi, qword [r8 + 0x10]
mov qword [rsp + 0x40], r8
mov rax, qword [r8]
add rax, rdi
mov qword [rsp + 0x58], rax
mov rcx, r13
sub rcx, rdi
mov eax, 0x7fffffff
cmp rcx, rax
cmovae rcx, rax
mov qword [rsp + 0x50], rcx
mov rax, qword [r14 + 0x18]
mov qword [rsp + 0x60], rax
mov rax, qword [r14 + 0x20]
mov qword [rsp + 0x48], rax
lea rbx, [rsp + 0x68]
mov qword [rsp + 0x28], rbp
mov rcx, rbx
mov rdx, rbp
mov r8, r12
xor r9d, r9d
call fcn.14009a0d7
mov al, byte [rsp + 0x71]
cmp al, 3
je 0x14009a470
mov rbx, qword [rsp + 0x68]
cmp al, 2
je 0x14009a4a8
mov cl, byte [rsp + 0x70]
movzx edx, word [r15 + 4]
mov word [rsi + 4], dx
mov edx, dword [r15]
mov dword [rsi], edx
mov qword [rsp + 0x30], rbx
mov byte [rsp + 0x38], cl
mov byte [rsp + 0x39], al
cmp r13, rdi
jb 0x14009a4cd
mov rcx, qword [rsp + 0x60]
cmp rcx, 0xffffffffffffffff
je 0x14009a4c1
mov rdx, qword [rsp + 0x58]
mov r8, qword [rsp + 0x50]
xor r9d, r9d
call qword [sym.imp.ws2_32.dll_recv]
cmp eax, 0xffffffff
jne 0x14009a477
call qword [sym.imp.ws2_32.dll_WSAGetLastError]
cmp eax, 0x274a
je 0x14009a47c
mov ebx, eax
shl rbx, 0x20
or rbx, 2
mov rcx, rbx
call fcn.140015248
cmp al, 0xd
jne 0x14009a440
mov rax, qword [rsp + 0x48]
test rax, rax
je 0x14009a440
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
lock inc qword [rdx]
jle 0x14009a4df
mov rbp, rsi
mov rsi, r14
add rcx, 0x10
mov r8, qword [rax + 0x10]
mov r9b, byte [rax + 0x18]
call fcn.140032119
mov r14, rax
xor ecx, ecx
call fcn.140085553
test r14, r14
je 0x14009a435
mov ecx, 1
mov rdx, rbx
call fcn.1400322db
mov rbx, r14
mov r14, rsi
mov rsi, rbp
mov rbp, qword [rsp + 0x28]
mov rcx, rbx
call case.0x14008de02.163
cmp al, 0xd
jne 0x14009a4a8
mov qword [rsp + 0x68], rbx
mov rcx, r14
lea rdx, [rsp + 0x30]
call fcn.14009a074
lea rbx, [rsp + 0x68]
mov rcx, rbx
call case.0x14008a96a.168
jmp 0x14009a340
mov eax, 1
jmp 0x14009a4aa
movsxd r8, eax
jmp 0x14009a47f
xor r8d, r8d
lea rax, [rdi + r8]
mov rdx, qword [rsp + 0x40]
mov rcx, qword [rdx + 0x18]
cmp rax, rcx
jbe 0x14009a498
mov qword [rdx + 0x18], rax
mov rcx, rax
add rdi, r8
jb 0x14009a4e1
cmp rcx, rax
jb 0x14009a4f9
mov qword [rdx + 0x10], rax
xor ebx, ebx
xor eax, eax
mov rdx, rbx
add rsp, 0x98
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rcx, str.C:Users_fhnir.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tokio_1.36.0_srciopoll_evented.rs
call fcn.1400a8cc0
lea r8, str.C:Users_fhnir.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tokio_1.36.0_srcio_read_buf.rs
mov rcx, rdi
mov rdx, r13
call fcn.1400a87b0
ud2
lea rcx, str.filled_overflowfilled_must_not_become_larger_than_initialized
lea r8, str.C:Users_fhnir.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tokio_1.36.0_srciopoll_evented.rs
mov edx, 0xf
call fcn.1400a8ce0
lea rax, [0x1400e7478]
lea rcx, [rsp + 0x68]
mov qword [rcx], rax
mov qword [rcx + 8], 1
lea rax, [0x14010e570]
mov qword [rcx + 0x10], rax
xorps xmm0, xmm0
movups xmmword [rcx + 0x18], xmm0
lea rdx, str.C:Users_fhnir.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tokio_1.36.0_srciopoll_evented.rs
call fcn.1400a8770
int3