Function at 0x1400c2790
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, 0x78
movaps xmmword [rsp + 0x60], xmm6
mov rdi, r8
mov qword [rsp + 0x28], rcx
mov al, 1
mov dword [rsp + 0x24], eax
test r9, r9
je 0x1400c27e8
mov rbp, qword [rsp + 0xe0]
add rbp, 0x400
jb 0x1400c27f2
mov rax, rbp
and rax, 0x1fff
je 0x1400c27ea
mov ecx, 0x2000
sub rcx, rax
add rbp, rcx
setb al
mov dword [rsp + 0x24], eax
jmp 0x1400c27f2
jmp 0x1400c27f2
mov dword [rsp + 0x24], 0
mov rax, qword [rdi + 8]
mov qword [rsp + 0x38], rax
mov r15, qword [rdi + 0x10]
mov rbx, qword [rdx]
xor r14d, r14d
xorps xmm6, xmm6
mov qword [rsp + 0x30], r15
nop dword [rax]
mov rsi, qword [rdi + 8]
cmp r15, rsi
je 0x1400c291b
mov rax, rsi
sub rax, r15
cmp rax, rbp
mov r13, rbp
cmovb r13, rax
cmp byte [rsp + 0x24], 0
cmovne r13, rax
mov rdx, qword [rdi]
add rdx, r15
cmp r13, 0x7fffffff
mov r8d, 0x7fffffff
cmovb r8, r13
mov rcx, rbx
xor r9d, r9d
call sub.ws2_32.dll_recv
cmp eax, 0xffffffff
je 0x1400c294d
movsxd rcx, eax
cmp r14, rcx
cmovbe r14, rcx
test rcx, rcx
je 0x1400c2959
mov r12, r14
sub r12, rcx
jb 0x1400c29db
cmp r14, r13
ja 0x1400c29ec
add r15, rcx
mov qword [rdi + 0x10], r15
mov r14, r12
cmp r15, rsi
jne 0x1400c2810
mov r14, r12
cmp rsi, qword [rsp + 0x38]
jne 0x1400c2810
movaps xmmword [rsp + 0x50], xmm6
movaps xmmword [rsp + 0x40], xmm6
mov rcx, rbx
lea rdx, [rsp + 0x40]
mov r8d, 0x20
xor r9d, r9d
call sub.ws2_32.dll_recv
cmp eax, 0xffffffff
je 0x1400c298a
movsxd r14, eax
test r14, r14
je 0x1400c2996
cmp r14, 0x21
jae 0x1400c2a00
mov rax, qword [rdi + 8]
mov r15, qword [rdi + 0x10]
sub rax, r15
cmp rax, r14
jb 0x1400c2939
mov rcx, qword [rdi]
add rcx, r15
lea rdx, [rsp + 0x40]
mov r8, r14
call sub.msvcrt.dll_memcpy
add r15, r14
mov qword [rdi + 0x10], r15
mov r14, r12
jmp 0x1400c2810
mov r8d, 0x20
mov rcx, rdi
mov rdx, r15
call fcn.1400153f0
mov rsi, qword [rdi + 8]
mov r15, qword [rdi + 0x10]
jmp 0x1400c281d
mov rcx, rdi
mov rdx, r15
mov r8, r14
call fcn.1400153f0
mov r15, qword [rdi + 0x10]
jmp 0x1400c28f9
call sub.ws2_32.dll_WSAGetLastError
cmp eax, 0x274a
jne 0x1400c2970
sub r15, qword [rsp + 0x30]
mov rax, qword [rsp + 0x28]
mov qword [rax + 8], r15
mov qword [rax], 0
jmp 0x1400c29c5
shl rax, 0x20
or rax, 2
mov rcx, qword [rsp + 0x28]
mov qword [rcx + 8], rax
mov qword [rcx], 1
jmp 0x1400c29c5
call sub.ws2_32.dll_WSAGetLastError
cmp eax, 0x274a
jne 0x1400c29ac
mov rax, qword [rdi + 0x10]
sub rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x28]
mov qword [rcx + 8], rax
xor eax, eax
jmp 0x1400c29c2
shl rax, 0x20
or rax, 2
mov rcx, qword [rsp + 0x28]
mov qword [rcx + 8], rax
mov eax, 1
mov qword [rcx], rax
movaps xmm6, xmmword [rsp + 0x60]
add rsp, 0x78
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea r8, str._rustc_a28077b28a02b92985b3a3faecf92813155f1ea1library_std_srcio_readbuf.rs
mov rdx, r14
call fcn.1400055e0
ud2
lea r8, str._rustc_a28077b28a02b92985b3a3faecf92813155f1ea1library_std_srcio_readbuf.rs
mov rcx, r14
mov rdx, r13
call fcn.140004b30
ud2
lea r8, str._rustc_a28077b28a02b92985b3a3faecf92813155f1ea1library_std_srciomod.rs
mov edx, 0x20
mov rcx, r14
call fcn.140004b30
ud2