Function at 0x1404a9d00
Capabilities:
Encrypt data using speck

Disassembly:
push rbp
push rsi
xadd al, ah
test bpl, 0x83
mov ax, r13w
push rdi
push r12
movsx r12w, bpl
push r13
sbb r10w, 0x5a5c
push r14
test r9b, 0xe9
sal r10b, cl
mov r12b, 0x39
push r15
and r12d, 0x1b8b7e6b
ror ah, 0x91
sub rsp, 0x70
lea rbp, [rsp + 0x40]
neg r13b
mov qword [rbp + 0x78], rbx
rol r15b, 0x4e
setle r10b
mov rax, qword [0x1400b7288]
xor rax, rbp
bt r13, r12
test bl, 0xd0
not r14
mov qword [rbp + 0x20], rax
cmp dh, 0x7b
sub r14b, 0x2b
mov r15, qword [rbp + 0x90]
adc r13b, r14b
sub r11d, r11d
stc
mov r13, qword [rbp + 0x98]
rcr r12b, cl
shrd r14w, dx, 0x87
movzx r12w, sil
mov r12, r9
mov qword [rbp], r8
mov r10, r8
bt r14w, r11w
adc r14b, bpl
shl r14b, 0xb9
mov qword [rbp + 8], rcx
sub r14b, cl
bsf r14, rsi
mov r14d, edx
test r12b, 0xcd
cmc
test edx, edx
jmp 0x1404a9dc0
je 0x1404a9df1
cmp edx, 1
jmp 0x1404a9dce
je 0x1404a9de0
mov rdi, qword [r13 + 0x2b0]
jmp 0x1404a9e00
mov rdi, qword [r13 + 0x2a8]
jmp 0x1404a9dec
jmp 0x1404a9e00
mov rdi, qword [r13 + 0x2a0]
cqo
dec edx
movsx rdx, r12w
mov edx, 1
test r8d, 0x74e03641
test r9w, sp
cmp dword [r13 + 0x158], edx
jmp 0x1404a9e1c
je 0x1404aa1aa
movzx eax, word [r8 + 0x14]
btc r9d, 4
mov ecx, 0x76c
shr r9d, cl
sal r9b, 0xf7
clc
add ax, cx
movzx ecx, dx
clc
mov word [rbp + 0x1e], r11w
mov rcx, qword [r13 + 0x2b8]
adc r9b, 0x4f
mov r9, rdi
clc
stc
mov word [rbp + 0x10], ax
cmc
sar al, cl
mov al, 0xa6
movzx eax, word [r8 + 0x10]
add ax, dx
clc
cmp r11w, 0x2f9a
xor edx, edx
clc
mov word [rbp + 0x12], ax
bsf ax, dx
movzx eax, word [r8 + 0xc]
test sp, 0x73fb
clc
mov word [rbp + 0x16], ax
or ax, si
movzx eax, word [r8 + 8]
test r13w, 0x5b96
cmp cl, r12b
mov word [rbp + 0x18], ax
btc ax, 0x91
rcr ax, cl
movzx eax, word [r8 + 4]
mov word [rbp + 0x1a], ax
btc rax, rsp
neg rax
movzx eax, word [r8]
shl r8b, 0x49
stc
lea r8, [rbp + 0x10]
cmp r8b, r14b
mov word [rbp + 0x1c], ax
cmp r14d, 2
jmp 0x1404a9ed1
jne 0x1404a9ef5
mov dword [rsp + 0x28], r11d
jmp 0x1404a9ee1
mov qword [rsp + 0x20], r11
jmp 0x1404a9eeb
call fcn.1404cbb20
jmp 0x1404a9f13
mov qword [rsp + 0x30], r11
jmp 0x1404a9eff
mov dword [rsp + 0x28], r11d
jmp 0x1404a9f09
mov qword [rsp + 0x20], r11
call fcn.1404cb87d
sub r11d, r11d
mov esi, eax
cmc
test sp, di
test eax, eax
jmp 0x1404a9f23
je 0x1404aa18e
cdqe
sub cl, r8b
add rax, rax
not cl
adc cx, 0x2e0d
ror cx, cl
lea rcx, [rax + 0x10]
clc
cmp esp, 0x7742653a
test r14b, 0xb9
cmp rax, rcx
sbb rdx, rdx
and rdx, rcx
jmp 0x1404a9f58
je 0x1404aa021
cmp rdx, 0x400
jmp 0x1404a9f6a
ja 0x1404a9fd6
lea rax, [rdx + 0xf]
clc
cmp ax, 0x3d66
test cx, 0x7781
cmp rax, rdx
ja 0x1404a9f98
movabs rax, 0xffffffffffffff0
cmp r11, 0x29351058
and rax, 0xfffffffffffffff0
jmp 0x1404a9fa1
call fcn.140448eb8
sub rsp, rax
sub r11d, r11d
mov rbx, r10
lea rbx, [rsp + 0x40]
cmc
cmp ah, 0x1b
test rbx, rbx
jmp 0x1404a9fc0
je 0x1404aa18e
mov dword [rbx], 0xcccc
jmp 0x1404a9fd1
jmp 0x1404aa013
mov rcx, rdx
jmp 0x1404a9fde
call fcn.1404ca1c3
xor r11d, r11d
sbb rbx, r13
movsx bx, r11b
mov rbx, rax
test rdx, 0x25837731
stc
test rax, rax
jmp 0x1404aa001
je 0x1404aa029
mov dword [rax], 0xdddd
test bpl, r11b
cmp cl, 0xa2
add rbx, 0x10
jmp 0x1404aa01c
jmp 0x1404aa029
mov rbx, r11
jmp 0x1404aa029
test rbx, rbx
jmp 0x1404aa031
je 0x1404aa18e
mov rcx, qword [r13 + 0x2b8]
lea r8, [rbp + 0x10]
bsf r9d, ebx
sub edx, edx
mov r9, rdi
jmp 0x1404aa050
cmp r14d, 2
jmp 0x1404aa059
jne 0x1404aa07c
mov dword [rsp + 0x28], esi
jmp 0x1404aa068
mov qword [rsp + 0x20], rbx
jmp 0x1404aa072
call fcn.1404cbb20
jmp 0x1404aa099
mov qword [rsp + 0x30], r11
mov dword [rsp + 0x28], esi
jmp 0x1404aa08a
mov qword [rsp + 0x20], rbx
jmp 0x1404aa094
call fcn.1404cb87d
mov edx, eax
mov r8, rbx
jmp 0x1404aa0a3
dec edx
stc
test edx, edx
jmp 0x1404aa0ad
jle 0x1404aa10c
mov rax, qword [r15]
cmp al, 0xe1
test rax, rax
jmp 0x1404aa0c0
je 0x1404aa10c
movzx eax, word [r8]
movsxd rcx, r8d
cmovs cx, sp
dec edx
bt rcx, rsi
cmp r14b, cl
mov rcx, qword [r12]
add r8, 2
mov word [rcx], ax
add qword [r12], 2
movsx rax, r15w
lahf
setnp ah
dec qword [r15]
mov rax, qword [r15]
jmp 0x1404aa0ff
test edx, edx
jmp 0x1404aa106
jg 0x1404aa0b8
lea rcx, [rbx - 0x10]
cmp dword [rcx], 0xdddd
jmp 0x1404aa11b
jne 0x1404aa126
call fcn.1404ca156
mov al, 1
sar ecx, cl
sbb cl, r10b
rcl ch, 0x67
mov rcx, qword [rbp + 0x20]
xor rcx, rbp
jmp 0x1404aa13c
call fcn.1404a07bb
mov rbx, qword [rbp + 0x78]
movsxd r14, r15d
lea rsp, [rbp + 0x30]
movsx edi, r9w
movsxd rdi, ebp
pop r15
setl r12b
cmovne bp, si
movzx r13w, r8b
pop r14
cmovl rbp, rsi
pop r13
jmp 0x1404aa172
pop r12
bswap si
xchg sil, dil
pop rdi
xchg si, si
movzx rbp, r13w
pop rsi
cmovp bp, cx
pop rbp
jmp 0x1404aa18d
ret
mov r10, qword [rbp]
btc r9, rsi
sal dl, cl
clc
mov edx, 1
or r9b, 0x12
rcr r9, cl
btc r9w, bx
movzx r9d, word [rdi]
cmp ax, r15w
test r9w, r9w
jmp 0x1404aa1bb
je 0x1404aa126
mov r14, qword [rbp + 8]
movsx r8w, r10b
movzx r8, r12w
movsxd r8, r8d
mov r8, qword [r15]
test di, 0x7b4e
test sil, r15b
test r8, r8
je 0x1404aa126
mov bl, r11b
mov ecx, r11d
mov rax, r11
or si, cx
rcr sil, cl
mov rsi, rdi
clc
cmp dx, bx
cmc
add rsi, 2
cmp r8b, dl
add ecx, edx
cmp r8b, dl
jmp 0x1404aa20d
lea rax, [rax + rdx]
cmp r8w, bx
cmp word [rsi], r9w
jmp 0x1404aa21e
je 0x1404aa1fc
movzx edx, r9w
jmp 0x1404aa22e
cmp edx, 0x64
jmp 0x1404aa236
ja 0x1404aa489
mov r10d, 0x64
cmp r11, 0x46487585
cmp edx, r10d
je 0x1404aa425
mov r10d, 0x27
cmp edx, r10d
je 0x1404aa39b
lea eax, [r10 + 0x1a]
cmp r9b, 0x40
cmp edx, eax
jmp 0x1404aa270
je 0x1404aa2aa
lea r8d, [r10 + 0x21]
jmp 0x1404aa27f
cmp edx, r8d
jmp 0x1404aa287
je 0x1404aa333
lea eax, [r10 + 0x26]
cmp edx, eax
je 0x1404aa2d1
lea eax, [r10 + 0x3a]
cmp edx, eax
jmp 0x1404aa2a4
jne 0x1404aa665
lea rdx, [0x1400d0e30]
mov cl, 0x46
mov rcx, rdi
call fcn.1404caf6e
test eax, eax
jne 0x1404aa35f
lea rsi, [rdi + 0xa]
jmp 0x1404aa2cc
jmp 0x1404aa38c
sub ecx, 1
jmp 0x1404aa2d9
je 0x1404aa320
sub ecx, 1
jmp 0x1404aa2e7
je 0x1404aa329
sub ecx, 1
jmp 0x1404aa2f5
je 0x1404aa311
cmp ecx, 1
jne 0x1404aa665
lea eax, [rcx + 0x41]
jmp 0x1404aa30c
jmp 0x1404aa68d
mov eax, 0x62
jmp 0x1404aa31b
jmp 0x1404aa68d
mov bl, 1
lahf
movzx rax, r14w
xchg al, al
mov eax, 0x6d
jmp 0x1404aa68d
sub ecx, 1
jmp 0x1404aa33b
je 0x1404aa354
cmp ecx, 1
jmp 0x1404aa349
je 0x1404aa356
jmp 0x1404aa665
mov bl, 1
movzx eax, r8w
jmp 0x1404aa68d
lea rdx, [0x1400d0870]
movzx cx, r12b
xchg ch, ch
seta cl
mov rcx, rdi
call fcn.1404caf6e
test eax, eax
jne 0x1404aa38c
lea rsi, [rdi + 6]
cmova ax, ax
movzx rax, r12w
mov eax, 0x70
jmp 0x1404aa396
jmp 0x1404aa68d
mov edx, 1
cmc
test dl, cl
jne 0x1404aa3bf
movsxd rax, ecx
jmp 0x1404aa3b1
lea rdi, [rdi + rax*2]
jmp 0x1404aa3ba
jmp 0x1404aa70a
lea rdi, [rdi + rax*2]
movzx ecx, word [rdi]
cmc
clc
test cx, cx
je 0x1404aa126
test r8, r8
jmp 0x1404aa3d9
je 0x1404aa70a
add rdi, 2
cmp cx, r10w
je 0x1404aa70a
mov rax, qword [r12]
sar r8b, cl
mov word [rax], cx
movsx r8, r11w
shr ch, cl
cmp r11b, 0x41
add qword [r12], 2
dec qword [r15]
shl r8b, cl
movzx ecx, word [rdi]
mov r8, qword [r15]
test cx, cx
jmp 0x1404aa41a
jne 0x1404aa3d1
jmp 0x1404aa70a
sub ecx, 1
jmp 0x1404aa42d
je 0x1404aa479
sub ecx, 1
jmp 0x1404aa43b
je 0x1404aa47b
sub ecx, 1
jmp 0x1404aa449
je 0x1404aa46a
cmp ecx, 1
jmp 0x1404aa457
jne 0x1404aa665
lea eax, [rcx + 0x40]
jmp 0x1404aa465
jmp 0x1404aa68d
mov eax, 0x61
jmp 0x1404aa474
jmp 0x1404aa68d
mov bl, 1
movzx eax, r10w
jmp 0x1404aa484
jmp 0x1404aa68d
sub edx, 0x68
jmp 0x1404aa491
je 0x1404aa649
sub edx, 5
jmp 0x1404aa49f
je 0x1404aa610
sub edx, 6
jmp 0x1404aa4ad
je 0x1404aa5dc
sub edx, 1
jmp 0x1404aa4bb
je 0x1404aa507
cmp edx, 5
jmp 0x1404aa4c9
jne 0x1404aa665
cmp ecx, 2
jmp 0x1404aa4d7
je 0x1404aa4f8
cmp ecx, 4
jmp 0x1404aa4e5
jne 0x1404aa665
lea eax, [rdx + 0x54]
jmp 0x1404aa4f3
jmp 0x1404aa68d
mov eax, 0x79
jmp 0x1404aa502
jmp 0x1404aa68d
cmp dword [r10 + 8], 0xb
jmp 0x1404aa511
jg 0x1404aa528
mov rdx, qword [r13 + 0x290]
jmp 0x1404aa523
jmp 0x1404aa53b
mov rdx, qword [r13 + 0x298]
cmp r9w, si
test bpl, dl
jmp 0x1404aa53b
cmp ecx, 1
jmp 0x1404aa543
jne 0x1404aa5c6
test r8, r8
jmp 0x1404aa551
je 0x1404aa5c6
mov rcx, qword [r12]
sub ax, r13w
sub al, 0xfc
stc
movzx eax, word [rdx]
mov word [rcx], ax
test r13b, r15b
jmp 0x1404aa570
add qword [r12], 2
jmp 0x1404aa57a
dec qword [r15]
jmp 0x1404aa582
jmp 0x1404aa6f6
test r8, r8
jmp 0x1404aa58f
je 0x1404aa6f6
mov rax, qword [r12]
xchg r8b, r8b
stc
add rdx, 2
mov word [rax], cx
shr rcx, cl
movsx cx, bl
add cl, dh
add qword [r12], 2
dec r8d
movsx r8d, di
xchg r8, r8
dec qword [r15]
rol r8b, 0x88
mov r8, qword [r15]
movzx ecx, word [rdx]
test cx, cx
jmp 0x1404aa5d1
jne 0x1404aa587
jmp 0x1404aa6f6
sub ecx, 1
jmp 0x1404aa5e4
je 0x1404aa5fd
cmp ecx, 1
jmp 0x1404aa5f2
je 0x1404aa601
jmp 0x1404aa665
mov bl, 1
cdqe
mov eax, 0x53
jmp 0x1404aa60b
jmp 0x1404aa68d
sub ecx, 1
jmp 0x1404aa618
je 0x1404aa631
cmp ecx, 1
jmp 0x1404aa626
je 0x1404aa63a
jmp 0x1404aa665
mov bl, 1
cwde
movzx rax, bx
cbw
mov eax, 0x4d
jmp 0x1404aa644
jmp 0x1404aa68d
sub ecx, 1
jmp 0x1404aa651
je 0x1404aa683
cmp ecx, 1
jmp 0x1404aa65f
je 0x1404aa688
mov rax, qword [r12]
add rdi, 2
cmc
mov word [rax], r9w
cmp spl, r12b
stc
add qword [r12], 2
dec qword [r15]
jmp 0x1404aa6f9
mov bl, 1
setle dh
mov eax, 0x49
mov r8, qword [rbp]
movzx rcx, r14w
movsxd rdx, r15d
movsx rdx, dx
mov r9, r12
movzx edx, bx
mov byte [rsp + 0x30], bl
movsxd rcx, r10d
cmovbe dx, cx
cwd
movzx edx, ax
movsx cx, r13b
mov rcx, 0x426869aa
mov qword [rsp + 0x28], r13
movsx rcx, sp
not ch
movzx ecx, r9w
mov rcx, r14
jmp 0x1404aa6d5
mov qword [rsp + 0x20], r15
jmp 0x1404aa6df
call fcn.1404a8021
xor r11d, r11d
clc
stc
test al, al
jmp 0x1404aa6f0
je 0x1404aa72b
mov rdi, rsi
mov edx, 1
bts r10w, r11w
cmovno r10, r14
mov r9b, 0x18
movzx r9d, word [rdi]
cmovp r10w, di
jmp 0x1404aa718
mov r10, qword [rbp]
test r9w, r9w
jne 0x1404aa1d1
jmp 0x1404aa126
call fcn.1404b60e7
mov dword [rax], 0x16
cmp r14d, r15d
cmc
stc
xor al, al
jmp 0x1404aa742
jmp 0x1404aa130