Function at 0x1404c94ab
Capabilities:
Encrypt data using speck

Disassembly:
push rbp
bsf bp, bx
btc ebp, 0xd
push rbx
xor ah, 0xf9
push rsi
sbb sil, r13b
not ebp
rol ebx, 0x69
push rdi
bt esi, 0x44
push r12
btr rax, 0xd1
bswap ax
push r13
rol ebx, cl
push r14
push r15
lea rbp, [rsp - 0x28]
btr r12w, r9w
shr sil, 0x91
sal dil, 0x39
sub rsp, 0x128
mov rax, qword [0x1400b7288]
not dil
xor rax, rsp
mov qword [rbp + 0x10], rax
cmovb r13w, ax
xchg r13b, r15b
mov rdi, qword [rbp + 0x90]
movsxd r15, r10d
movzx ebx, r11w
jmp 0x1404c951e
mov r12, rdx
movzx r15d, cx
movsx ebx, dx
movzx r15w, r11b
mov r13, qword [rbp + 0xa8]
setge r15b
xchg esi, esi
movzx r15d, r14w
mov r15, r8
not bx
bswap bx
xchg si, si
mov qword [rsp + 0x68], r8
movsx si, r13b
mov r8b, 0x22
bswap rsi
mov rbx, rcx
movzx r8d, r12w
mov qword [rsp + 0x78], rdx
mov r8, rdi
not si
movsx dx, spl
mov rcx, r12
jmp 0x1404c9579
mov qword [rbp - 0x68], r13
movzx rdx, r12w
not dx
setns sil
mov rdx, r9
not sil
xchg sil, sil
mov byte [rsp + 0x60], 0
jmp 0x1404c959f
mov rsi, r9
jmp 0x1404c95a7
call fcn.1404c66ed
mov r14d, eax
cmp eax, 0xffffffff
jmp 0x1404c95b7
jl 0x1404c9dcd
cmp eax, dword [rdi + 4]
jmp 0x1404c95c5
jge 0x1404c9dcd
cmp dword [rbx], 0xe06d7363
jne 0x1404c971d
cmp dword [rbx + 0x18], 4
jne 0x1404c971d
mov eax, dword [rbx + 0x20]
sub eax, 0x19930520
cmp spl, 0x7c
cmp eax, 2
ja 0x1404c971d
cmp qword [rbx + 0x30], 0
jne 0x1404c971d
call fcn.1404c590e
cmp qword [rax + 0x20], 0
je 0x1404c9cff
call fcn.1404c590e
mov rbx, qword [rax + 0x20]
jmp 0x1404c961f
call fcn.1404c590e
mov rcx, qword [rbx + 0x38]
movsx r15d, bp
movzx r15, dx
mov r15, rcx
mov byte [rsp + 0x60], 1
movsx r15d, r13w
not r15b
movsx r15w, r11b
mov r15, qword [rax + 0x28]
jmp 0x1404c964d
mov qword [rsp + 0x68], r15
jmp 0x1404c9657
call fcn.1404a4e65
cmp dword [rbx], 0xe06d7363
jne 0x1404c96a0
cmp dword [rbx + 0x18], 4
jmp 0x1404c9671
jne 0x1404c96a0
mov eax, dword [rbx + 0x20]
cmc
test dh, bl
sub eax, 0x19930520
cmc
test si, r9w
cmp eax, 2
ja 0x1404c96a0
cmp qword [rbx + 0x30], 0
jmp 0x1404c969a
je 0x1404c9dcd
call fcn.1404c590e
cmp qword [rax + 0x38], 0
jmp 0x1404c96af
je 0x1404c971d
call fcn.1404c590e
mov r15, qword [rax + 0x38]
call fcn.1404c590e
mov rdx, r15
rol ch, 0xe3
btr cx, si
mov rcx, rbx
test rcx, 0x2b3d1a2d
clc
jmp 0x1404c96dd
and qword [rax + 0x38], 0
jmp 0x1404c96e7
call fcn.1404c77f1
test al, al
jmp 0x1404c96f3
jne 0x1404c9718
mov rcx, r15
jmp 0x1404c9701
call fcn.1404c79a3
test al, al
jmp 0x1404c970d
je 0x1404c9d91
jmp 0x1404c9d57
mov r15, qword [rsp + 0x68]
mov rax, qword [rsi + 8]
cmp r15b, 0x26
mov qword [rbp - 0x40], rax
stc
mov qword [rbp - 0x48], rdi
clc
cmp dword [rbx], 0xe06d7363
jmp 0x1404c973a
jne 0x1404c9c73
cmp dword [rbx + 0x18], 4
jmp 0x1404c9749
jne 0x1404c9c73
mov eax, dword [rbx + 0x20]
clc
sub eax, 0x19930520
clc
stc
cmp eax, 2
ja 0x1404c9c73
xor r15d, r15d
cmp dword [rdi + 0xc], r15d
jmp 0x1404c976f
jbe 0x1404c9acc
mov eax, dword [rbp + 0xa0]
lea rdx, [rbp - 0x48]
setge cl
movzx r9w, bpl
cmovns r9w, r9w
mov dword [rsp + 0x28], eax
cmovns cx, r14w
mov cl, 0xbf
mov cl, r8b
lea rcx, [rbp - 0x28]
mov r9, rsi
xchg r8b, r8b
mov qword [rsp + 0x20], rdi
bswap r8w
setge r8b
movzx r8d, r12w
mov r8d, r14d
jmp 0x1404c97bd
call fcn.1404a4599
movups xmm0, xmmword [rbp - 0x28]
jmp 0x1404c97cb
movdqu xmmword [rbp - 0x38], xmm0
jmp 0x1404c97d5
psrldq xmm0, 8
movd eax, xmm0
cmp eax, dword [rbp - 0x10]
jmp 0x1404c97e6
jae 0x1404c9acc
mov r9, qword [rbp - 0x28]
setnp r13b
mov r8d, 0x71985b7f
cdqe
mov r13d, dword [rbp - 0x30]
mov qword [rbp - 0x80], r9
mov ax, 0x3c20
jmp 0x1404c9810
mov rax, qword [rbp - 0x38]
mov rax, qword [rax]
jmp 0x1404c981f
movsxd rdx, dword [rax + 0x10]
cmovno r8d, r13d
mov eax, r13d
movsxd rcx, r15d
jmp 0x1404c9832
lea rcx, [rax + rax*4]
mov rax, qword [r9 + 8]
mov r8d, 0x27146534
lea r8, [rdx + rcx*4]
mov cx, 0x4a76
movups xmm0, xmmword [r8 + rax]
movsxd rcx, dword [r8 + rax + 0x10]
jmp 0x1404c9857
mov dword [rbp - 0x50], ecx
movd eax, xmm0
movups xmmword [rbp - 0x60], xmm0
stc
cmp eax, r14d
jmp 0x1404c986b
jg 0x1404c9aba
mov rax, qword [rbp - 0x60]
jmp 0x1404c987d
shr rax, 0x20
clc
test cl, 0x73
cmp r14d, eax
jg 0x1404c9aba
mov r12d, r15d
btc dx, r14w
mov rdx, rcx
bt r15d, r10d
bt r15, 0x4d
rcl r15w, cl
add rdx, qword [rsi + 8]
mov r15, qword [rbp - 0x58]
clc
shr r15, 0x20
cmp r8d, 0x553c34af
stc
jmp 0x1404c98c0
mov qword [rbp - 0x70], rdx
test r15d, r15d
jmp 0x1404c98cc
je 0x1404c9a91
mov eax, r12d
movzx rcx, r8w
jmp 0x1404c98de
lea rcx, [rax + rax*4]
movzx eax, bp
movups xmm0, xmmword [rdx + rcx*4]
movzx eax, r13w
movups xmmword [rbp - 8], xmm0
mov eax, dword [rdx + rcx*4 + 0x10]
mov dword [rbp + 8], eax
call fcn.1404a4e4e
mov rcx, qword [rbx + 0x30]
bts rdx, r8
shr dh, 0xde
add rax, 4
bt edx, r9d
sub dx, cx
rcl edx, cl
movsxd rdx, dword [rcx + 0xc]
add rax, rdx
jmp 0x1404c9921
mov qword [rsp + 0x70], rax
jmp 0x1404c992b
call fcn.1404a4e4e
mov rcx, qword [rbx + 0x30]
shr edx, cl
ror dl, cl
mov dl, bl
movsxd rdx, dword [rcx + 0xc]
mov ecx, dword [rax + rdx]
mov dword [rsp + 0x64], ecx
test ecx, ecx
jle 0x1404c99b7
call fcn.1404a4e4e
mov rcx, qword [rsp + 0x70]
mov r8, qword [rbx + 0x30]
movsxd rcx, dword [rcx]
btr dx, 1
bts dx, di
add rax, rcx
lea rcx, [rbp - 8]
movzx rdx, ax
mov rdx, rax
jmp 0x1404c997a
mov qword [rbp - 0x78], rax
call fcn.1404c7b67
test eax, eax
jmp 0x1404c998a
jne 0x1404c99d1
mov eax, dword [rsp + 0x64]
stc
add qword [rsp + 0x70], 4
jmp 0x1404c99a0
dec eax
mov dword [rsp + 0x64], eax
clc
cmp r10b, dil
test eax, eax
jmp 0x1404c99b1
jg 0x1404c994d
inc r12d
cmp r12d, r15d
jmp 0x1404c99c2
je 0x1404c9aa0
mov rdx, qword [rbp - 0x70]
jmp 0x1404c98d2
mov al, byte [rbp + 0x98]
movsxd rcx, edx
setb dl
not r9w
mov r9, rsi
mov r12, qword [rsp + 0x78]
mov rcx, rbx
movsx r8, di
not r8b
cmovge r8w, r8w
mov r8, qword [rsp + 0x68]
not edx
movsx rdx, r14w
mov rdx, r12
jmp 0x1404c9a0b
mov byte [rsp + 0x58], al
mov al, byte [rsp + 0x60]
jmp 0x1404c9a18
mov byte [rsp + 0x50], al
cbw
not eax
movzx rax, r15w
mov rax, qword [rbp - 0x68]
jmp 0x1404c9a2d
mov qword [rsp + 0x48], rax
mov eax, dword [rbp + 0xa0]
jmp 0x1404c9a3d
mov dword [rsp + 0x40], eax
mov ax, sp
movsxd rax, ebp
xchg al, al
lea rax, [rbp - 0x60]
jmp 0x1404c9a52
mov qword [rsp + 0x38], rax
bswap ax
mov rax, qword [rbp - 0x78]
jmp 0x1404c9a63
mov qword [rsp + 0x30], rax
movsxd rax, r8d
movsx eax, r11w
lea rax, [rbp - 8]
mov qword [rsp + 0x28], rax
jmp 0x1404c9a7d
mov qword [rsp + 0x20], rdi
jmp 0x1404c9a87
call fcn.1404ca717
jmp 0x1404c9ab2
mov r12, qword [rsp + 0x78]
jmp 0x1404c9a9b
jmp 0x1404c9ab7
mov r12, qword [rsp + 0x78]
shl r9b, 0x94
btc r9, 0xb1
btr r9d, r11d
mov r9, qword [rbp - 0x80]
cmc
xor r15d, r15d
inc r13d
cmp r13d, dword [rbp - 0x10]
jmp 0x1404c9ac6
jb 0x1404c9810
mov eax, dword [rdi]
test r8b, r13b
stc
and eax, 0x1fffffff
clc
test dil, r11b
cmp r15b, 0x1b
cmp eax, 0x19930521
jmp 0x1404c9ae9
jb 0x1404c9cea
cmp dword [rdi + 0x20], r15d
jmp 0x1404c9af8
je 0x1404c9b18
call fcn.1404a4dff
movsxd rcx, dword [rdi + 0x20]
stc
test rbp, 0x32db2da6
add rax, rcx
jne 0x1404c9b5b
mov eax, dword [rdi + 0x24]
test bl, 0xcd
shr eax, 2
test r9, 0x60d47dbd
test r8d, r15d
cmp r12b, 0x5d
test al, 1
jmp 0x1404c9b36
je 0x1404c9cea
mov rdx, rdi
movsxd rcx, ebp
cmovo cx, ax
mov rcx, rsi
jmp 0x1404c9b4e
call fcn.1404a4093
test al, al
jne 0x1404c9cea
mov eax, dword [rdi + 0x24]
test r10w, cx
jmp 0x1404c9b67
shr eax, 2
test r11b, dil
cmc
test al, 1
jmp 0x1404c9b75
jne 0x1404c9d9c
cmp dword [rdi + 0x20], r15d
jmp 0x1404c9b84
je 0x1404c9ba9
call fcn.1404a4dff
mov rdx, rax
xor ah, 0xbf
movsxd rax, dword [rdi + 0x20]
test dil, sil
add rdx, rax
jmp 0x1404c9ba4
jmp 0x1404c9bb3
mov rdx, r15
xchg cl, cl
setbe cl
bswap ecx
mov rcx, rbx
jmp 0x1404c9bbb
call fcn.1404c77f1
test al, al
jmp 0x1404c9bc7
jne 0x1404c9cea
lea r9, [rbp - 0x78]
mov r8b, 0x39
mov r8, rdi
bswap cx
mov rdx, rsi
movsx ecx, bp
movzx cx, r13b
mov rcx, r12
jmp 0x1404c9bed
call fcn.1404a419c
mov cl, byte [rbp + 0x98]
shl edx, cl
mov r9, rax
movzx rdx, r11w
mov r8, qword [rsp + 0x68]
btc dx, 0xbc
shr dx, cl
mov rdx, rbx
test al, 0xa9
jmp 0x1404c9c18
mov byte [rsp + 0x50], cl
cmp bh, ah
jmp 0x1404c9c27
or ecx, 0xffffffff
jmp 0x1404c9c2f
mov qword [rsp + 0x48], rsi
jmp 0x1404c9c39
mov qword [rsp + 0x40], r15
jmp 0x1404c9c43
mov dword [rsp + 0x38], ecx
jmp 0x1404c9c4c
mov dword [rsp + 0x30], ecx
mov cl, 0xce
mov rcx, r12
jmp 0x1404c9c5a
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], r15
jmp 0x1404c9c69
call fcn.1404a439f
jmp 0x1404c9cea
cmp dword [rdi + 0xc], 0
jmp 0x1404c9c7c
jbe 0x1404c9cea
cmp byte [rbp + 0x98], 0
jmp 0x1404c9c8e
jne 0x1404c9dcd
mov eax, dword [rbp + 0xa0]
cdq
movsx ecx, bx
movzx r8, bp
mov r9, rsi
movzx rdx, di
mov qword [rsp + 0x38], r13
movsx r8, bp
cmovge ecx, r10d
mov r8, r15
mov dword [rsp + 0x30], eax
jmp 0x1404c9cc7
mov rdx, r12
mov dword [rsp + 0x28], r14d
movsx ecx, r10w
mov rcx, rbx
jmp 0x1404c9cdb
mov qword [rsp + 0x20], rdi
jmp 0x1404c9ce5
call fcn.1404ca8f7
call fcn.1404c590e
cmp qword [rax + 0x38], 0
jmp 0x1404c9cf9
jne 0x1404c9dcd
mov rcx, qword [rbp + 0x10]
jmp 0x1404c9d09
xor rcx, rsp
call fcn.1404a2014
add rsp, 0x128
pop r15
mov di, 0x7355
movzx rbp, r13w
pop r14
movsxd rdi, r14d
pop r13
movzx r12, cx
pop r12
xchg bpl, bpl
movsx bx, r8b
movsx rbx, bx
pop rdi
cmovo si, r13w
mov bpl, 0x31
pop rsi
movsxd rbx, esp
pop rbx
movzx ebp, r10w
xchg bpl, bpl
pop rbp
jmp 0x1404c9d56
ret
mov dl, 1
mov rcx, rbx
jmp 0x1404c9d61
call fcn.1404a537e
lea rcx, [rbp - 8]
call fcn.14028dcce
lea rdx, [0x1400d73a8]
movsx rcx, r12w
movzx cx, r14b
movsx ecx, bp
lea rcx, [rbp - 8]
call fcn.1404a37ce
int3
call fcn.1404c46aa
int3
call fcn.1404c590e
mov qword [rax + 0x20], rbx
jmp 0x1404c9daa
call fcn.1404c590e
mov rcx, qword [rsp + 0x68]
jmp 0x1404c9db9
mov qword [rax + 0x28], rcx
jmp 0x1404c9dc2
call fcn.1404c46aa
int3
call fcn.1404b9703
int3