Function at 0x1401923e0
Capabilities:
Encrypt data using speck

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0xe8
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x60], 0xfffffffffffffffe
mov rsi, rcx
mov qword [rbp + 0x50], 0
mov qword [rbp + 0x58], 0xf
mov byte [rbp + 0x40], 0
lea rax, [0x140427b38]
mov qword [rbp + 0x38], rax
mov qword [rbp + 0x28], 0xf
mov qword [rbp + 0x20], 1
mov word [rbp + 0x10], 0x2e
mov qword [rbp + 8], rax
lea rcx, [rbp - 0x58]
lea r8, [rbp + 8]
mov qword [rbp + 0x30], rdx
call fcn.140275c70
mov rax, qword [rbp + 0x28]
cmp rax, 0x10
jb 0x1401924c2
mov rcx, qword [rbp + 0x10]
mov r8, qword [0x14050a8c0]
add r8, rax
movabs rdx, 0xd08b29e2407e8577
add rdx, r8
cmp rdx, 0x1000
jb 0x1401924bd
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
mov rdx, qword [0x14050a8c0]
movabs r9, 0xd08b29e2407e8596
add rdx, r9
cmp rcx, rdx
jae 0x140192f80
add rax, qword [0x14050a8c0]
movabs rdx, 0xd08b29e2407e859e
add rdx, rax
mov rcx, r8
call fcn.1400a7e90
mov qword [rbp - 8], rsi
lea rbx, [rbp + 0x40]
xor r12d, r12d
lea rdi, [rbp - 0x58]
lea r14, [rbp + 8]
lea r15, [rbp + 0x38]
movabs r13, 0xd7626a26ef1534b1
movabs rsi, 0x57626a26ef1534b1
jmp 0x140192544
movabs rcx, 0x289d95d910eacb77
add rax, rcx
mov rcx, rax
xor rcx, r13
and rax, rsi
lea rdx, [rcx + rax*2]
mov rcx, r8
call fcn.1400a7e90
mov eax, dword [0x14050a8b8]
add eax, r12d
add eax, 0x70dd5aab
mov ecx, dword [0x14055bd60]
mov edx, ecx
not edx
mov r8d, edx
and r8d, eax
mov r9d, ecx
xor r9d, eax
and r9d, ecx
or r9d, r8d
xor edx, eax
and edx, ecx
lea r12d, [r9 + rdx*2]
mov rcx, rdi
call fcn.140276d00
test al, al
jne 0x1401925cb
cmp qword [rbp + 0x58], 0x10
mov rax, rbx
jb 0x14019255e
mov rax, qword [rbp + 0x40]
mov qword [rbp + 0x50], 0
mov byte [rax], 0
mov rcx, rdi
mov rdx, r14
call fcn.140276360
mov rcx, r15
mov rdx, r14
call fcn.140271230
mov rax, qword [rbp + 0x28]
cmp rax, 0x10
jb 0x140192512
mov rcx, qword [rbp + 0x10]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x14019250d
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
mov rdx, qword [0x14050a8c0]
movabs r9, 0xd08b29e2407e8596
add rdx, r9
cmp rcx, rdx
jb 0x1401924f0
call fcn.1403c4adc
mov edx, dword [rbp + 0x50]
test edx, edx
je 0x1401925e5
cmp qword [rbp + 0x58], 0x10
mov rcx, rbx
jb 0x1401925e0
mov rcx, qword [rbp + 0x40]
call fcn.140113ca0
mov r14, qword [rbp + 0x50]
cmp r14, 3
jne 0x1401927e7
mov rdx, qword [rbp + 0x58]
mov rax, qword [0x14055c128]
mov rcx, rax
xor rcx, rdx
mov r8, rax
not r8
mov r9, r8
and r9, rdx
mov r10, rax
and rax, rdx
not rdx
and r10, rdx
or r10, r9
xor rdx, r8
or rax, rdx
not rax
or rax, r10
not rax
add rax, rax
neg rcx
neg rax
mov rdx, rcx
xor rdx, rax
and rax, rcx
lea rax, [rdx + rax*2]
neg rax
mov rdi, rbx
cmp rax, 0x10
jb 0x140192654
mov rdi, qword [rbp + 0x40]
mov dword [rsp + 0x20], 0x56a4e407
xor ecx, ecx
mov edx, 1
mov r8d, 0xd0c9599f
mov r9d, 0x63a1287e
call fcn.14019cac0
mov dword [rsp + 0x20], 0xa59c1cf2
mov rcx, rdi
mov rdx, rax
mov r8, r14
mov r9d, 0xabae16ca
call fcn.1400a9850
mov edi, 0xfffffffe
test eax, eax
je 0x140192e36
cmp qword [rbp + 0x58], 0x10
mov r15, rbx
jb 0x1401926ab
mov r15, qword [rbp + 0x40]
xor ecx, ecx
mov edx, 1
mov r8d, 0x747fc75c
mov r9d, 0xb44f9a2f
call fcn.14019b6f0
mov ecx, dword [0x14050a8b8]
lea r9d, [rcx + 0x1c8b7174]
add ecx, 0x1679779c
mov dword [rsp + 0x20], ecx
mov rcx, r15
mov rdx, rax
mov r8, r14
call fcn.1400a9850
test eax, eax
je 0x140192e36
cmp qword [rbp + 0x58], 0x10
mov r15, rbx
jb 0x1401926fe
mov r15, qword [rbp + 0x40]
mov dword [rsp + 0x20], 0xf765c299
xor ecx, ecx
xor edx, edx
mov r8d, 0x2cd8ef79
mov r9d, 0xe7169a59
call fcn.14019c410
mov dword [rsp + 0x20], 0xa59c1cf2
mov rcx, r15
mov rdx, rax
mov r8, r14
mov r9d, 0xabae16ca
call fcn.1400a9850
test eax, eax
je 0x140192e36
cmp qword [rbp + 0x58], 0x10
mov r15, rbx
jb 0x14019274d
mov r15, qword [rbp + 0x40]
mov dword [rsp + 0x20], 0x1217418
mov ecx, 1
mov edx, 1
mov r8d, 0x80fe05e
mov r9d, 0x809d9468
call fcn.14019c860
mov dword [rsp + 0x20], 0xa59c1cf2
mov rcx, r15
mov rdx, rax
mov r8, r14
mov r9d, 0xabae16ca
call fcn.1400a9850
add eax, dword [0x14055bdf4]
je 0x140192e36
cmp qword [rbp + 0x58], 0x10
jb 0x1401927a3
mov rbx, qword [rbp + 0x40]
mov dword [rsp + 0x20], 0x56a4e407
mov ecx, 1
xor edx, edx
mov r8d, 0xd0c9599f
mov r9d, 0x63a1287e
call fcn.14019cac0
mov dword [rsp + 0x20], 0xa59c1cf2
mov rcx, rbx
mov rdx, rax
mov r8, r14
mov r9d, 0xabae16ca
call fcn.1400a9850
test eax, eax
je 0x140192e36
mov rax, qword [rbp + 0x30]
mov rsi, qword [rax + 0x18]
cmp rsi, 4
mov edi, 4
cmovb rdi, rsi
lea rbx, [rax + 8]
cmp qword [rax + 0x20], 0x10
mov r14, rbx
jb 0x140192812
mov rax, qword [rbp + 0x30]
mov r14, qword [rax + 8]
mov eax, dword [0x14050a8b8]
lea ecx, [rax + 0x70dd5aab]
lea r8d, [rax - 0x6249b5dd]
lea r9d, [rax + 0x57f3f503]
add eax, 0x68431d43
mov dword [rsp + 0x20], eax
mov edx, ecx
call fcn.14019c410
mov dword [rsp + 0x20], 0xa59c1cf2
mov rcx, r14
mov rdx, rax
mov r8, rdi
mov r9d, 0xabae16ca
call fcn.1400a9850
mov edi, 0xfffffffe
test eax, eax
jne 0x14019286b
cmp rsi, 3
ja 0x140192e36
mov rax, qword [0x140507cb8]
movsxd r14, dword [rax]
nop word cs:[rax + rax]
mov ecx, dword [0x14055c11c]
mov edx, dword [0x14050a8b8]
mov r8d, edx
xor r8d, 0x70dd5afc
and edx, 0x70dd5afc
lea edx, [r8 + rdx*2]
cmp ecx, edx
jge 0x1401928af
mov ecx, dword [0x14055c11c]
cmp ecx, 0xd
jle 0x1401928bd
cmp dword [0x14050a8b8], 0x8f22a556
jne 0x140192880
jmp 0x1401928a4
add r14, rax
lea rax, [fcn.1401923e0]
add eax, eax
add eax, 0x2b60
mov ecx, eax
not ecx
nop word cs:[rax + rax]
mov edx, dword [0x14055c11c]
cmp edx, 0x1a
jg 0x1401928ef
test ecx, eax
je 0x1401928fc
mov edx, dword [0x14055c11c]
cmp edx, 0x26
jge 0x1401928e0
jmp 0x1401928eb
mov r15d, dword [0x14042d2c0]
mov dword [rsp + 0x20], 0x56a4e407
mov ecx, 1
mov edx, 1
mov r8d, 0xd0c9599f
mov r9d, 0x63a1287e
call fcn.14019cac0
mov r8d, 0x10
mov rcx, rbx
xor edx, edx
mov r9, rax
call fcn.1401931d0
test eax, eax
je 0x140192e36
mov dword [rsp + 0x20], 0x1217418
mov ecx, 1
xor edx, edx
mov r8d, 0x80fe05e
mov r9d, 0x809d9468
call fcn.14019c860
mov r8d, 0xc
mov rcx, rbx
xor edx, edx
mov r9, rax
call fcn.1401931d0
test eax, eax
je 0x140192e36
mov dword [rsp + 0x20], 0x7a8657f9
xor ecx, ecx
mov edx, 1
mov r8d, 0x22ce91ad
mov r9d, 0x3253ada5
call fcn.14019ba20
mov r8d, 8
mov rcx, rbx
xor edx, edx
mov r9, rax
call fcn.1401931d0
mov ecx, dword [0x14050a8b8]
mov edx, ecx
xor edx, 0x70dd5aaa
and ecx, 0x70dd5aaa
lea ecx, [rdx + rcx*2]
cmp eax, ecx
je 0x140192e36
mov dword [rsp + 0x20], 0xf765c299
xor ecx, ecx
mov edx, 1
mov r8d, 0x2cd8ef79
mov r9d, 0xe7169a59
call fcn.14019c410
mov r8d, 8
mov rcx, rbx
xor edx, edx
mov r9, rax
call fcn.1401931d0
mov edx, dword [0x140507c98]
lea ecx, [rdx + 1]
mov dword [0x140507c98], ecx
mov r8d, edx
not r8d
xor edx, ecx
xor ecx, r8d
and ecx, r8d
or ecx, edx
not ecx
mov r8d, 0x70dd5aaa
mov edx, dword [0x14050a8b8]
add edx, r8d
cmp ecx, edx
mov dword [rbp + 4], edx
jne 0x140192a60
mov r9d, dword [0x14050a8b8]
mov r10d, r9d
xor r10d, 0x70dd5aaa
and r9d, 0x70dd5aaa
lea r9d, [r10 + r9*2]
xor r10d, r10d
cmp r9d, r15d
jl 0x140192d1b
xor r11d, r11d
mov edx, 0x70dd5aaa
add edx, dword [0x14050a8b8]
cmp eax, edx
setne r8b
sete r10b
movzx eax, byte [0x14055c120]
mov r9d, eax
xor r9b, 1
mov edx, eax
xor dl, r10b
mov ebx, r9d
and bl, r8b
or bl, dl
cmp bl, 1
jne 0x140192e36
xor r9b, r10b
and al, r8b
or r9b, al
je 0x140192e36
test al, al
jne 0x140192e36
mov r14, qword [rbp - 8]
cmp qword [r14 + 0x80], 0
je 0x140192e31
add r14, 0x78
xor r8d, r8d
cmp ecx, dword [rbp + 4]
setne r8b
mov rcx, qword [0x14042d2a0]
sub rcx, r11
lea rax, [r8 - 1]
neg r8
and r8, rcx
not rcx
mov rdx, rcx
and rdx, rax
or r8, rdx
xor rax, rcx
and rax, rcx
or rax, r8
lea rcx, [fcn.1401923e0]
add ecx, ecx
add ecx, 0xa20
mov edx, ecx
not edx
not rax
mov r8b, 1
nop word cs:[rax + rax]
mov r9d, dword [0x14050a8b8]
lea r10d, [r9 + 0x70dd5aab]
mov r11d, ecx
xor r11d, r10d
not r10d
and r10d, edx
or r10d, r11d
not r10d
add r9d, 0x70dd5aaa
cmp r10d, r9d
jne 0x140192b58
cmp dword [0x14050a8b8], 0x8f22a556
je 0x140192b5f
test r8b, r8b
je 0x140192b20
jmp 0x140192b4c
mov rcx, rax
shr rcx, 0x20
or ecx, eax
mov eax, ecx
shr eax, 0x10
or eax, ecx
mov ecx, eax
shr ecx, 8
mov edx, ecx
not dl
mov r8d, eax
xor r8b, dl
and r8b, al
xor dl, cl
and dl, al
xor dl, cl
or dl, r8b
xor r10d, r10d
sub r10b, byte [0x14055c121]
neg dl
lea rax, [fcn.1401923e0]
lea r11d, [rax + rax]
add r11d, 0xbe0
lea esi, [r10 + rdx]
nop dword [rax]
mov eax, dword [0x14050a8b8]
lea ecx, [rax + 0x70dd5aab]
mov r8d, r11d
xor r8d, ecx
or ecx, r11d
not ecx
or ecx, r8d
not ecx
add eax, 0x70dd5aaa
cmp ecx, eax
jne 0x140192bf2
movzx eax, byte [0x14050a8bc]
sub al, sil
add al, 0xb3
mov byte [0x14055c121], al
mov eax, dword [0x14055c11c]
cmp eax, 0x20
jle 0x140192c60
mov r9d, r10d
mov ecx, edx
shl r9b, cl
mov r8d, r10d
mov ecx, r9d
shl r8b, cl
mov eax, r8d
sub al, r9b
mul r9b
mov ecx, eax
shl r8b, cl
shl r8b, cl
add r8b, al
mov eax, r8d
neg al
mul r8b
sub r8b, al
mov ecx, r8d
shl al, cl
shl al, cl
sub al, r8b
mul r8b
shl al, cl
mov ecx, eax
neg cl
mov r9d, ecx
xor r9b, r8b
and cl, r8b
add cl, cl
add cl, r9b
sub al, cl
mov byte [0x14055c121], al
cmp dword [0x14050a8b8], 0x8f22a556
jne 0x140192bb0
jmp 0x140192bd5
cmp r12d, 2
jae 0x140192cb2
mov dword [rsp + 0x20], 0xf765c299
mov ecx, 1
xor edx, edx
mov r8d, 0x2cd8ef79
mov r9d, 0xe7169a59
call fcn.14019c410
lea rcx, [rbp + 8]
mov rdx, rax
call fcn.1400ad750
lea rdx, [rbp + 8]
mov rsi, r14
mov rcx, r14
call fcn.140197f30
mov rbx, rax
lea rcx, [rbp + 8]
call fcn.140071500
cmp rbx, qword [rsi]
jne 0x140192d13
lea rdx, [rbp + 0x38]
mov rcx, r14
call fcn.140197f30
mov rbx, rax
cmp rax, qword [r14]
jne 0x140192d13
mov dword [rsp + 0x20], 0x7df4a395
xor ecx, ecx
mov edx, 1
mov r8d, 0xb27df4c5
mov r9d, 0xc2f6f930
call fcn.14019bfd0
lea rcx, [rbp + 8]
mov rdx, rax
call fcn.1400ad750
lea rdx, [rbp + 8]
mov rcx, r14
call fcn.140197f30
mov rbx, rax
lea rcx, [rbp + 8]
call fcn.140071500
cmp rbx, qword [r14]
je 0x140192e36
mov edi, dword [rbx + 0x48]
jmp 0x140192e36
mov r9d, 0x70dd5ab2
xor r8d, r8d
jmp 0x140192d8f
mov r11, r8
not r11
mov rdx, rbx
not rdx
mov r13, r11
xor r13, rbx
mov rsi, r8
xor rsi, rdx
and r11, rbx
or r11, rsi
not r11
or r11, r13
and rdx, r8
xor r11, rdx
and rdx, r11
not r11
or r11, rdx
mov edx, dword [0x14050a8b8]
add edx, r9d
mov r8d, r10d
xor r8d, edx
not r10d
not edx
and edx, r10d
or edx, r8d
not edx
lea r10d, [r8 + rdx*2]
mov r8, r11
cmp r10d, r15d
jge 0x140192a63
mov r11d, dword [0x14055c11c]
nop word cs:[rax + rax]
mov r11d, dword [0x14055c118]
lea ebx, [r11 + 1]
imul ebx, r11d
test bl, 1
jne 0x140192da0
movsxd r11, r10d
add r11, r14
mov ebx, dword [0x14055c11c]
mov ebx, dword [0x14055c118]
lea r13d, [rbx - 1]
imul r13d, ebx
test r13b, 1
jne 0x140192dc0
mov ebx, dword [0x14050a8b8]
mov r13d, ebx
xor r13d, 0x70dd5aaa
and ebx, 0x70dd5aaa
add ebx, ebx
add ebx, r13d
jne 0x140192e20
nop word cs:[rax + rax]
mov rbx, qword [r11]
mov r13d, dword [0x14055c118]
lea edx, [r13 - 1]
imul edx, r13d
test dl, 1
je 0x140192d30
nop dword [rax + rax]
mov rdx, qword [r11]
cmp dword [0x14050a8b8], 0x8f22a556
jne 0x140192e20
jmp 0x140192e00
mov edi, 0xffffffff
lea rcx, [rbp - 0x58]
call fcn.14019b310
mov rax, qword [rbp + 0x58]
cmp rax, 0x10
mov rsi, qword [rbp + 0x30]
jb 0x140192ef1
mov rcx, qword [rbp + 0x40]
mov r8, rax
not r8
mov edx, r8d
and edx, 1
mov r9, rax
and r9, 0xfffffffffffffffe
or r9, rdx
mov rdx, rax
xor rdx, 1
and r8, 0xfffffffffffffffe
or r8, rdx
not r8
mov rdx, qword [0x14050a8c0]
movabs r10, 0x2f09fcce36958f73
mov r11, rdx
xor r11, r10
and rdx, r10
lea r10, [r11 + rdx*2]
movabs rdx, 0xa1812d1409e8f605
add rdx, r10
imul rdx, r8
add rdx, r9
cmp rdx, 0x1000
jb 0x140192eec
mov r8, qword [rcx - 8]
mov rdx, qword [0x14050a8c0]
add rcx, rdx
sub rdx, r8
movabs r9, 0xa11653c480fd0ae4
add r9, rcx
add r9, rdx
cmp r9, 0x20
jae 0x140192f85
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1400a7e90
mov rax, qword [rsi + 0x20]
cmp rax, 0x10
jb 0x140192f56
mov rcx, qword [rsi + 8]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x140192f51
mov r8, qword [rcx - 8]
mov rdx, qword [0x14050a8c0]
movabs r9, 0x2c631496bc360973
mov r10, rdx
xor r10, r9
and rdx, r9
lea rdx, [r10 + rdx*2]
sub rdx, rcx
add rdx, r8
movabs rcx, 0x5bd7eab47bb783f5
sub rcx, rdx
cmp rcx, 0x20
jae 0x140192f8a
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1400a7e90
mov qword [rsi + 0x18], 0
mov qword [rsi + 0x20], 0xf
mov byte [rsi + 8], 0
mov eax, edi
add rsp, 0xe8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
call fcn.1403c4adc
call fcn.1403c4adc
call fcn.1403c4adc
int3