Function at 0x1403f44c0
Capabilities:
Send data
Send data on socket

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rdi
push r14
push r15
sub rsp, 0x40
movsxd rax, dword [rdx + 0xa4]
mov r15, r8
mov rbx, rdx
mov rdi, rcx
lea rsi, [rax + rax*8]
shl rsi, 4
add rsi, qword [rcx + 0x90]
cmp dword [rdx + 0xb0], 0
je 0x1403f46a3
cmp qword [rsi + 0x28], 0xffffffffffffffff
jne 0x1403f4517
mov rdx, rsi
call fcn.1403f4cd0
cmp eax, 0xffffffff
je 0x1403f470c
mov ecx, 0x28
call qword [0x14060c6e8]
xor ecx, ecx
mov r14, rax
test rax, rax
jne 0x1403f4547
mov dword [rsp + 0x20], ecx
lea r8d, [rax + 0xf]
mov rcx, rdi
xor r9d, r9d
mov rdx, rbx
call fcn.1403f48f0
jmp 0x1403f468f
mov qword [rax], rcx
mov qword [rax + 8], rcx
mov qword [rax + 0x10], rcx
mov qword [rax + 0x20], rcx
mov qword [rax + 0x18], rcx
mov rax, qword [rbx + 0x70]
mov qword [r14], rax
movsxd rax, dword [rbx + 0x78]
mov qword [r14 + 8], rax
mov qword [r14 + 0x10], rbx
mov qword [r14 + 0x20], rcx
mov rax, qword [rsi + 0x58]
test rax, rax
je 0x1403f4580
mov qword [rax + 0x20], r14
jmp 0x1403f45a6
mov rax, qword [rdi + 0x121d0]
test rax, rax
je 0x1403f45a2
mov rdx, qword [rsi + 0x28]
mov r9d, 1
mov rcx, qword [rdi + 0x121d8]
mov r8d, r9d
call rax
mov qword [rsi + 0x50], r14
mov eax, dword [rsi + 0x60]
mov qword [rsi + 0x58], r14
movsxd rdx, dword [rbx + 0xa4]
mov rcx, qword [rbx + 0xa8]
mov dword [rcx + rdx*8 + 4], eax
mov eax, dword [rbx + 0xa0]
mov r8d, dword [rdi + 4]
cdq
idiv dword [rdi + 0x98]
mov qword [rsp + 0x60], rbp
cmp eax, 0x1f
jg 0x1403f45ef
mov ecx, 0x1f
mov edx, r8d
sub cl, al
sar edx, cl
test edx, edx
jne 0x1403f45ef
mov ecx, eax
shl r8d, cl
mov rcx, qword [r15]
mov eax, 0x10624dd3
imul r8d
mov qword [rbx + 4], rcx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x3e8
lea r9d, [rdx + rcx]
mov dword [rbx + 4], r9d
sub r8d, eax
imul eax, r8d, 0x3e8
add dword [rbx + 8], eax
mov ecx, dword [rbx + 8]
cmp ecx, 0xf4240
jl 0x1403f463e
lea eax, [r9 + 1]
mov dword [rbx + 4], eax
lea eax, [rcx - 0xf4240]
mov dword [rbx + 8], eax
lea rcx, [rbx + 0x28]
call fcn.1403f86d0
mov eax, dword [rbx + 4]
and eax, 0x800003ff
jge 0x1403f465a
dec eax
or eax, 0xfffffc00
inc eax
cdqe
lea rcx, [rbx + 0x28]
lea rdx, [rax + 0xc1d]
lea rdx, [rax + rdx*2]
lea rdx, [rdi + rdx*8]
call fcn.1403f8690
lea rcx, [rbx + 0x40]
call fcn.1403f86d0
lea rdx, [rsi + 0x68]
lea rcx, [rbx + 0x40]
call fcn.1403f8690
mov rbp, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
add rsp, 0x40
pop r15
pop r14
pop rdi
ret
cmp qword [rsi + 0x20], 0xffffffffffffffff
jne 0x1403f46b7
mov rdx, rsi
call fcn.1403f4f60
cmp eax, 0xffffffff
je 0x1403f470c
mov r10, qword [rdi + 0x12200]
movsxd r8, dword [rbx + 0x88]
mov rdx, qword [rbx + 0x80]
mov rcx, qword [rsi + 0x20]
test r10, r10
je 0x1403f46f7
mov r9, qword [rdi + 0x12208]
mov qword [rsp + 0x30], rdx
lea rdx, [rsp + 0x30]
mov qword [rsp + 0x38], r8
mov r8d, 1
call qword [r10 + 0x20]
jmp 0x1403f4702
xor r9d, r9d
call qword [sym.imp.WS2_32.dll_send]
cdqe
cmp rax, 0xffffffffffffffff
jne 0x1403f45bf
cmp dword [rdi + 0x98], 1
jle 0x1403f472a
movsxd rcx, dword [rbx + 0xa4]
mov rax, qword [rbx + 0xa8]
mov dword [rax + rcx*8], 1
mov r8, r15
mov rdx, rbx
mov rcx, rdi
call fcn.1403f4bf0
jmp 0x1403f468f