Function at 0x14005e300
Capabilities:
Encrypt data using speck

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x78
mov rsi, r8
movabs rax, 0x736f6d6570736575
xor rax, rcx
movabs r8, 0x646f72616e646f6d
xor r8, rdx
movabs r9, 0x6c7967656e657261
xor r9, rcx
movabs r10, 0x7465646279746573
xor r10, rdx
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], r9
mov qword [rsp + 0x40], r8
mov qword [rsp + 0x48], r10
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x58], rdx
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x70], 0
movzx edi, byte [rsi]
mov qword [rsp + 0x20], rdi
lea rcx, [rsp + 0x30]
lea rdx, [rsp + 0x20]
mov r8d, 8
call fcn.14000cb80
test rdi, rdi
je 0x14005e3e8
movzx edi, byte [rsi + 1]
mov qword [rsp + 0x20], rdi
lea rcx, [rsp + 0x30]
lea rdx, [rsp + 0x20]
mov r8d, 8
call fcn.14000cb80
test rdi, rdi
je 0x14005e618
mov qword [rsp + 0x20], 0x10
lea rcx, [rsp + 0x30]
lea rdx, [rsp + 0x20]
mov r8d, 8
call fcn.14000cb80
mov r8d, 0x10
jmp 0x14005e63c
mov rdi, qword [rsi + 0x18]
mov rdx, qword [rsp + 0x38]
mov r8, qword [rsp + 0x40]
mov r9, qword [rsp + 0x48]
mov r10, qword [rsp + 0x60]
test rdi, rdi
je 0x14005e672
mov rsi, qword [rsi + 0x10]
add rdi, rsi
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x28], rax
mov r14, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x70]
jmp 0x14005e441
add rbx, 4
add r10, 4
cmp rsi, rdi
je 0x14005e663
movzx ebp, byte [rsi]
test bpl, bpl
js 0x14005e450
inc rsi
mov eax, ebp
jmp 0x14005e4b0
mov eax, ebp
and eax, 0x1f
movzx r15d, byte [rsi + 1]
and r15d, 0x3f
cmp bpl, 0xdf
jbe 0x14005e492
movzx ecx, byte [rsi + 2]
shl r15d, 6
and ecx, 0x3f
or ecx, r15d
cmp bpl, 0xf0
jb 0x14005e49e
movzx ebp, byte [rsi + 3]
add rsi, 4
and eax, 7
shl eax, 0x12
shl ecx, 6
and ebp, 0x3f
or ebp, ecx
or ebp, eax
jmp 0x14005e44c
add rsi, 2
shl eax, 6
or eax, r15d
jmp 0x14005e4b0
add rsi, 3
shl eax, 0xc
or ecx, eax
mov eax, ecx
nop dword [rax]
lea ecx, [rax - 0x41]
mov ebp, eax
or ebp, 0x20
cmp ecx, 0x1a
cmovae ebp, eax
mov dword [rsp + 0x20], ebp
mov r15d, ebp
test rbx, rbx
je 0x14005e5b0
mov r12d, 8
sub r12, rbx
xor eax, eax
cmp r12, 4
mov ebp, 4
cmovb rbp, r12
mov r13d, 0
cmovae r13, r15
setae al
lea rcx, [rax*4 + 1]
shl rax, 2
cmp rcx, rbp
jae 0x14005e51b
movzx r11d, word [rsp + rax + 0x20]
lea ecx, [rax*8]
shl r11, cl
or r13, r11
or rax, 2
cmp rax, rbp
jae 0x14005e531
movzx r11d, byte [rsp + rax + 0x20]
shl eax, 3
mov ecx, eax
shl r11, cl
or r13, r11
lea ecx, [rbx*8]
shl r13, cl
or r14, r13
cmp r12, 4
ja 0x14005e430
mov rax, qword [rsp + 0x28]
add rax, r8
rol r8, 0xd
xor r9, r14
xor r8, rax
rol rax, 0x20
add rdx, r9
rol r9, 0x10
xor r9, rdx
add rax, r9
rol r9, 0x15
xor r9, rax
add rdx, r8
rol r8, 0x11
xor r8, rdx
rol rdx, 0x20
xor rax, r14
mov qword [rsp + 0x28], rax
cmp rbx, 8
je 0x14005e5b0
add rbx, 0xfffffffffffffffc
xor r15d, r15d
xor eax, eax
mov rcx, rax
or rcx, 1
cmp rcx, rbx
jb 0x14005e5c9
jmp 0x14005e5e7
mov ebx, 4
xor r12d, r12d
mov eax, 4
mov rcx, rax
or rcx, 1
cmp rcx, rbx
jae 0x14005e5e7
lea rcx, [rsp + rax]
add rcx, 0x20
movzx r11d, word [r12 + rcx]
lea ecx, [rax*8]
shl r11, cl
or r15, r11
or rax, 2
cmp rax, rbx
jae 0x14005e610
add r12, rax
movzx r14d, byte [rsp + r12 + 0x20]
shl eax, 3
mov ecx, eax
shl r14, cl
or r14, r15
jmp 0x14005e434
mov r14, r15
jmp 0x14005e434
mov qword [rsp + 0x20], 4
lea rcx, [rsp + 0x30]
lea rdx, [rsp + 0x20]
mov r8d, 8
call fcn.14000cb80
mov r8d, 4
add rsi, 2
lea rcx, [rsp + 0x30]
mov rdx, rsi
call fcn.14000cb80
mov rdx, qword [rsp + 0x38]
mov r8, qword [rsp + 0x40]
mov r9, qword [rsp + 0x48]
mov r10, qword [rsp + 0x60]
jmp 0x14005e672
mov qword [rsp + 0x68], r14
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x30], rax
shl r10, 0x38
or r10, qword [rsp + 0x68]
mov rax, qword [rsp + 0x30]
add rax, r8
rol r8, 0xd
xor r8, rax
rol rax, 0x20
xor r9, r10
add rdx, r9
rol r9, 0x10
xor r9, rdx
add rax, r9
rol r9, 0x15
add rdx, r8
rol r8, 0x11
xor r9, rax
xor r8, rdx
rol rdx, 0x20
xor rax, r10
add rax, r8
rol r8, 0xd
xor r8, rax
rol rax, 0x20
xor rdx, 0xff
add rdx, r9
rol r9, 0x10
xor r9, rdx
add rax, r9
rol r9, 0x15
add rdx, r8
rol r8, 0x11
xor r8, rdx
rol rdx, 0x20
xor r9, rax
add rax, r8
rol r8, 0xd
xor r8, rax
rol rax, 0x20
add rdx, r9
rol r9, 0x10
xor r9, rdx
add rax, r9
rol r9, 0x15
add rdx, r8
rol r8, 0x11
xor r8, rdx
rol rdx, 0x20
xor r9, rax
add rax, r8
rol r8, 0xd
add rdx, r9
rol r9, 0x10
xor r9, rdx
rol r9, 0x15
xor r8, rax
add rdx, r8
rol r8, 0x11
mov rax, rdx
rol rax, 0x20
xor rax, r8
xor rax, r9
xor rax, rdx
add rsp, 0x78
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret