Function at 0x1402bff7b
Capabilities:
Encrypt data using speck

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x108
movdqa xmmword [rsp + 0xf0], xmm8
movdqa xmmword [rsp + 0xe0], xmm7
movdqa xmmword [rsp + 0xd0], xmm6
mov ebp, r9d
mov r12d, r8d
mov rbx, rcx
mov rax, qword [rsp + 0x188]
mov dword [rsp + 0x2c], r8d
mov byte [rsp + 0x2b], r9b
mov rax, qword [rax + 0x28]
mov qword [rsp + 0x40], rax
mov rax, qword [rdx]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x58], rdx
mov rax, qword [rdx + 8]
mov qword [rsp + 0x38], rax
mov eax, dword [rax + 0x30]
add eax, 0xfffffffe
cmp ax, 4
ja 0x1402bfffa
cmp ax, 1
jne 0x1402c01d7
mov rax, qword [rsp + 0x38]
mov ecx, dword [rax + 0x10]
mov eax, dword [rax + 0x14]
cmp ecx, eax
ja 0x1402c04d5
mov rdx, qword [rsp + 0x30]
mov rdx, qword [rdx + 0x28]
cmp rdx, rax
jb 0x1402c04e4
cmp eax, ecx
je 0x1402c01d7
mov r14b, byte [rsp + 0x180]
mov rdx, qword [rsp + 0x30]
mov rdi, qword [rdx + 0x20]
movabs rdx, 0x726f2e33772e7777
movabs r8, 0x772f2f3a70747468
imul r13, rcx, 0x38
imul rsi, rax, 0x38
movabs r15, 0x80000000041
movq xmm6, r8
movq xmm0, rdx
punpcklqdq xmm6, xmm0
movdqa xmm7, xmmword [0x1402f4f30]
movdqa xmm8, xmmword [0x1402f4f40]
cmp word [rdi + r13 + 0x28], 0
je 0x1402c012f
movzx ecx, word [rdi + r13 + 0x2a]
mov rax, qword [rsp + 0x30]
mov rdx, qword [rax + 0x40]
cmp rdx, rcx
jbe 0x1402c047d
mov r8, qword [rax + 0x38]
lea r9, [rcx + rcx*4]
mov rax, qword [r8 + r9*8]
mov rdx, qword [r8 + r9*8 + 8]
lea rcx, [rdx + 0x10]
test rax, rax
cmove rcx, rdx
mov r8, qword [r8 + r9*8 + 0x10]
cmp r8, 0x24
je 0x1402c00ee
shl rax, 4
cmp r8, 0x1c
je 0x1402c010a
cmp r8, 0x1a
jne 0x1402c01ca
movdqu xmm0, xmmword [rdx + rax]
movdqu xmm1, xmmword [rcx + 0xa]
pcmpeqb xmm1, xmm8
jmp 0x1402c0118
mov r8d, 0x24
lea rdx, [0x1403b049c]
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x1402c01ca
jmp 0x1402c012f
movdqu xmm0, xmmword [rdx + rax]
movdqu xmm1, xmmword [rcx + 0xc]
pcmpeqb xmm1, xmm7
pcmpeqb xmm0, xmm6
pand xmm0, xmm1
pmovmskb eax, xmm0
cmp eax, 0xffff
jne 0x1402c01ca
mov rcx, qword [rdi + r13 + 0x18]
mov rdx, qword [rdi + r13 + 0x20]
call fcn.1402c145e
cmp al, 0xd0
je 0x1402c01ca
test r14b, r14b
je 0x1402c0163
movzx ecx, al
lea edx, [rcx - 0x3e]
cmp edx, 0x2b
ja 0x1402c015c
bt r15, rdx
jb 0x1402c01ca
cmp ecx, 0x28
je 0x1402c01ca
jmp 0x1402c0174
cmp al, 0x28
je 0x1402c01ca
movzx ecx, al
cmp ecx, 0x44
je 0x1402c01ca
cmp ecx, 0x69
je 0x1402c01ca
cmp qword [rdi + r13], 0
je 0x1402c0190
mov rcx, qword [rdi + r13 + 8]
lock inc qword [rcx]
mov edx, 1
jg 0x1402c0197
jmp 0x1402c04f3
mov rcx, qword [rdi + r13 + 8]
xor edx, edx
mov r8, qword [rdi + r13 + 0x10]
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x70], r8
mov qword [rsp + 0x60], rdx
mov rcx, qword [rsp + 0x188]
mov qword [rsp + 0x20], rcx
mov ecx, r12d
mov edx, ebp
mov r8d, eax
lea r9, [rsp + 0x60]
call fcn.1402c169c
add r13, 0x38
cmp rsi, r13
jne 0x1402c007d
mov qword [rsp + 0x48], rbx
mov rax, qword [rsp + 0x178]
mov rcx, qword [rsp + 0x188]
mov qword [rsp + 0x90], rcx
lea rcx, [rsp + 0x40]
mov qword [rsp + 0x98], rcx
lea rcx, [rsp + 0x2c]
mov qword [rsp + 0xa0], rcx
lea rcx, [rsp + 0x2b]
mov qword [rsp + 0xa8], rcx
test rax, rax
je 0x1402c033f
mov r12, qword [rsp + 0x170]
lea rax, [rax + rax*2]
shl rax, 4
add rax, r12
mov qword [rsp + 0x50], rax
mov ebx, 0x6b72616d
lea r13, [rsp + 0x90]
mov rdx, qword [r12 + 0x10]
test rdx, rdx
je 0x1402c0489
mov rcx, qword [r12 + 8]
cmp byte [rcx + 0x28], 0
jne 0x1402c04a1
dec rdx
mov rcx, r12
mov r8, qword [rsp + 0x58]
call fcn.14029c72c
test al, al
je 0x1402c0330
mov rax, qword [r12 + 0x28]
test rax, rax
je 0x1402c0330
mov r15, qword [r12 + 0x20]
lea rax, [rax + rax*4]
lea r14, [r15 + rax*8]
add r15, 0x18
mov rbp, qword [r15 - 0x18]
mov rdi, qword [r15 - 0x10]
mov rcx, rbp
mov rdx, rdi
call fcn.1402c145e
cmp al, 0xd0
jne 0x1402c02fd
cmp rdi, 6
jne 0x1402c031b
mov eax, dword [rbp]
xor eax, ebx
movzx ecx, word [rbp + 4]
xor ecx, 0x7265
or ecx, eax
jne 0x1402c031b
mov r8, qword [r15 - 8]
mov r9, qword [r15]
mov rcx, r13
mov dl, 0x53
call fcn.1402c1503
mov r8, qword [r15 - 8]
mov r9, qword [r15]
mov rcx, r13
mov dl, 0x52
call fcn.1402c1503
mov r8, qword [r15 - 8]
mov r9, qword [r15]
mov rcx, r13
mov dl, 0x51
jmp 0x1402c0316
mov esi, eax
mov ecx, eax
call fcn.1402b1ef3
test al, al
je 0x1402c031b
mov r8, qword [r15 - 8]
mov r9, qword [r15]
mov rcx, r13
mov edx, esi
call fcn.1402c1503
lea rax, [r15 - 0x18]
add r15, 0x28
add rax, 0x28
cmp rax, r14
jne 0x1402c029d
add r12, 0x30
cmp r12, qword [rsp + 0x50]
jne 0x1402c0249
lea r8, [0x1403b0475]
mov r9d, 5
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x38]
call fcn.14029c63d
test rax, rax
je 0x1402c03fa
lea rbx, [rsp + 0xb0]
mov qword [rbx], rax
mov qword [rbx + 8], rdx
mov qword [rbx + 0x10], 0
mov qword [rbx + 0x18], rdx
lea r14, [rsp + 0x60]
lea r15, [rsp + 0x90]
mov rcx, r14
mov rdx, rbx
call fcn.140208c7e
mov rax, qword [rsp + 0xc0]
cmp rax, qword [rsp + 0xc8]
jae 0x1402c03fa
mov rcx, r14
mov rdx, rbx
call fcn.140208da6
cmp byte [rsp + 0x80], 2
je 0x1402c03fa
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x68]
mov r12, qword [rsp + 0x70]
mov r13, qword [rsp + 0x78]
call fcn.1402c145e
cmp al, 0xd0
je 0x1402c038c
mov esi, eax
mov ecx, eax
call fcn.1402b1ef3
test al, al
je 0x1402c038c
mov rcx, r15
mov edx, esi
mov r8, r12
mov r9, r13
call fcn.1402c1503
jmp 0x1402c038c
mov rcx, qword [rsp + 0x188]
cmp qword [rcx + 0x10], 0xf4240
mov rsi, qword [rsp + 0x48]
jbe 0x1402c0415
mov al, 0x11
jmp 0x1402c044e
mov edx, dword [rsp + 0x2c]
mov al, byte [rsp + 0x2b]
mov r10d, dword [rsp + 0x40]
mov r9d, dword [rcx + 0x28]
lea r8, [rsp + 0x60]
mov byte [r8 + 0x10], al
mov dword [r8 + 8], r10d
mov dword [r8 + 0xc], r9d
movabs rax, 0x8000000000000001
mov qword [r8], rax
call fcn.1402c1319
mov dword [rsi + 4], eax
mov al, 0x1e
mov byte [rsi], al
movaps xmm6, xmmword [rsp + 0xd0]
movaps xmm7, xmmword [rsp + 0xe0]
movaps xmm8, xmmword [rsp + 0xf0]
add rsp, 0x108
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_roxmltree_0.19.0_src_lib.rs
call fcn.1400793c0
lea rcx, str.selector_must_not_be_empty
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_simplecss_0.2.1_src_selector.rs
mov edx, 0x1a
call fcn.14007897b
add rcx, 0x28
lea rax, str.the_first_component_must_not_have_a_combinator
lea rdx, [rsp + 0x60]
mov qword [rdx], rax
mov qword [rdx + 8], 1
lea rax, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_unicode_segmentation_1.10.1_src_grapheme.rs
mov qword [rdx + 0x10], rax
pxor xmm0, xmm0
movdqu xmmword [rdx + 0x18], xmm0
call fcn.140299482
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_roxmltree_0.19.0_src_lib.rs
mov rdx, rax
call fcn.14007ec10
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_roxmltree_0.19.0_src_lib.rs
mov rcx, rax
call fcn.14007a270
ud2