Function at 0x1404b3d2a
Capabilities:
Encrypt data using speck

Disassembly:
mov qword [rsp + 0x10], rdx
bsr r10d, ecx
push rbx
test di, bp
movsx r10, sp
bsf r10, rax
push rbp
push rsi
push rdi
push r12
setns r10b
movzx r10d, bp
push r14
sbb sil, 0x9a
ror sil, 0xe4
rol sil, cl
push r15
shr sil, cl
btr r14, r11
sub rsp, 0x220
adc sil, r8b
btr r10, rcx
movsx r10, r15w
mov r10d, dword [rcx]
mov r14, rdx
movzx rsi, r15w
bsr si, r12w
mov rsi, rcx
clc
test cx, 0x6442
test di, r11w
test r10d, r10d
je 0x1404b4645
mov edi, dword [rdx]
test cx, 0x3f5a
test edi, edi
jmp 0x1404b3da7
je 0x1404b4645
dec r10d
lea eax, [rdi - 1]
stc
cmp rax, r15
test eax, eax
jmp 0x1404b3dbe
jne 0x1404b3f86
mov r12d, dword [rdx + 4]
cmp dil, r12b
clc
test r9b, 0x23
xor ebp, ebp
cmp r12d, 1
jne 0x1404b3e28
mov ebx, dword [rcx + 4]
or r8w, r15w
lea r8, [rsp + 0x44]
test ax, r14w
add rcx, 4
btc rdx, 0x76
mov dword [rsi], ebp
xor r9d, r9d
cwd
mov dl, 0x3b
mov rdx, r12
mov dword [rsp + 0x40], ebp
bswap rdx
movzx dx, r8b
mov edx, 0x1cc
jmp 0x1404b3e17
call fcn.1404b3c0c
mov eax, ebx
jmp 0x1404b3e23
jmp 0x1404b4653
test r10d, r10d
jmp 0x1404b3e30
jne 0x1404b3ea3
mov ebx, dword [rcx + 4]
shr r8d, cl
sbb r8, 0x4df61297
lea r8, [rsp + 0x44]
mov dword [rcx], ebp
sal dh, 0x12
sub r9d, r9d
add rcx, 4
cmove dx, sp
cwd
movzx dx, r14b
mov dword [rsp + 0x40], ebp
mov edx, 0x1cc
call fcn.1404b3c0c
xor edx, edx
and bpl, 0x96
rcl eax, 0x1a
mov eax, ebx
sal bpl, 0x6c
cmc
div r12d
test edx, edx
jmp 0x1404b3e8b
mov dword [rsi + 4], edx
setne bpl
jmp 0x1404b3e97
mov dword [rsi], ebp
jmp 0x1404b3e9e
jmp 0x1404b4653
mov r15d, 0xffffffff
sar dil, cl
mov rdi, rbp
mov r14, rbp
test rax, 0x3fd75730
cmp r10d, r15d
je 0x1404b3f20
mov rcx, r12
sal ax, 0xbd
mov eax, dword [rsi + r10*4 + 4]
test r8d, 0x38e45f98
sub edx, edx
shl r14, 0x20
test dil, r10b
add r10d, r15d
or rax, r14
movzx r14d, dx
movzx r14, r15w
shl rdi, 0x20
bsr r14w, r8w
div rcx
sub r14w, si
mov r14b, 0xcd
mov eax, eax
rcr r14, cl
mov r14, rdx
cmp r8b, sil
test edi, 0x1af34229
add rdi, rax
cmp r10d, r15d
jmp 0x1404b3f1a
jne 0x1404b3ec8
sub r9d, r9d
bswap rdx
mov dword [rsp + 0x40], ebp
movsx r8, dx
lea r8, [rsp + 0x44]
mov dword [rsi], ebp
mov edx, 0x1cc
movzx rcx, r13w
bswap cx
lea rcx, [rsi + 4]
jmp 0x1404b3f4a
call fcn.1404b3c0c
mov rcx, r14
sal al, 0xb9
cwde
clc
mov dword [rsi + 4], r14d
shr bpl, 0xe6
adc bpl, 0x6c
shr rcx, 0x20
mov rax, rdi
test ecx, ecx
mov dword [rsi + 8], ecx
setne bpl
jmp 0x1404b3f78
inc ebp
jmp 0x1404b3f7f
mov dword [rsi], ebp
jmp 0x1404b4653
cmp eax, r10d
jmp 0x1404b3f8e
ja 0x1404b4645
mov r8d, r10d
movsxd rdx, r10d
add ebx, 0x7fd96d4f
test r10b, bpl
movsxd r9, ebx
sub r8d, eax
mov r9d, r10d
movsxd rbx, r8d
cmp rdx, rbx
jmp 0x1404b3fb7
jl 0x1404b406c
add rcx, 4
and r11d, 0x64e33986
btr r11, 0xe2
shrd rax, r11, 0x60
lea rax, [rbx*4]
ror r11b, 0x3d
btr r11w, r11w
mov r11, r14
jmp 0x1404b3feb
sub r11, rax
sub r11, rsi
rcr ax, 0xb0
stc
lea rcx, [rcx + rdx*4]
stc
nop
ror ah, cl
mov eax, dword [rcx]
cmp spl, 0x12
cmp esi, r9d
cmp dword [r11 + rcx], eax
jmp 0x1404b4011
jne 0x1404b403a
dec r9d
dec rdx
sub rcx, 4
jmp 0x1404b4027
cmp rdx, rbx
jmp 0x1404b402f
jge 0x1404b3fff
jmp 0x1404b406c
mov eax, r9d
sub eax, r8d
mov cx, r13w
sal dl, cl
shr dh, cl
movsxd rdx, eax
movsxd rax, r9d
ror cx, cl
btc cx, di
mov ecx, dword [rsi + rax*4 + 4]
cmp bh, 0xf9
cmp dword [r14 + rdx*4 + 4], ecx
jmp 0x1404b4066
jae 0x1404b4075
inc r8d
test ebx, r15d
test ah, 0xfa
test r8d, r8d
jmp 0x1404b407d
je 0x1404b4645
lea eax, [rdi - 1]
rcl bx, 0xfa
movsx bx, r15b
setno bpl
mov ebx, 0x20
test r14, rsp
sar r9w, cl
rcr r9b, 0x3d
mov r9d, dword [r14 + rax*4 + 4]
and al, spl
sbb eax, edx
lea eax, [rdi - 2]
bsf bp, r12w
neg bpl
xor bpl, r9b
mov ebp, dword [r14 + rax*4 + 4]
neg ax
btr eax, esp
bsr eax, r9d
jmp 0x1404b40cf
mov dword [rsp + 0x260], ebp
jmp 0x1404b40db
je 0x1404b40f8
mov r11d, 0x1f
cmp r13b, 0xda
sub r11d, eax
jmp 0x1404b40f3
jmp 0x1404b4103
mov r11d, ebx
test bpl, r13b
cmp si, 0x49e1
sub ebx, r11d
mov dword [rsp + 0x270], r11d
test ax, 0x67ad
stc
mov dword [rsp + 0x20], ebx
test r13w, 0x3a71
test r14b, r14b
cmc
test r11d, r11d
jmp 0x1404b4129
je 0x1404b41b0
mov eax, r9d
mov edx, ebp
shr r9w, 0xea
bt r9, rbx
mov ecx, ebx
bt r9w, bx
adc r9w, 0x6915
shr edx, cl
movzx ecx, r11w
xor rcx, r12
bts r9w, r15w
mov ecx, r11d
shl eax, cl
mov r9d, edx
shl ebp, cl
or r9d, eax
cmp r13b, 0x1f
cmp dil, r11b
mov dword [rsp + 0x260], ebp
cmp edi, 2
jbe 0x1404b41b0
lea eax, [rdi - 3]
sbb r12b, al
bsr cx, bx
mov ecx, ebx
xor r12w, ax
rcr r12b, cl
mov eax, dword [r14 + rax*4 + 4]
movsx r14w, bpl
movsx r12d, bx
shr eax, cl
bts r12, r13
or ebp, eax
mov dword [rsp + 0x260], ebp
and r14b, 0x7c
sub ebp, ebp
lea r14d, [r8 - 1]
sets r12b
mov r12d, ebp
clc
test r14d, r14d
jmp 0x1404b41c6
js 0x1404b45b6
mov eax, ebx
and bl, bh
bts bx, r14w
mov r15d, 0xffffffff
mov ebx, r9d
jmp 0x1404b41e3
mov qword [rsp + 0x218], r13
lea r13d, [r14 + rdi]
stc
mov qword [rsp + 0x38], rbx
cmp esp, eax
test r11w, r15w
clc
mov qword [rsp + 0x30], rax
cmp r9b, bl
cmp r13d, r10d
jmp 0x1404b420c
ja 0x1404b421c
mov edx, dword [rsi + r13*4 + 4]
jmp 0x1404b422c
mov edx, ebp
cbw
xor r11, 0x43090f72
bsr r11w, r8w
lea eax, [r13 - 1]
bts r11w, ax
xadd r11b, r11b
movzx cx, al
mov dword [rsp + 0x278], edx
or cx, sp
jmp 0x1404b424c
mov ecx, dword [rsi + rax*4 + 4]
bswap r11
lea eax, [r13 - 2]
mov r11d, dword [rsi + rax*4 + 4]
cmp r10, r15
mov qword [rsp + 0x28], rcx
jmp 0x1404b426a
mov dword [rsp + 0x2c], edx
or dl, r13b
mov edx, dword [rsp + 0x270]
cmp cl, r13b
test edx, edx
jmp 0x1404b4282
je 0x1404b4301
mov rcx, qword [rsp + 0x30]
xchg r8b, al
sub al, r12b
mov r8d, r11d
mov rax, qword [rsp + 0x28]
stc
clc
shr r8, cl
movsx ecx, r10w
bsf ecx, esi
test bp, sp
mov ecx, edx
cmp sil, r11b
jmp 0x1404b42b5
shl rax, cl
stc
or r8, rax
test si, ax
test ch, 0xab
shl r11d, cl
cmp r13d, 3
jmp 0x1404b42ce
jb 0x1404b430f
mov ecx, dword [rsp + 0x20]
sal eax, 0xae
add al, dh
rol ax, 0x94
lea eax, [r13 - 3]
mov eax, dword [rsi + rax*4 + 4]
cmp r12w, r13w
jmp 0x1404b42f2
shr eax, cl
or r11d, eax
jmp 0x1404b42fc
jmp 0x1404b430f
mov r8, qword [rsp + 0x28]
add r9b, 0x59
add r9b, r10b
shl eax, cl
xor edx, edx
dec r9w
bt r9w, 0x69
mov rax, r8
mov r9w, 0x2131
sar r9b, cl
and r8w, si
div rbx
mov r8w, 0x58ba
mov r8d, edx
bts r9w, cx
mov r9, rax
cmc
stc
cmp rax, r15
jmp 0x1404b4347
jbe 0x1404b437c
movabs rax, 0xffffffff00000001
clc
add rax, r9
cmp bpl, 0xa2
sbb r9w, 0x28f8
mov r9, r15
cmp r9b, 0xb3
imul rax, rbx
lea r8, [r8 + rax]
test ebp, 0x734b2a8a
cmc
clc
cmp r8, r15
jmp 0x1404b4384
ja 0x1404b43ee
mov edx, dword [rsp + 0x260]
mov eax, edx
adc cl, 0x78
imul rax, r9
stc
xadd cl, ch
mov rcx, r8
jmp 0x1404b43a9
shl rcx, 0x20
clc
or rcx, r11
jmp 0x1404b43be
cmp rax, rcx
jmp 0x1404b43c6
jbe 0x1404b43ee
dec r9
test al, bh
test rcx, 0x17b9104d
jmp 0x1404b43dd
sub rax, rdx
add r8, rbx
stc
clc
cmp r8, r15
jbe 0x1404b439e
test r9, r9
jmp 0x1404b43f6
je 0x1404b4581
mov r10, rbp
sbb r11w, r15w
mov r11d, ebp
test r11, 0x4a1525e4
cmp r8b, 0x1b
stc
test edi, edi
jmp 0x1404b4419
je 0x1404b44cd
mov rbx, qword [rsp + 0x268]
adc rax, 0x2bb551d8
movzx r8, r11w
add rbx, 4
not dx
inc ah
rdtsc
nop dword [rax]
mov eax, dword [rbx]
not r8b
shrd r8w, r13w, 0x79
lea rbx, [rbx + 4]
not ecx
imul rax, r9
add r10, rax
or cl, 0x23
rcr r8w, 0xa9
lea eax, [r11 + r14]
movzx ecx, di
mov r8d, r10d
rcl dx, 0x99
mov ecx, eax
rcr edx, 0xdd
movsx rdx, dx
btr dx, 0x84
shr r10, 0x20
mov eax, dword [rsi + rax*4 + 4]
movzx edx, si
mov rdx, r10
inc r10
cmp eax, r8d
jmp 0x1404b4495
cmovae r10, rdx
jmp 0x1404b44a1
sub eax, r8d
jmp 0x1404b44a9
inc r11d
test r13b, r9b
stc
mov dword [rsi + rcx*4 + 4], eax
cmp r11d, edi
jmp 0x1404b44bc
jb 0x1404b4440
mov rbx, qword [rsp + 0x38]
rcl al, 0xc3
cmp rsi, rdi
mov eax, dword [rsp + 0x278]
cmp rax, r10
jmp 0x1404b44dc
jae 0x1404b4578
mov r10d, ebp
test edi, edi
jmp 0x1404b44ec
je 0x1404b4575
mov r11, qword [rsp + 0x268]
inc edx
sar rcx, cl
mov r8, rbp
add dh, 0x90
and eax, 0x7d3854c6
setge dh
add r11, 4
cdqe
lea eax, [r10 + r14]
mov dl, 0xbf
inc cl
cmovne edx, edx
inc r10d
rcr cx, cl
ror rcx, 0x2c
btc rdx, rcx
mov ecx, dword [rsi + rax*4 + 4]
rol dh, 0x87
add dh, 0x40
lea rdx, [rsi + rax*4]
sar ax, cl
sbb al, r11b
add eax, r13d
mov eax, dword [r11]
cmc
cmp r13d, 0x5027250e
lea r11, [r11 + 4]
clc
add r8, rax
lea r8, [r8 + rcx]
jmp 0x1404b4560
mov dword [rdx + 4], r8d
cmp r8w, cx
shr r8, 0x20
cmp r10d, edi
jb 0x1404b4513
dec r9
lea r10d, [r13 - 1]
shrd ax, di, 0x36
shl r12, 0x20
dec r13d
rcl eax, 0x1d
btr rax, rcx
mov eax, r9d
stc
cmp dx, sp
add r12, rax
stc
jmp 0x1404b459f
sub r14d, 1
jmp 0x1404b45a8
jns 0x1404b4204
mov r13, qword [rsp + 0x218]
lea edx, [r10 + 1]
sbb ecx, 0x5ef23f68
mov ecx, edx
test r15b, 0xe9
cmp r11b, 8
cmp edx, dword [rsi]
jae 0x1404b45fe
nop word [rax + rax]
cdqe
mov ax, di
mov eax, ecx
jmp 0x1404b45e4
inc ecx
test r15b, bl
mov dword [rsi + rax*4 + 4], ebp
test sil, 0xba
clc
cmp r14b, 0x17
cmp ecx, dword [rsi]
jb 0x1404b45dd
mov dword [rsi], edx
test edx, edx
je 0x1404b4638
dec edx
test r8, 0x49d43475
cmp dil, 0xa9
cmp dword [rsi + rdx*4 + 4], ebp
jmp 0x1404b461e
jne 0x1404b4638
mov dword [rsi], edx
cmc
cmp r12w, ax
test edx, edx
jmp 0x1404b4632
jne 0x1404b4608
mov rax, r12
jmp 0x1404b4640
jmp 0x1404b4653
sub eax, eax
xadd dil, dil
xor r14b, 0xd9
mov r14w, ax
add rsp, 0x220
mov si, 0x286c
mov r15d, r11d
pop r15
movsx rsi, r9w
pop r14
xchg r12b, bl
bswap si
movsx r12, r13w
pop r12
bswap rbx
movzx si, sil
pop rdi
xchg sil, bpl
movzx rsi, ax
movsx rbp, r11w
pop rsi
pop rbp
mov bl, 0x47
movsx rbx, r10w
movsx ebx, r12w
pop rbx
jmp 0x1404b469b
ret