Function at 0x14047cd32
Capabilities:
Encrypt data using speck

Disassembly:
push rbp
ror ah, 0x76
push rbx
sub bpl, 0x9a
movzx bx, bpl
jmp 0x14047cd5c
push rsi
push rdi
push r12
xchg rbx, rbx
shr ebx, cl
bt bx, r11w
push r13
bsr r12w, r10w
add bpl, sil
bt r12d, r11d
push r14
bswap r14w
rcl bpl, cl
push r15
rcl r12d, cl
or ebp, 0x5ee8216e
mov r14b, 0xf9
lea rbp, [rsp - 0x88]
cdqe
adc ax, 0x6c7d
sar r14b, cl
sub rsp, 0x188
xor r15w, 0x1f1b
mov rax, qword [0x1400b6278]
xor rax, rsp
not r13b
mov qword [rbp + 0x70], rax
setno r15b
mov r14, qword [rbp + 0xf0]
movzx r13w, bpl
movsx r15w, r15b
mov r15, rdx
bswap rbx
xchg r13w, si
mov r12, qword [rbp + 0x108]
movsx r13, r14w
not bx
movsx esi, r14w
mov rbx, rcx
mov qword [rsp + 0x78], rdx
movsx r13, ax
movsxd rsi, r13d
xchg r13d, edx
mov rcx, r14
not sil
movzx r13w, r9b
cwd
mov rdx, r9
mov qword [rbp - 0x60], r12
mov rsi, r9
movzx r13w, r11b
mov byte [rsp + 0x60], 0
mov r13, r8
jmp 0x14047ce2a
call fcn.14016bc19
cmp dword [rsi + 0x48], 0
movsx di, bpl
movzx di, r9b
setbe dil
mov edi, eax
je 0x14047ce6e
call fcn.1404787ec
cmp dword [rax + 0x78], 0xfffffffe
jne 0x14047d64d
mov edi, dword [rsi + 0x48]
test esi, 0x419d37b0
sub edi, 2
jmp 0x14047ce69
jmp 0x14047cea2
call fcn.1404787ec
cmp dword [rax + 0x78], 0xfffffffe
jmp 0x14047ce7c
je 0x14047cea2
call fcn.1404787ec
mov edi, dword [rax + 0x78]
jmp 0x14047ce8f
call fcn.1404787ec
mov dword [rax + 0x78], 0xfffffffe
cmp ecx, r11d
test bpl, 0xfa
cmp edi, 0xffffffff
jmp 0x14047ceaa
jl 0x14047d64d
cmp dword [r14 + 8], 0
movzx r8d, ax
movzx r8w, r8b
not r8b
lea r8, [0x140004000]
jmp 0x14047cecd
je 0x14047cf24
movsxd rdx, dword [r14 + 8]
mov eax, r12d
add rdx, qword [rsi + 8]
movzx ecx, byte [rdx]
sbb rax, 0x68e85136
and ecx, 0xf
ror ax, cl
jmp 0x14047cef3
movsx rax, byte [rcx + r8 + 0xbca20]
test bx, 0x282
cmp r11, 0x438e471d
mov cl, byte [rcx + r8 + 0xbca30]
sub rdx, rax
cmp r15b, 0x1a
xor ax, bp
mov eax, dword [rdx - 4]
shr eax, cl
jmp 0x14047cf2d
xor eax, eax
test esi, 0x50ee2cdf
stc
cmp edi, eax
jmp 0x14047cf34
jge 0x14047d64d
cmp dword [rbx], 0xe06d7363
jmp 0x14047cf45
jne 0x14047d08b
cmp dword [rbx + 0x18], 4
jmp 0x14047cf54
jne 0x14047d08b
mov eax, dword [rbx + 0x20]
cmp r8b, 1
test r14b, 0x60
test dx, r15w
sub eax, 0x19930520
clc
cmp eax, 2
ja 0x14047d08b
cmp qword [rbx + 0x30], 0
jmp 0x14047cf82
jne 0x14047d08b
call fcn.1404787ec
cmp qword [rax + 0x20], 0
je 0x14047d591
call fcn.1404787ec
mov rbx, qword [rax + 0x20]
jmp 0x14047cfa6
call fcn.1404787ec
mov rcx, qword [rbx + 0x38]
movsxd r13, r8d
mov byte [rsp + 0x60], 1
mov r13b, 0x3c
movzx r13w, spl
mov r13, qword [rax + 0x28]
jmp 0x14047cfc8
call fcn.140458dca
cmp dword [rbx], 0xe06d7363
jmp 0x14047cfd8
jne 0x14047d015
cmp dword [rbx + 0x18], 4
jmp 0x14047cfe7
jne 0x14047d015
mov eax, dword [rbx + 0x20]
sub eax, 0x19930520
clc
stc
cmp eax, 2
jmp 0x14047cfff
ja 0x14047d015
cmp qword [rbx + 0x30], 0
jmp 0x14047d00f
je 0x14047d64d
call fcn.1404787ec
cmp qword [rax + 0x38], 0
jmp 0x14047d024
je 0x14047d08b
call fcn.1404787ec
mov r15, qword [rax + 0x38]
call fcn.1404787ec
mov rdx, r15
jmp 0x14047d040
mov rcx, rbx
cmp r8b, 0x47
and qword [rax + 0x38], 0
jmp 0x14047d051
call fcn.14047a6d6
test al, al
jmp 0x14047d05d
jne 0x14047d07d
mov rcx, r15
call fcn.14047a8e6
test al, al
jmp 0x14047d072
je 0x14047d625
jmp 0x14047d5e4
mov r15, qword [rsp + 0x78]
jmp 0x14047d08b
mov r8, qword [rsi + 8]
lea rcx, [rbp - 0x10]
movzx edx, di
mov rdx, r14
call fcn.14018e124
cmp dword [rbx], 0xe06d7363
jne 0x14047d519
cmp dword [rbx + 0x18], 4
jmp 0x14047d0b3
jne 0x14047d519
mov eax, dword [rbx + 0x20]
sub eax, 0x19930520
cmp eax, 2
jmp 0x14047d0c9
ja 0x14047d519
cmp dword [rbp - 0x10], 0
jmp 0x14047d0d8
jbe 0x14047d4ec
mov eax, dword [rbp + 0x100]
lea rdx, [rbp - 0x10]
mov dword [rsp + 0x28], eax
movzx r8d, r11w
lea rcx, [rbp - 0x58]
movsx r9, r10w
mov r9, rsi
movzx r8d, sp
bswap r8d
mov qword [rsp + 0x20], r14
mov r8d, edi
jmp 0x14047d10f
call fcn.140458a86
movups xmm0, xmmword [rbp - 0x58]
jmp 0x14047d11d
movdqu xmmword [rbp - 0x78], xmm0
jmp 0x14047d127
psrldq xmm0, 8
movd eax, xmm0
cmp eax, dword [rbp - 0x40]
jae 0x14047d4ec
mov r15, qword [rbp - 0x58]
mov rax, 0xaac5ba7
movzx ax, bpl
mov eax, dword [rbp - 0x70]
mov qword [rbp - 0x80], r15
jmp 0x14047d155
mov dword [rsp + 0x68], eax
jmp 0x14047d15e
movups xmm0, xmmword [r15 + 0x18]
jmp 0x14047d168
movq rax, xmm0
movups xmmword [rbp - 0x78], xmm0
cmp r9b, r9b
cmp eax, edi
jmp 0x14047d17b
jg 0x14047d3b7
shr rax, 0x20
stc
cmp ax, 0x6146
cmp edi, eax
jmp 0x14047d191
jg 0x14047d3b7
mov rax, qword [rsi + 0x10]
lea rdx, [rbp - 0x78]
xchg cl, ch
not cx
movsx r8, r14w
mov r8, qword [rsi + 8]
lea rcx, [rbp + 0x20]
bswap r9w
mov r9d, dword [rax]
jmp 0x14047d1bc
call fcn.1404791d3
mov eax, dword [rbp + 0x20]
clc
cmp rax, 0x76e9145b
sub r12d, r12d
mov dword [rsp + 0x64], r12d
mov dword [rsp + 0x6c], eax
test eax, eax
jmp 0x14047d1df
je 0x14047d3b7
movups xmm0, xmmword [rbp + 0x38]
jmp 0x14047d1ee
movups xmm1, xmmword [rbp + 0x48]
jmp 0x14047d1f7
movups xmmword [rbp - 0x38], xmm0
jmp 0x14047d200
movsd xmm0, qword [rbp + 0x58]
movsd qword [rbp - 0x18], xmm0
jmp 0x14047d20f
movups xmmword [rbp - 0x28], xmm1
jmp 0x14047d218
call fcn.140458dab
mov rcx, qword [rbx + 0x30]
xadd dl, dl
shl dl, 0x15
rcl dh, cl
add rax, 4
movsxd rdx, dword [rcx + 0xc]
test r9b, 0x8c
add rax, rdx
mov qword [rsp + 0x70], rax
jmp 0x14047d242
call fcn.140458dab
mov rcx, qword [rbx + 0x30]
btr r15d, 0
mov r15, 0x35e540ae
sub r15w, ax
movsxd rdx, dword [rcx + 0xc]
mov r15d, dword [rax + rdx]
clc
test r15d, r15d
jmp 0x14047d26c
jle 0x14047d2f4
call fcn.140458dab
mov r8, qword [rbx + 0x30]
shl edx, cl
cqo
setnp r12b
mov r12, rax
sal al, 0xab
bt ax, si
mov rax, qword [rsp + 0x70]
adc cx, 0x281e
sal cl, cl
movsxd rcx, dword [rax]
add r12, rcx
cdq
jmp 0x14047d2a5
lea rcx, [rbp - 0x38]
jmp 0x14047d2b3
mov rdx, r12
jmp 0x14047d2bb
call fcn.14047b5ee
test eax, eax
jne 0x14047d31a
add qword [rsp + 0x70], 4
jmp 0x14047d2d3
dec r15d
test r15d, r15d
jmp 0x14047d2de
jg 0x14047d272
mov r12d, dword [rsp + 0x64]
movsx ecx, r13w
movzx rcx, dx
mov cx, di
lea rcx, [rbp + 0x20]
call fcn.140182525
inc r12d
jmp 0x14047d305
mov dword [rsp + 0x64], r12d
cmp r12d, dword [rsp + 0x6c]
je 0x14047d3b3
jmp 0x14047d1e5
mov al, byte [rbp + 0xf8]
movzx r8d, r14w
cqo
mov r9, rsi
mov rdx, qword [rsp + 0x78]
mov r8, r13
movsxd rcx, r9d
mov byte [rsp + 0x58], al
mov rcx, rbx
setp al
mov al, byte [rsp + 0x60]
jmp 0x14047d347
mov byte [rsp + 0x50], al
movzx ax, sil
mov rax, qword [rbp - 0x60]
jmp 0x14047d359
mov qword [rsp + 0x48], rax
jmp 0x14047d368
mov eax, dword [rbp + 0x100]
jmp 0x14047d373
mov dword [rsp + 0x40], eax
movzx ax, cl
jmp 0x14047d380
lea rax, [rbp - 0x78]
mov qword [rsp + 0x38], rax
movzx eax, bx
lea rax, [rbp - 0x38]
jmp 0x14047d395
mov qword [rsp + 0x30], r12
jmp 0x14047d39f
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r14
jmp 0x14047d3ae
call fcn.14047dc7d
mov r15, qword [rbp - 0x80]
mov r8, qword [r15 + 8]
cmp r14b, al
cdq
lea rdx, [0x140004000]
stc
movzx ecx, byte [r8]
and ecx, 0xf
inc rax
test r10b, r9b
lahf
movsx rax, byte [rcx + rdx + 0xbca20]
cmc
cmp sp, si
mov cl, byte [rcx + rdx + 0xbca30]
sub r8, rax
shl al, cl
shl ah, 0x32
mov eax, dword [r8 - 4]
cmc
jmp 0x14047d3fb
shr eax, cl
shl ch, 0xa6
shr ch, cl
mov qword [r15 + 8], r8
rcr rcx, cl
shr ch, cl
bsf rcx, rdx
mov dword [r15 + 0x18], eax
rcl ax, cl
btr ecx, 0xd3
movzx ecx, byte [r8]
movsxd rax, ebx
and ecx, 0xf
xadd eax, eax
movsx rax, byte [rcx + rdx + 0xbca20]
mov cl, byte [rcx + rdx + 0xbca30]
sub r8, rax
shld rax, rsp, 0x78
mov eax, dword [r8 - 4]
test r14w, r15w
shr eax, cl
bt cx, 0x21
mov qword [r15 + 8], r8
mov dword [r15 + 0x1c], eax
and ch, 0x37
movzx ecx, byte [r8]
and ecx, 0xf
movsx ax, bh
movsx rax, byte [rcx + rdx + 0xbca20]
stc
clc
mov cl, byte [rcx + rdx + 0xbca30]
sub r8, rax
shrd edx, r14d, 0xf2
mov eax, dword [r8 - 4]
bt edx, r9d
shr dh, 0x40
xchg dl, dh
shr eax, cl
cwd
mov ecx, dword [rsp + 0x68]
movsxd rdx, ebp
inc dx
mov dword [r15 + 0x20], eax
dec dl
cdq
inc ecx
bt ax, 0xcb
movsx ax, r9b
rcl ax, cl
mov qword [r15 + 8], r8
cmc
lea rax, [r8 + 4]
shld dx, si, 0x63
mov edx, dword [r8]
cmp r10b, r11b
jmp 0x14047d4c8
mov qword [r15 + 8], rax
cmp cl, r15b
mov dword [r15 + 0x24], edx
mov dword [rsp + 0x68], ecx
test r14w, 0x52f4
cmc
cmp ecx, dword [rbp - 0x40]
jmp 0x14047d4e6
jb 0x14047d15e
test byte [r14], 0x40
je 0x14047d57c
mov rdx, r14
mov cl, r8b
xchg cx, cx
mov rcx, rsi
jmp 0x14047d507
call fcn.14013cebb
test al, al
je 0x14047d630
jmp 0x14047d57c
cmp dword [rbp - 0x10], 0
jbe 0x14047d57c
cmp byte [rbp + 0xf8], 0
jne 0x14047d64d
mov eax, dword [rbp + 0x100]
movsx dx, r14b
cwd
cdq
mov r9, rsi
movsxd r8, r10d
mov dx, ax
jmp 0x14047d54c
mov qword [rsp + 0x38], r12
movzx dx, r8b
movsx r8d, si
cwd
mov r8, r13
mov dword [rsp + 0x30], eax
mov rdx, r15
mov dword [rsp + 0x28], edi
mov rcx, rbx
jmp 0x14047d572
mov qword [rsp + 0x20], r14
call fcn.14047de4a
call fcn.1404787ec
cmp qword [rax + 0x38], 0
jmp 0x14047d58b
jne 0x14047d64d
mov rcx, qword [rbp + 0x70]
test bpl, r10b
test ebp, 0x70f76ddf
xor rcx, rsp
call fcn.140454a7f
add rsp, 0x188
movsx r13d, bp
pop r15
movsx r12, si
movsx di, dl
pop r14
setle r12b
pop r13
movsxd rsi, ebp
movzx rbp, sp
pop r12
pop rdi
movsxd rbp, ebx
pop rsi
movsx bp, r12b
pop rbx
movsxd rbp, r11d
mov bpl, 0x4e
pop rbp
jmp 0x14047d5e3
ret
mov dl, 1
movzx cx, r11b
mov rcx, rbx
call fcn.140459300
lea rcx, [rbp - 0x78]
jmp 0x14047d5fc
call fcn.14017d0ea
lea rdx, [0x1400d6518]
bswap ecx
cmove cx, r12w
xchg ch, ch
lea rcx, [rbp - 0x78]
jmp 0x14047d61a
call fcn.14045774c
int3
call fcn.140477f41
int3
call fcn.1404787ec
mov qword [rax + 0x20], rbx
call fcn.1404787ec
mov qword [rax + 0x28], r13
call fcn.140477f41
int3
call fcn.14046d55b
int3