Function at 0x1800464b0
Capabilities:
Encrypt data using speck

Disassembly:
mov qword [rsp + 0x18], rbx
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0xd0
mov ebx, dword [rbp + 0x7f]
mov r13, r8
lea r8d, [r9 + 0x6bf]
mov eax, r9d
mov dword [rbp - 0x61], r8d
cmp r9d, r8d
jae 0x180046c5b
mov r12d, dword [rbp + 0x7f]
mov edi, dword [rbp + 0x7f]
mov dword [rbp - 0x49], ebx
cmp eax, 0x141
ja 0x1800469fe
je 0x180046909
sub eax, 5
je 0x18004684f
sub eax, 0x9d
je 0x1800467ab
sub eax, 2
je 0x18004677d
sub eax, 0x81
je 0x180046749
cmp eax, 0x1a
jne 0x180046c42
mov rcx, qword [r13]
xor r15d, r15d
mov r14, qword [rcx + 0x130]
cmp dword [rcx + 0x38], r15d
jle 0x1800466c2
add r14, 0x50
mov esi, 0x22
cmp esi, 0x22
je 0x180046657
cmp esi, 0x7f8
je 0x180046619
cmp esi, 0xfce
je 0x1800465a2
cmp esi, 0x17a4
jne 0x18004669b
mov dword [r14 - 0x20], 1
mov qword [r14], 0
jmp 0x18004669b
mov rcx, qword [r13]
lea rdx, [rbp - 0x31]
xor r9d, r9d
mov r8d, 0x96
mov eax, dword [rcx + 0x1d0]
mov dword [rbp - 0x39], eax
mov eax, dword [rcx + 0x30]
xor ecx, ecx
imul eax, dword [r14 - 0x48]
mov dword [rbp - 0x31], eax
lea rax, [rbp - 0x39]
mov qword [rsp + 0x20], rax
call fcn.18002b4f0
mov dword [r14 - 0x28], eax
lea rdx, [rbp - 0x21]
mov rcx, qword [r13]
xor r9d, r9d
mov r8d, 0x96
mov eax, dword [rcx + 0x1d4]
mov dword [rbp - 0x29], eax
mov eax, dword [rcx + 0x34]
xor ecx, ecx
imul eax, dword [r14 - 0x44]
mov dword [rbp - 0x21], eax
lea rax, [rbp - 0x29]
mov qword [rsp + 0x20], rax
call fcn.18002b4f0
mov dword [r14 - 0x24], eax
jmp 0x18004669b
mov rcx, qword [r13]
lea rdx, [rbp - 0x11]
xor r9d, r9d
mov r8d, 0x96
mov eax, dword [rcx + 0x1d4]
shl eax, 3
mov dword [rbp - 0x19], eax
mov eax, dword [rcx + 0x34]
xor ecx, ecx
imul eax, dword [r14 - 0x44]
mov dword [rbp - 0x11], eax
lea rax, [rbp - 0x19]
mov qword [rsp + 0x20], rax
call fcn.18002b4f0
mov dword [r14 - 0x30], eax
jmp 0x18004669b
mov dword [r14 - 0x2c], 8
lea rdx, [rbp - 1]
mov rcx, qword [r13]
xor r9d, r9d
mov r8d, 0x96
mov eax, dword [rcx + 0x1d0]
shl eax, 3
mov dword [rbp - 9], eax
mov eax, dword [rcx + 0x30]
xor ecx, ecx
imul eax, dword [r14 - 0x48]
mov dword [rbp - 1], eax
lea rax, [rbp - 9]
mov qword [rsp + 0x20], rax
call fcn.18002b4f0
mov dword [r14 - 0x34], eax
add esi, 0x7d6
cmp esi, 0x1f58
jbe 0x180046565
mov rcx, qword [r13]
inc r15d
add r14, 0x60
cmp r15d, dword [rcx + 0x38]
jl 0x180046560
mov eax, dword [rcx + 0x1d4]
lea rdx, [rbp + 0xf]
shl eax, 3
xor r9d, r9d
mov dword [rbp + 7], eax
mov r8d, 0x96
mov eax, dword [rcx + 0x34]
xor ecx, ecx
mov dword [rbp + 0xf], eax
lea rax, [rbp + 7]
mov qword [rsp + 0x20], rax
call fcn.18002b4f0
mov rcx, qword [r13]
mov dword [rcx + 0x1dc], eax
mov rcx, qword [r13]
mov eax, dword [rcx + 0x38]
cmp dword [rcx + 0x1e8], eax
jl 0x18004672e
cmp dword [rcx + 0x138], 0
jne 0x18004672e
mov rax, qword [rcx + 0x278]
mov r8d, dword [rbp - 0x61]
mov rcx, qword [rbp + 0x67]
mov dword [rax + 0x20], 0
jmp 0x180046c42
mov rax, qword [rcx + 0x278]
mov r8d, dword [rbp - 0x61]
mov rcx, qword [rbp + 0x67]
mov dword [rax + 0x20], 1
jmp 0x180046c42
mov eax, dword [r13]
lea r9, [rbp + 0x17]
mov dword [rbp + 0x23], eax
lea r8, [rbp + 0x1b]
mov eax, dword [rdx]
lea rdx, [rbp - 0x69]
mov dword [rbp + 0x1f], eax
mov eax, dword [rcx]
mov ecx, 0x10b
mov dword [rbp - 0x69], eax
call fcn.18002e120
mov r8d, dword [rbp - 0x61]
mov rcx, qword [rbp + 0x67]
jmp 0x180046c42
mov eax, dword [r13]
lea rcx, [rdx + 4]
mov dword [rdx], eax
lea r8, str.Supplier
mov r9d, dword [r13]
lea rdx, str._s_09ld
call fcn.180075c20
mov r8d, dword [rbp - 0x61]
mov rcx, qword [rbp + 0x67]
jmp 0x180046c42
mov rax, qword [r13]
xor r14d, r14d
mov dword [rax + 0x1d4], 1
mov rcx, qword [r13]
mov rsi, qword [rcx + 0x130]
cmp dword [rcx + 0x38], r14d
jle 0x18004683c
add rsi, 0xc
mov edx, dword [rsi - 4]
lea eax, [rdx - 1]
cmp eax, 3
ja 0x1800467e7
mov eax, dword [rsi]
test eax, eax
jle 0x1800467e7
cmp eax, 4
jle 0x180046801
mov rax, qword [rcx]
mov dword [rax + 0x28], 0x12
mov rcx, qword [r13]
mov rax, qword [rcx]
call qword [rax]
mov rcx, qword [r13]
mov edx, dword [rsi - 4]
mov eax, dword [rcx + 0x1d0]
cmp eax, edx
cmovle eax, edx
mov dword [rcx + 0x1d0], eax
mov rdx, qword [r13]
mov ecx, dword [rdx + 0x1d4]
cmp ecx, dword [rsi]
cmovle ecx, dword [rsi]
inc r14d
mov dword [rdx + 0x1d4], ecx
add rsi, 0x60
mov rcx, qword [r13]
cmp r14d, dword [rcx + 0x38]
jl 0x1800467d1
mov r8d, dword [rbp - 0x61]
mov dword [rcx + 0x1d8], 8
mov rcx, qword [rbp + 0x67]
jmp 0x180046c42
mov rax, qword [r13]
cmp dword [rax + 0x34], 0xffdc
jg 0x180046865
cmp dword [rax + 0x30], 0xffdc
jle 0x18004688a
mov rax, qword [rax]
mov dword [rax + 0x28], 0x29
mov rax, qword [r13]
mov rcx, qword [rax]
mov dword [rcx + 0x2c], 0xffdc
mov rcx, qword [r13]
mov rax, qword [rcx]
call qword [rax]
mov rax, qword [r13]
cmp dword [rax + 0x128], 8
je 0x1800468ba
mov rax, qword [rax]
mov dword [rax + 0x28], 0xf
mov rax, qword [r13]
mov rcx, qword [rax]
mov eax, dword [rax + 0x128]
mov dword [rcx + 0x2c], eax
mov rcx, qword [r13]
mov rax, qword [rcx]
call qword [rax]
mov rax, qword [r13]
cmp dword [rax + 0x38], 0xa
jle 0x1800468f2
mov rax, qword [rax]
mov dword [rax + 0x28], 0x1a
mov rax, qword [r13]
mov rcx, qword [rax]
mov eax, dword [rax + 0x38]
mov dword [rcx + 0x2c], eax
mov rax, qword [r13]
mov rcx, qword [rax]
mov dword [rcx + 0x30], 0xa
mov rcx, qword [r13]
mov rax, qword [rcx]
call qword [rax]
mov rax, qword [r13]
mov r8d, dword [rbp - 0x61]
mov rcx, qword [rbp + 0x67]
mov dword [rax + 0x1d0], 1
jmp 0x180046c42
lea rax, [rdx + 0x1e]
mov dword [rsp + 0x28], 0x9c
lea rdx, [rbp - 0x51]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x69]
mov dword [rbp - 0x51], 0x20
xor r8d, r8d
mov dword [rbp - 0x59], 0x18
lea rcx, [rbp - 0x59]
mov dword [rbp - 0x69], 6
call fcn.180035b70
mov rsi, qword [rbp + 0x6f]
lea r9, [rbp - 0x51]
xor ecx, ecx
mov dword [rbp - 0x51], 0x21
mov dword [rbp - 0x69], ecx
xor r8d, r8d
mov edx, 0xf7
mov dword [rsi + 0x38], eax
mov eax, dword [0x1800c6870]
dec eax
mov dword [rbp - 0x59], eax
lea rax, [rbp - 0x69]
mov qword [rsp + 0x30], rax
lea rax, [rbp - 0x3d]
mov qword [rsp + 0x28], rcx
lea rcx, [rbp - 0x59]
mov qword [rsp + 0x20], rax
call fcn.18006dd70
movsxd r8, dword [rbp - 0x3d]
lea rdx, [rsi + 0x4c]
mov rax, qword [0x1800c6878]
add r8, r8
mov rcx, qword [rax + r8*8 + 8]
nop dword [rax]
nop dword [rax + rax]
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
mov byte [rdx], al
lea rdx, [rdx + 1]
test al, al
jne 0x1800469b0
mov rax, qword [0x1800c6878]
movsxd rcx, dword [rax + r8*8]
mov rax, qword [0x1800c68a8]
add rcx, rcx
mov rdx, qword [rax + rcx*8 + 8]
lea rcx, [rsi + 0x60]
nop
movzx eax, byte [rdx]
lea rdx, [rdx + 1]
mov byte [rcx], al
lea rcx, [rcx + 1]
test al, al
jne 0x1800469e0
mov r8d, dword [rbp - 0x61]
mov rcx, qword [rbp + 0x67]
jmp 0x180046c42
sub eax, 0x1c2
je 0x180046c31
sub eax, 0x1c
je 0x180046bdd
sub eax, 0x81
je 0x180046a35
sub eax, 0x1c
je 0x180046c5b
cmp eax, 0x81
jne 0x180046c42
mov eax, r12d
jmp 0x180046c5d
xor r8d, r8d
xor r15d, r15d
xor eax, eax
mov dword [rbp - 0x69], r8d
mov r11d, 0xffffffe4
mov dword [rbp - 0x41], eax
mov dword [rbp - 0x59], r8d
mov dword [rbp - 0x51], r11d
mov r14d, 0xf
cmp r8d, 7
jl 0x180046a6a
lea ecx, [rax - 0x1c]
shl r14d, cl
and r14d, dword [rbp + 0x17]
jmp 0x180046a73
mov ecx, eax
shl r14d, cl
and r14d, dword [rbp + 0x1b]
mov ebx, dword [rbp - 0x59]
mov r9d, eax
sar r14d, cl
xor r12d, r12d
nop
lea esi, [r9 + r11]
mov r10d, 0x111
lea r11d, [rsi + rax]
nop
mov eax, r10d
sub eax, 0x10f
je 0x180046b2e
sub eax, 1
je 0x180046b15
cmp eax, 1
jne 0x180046b7b
lea eax, [r8 + r15]
mov edi, 0xf
cmp eax, 7
jl 0x180046ac3
mov ecx, esi
shl edi, cl
and edi, dword [rbp + 0x1f]
jmp 0x180046acc
lea ecx, [r9 + rbx]
shl edi, cl
and edi, dword [rbp + 0x23]
sar edi, cl
imul edi, r14d
add edi, r12d
cmp r8d, 0xe
jge 0x180046afc
mov eax, 0xf
cmp r8d, 7
jl 0x180046aef
mov ecx, r11d
shl eax, cl
and eax, dword [rdx]
jmp 0x180046af8
mov ecx, r9d
shl eax, cl
and eax, dword [r13]
sar eax, cl
add edi, eax
mov eax, 0x66666667
imul edi
mov r12d, edx
sar r12d, 2
mov eax, r12d
shr eax, 0x1f
add r12d, eax
jmp 0x180046b77
mov eax, 0x99999999
imul edi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
lea edi, [rdi + rax*2]
jmp 0x180046b77
cmp r8d, 0xe
jge 0x180046b7b
mov edx, 0xf
cmp r8d, 7
jl 0x180046b5e
mov rax, qword [rbp + 0x6f]
mov ecx, r11d
shl edx, cl
xor edx, 0xfffffff
and edx, dword [rax]
mov eax, edi
shl eax, cl
or edx, eax
mov rax, qword [rbp + 0x6f]
mov dword [rax], edx
jmp 0x180046b77
mov ecx, r9d
mov eax, edi
shl edx, cl
xor edx, 0xfffffff
shl eax, cl
and edx, dword [r13]
or edx, eax
mov dword [r13], edx
mov rdx, qword [rbp + 0x6f]
dec r10d
cmp r10d, 0x10e
ja 0x180046a90
mov r11d, dword [rbp - 0x51]
inc r8d
add r9d, 4
lea eax, [r8 + r15]
cmp eax, 0xe
mov eax, dword [rbp - 0x41]
jl 0x180046a80
mov r8d, dword [rbp - 0x69]
add eax, 4
sub dword [rbp - 0x59], 4
inc r8d
sub r11d, 4
mov dword [rbp - 0x69], r8d
dec r15d
mov dword [rbp - 0x41], eax
mov dword [rbp - 0x51], r11d
cmp r11d, 0xffffffac
jg 0x180046a52
mov ebx, dword [rbp - 0x49]
mov r8d, dword [rbp - 0x61]
mov rcx, qword [rbp + 0x67]
jmp 0x180046c42
xor r8d, r8d
mov qword [rsp + 0x20], 0
lea r9, [rdx + 0x3c]
add rdx, 0x4c
lea ecx, [r8 + 0x5d]
call fcn.1800714b0
mov eax, dword [rbp - 0x3d]
lea r9, [rbp - 0x49]
mov rdx, qword [rbp + 0x6f]
lea rcx, [rbp - 0x69]
add rdx, 0x6d
mov dword [rbp - 0x49], 0x1c
mov r8d, 0xa7
mov dword [rbp - 0x69], eax
call fcn.18003d850
mov r8d, dword [rbp - 0x61]
xor ebx, ebx
mov rcx, qword [rbp + 0x67]
mov dword [rbp - 0x49], ebx
jmp 0x180046c42
mov dword [r13], 0
xor r12d, r12d
mov dword [rdx], 0
mov eax, dword [rbp + 0x7f]
add eax, 0x9d
mov dword [rbp + 0x7f], eax
cmp eax, r8d
jae 0x180046c5b
mov rdx, qword [rbp + 0x6f]
jmp 0x180046502
mov eax, ebx
mov rbx, qword [rsp + 0x120]
add rsp, 0xd0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret