Function at 0x140002e40
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r15
lea rbp, [rsp - 0x2f]
sub rsp, 0x98
mov rdi, rcx
movups xmm0, xmmword [0x1400dcab0]
movups xmmword [rbp - 0x39], xmm0
movsd xmm1, qword [0x1400dcac0]
movsd qword [rbp - 0x29], xmm1
movzx eax, word [0x1400dcac8]
mov word [rbp - 0x21], ax
mov r12d, 1
xor r15d, r15d
cmp byte [0x1400dcac9], r15b
je 0x140002ebf
mov r8d, r15d
lea r9, [rbp - 0x39]
mov eax, 0x5397829d
mul r8d
shr edx, 4
movsx eax, dl
imul ecx, eax, 0x31
mov al, r8b
sub al, cl
add al, 0x36
xor byte [r9], al
add r8d, r12d
add r9, r12
cmp r8d, 0x1a
jl 0x140002e98
xorps xmm0, xmm0
movups xmmword [rbp - 0x19], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 9], xmm1
lea rax, [rbp - 0x39]
or rsi, 0xffffffffffffffff
mov r8, rsi
inc r8
cmp byte [rax + r8], r15b
jne 0x140002ed9
lea rdx, [rbp - 0x39]
lea rcx, [rbp - 0x19]
call fcn.140001c5c
nop
mov qword [rdi], r15
mov qword [rdi + 8], r15
mov qword [rbp + 7], rdi
mov qword [rbp + 0xf], r15
mov qword [rbp - 0x39], rdi
mov qword [rbp - 0x31], r15
mov ecx, 0x30
call fcn.1400863d4
mov rbx, rax
mov qword [rbp - 0x31], rax
lea rcx, [rax + 0x10]
xorps xmm0, xmm0
movups xmmword [rcx], xmm0
mov qword [rcx + 0x10], r15
mov qword [rcx + 0x18], r15
lea rdx, [rbp - 0x19]
cmp qword [rbp - 1], 0x10
cmovae rdx, qword [rbp - 0x19]
mov r8, qword [rbp - 9]
call fcn.14000cd1c
mov qword [rbp + 0x1f], rbx
mov qword [rbp + 0x17], rbx
mov qword [rbp + 0xf], r12
mov qword [rbp - 0x39], rdi
mov qword [rbp - 0x31], r15
mov ecx, 0x30
call fcn.1400863d4
mov qword [rbp + 0xf], r15
mov qword [rax], rbx
mov qword [rax + 8], rbx
mov qword [rbx + 8], rax
mov qword [rbx], rax
mov qword [rdi + 8], r12
mov qword [rdi], rax
lea rcx, [rbp + 7]
call fcn.14000d358
nop
lea r9, [fcn.140001c00]
mov r8, r12
mov edx, 0x20
lea rcx, [rbp - 0x19]
call fcn.140086694
mov eax, dword [0x1400dc6f0]
mov dword [rbp + 0x7f], eax
movzx eax, word [0x1400dc6f4]
mov word [rbp + 0x83], ax
mov al, byte [0x1400dc6f6]
mov byte [rbp + 0x85], al
mov r8d, r15d
lea r9, [rbp + 0x7f]
mov eax, 0x5397829d
mul r8d
shr edx, 4
movsx eax, dl
imul ecx, eax, 0x31
mov al, r8b
sub al, cl
add al, 0x36
xor byte [r9], al
add r8d, r12d
add r9, r12
cmp r8d, 7
jl 0x140002fc4
lea rcx, [rbp + 0x7f]
call fcn.1400942a4
xorps xmm0, xmm0
movups xmmword [rdi + 0x10], xmm0
mov qword [rdi + 0x20], r15
mov qword [rdi + 0x28], r15
inc rsi
cmp byte [rax + rsi], r15b
jne 0x140003003
mov r8, rsi
mov rdx, rax
lea rcx, [rdi + 0x10]
call fcn.140001c5c
nop
mov word [rdi + 0x30], 0x100
mov qword [rdi + 0x38], r15
mov dword [rdi + 0x40], r15d
mov qword [rdi + 0x48], r15
mov dword [rdi + 0x50], r15d
mov qword [rdi + 0x58], r15
mov dword [rdi + 0x60], r15d
mov qword [rdi + 0x68], r15
mov dword [rdi + 0x70], r15d
mov bl, r15b
mov qword [rbp - 0x39], r15
push rcx
call fcn.140253d51
mov rcx, rax
lea r8, [rbp - 0x39]
mov edx, 8
push rax
call fcn.14037d3d2
mov esi, 4
test eax, eax
je 0x140003095
mov dword [rbp + 0x6f], esi
lea rax, [rbp + 0x6f]
mov qword [rsp + 0x20], rax
mov r9d, esi
lea r8, [rbp + 0x77]
lea edx, [rsi + 0x10]
mov rcx, qword [rbp - 0x39]
call fcn.1401b3463
ret
mov rcx, qword [rbp - 0x39]
test rcx, rcx
je 0x1400030a4
call fcn.1402f950c
ret
test bl, bl
je 0x1400030f3
mov rcx, rdi
call fcn.1400030fc
call fcn.14000447c
call fcn.1400045a0
push rdx
call fcn.1404071c7
mov r8d, eax
xor edx, edx
mov ecx, 0x1000
call fcn.1403d6929
ret
call fcn.140003df4
nop
int3