Function at 0x14041b84c
Capabilities:
Encrypt data using speck

Disassembly:
push rsi
mov rdx, qword [rcx]
mov r9b, bpl
mov r9, qword [rcx + 0x18]
shr rsi, 0xb0
sbb si, r14w
mov esi, dword [rdx + 4]
cmp esp, edi
imul esi, dword [rdx]
cmp al, 0x24
cmp dword [rdx + 0xc], 3
jne 0x14041b9bb
test esi, esi
jmp 0x14041b87a
je 0x14041bc53
lea ecx, [rsi - 1]
clc
cmp r12b, 0x1b
cmp ecx, 3
jmp 0x14041b890
jb 0x14041b956
mov ecx, esi
rol al, cl
rol eax, 0xdd
test r15w, 0x698d
and ecx, 0xfffffffc
nop dword [rax]
cmovle dx, r12w
mov ax, 0x637c
test sil, 0xb7
movzx edx, byte [r9]
shld ax, r15w, 0x4e
and ah, 0x7c
movzx eax, byte [r9 + 2]
mov byte [r9], al
neg al
sal al, 0xd8
sar ah, 0x32
mov byte [r9 + 2], dl
movsx rax, r8w
inc rdx
movzx eax, byte [r9 + 3]
movzx dx, spl
movzx edx, byte [r9 + 5]
mov byte [r9 + 3], dl
bt edx, edi
cwd
mov byte [r9 + 5], al
xor dl, r9b
setle dl
movzx eax, byte [r9 + 6]
neg dh
mov dl, 0x47
ror dh, 0x39
movzx edx, byte [r9 + 8]
mov byte [r9 + 6], dl
ror dl, cl
mov byte [r9 + 8], al
bt eax, r15d
movzx eax, byte [r9 + 9]
xchg dx, dx
movzx edx, byte [r9 + 0xb]
mov byte [r9 + 9], dl
test r9w, bp
mov byte [r9 + 0xb], al
clc
stc
cmc
add r9, 0xc
cmp r9w, 0x3229
test al, sil
add ecx, 0xfffffffc
jmp 0x14041b950
jne 0x14041b8b6
test sil, 3
je 0x14041bc53
and esi, 3
lea rsi, [rsi + rsi*2]
sal al, cl
sub ecx, ecx
sbb eax, r8d
and eax, edx
nop word cs:[rax + rax]
sal dl, cl
rcr ah, cl
sub eax, edi
movzx edx, byte [r9 + rcx]
sar ah, cl
btr eax, r8d
movzx eax, byte [r9 + rcx + 2]
clc
stc
mov byte [r9 + rcx], al
test r11b, r11b
clc
jmp 0x14041b9a4
mov byte [r9 + rcx + 2], dl
clc
add rcx, 3
cmp esi, ecx
jne 0x14041b984
jmp 0x14041bc53
mov eax, dword [0x1400b9350]
movsx edx, si
mov rcx, qword gs:[0x58]
cqo
mov rax, qword [rcx + rax*8]
lea rcx, [rax + 0x18]
dec dh
movsx edx, r15w
lea rdx, [0x1400b925c]
clc
test spl, r8b
cmp byte [rax + 0x1c], 0
jmp 0x14041b9f7
cmovne rdx, rcx
cmp edx, 0x68a649a8
test r13b, 0xc0
cmp dword [rdx], 0
jmp 0x14041ba0d
je 0x14041bb0b
test esi, esi
jmp 0x14041ba1a
je 0x14041bc53
mov r8d, esi
jmp 0x14041ba28
xor ecx, ecx
jmp 0x14041ba59
movzx edx, byte [r9 + rcx*4 + 2]
jmp 0x14041ba3a
mov byte [r9 + rcx*4], dl
jmp 0x14041ba43
mov byte [r9 + rcx*4 + 2], al
inc rcx
cmp r8d, ecx
jmp 0x14041ba53
je 0x14041bc53
movzx r10d, byte [r9 + rcx*4 + 3]
movzx eax, byte [r9 + rcx*4]
cmp sil, al
test r10d, r10d
jmp 0x14041ba6f
je 0x14041ba2f
movzx esi, al
mov r11d, r10d
sar dh, cl
or al, r8b
shr r11d, 1
neg dh
movzx edx, byte [r9 + rcx*4 + 2]
and al, 0xd5
mov eax, edx
shl eax, 8
sub eax, edx
jmp 0x14041ba9a
add eax, r11d
cmp cl, r12b
xor edx, edx
div r10w
mov byte [r9 + rcx*4], al
neg dx
movzx edx, byte [r9 + rcx*4 + 1]
mov eax, edx
clc
cmc
shl eax, 8
test r8b, dil
sub eax, edx
add eax, r11d
cmc
clc
xor edx, edx
test bx, si
clc
div r10w
cmc
mov byte [r9 + rcx*4 + 1], al
mov eax, esi
cmc
stc
shl eax, 8
cmc
clc
sub eax, esi
add eax, r11d
cmp ebp, r10d
clc
xor edx, edx
stc
jmp 0x14041baf3
div r10w
jmp 0x14041bafc
mov byte [r9 + rcx*4 + 2], al
jmp 0x14041bb06
jmp 0x14041ba48
test esi, esi
jmp 0x14041bb12
je 0x14041bc53
lea eax, [rsi - 1]
jmp 0x14041bb24
cmp eax, 3
jmp 0x14041bb2c
jb 0x14041bbff
mov ecx, esi
shrd dx, r11w, 0xb3
cwd
and ecx, 0xfffffffc
bt eax, ebx
and rdx, 0x57c06d9a
rdtsc
nop word cs:[rax + rax]
movzx eax, byte [r9]
movzx edx, byte [r9 + 2]
mov byte [r9], dl
sub dh, 0xbb
mov byte [r9 + 2], al
cwde
movsx eax, bp
movzx eax, byte [r9 + 4]
movzx edx, byte [r9 + 6]
cmp spl, 0xa
mov byte [r9 + 4], dl
inc dx
btc edx, 0x76
sar dh, 0x5e
mov byte [r9 + 6], al
test r11w, bx
shr dx, cl
rcr dl, 0x92
movzx eax, byte [r9 + 8]
bt dx, 1
xchg dx, dx
movzx edx, byte [r9 + 0xa]
jmp 0x14041bbae
mov byte [r9 + 8], dl
or dl, ah
mov byte [r9 + 0xa], al
shrd rdx, rsi, 0xde
xor al, 0x81
neg dx
movzx eax, byte [r9 + 0xc]
movzx dx, bh
sal dx, cl
movzx edx, byte [r9 + 0xe]
cmp r10d, r15d
test r15w, r12w
test r14b, 0xe0
mov byte [r9 + 0xc], dl
test r15w, dx
mov byte [r9 + 0xe], al
add r9, 0x10
test bh, 0x4b
add ecx, 0xfffffffc
jmp 0x14041bbf9
jne 0x14041bb56
test sil, 3
je 0x14041bc53
and esi, 3
sar rdx, cl
sub ecx, ecx
cwd
nop word [rax + rax]
movzx eax, byte [r9 + rcx*4]
movsx edx, ax
xchg edx, edx
movsxd rdx, r10d
movzx edx, byte [r9 + rcx*4 + 2]
jmp 0x14041bc31
mov byte [r9 + rcx*4], dl
mov byte [r9 + rcx*4 + 2], al
jmp 0x14041bc3f
inc rcx
jmp 0x14041bc4b
cmp esi, ecx
jne 0x14041bc19
pop rsi
jmp 0x14041bc59
ret