Function at 0x14006bfe0
Capabilities:
Encrypt data using speck

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0xc78
lea rbp, [rsp + 0x80]
movapd xmmword [rbp + 0xbe0], xmm7
movapd xmmword [rbp + 0xbd0], xmm6
mov qword [rbp + 0xbc8], 0xfffffffffffffffe
mov rdi, r9
mov r14, r8
mov rsi, rcx
lea rcx, [rbp + 0x480]
call fcn.1400945b0
movzx ebx, byte [rbp + 0x7f1]
cmp bl, 2
jne 0x14006c05c
mov rax, qword [rbp + 0x490]
mov qword [rbp - 0x40], rax
movupd xmm0, xmmword [rbp + 0x480]
movapd xmmword [rbp - 0x50], xmm0
mov qword [rsi + 0x10], rax
movupd xmmword [rsi], xmm0
jmp 0x14006c6be
mov r13, r14
mov r12, rdi
mov qword [rbp + 0xbc0], rsi
lea rsi, [rbp - 0x50]
lea rdx, [rbp + 0x480]
mov r8d, 0x371
mov rcx, rsi
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [rbp + 0x7f2]
mov dword [rbp + 0xb6a], eax
movzx eax, word [rbp + 0x7f6]
mov word [rbp + 0xb6e], ax
lea rdi, [rbp + 0x7f8]
mov r8d, 0x371
mov rcx, rdi
mov rdx, rsi
call sub.VCRUNTIME140.dll_memcpy
mov byte [rbp + 0xb69], bl
lea rcx, [rbp + 0x480]
mov rdx, rdi
xor r8d, r8d
call fcn.140095e50
mov r14d, dword [rbp + 0x480]
cmp r14d, 3
jne 0x14006c686
lea rcx, [rbp + 0x480]
lea rdx, [rbp + 0x7f8]
xor r8d, r8d
call fcn.140095e50
mov r14d, dword [rbp + 0x480]
cmp r14d, 3
jne 0x14006c686
lea rcx, [rbp + 0x480]
lea rdx, [rbp + 0x7f8]
xor r8d, r8d
call fcn.140095e50
mov r14d, dword [rbp + 0x480]
cmp r14d, 3
jne 0x14006c686
mov eax, dword [rbp + 0x484]
mov dword [rbp + 0x980], eax
lea rcx, [rbp + 0x480]
lea rdx, [rbp + 0x7f8]
xor r8d, r8d
call fcn.140095e50
mov r14d, dword [rbp + 0x480]
cmp r14d, 3
jne 0x14006c686
mov eax, dword [rbp + 0x484]
mov dword [rbp + 0x984], eax
lea rcx, [rbp + 0x7f8]
call fcn.140095510
test r12, r12
je 0x14006c537
mov r14, r12
mov r15, r13
shl r14, 5
add r14, r13
xor edx, edx
movapd xmm6, xmmword [0x140128060]
movapd xmm7, xmmword [0x140128070]
lea rbx, [rbp + 0x7f8]
mov qword [rbp + 0xb90], r14
mov qword [rbp + 0xb78], rdx
cmp rdx, 0x7fffffff
je 0x14006c73d
mov eax, edx
mov dword [rbp + 0xbbc], edx
mov rdi, qword [r15 + 0x10]
cmp rdi, 0x7ffffffe
ja 0x14006c74e
mov rax, qword [rbp + 0x848]
mov rcx, qword [rbp + 0x968]
cmp rcx, rdi
cmovae rcx, rdi
mov qword [rbp + 0x968], rcx
mov rcx, qword [rbp + 0x970]
cmp rcx, rdi
cmovbe rcx, rdi
mov qword [rbp + 0xb98], r15
mov r14, qword [r15]
mov qword [rbp + 0x970], rcx
mov qword [rbp + 0xb70], rax
cmp rdx, rax
jne 0x14006c7bf
mov rax, rdx
mov qword [rbp + 0xb88], rdx
cmp rdx, qword [rbp + 0x840]
jne 0x14006c251
lea rcx, [rbp + 0x838]
mov rdx, qword [rbp + 0xb88]
call fcn.14004da90
mov rax, qword [rbp + 0x848]
mov rcx, qword [rbp + 0x838]
mov dword [rcx + rax*4], edi
inc qword [rbp + 0x848]
mov rax, qword [rbp + 0x818]
cmp byte [rax], 0
je 0x14006c280
lea rcx, [rbp + 0x998]
mov rdx, r14
mov r8, rdi
call fcn.1400975d0
mov esi, dword [rbp + 0x980]
test rdi, rdi
je 0x14006c4b5
add rdi, r14
xor r15d, r15d
xor r13d, r13d
jmp 0x14006c2af
inc r14
inc r13
cmp r14, rdi
je 0x14006c4b5
movzx r12d, byte [r14]
mov ecx, esi
test r15b, 1
mov r15b, 1
jne 0x14006c2e3
mov rdx, qword [rbp + 0x830]
cmp rdx, rcx
jbe 0x14006c795
mov rax, qword [rbp + 0x820]
imul rdx, rcx, 0x38
cmp qword [rax + rdx + 0x28], 0
setne r15b
test r15b, r15b
je 0x14006c2f9
mov rax, qword [rbp + 0x818]
cmp byte [rax + 2], 1
je 0x14006c512
mov qword [rbp + 0xba8], rcx
mov rcx, rbx
mov edx, r12d
mov r8d, r12d
call fcn.140083280
movzx eax, r12b
mov qword [rbp + 0xbb0], rax
mov rax, qword [rbp + 0x818]
cmp byte [rax + 1], 0
je 0x14006c359
lea eax, [r12 - 0x41]
cmp al, 0x1a
jae 0x14006c337
mov edx, r12d
or dl, 0x20
jmp 0x14006c34e
lea eax, [r12 - 0x61]
mov ecx, r12d
xor cl, 0x20
cmp al, 0x1a
movzx edx, cl
cmovae edx, dword [rbp + 0xbb0]
mov rcx, rbx
mov r8d, edx
call fcn.140083280
mov rdx, qword [rbp + 0x830]
mov rcx, qword [rbp + 0xba8]
cmp rdx, rcx
jbe 0x14006c76c
mov rdx, qword [rbp + 0x820]
imul rcx, rcx, 0x38
mov rax, qword [rdx + rcx]
mov qword [rbp + 0xb80], rcx
mov rcx, qword [rdx + rcx + 0x10]
cmp rcx, 0x100
jne 0x14006c3b0
mov rcx, qword [rbp + 0xbb0]
lea rdx, [rax + rcx*8]
add rdx, 4
jmp 0x14006c3d6
add rax, 0xfffffffffffffffc
shl rcx, 3
nop dword [rax + rax]
test rcx, rcx
je 0x14006c3e1
lea rdx, [rax + 8]
add rcx, 0xfffffffffffffff8
cmp byte [rax + 4], r12b
mov rax, rdx
jne 0x14006c3c0
mov esi, dword [rdx]
cmp esi, 1
jne 0x14006c2a0
lea rcx, [rbp + 0x480]
mov rdx, rbx
mov r8, r13
call fcn.140095e50
mov eax, dword [rbp + 0x480]
mov esi, dword [rbp + 0x484]
cmp eax, 3
jne 0x14006c6e7
mov rdx, qword [rbp + 0x830]
cmp rdx, qword [rbp + 0xba8]
jbe 0x14006c77d
mov rcx, qword [rbp + 0x820]
add rcx, qword [rbp + 0xb80]
mov edx, r12d
mov r8d, esi
call fcn.1400941e0
mov rax, qword [rbp + 0x818]
cmp byte [rax + 1], 0
je 0x14006c2a0
lea eax, [r12 - 0x41]
cmp al, 0x1a
jae 0x14006c45c
or r12b, 0x20
mov qword [rbp + 0xbb0], r12
jmp 0x14006c47c
lea eax, [r12 - 0x61]
xor r12b, 0x20
cmp al, 0x1a
movzx eax, r12b
mov rcx, qword [rbp + 0xbb0]
cmovb ecx, eax
mov qword [rbp + 0xbb0], rcx
mov rdx, qword [rbp + 0x830]
mov rcx, qword [rbp + 0xba8]
cmp rdx, rcx
jbe 0x14006c7a3
mov rcx, qword [rbp + 0xb80]
add rcx, qword [rbp + 0x820]
mov rdx, qword [rbp + 0xbb0]
mov r8d, esi
call fcn.1400941e0
jmp 0x14006c2a0
mov ecx, esi
mov rdx, qword [rbp + 0x830]
cmp rdx, rcx
jbe 0x14006c7b1
mov rax, qword [rbp + 0x820]
imul rcx, rcx, 0x38
lea rsi, [rax + rcx]
add rsi, 0x18
mov rdx, qword [rax + rcx + 0x28]
cmp rdx, qword [rax + rcx + 0x20]
jne 0x14006c4f2
mov rcx, rsi
call fcn.14004da90
mov rdx, qword [rsi + 0x10]
mov r15, qword [rbp + 0xb98]
mov rax, qword [rsi]
mov ecx, dword [rbp + 0xbbc]
mov dword [rax + rdx*4], ecx
inc qword [rsi + 0x10]
mov r14, qword [rbp + 0xb90]
jmp 0x14006c520
mov r14, qword [rbp + 0xb90]
mov r15, qword [rbp + 0xb98]
add r15, 0x20
mov rdx, qword [rbp + 0xb88]
inc rdx
cmp r15, r14
jne 0x14006c1ac
lea rcx, [rbp + 0x7f8]
call fcn.140095660
lea rcx, [rbp + 0x7f8]
call fcn.140095800
lea rcx, [rbp + 0x7f8]
call fcn.140095b70
lea rcx, [rbp + 0x7f8]
call fcn.1400948e0
lea rcx, [rbp + 0x7f8]
call fcn.1400959a0
lea rcx, [rbp + 0x7f8]
call fcn.140095000
lea rcx, [rbp + 0x480]
lea rdx, [rbp + 0x7f8]
call fcn.140083300
lea rcx, [rbp + 0x868]
lea rdx, [rbp + 0x480]
mov r8d, 0x100
call sub.VCRUNTIME140.dll_memcpy
lea rsi, [rbp + 0x998]
lea rcx, [rbp + 0x480]
mov rdx, rsi
call fcn.1400969b0
mov rax, qword [rbp + 0x850]
test rax, rax
je 0x14006c5df
lock dec qword [rax]
jne 0x14006c5df
lea rcx, [rbp + 0x850]
call fcn.140014510
mov rax, qword [rbp + 0x490]
lea rcx, [rbp + 0x850]
mov qword [rcx + 0x10], rax
movupd xmm0, xmmword [rbp + 0x480]
movupd xmmword [rcx], xmm0
lea rcx, [rbp + 0x7f8]
call fcn.140095f30
xor eax, eax
cmp qword [rbp + 0x850], 0
setne al
mov eax, dword [rbp + rax*8 + 0x97c]
mov dword [rbp + 0x978], eax
mov r14d, dword [rbp + 0x820]
mov edi, dword [rbp + 0x824]
movupd xmm6, xmmword [rbp + 0x828]
lea rdx, [rbp + 0x838]
lea rcx, [rbp + 0x328]
mov r8d, 0x158
call sub.VCRUNTIME140.dll_memcpy
movzx ebx, byte [rbp + 0x990]
mov eax, dword [rbp + 0x991]
mov dword [rbp + 0xba0], eax
mov eax, dword [rbp + 0x994]
mov dword [rbp + 0xba3], eax
mov rcx, rsi
call fcn.140071cf0
cmp bl, 3
jne 0x14006c6f5
mov rsi, qword [rbp + 0xbc0]
jmp 0x14006c6b3
mov edi, dword [rbp + 0x484]
movupd xmm6, xmmword [rbp + 0x488]
mov rsi, qword [rbp + 0xbc0]
lea rcx, [rbp + 0x998]
call fcn.140071cf0
lea rcx, [rbp + 0x820]
call fcn.140071c20
mov dword [rsi], r14d
mov dword [rsi + 4], edi
movupd xmmword [rsi + 8], xmm6
mov byte [rsi + 0x170], 3
movaps xmm6, xmmword [rbp + 0xbd0]
movaps xmm7, xmmword [rbp + 0xbe0]
add rsp, 0xc78
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
movups xmm6, xmmword [rbp + 0x488]
mov edi, esi
mov r14d, eax
jmp 0x14006c694
mov rsi, qword [rbp + 0xbc0]
lea rcx, [rsi + 0x18]
lea rdx, [rbp + 0x328]
mov r8d, 0x158
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [rbp + 0xba0]
mov ecx, dword [rbp + 0xba3]
mov dword [rsi + 0x171], eax
mov dword [rsi + 0x174], ecx
mov dword [rsi], r14d
mov dword [rsi + 4], edi
movupd xmmword [rsi + 8], xmm6
mov byte [rsi + 0x170], bl
jmp 0x14006c6c5
mov r14d, 1
mov edi, dword [rbp + 0xbbc]
jmp 0x14006c694
movq xmm0, rdi
movsd xmm7, xmm0
mov r14d, 2
movapd xmm6, xmm7
mov edi, dword [rbp + 0xbbc]
jmp 0x14006c694
lea r8, str.C:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001f_aho_corasick_1.0.1_src_nfa_noncontiguous.rsexpected_number_of_patterns_to_match_pattern_ID
call fcn.14011b770
jmp 0x14006c818
lea r8, str.C:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001f_aho_corasick_1.0.1_src_nfa_noncontiguous.rsexpected_number_of_patterns_to_match_pattern_ID
mov rcx, qword [rbp + 0xba8]
call fcn.14011b770
jmp 0x14006c818
lea r8, str.C:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001f_aho_corasick_1.0.1_src_nfa_noncontiguous.rsexpected_number_of_patterns_to_match_pattern_ID
call fcn.14011b770
jmp 0x14006c818
lea r8, str.C:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001f_aho_corasick_1.0.1_src_nfa_noncontiguous.rsexpected_number_of_patterns_to_match_pattern_ID
call fcn.14011b770
jmp 0x14006c818
lea r8, str.C:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001f_aho_corasick_1.0.1_src_nfa_noncontiguous.rsexpected_number_of_patterns_to_match_pattern_ID
call fcn.14011b770
jmp 0x14006c818
lea rax, [0x140128550]
mov qword [rbp + 0x480], rax
mov qword [rbp + 0x488], 1
lea rax, str.C:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001f_aho_corasick_1.0.1_src_nfa_noncontiguous.rsexpected_number_of_patterns_to_match_pattern_ID
mov qword [rbp + 0x490], rax
xorps xmm0, xmm0
movups xmmword [rbp + 0x498], xmm0
lea rax, str.C:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001f_aho_corasick_1.0.1_src_nfa_noncontiguous.rsexpected_number_of_patterns_to_match_pattern_ID
mov qword [rsp + 0x20], rax
lea rdx, [rbp + 0xb78]
lea r8, [rbp + 0xb70]
lea r9, [rbp + 0x480]
xor ecx, ecx
call fcn.140119b70
ud2