Function at 0x14016c381
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, r9
mov rbx, r8
mov rsi, rdx
mov rdi, rcx
call fcn.14016c104
mov r15, rax
cmp rax, 2
je 0x14016c402
test r15, r15
jne 0x14016c407
mov rcx, rdi
call fcn.1401699e8
test r13, r13
je 0x14016c415
mov r12, rax
mov rax, r13
shr rax, 0x20
jne 0x14016c630
mov qword [rsp + 0x40], r13
mov qword [rsp + 0x48], rbx
mov rcx, qword [r12]
call fcn.1400ca54f
mov r14, rax
mov ebp, edx
and bpl, 1
mov rax, qword [rax + 0x28]
cmp rax, 2
jae 0x14016c41f
movabs rbx, 0xd00000003
jmp 0x14016c4e0
jmp 0x14016c557
mov r14, rdx
mov r15d, 1
jmp 0x14016c557
xor ebx, ebx
xor r15d, r15d
jmp 0x14016c554
cmp eax, 2
jne 0x14016c4c8
mov qword [rsp + 0x28], r14
mov byte [rsp + 0x27], bpl
mov r14d, 8
xor r15d, r15d
mov r13d, 0x7fffffff
xor ebx, ebx
cmp r14, 0x18
je 0x14016c56e
mov rax, qword [r12]
mov ebp, dword [rsp + r14 + 0x38]
mov rdx, qword [rsp + r14 + 0x40]
mov rcx, qword [rax]
cmp rbp, r13
mov r8d, 0x7fffffff
cmovb r8, rbp
xor r9d, r9d
call sub.WS2_32.dll_recv
cmp eax, 0xffffffff
je 0x14016c47c
cdqe
jmp 0x14016c494
call sub.WS2_32.dll_WSAGetLastError
cmp eax, 0x274a
jne 0x14016c581
xor eax, eax
mov r13d, 0x7fffffff
add rbx, rax
add r14, 0x10
cmp rbp, rax
jbe 0x14016c443
mov bpl, byte [rsp + 0x27]
mov r14, qword [rsp + 0x28]
mov rcx, r14
mov edx, ebp
call fcn.1400ca7c8
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x38], rbx
test r15, r15
jne 0x14016c4f8
jmp 0x14016c554
mov rdx, r14
add rdx, 8
mov rbx, qword [r14 + 0x30]
and qword [r14 + 0x28], 0
mov rcx, r12
call fcn.1400ca606
mov rcx, r14
mov edx, ebp
call fcn.1400ca7c8
mov qword [rsp + 0x30], 1
mov qword [rsp + 0x38], rbx
mov rcx, rbx
call fcn.1400b6bf0
mov r15d, 1
cmp al, 0xd
jne 0x14016c554
lock and qword [rdi + 0x40], 0xfffffffffffffffe
mov rcx, rdi
mov rdx, rsi
call fcn.14016c104
test rax, rax
je 0x14016c52b
cmp rax, 1
jne 0x14016c538
mov r14, rdx
jmp 0x14016c53b
mov rax, qword [rsi]
mov rdx, qword [rax]
mov rcx, qword [rax + 8]
call qword [rdx + reloc.WS2_32.dll_recv]
xor r14d, r14d
lea rcx, [rsp + 0x30]
call fcn.140168fbb
test r14, r14
jne 0x14016c40a
mov r15d, 2
mov r14, rbx
mov rax, r15
mov rdx, r14
add rsp, 0x58
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, qword [rsp + 0x28]
mov dl, byte [rsp + 0x27]
call fcn.1400ca7c8
jmp 0x14016c417
mov r13d, eax
shl r13, 0x20
or r13, 2
mov qword [rsp + 0x50], r13
test rbx, rbx
je 0x14016c5d8
mov rcx, r13
call fcn.140004e8b
cmp al, 0xd
mov bpl, byte [rsp + 0x27]
mov r14, qword [rsp + 0x28]
jne 0x14016c610
lea r15, [r14 + 8]
mov rcx, r14
add rcx, 0x28
call fcn.1400ca795
and qword [r14 + 0x28], 0
mov rcx, r12
mov rdx, r15
call fcn.1400ca606
lea rcx, [rsp + 0x50]
call fcn.1400c9c12
jmp 0x14016c628
mov r14, qword [rsp + 0x28]
lea rbx, [r14 + 8]
mov rcx, r14
add rcx, 0x28
call fcn.1400ca795
and qword [r14 + 0x28], 0
mov rcx, r12
mov rdx, rbx
call fcn.1400ca606
mov r15d, 1
mov rbx, r13
mov bpl, byte [rsp + 0x27]
jmp 0x14016c4aa
mov rcx, r14
add rcx, 0x28
call fcn.1400ca795
mov qword [r14 + 0x28], 3
mov qword [r14 + 0x30], r13
xor r15d, r15d
jmp 0x14016c4aa
lea rcx, [0x140344b7e]
lea r8, str.C:UsersTwirlanta.cargo_registry_srcindex.crates.io_6f17d22bba15001fiovec_0.1.4_src_syswindows.rsassertion_failed:_src.len_____MAX_LENGTH
mov edx, 0x29
call fcn.1402df840
int3