Function at 0x140485ef0
Capabilities:
Encrypt data using speck

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x38
lea rbp, [rsp + 0x30]
mov qword [rbp], 0xfffffffffffffffe
mov rsi, r8
mov r14, rcx
mov rax, qword [rcx]
mov r8, qword [rcx + 8]
mov r13, rax
sub r13, r8
mov r15, r13
neg r15
mov rcx, r15
sar rcx, 3
cmp rcx, rdx
jae 0x140485ff0
mov rbx, rdx
movzx r12d, byte [0x1406976b0]
mov rax, rdx
shr rax, 0x3d
jne 0x1404863ce
lea rcx, [rbx*8]
cmp rbx, 0x200
jb 0x140486060
mov rax, qword [0x14067c4b8]
movabs rdx, 0x4acd19f843056c75
mov r8, rax
xor r8, rdx
and rax, rdx
lea rax, [r8 + rax*2]
movabs rdx, 0x428f066bbb87df77
add rdx, rax
cmp rbx, rdx
jae 0x1404863e5
mov eax, dword [0x14067c6e0]
add eax, r12d
add eax, 0x81aa
cdqe
add rax, qword [0x14067c6f8]
add rcx, 0x27
mov r8d, dword [0x14067c4b0]
lea edx, [r8 - 0x7192e475]
add r8d, 0x6efde452
call qword [0x1405fc400]
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
test r15, r15
jne 0x14048609f
jmp 0x1404860f4
mov ecx, dword [0x1406976ac]
cmp ecx, 0x1a
jg 0x140485ff0
cmp rax, r8
je 0x1404863bd
mov ecx, dword [0x1406976ac]
cmp ecx, 0x4f
nop dword [rax]
lea rcx, [fcn.140485ef0]
add ecx, ecx
add ecx, 0xd80
mov edx, ecx
not edx
test ecx, edx
jne 0x140486010
mov rcx, r8
sub rcx, rax
add rcx, 0xfffffffffffffff8
mov rdx, qword [0x14067c4b8]
movabs r9, 0x6d5c2063fe8d4c08
mov r10, rdx
xor r10, r9
and r9, rdx
lea r9, [r10 + r9*2]
cmp rcx, r9
jae 0x1404862d2
mov r9, rax
jmp 0x1404863b0
mov eax, dword [0x14067c6e0]
or eax, r12d
neg eax
mov edx, eax
xor edx, 0xffff7e56
and eax, 0x7fff7e56
lea eax, [rdx + rax*2]
neg eax
cdqe
add rax, qword [0x14067c6f8]
mov edx, 0x7ab03ed7
mov r8d, 0x5b41079e
call qword [0x1405fc400]
mov rdi, rax
test r15, r15
je 0x1404860f4
mov rcx, qword [r14]
cmp r15, 0x1000
jb 0x1404860cc
mov rax, qword [rcx - 8]
sub rcx, rax
add rcx, 0xfffffffffffffff8
cmp rcx, 0x20
jae 0x140486405
mov r15d, 0x27
sub r15, r13
mov rcx, rax
mov eax, dword [0x14067c6e8]
mov edx, eax
xor edx, r12d
and eax, r12d
lea eax, [rdx + rax*2]
add eax, 0x81aa
cdqe
add rax, qword [0x14067c700]
mov rdx, r15
call qword [0x1405fc400]
mov qword [r14], rdi
lea rax, [rdi + rbx*8]
mov qword [r14 + 8], rax
mov qword [r14 + 0x10], rax
mov rcx, rbx
not rcx
movabs r8, 0x1fffffffffffffff
movabs r9, 0x6000000000000000
and r9, rcx
and rcx, r8
movabs rdx, 0xe000000000000000
mov r10, rbx
and r10, rdx
or r10, rcx
xor rbx, r8
or r9, rbx
not r9
add r9, r9
mov rcx, r9
not rcx
mov r8, r10
xor r8, rcx
xor rcx, r9
and rcx, r10
xor rcx, r9
and r8, r10
lea rcx, [rcx + r8*2]
xor rdx, rcx
and rdx, rcx
cmp rdx, 3
jae 0x140486172
mov r8, rdi
jmp 0x1404862c0
inc rdx
mov qword [rbp - 8], rdx
mov r9, rdx
and r9, 0xfffffffffffffffc
lea r8, [rdi + r9*8]
movq xmm0, rsi
pshufd xmm0, xmm0, 0x44
xor r11d, r11d
movabs rbx, 0x6d5c2063fe8d4bf4
movabs r14, 0xe92b8607f8cef4eb
movabs r15, 0x55e786313297e569
movabs r12, 0xc0ecf3c6d49925ac
jmp 0x1404861cf
add rcx, rbx
mov r11, rcx
cmp rcx, r9
je 0x1404862af
mov ecx, dword [0x14067c4b0]
mov r13d, 0xec43234a
sub r13d, ecx
add ecx, 0x13bcdcb5
lea rdx, [fcn.140485ef0]
lea r10d, [rdx + rdx]
add r10d, 0x8e0
mov edx, r10d
xor edx, ecx
xor r13d, ecx
and r13d, r10d
xor r13d, ecx
and ecx, r10d
or ecx, r13d
not ecx
mov r10d, edx
and r10d, ecx
xor ecx, edx
xor ecx, r10d
cmp ecx, 0xffffffff
jne 0x140486246
nop dword [rax]
movdqu xmmword [rdi + r11*8], xmm0
movdqu xmmword [rdi + r11*8 + 0x10], xmm0
mov rcx, qword [0x14067c4b8]
add rcx, r11
mov edx, dword [0x1406976ac]
cmp edx, 0x2c
jle 0x1404861c0
lea rcx, [r11 + r11*2]
add rcx, 0xfffffffffffffff7
lea rdx, [r11 + r14]
mov r10, rdx
xor r10, r15
and rdx, r15
lea rdx, [r10 + rdx*2]
sub rdx, rcx
add rdx, r12
imul rdx, rcx
mov r10, rdx
shl r10, cl
mov rcx, r10
neg rcx
mov r13, rdx
xor r13, rcx
and rcx, rdx
lea r13, [r13 + rcx*2]
imul r13, r10
mov r10, r13
sub r10, rdx
mov ecx, r10d
sub ecx, r13d
imul ecx, r13d
sub ecx, r10d
shl r10, cl
movdqu xmmword [rdi + r10], xmm0
movdqu xmmword [rdi + r10 + 0x10], xmm0
jmp 0x140486220
cmp qword [rbp - 8], r9
je 0x1404863bd
nop dword [rax]
add r8, 8
mov qword [r8 - 8], rsi
cmp r8, rax
jne 0x1404862c0
jmp 0x1404863bd
shr rcx, 3
movabs r10, 0x6d5c2063fe8d4bf1
add r10, rcx
add r10, rdx
mov rcx, qword [0x14067c4b8]
movabs r11, 0x6d5c2063fe8d4bec
add r11, rcx
xor r11, r10
not r11
and r11, r10
add cl, 0xf3
mov r9, r11
shl r9, cl
add r9, rax
movq xmm0, rsi
pshufd xmm0, xmm0, 0x44
mov ecx, 4
nop
movdqu xmmword [rax + rcx*8 - 0x20], xmm0
movdqu xmmword [rax + rcx*8 - 0x10], xmm0
cmp r11, rcx
je 0x140486337
add rcx, 4
jmp 0x140486320
lea rax, [fcn.140485ef0]
lea ecx, [rax + rax]
add ecx, 0xc20
nop word [rax + rax]
mov edx, dword [0x1406976a8]
lea eax, [rdx - 1]
imul eax, edx
mov edx, dword [0x14067c4b0]
mov edi, edx
not edi
and edi, edx
mov ebx, edx
xor ebx, 0x6c432349
and ebx, edx
xor edx, 0x13bcdcb6
xor edi, edx
lea edi, [rdi + rbx*2]
xor edx, edx
div edi
test edx, edx
je 0x1404863a1
mov eax, dword [0x14067c4b0]
mov edx, eax
xor edx, 0x13bcdcb5
and eax, 0x13bcdcb5
lea eax, [rdx + rax*2]
test eax, ecx
jne 0x140486350
jmp 0x140486350
cmp r10, r11
je 0x1404863bd
nop word cs:[rax + rax]
add r9, 8
mov qword [r9 - 8], rsi
cmp r9, r8
jne 0x1404863b0
add rsp, 0x38
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
add r12d, dword [0x14067c6e4]
mov eax, dword [0x14067c4b0]
add eax, r12d
add eax, 0x13bd5e5e
jmp 0x1404863f6
mov eax, dword [0x14067c6e4]
neg r12d
add eax, r12d
add eax, 0x81aa
cdqe
add rax, qword [0x14067c6f0]
call qword [0x1405fc400]
call fcn.1404ca324
int3