Function at 0x1404bbda3
Capabilities:
Encrypt data using speck

Disassembly:
mov qword [rsp + 0x10], rdx
push rbx
rol r10w, cl
sar r10b, cl
push rbp
push rsi
rol r10w, 0xe0
push rdi
push r12
sbb r10b, 0x6b
xor rsi, rbx
push r14
stc
btc r10, r13
push r15
sub r14w, 0x545c
sub rsp, 0x220
shld r10w, r13w, 0xc8
bsf r10w, r9w
mov r10d, dword [rcx]
mov r14, rdx
mov rsi, rcx
test r10d, r10d
jmp 0x1404bbdf3
je 0x1404bc658
mov edi, dword [rdx]
cmp sil, bl
clc
test edi, edi
jmp 0x1404bbe06
je 0x1404bc658
dec r10d
lea eax, [rdi - 1]
cmp di, 0x4cb
test eax, eax
jne 0x1404bc003
mov r12d, dword [rdx + 4]
xor ebp, ebp
cmp r12d, 1
jmp 0x1404bbe2e
jne 0x1404bbe82
mov ebx, dword [rcx + 4]
cmp si, 0x6c6
lea r8, [rsp + 0x44]
or dx, bx
sar edx, cl
add rcx, 4
cmp r10w, r15w
mov dword [rsi], ebp
xor r9d, r9d
movsxd rdx, r14d
cwd
movsx edx, r15w
mov dword [rsp + 0x40], ebp
bswap dx
movzx rdx, ax
mov edx, 0x1cc
jmp 0x1404bbe71
call fcn.1404bbc81
mov eax, ebx
jmp 0x1404bbe7d
jmp 0x1404bc65b
test r10d, r10d
jmp 0x1404bbe8a
jne 0x1404bbf0d
mov ebx, dword [rcx + 4]
lea r8, [rsp + 0x44]
mov dword [rcx], ebp
bt edx, r12d
shr dx, 9
rol dl, cl
sub r9d, r9d
cmp r12b, 0xde
cmp r13w, si
shrd dx, bx, 0xe3
add rcx, 4
mov rdx, 0x554a6861
mov dh, ch
mov dword [rsp + 0x40], ebp
seto dh
cqo
cmovp rdx, r14
mov edx, 0x1cc
jmp 0x1404bbed8
call fcn.1404bbc81
sub edx, edx
setp ah
mov eax, ebx
sal bpl, 0x75
div r12d
stc
test edx, edx
mov bpl, 0x52
mov dword [rsi + 4], edx
setae bpl
setne bpl
jmp 0x1404bbf01
mov dword [rsi], ebp
jmp 0x1404bbf08
jmp 0x1404bc65b
mov r15d, 0xffffffff
mov rdi, rbp
xadd r14, r14
sub r14w, ax
test r8b, 0x2c
mov r14, rbp
jmp 0x1404bbf2d
cmp r10d, r15d
jmp 0x1404bbf35
je 0x1404bbf8e
mov rcx, r12
movzx rax, bp
mov eax, dword [rsi + r10*4 + 4]
sub edx, edx
shl r14, 0x20
cmc
test r9b, r15b
add r10d, r15d
cmp ax, 0x6d8a
cmc
or rax, r14
shl rdi, 0x20
div rcx
mov r14b, 0x45
sar r14w, cl
btc r14w, 0x6a
mov eax, eax
test r14b, r10b
clc
mov r14, rdx
clc
cmp r8, rbp
add rdi, rax
cmp r10d, r15d
jmp 0x1404bbf88
jne 0x1404bbf42
xor r9d, r9d
mov dword [rsp + 0x40], ebp
cmovp r8w, r12w
movzx cx, ch
lea r8, [rsp + 0x44]
mov ch, dl
not dl
movsx dx, r8b
mov dword [rsi], ebp
bswap dx
not dx
mov edx, 0x1cc
movzx rcx, r13w
mov cx, 0x7540
cmovg cx, bx
lea rcx, [rsi + 4]
call fcn.1404bbc81
mov rcx, r14
cwde
test rbp, rbp
mov dword [rsi + 4], r14d
shr rcx, 0x20
cbw
mov rax, rdi
test ecx, ecx
mov dword [rsi + 8], ecx
setne bpl
jmp 0x1404bbff0
inc ebp
jmp 0x1404bbff7
mov dword [rsi], ebp
jmp 0x1404bbffe
jmp 0x1404bc65b
cmp eax, r10d
jmp 0x1404bc00b
ja 0x1404bc658
mov r8d, r10d
movsxd rdx, r10d
btr ebx, ebx
xchg r9b, bl
cmovno r9w, sp
sub r8d, eax
cmc
sbb bx, r11w
dec r9b
mov r9d, r10d
movsxd rbx, r8d
cmp spl, r13b
cmp sp, 0x4da3
cmp rdx, rbx
jmp 0x1404bc043
jl 0x1404bc0fb
add rcx, 4
shl r11w, 0xb8
btc eax, 0x63
setp al
lea rax, [rbx*4]
sub r11w, r13w
bsf r11w, bp
mov r11, r14
test r11, rsp
sub r11, rax
rcl rax, 0x50
nop
sub r11, rsi
lea rcx, [rcx + rdx*4]
btr rax, 0x4e
bts rax, rdi
adc eax, r9d
mov eax, dword [rcx]
clc
cmp dword [r11 + rcx], eax
jmp 0x1404bc098
jne 0x1404bc0c0
dec r9d
dec rdx
test r11b, 0x66
sub rcx, 4
test eax, 0x6c3b0130
stc
cmp rdx, rbx
jge 0x1404bc08c
jmp 0x1404bc0fb
mov eax, r9d
mov cl, r9b
rcl dx, cl
shrd cx, bx, 0xb9
sub eax, r8d
sub cl, 0x97
test bh, 0x68
movsxd rdx, eax
cwde
rcr al, 0xd8
nop
movsxd rax, r9d
mov cl, 0x18
rol rcx, cl
mov ecx, dword [rsi + rax*4 + 4]
cmp dword [r14 + rdx*4 + 4], ecx
jmp 0x1404bc0f5
jae 0x1404bc0fe
inc r8d
test r8d, r8d
je 0x1404bc658
lea eax, [rdi - 1]
mov ebx, 0x20
mov r9d, dword [r14 + rax*4 + 4]
cmc
movsx eax, bx
btr rbp, r14
lea eax, [rdi - 2]
add bpl, dl
mov ebp, dword [r14 + rax*4 + 4]
bsr eax, r9d
jmp 0x1404bc130
mov dword [rsp + 0x260], ebp
jmp 0x1404bc13c
je 0x1404bc156
mov r11d, 0x1f
cmc
sub r11d, eax
jmp 0x1404bc151
jmp 0x1404bc15d
mov r11d, ebx
test sp, r10w
sub ebx, r11d
cmp r9b, r8b
cmc
cmp r15b, 0x2c
mov dword [rsp + 0x270], r11d
cmc
mov dword [rsp + 0x20], ebx
cmp sil, r11b
test r11d, r11d
jmp 0x1404bc180
je 0x1404bc20e
mov eax, r9d
add dx, r11w
movsx rdx, r14w
mov edx, ebp
mov cl, 0x1e
mov ecx, ebx
shrd r9w, r11w, 0xba
mov r9, 0x1c377c8a
shr edx, cl
movzx rcx, r10w
neg ecx
mov ecx, r11d
btr r9, rcx
shl eax, cl
not r9b
jmp 0x1404bc1bd
mov r9d, edx
shl ebp, cl
or r9d, eax
cmc
stc
mov dword [rsp + 0x260], ebp
test r9b, 0x89
cmp sil, 0x60
cmp edi, 2
jmp 0x1404bc1de
jbe 0x1404bc20e
lea eax, [rdi - 3]
movzx r12d, di
rol r12b, cl
mov ecx, ebx
mov eax, dword [r14 + rax*4 + 4]
shr eax, cl
sar r14b, cl
neg r14w
or ebp, eax
sbb r14b, 0xc8
mov dword [rsp + 0x260], ebp
sal r12b, cl
xor ebp, ebp
rol r14, cl
lea r14d, [r8 - 1]
rol r12b, cl
shr r12b, 0xfd
mov r12d, ebp
test r14d, r14d
jmp 0x1404bc229
js 0x1404bc5c9
mov eax, ebx
mov r15d, 0xffffffff
mov ebx, r9d
mov qword [rsp + 0x218], r13
lea r13d, [r14 + rdi]
mov qword [rsp + 0x38], rbx
test r12b, 0x4e
jmp 0x1404bc255
mov qword [rsp + 0x30], rax
cmp r13d, r10d
jmp 0x1404bc262
ja 0x1404bc277
mov edx, dword [rsi + r13*4 + 4]
jmp 0x1404bc272
jmp 0x1404bc279
mov edx, ebp
lea eax, [r13 - 1]
cmp r14b, 0x52
mov dword [rsp + 0x278], edx
sub r11b, r12b
cmp r10b, cl
mov ecx, dword [rsi + rax*4 + 4]
bswap r11w
cwde
bt r11w, r12w
lea eax, [r13 - 2]
mov r11d, dword [rsi + rax*4 + 4]
mov qword [rsp + 0x28], rcx
clc
mov dword [rsp + 0x2c], edx
btr rdx, 0x70
test dl, r14b
mov edx, dword [rsp + 0x270]
test spl, dil
test edx, edx
jmp 0x1404bc2c8
je 0x1404bc336
mov rcx, qword [rsp + 0x30]
and r8b, dil
movsx ax, bpl
mov r8d, r11d
cmc
mov rax, qword [rsp + 0x28]
shr r8, cl
rcl ch, cl
mov ecx, edx
shl rax, cl
or r8, rax
cmp spl, r10b
cmp r11, 0x76c30ce2
shl r11d, cl
stc
cmp r13b, 0xf8
cmp r13d, 3
jb 0x1404bc341
mov ecx, dword [rsp + 0x20]
mov al, bpl
bsf rax, rax
cmp ah, 0x1a
lea eax, [r13 - 3]
cmc
mov eax, dword [rsi + rax*4 + 4]
cmp cx, cx
shr eax, cl
jmp 0x1404bc32e
or r11d, eax
jmp 0x1404bc341
mov r8, qword [rsp + 0x28]
stc
bt rax, 0x59
xor edx, edx
bsr r9w, di
add r9d, r13d
shld r9d, r12d, 0xb4
mov rax, r8
btc r9, 0xf0
cmp bp, r9w
div rbx
mov r8d, edx
mov r9, rax
test rcx, r10
stc
clc
cmp rax, r15
jmp 0x1404bc372
jbe 0x1404bc3a5
movabs rax, 0xffffffff00000001
cmp si, bp
lea rax, [rax + r9]
sbb r9w, 0x7d7d
rcl r9b, 0x16
mov r9, r15
imul rax, rbx
lea r8, [r8 + rax]
cmp rsp, 0x78071df8
cmp r8, r15
jmp 0x1404bc3ad
ja 0x1404bc41a
mov edx, dword [rsp + 0x260]
cbw
sbb ch, 0xbb
mov eax, edx
movzx cx, ah
imul rax, r9
mov rcx, r8
cmp edi, r10d
shl rcx, 0x20
jmp 0x1404bc3da
or rcx, r11
test ecx, r15d
cmp rax, rcx
jmp 0x1404bc3e8
jbe 0x1404bc41a
dec r9
cmp di, r13w
test r13b, bl
cmc
sub rax, rdx
cmc
jmp 0x1404bc402
lea r8, [r8 + rbx]
cmc
jmp 0x1404bc40c
cmp r8, r15
jmp 0x1404bc414
jbe 0x1404bc3c9
test r9, r9
jmp 0x1404bc422
je 0x1404bc589
mov r10, rbp
mov r11d, ebp
jmp 0x1404bc433
test edi, edi
jmp 0x1404bc43a
je 0x1404bc4d4
mov rbx, qword [rsp + 0x268]
add rbx, 4
nop dword [rax]
mov eax, dword [rbx]
shld edx, eax, 4
shl dl, 0x5b
lea rbx, [rbx + 4]
imul rax, r9
stc
mov r8w, 0x63b
inc dx
lea r10, [r10 + rax]
btc r8d, ebx
lea eax, [r11 + r14]
mov r8d, r10d
and dx, bx
stc
movzx ecx, r12w
mov ecx, eax
shr r10, 0x20
mov eax, dword [rsi + rax*4 + 4]
setp dl
mov rdx, r10
jmp 0x1404bc495
inc r10
test r11b, 0xa2
cmp r11w, 0x10b1
cmp eax, r8d
jmp 0x1404bc4aa
cmovae r10, rdx
stc
sub eax, r8d
inc r11d
test r10b, bl
mov dword [rsi + rcx*4 + 4], eax
cmp r11d, edi
jmp 0x1404bc4c4
jb 0x1404bc44f
mov rbx, qword [rsp + 0x38]
movsx ax, r14b
mov eax, dword [rsp + 0x278]
cmp rax, r10
jae 0x1404bc57f
mov r10d, ebp
clc
test edi, edi
jmp 0x1404bc4ef
je 0x1404bc574
mov r11, qword [rsp + 0x268]
xor r8w, bp
lahf
mov r8, rbp
btc ax, ax
dec ah
add dh, 0x25
add r11, 4
movsxd rcx, ebp
lea eax, [r10 + r14]
dec edx
bswap cx
inc r10d
inc rcx
movsx rcx, di
and dl, r13b
mov ecx, dword [rsi + rax*4 + 4]
and dl, r11b
lea rdx, [rsi + rax*4]
and al, 0xec
sar rax, cl
mov eax, dword [r11]
cmp bl, bpl
test r8b, r15b
lea r11, [r11 + 4]
lea r8, [r8 + rax]
test rax, 0x2af6748d
cmp sil, r13b
cmc
add r8, rcx
clc
test r14d, r11d
mov dword [rdx + 4], r8d
shr r8, 0x20
cmc
cmp r10d, edi
jmp 0x1404bc56e
jb 0x1404bc515
dec r9
xadd ah, ah
stc
rcl ax, 0xfb
lea r10d, [r13 - 1]
shr rax, cl
xor ah, 0xa1
shl r12, 0x20
cmova rax, r10
movzx ax, r10b
movsx eax, r8w
dec r13d
mov eax, r9d
cmp r10b, bl
stc
jmp 0x1404bc5a9
add r12, rax
clc
sub r14d, 1
jmp 0x1404bc5b6
jns 0x1404bc25a
mov r13, qword [rsp + 0x218]
bts cx, r10w
lea edx, [r10 + 1]
mov ch, bh
mov ecx, edx
jmp 0x1404bc5d6
cmp edx, dword [rsi]
jmp 0x1404bc5dd
jae 0x1404bc613
nop word [rax + rax]
movsx eax, ax
cdqe
not ax
mov eax, ecx
jmp 0x1404bc5f8
inc ecx
mov dword [rsi + rax*4 + 4], ebp
cmc
cmp rdi, r9
test r9b, 0x4c
cmp ecx, dword [rsi]
jmp 0x1404bc60d
jb 0x1404bc5f1
mov dword [rsi], edx
test edx, edx
jmp 0x1404bc61c
je 0x1404bc64b
dec edx
cmp cx, ax
test eax, 0xe635778
cmp dword [rsi + rdx*4 + 4], ebp
jmp 0x1404bc635
jne 0x1404bc64b
mov dword [rsi], edx
cmc
test edx, edx
jmp 0x1404bc645
jne 0x1404bc622
mov rax, r12
jmp 0x1404bc653
jmp 0x1404bc65b
sub eax, eax
cmc
add rsp, 0x220
pop r15
pop r14
movzx rbx, r11w
pop r12
mov dil, 0x6e
movsx di, r10b
pop rdi
pop rsi
pop rbp
movsxd rbx, r14d
pop rbx
jmp 0x1404bc680
ret