Function at 0x1403e2f98
Capabilities:
Encrypt data using speck

Disassembly:
push r15
sal r9b, 0xb9
jmp 0x1403e2fbb
push r14
push r13
push r12
shr r15d, 0xb1
clc
and r12w, r14w
push rsi
ror r9b, cl
test r8d, 0x19bd2269
neg al
push rdi
push rbp
ror r12b, cl
or r11d, 0x781367c5
or r15b, r13b
push rbx
bts r11d, r9d
sub rsp, 0x98
movaps xmmword [rsp + 0x80], xmm7
or r12b, bpl
rcl r9, cl
shr r12w, 0x80
movaps xmmword [rsp + 0x70], xmm6
ror r9b, cl
sar r11b, 0x75
mov rsi, r8
cdqe
movzx r15, r9w
mov r15, rdx
shrd ax, bx, 0xee
cmp dl, dil
shr r12w, 0x29
mov r12, rcx
bts ax, r8w
lea rsi, [rsi + rdx]
sal al, 0x39
mov dword [rcx + 8], 0
btr ax, r13w
lea r11, [rsp + 0x28]
not eax
cmc
lea rax, [rcx + 0x38]
sbb r9b, r15b
mov qword [rsp + 0x68], rax
shl r9b, cl
lea r9, [rcx + 0x10]
sub eax, eax
jmp 0x1403e3068
xorps xmm6, xmm6
movaps xmm7, xmmword [0x1400bd400]
add r10b, r13b
test r11b, 0xf7
lea r10, [rsp + 0x20]
and r14w, r9w
add r8b, 0x49
and r8w, 0x52ae
mov r8d, 0x16
movsx r14w, dil
adc r14b, al
xor ecx, ecx
adc r14, r8
lea r14, [r15 + 1]
clc
test r10b, cl
cmp r14, rsi
jmp 0x1403e30af
ja 0x1403e3990
mov rdx, r15
bsf rdi, rbx
movzx edi, byte [r15]
sbb r15w, 0x29a8
mov ebp, edi
and ebp, 0x7f
cmc
shl rbp, cl
lea rax, [rax + rbp]
test r9w, ax
btr r15w, sp
clc
add rcx, 7
add r15b, bpl
and r15b, al
add r15b, 4
mov r15, r14
test dil, dil
jmp 0x1403e30f6
js 0x1403e309f
mov rcx, rax
cmc
shr rcx, 3
stc
and eax, 7
clc
cmp r12b, sil
cmp rcx, 3
jmp 0x1403e3115
je 0x1403e326c
cmp rcx, 2
jmp 0x1403e3124
je 0x1403e383b
cmp rcx, 1
jmp 0x1403e3133
jne 0x1403e3496
cmp eax, 2
jmp 0x1403e3141
jne 0x1403e3990
or byte [r12 + 8], 2
bt r15, rdi
stc
sub edi, edi
mov rax, r14
sub ecx, ecx
btr r15w, 0x12
nop word [rax + rax]
bswap r15d
xor r15w, cx
rcl r15b, cl
lea r15, [rax + 1]
cmp dx, r13w
cmp r15, rsi
ja 0x1403e3990
movzx edx, byte [rax]
rcl rax, 0x7f
mov eax, edx
and eax, 0x7f
cmp r13b, r15b
test bl, bh
shl rax, cl
test dh, 0x13
clc
lea rdi, [rdi + rax]
add ax, 0x2398
add rcx, 7
lahf
clc
mov rax, r15
cmc
test spl, 0x9d
test dl, dl
js 0x1403e3172
movaps xmmword [rsp + 0x30], xmm6
jmp 0x1403e31c7
movaps xmmword [rsp + 0x20], xmm6
test rdi, rdi
jmp 0x1403e31d4
je 0x1403e3508
js 0x1403e3a0c
cmp rdi, 0xf
jmp 0x1403e31e9
ja 0x1403e351b
mov qword [rsp + 0x30], rdi
cmovp r8w, r13w
xchg ebp, edx
mov qword [rsp + 0x38], 0xf
cmovns r8, r10
not rbx
mov rcx, r10
movzx ebp, dx
movzx rbp, cx
mov rdx, r15
movzx rbp, sp
movsx r13d, dx
movsx bp, r8b
mov r8, rdi
movsx bx, bl
bswap bx
movzx bp, r15b
mov rbx, r9
mov rbp, r10
mov r13, r11
jmp 0x1403e3242
call fcn.1404a3857
mov r11, r13
mov r8d, 0x16
movsx r10w, sil
bswap r10d
movzx r9, r8w
mov r10, rbp
mov r9, rbx
jmp 0x1403e3267
jmp 0x1403e362e
cmp eax, 2
jmp 0x1403e3274
jne 0x1403e3990
or byte [r12 + 8], 8
mov rbp, r14
dec dh
movsxd rdx, esp
xor r8d, r8d
movsx edx, sp
xor ecx, ecx
btc dx, 0x60
sal dx, cl
bt dx, 0x81
nop dword [rax]
lea rdx, [rbp + 1]
cmp dh, 0x1a
test sil, r9b
cmp rdx, rsi
jmp 0x1403e32b6
ja 0x1403e3990
mov rax, r8
movzx ebx, byte [rbp]
sal r15, cl
sar r15, cl
mov r15d, ebx
and r15d, 0x7f
shld rbp, rdx, 0xd1
shr bpl, cl
shl r15, cl
sbb bpl, bl
add r8, r15
cmp bl, r13b
sar bp, cl
add rcx, 7
clc
mov rbp, rdx
cmc
test bl, bl
jmp 0x1403e32f7
js 0x1403e32a4
lea r15, [r15 + rax]
cmp sp, 0x6f3f
lea r15, [r15 + rdx]
jmp 0x1403e330f
cmp r15, rsi
jmp 0x1403e3317
ja 0x1403e3990
mov qword [rsp + 0x60], r9
lahf
cdqe
movsx rbx, r11w
lea rax, [0x1400bed30]
movsx bx, ch
mov qword [rsp + 0x20], rax
movzx ecx, r13w
jmp 0x1403e3342
lea rax, [rsp + 0x30]
movsx rbx, r12w
movups xmmword [rax], xmm6
movsx ecx, r12w
movzx ecx, sp
movups xmmword [rsp + 0x40], xmm7
mov r13b, 4
jmp 0x1403e3362
mov qword [rsp + 0x50], 0
mov byte [r11 + 8], 0
movzx r13d, sp
bswap ebx
mov r13, r11
movzx ecx, dx
movsxd rcx, r9d
mov rbx, r13
mov qword [r11], 0
movsx rcx, bx
mov ch, 0x8c
mov rbx, r10
bswap cx
mov rcx, r10
jmp 0x1403e339e
call fcn.1403e439c
mov ebp, eax
test al, al
jmp 0x1403e33ac
je 0x1403e3778
mov rdi, qword [r12 + 0x40]
cmp r10b, 0x18
stc
test r10d, 0x7a184936
cmp rdi, qword [r12 + 0x48]
jmp 0x1403e33cd
je 0x1403e358a
lea rax, [0x1400bed30]
mov qword [rdi], rax
cmovg ax, sp
mov dword [rdi + 8], 0
sbb al, bpl
mov al, bh
movups xmmword [rdi + 0x10], xmm6
shr ax, 0x8c
ror ah, cl
movzx eax, r15w
mov qword [rdi + 0x20], 0
ror al, 0xf0
rcr ax, cl
mov qword [rdi + 0x28], 0xf
ror ax, 0x4e
xchg al, ah
movsx ax, r8b
mov eax, dword [rsp + 0x28]
jmp 0x1403e3425
mov dword [rdi + 8], eax
shr al, 3
movzx eax, bx
not rax
mov eax, dword [rsp + 0x2c]
mov dword [rdi + 0xc], eax
cmp cx, si
cmc
cmp rdi, rbx
je 0x1403e3764
cmp qword [rsp + 0x48], 0x10
not r9b
lea r9, [rsp + 0x30]
jb 0x1403e3469
mov r9, qword [rsp + 0x30]
movsx cx, r12b
cmc
movzx r13w, dil
lea rcx, [rdi + 0x10]
rol r13b, cl
mov r13, qword [rsp + 0x40]
cmp r13, 0xf
jmp 0x1403e347e
jbe 0x1403e3728
mov rdx, r13
jmp 0x1403e348c
call fcn.1403bb45d
jmp 0x1403e3756
cmp rax, 1
jmp 0x1403e349f
jg 0x1403e387c
test rax, rax
jmp 0x1403e34ad
jne 0x1403e3948
mov rdx, r14
add r15w, r11w
shl r15b, cl
nop word [rax + rax]
lea r15, [rdx + 1]
stc
cmp r15, rsi
ja 0x1403e3990
cmp byte [rdx], 0
movsx cx, sil
cwde
bswap eax
mov eax, 0
movsx dx, r12b
cqo
mov ecx, 0
setae dh
jmp 0x1403e34f5
mov rdx, r15
jmp 0x1403e34fd
js 0x1403e34c3
jmp 0x1403e309f
mov qword [rsp + 0x38], 0xf
jmp 0x1403e3516
jmp 0x1403e362e
mov qword [rsp + 0x60], r9
shl bpl, 0x69
mov rbx, r11
shrd rbp, r9, 0x80
clc
adc bp, 0x671b
mov rbp, rdi
clc
or rbp, 0xf
cmp rbp, 0x17
jmp 0x1403e3543
cmovb rbp, r8
jmp 0x1403e354d
cmp rbp, 0xfff
jmp 0x1403e3559
jb 0x1403e35b5
lea rcx, [rbp + 0x28]
jmp 0x1403e3568
call fcn.140448126
lea r13, [rax + 0x27]
cmp bh, ch
and r13, 0xffffffffffffffe0
jmp 0x1403e357c
mov qword [r13 - 8], rax
jmp 0x1403e3585
jmp 0x1403e35c6
mov rcx, qword [rsp + 0x68]
jmp 0x1403e3594
mov rdx, rdi
cmovb r8d, edi
movsx r8d, ax
mov r8w, r8w
mov r8, rbx
jmp 0x1403e35ab
call fcn.1403e4d2d
jmp 0x1403e3778
lea rcx, [rbp + 1]
jmp 0x1403e35be
call fcn.140448126
mov r13, rax
mov qword [rsp + 0x20], r13
xchg ch, cl
cwd
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x38], rbp
mov rcx, r13
cqo
movzx dx, al
movzx edx, si
mov rdx, r15
cmovg r8, r10
mov r8, rdi
call fcn.1404a3857
mov byte [r13 + rdi], 0
add ax, r11w
sal r9w, 0xa
mov r11, rbx
mov r9, qword [rsp + 0x60]
bsr r10w, cx
xadd r8w, ax
add r8w, 0x5beb
lea r10, [rsp + 0x20]
rcl al, cl
inc al
or r8b, 0x2f
mov r8d, 0x16
mov rax, qword [r12 + 0x28]
cmp rax, 0x10
jb 0x1403e36e8
mov rcx, qword [r9]
rol dx, 0x7e
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1403e36ad
mov rbp, qword [rcx - 8]
cmp al, al
cmc
test r11b, r11b
add rcx, 0xfffffffffffffff8
cmp r14b, 0xdf
sub rcx, rbp
cmc
clc
cmp rcx, 0x20
jmp 0x1403e3675
jae 0x1403e3a11
mov r13, r10
cwd
add dx, sp
mov rbx, r9
dec dl
shld rcx, r11, 0x55
add rax, 0x28
movsx rdx, r12w
movsxd rcx, esp
mov rdx, rax
movzx cx, r9b
mov rcx, rbp
jmp 0x1403e36a8
jmp 0x1403e36ba
mov r13, r10
movsx bx, cl
bswap rbx
mov rbx, r9
call fcn.1401ba130
mov r9, rbx
xor r10b, 0x86
add r10b, 0x81
mov r11b, 0xb5
mov r10, r13
and rcx, 0x3d584007
sub r8w, 0x5125
mov r8d, 0x16
lea r11, [rsp + 0x28]
add r15, rdi
movaps xmm0, xmmword [rsp + 0x20]
movaps xmm1, xmmword [rsp + 0x30]
movups xmmword [r9 + 0x10], xmm1
jmp 0x1403e3701
movups xmmword [r9], xmm0
mov eax, 0
add cl, dil
xadd ch, ch
mov ecx, 0
cmp r15, rsi
jmp 0x1403e371d
jbe 0x1403e309f
jmp 0x1403e3990
mov qword [rdi + 0x20], r13
mov r8, 0x17242d36
movsx rdx, r13w
not r8
mov rdx, r9
jmp 0x1403e3742
mov r8, r13
call fcn.1404a3857
mov byte [rdi + r13 + 0x10], 0
btr r13w, 0xbb
lea r13, [rsp + 0x28]
rcl al, cl
jmp 0x1403e3764
mov rax, qword [rsp + 0x50]
stc
cmp r14b, 0x33
mov qword [rdi + 0x30], rax
add qword [r12 + 0x40], 0x38
lea rax, [0x1400bed30]
mov qword [rsp + 0x20], rax
bt eax, 0x68
ror ah, 0x45
mov rax, qword [rsp + 0x48]
clc
cmp rax, 0x10
jb 0x1403e37f5
mov rcx, qword [rsp + 0x30]
movzx rdx, r15w
lea rdx, [rax + 1]
cmc
cmp rdx, 0x1000
jmp 0x1403e37b5
jb 0x1403e37f0
mov rdi, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
cmp r8b, r11b
clc
sub rcx, rdi
clc
cmp r12, 0x4b3652fa
cmp rcx, 0x20
jmp 0x1403e37db
jae 0x1403e3a11
add rax, 0x28
mov rdx, rax
mov rcx, rdi
jmp 0x1403e37f0
call fcn.1401ba130
mov eax, 0
and cx, bp
mov ecx, 0
sal r11b, cl
stc
test bpl, bpl
mov r10w, 0x7a83
movsx r9w, cl
mov r9, qword [rsp + 0x60]
mov r10, rbx
movzx r11d, r13w
mov r11, r13
mov r8b, r12b
mov r8d, 0x16
jmp 0x1403e3830
jne 0x1403e309f
jmp 0x1403e3990
cmp eax, 1
jmp 0x1403e3843
jne 0x1403e3990
or byte [r12 + 8], 4
cmc
cmp rsp, rbx
stc
add rdx, 9
jmp 0x1403e3861
cmp rdx, rsi
ja 0x1403e3990
mov rax, qword [r14]
jmp 0x1403e3872
mov qword [r12 + 0x30], rax
jmp 0x1403e397f
cmp eax, 5
jmp 0x1403e3884
je 0x1403e395f
cmp eax, 2
jmp 0x1403e3892
jne 0x1403e3990
mov rax, r14
btr rbp, 0xd5
xor edx, edx
sar bp, 0xdd
rol ebp, 3
xor ecx, ecx
ror bpl, 0x99
bt bp, 0x42
nop word [rax + rax]
lea rbp, [rax + 1]
cmp r9, rbp
cmp rbp, rsi
jmp 0x1403e38cc
ja 0x1403e3990
mov rdi, rdx
movzx ebx, byte [rax]
rcl r15, 0xd1
sar eax, cl
mov r15d, ebx
mov ah, 8
test r13w, 0x6337
and r15d, 0x7f
adc al, al
test sil, 0xe7
shl r15, cl
rol ah, cl
rcr al, cl
add rdx, r15
neg al
sbb al, 0xa6
add rcx, 7
mov rax, rbp
jmp 0x1403e390f
test bl, bl
js 0x1403e38bd
lea r15, [r15 + rdi]
cmp r15b, 0x96
test r8, r10
lea r15, [r15 + rbp]
test r15b, 0x1d
cmp ax, 0x3f8e
cmp r15, rsi
cmova r15, rbp
test rsi, r10
cmp r11w, dx
xor eax, eax
jmp 0x1403e3943
jmp 0x1403e309a
cmp eax, 1
jne 0x1403e3990
add rdx, 9
jmp 0x1403e395a
jmp 0x1403e396c
add rdx, 5
rcr r15b, cl
and r15b, cl
xchg r15b, r15b
cmp rdx, rsi
movzx r15w, spl
not r15b
movsx r15d, di
cmova rdx, r14
mov r15, rdx
stc
cmc
xor eax, eax
jmp 0x1403e398b
jmp 0x1403e309a
cmp r14, rsi
xchg ebp, r15d
seta al
movzx r13d, r14w
ror di, 0xd4
mov r14b, r12b
movaps xmm6, xmmword [rsp + 0x70]
movaps xmm7, xmmword [rsp + 0x80]
mov r15d, edi
btc esi, ebx
btr bp, 0x9a
add rsp, 0x98
movzx si, r11b
movzx r13d, r12w
pop rbx
movzx r12, r14w
xchg sil, sil
pop rbp
movsx si, r14b
pop rdi
pop rsi
mov r13b, r14b
movzx r14w, dil
pop r12
movzx r15w, al
pop r13
movzx r15w, r15b
movsx r14d, ax
xchg r14, r14
pop r14
bswap r15w
jmp 0x1403e3a04
pop r15
jmp 0x1403e3a0b
ret
call fcn.1403b32cd
call fcn.1404b63f8
int3