Function at 0x14003d884
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, 0x68
movaps xmmword [rsp + 0x50], xmm6
mov rdi, rdx
mov qword [rsp + 0x30], rcx
lea rbx, [rsp + 0x2f]
mov byte [rbx], 0
lea r14, [rdx + 0x28]
lea rsi, [rdx + 0x10]
lea r15, [rsp + 0x38]
xorps xmm6, xmm6
mov r8d, dword [rdi + 0x38]
cmp r8d, 0x3b9aca01
jne 0x14003d97a
mov r12, qword [rdi]
mov rdx, qword [rdi + 8]
lea rcx, [r12 + 0xc0]
mov r8d, dword [rdi + 0x10]
call fcn.14003db3b
mov r13, rax
test rax, rax
jne 0x14003da29
mov rcx, r12
call fcn.14003d6e1
test rdx, rdx
jne 0x14003d961
mov rcx, r15
mov rdx, r12
call fcn.14003bad0
mov eax, dword [rsp + 0x38]
cmp eax, 2
je 0x14003d9df
test eax, eax
je 0x14003d961
cmp qword [r12 + 0xe8], 0
je 0x14003d944
mov rcx, r12
call fcn.14003c822
mov r13, rdx
test rax, rax
jne 0x14003da29
test r13, r13
je 0x14003d961
and qword [r12 + 0xe8], 0
mov rcx, r15
mov rdx, r12
call fcn.14003c9d1
cmp byte [rsp + 0x38], 0
jne 0x14003d9df
cmp byte [rsp + 0x39], 0
je 0x14003d8ee
mov rcx, r12
call fcn.14003d6e1
mov r13, rdx
test rax, rax
je 0x14003da29
jmp 0x14003da64
mov rdx, qword [rdi + 0x30]
mov rcx, r14
call fcn.14003db3b
mov r13, rax
test rax, rax
jne 0x14003da29
mov r8, qword [rdi + 8]
mov rcx, qword [rdi + 0x10]
mov rax, qword [rdi + 0x18]
cmp rax, rcx
jne 0x14003d9ca
cmp r8, 2
jae 0x14003d9ca
movups xmmword [rsi], xmm6
mov rcx, qword [r14]
mov r8d, 1
mov rdx, rbx
call fcn.1400376a0
mov r13, rdx
test rax, rax
jne 0x14003da29
jmp 0x14003dafc
mov r13, rax
mov r12, qword [rdi]
sub r13, rcx
jbe 0x14003d9e6
test r12, r12
je 0x14003da29
jmp 0x14003dad9
mov r13, qword [rsp + 0x40]
jmp 0x14003da29
mov rbp, qword [rdi + 0x20]
mov rcx, qword [rdi + 0x28]
mov eax, 0x7fffffff
cmp r8, rax
cmovae r8, rax
mov rdx, r12
xor r9d, r9d
call sub.ws2_32.dll_recv
cmp eax, 0xffffffff
jne 0x14003daba
call sub.ws2_32.dll_WSAGetLastError
cmp eax, 0x274a
je 0x14003dac5
mov r13d, eax
shl r13, 0x20
or r13, 2
mov rcx, r13
call fcn.14003ceeb
test al, al
je 0x14003da42
mov rcx, r13
call fcn.14003c744
jmp 0x14003d8b9
mov rax, qword [rsp + 0x30]
mov byte [rax], 1
mov qword [rax + 8], r13
movaps xmm6, xmmword [rsp + 0x50]
add rsp, 0x68
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rbp, rax
xor edi, edi
test r13, r13
setne dil
lea r9, [0x140052188]
lea rdx, [rsp + 0x2f]
mov r8d, 1
mov rcx, rdi
call fcn.140006b76
lea rcx, [0x1400521a0]
mov qword [rsp + 0x20], rcx
mov rcx, rax
mov r8, rbp
mov r9, rdi
call fcn.1400170cb
mov rax, qword [r12 + 0x28]
add rax, rdi
cmp rax, qword [r12 + 0x20]
ja 0x14003db22
mov qword [r12 + 0x28], rax
jmp 0x14003daf9
cdqe
cmp rbp, rax
cmovbe rbp, rax
jmp 0x14003dac7
xor eax, eax
and qword [rdi + 0x10], 0
mov qword [rdi + 0x18], rax
mov qword [rdi + 0x20], rbp
xor ecx, ecx
mov r13, rax
xor edi, edi
test r13, r13
setne dil
je 0x14003daec
mov dl, byte [r12 + rcx]
mov byte [rsp + 0x2f], dl
add rcx, rdi
cmp rcx, rax
cmovae rcx, rax
mov qword [rsi], rcx
mov r13, rdi
test r13, r13
je 0x14003db15
mov al, byte [rsp + 0x2f]
mov rcx, qword [rsp + 0x30]
mov byte [rcx], 0
mov byte [rcx + 1], al
jmp 0x14003da4e
mov rax, qword [rsp + 0x30]
mov byte [rax], 2
jmp 0x14003da4e
lea rcx, str.assertion_failed:_pos___self.dec_in.get_ref__.len___as_u64
lea r8, [0x140052228]
mov edx, 0x3b
call fcn.1400078c0
int3