Function at 0x1404cc8ec
Capabilities:
Encrypt data using speck

Disassembly:
push rbp
shr bpl, cl
push rbx
shr ah, cl
stc
push rsi
sal eax, 0xc3
push rdi
cmp rsp, 0x1da534a7
sbb ebx, 0x78de09fc
push r12
sbb bx, ax
lahf
cmovle r12w, r15w
push r13
push r14
ror bpl, 0x37
push r15
lea rbp, [rsp - 0x88]
movzx r13, dx
sub r12b, dl
sub rsp, 0x188
shld ax, si, 0x70
rol r15b, cl
adc r12b, 0xd7
mov rax, qword [0x1400b7288]
xor rax, rsp
mov qword [rbp + 0x70], rax
movzx si, spl
bswap r12d
movsx r15, r14w
mov r14, qword [rbp + 0xf0]
movsx r12d, ax
movzx si, r14b
movsx r13w, r8b
mov r15, rdx
mov r12, qword [rbp + 0x108]
movzx rsi, dx
mov rbx, rcx
bswap r13d
not sil
mov r13b, 0xd1
mov qword [rsp + 0x78], rdx
movsx r13w, r9b
cqo
movsx r13d, r14w
mov rcx, r14
movsxd rsi, r14d
cmovnp rdx, r13
mov rdx, r9
not r13
mov sil, 0xf0
xchg r13b, r13b
mov qword [rbp - 0x60], r12
movzx esi, dx
jmp 0x1404cc9b9
mov rsi, r9
movzx r13, r10w
bswap r13w
mov byte [rsp + 0x60], 0
movzx r13, r10w
movzx r13w, r14b
mov r13, r8
jmp 0x1404cc9da
call fcn.1401e78d3
cmp dword [rsi + 0x48], 0
mov dil, 0xde
mov edi, eax
jmp 0x1404cc9ed
je 0x1404cca11
call fcn.1404c846c
cmp dword [rax + 0x78], 0xfffffffe
jne 0x1404cd248
mov edi, dword [rsi + 0x48]
cmp r12b, 0xcf
sub edi, 2
jmp 0x1404cca3e
call fcn.1404c846c
cmp dword [rax + 0x78], 0xfffffffe
jmp 0x1404cca1f
je 0x1404cca3e
call fcn.1404c846c
mov edi, dword [rax + 0x78]
jmp 0x1404cca32
call fcn.1404c846c
mov dword [rax + 0x78], 0xfffffffe
cmp edi, 0xffffffff
jmp 0x1404cca46
jl 0x1404cd248
cmp dword [r14 + 8], 0
lea r8, [0x140000000]
jmp 0x1404cca5d
je 0x1404ccab1
movsxd rdx, dword [r14 + 8]
add eax, edi
add rdx, qword [rsi + 8]
bt ax, 0x90
rcl cx, 0xe5
test r10b, 0xdd
movzx ecx, byte [rdx]
xor ah, 0xb4
cmc
adc ax, r13w
and ecx, 0xf
rcr eax, 0x2f
shl al, 0x9a
movsx rax, byte [rcx + r8 + 0xc1a30]
mov cl, byte [rcx + r8 + 0xc1a40]
sub rdx, rax
mov eax, dword [rdx - 4]
shr eax, cl
jmp 0x1404ccaac
jmp 0x1404ccab3
sub eax, eax
cmp edi, eax
jge 0x1404cd248
cmp dword [rbx], 0xe06d7363
jmp 0x1404ccac6
jne 0x1404ccc11
cmp dword [rbx + 0x18], 4
jne 0x1404ccc11
mov eax, dword [rbx + 0x20]
sub eax, 0x19930520
cmp eax, 2
jmp 0x1404ccae6
ja 0x1404ccc11
cmp qword [rbx + 0x30], 0
jmp 0x1404ccaf6
jne 0x1404ccc11
call fcn.1404c846c
cmp qword [rax + 0x20], 0
jmp 0x1404ccb0b
je 0x1404cd17d
call fcn.1404c846c
mov rbx, qword [rax + 0x20]
jmp 0x1404ccb1f
call fcn.1404c846c
mov rcx, qword [rbx + 0x38]
mov byte [rsp + 0x60], 1
movzx r13w, r9b
movsx r13, sp
mov r13, qword [rax + 0x28]
jmp 0x1404ccb3f
call fcn.1404a7753
cmp dword [rbx], 0xe06d7363
jmp 0x1404ccb4f
jne 0x1404ccb91
cmp dword [rbx + 0x18], 4
jmp 0x1404ccb5e
jne 0x1404ccb91
mov eax, dword [rbx + 0x20]
stc
cmp r12b, r12b
sub eax, 0x19930520
cmp dl, 0xf5
cmp eax, 2
jmp 0x1404ccb7b
ja 0x1404ccb91
cmp qword [rbx + 0x30], 0
jmp 0x1404ccb8b
je 0x1404cd248
call fcn.1404c846c
cmp qword [rax + 0x38], 0
jmp 0x1404ccba0
je 0x1404ccc11
call fcn.1404c846c
mov r15, qword [rax + 0x38]
jmp 0x1404ccbb4
call fcn.1404c846c
mov rdx, r15
btc ecx, r14d
btr cx, 0x59
mov rcx, rbx
cmp cl, 0xb
and qword [rax + 0x38], 0
jmp 0x1404ccbd5
call fcn.1404ca2b9
test al, al
jne 0x1404ccc01
mov rcx, r15
jmp 0x1404ccbea
call fcn.1404ca4a5
test al, al
jmp 0x1404ccbf6
je 0x1404cd21b
jmp 0x1404cd1db
mov r15, qword [rsp + 0x78]
movzx r8w, bl
setbe cl
movzx edx, di
mov r8, qword [rsi + 8]
lea rcx, [rbp - 0x10]
mov rdx, r14
jmp 0x1404ccc21
call fcn.1400eeb04
cmp dword [rbx], 0xe06d7363
jmp 0x1404ccc31
jne 0x1404cd10c
cmp dword [rbx + 0x18], 4
jmp 0x1404ccc40
jne 0x1404cd10c
mov eax, dword [rbx + 0x20]
cmp bh, 0x47
sub eax, 0x19930520
jmp 0x1404ccc5c
cmp eax, 2
jmp 0x1404ccc64
ja 0x1404cd10c
cmp dword [rbp - 0x10], 0
jbe 0x1404cd0cf
mov eax, dword [rbp + 0x100]
lea rdx, [rbp - 0x10]
jmp 0x1404ccc83
mov dword [rsp + 0x28], eax
movzx rcx, dx
lea rcx, [rbp - 0x58]
xchg r8b, r9b
mov r9, rsi
setnp r8b
mov r8b, 0xdb
mov qword [rsp + 0x20], r14
movsx r8d, r10w
movsx r8, r13w
bswap r8d
mov r8d, edi
jmp 0x1404cccb4
call fcn.1404a73dc
movups xmm0, xmmword [rbp - 0x58]
jmp 0x1404cccc2
movdqu xmmword [rbp - 0x78], xmm0
jmp 0x1404ccccc
psrldq xmm0, 8
movd eax, xmm0
cmp eax, dword [rbp - 0x40]
jmp 0x1404cccdd
jae 0x1404cd0cf
mov r15, qword [rbp - 0x58]
mov eax, dword [rbp - 0x70]
jmp 0x1404cccef
mov qword [rbp - 0x80], r15
mov dword [rsp + 0x68], eax
jmp 0x1404cccfc
movups xmm0, xmmword [r15 + 0x18]
jmp 0x1404ccd06
movq rax, xmm0
movups xmmword [rbp - 0x78], xmm0
cmp r12b, 0xc6
cmp eax, edi
jmp 0x1404ccd1a
jg 0x1404ccf79
shr rax, 0x20
cmp edi, eax
jg 0x1404ccf79
mov rax, qword [rsi + 0x10]
movsx edx, r10w
cwd
lea rdx, [rbp - 0x78]
movsxd r9, edx
mov cl, 0xba
movzx rcx, r13w
mov r8, qword [rsi + 8]
sete ch
mov cl, 0x40
lea rcx, [rbp + 0x20]
mov r9d, dword [rax]
jmp 0x1404ccd58
call fcn.1404c8d7a
mov eax, dword [rbp + 0x20]
cmc
cmp dl, r8b
sub r12d, r12d
mov dword [rsp + 0x64], r12d
mov dword [rsp + 0x6c], eax
clc
test eax, eax
je 0x1404ccf79
movups xmm0, xmmword [rbp + 0x38]
jmp 0x1404ccd82
movups xmm1, xmmword [rbp + 0x48]
movups xmmword [rbp - 0x38], xmm0
jmp 0x1404ccd8f
movsd xmm0, qword [rbp + 0x58]
jmp 0x1404ccd99
movsd qword [rbp - 0x18], xmm0
jmp 0x1404ccda3
movups xmmword [rbp - 0x28], xmm1
jmp 0x1404ccdac
call fcn.1404a7735
mov rcx, qword [rbx + 0x30]
sal dh, cl
shld rdx, rsi, 0x8c
rcr dx, 0x4a
add rax, 4
rol dx, 0xc1
rol dl, cl
rcr dh, cl
movsxd rdx, dword [rcx + 0xc]
clc
cmc
add rax, rdx
jmp 0x1404ccdda
mov qword [rsp + 0x70], rax
call fcn.1404a7735
mov rcx, qword [rbx + 0x30]
bts dx, ax
movsxd rdx, dword [rcx + 0xc]
inc r15w
rcr r15b, 0x4e
mov r15d, dword [rax + rdx]
test r15d, r15d
jmp 0x1404cce04
jle 0x1404cce8f
call fcn.1404a7735
mov r8, qword [rbx + 0x30]
mov r12b, r10b
bts dx, si
bsf r12w, r14w
mov r12, rax
lahf
rcl cl, cl
mov rax, qword [rsp + 0x70]
cdq
movzx dx, bpl
movsxd rcx, dword [rax]
test r9, 0x25d76fb3
xadd dx, dx
add r12, rcx
movsx rcx, dx
cmovge edx, edx
cwd
lea rcx, [rbp - 0x38]
mov rdx, r12
call fcn.1404ca919
test eax, eax
jmp 0x1404cce5d
jne 0x1404ccec0
add qword [rsp + 0x70], 4
jmp 0x1404cce6e
dec r15d
jmp 0x1404cce76
test r15d, r15d
jmp 0x1404cce7e
jg 0x1404cce0a
mov r12d, dword [rsp + 0x64]
movsx ecx, bp
setnp cl
lea rcx, [rbp + 0x20]
jmp 0x1404cce98
call fcn.1400f8499
inc r12d
cmp r8b, 0xd8
mov dword [rsp + 0x64], r12d
cmc
stc
cmp r12d, dword [rsp + 0x6c]
jmp 0x1404cceb5
je 0x1404ccf6e
jmp 0x1404ccd79
mov al, byte [rbp + 0xf8]
movsx r8d, r14w
movzx r9d, r14w
movzx rcx, dx
mov r9, rsi
cqo
cmovle r8d, r9d
jmp 0x1404ccee0
mov rdx, qword [rsp + 0x78]
movsx rcx, ax
jmp 0x1404cceee
mov r8, r13
mov cx, 0x4e3a
mov ecx, r15d
movzx cx, bpl
mov byte [rsp + 0x58], al
mov al, pe_nt_image_headers64
mov rcx, rbx
mov al, byte [rsp + 0x60]
jmp 0x1404ccf0f
mov byte [rsp + 0x50], al
setbe ah
mov rax, qword [rbp - 0x60]
jmp 0x1404ccf1f
mov qword [rsp + 0x48], rax
mov ah, 0xb8
lahf
not eax
mov eax, dword [rbp + 0x100]
jmp 0x1404ccf35
mov dword [rsp + 0x40], eax
lea rax, [rbp - 0x78]
jmp 0x1404ccf42
mov qword [rsp + 0x38], rax
lea rax, [rbp - 0x38]
jmp 0x1404ccf50
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x28], rax
jmp 0x1404ccf5f
mov qword [rsp + 0x20], r14
jmp 0x1404ccf69
call fcn.1404cd89a
mov r15, qword [rbp - 0x80]
shr r8d, cl
bts ax, ax
mov r8, qword [r15 + 8]
rol al, 0x51
xchg rcx, rax
stc
lea rdx, [0x140000000]
btc ecx, 0xf1
bt cx, 0xb5
sar al, cl
movzx ecx, byte [r8]
sub ax, r11w
and ecx, 0xf
movsx rax, byte [rcx + rdx + 0xc1a30]
cmp r13w, r11w
cmc
mov cl, byte [rcx + rdx + 0xc1a40]
test sil, dl
sub r8, rax
bswap eax
mov eax, dword [r8 - 4]
cmc
test r15b, 0xb6
shr eax, cl
movzx ecx, sp
mov ecx, 0x4a746154
xor rcx, 0x2e160339
mov qword [r15 + 8], r8
rol cx, 3
rcl ecx, 0xf1
not cx
mov dword [r15 + 0x18], eax
neg cx
movzx ecx, byte [r8]
nop
jmp 0x1404ccffc
and ecx, 0xf
rol rax, cl
or eax, 0x202b0e77
movsx rax, byte [rcx + rdx + 0xc1a30]
jmp 0x1404cd015
mov cl, byte [rcx + rdx + 0xc1a40]
sub r8, rax
bt rax, 0x69
mov eax, dword [r8 - 4]
cmc
test r14b, r13b
shr eax, cl
or rcx, 0x70852381
mov qword [r15 + 8], r8
mov dword [r15 + 0x1c], eax
mov cl, r11b
cbw
movzx ecx, byte [r8]
jmp 0x1404cd050
and ecx, 0xf
shld rax, rdx, 0x14
sar ah, 0x64
movsx rax, byte [rcx + rdx + 0xc1a30]
cmp dh, 0x83
mov cl, byte [rcx + rdx + 0xc1a40]
sub dl, r10b
sub r8, rax
mov eax, dword [r8 - 4]
xor dh, 0xaa
cmp r9b, 0x1b
add edx, 0x635232a
shr eax, cl
mov ecx, dword [rsp + 0x68]
mov dl, bpl
cqo
movsxd rdx, eax
mov dword [r15 + 0x20], eax
inc ecx
and ax, 0x119c
mov qword [r15 + 8], r8
sal dl, cl
lea rax, [r8 + 4]
mov edx, dword [r8]
clc
mov qword [r15 + 8], rax
cmp bl, 0xe6
mov dword [r15 + 0x24], edx
mov dword [rsp + 0x68], ecx
cmc
jmp 0x1404cd0c1
cmp ecx, dword [rbp - 0x40]
jmp 0x1404cd0c9
jb 0x1404cccfc
test byte [r14], 0x40
jmp 0x1404cd0d8
je 0x1404cd16d
mov rdx, r14
setns cl
cmovae cx, r13w
movsx ecx, r15w
mov rcx, rsi
jmp 0x1404cd0f5
call fcn.1401fc608
test al, al
jmp 0x1404cd101
je 0x1404cd226
jmp 0x1404cd16d
cmp dword [rbp - 0x10], 0
jmp 0x1404cd115
jbe 0x1404cd16d
cmp byte [rbp + 0xf8], 0
jmp 0x1404cd127
jne 0x1404cd248
mov eax, dword [rbp + 0x100]
mov r9, rsi
mov qword [rsp + 0x38], r12
cmovns rdx, rdi
movzx edx, r10w
mov r8, r13
mov dword [rsp + 0x30], eax
mov rdx, r15
movzx ecx, bx
movsx rcx, r14w
mov dword [rsp + 0x28], edi
xchg cx, cx
mov rcx, rbx
jmp 0x1404cd163
mov qword [rsp + 0x20], r14
call fcn.1404cda40
call fcn.1404c846c
cmp qword [rax + 0x38], 0
jne 0x1404cd248
mov rcx, qword [rbp + 0x70]
cmc
cmp r8w, 0xc45
xor rcx, rsp
call fcn.1404a4949
add rsp, 0x188
not bpl
pop r15
movzx bx, r10b
movsxd r12, r11d
movzx rbp, bp
pop r14
movsx ebx, r15w
seta sil
pop r13
movsxd rbp, esp
movzx rdi, di
pop r12
pop rdi
movsxd rsi, esp
pop rsi
movsxd rbp, ebx
cmovg bp, bp
mov bx, di
pop rbx
movzx rbp, r8w
xchg bpl, bpl
pop rbp
jmp 0x1404cd1da
ret
mov dl, 1
bswap ecx
movzx rcx, r12w
mov rcx, rbx
jmp 0x1404cd1eb
call fcn.1404a7cb2
lea rcx, [rbp - 0x78]
call fcn.1402485a9
lea rdx, [0x1400d73a8]
movsx ecx, sp
movzx rcx, r14w
lea rcx, [rbp - 0x78]
jmp 0x1404cd210
call fcn.1404a60c0
int3
call fcn.1404c723f
int3
call fcn.1404c846c
mov qword [rax + 0x20], rbx
jmp 0x1404cd234
call fcn.1404c846c
mov qword [rax + 0x28], r13
call fcn.1404c723f
int3
call fcn.1404bc0f7
int3