Function at 0x180015f80
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rdi
push rbp
lea rbp, [rax - 0x5f]
sub rsp, 0x90
movaps xmmword [rax - 0x18], xmm6
mov rax, qword [0x1802b5380]
xor rax, rsp
mov qword [rbp + 0x37], rax
xor edx, edx
xor r8d, r8d
lea ecx, [rdx + 2]
call fcn.180049200
xor eax, eax
mov dword [rbp + 0x17], 0x525b4975
xor ebx, ebx
mov byte [rbp + 0x1b], al
mov edx, ebx
nop word [rax + rax]
movsxd rcx, edx
lea eax, [rdx + 0x3c]
inc edx
xor byte [rbp + rcx + 0x17], al
cmp edx, 4
jb 0x180015fd0
xorps xmm0, xmm0
mov byte [rbp + 0x1b], bl
mov rdi, 0xffffffffffffffff
mov qword [rbp + 7], rbx
movups xmmword [rbp - 9], xmm0
mov r8, rdi
mov qword [rbp + 0xf], rbx
lea rax, [rbp + 0x17]
inc r8
cmp byte [rax + r8], bl
jne 0x180016001
lea rdx, [rbp + 0x17]
lea rcx, [rbp - 9]
call fcn.180002d60
mov rcx, qword [0x1802b5f40]
lea rdx, [rbp - 9]
mov r8d, 1
call fcn.1800029b0
xor eax, eax
mov dword [rbp + 0x17], 0xd880a6d9
mov byte [rbp + 0x23], al
mov edx, ebx
mov dword [rbp + 0x1b], 0xc3abc6c9
mov dword [rbp + 0x1f], 0xc1e1adcb
nop dword [rax]
movsxd rcx, edx
lea eax, [rdx + 0x3c]
inc edx
xor byte [rbp + rcx + 0x17], al
cmp edx, 0xc
jb 0x180016050
lea rdx, [0x1802b42e0]
mov byte [rbp + 0x23], bl
lea rcx, [rbp + 0x17]
call fcn.180045270
movss xmm6, dword [0x1800ffa2c]
xorps xmm1, xmm1
movaps xmm0, xmm6
call fcn.18002ab70
xor eax, eax
mov dword [rbp + 0x17], 0xd98494db
mov byte [rbp + 0x23], al
mov edx, ebx
mov dword [rbp + 0x1b], 0xd8a5d4ca
mov dword [rbp + 0x1f], 0xd7eba0d6
nop dword [rax]
nop word [rax + rax]
movsxd rcx, edx
lea eax, [rdx + 0x3c]
inc edx
xor byte [rbp + rcx + 0x17], al
cmp edx, 0xc
jb 0x1800160b0
lea rdx, [0x1802b42e1]
mov byte [rbp + 0x23], bl
lea rcx, [rbp + 0x17]
call fcn.180045270
xor eax, eax
mov dword [rbp + 0x17], 0xd9abb7da
mov byte [rbp + 0x23], al
mov edx, ebx
mov dword [rbp + 0x1b], 0xdba4f6ce
mov dword [rbp + 0x1f], 0xfde2a2fa
movsxd rcx, edx
lea eax, [rdx + 0x3c]
inc edx
xor byte [rbp + rcx + 0x17], al
cmp edx, 0xc
jb 0x1800160f0
lea rdx, [0x1802b42c8]
mov byte [rbp + 0x23], bl
lea rcx, [rbp + 0x17]
call fcn.180045270
xorps xmm1, xmm1
movaps xmm0, xmm6
call fcn.18002ab70
xor eax, eax
mov dword [rbp + 0x17], 0xda9890da
mov byte [rbp + 0x23], al
mov edx, ebx
mov dword [rbp + 0x1b], 0xc3abe9d9
mov dword [rbp + 0x1f], 0xc1e1adcb
nop dword [rax + rax]
movsxd rcx, edx
lea eax, [rdx + 0x3c]
inc edx
xor byte [rbp + rcx + 0x17], al
cmp edx, 0xc
jb 0x180016140
lea rdx, [0x1802b42c3]
mov byte [rbp + 0x23], bl
lea rcx, [rbp + 0x17]
call fcn.180045270
xor eax, eax
mov dword [rbp + 0x17], 0xda8ca5d5
mov byte [rbp + 0x23], al
mov edx, ebx
mov dword [rbp + 0x1b], 0xdba4f6c5
mov dword [rbp + 0x1f], 0xfde2a2fa
movsxd rcx, edx
lea eax, [rdx + 0x3c]
inc edx
xor byte [rbp + rcx + 0x17], al
cmp edx, 0xc
jb 0x180016180
lea rdx, [0x1802b42c5]
mov byte [rbp + 0x23], bl
lea rcx, [rbp + 0x17]
call fcn.180045270
xorps xmm1, xmm1
movaps xmm0, xmm6
call fcn.18002ab70
xor eax, eax
mov dword [rbp + 0x17], 0xdbb3b8d5
mov byte [rbp + 0x23], al
mov edx, ebx
mov dword [rbp + 0x1b], 0xdba4f7fb
mov dword [rbp + 0x1f], 0xfde2a2fa
nop dword [rax + rax]
movsxd rcx, edx
lea eax, [rdx + 0x3c]
inc edx
xor byte [rbp + rcx + 0x17], al
cmp edx, 0xc
jb 0x1800161d0
lea rdx, [0x1802b42c7]
mov byte [rbp + 0x23], bl
lea rcx, [rbp + 0x17]
call fcn.180045270
xor eax, eax
mov dword [rbp + 0x17], 0xda91b0d4
mov byte [rbp + 0x23], al
mov edx, ebx
mov dword [rbp + 0x1b], 0xdba4c0d3
mov dword [rbp + 0x1f], 0xfde2a2fa
movsxd rcx, edx
lea eax, [rdx + 0x3c]
inc edx
xor byte [rbp + rcx + 0x17], al
cmp edx, 0xc
jb 0x180016210
lea rdx, [0x1802b42c6]
mov byte [rbp + 0x23], bl
lea rcx, [rbp + 0x17]
call fcn.180045270
xorps xmm1, xmm1
movaps xmm0, xmm6
call fcn.18002ab70
xor eax, eax
mov dword [rbp + 0x17], 0xd9abb7da
mov byte [rbp + 0x23], al
mov r8d, ebx
mov dword [rbp + 0x1b], 0xdba4f6ce
mov dword [rbp + 0x1f], 0xfde2a2fa
nop dword [rax]
movsxd rcx, r8d
lea eax, [r8 + 0x3c]
inc r8d
xor byte [rbp + rcx + 0x17], al
cmp r8d, 0xc
jb 0x180016260
lea rdx, [0x1802b42c8]
mov byte [rbp + 0x23], bl
lea rcx, [rbp + 0x17]
call fcn.180045270
xor eax, eax
mov dword [rbp + 0x17], 0xd79880d4
mov byte [rbp + 0x23], al
mov edx, ebx
mov dword [rbp + 0x1b], 0xdba4c7fe
mov dword [rbp + 0x1f], 0xfde2a2fa
nop dword [rax]
nop word [rax + rax]
movsxd rcx, edx
lea eax, [rdx + 0x3c]
inc edx
xor byte [rbp + rcx + 0x17], al
cmp edx, 0xc
jb 0x1800162b0
lea rdx, [0x1802b42bc]
mov byte [rbp + 0x23], bl
lea rcx, [rbp + 0x17]
call fcn.180045270
xorps xmm1, xmm1
movaps xmm0, xmm6
call fcn.18002ab70
xor eax, eax
mov dword [rbp + 0x17], 0xd6b5b4da
mov byte [rbp + 0x23], al
mov edx, ebx
mov dword [rbp + 0x1b], 0xe1abf6db
mov dword [rbp + 0x1f], 0xe1ebadc0
nop dword [rax + rax]
movsxd rcx, edx
lea eax, [rdx + 0x3c]
inc edx
xor byte [rbp + rcx + 0x17], al
cmp edx, 0xc
jb 0x180016300
lea rdx, [0x1802b42d6]
mov byte [rbp + 0x23], bl
lea rcx, [rbp + 0x17]
call fcn.180045270
call fcn.18004d860
xor eax, eax
mov dword [rbp + 0x17], 0x4b4d5478
mov byte [rbp + 0x1f], al
mov edx, ebx
mov dword [rbp + 0x1b], 0x26212f21
nop
movsxd rcx, edx
lea eax, [rdx + 0x3c]
inc edx
xor byte [rbp + rcx + 0x17], al
cmp edx, 8
jb 0x180016340
xorps xmm0, xmm0
mov byte [rbp + 0x1f], bl
movups xmmword [rbp - 9], xmm0
mov qword [rbp + 7], rbx
lea rax, [rbp + 0x17]
mov qword [rbp + 0xf], rbx
inc rdi
cmp byte [rax + rdi], bl
jne 0x180016367
mov r8, rdi
lea rdx, [rbp + 0x17]
lea rcx, [rbp - 9]
call fcn.180002d60
mov rcx, qword [0x1802b5f40]
lea rdx, [rbp - 9]
mov r8d, 2
call fcn.1800029b0
movss xmm0, dword [0x1800ffa48]
call fcn.18002b4e0
mov edx, ebx
mov dword [rbp + 0x17], 0xf100c19
mov word [rbp + 0x1b], 0x26
movsxd rcx, edx
lea eax, [rdx + 0x3c]
inc edx
xor byte [rbp + rcx + 0x17], al
cmp edx, 5
jb 0x1800163b1
xor eax, eax
mov byte [rbp + 0x1c], bl
mov byte [rbp + 0x33], al
mov edx, ebx
mov dword [rbp + 0x27], 0xd79880d4
mov dword [rbp + 0x2b], 0xf4aac7fe
mov dword [rbp + 0x2f], 0xfce0a2d9
movsxd rcx, edx
lea eax, [rdx + 0x3c]
inc edx
xor byte [rbp + rcx + 0x27], al
cmp edx, 0xc
jb 0x1800163e1
movss xmm6, dword [0x18007f874]
lea rax, [rbp + 0x17]
movss xmm3, dword [0x1800ffa64]
lea rdx, [0x1802b4298]
movss dword [rsp + 0x28], xmm6
lea rcx, [rbp + 0x27]
xorps xmm2, xmm2
mov qword [rsp + 0x20], rax
mov byte [rbp + 0x33], bl
call fcn.18004fcf0
movss xmm0, dword [0x1800ffa48]
call fcn.18002b4e0
mov edx, ebx
mov dword [rbp + 0x17], 0xf100c19
mov word [rbp + 0x1b], 0x26
nop dword [rax]
nop word [rax + rax]
movsxd rcx, edx
lea eax, [rdx + 0x3c]
inc edx
xor byte [rbp + rcx + 0x17], al
cmp edx, 5
jb 0x180016450
xor eax, eax
mov byte [rbp + 0x1c], bl
mov byte [rbp + 0x33], al
mov edx, ebx
mov dword [rbp + 0x27], 0xda97b4db
mov dword [rbp + 0x2b], 0xf4aac0d3
mov dword [rbp + 0x2f], 0xfce0a2d9
movsxd rcx, edx
lea eax, [rdx + 0x3c]
inc edx
xor byte [rbp + rcx + 0x27], al
cmp edx, 0xc
jb 0x180016480
movss xmm3, dword [0x1800ffa20]
lea rax, [rbp + 0x17]
movss dword [rsp + 0x28], xmm6
lea rdx, [0x1802b42a0]
xorps xmm2, xmm2
mov qword [rsp + 0x20], rax
lea rcx, [rbp + 0x27]
mov byte [rbp + 0x33], bl
call fcn.18004fcf0
movss xmm0, dword [0x1800ffa48]
call fcn.18002b4e0
mov edx, ebx
mov dword [rbp + 0x17], 0xf100c19
mov word [rbp + 0x1b], 0x26
nop word [rax + rax]
movsxd rcx, edx
lea eax, [rdx + 0x3c]
inc edx
xor byte [rbp + rcx + 0x17], al
cmp edx, 5
jb 0x1800164e0
xor eax, eax
mov byte [rbp + 0x1c], bl
mov byte [rbp + 0x33], al
mov dword [rbp + 0x27], 0xda8494db
mov dword [rbp + 0x2b], 0xf4aaf5e4
mov dword [rbp + 0x2f], 0xfce0a2d9
nop
movsxd rcx, ebx
lea eax, [rbx + 0x3c]
inc ebx
xor byte [rbp + rcx + 0x27], al
cmp ebx, 0xc
jb 0x180016510
movss xmm3, dword [0x1800ffa64]
lea rax, [rbp + 0x17]
movss dword [rsp + 0x28], xmm6
lea rdx, [0x1802b42a4]
xorps xmm2, xmm2
mov qword [rsp + 0x20], rax
lea rcx, [rbp + 0x27]
mov byte [rbp + 0x33], 0
call fcn.18004fcf0
mov rcx, qword [rbp + 0x37]
xor rcx, rsp
call fcn.1800553d0
lea r11, [rsp + 0x90]
mov rbx, qword [r11 + 0x10]
mov rdi, qword [r11 + 0x18]
movaps xmm6, xmmword [r11 - 0x10]
mov rsp, r11
pop rbp
ret