Function at 0x1403f0037
Capabilities:
Encrypt data using speck

Disassembly:
push r15
cmc
ror r9b, cl
push r14
push r13
cmp di, bx
neg r10b
push r12
xadd r9d, r15d
sbb r14b, 0xd8
adc r10d, ebx
push rsi
push rdi
not r14
btr r14w, 0x50
push rbp
sub r9b, r13b
btr r10w, sp
shrd r15, rsi, 0x65
push rbx
cmp r8b, r11b
neg r15w
setno r15b
sub rsp, 0x78
xchg r9b, r12b
movaps xmmword [rsp + 0x60], xmm6
xchg r15w, r9w
cmovo r15d, ebp
setl r10b
mov r12, r8
mov rbx, rdx
sal r15d, cl
mov r14, rcx
movsxd r10, ebx
add r9d, r12d
lea r12, [r12 + rdx]
btr r10w, r13w
movzx r9, di
test di, cx
mov dword [rcx + 8], 0
bt r15, 0x8f
mov r9w, 0x350d
sar r15, 0x2f
lea r9, [rsp + 0x50]
shld r15d, esi, 0xe4
or r15b, dil
cmc
lea r15, [rcx + 0x18]
xor eax, eax
mov r10b, al
movzx r10w, r15b
movzx r10, r12w
lea r10, [0x1400bedd0]
jmp 0x1403f00f4
xorps xmm6, xmm6
lea r11, [rsp + 0x28]
test r9, 0x7f315e3a
ror r13b, cl
bt r13w, 0x94
sub ecx, ecx
shl r13d, 0xbd
bts r13w, r13w
lea r13, [rbx + 1]
cmp r13, r12
jmp 0x1403f0123
ja 0x1403f07ed
mov rdx, rbx
movzx edi, byte [rbx]
mov ebp, edi
sub rbx, rdx
and ebp, 0x7f
shl rbp, cl
lea rax, [rax + rbp]
shld bx, r8w, 0xd5
inc bh
bswap rbx
add rcx, 7
mov bx, 0x101b
movzx bx, spl
sbb bh, 0x64
mov rbx, r13
test ebx, 0x49d35c41
test rsp, rcx
test dil, dil
jmp 0x1403f016d
js 0x1403f0117
mov rcx, rax
clc
jmp 0x1403f017d
shr rcx, 3
cmp dil, r11b
clc
cmp rcx, 4
jmp 0x1403f018e
jle 0x1403f01c1
cmp rcx, 5
jmp 0x1403f019d
je 0x1403f025d
cmp rcx, 6
je 0x1403f0300
cmp rcx, 7
jmp 0x1403f01b6
je 0x1403f0394
jmp 0x1403f01df
cmp rcx, 1
jmp 0x1403f01ca
je 0x1403f0449
cmp rcx, 2
jmp 0x1403f01d9
je 0x1403f04f1
and eax, 7
stc
cmp rax, 1
jmp 0x1403f01ec
jg 0x1403f06c1
test rax, rax
jmp 0x1403f01fa
jne 0x1403f075e
mov rdx, r13
jmp 0x1403f0208
nop dword [rax]
mov bl, r9b
xor rbx, 0x630a1026
xor bl, bh
lea rbx, [rdx + 1]
cmp rbx, r12
jmp 0x1403f0223
ja 0x1403f07ed
cmp byte [rdx], 0
not ecx
mov cx, r9w
mov eax, 0
movzx rdx, ax
cqo
mov dl, r9b
mov ecx, 0
jmp 0x1403f024f
mov rdx, rbx
js 0x1403f0217
jmp 0x1403f0117
test al, 7
jmp 0x1403f0264
jne 0x1403f07ed
or byte [r14 + 8], 0x20
shl bh, 0x2d
ror bl, cl
cmp r8b, 0xf
mov rdx, r13
movsxd rbx, edx
xor eax, eax
cmp r14b, 0xdf
xor ecx, ecx
clc
xor bl, r14b
shl ebx, 0x50
nop dword [rax + rax]
bt ebx, 0xe7
xor bh, 0x35
lea rbx, [rdx + 1]
cmp dx, sp
test dl, 0xaa
test spl, r10b
cmp rbx, r12
jmp 0x1403f02b1
ja 0x1403f07ed
movzx ebp, byte [rdx]
mov edx, ebp
clc
test r14w, bx
and edx, 0x7f
clc
cmc
shl rdx, cl
cmp r10b, 0xfc
cmp r11b, r11b
cmc
lea rax, [rax + rdx]
ror dx, 0x68
add rcx, 7
mov rdx, rbx
cmp bp, bx
test bpl, bpl
jmp 0x1403f02eb
js 0x1403f029c
mov qword [r14 + 0x30], rax
cmc
cmp r11d, r8d
sub eax, eax
jmp 0x1403f010c
test al, 7
jmp 0x1403f0307
jne 0x1403f07ed
or byte [r14 + 8], 0x40
inc dx
mov rdx, r13
shl rbx, cl
xor eax, eax
sub ecx, ecx
nop word cs:[rax + rax]
rcr rbx, cl
shr bl, 0xfe
lea rbx, [rdx + 1]
cmc
stc
cmp rbx, r12
jmp 0x1403f033d
ja 0x1403f07ed
movzx ebp, byte [rdx]
mov edx, eax
mov edx, ebp
stc
clc
and edx, 0x7f
test spl, bl
clc
shl rdx, cl
cmp r14d, r15d
clc
add rax, rdx
cmp r11b, bpl
and edx, 0x53e546a5
add rcx, 7
sbb dl, 0x91
neg dh
mov rdx, rbx
test r9w, r9w
test bpl, bpl
jmp 0x1403f037e
js 0x1403f032f
mov qword [r14 + 0x38], rax
xor eax, eax
jmp 0x1403f038f
jmp 0x1403f010c
test al, 7
jmp 0x1403f039b
jne 0x1403f07ed
or byte [r14 + 8], 0x80
shld rbx, r14, 0x35
mov rdx, r13
rcl bx, 0x16
sub ebx, 0x62f86e23
cmovl ebx, esp
sub eax, eax
add bh, 0xfb
sar bl, 0x86
sub ecx, ecx
nop word cs:[rax + rax]
shr bh, 0xd2
shl bx, cl
lea rbx, [rdx + 1]
jmp 0x1403f03de
cmp rbx, r12
jmp 0x1403f03e6
ja 0x1403f07ed
movzx ebp, byte [rdx]
add dl, r9b
stc
rcl dh, 0x69
mov edx, ebp
test r11b, dl
cmp ax, 0x391f
and edx, 0x7f
shl rdx, cl
cmp al, 0xf9
lea rax, [rax + rdx]
not dl
xor dl, sil
add rcx, 7
test bpl, 0x17
clc
shl dh, 7
mov rdx, rbx
cmp r8b, 0xbf
cmc
jmp 0x1403f0429
test bpl, bpl
jmp 0x1403f0431
js 0x1403f03d5
mov qword [r14 + 0x40], rax
clc
cmc
sub eax, eax
jmp 0x1403f0444
jmp 0x1403f010c
test al, 7
jmp 0x1403f0450
jne 0x1403f07ed
or byte [r14 + 8], 2
mov rdx, r13
adc bx, 0x3c7
movsx rbx, r15w
xor eax, eax
cmovne rbx, r11
btr bx, 0x57
sub ecx, ecx
rcr ebx, cl
bswap bx
sbb bl, r12b
nop word cs:[rax + rax]
mov bh, dl
lea rbx, [rdx + 1]
cmp r11b, 0xb
cmp rbx, r12
jmp 0x1403f0498
ja 0x1403f07ed
movzx ebp, byte [rdx]
and dx, r12w
xadd dx, dx
neg dx
mov edx, ebp
cmp r13w, r14w
and edx, 0x7f
clc
shl rdx, cl
jmp 0x1403f04bf
lea rax, [rax + rdx]
add rcx, 7
movsx dx, r13b
cdq
mov rdx, rbx
test bpl, bpl
jmp 0x1403f04d8
js 0x1403f0488
mov qword [r14 + 0x10], rax
cmp r12b, 0x1a
cmc
test bx, di
xor eax, eax
jmp 0x1403f010c
and eax, 7
clc
cmp eax, 2
jmp 0x1403f04fd
jne 0x1403f07ed
or byte [r14 + 8], 4
mov rbp, r13
movsxd rdx, esi
cmove dx, r13w
rol edx, cl
sub r8d, r8d
xor ecx, ecx
cqo
btr dx, 0xcd
bt rdx, 0x2c
nop dword [rax + rax]
shr edx, cl
mov dh, 0x15
lea rdx, [rbp + 1]
cmp rdx, r12
jmp 0x1403f053c
ja 0x1403f07ed
mov rax, r8
or bl, dil
shr dil, cl
sub rbx, 0x57e95d5f
movzx edi, byte [rbp]
mov ebx, edi
and ebx, 0x7f
shl rbx, cl
mov bpl, r8b
add r8, rbx
shl rbp, cl
movsxd rbp, r12d
test di, r14w
add rcx, 7
movzx ebp, ax
xor bpl, 0x87
mov rbp, rdx
test spl, 0xcb
test dil, dil
jmp 0x1403f0588
js 0x1403f0530
lea rbx, [rbx + rax]
stc
cmp r11b, 0x14
jmp 0x1403f059c
add rbx, rdx
cmp rbx, r12
jmp 0x1403f05a7
ja 0x1403f07ed
mov rdi, r10
bswap rbp
mov qword [rsp + 0x28], r10
mov dword [rsp + 0x30], 0
movups xmmword [r9 - 0x18], xmm6
movzx rsi, cx
setne bpl
movzx bp, bpl
mov dword [r9 - 8], 0
mov rsi, r9
movups xmmword [r9], xmm6
xchg bp, cx
mov rbp, r11
setnp cl
movsx rcx, bx
movzx rcx, r8w
mov rcx, r11
jmp 0x1403f05fa
call fcn.1403f1134
test al, al
jmp 0x1403f0606
je 0x1403f07ed
mov rdx, qword [r14 + 0x20]
cmc
cmp rdx, qword [r14 + 0x28]
jmp 0x1403f061a
je 0x1403f07b4
mov r10, rdi
dec r11b
mov qword [rdx], rdi
mov dword [rdx + 8], 0
movups xmmword [rdx + 0x28], xmm6
mov eax, dword [rsp + 0x30]
test spl, 0x5a
ror r11, cl
mov dword [rdx + 8], eax
shl r11w, cl
inc r11b
mov rax, qword [rsp + 0x38]
adc r9w, r9w
xadd r11b, r9b
sbb r11w, 0xd7a
mov qword [rdx + 0x10], rax
sar ax, 0xff
setp r9b
mov rax, qword [rsp + 0x40]
btr r9w, 0xdb
mov qword [rdx + 0x18], rax
rcl r11b, 0x50
not al
test r8b, 0xbc
mov eax, dword [rsp + 0x48]
sbb r11b, 0x81
rol r11b, 0xe6
jmp 0x1403f0692
mov dword [rdx + 0x20], eax
mov r9, rsi
cmovb r11, rdi
movups xmm0, xmmword [rsi]
movups xmmword [rdx + 0x28], xmm0
add qword [r14 + 0x20], 0x38
not r11d
shr r11b, cl
ror r11b, 0xb
mov r11, rbp
sub eax, eax
jmp 0x1403f06bc
jmp 0x1403f010c
cmp eax, 5
jmp 0x1403f06c9
je 0x1403f077a
cmp eax, 2
jne 0x1403f07ed
mov rax, r13
xor edx, edx
btr edi, r14d
sub ecx, ecx
ror dil, 0x56
shl edi, 0xef
bsr rdi, rax
nop
lea rdi, [rax + 1]
cmp rdi, r12
ja 0x1403f07ed
mov rbp, rdx
movzx esi, byte [rax]
mov ebx, esi
mov al, bl
and al, bpl
and ebx, 0x7f
test r11b, 0x3b
dec rax
add al, spl
shl rbx, cl
sal al, 0xd4
shr al, cl
add rdx, rbx
test dil, 0xc4
add rcx, 7
stc
sbb eax, 0x5b05583
mov rax, rdi
test sil, sil
jmp 0x1403f073b
js 0x1403f06f0
add rbx, rbp
add rbx, rdi
stc
test bx, bp
cmp rbx, r12
jmp 0x1403f0753
cmova rbx, rdi
xor eax, eax
jmp 0x1403f010c
cmp eax, 1
jmp 0x1403f0766
jne 0x1403f07ed
add rdx, 9
jmp 0x1403f0775
jmp 0x1403f0788
add rdx, 5
test r11d, 0x68eb5d33
shl bl, 0xb1
cmp rdx, r12
jmp 0x1403f0795
cmova rdx, r13
bsr bx, r13w
mov bl, sil
cmp spl, 0x27
mov rbx, rdx
xor eax, eax
jmp 0x1403f07af
jmp 0x1403f010c
mov rcx, r15
movsx r8d, r10w
bswap r8w
movzx r8w, bl
mov r8, rbp
call fcn.1403f1ad6
mov r11, rbp
sal r9b, 0x8f
not r9d
sbb r9b, 0x5a
mov r9, rsi
mov r10, rdi
clc
xor eax, eax
jmp 0x1403f07e8
jmp 0x1403f010c
cmp r13, r12
movsx bp, r8b
movzx si, r10b
seta al
cmp rdx, r10
movaps xmm6, xmmword [rsp + 0x60]
adc bh, 0xc3
add rsp, 0x78
movzx esi, ax
pop rbx
pop rbp
pop rdi
xchg r15b, r15b
movsx r15d, r12w
mov r13, 0x755e30ba
pop rsi
movzx r13w, dl
pop r12
xchg r14w, r15w
pop r13
movzx r15w, r8b
movsx r14w, r13b
movsx r14d, r12w
pop r14
movsxd r15, r9d
xchg r15d, r15d
movsx r15d, r12w
pop r15
jmp 0x1403f084f
ret