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

Disassembly:
push rsi
push r13
push r14
push r15
mov eax, 0x10a8
call fcn.140284120
sub rsp, rax
mov rax, qword [0x140601e40]
xor rax, rsp
mov qword [rsp + 0x1080], rax
mov qword [rsp + 0x48], rdx
mov r15, r9
mov r13, r8
mov r14, rdx
mov rsi, rcx
test rdx, rdx
jne 0x1403f5827
cmp r8, 0xffffffffffffffff
je 0x1403f5a74
mov qword [rsp + 0x10a0], rbp
xor ebp, ebp
cmp dword [rcx + 0x98], ebp
jle 0x1403f5a6c
mov qword [rsp + 0x10e0], rbx
mov qword [rsp + 0x1098], rdi
mov qword [rsp + 0x1090], r12
xor r12d, r12d
nop dword [rax + rax]
mov rdi, qword [rsi + 0x90]
add rdi, r12
mov rax, qword [rdi + 0x20]
cmp rax, 0xffffffffffffffff
je 0x1403f5a3f
cmp dword [rdi + 0x88], 0
jne 0x1403f5a3f
test r14, r14
je 0x1403f58f6
mov rdx, r14
mov rcx, rax
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x1403f5a3f
mov edx, dword [r14]
xor eax, eax
mov r8, qword [rdi + 0x20]
test edx, edx
je 0x1403f58ff
nop word [rax + rax]
cmp qword [r14 + rax*8 + 8], r8
je 0x1403f58bf
inc eax
cmp eax, edx
jb 0x1403f58b0
jmp 0x1403f58ff
lea ecx, [rdx - 1]
cmp eax, ecx
jae 0x1403f58ee
nop word [rax + rax]
mov edx, eax
lea r8d, [rax + 1]
mov rax, qword [r14 + r8*8 + 8]
mov qword [r14 + rdx*8 + 8], rax
mov eax, r8d
mov edx, dword [r14]
lea ecx, [rdx - 1]
cmp r8d, ecx
jb 0x1403f58d0
lea eax, [rdx - 1]
mov dword [r14], eax
jmp 0x1403f58ff
cmp rax, r13
jne 0x1403f5a3f
mov r14d, 0x1c
cmp qword [rdi + 0x20], 0xffffffffffffffff
jne 0x1403f5920
xor ebx, ebx
mov r8, r15
mov edx, ebp
mov rcx, rsi
call fcn.1403f4aa0
jmp 0x1403f5a31
cmp dword [rdi], 2
lea rdx, [rsp + 0x70]
mov r10, qword [rsi + 0x12200]
mov eax, reloc.WS2_32.dll_recv
cmovne eax, r14d
xor r9d, r9d
mov dword [rsp + 0x40], eax
mov rcx, qword [rdi + 0x20]
test r10, r10
je 0x1403f5977
mov rax, qword [rsi + 0x12208]
mov r8d, 0x1001
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x40]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x50]
mov qword [rsp + 0x20], rax
call qword [r10 + 0x18]
mov rbx, rax
jmp 0x1403f599a
lea rax, [rsp + 0x40]
mov r8d, 0x1001
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x50]
mov qword [rsp + 0x20], rax
call qword [sym.imp.WS2_32.dll_recvfrom]
movsxd rbx, eax
cmp rbx, 0xffffffffffffffff
jne 0x1403f59c9
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0xb
je 0x1403f5a3a
cmp eax, 0x2733
je 0x1403f5a3a
mov r8, r15
mov edx, ebp
mov rcx, rsi
call fcn.1403f4aa0
jmp 0x1403f5a31
test rbx, rbx
jg 0x1403f59dd
mov r8, r15
mov edx, ebp
mov rcx, rsi
call fcn.1403f4aa0
jmp 0x1403f5a31
movzx eax, word [rsp + 0x50]
mov ecx, dword [rdi]
cmp eax, ecx
jne 0x1403f5a3a
cmp ecx, 2
je 0x1403f5a08
cmp ecx, 0x17
jne 0x1403f5a3a
mov rax, qword [rdi + 4]
cmp rax, qword [rsp + 0x58]
jne 0x1403f5a3a
mov rax, qword [rdi + 0xc]
cmp rax, qword [rsp + 0x60]
jmp 0x1403f5a0f
mov eax, dword [rdi + 4]
cmp eax, dword [rsp + 0x54]
jne 0x1403f5a3a
mov qword [rsp + 0x28], r15
lea rdx, [rsp + 0x70]
mov r9d, ebp
mov dword [rsp + 0x20], 0
mov r8d, ebx
mov rcx, rsi
call fcn.1403f5180
test rbx, rbx
jg 0x1403f5905
mov r14, qword [rsp + 0x48]
inc ebp
add r12, 0x90
cmp ebp, dword [rsi + 0x98]
jl 0x1403f5860
mov r12, qword [rsp + 0x1090]
mov rdi, qword [rsp + 0x1098]
mov rbx, qword [rsp + 0x10e0]
mov rbp, qword [rsp + 0x10a0]
mov rcx, qword [rsp + 0x1080]
xor rcx, rsp
call fcn.140284180
add rsp, 0x10a8
pop r15
pop r14
pop r13
pop rsi
ret