Function at 0x180218650
Capabilities:
Encrypt data using speck

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
xor r8d, r8d
lea rcx, [rsp]
mov eax, r8d
mov r10d, edx
nop word [rax + rax]
mov byte [rcx], al
lea rcx, [rcx + 1]
inc eax
cmp eax, 0x1b
jl 0x180218670
mov ebx, 0x19
lea r11, [rsp + 0x18]
nop word [rax + rax]
movzx r9d, byte [r11 + 2]
lea ecx, [rbx + 2]
xor edx, edx
mov eax, r10d
div ecx
lea rcx, [rsp]
movsxd rax, edx
xor edx, edx
add rcx, rax
movzx eax, byte [rcx]
mov byte [r11 + 2], al
mov byte [rcx], r9b
lea ecx, [rbx + 1]
movzx r9d, byte [r11 + 1]
imul eax, r10d, 0x6255
add eax, 0x3619
movzx r10d, ax
mov eax, r10d
div ecx
lea rcx, [rsp]
movsxd rax, edx
xor edx, edx
add rcx, rax
movzx eax, byte [rcx]
mov byte [r11 + 1], al
mov byte [rcx], r9b
lea rcx, [rsp]
movzx r9d, byte [r11]
imul eax, r10d, 0x6255
add eax, 0x3619
movzx r10d, ax
mov eax, r10d
div ebx
movsxd rax, edx
xor edx, edx
add rcx, rax
movzx eax, byte [rcx]
mov byte [r11], al
mov byte [rcx], r9b
lea ecx, [rbx - 1]
movzx r9d, byte [r11 - 1]
imul eax, r10d, 0x6255
add eax, 0x3619
movzx r10d, ax
mov eax, r10d
div ecx
lea rcx, [rsp]
movsxd rax, edx
xor edx, edx
add rcx, rax
movzx eax, byte [rcx]
mov byte [r11 - 1], al
mov byte [rcx], r9b
lea ecx, [rbx - 2]
movzx r9d, byte [r11 - 2]
imul eax, r10d, 0x6255
add eax, 0x3619
movzx r10d, ax
mov eax, r10d
div ecx
lea rcx, [rsp]
movsxd rax, edx
xor edx, edx
add rcx, rax
movzx eax, byte [rcx]
mov byte [r11 - 2], al
mov byte [rcx], r9b
lea ecx, [rbx - 3]
movzx r9d, byte [r11 - 3]
imul eax, r10d, 0x6255
add eax, 0x3619
movzx r10d, ax
mov eax, r10d
div ecx
lea rcx, [rsp]
movsxd rax, edx
add rcx, rax
movzx eax, byte [rcx]
mov byte [r11 - 3], al
mov byte [rcx], r9b
imul eax, r10d, 0x6255
movzx r9d, byte [r11 - 4]
lea ecx, [rbx - 4]
add eax, 0x3619
xor edx, edx
movzx r10d, ax
mov eax, r10d
div ecx
lea rcx, [rsp]
movsxd rax, edx
xor edx, edx
add rcx, rax
movzx eax, byte [rcx]
mov byte [r11 - 4], al
mov byte [rcx], r9b
lea ecx, [rbx - 5]
movzx r9d, byte [r11 - 5]
imul eax, r10d, 0x6255
add eax, 0x3619
movzx r10d, ax
mov eax, r10d
div ecx
lea rcx, [rsp]
movsxd rax, edx
xor edx, edx
add rcx, rax
movzx eax, byte [rcx]
mov byte [r11 - 5], al
mov byte [rcx], r9b
lea ecx, [rbx - 6]
movzx r9d, byte [r11 - 6]
imul eax, r10d, 0x6255
add eax, 0x3619
movzx r10d, ax
mov eax, r10d
div ecx
lea rcx, [rsp]
movsxd rax, edx
xor edx, edx
add rcx, rax
movzx eax, byte [rcx]
mov byte [r11 - 6], al
mov byte [rcx], r9b
lea ecx, [rbx - 7]
movzx r9d, byte [r11 - 7]
imul eax, r10d, 0x6255
add eax, 0x3619
movzx r10d, ax
mov eax, r10d
div ecx
lea rcx, [rsp]
movsxd rax, edx
xor edx, edx
add rcx, rax
movzx eax, byte [rcx]
mov byte [r11 - 7], al
mov byte [rcx], r9b
lea ecx, [rbx - 8]
movzx r9d, byte [r11 - 8]
imul eax, r10d, 0x6255
add eax, 0x3619
movzx r10d, ax
mov eax, r10d
div ecx
lea rcx, [rsp]
movsxd rax, edx
xor edx, edx
add rcx, rax
movzx eax, byte [rcx]
mov byte [r11 - 8], al
mov byte [rcx], r9b
lea ecx, [rbx - 9]
movzx r9d, byte [r11 - 9]
imul eax, r10d, 0x6255
add eax, 0x3619
movzx r10d, ax
mov eax, r10d
div ecx
lea rcx, [rsp]
movsxd rax, edx
add rcx, rax
movzx eax, byte [rcx]
mov byte [r11 - 9], al
lea r11, [r11 - 0xd]
mov byte [rcx], r9b
xor edx, edx
movzx r9d, byte [r11 + 3]
lea ecx, [rbx - 0xa]
imul eax, r10d, 0x6255
sub ebx, 0xd
add eax, 0x3619
movzx r10d, ax
mov eax, r10d
div ecx
lea rcx, [rsp]
movsxd rax, edx
add rcx, rax
movzx eax, byte [rcx]
mov byte [r11 + 3], al
imul eax, r10d, 0x6255
mov byte [rcx], r9b
add eax, 0x3619
movzx r10d, ax
lea eax, [rbx + 1]
cmp eax, 1
jge 0x180218690
mov rbx, r8
lea rdi, [0x1802b3bb0]
nop
movzx eax, byte [rsp + rbx]
lea r11, [rdi + rax*4]
cmp al, 0x10
jb 0x180218954
mov r10d, 6
jmp 0x180218981
cmp al, 8
jb 0x180218960
mov r10d, 5
jmp 0x180218981
cmp al, 4
jb 0x18021896c
mov r10d, 4
jmp 0x180218981
cmp al, 2
jb 0x180218978
mov r10d, 3
jmp 0x180218981
cmp al, 1
sbb r10d, r10d
add r10d, 2
movzx r9d, r8b
mov edx, 1
and r9b, 7
movzx eax, r9b
mov byte [r11 + 3], r9b
lea ecx, [rax + r10]
shl edx, cl
mov ecx, eax
dec edx
mov eax, 1
shl eax, cl
dec eax
xor edx, eax
mov eax, r8d
shr eax, 3
add r8d, r10d
mov byte [r11], al
movzx eax, byte [rsp + rbx + 1]
mov byte [r11 + 1], dl
shr dx, 8
mov byte [r11 + 2], dl
lea r11, [rdi + rax*4]
cmp al, 0x10
jb 0x1802189d8
mov r10d, 6
jmp 0x180218a05
cmp al, 8
jb 0x1802189e4
mov r10d, 5
jmp 0x180218a05
cmp al, 4
jb 0x1802189f0
mov r10d, 4
jmp 0x180218a05
cmp al, 2
jb 0x1802189fc
mov r10d, 3
jmp 0x180218a05
cmp al, 1
sbb r10d, r10d
add r10d, 2
movzx r9d, r8b
mov edx, 1
and r9b, 7
movzx eax, r9b
lea ecx, [rax + r10]
shl edx, cl
mov ecx, eax
dec edx
mov eax, 1
shl eax, cl
dec eax
xor edx, eax
mov eax, r8d
shr eax, 3
add r8d, r10d
mov byte [r11], al
movzx eax, byte [rsp + rbx + 2]
mov byte [r11 + 3], r9b
mov byte [r11 + 1], dl
shr dx, 8
mov byte [r11 + 2], dl
lea r11, [rdi + rax*4]
cmp al, 0x10
jb 0x180218a5c
mov r10d, 6
jmp 0x180218a89
cmp al, 8
jb 0x180218a68
mov r10d, 5
jmp 0x180218a89
cmp al, 4
jb 0x180218a74
mov r10d, 4
jmp 0x180218a89
cmp al, 2
jb 0x180218a80
mov r10d, 3
jmp 0x180218a89
cmp al, 1
sbb r10d, r10d
add r10d, 2
movzx r9d, r8b
mov edx, 1
and r9b, 7
add rbx, 3
movzx eax, r9b
lea ecx, [rax + r10]
shl edx, cl
mov ecx, eax
dec edx
mov eax, 1
shl eax, cl
dec eax
xor edx, eax
mov eax, r8d
shr eax, 3
add r8d, r10d
mov byte [r11], al
mov byte [r11 + 3], r9b
mov byte [r11 + 1], dl
shr dx, 8
mov byte [r11 + 2], dl
cmp rbx, 0x1b
jl 0x180218940
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret