Function at 0x1800218b8
Capabilities:
Encrypt data using speck

Disassembly:
jmp 0x180021978
call fcn.180021873
mov qword [rsp + 0x10], rbx
cmovno rax, r9
stc
mov qword [rsp + 0x18], rbp
cbw
mov qword [rsp + 0x20], rsi
sbb bpl, r9b
push rdi
adc al, 0x2a
push r12
push r13
shl dil, 0x1a
ror r12b, 0x3b
push r14
push r15
sar rax, 0x39
shrd di, r9w, 0x15
bts ax, bp
sub rsp, 0x70
movzx ebp, bp
neg bpl
mov rax, qword [0x180005008]
test dh, 0xae
xadd edi, edi
xor rax, rsp
dec rdi
mov qword [rsp + 0x60], rax
movsx bp, al
setnp bpl
movsx r12d, r9w
mov rbp, 0xffffffffffffffff
mov byte [rsp + 0x20], dl
mov rdi, rcx
movzx r12d, r13w
inc r12d
xchg ecx, r12d
movzx r12d, dl
movzx cx, spl
xchg ch, cl
mov rcx, rbp
jmp 0x180021a10
inc rcx
jmp 0x180021a1b
cmp byte [rdi + rcx], 0
jne 0x180021a10
inc rcx
dec dx
movabs rsi, 0xaaaaaaaaaaaaaaab
neg edx
sbb eax, 0xdf90ee2f
and rbx, r14
mov rax, rsi
mul rcx
mov rbx, rdx
sub cx, 0x971c
xor ch, al
neg cl
shr rbx, 1
movzx cx, r12b
movzx rcx, r13w
lea rcx, [rbx + 1]
jmp 0x180021a66
call fcn.1800018f0
lea rcx, [rbx + 1]
movsxd r13, ecx
mov r13w, di
mov r13, rax
call fcn.1800018f0
mov r14, rax
mov qword [rsp + 0x28], rax
movzx ecx, bp
mov rcx, rbp
inc rcx
jmp 0x180021a98
cmp byte [rdi + rcx], 0
jmp 0x180021aa1
jne 0x180021a8c
inc rcx
shl dl, 0x18
mov rax, rsi
cmp bx, bp
mul rcx
mov rax, rbp
sar r15b, cl
mov r15, rdx
dec rbx
bsf rbx, rax
shl bh, cl
shr r15, 1
sub esi, esi
inc bh
mov ebx, esi
jmp 0x180021ad6
inc rax
stc
test r9b, 0x96
clc
cmp byte [rdi + rax], bl
jmp 0x180021ae7
jne 0x180021ad6
test rax, rax
jmp 0x180021af5
je 0x180021c08
mov esi, 1
cmp bl, 4
mov r12, r14
shl cx, 4
nop word [rax + rax]
shr cx, 0x1b
mov r9d, ebx
lea r9, [r9 + rdi]
and cl, 0x8d
movzx cx, r8b
movzx ecx, byte [r9]
cmp cl, 0x20
jmp 0x180021b33
je 0x180021bbf
mov eax, 0xaaaaaaab
mul esi
shr edx, 1
movzx r14, r12w
mov r14d, edx
test r8w, r10w
clc
cmp cl, 0x3f
jmp 0x180021b56
jne 0x180021b78
inc ebx
jmp 0x180021b63
mov byte [r12 + rdx], cl
jmp 0x180021b6c
inc esi
jmp 0x180021b73
jmp 0x180021bbf
sub edx, edx
setp r8b
mov rcx, r9
cmove r8, r8
mov r8d, esp
jmp 0x180021b8d
lea r8d, [rdx + 0x10]
jmp 0x180021b96
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_strtol]
add ebx, 2
bt cx, di
mov byte [r14 + r13], al
not cx
mov byte [r12 + r14], 0x78
btc cx, r11w
add esi, 2
movsx cx, r12b
mov cl, bpl
inc ebx
movzx rcx, r14w
mov rcx, rbp
inc esi
nop
jmp 0x180021bd0
inc rcx
test dl, dil
cmp byte [rdi + rcx], 0
jne 0x180021bd0
mov eax, ebx
clc
cmc
cmp rax, rcx
jb 0x180021b18
movzx r12d, byte [rsp + 0x20]
movsx r14w, bpl
xor esi, esi
bswap r14w
mov r14, qword [rsp + 0x28]
jmp 0x180021c08
mov byte [r15 + r13], 0
jmp 0x180021c12
mov byte [r15 + r14], 0
jmp 0x180021c1c
nop word [rax + rax]
jmp 0x180021c2a
inc rbp
stc
test dx, r11w
cmp byte [r14 + rbp], 0
jne 0x180021c2a
mov rdi, qword [0x1800056e8]
sub ebx, 0xd9813327
mov rbx, rsi
rcr r15, 0xb2
mov r15, qword [0x1800056e0]
clc
stc
lea r15, [r15 + rdi]
cmp rdi, r15
jmp 0x180021c66
jae 0x180021e03
nop word [rax + rax]
xchg r8w, cx
not r8d
cwd
mov r8d, 0x30
jmp 0x180021c89
mov qword [rsp + 0x28], rbx
sete dl
movzx rcx, r12w
cqo
lea rdx, [rsp + 0x30]
mov rcx, rdi
jmp 0x180021ca4
call qword [sym.imp.KERNEL32.dll_VirtualQuery]
test rax, rax
je 0x180021e01
mov eax, dword [rsp + 0x54]
mov r11, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x30]
clc
stc
test eax, 0x101
jne 0x180021def
test eax, eax
jmp 0x180021cd5
je 0x180021def
lea r10, [r11 + rsi]
cmp r14, 0x531b7182
jmp 0x180021ceb
cmp rdi, r10
jmp 0x180021cf3
jae 0x180021def
nop dword [rax]
mov rcx, rbp
movsx eax, cx
bsf eax, ebp
mov r9, r10
sub rcx, rbx
sub r9, rdi
lea rax, [rcx + rdi]
bt edx, 1
btc dx, r14w
rol dh, cl
cmp rax, r10
bswap dx
cmovbe r9, rcx
xor eax, eax
shl dl, 0xaa
mov edx, eax
clc
test bl, 0x1e
test r9, r9
jmp 0x180021d3b
je 0x180021d91
mov r8, r14
sbb al, r15b
lea rax, [rbx + r13]
stc
clc
sub r8, r13
test dl, 0x90
nop word [rax + rax]
cmp byte [r8 + rax], 0x3f
je 0x180021d75
movzx ecx, byte [rax]
cmp byte [rdx + rdi], cl
jmp 0x180021d6f
jne 0x180021dcf
inc rdx
jmp 0x180021d7d
inc rbx
inc rax
cmp rdx, r9
jb 0x180021d59
sub eax, eax
clc
cmc
stc
cmp rbx, rbp
jmp 0x180021d99
jne 0x180021def
cmp rdi, r13
je 0x180021dcf
test r12b, r12b
jmp 0x180021db0
je 0x180021e92
add r12b, 0xff
cmovo eax, r11d
movzx eax, r9w
mov rax, rbp
jmp 0x180021dca
jmp 0x180021dd8
mov eax, 1
stc
test r14, rsp
add rdi, rax
clc
sub ebx, ebx
cmp r13b, r9b
cmp rdi, r10
jmp 0x180021de9
jb 0x180021cfd
lea rdi, [r11 + rsi]
cmp rdi, r15
jmp 0x180021dfb
jb 0x180021c7e
xor esi, esi
mov rax, rsi
bt ecx, 0x87
mov rcx, qword [rsp + 0x60]
test r12w, si
cmp r9b, 0x24
xor rcx, rsp
call fcn.1800018d0
lea r11, [rsp + 0x70]
xchg sil, bl
cmove rbp, rdx
mov rbx, qword [r11 + 0x38]
movzx r12d, bp
mov bpl, r15b
xchg sil, r13b
mov rbp, qword [r11 + 0x40]
seto r14b
jmp 0x180021e49
mov rsi, qword [r11 + 0x48]
movzx edi, r8w
mov rsp, r11
pop r15
movsx r13w, r12b
movzx r14d, r11w
cmovns r14w, si
pop r14
movzx rdi, r8w
bswap r13w
movsx r13d, r15w
pop r13
xchg di, di
movsx rdi, bx
movsxd r12, r9d
pop r12
movsx di, dil
movsxd rdi, ecx
bswap di
pop rdi
jmp 0x180021e91
ret
sub rbx, r9
cmp r10b, 0x1b
cmp qword [rsp + 0x28], 0
jmp 0x180021ea4
cmove rbx, rax
or ax, 0x7d8c
and rax, 0xffffffffacb9d433
sub rdi, rbx
movsx rax, cx
movsx eax, sp
jmp 0x180021ec2
mov rax, rdi
jmp 0x180021eca
jmp 0x180021e0a