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

Disassembly:
push rsi
push r13
push r14
push r15
mov eax, 0x10a8
call fcn.1402f21b0
sub rsp, rax
mov rax, qword [0x14065ef68]
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 0x14041c6e7
cmp r8, 0xffffffffffffffff
je 0x14041c934
mov qword [rsp + 0x10a0], rbp
xor ebp, ebp
cmp dword [rcx + 0x98], ebp
jle 0x14041c92c
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 0x14041c8ff
cmp dword [rdi + 0x88], 0
jne 0x14041c8ff
test r14, r14
je 0x14041c7b6
mov rdx, r14
mov rcx, rax
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x14041c8ff
mov edx, dword [r14]
xor eax, eax
mov r8, qword [rdi + 0x20]
test edx, edx
je 0x14041c7bf
nop word [rax + rax]
cmp qword [r14 + rax*8 + 8], r8
je 0x14041c77f
inc eax
cmp eax, edx
jb 0x14041c770
jmp 0x14041c7bf
lea ecx, [rdx - 1]
cmp eax, ecx
jae 0x14041c7ae
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 0x14041c790
lea eax, [rdx - 1]
mov dword [r14], eax
jmp 0x14041c7bf
cmp rax, r13
jne 0x14041c8ff
mov r14d, 0x1c
cmp qword [rdi + 0x20], 0xffffffffffffffff
jne 0x14041c7e0
xor ebx, ebx
mov r8, r15
mov edx, ebp
mov rcx, rsi
call fcn.14041b960
jmp 0x14041c8f1
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 0x14041c837
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 0x14041c85a
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 0x14041c889
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0xb
je 0x14041c8fa
cmp eax, 0x2733
je 0x14041c8fa
mov r8, r15
mov edx, ebp
mov rcx, rsi
call fcn.14041b960
jmp 0x14041c8f1
test rbx, rbx
jg 0x14041c89d
mov r8, r15
mov edx, ebp
mov rcx, rsi
call fcn.14041b960
jmp 0x14041c8f1
movzx eax, word [rsp + 0x50]
mov ecx, dword [rdi]
cmp eax, ecx
jne 0x14041c8fa
cmp ecx, 2
je 0x14041c8c8
cmp ecx, 0x17
jne 0x14041c8fa
mov rax, qword [rdi + 4]
cmp rax, qword [rsp + 0x58]
jne 0x14041c8fa
mov rax, qword [rdi + 0xc]
cmp rax, qword [rsp + 0x60]
jmp 0x14041c8cf
mov eax, dword [rdi + 4]
cmp eax, dword [rsp + 0x54]
jne 0x14041c8fa
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.14041c040
test rbx, rbx
jg 0x14041c7c5
mov r14, qword [rsp + 0x48]
inc ebp
add r12, 0x90
cmp ebp, dword [rsi + 0x98]
jl 0x14041c720
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.1402f2210
add rsp, 0x10a8
pop r15
pop r14
pop r13
pop rsi
ret