Function at 0x14003b7c0
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, 0x38
mov rbx, r9
mov r9, r8
mov rdi, rdx
mov r15, rcx
lea r13, [rdx + 0x30]
mov r14, qword [rdx + 0x28]
mov rbp, qword [rdx + 0x30]
mov rsi, qword [rdx + 0x38]
cmp rbp, rsi
jne 0x14003b838
cmp r14, rbx
ja 0x14003b838
xorps xmm0, xmm0
movups xmmword [r13], xmm0
cmp byte [rdi + 0x18], 0
jne 0x14003b8e6
mov r12, qword [rdi]
mov rbp, qword [rdi + 8]
cmp rbp, rbx
mov rsi, rbx
cmovb rsi, rbp
cmp rsi, 1
jne 0x14003b8b7
test rbx, rbx
je 0x14003ba77
mov al, byte [r12]
mov byte [r9], al
jmp 0x14003b8cb
mov r12, qword [rdi + 0x20]
cmp rbp, rsi
jb 0x14003b9eb
mov rcx, qword [rdi + 0x40]
mov r8, r14
sub r8, rcx
jbe 0x14003b86b
mov rbp, r14
je 0x14003b874
add rcx, r12
xor edx, edx
mov rsi, r9
call fcn.140092ff0
mov r9, rsi
mov rbp, r14
jmp 0x14003b874
mov rbp, rcx
jb 0x14003ba77
cmp byte [rdi + 0x18], 0
mov qword [rsp + 0x20], rbp
jne 0x14003b984
mov qword [rsp + 0x28], r13
mov rdx, qword [rdi]
mov r13, qword [rdi + 8]
cmp r13, r14
mov rsi, r14
cmovb rsi, r13
cmp rsi, 1
jne 0x14003b940
test r14, r14
je 0x14003ba77
mov al, byte [rdx]
mov byte [r12], al
jmp 0x14003b960
mov rcx, r9
mov rdx, r12
mov r8, rsi
mov r14, r9
call fcn.1400931b0
mov r9, r14
add r12, rsi
sub rbp, rsi
mov qword [rdi], r12
mov qword [rdi + 8], rbp
test rsi, rsi
jne 0x14003b937
test rbx, rbx
je 0x14003b937
mov byte [rdi + 0x18], 1
mov rax, qword [rdi + 0x10]
cmp rbx, 0x7fffffff
mov r8d, 0x7fffffff
cmovb r8d, ebx
mov rcx, qword [rax]
mov rdx, r9
xor r9d, r9d
call qword [sym.imp.ws2_32.dll_recv]
cmp eax, 0xffffffff
je 0x14003b91a
cdqe
mov qword [r15 + 8], rax
jmp 0x14003ba38
call qword [sym.imp.ws2_32.dll_WSAGetLastError]
cmp eax, 0x274a
jne 0x14003ba50
xorps xmm0, xmm0
movups xmmword [r15], xmm0
jmp 0x14003ba3f
mov qword [r15 + 8], rsi
jmp 0x14003ba38
mov rcx, r12
mov rbp, rdx
mov r8, rsi
mov qword [rsp + 0x30], r9
call fcn.1400931b0
mov rdx, rbp
mov rbp, qword [rsp + 0x20]
mov r9, qword [rsp + 0x30]
add rdx, rsi
sub r13, rsi
mov qword [rdi], rdx
mov qword [rdi + 8], r13
test rsi, rsi
jne 0x14003ba69
test r14, r14
mov r13, qword [rsp + 0x28]
je 0x14003b9d0
mov byte [rdi + 0x18], 1
mov rbp, r9
mov rax, qword [rdi + 0x10]
cmp r14, 0x7fffffff
mov r8d, 0x7fffffff
cmovb r8d, r14d
mov rcx, qword [rax]
mov rdx, r12
xor r9d, r9d
call qword [sym.imp.ws2_32.dll_recv]
cmp eax, 0xffffffff
je 0x14003b9b5
movsxd rsi, eax
jmp 0x14003b9c8
call qword [sym.imp.ws2_32.dll_WSAGetLastError]
cmp eax, 0x274a
jne 0x14003ba50
xor esi, esi
mov r9, rbp
mov rbp, qword [rsp + 0x20]
cmp rbp, rsi
jb 0x14003ba77
mov qword [rdi + 0x38], rsi
mov qword [rdi + 0x40], rbp
mov qword [rdi + 0x30], 0
xor ebp, ebp
cmp rsi, r14
ja 0x14003ba77
add r12, rbp
mov rdi, rsi
sub rdi, rbp
cmp rdi, rbx
cmovae rdi, rbx
cmp rdi, 1
jne 0x14003ba18
test rbx, rbx
je 0x14003ba77
mov al, byte [r12]
mov byte [r9], al
jmp 0x14003ba26
mov rcx, r9
mov rdx, r12
mov r8, rdi
call fcn.1400931b0
add rbp, rdi
cmp rbp, rsi
cmova rbp, rsi
mov qword [r13], rbp
mov qword [r15 + 8], rdi
mov qword [r15], 0
add rsp, 0x38
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
shl rax, 0x20
mov qword [r15 + 8], rax
mov qword [r15 + 0x10], 0
mov qword [r15], 1
jmp 0x14003ba3f
mov r13, qword [rsp + 0x28]
cmp rbp, rsi
jae 0x14003b9d9
ud2