Function at 0x1404b7bac
Capabilities:
Encrypt data using speck

Disassembly:
mov qword [rsp + 0x10], rdx
xadd r10b, r10b
test bpl, r14b
push rbx
adc r10b, al
movsx r10, si
push rbp
bt r10, 0x1d
stc
push rsi
bts esi, r15d
movsx si, cl
mov r10w, 0x3f50
push rdi
rcr si, 0xc
stc
rol r10b, 0xb7
push r12
sbb r10b, sil
clc
push r14
push r15
movsx r14w, r9b
sub rsp, 0x220
cmp r11w, 0x3c02
rcr si, 0x2a
btc r10d, r15d
mov r10d, dword [rcx]
mov r14, rdx
movsx si, r15b
sub si, si
bt si, cx
mov rsi, rcx
clc
test r10d, r10d
jmp 0x1404b7c21
je 0x1404b8480
mov edi, dword [rdx]
cmc
test edi, edi
je 0x1404b8480
dec r10d
lea eax, [rdi - 1]
test eax, eax
jmp 0x1404b7c3f
jne 0x1404b7e04
mov r12d, dword [rdx + 4]
sub ebp, ebp
test r14w, r12w
cmc
clc
cmp r12d, 1
jmp 0x1404b7c5a
jne 0x1404b7caa
mov ebx, dword [rcx + 4]
lea r8, [rsp + 0x44]
add rcx, 4
btr dx, 0x8d
shld edx, r11d, 0xf2
mov dword [rsi], ebp
and dl, r8b
sbb rdx, 0x1bf30c0d
xor r9d, r9d
bswap dx
mov dword [rsp + 0x40], ebp
movzx edx, r8w
cwd
not dl
mov edx, 0x1cc
jmp 0x1404b7c9e
call fcn.1404b7a8b
mov eax, ebx
jmp 0x1404b8485
test r10d, r10d
jmp 0x1404b7cb2
jne 0x1404b7d17
mov ebx, dword [rcx + 4]
lea r8, [rsp + 0x44]
setne dl
or dl, bpl
shr dl, cl
mov dword [rcx], ebp
movsxd rdx, r12d
cmp bl, 0x26
sub r9d, r9d
add rcx, 4
mov dword [rsp + 0x40], ebp
mov edx, 0x1cc
jmp 0x1404b7ce5
call fcn.1404b7a8b
sub edx, edx
shr bpl, cl
ror eax, 0xed
mov eax, ebx
cmc
sbb bpl, r14b
cmp r15b, 0xaa
div r12d
neg bpl
test edx, edx
mov dword [rsi + 4], edx
setne bpl
jmp 0x1404b7d10
mov dword [rsi], ebp
jmp 0x1404b8485
mov r15d, 0xffffffff
movsx rdi, r10w
test bh, 0x1b
ror dil, 0xf9
mov rdi, rbp
mov r14, rbp
cmp r13b, 0x1b
jmp 0x1404b7d37
cmp r10d, r15d
je 0x1404b7d86
mov rcx, r12
mov eax, dword [rsi + r10*4 + 4]
xor edx, edx
jmp 0x1404b7d4f
shl r14, 0x20
add r10d, r15d
clc
or rax, r14
neg r14d
shl rdi, 0x20
shrd r14d, eax, 0x18
cmc
div rcx
shl r14w, cl
mov eax, eax
mov r14, rdx
clc
lea rdi, [rdi + rax]
cmp r10d, r15d
jmp 0x1404b7d80
jne 0x1404b7d43
sub r9d, r9d
mov r8w, 0x284f
not rcx
cmovnp r8w, si
mov dword [rsp + 0x40], ebp
movsx edx, dx
jmp 0x1404b7da2
lea r8, [rsp + 0x44]
mov dword [rsi], ebp
movzx dx, dl
movsx rdx, si
mov edx, 0x1cc
lea rcx, [rsi + 4]
jmp 0x1404b7dbf
call fcn.1404b7a8b
mov rcx, r14
adc al, 0x53
mov dword [rsi + 4], r14d
shr rcx, 0x20
bsr ax, sp
cmp di, ax
mov rax, rdi
test ecx, ecx
jmp 0x1404b7de2
mov dword [rsi + 8], ecx
mov bpl, cl
setne bpl
jmp 0x1404b7df1
inc ebp
jmp 0x1404b7df8
mov dword [rsi], ebp
jmp 0x1404b7dff
jmp 0x1404b8485
cmp eax, r10d
jmp 0x1404b7e0c
ja 0x1404b8480
mov r8d, r10d
xor dl, 0x22
not dx
movsxd rdx, r10d
sal r9b, cl
and r9w, 0x1a37
movsx rbx, r13w
sub r8d, eax
adc bh, 0x74
not bx
ror r9b, cl
mov r9d, r10d
movsxd rbx, r8d
cmc
clc
cmp rdx, rbx
jmp 0x1404b7e47
jl 0x1404b7ee7
add rcx, 4
add rax, rax
sal ah, cl
shl ax, cl
lea rax, [rbx*4]
rcr r11b, 0xb9
mov r11, r14
sub r11, rax
bswap eax
sub r11, rsi
sbb al, r13b
or ax, r10w
movsxd rax, ebx
lea rcx, [rcx + rdx*4]
sar eax, 0xd9
mov eax, dword [rcx]
test bl, 2
stc
cmp dword [r11 + rcx], eax
jne 0x1404b7eb4
dec r9d
jmp 0x1404b7e99
dec rdx
cmp dx, 0x3880
sub rcx, 4
cmc
cmp rdx, rbx
jge 0x1404b7e81
jmp 0x1404b7ee7
mov eax, r9d
dec edx
sub eax, r8d
or rcx, 0x24fc5c6e
movsxd rdx, eax
shrd ax, r15w, 0xdb
sal eax, cl
movsxd rax, r9d
sal ch, cl
mov ecx, dword [rsi + rax*4 + 4]
jmp 0x1404b7edc
cmp dword [r14 + rdx*4 + 4], ecx
jae 0x1404b7eea
inc r8d
test r8d, r8d
je 0x1404b8480
lea eax, [rdi - 1]
shrd ebp, r14d, 0x90
shl rbx, cl
btr r9w, 0xcd
mov ebx, 0x20
bts bp, r15w
setge r9b
mov r9d, dword [r14 + rax*4 + 4]
btc ax, 0xa3
lahf
lea eax, [rdi - 2]
xchg ebp, ebp
and bpl, 0xf9
movsxd rbp, r10d
mov ebp, dword [r14 + rax*4 + 4]
and al, 0xd8
bsr eax, r9d
jmp 0x1404b7f39
mov dword [rsp + 0x260], ebp
jmp 0x1404b7f45
je 0x1404b7f64
mov r11d, 0x1f
stc
jmp 0x1404b7f57
sub r11d, eax
jmp 0x1404b7f5f
jmp 0x1404b7f6b
mov r11d, ebx
clc
test dl, 0xcd
sub ebx, r11d
mov dword [rsp + 0x270], r11d
test r15b, r13b
mov dword [rsp + 0x20], ebx
stc
test r13b, 0x44
test r14w, bp
test r11d, r11d
jmp 0x1404b7f8e
je 0x1404b8019
mov eax, r9d
and dl, spl
movsx r9w, spl
mov edx, ebp
sbb r9b, 0xe1
mov ecx, ebx
shr edx, cl
shr cl, 0xa5
mov ecx, r11d
shr r9b, 0xc3
shl eax, cl
mov r9d, edx
test bh, 0x97
cmc
cmp dx, 0x3561
shl ebp, cl
or r9d, eax
cmp r15, rcx
test sil, r12b
mov dword [rsp + 0x260], ebp
cmp edi, 2
jmp 0x1404b7fdb
jbe 0x1404b8019
lea eax, [rdi - 3]
ror cx, 0xea
sar ch, cl
mov ecx, ebx
btc r12, r11
mov eax, dword [r14 + rax*4 + 4]
shr eax, cl
bts r14d, ebx
rol r14b, 0x10
cmc
or ebp, eax
add r12, 0xeea754a
sar r14b, 0x1c
mov dword [rsp + 0x260], ebp
bt r14, 0x4a
sub ebp, ebp
movzx r12w, cl
lea r14d, [r8 - 1]
sub r12b, dl
adc r12b, 0x1f
mov r12d, ebp
test al, r8b
cmp r13d, 0x1aad749b
clc
test r14d, r14d
jmp 0x1404b8041
js 0x1404b83f3
mov eax, ebx
mov r15d, 0xffffffff
shr bl, cl
adc bl, r9b
mov ebx, r9d
test bl, 0x7c
stc
mov qword [rsp + 0x218], r13
bts r13d, r14d
movsx r13, ax
lea r13d, [r14 + rdi]
clc
test r12b, r9b
mov qword [rsp + 0x38], rbx
stc
mov qword [rsp + 0x30], rax
cmp r13d, r10d
jmp 0x1404b8086
ja 0x1404b8096
mov edx, dword [rsi + r13*4 + 4]
jmp 0x1404b80a2
mov edx, ebp
sbb r11b, dl
rcl rax, cl
cmp spl, 0xad
lea eax, [r13 - 1]
adc ecx, r15d
xchg r11b, cl
sar cl, 0xdb
mov dword [rsp + 0x278], edx
cmp rsp, 0x62682385
test bx, r11w
mov ecx, dword [rsi + rax*4 + 4]
lea eax, [r13 - 2]
sar r11d, cl
shr r11w, 0x5e
mov r11d, dword [rsi + rax*4 + 4]
cmp rcx, 0x78c46c17
test dil, bpl
mov qword [rsp + 0x28], rcx
cmp r10b, bpl
cmc
mov dword [rsp + 0x2c], edx
mov edx, dword [rsp + 0x270]
test edx, edx
jmp 0x1404b80fb
je 0x1404b8177
mov rcx, qword [rsp + 0x30]
neg r8
bsr ax, di
mov r8d, r11d
mov rax, qword [rsp + 0x28]
shr r8, cl
bt ecx, 0xd9
movzx rcx, r8w
mov ecx, edx
cmc
cmp r13b, 0x46
jmp 0x1404b812c
shl rax, cl
or r8, rax
shl r11d, cl
cmc
cmp r13d, 3
jmp 0x1404b813f
jb 0x1404b8181
mov ecx, dword [rsp + 0x20]
sal ax, cl
shld ax, r11w, 4
cmp ebx, ecx
lea eax, [r13 - 3]
jmp 0x1404b8163
mov eax, dword [rsi + rax*4 + 4]
cmp r13b, al
test cl, 0x31
shr eax, cl
or r11d, eax
jmp 0x1404b8181
mov r8, qword [rsp + 0x28]
mov r9w, 0x115d
xor edx, edx
sbb ah, 0x51
mov rax, r8
div rbx
xor r8b, 0x52
mov r8d, edx
cmc
mov r9, rax
jmp 0x1404b819f
cmp rax, r15
jbe 0x1404b81d4
movabs rax, 0xffffffff00000001
cmc
cmp r10d, eax
add rax, r9
cmp ax, 0x2151
bsr r9w, r12w
mov r9, r15
test r12b, bpl
jmp 0x1404b81cd
imul rax, rbx
add r8, rax
cmp r8, r15
jmp 0x1404b81dc
ja 0x1404b8250
mov edx, dword [rsp + 0x260]
or ax, r10w
lahf
shr eax, cl
mov eax, edx
stc
sar cl, 0x8e
imul rax, r9
shrd cx, r10w, 0xed
sal rcx, 0x4c
mov rcx, r8
cmc
shl rcx, 0x20
jmp 0x1404b8214
or rcx, r11
cmp bx, 0x5c78
cmp rax, rcx
jmp 0x1404b8224
jbe 0x1404b8250
dec r9
cmp edi, 0x3e4977cf
sub rax, rdx
clc
add r8, rbx
cmp r13d, 0x13971b67
clc
cmp r8, r15
jmp 0x1404b824a
jbe 0x1404b8204
test r9, r9
jmp 0x1404b8258
je 0x1404b83bf
mov r10, rbp
movzx r11, sp
shl r11b, 0xc9
mov r11d, ebp
cmp bp, cx
cmc
test edi, edi
jmp 0x1404b8277
je 0x1404b8315
mov rbx, qword [rsp + 0x268]
cwd
or al, cl
sal cx, 0xcb
add rbx, 4
nop dword [rax]
mov eax, dword [rbx]
lea rbx, [rbx + 4]
add cx, bx
ror rdx, 0xea
imul rax, r9
shrd dx, sp, 0x64
add r8w, sp
sar cx, cl
lea r10, [r10 + rax]
shld cx, cx, 0xa7
lea eax, [r11 + r14]
mov r8d, r10d
mov ecx, eax
shr r10, 0x20
movzx rdx, r12w
mov eax, dword [rsi + rax*4 + 4]
xchg edx, edx
movsx edx, si
setae dl
mov rdx, r10
inc r10
test dil, r13b
cmp eax, r8d
cmovae r10, rdx
test bp, 0xcb
clc
sub eax, r8d
inc r11d
test dil, r13b
stc
mov dword [rsi + rcx*4 + 4], eax
cmp r11d, edi
jmp 0x1404b8303
jb 0x1404b8294
mov rbx, qword [rsp + 0x38]
cwde
cmc
btr rax, 0xdd
mov eax, dword [rsp + 0x278]
test bx, r12w
cmp rax, r10
jae 0x1404b83b8
mov r10d, ebp
test edi, edi
je 0x1404b83ae
mov r11, qword [rsp + 0x268]
sub ax, r12w
adc rcx, rsi
rol rdx, cl
mov r8, rbp
sar dx, cl
cmp r9b, dil
setle dl
add r11, 4
lea eax, [r10 + r14]
mov edx, 0x18cb39d9
movzx rdx, r10w
inc r10d
bswap cx
mov ecx, dword [rsi + rax*4 + 4]
mov dl, r15b
sar dx, 0xa2
btr dx, 0xd0
lea rdx, [rsi + rax*4]
mov eax, dword [r11]
lea r11, [r11 + 4]
add r8, rax
cmc
cmp r11b, bpl
lea r8, [r8 + rcx]
test r10b, spl
stc
clc
mov dword [rdx + 4], r8d
shr r8, 0x20
test r8b, 0x1a
cmp r10d, edi
jmp 0x1404b83a8
jb 0x1404b8356
dec r9
or ah, 0xcd
shr r10w, cl
lea r10d, [r13 - 1]
rcl al, 0x31
shl r12, 0x20
dec r13d
not eax
mov eax, r9d
clc
lea r12, [r12 + rax]
jmp 0x1404b83d9
sub r14d, 1
jmp 0x1404b83e2
jns 0x1404b807e
mov r13, qword [rsp + 0x218]
cmp r12b, r12b
lea edx, [r10 + 1]
add cl, 0x8b
shld ecx, ebp, 0xec
mov ecx, edx
cmc
cmp edx, dword [rsi]
jmp 0x1404b8408
jae 0x1404b8435
nop word [rax + rax]
setns ah
movzx rax, r8w
mov eax, ecx
inc ecx
cmp bp, si
mov dword [rsi + rax*4 + 4], ebp
stc
cmc
cmp ecx, dword [rsi]
jmp 0x1404b842f
jb 0x1404b841b
mov dword [rsi], edx
cmp r9b, cl
test edx, edx
jmp 0x1404b8441
je 0x1404b8473
dec edx
jmp 0x1404b844e
cmp dword [rsi + rdx*4 + 4], ebp
jmp 0x1404b8457
jne 0x1404b8473
mov dword [rsi], edx
cmp bl, r15b
test r11, r13
cmc
test edx, edx
jmp 0x1404b846d
jne 0x1404b8447
mov rax, r12
jmp 0x1404b847b
jmp 0x1404b8485
xor eax, eax
inc r12b
add rsp, 0x220
pop r15
pop r14
pop r12
setp dil
pop rdi
movzx esi, bp
movzx rsi, r15w
bswap rbx
pop rsi
movzx rbx, bx
pop rbp
pop rbx
jmp 0x1404b84ad
ret