Function at 0x1403f5530
Capabilities:
Receive data
Receive data on socket

Disassembly:
push rsi
push rdi
push r12
push r14
sub rsp, 0x48
mov r14, r9
mov r12, r8
mov rdi, rdx
mov rsi, rcx
test rdx, rdx
jne 0x1403f5556
cmp r8, 0xffffffffffffffff
je 0x1403f570f
mov qword [rsp + 0x78], rbp
mov qword [rsp + 0x80], r13
xor r13d, r13d
mov ebp, r13d
cmp dword [rcx + 0x98], r13d
jle 0x1403f5702
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x40], r15
mov r15d, r13d
nop dword [rax]
nop word [rax + rax]
mov rbx, qword [rsi + 0x90]
add rbx, r15
mov rcx, qword [rbx + 0x28]
cmp rcx, 0xffffffffffffffff
je 0x1403f57c3
cmp dword [rbx + 0x88], r13d
jne 0x1403f57c3
test rdi, rdi
je 0x1403f5628
mov rdx, rdi
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x1403f57c3
mov edx, dword [rdi]
mov eax, r13d
mov r8, qword [rbx + 0x28]
test edx, edx
je 0x1403f5622
mov ecx, eax
cmp qword [rdi + rcx*8 + 8], r8
je 0x1403f55ec
inc eax
cmp eax, edx
jb 0x1403f55d7
mov rcx, qword [rbx + 0x28]
jmp 0x1403f5631
lea ecx, [rdx - 1]
cmp eax, ecx
jae 0x1403f561d
nop dword [rax]
nop word [rax + rax]
mov edx, eax
lea r8d, [rax + 1]
mov rax, qword [rdi + r8*8 + 8]
mov qword [rdi + rdx*8 + 8], rax
mov eax, r8d
mov edx, dword [rdi]
lea ecx, [rdx - 1]
cmp r8d, ecx
jb 0x1403f5600
lea eax, [rdx - 1]
mov dword [rdi], eax
mov rcx, qword [rbx + 0x28]
jmp 0x1403f5631
cmp rcx, r12
jne 0x1403f57c3
movsxd rax, dword [rbx + 0x34]
xor r9d, r9d
mov r10, qword [rsi + 0x12200]
cmp eax, 2
je 0x1403f571a
mov r8d, 2
lea rdx, [rbx + 0x30]
sub r8d, eax
add rdx, rax
test r10, r10
je 0x1403f567c
mov rax, qword [rsi + 0x12208]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], r13
movsxd r8, r8d
mov qword [rsp + 0x20], r13
call qword [r10 + 0x18]
jmp 0x1403f5684
call qword [sym.imp.WS2_32.dll_recv]
cdqe
test rax, rax
jg 0x1403f56bb
cmp rax, 0xffffffffffffffff
jne 0x1403f56a9
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0xb
je 0x1403f57c3
cmp eax, 0x2733
je 0x1403f57c3
mov r8, r14
mov edx, ebp
mov rcx, rsi
call fcn.1403f4aa0
jmp 0x1403f57c3
add dword [rbx + 0x34], eax
cmp dword [rbx + 0x34], 2
jne 0x1403f57c3
movzx ecx, byte [rbx + 0x30]
movzx eax, byte [rbx + 0x31]
shl ecx, 8
or ecx, eax
mov dword [rbx + 0x38], ecx
call qword [0x14060c6e8]
mov qword [rbx + 0x40], rax
test rax, rax
jne 0x1403f57bf
mov r8, r14
mov edx, ebp
mov rcx, rsi
call fcn.1403f4aa0
mov rbx, qword [rsp + 0x70]
mov r15, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x78]
mov r13, qword [rsp + 0x80]
add rsp, 0x48
pop r14
pop r12
pop rdi
pop rsi
ret
movsxd rax, dword [rbx + 0x48]
mov r8d, dword [rbx + 0x38]
mov rdx, rax
add rdx, qword [rbx + 0x40]
sub r8d, eax
test r10, r10
je 0x1403f5750
mov rax, qword [rsi + 0x12208]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], r13
movsxd r8, r8d
mov qword [rsp + 0x20], r13
call qword [r10 + 0x18]
jmp 0x1403f5758
call qword [sym.imp.WS2_32.dll_recv]
cdqe
test rax, rax
jg 0x1403f5784
cmp rax, 0xffffffffffffffff
jne 0x1403f5775
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0xb
je 0x1403f57c3
cmp eax, 0x2733
je 0x1403f57c3
mov r8, r14
mov edx, ebp
mov rcx, rsi
call fcn.1403f4aa0
jmp 0x1403f57c3
add dword [rbx + 0x48], eax
mov r8d, dword [rbx + 0x38]
cmp dword [rbx + 0x48], r8d
jne 0x1403f57c3
mov rdx, qword [rbx + 0x40]
mov r9d, ebp
mov qword [rsp + 0x28], r14
mov rcx, rsi
mov dword [rsp + 0x20], 1
call fcn.1403f5180
mov rcx, qword [rbx + 0x40]
call qword [0x14060c6f8]
mov qword [rbx + 0x40], r13
mov dword [rbx + 0x34], r13d
mov dword [rbx + 0x48], r13d
inc ebp
add r15, 0x90
cmp ebp, dword [rsi + 0x98]
jl 0x1403f5590
jmp 0x1403f56f8