Function at 0x1404ba3be
Capabilities:
Encrypt data using speck

Disassembly:
mov qword [rsp + 0x10], rdx
xor r10, r9
sar r10b, cl
movsxd r10, ebx
push rbx
add r10w, r11w
push rbp
stc
mov r10, r10
bts r10w, r12w
push rsi
push rdi
bsr r10w, si
shl r10d, 0xfd
push r12
push r14
push r15
shr esi, cl
movzx rsi, cx
sub rsp, 0x220
cmovbe si, r8w
cmc
mov r10d, dword [rcx]
mov r14, rdx
mov rsi, rcx
test r10d, r10d
jmp 0x1404ba410
je 0x1404bac9d
mov edi, dword [rdx]
jmp 0x1404ba41d
test edi, edi
jmp 0x1404ba424
je 0x1404bac9d
dec r10d
cmovne eax, r12d
add eax, edx
shr ax, cl
lea eax, [rdi - 1]
test eax, eax
jmp 0x1404ba440
jne 0x1404ba62f
mov r12d, dword [rdx + 4]
cmc
sub ebp, ebp
cmp r10w, 0x3ff8
cmp r12d, 1
jmp 0x1404ba45c
jne 0x1404ba4a6
mov ebx, dword [rcx + 4]
cwd
cmovp rdx, r15
xchg r8b, dl
lea r8, [rsp + 0x44]
add rcx, 4
bts edx, esp
mov dword [rsi], ebp
or dx, ax
sbb dh, 0x32
sub r9d, r9d
mov edx, r15d
movsx rdx, r10w
mov dword [rsp + 0x40], ebp
mov edx, 0x1cc
call fcn.1404ba281
mov eax, ebx
jmp 0x1404ba4a1
jmp 0x1404baca6
test r10d, r10d
jmp 0x1404ba4ae
jne 0x1404ba521
mov ebx, dword [rcx + 4]
adc dl, r10b
shld r8w, r15w, 0x92
lea r8, [rsp + 0x44]
sub dl, dl
setg dh
shld rdx, rax, 0xef
mov dword [rcx], ebp
bswap dx
cmp rdx, r12
test r14, r8
xor r9d, r9d
bsf dx, r13w
cmc
adc dx, 0x6eeb
add rcx, 4
mov dword [rsp + 0x40], ebp
movsx edx, cx
cqo
not edx
mov edx, 0x1cc
jmp 0x1404ba501
call fcn.1404ba281
sub edx, edx
mov eax, ebx
div r12d
test edx, edx
mov dword [rsi + 4], edx
seto bpl
setne bpl
mov dword [rsi], ebp
jmp 0x1404baca6
mov r15d, 0xffffffff
rcl dil, cl
sbb r14b, sil
mov r14w, 0x5769
mov rdi, rbp
ror r14w, cl
sub r14w, 0x38f6
ror r14b, 0xbf
mov r14, rbp
test spl, 0xbf
stc
jmp 0x1404ba550
cmp r10d, r15d
jmp 0x1404ba558
je 0x1404ba5b4
mov rcx, r12
mov eax, dword [rsi + r10*4 + 4]
stc
sub edx, edx
cmp r13w, r11w
shl r14, 0x20
test r14w, r8w
add r10d, r15d
or rax, r14
movsx r14w, al
shl rdi, 0x20
movzx r14w, r10b
stc
movzx r14, cx
div rcx
movsx r14w, al
mov eax, eax
mov r14, rdx
lea rdi, [rdi + rax]
clc
stc
jmp 0x1404ba5a6
cmp r10d, r15d
jmp 0x1404ba5ae
jne 0x1404ba561
sub r9d, r9d
bswap r8
cmovl edx, r11d
mov dword [rsp + 0x40], ebp
setb cl
lea r8, [rsp + 0x44]
mov dh, bl
movsx cx, dil
mov rdx, 0x5b2a3baa
mov dword [rsi], ebp
mov edx, 0x1cc
mov cl, r8b
movzx cx, dh
lea rcx, [rsi + 4]
jmp 0x1404ba5ef
call fcn.1404ba281
mov rcx, r14
mov bpl, r13b
mov dword [rsi + 4], r14d
shr rcx, 0x20
or ax, 0x6f97
mov rax, rdi
test ecx, ecx
sets bpl
not bpl
mov dword [rsi + 8], ecx
mov bpl, 0x5f
setne bpl
jmp 0x1404ba621
inc ebp
mov dword [rsi], ebp
jmp 0x1404ba62a
jmp 0x1404baca6
cmp eax, r10d
jmp 0x1404ba637
ja 0x1404bac9d
mov r8d, r10d
cmp r14d, 0x32650a2e
bswap edx
movsxd rdx, r10d
movsx bx, bl
sub r8d, eax
mov r9w, cx
mov r9d, r10d
shr bx, cl
movsxd rbx, r8d
jmp 0x1404ba665
cmp rdx, rbx
jmp 0x1404ba66d
jl 0x1404ba71d
add rcx, 4
btr r11w, r14w
sub r11b, 0xb2
lea rax, [rbx*4]
mov r11, r14
sub r11, rax
shl eax, 0x6b
sub r11, rsi
movzx ax, r10b
bts eax, ebp
lea rcx, [rcx + rdx*4]
movsx ax, cl
bt ax, r13w
jmp 0x1404ba6ae
mov eax, dword [rcx]
cmp r11b, 0x66
cmc
cmp dword [r11 + rcx], eax
jmp 0x1404ba6be
jne 0x1404ba6ee
dec r9d
jmp 0x1404ba6cc
dec rdx
stc
sub rcx, 4
cmp sp, r15w
test r9b, r14b
cmp rdx, rbx
jmp 0x1404ba6e3
jge 0x1404ba6ae
jmp 0x1404ba71d
mov eax, r9d
sub eax, r8d
ror dh, cl
and dl, 0x5f
movsxd rdx, eax
movsxd rax, r9d
btc rcx, 0x9d
stc
mov ecx, dword [rsi + rax*4 + 4]
cmp bp, r13w
cmp dword [r14 + rdx*4 + 4], ecx
jmp 0x1404ba717
jae 0x1404ba721
inc r8d
stc
test r8d, r8d
jmp 0x1404ba729
je 0x1404bac9d
lea eax, [rdi - 1]
dec bpl
ror bpl, cl
bts bx, r11w
mov ebx, 0x20
dec r9
btr ebp, r15d
clc
mov r9d, dword [r14 + rax*4 + 4]
movzx rax, r11w
and bpl, bpl
bswap rax
lea eax, [rdi - 2]
test r12w, r15w
shrd bp, di, 0x5b
test r10w, 0x79
mov ebp, dword [r14 + rax*4 + 4]
sub rax, 0x5aea320a
xadd rax, rax
bsr eax, r9d
jmp 0x1404ba784
mov dword [rsp + 0x260], ebp
jmp 0x1404ba790
je 0x1404ba7aa
mov r11d, 0x1f
stc
sub r11d, eax
jmp 0x1404ba7a5
jmp 0x1404ba7b6
mov r11d, ebx
jmp 0x1404ba7b6
sub ebx, r11d
mov dword [rsp + 0x270], r11d
cmp sil, 0xab
mov dword [rsp + 0x20], ebx
test r11d, r11d
je 0x1404ba856
mov eax, r9d
mov edx, ebp
mov ecx, ebx
xor r9b, 0x8b
shr edx, cl
neg r9w
rcl ch, cl
stc
mov ecx, r11d
shl eax, cl
movsx r9, r14w
sub r9, 0x452b163e
rcr r9w, cl
mov r9d, edx
test cx, ax
cmp dx, 0x6b69
shl ebp, cl
jmp 0x1404ba80d
or r9d, eax
test r8, rdx
cmp ecx, 0xfbd0141
mov dword [rsp + 0x260], ebp
stc
cmp r9w, sp
cmp r9b, 0x1b
cmp edi, 2
jmp 0x1404ba831
jbe 0x1404ba856
lea eax, [rdi - 3]
bswap rcx
mov ecx, ebx
not r12d
mov eax, dword [r14 + rax*4 + 4]
shr eax, cl
stc
or ebp, eax
mov dword [rsp + 0x260], ebp
mov r14b, 0x7c
xor ebp, ebp
lea r14d, [r8 - 1]
btc r12d, r11d
mov r12d, ebp
jmp 0x1404ba86c
test r14d, r14d
jmp 0x1404ba874
js 0x1404bac23
mov eax, ebx
rcl bh, cl
add bx, 0x2fce
mov r15d, 0xffffffff
mov ebx, r9d
cmp r11, r14
mov qword [rsp + 0x218], r13
sbb r13b, r15b
cmp r12b, 0x78
lea r13d, [r14 + rdi]
test r12b, 0xa2
mov qword [rsp + 0x38], rbx
cmp rdx, 0x694030f4
mov qword [rsp + 0x30], rax
cmp dh, 0x8c
jmp 0x1404ba8c0
cmp r13d, r10d
jmp 0x1404ba8c8
ja 0x1404ba8dd
mov edx, dword [rsi + r13*4 + 4]
jmp 0x1404ba8d8
jmp 0x1404ba8ed
mov edx, ebp
movzx rcx, ax
cmp r12d, 0x6ca04d2a
test r12d, r12d
lea eax, [r13 - 1]
clc
xchg r11w, cx
or cl, 0x5d
mov dword [rsp + 0x278], edx
add cl, r9b
and r11d, 0x487353a8
mov ecx, dword [rsi + rax*4 + 4]
add ax, r13w
setbe r11b
dec ax
lea eax, [r13 - 2]
sal r11d, 0xfc
mov r11d, dword [rsi + rax*4 + 4]
mov qword [rsp + 0x28], rcx
test r15w, 0x5c08
mov dword [rsp + 0x2c], edx
movsx dx, dh
mov dh, al
or dx, r14w
mov edx, dword [rsp + 0x270]
test edx, edx
jmp 0x1404ba94d
je 0x1404ba9b4
mov rcx, qword [rsp + 0x30]
mov r8d, r11d
dec ax
mov rax, qword [rsp + 0x28]
cmp r11d, 0x4e0e7a34
shr r8, cl
movsx cx, r12b
mov ecx, edx
stc
shl rax, cl
cmp r12d, r9d
test r8w, 0x15d1
or r8, rax
shl r11d, cl
cmp r13d, 3
jmp 0x1404ba990
jb 0x1404ba9c1
mov ecx, dword [rsp + 0x20]
neg rax
lea eax, [r13 - 3]
mov eax, dword [rsi + rax*4 + 4]
shr eax, cl
or r11d, eax
jmp 0x1404ba9af
jmp 0x1404ba9c1
mov r8, qword [rsp + 0x28]
sbb ah, 0x20
bsf r9w, si
xor edx, edx
rcr r9b, 0xa3
shr ah, cl
mov rax, r8
rol r9w, cl
rcr r9b, cl
div rbx
xadd r9d, r9d
bts r8w, bp
bts r9w, si
mov r8d, edx
xadd r9b, r9b
mov r9b, r13b
mov r9, rax
cmp rax, r15
jbe 0x1404baa23
movabs rax, 0xffffffff00000001
lea rax, [rax + r9]
adc r9b, 0x2b
not r9b
mov r9, r15
imul rax, rbx
jmp 0x1404baa1d
add r8, rax
cmp sil, r8b
cmp r8, r15
ja 0x1404baa84
mov edx, dword [rsp + 0x260]
xadd ah, ah
mov eax, edx
rcl cl, cl
rol ecx, cl
imul rax, r9
mov cl, 0x4d
neg ecx
shl cl, cl
mov rcx, r8
test r9d, r15d
cmc
shl rcx, 0x20
cmp rdx, rbp
stc
or rcx, r11
cmp rax, rcx
jmp 0x1404baa60
jbe 0x1404baa84
dec r9
jmp 0x1404baa6e
sub rax, rdx
clc
lea r8, [r8 + rbx]
cmp r8, r15
jmp 0x1404baa7e
jbe 0x1404baa46
test r9, r9
jmp 0x1404baa8c
je 0x1404babf0
mov r10, rbp
rol r11b, 0x1f
test rdi, 0x47907a06
mov r11d, ebp
test r14d, r13d
test cx, 0x30ae
test edi, edi
je 0x1404bab4d
mov rbx, qword [rsp + 0x268]
add rbx, 4
nop dword [rax]
sbb dh, 4
mov eax, dword [rbx]
rol r8w, cl
lea rbx, [rbx + 4]
cmp r10w, 0x51c5
imul rax, r9
lea r10, [r10 + rax]
shr cl, cl
sar rax, 0xc3
test r13d, 0x51ee14fa
lea eax, [r11 + r14]
mov r8d, r10d
mov ecx, eax
bsr rdx, rdx
shr r10, 0x20
not dx
mov eax, dword [rsi + rax*4 + 4]
cwd
mov rdx, r10
jmp 0x1404bab0c
inc r10
cmp sp, r12w
cmp eax, r8d
jmp 0x1404bab1b
cmovae r10, rdx
cmp ah, 0x87
sub eax, r8d
jmp 0x1404bab2a
inc r11d
test r13d, esp
cmc
mov dword [rsi + rcx*4 + 4], eax
cmc
clc
cmp r11d, edi
jmp 0x1404bab3f
jb 0x1404baac5
mov rbx, qword [rsp + 0x38]
adc al, r15b
mov eax, dword [rsp + 0x278]
cmp rax, r10
jmp 0x1404bab5c
jae 0x1404babe5
mov r10d, ebp
cmp r11d, 0x77ae3a13
clc
test edi, edi
jmp 0x1404bab74
je 0x1404babd4
mov r11, qword [rsp + 0x268]
not rdx
cmc
mov r8, rbp
bts rdx, rsp
cmp r9b, 0xfc
add r11, 4
lea eax, [r10 + r14]
movsx dx, spl
mov edx, edx
inc r10d
mov ecx, dword [rsi + rax*4 + 4]
clc
lea rdx, [rsi + rax*4]
mov eax, dword [r11]
lea r11, [r11 + 4]
lea r8, [r8 + rax]
cmp r15b, 0x6e
add r8, rcx
mov dword [rdx + 4], r8d
test sp, 0x32ae
shr r8, 0x20
cmp r10d, edi
jb 0x1404bab95
dec r9
or r10w, 0x30e4
bsf r10, r15
btc eax, 0xc6
lea r10d, [r13 - 1]
btr ax, 0xf9
bswap eax
shl r12, 0x20
lahf
mov ah, bh
dec r13d
bts rax, rbp
mov eax, r9d
add r12, rax
jmp 0x1404bac0c
sub r14d, 1
jmp 0x1404bac15
jns 0x1404ba8c0
mov r13, qword [rsp + 0x218]
lea edx, [r10 + 1]
movzx cx, bpl
mov ecx, edx
clc
cmp r13b, 0x3e
cmp edx, dword [rsi]
jmp 0x1404bac3a
jae 0x1404bac60
nop word [rax + rax]
mov eax, ecx
inc ecx
stc
cmp spl, bpl
mov dword [rsi + rax*4 + 4], ebp
stc
cmp ecx, dword [rsi]
jmp 0x1404bac5a
jb 0x1404bac46
mov dword [rsi], edx
cmc
test edx, edx
jmp 0x1404bac6a
je 0x1404bac90
dec edx
cmp dword [rsi + rdx*4 + 4], ebp
jmp 0x1404bac7b
jne 0x1404bac90
mov dword [rsi], edx
test edx, edx
jmp 0x1404bac8a
jne 0x1404bac70
mov rax, r12
jmp 0x1404bac98
jmp 0x1404baca6
sub eax, eax
rcr r15b, cl
sal rbp, 0x5f
add rsp, 0x220
bswap di
movzx bp, dl
mov r14w, 0xe48
pop r15
movzx r14, si
movsx rdi, r9w
pop r14
movsx rbp, r12w
cmovnp r12, r11
pop r12
pop rdi
pop rsi
pop rbp
jmp 0x1404bacdb
pop rbx
ret