Function at 0x180015e80
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
mov rbp, rsp
sub rsp, 0x60
movaps xmmword [rsp + 0x50], xmm6
mov rax, qword [0x1802b8380]
xor rax, rsp
mov qword [rbp - 0x20], rax
xor edx, edx
mov dword [rbp - 0x28], 0x442f0000
lea rcx, [rbp - 0x28]
mov dword [rbp - 0x24], 0x43fa0000
call fcn.18002d690
xor eax, eax
mov dword [rbp - 0x28], 0x6b737976
xor ebx, ebx
mov byte [rbp - 0x24], al
mov edx, ebx
nop dword [rax]
nop word [rax + rax]
movsxd rcx, edx
lea eax, [rdx + 0x1b]
inc edx
xor byte [rbp + rcx - 0x28], al
cmp edx, 4
jb 0x180015ee0
xor edx, edx
mov byte [rbp - 0x24], bl
lea rcx, [rbp - 0x28]
lea r8d, [rdx + 0x23]
call fcn.18001b900
lea rdx, [rbp - 0x28]
mov qword [rbp - 0x28], 0x41200000
mov ecx, 0xd
call fcn.18002a1b0
mov rcx, qword [0x1802b8f48]
mov rcx, qword [rcx + 0x10]
call fcn.180029c20
call fcn.180022e10
mulss xmm0, dword [0x180102970]
lea rdi, [rbp - 0x2f]
movsxd rax, dword [0x1802b9690]
lea rsi, [0x1802b7058]
movss xmm1, dword [0x180102a10]
movss xmm6, dword [0x180082888]
subss xmm0, dword [0x1801029e0]
mov dword [rbp - 0x30], ebx
mov byte [rbp + rax - 0x30], 1
unpcklps xmm0, xmm1
movsd qword [rbp - 0x28], xmm0
movaps xmm0, xmmword [0x180102f00]
lea rdx, [rbp - 0x40]
mov ecx, 0x15
movups xmmword [rbp - 0x40], xmm0
call fcn.18002a150
mov rdx, qword [rsi - 0x10]
lea r8, [rbp - 0x28]
mov rcx, qword [0x1802b8f40]
call fcn.180002410
test al, al
je 0x180015fa7
mov dword [0x1802b9690], ebx
mov ecx, 1
call fcn.180029900
cmp ebx, 3
jae 0x180015fc1
movaps xmm1, xmm6
xorps xmm0, xmm0
call fcn.18002cb80
movaps xmm0, xmmword [0x180102f00]
lea rdx, [rbp - 0x40]
mov ecx, 0x15
movups xmmword [rbp - 0x40], xmm0
call fcn.18002a150
mov rdx, qword [rsi - 8]
lea r8, [rbp - 0x28]
mov rcx, qword [0x1802b8f40]
call fcn.180002410
test al, al
je 0x180015ffb
lea eax, [rbx + 1]
mov dword [0x1802b9690], eax
mov ecx, 1
call fcn.180029900
lea eax, [rbx + 1]
cmp eax, 3
jae 0x180016018
movaps xmm1, xmm6
xorps xmm0, xmm0
call fcn.18002cb80
movaps xmm0, xmmword [0x180102f00]
lea rdx, [rbp - 0x40]
mov ecx, 0x15
movups xmmword [rbp - 0x40], xmm0
call fcn.18002a150
mov rdx, qword [rsi]
lea r8, [rbp - 0x28]
mov rcx, qword [0x1802b8f40]
call fcn.180002410
test al, al
je 0x180016051
lea eax, [rbx + 2]
mov dword [0x1802b9690], eax
mov ecx, 1
call fcn.180029900
lea eax, [rbx + 2]
cmp eax, 3
jae 0x18001606e
movaps xmm1, xmm6
xorps xmm0, xmm0
call fcn.18002cb80
movaps xmm0, xmmword [0x180102f00]
lea rdx, [rbp - 0x40]
mov ecx, 0x15
movups xmmword [rbp - 0x40], xmm0
call fcn.18002a150
mov rdx, qword [rsi + 8]
lea r8, [rbp - 0x28]
mov rcx, qword [0x1802b8f40]
call fcn.180002410
test al, al
je 0x1800160a8
lea eax, [rbx + 3]
mov dword [0x1802b9690], eax
mov ecx, 1
call fcn.180029900
lea eax, [rbx + 3]
cmp eax, 3
jae 0x1800160c5
movaps xmm1, xmm6
xorps xmm0, xmm0
call fcn.18002cb80
add ebx, 4
add rsi, 0x20
add rdi, 4
cmp ebx, 4
jb 0x180015f70
call fcn.1800297b0
mov rcx, qword [0x1802b8f40]
mov edx, 1
call fcn.1800026f0
mov ecx, 1
call fcn.180029950
lea rcx, [rbp - 0x28]
mov dword [rbp - 0x28], 0
mov dword [rbp - 0x24], 0x41200000
call fcn.18004c5d0
mov ecx, dword [0x1802b9690]
test ecx, ecx
je 0x18001614b
sub ecx, 1
je 0x180016144
sub ecx, 1
je 0x18001613d
cmp ecx, 1
jne 0x180016150
xor edx, edx
xor r8d, r8d
lea ecx, [rdx + 2]
call fcn.18004b350
call fcn.18004f9b0
jmp 0x180016150
call fcn.180017b40
jmp 0x180016150
call fcn.180016f50
jmp 0x180016150
call fcn.1800167d0
call fcn.180020300
mov rcx, qword [rbp - 0x20]
xor rcx, rsp
call fcn.180058370
mov rbx, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x78]
mov rdi, qword [rsp + 0x80]
movaps xmm6, xmmword [rsp + 0x50]
add rsp, 0x60
pop rbp
ret