Function at 0x1403315f0
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 0x1403317d3
cmp qword [rsi + 0x28], 0xffffffffffffffff
jne 0x140331647
mov rdx, rsi
call fcn.140331e00
cmp eax, 0xffffffff
je 0x14033183c
mov ecx, 0x28
call qword [0x1404fe858]
xor ecx, ecx
mov r14, rax
test rax, rax
jne 0x140331677
mov dword [rsp + 0x20], ecx
lea r8d, [rax + 0xf]
mov rcx, rdi
xor r9d, r9d
mov rdx, rbx
call fcn.140331a20
jmp 0x1403317bf
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 0x1403316b0
mov qword [rax + 0x20], r14
jmp 0x1403316d6
mov rax, qword [rdi + 0x121d0]
test rax, rax
je 0x1403316d2
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 0x14033171f
mov ecx, 0x1f
mov edx, r8d
sub cl, al
sar edx, cl
test edx, edx
jne 0x14033171f
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 0x14033176e
lea eax, [r9 + 1]
mov dword [rbx + 4], eax
lea eax, [rcx - 0xf4240]
mov dword [rbx + 8], eax
lea rcx, [rbx + 0x28]
call fcn.140335800
mov eax, dword [rbx + 4]
and eax, 0x800003ff
jge 0x14033178a
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.1403357c0
lea rcx, [rbx + 0x40]
call fcn.140335800
lea rdx, [rsi + 0x68]
lea rcx, [rbx + 0x40]
call fcn.1403357c0
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 0x1403317e7
mov rdx, rsi
call fcn.140332090
cmp eax, 0xffffffff
je 0x14033183c
mov r10, qword [rdi + 0x12200]
movsxd r8, dword [rbx + 0x88]
mov rdx, qword [rbx + 0x80]
mov rcx, qword [rsi + 0x20]
test r10, r10
je 0x140331827
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 0x140331832
xor r9d, r9d
call qword [sym.imp.WS2_32.dll_send]
cdqe
cmp rax, 0xffffffffffffffff
jne 0x1403316ef
cmp dword [rdi + 0x98], 1
jle 0x14033185a
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.140331d20
jmp 0x1403317bf