Function at 0x140086280
Capabilities:
Encode data using xor
Encrypt data using speck

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov ebx, dword [rsp + 0x90]
cmp ebx, 4
jae 0x14008654f
mov rsi, r9
mov r14, r8
mov rdi, rcx
mov eax, ebx
lea rcx, [0x1402a7300]
mov rcx, qword [rcx + rax*8]
lea r8, [0x1402a7320]
mov r15, qword [r8 + rax*8]
mov qword [rdx], rcx
xorps xmm0, xmm0
movups xmmword [rdi + 0xc0], xmm0
movups xmmword [rdi + 0xb0], xmm0
movups xmmword [rdi + 0xa0], xmm0
movups xmmword [rdi + 0x90], xmm0
movups xmmword [rdi + 0x80], xmm0
movups xmmword [rdi + 0x70], xmm0
movups xmmword [rdi + 0x60], xmm0
movups xmmword [rdi + 0x50], xmm0
movups xmmword [rdi + 0x40], xmm0
movups xmmword [rdi + 0x30], xmm0
movups xmmword [rdi + 0x20], xmm0
movups xmmword [rdi + 0x10], xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0xd0], 0
mov qword [rdi + 0xc8], r15
cmp r15, r9
jbe 0x1400863e2
test rsi, rsi
je 0x1400863af
cmp rsi, 8
jb 0x14008634d
lea rax, [r14 + rsi]
cmp rax, rdi
jbe 0x1400864c0
lea rax, [rdi + rsi]
cmp r14, rax
jae 0x1400864c0
xor eax, eax
mov rdx, rsi
mov rcx, rax
and rdx, 3
je 0x140086371
mov rcx, rax
nop
movzx r8d, byte [r14 + rcx]
xor byte [rdi + rcx], r8b
inc rcx
dec rdx
jne 0x140086360
sub rax, rsi
cmp rax, 0xfffffffffffffffc
ja 0x1400863af
nop word [rax + rax]
movzx eax, byte [r14 + rcx]
xor byte [rdi + rcx], al
movzx eax, byte [r14 + rcx + 1]
xor byte [rdi + rcx + 1], al
movzx eax, byte [r14 + rcx + 2]
xor byte [rdi + rcx + 2], al
movzx eax, byte [r14 + rcx + 3]
xor byte [rdi + rcx + 3], al
add rcx, 4
cmp rsi, rcx
jne 0x140086380
shl ebx, 3
mov eax, 0x1f1f0606
mov ecx, ebx
shr eax, cl
xor byte [rdi + rsi], al
mov rax, qword [rdi + 0xc8]
xor byte [rdi + rax - 1], 0x80
mov rcx, rdi
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp fcn.140086660
mov r12, r15
shr r12, 3
lea r13, [rdi + r15]
lea rbp, [r12 - 1]
jmp 0x14008641e
mov rcx, rdi
call fcn.140086660
mov rax, qword [rdi + 0xc8]
add r14, rax
sub rsi, rax
cmp rsi, rax
jb 0x140086324
lea rax, [r14 + r15]
cmp rax, rdi
jbe 0x140086430
cmp r14, r13
jae 0x140086430
xor eax, eax
jmp 0x14008646f
xor eax, eax
nop word cs:[rax + rax]
movups xmm0, xmmword [r14 + rax*8]
movups xmm1, xmmword [r14 + rax*8 + 0x10]
movups xmm2, xmmword [rdi + rax*8]
xorps xmm2, xmm0
movups xmm0, xmmword [rdi + rax*8 + 0x10]
xorps xmm0, xmm1
movups xmmword [rdi + rax*8], xmm2
movups xmmword [rdi + rax*8 + 0x10], xmm0
add rax, 4
cmp rbp, rax
jne 0x140086440
mov rax, rbp
mov edx, r12d
sub edx, eax
lea rcx, [rax + 1]
test dl, 1
je 0x140086488
mov rdx, qword [r14 + rax*8]
xor qword [rdi + rax*8], rdx
mov rax, rcx
cmp r12, rcx
je 0x140086400
nop word cs:[rax + rax]
mov rcx, qword [r14 + rax*8]
xor qword [rdi + rax*8], rcx
mov rcx, qword [r14 + rax*8 + 8]
xor qword [rdi + rax*8 + 8], rcx
add rax, 2
cmp r12, rax
jne 0x1400864a0
jmp 0x140086400
cmp rsi, 0x20
jae 0x1400864ca
xor eax, eax
jmp 0x14008651f
mov rax, rsi
and rax, 0xffffffffffffffe0
xor ecx, ecx
nop word cs:[rax + rax]
movups xmm0, xmmword [r14 + rcx]
movups xmm1, xmmword [r14 + rcx + 0x10]
movups xmm2, xmmword [rdi + rcx]
xorps xmm2, xmm0
movups xmm0, xmmword [rdi + rcx + 0x10]
xorps xmm0, xmm1
movups xmmword [rdi + rcx], xmm2
movups xmmword [rdi + rcx + 0x10], xmm0
add rcx, 0x20
cmp rax, rcx
jne 0x1400864e0
cmp rsi, rax
je 0x1400863af
test sil, 0x18
je 0x14008634f
mov rcx, rax
mov rax, rsi
and rax, 0xfffffffffffffff8
nop dword [rax]
mov rdx, qword [r14 + rcx]
xor qword [rdi + rcx], rdx
add rcx, 8
cmp rax, rcx
jne 0x140086530
cmp rsi, rax
je 0x1400863af
jmp 0x14008634f
call fcn.14026345c
int3