Function at 0x18015b830
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rbp
push rdi
push r14
lea rbp, [rsp - 0xc30]
sub rsp, 0xd30
mov rax, qword [0x1802cd010]
xor rax, rsp
mov qword [rbp + 0xc20], rax
movups xmm0, xmmword [rcx]
mov dword [rbp + 0x8a0], 1
xor eax, eax
movups xmm1, xmmword [rcx + 0x10]
mov qword [rbp + 0x14], rax
mov rsi, rcx
movups xmmword [rsp + 0x20], xmm0
mov dword [rbp + 0x1c], eax
lea rax, [rbp + 0x8a4]
movups xmm0, xmmword [rcx + 0x20]
lea rax, [rax + 0x80]
mov dword [rbp - 0x60], 1
movups xmmword [rsp + 0x30], xmm1
mov r14, rdx
mov ebx, 0xfe
movups xmm1, xmmword [rcx + 0x30]
movups xmmword [rsp + 0x40], xmm0
movups xmm0, xmmword [rcx + 0x40]
movups xmmword [rsp + 0x50], xmm1
movups xmm1, xmmword [rcx + 0x50]
movups xmmword [rsp + 0x60], xmm0
movups xmm0, xmmword [rcx + 0x60]
movups xmmword [rsp + 0x70], xmm1
movups xmm1, xmmword [rcx + 0x70]
xor ecx, ecx
movups xmmword [rbp - 0x80], xmm0
xorps xmm0, xmm0
movups xmmword [rax - 0x80], xmm0
movups xmmword [rax - 0x70], xmm0
movups xmmword [rax - 0x60], xmm0
movups xmmword [rax - 0x50], xmm0
movups xmmword [rax - 0x40], xmm0
movups xmmword [rax - 0x30], xmm0
movups xmmword [rax - 0x20], xmm0
movups xmmword [rax - 0x10], xmm0
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
movups xmmword [rax + 0x20], xmm0
movups xmmword [rax + 0x30], xmm0
movups xmmword [rax + 0x40], xmm0
movups xmmword [rax + 0x50], xmm0
movups xmmword [rax + 0x60], xmm0
mov qword [rax + 0x70], rcx
mov dword [rax + 0x78], ecx
movups xmmword [rbp - 0x70], xmm1
movups xmmword [rbp - 0x5c], xmm0
movups xmmword [rbp - 0x4c], xmm0
movups xmmword [rbp - 0x3c], xmm0
movups xmmword [rbp - 0x2c], xmm0
movups xmmword [rbp - 0x1c], xmm0
movups xmmword [rbp - 0xc], xmm0
movups xmmword [rbp + 4], xmm0
nop dword [rax]
mov eax, ebx
shr rax, 3
movzx ecx, bl
and ecx, 7
movzx edi, byte [rax + r14]
shr edi, cl
and edi, 1
dec edi
xor eax, eax
movd xmm4, edi
pshufd xmm4, xmm4, 0
lea ecx, [rax + 0x10]
nop word [rax + rax]
movdqu xmm1, xmmword [rsp + rax + 0x20]
movdqu xmm3, xmmword [rbp + rax + 0x8a0]
lea rax, [rax + 0x10]
movdqa xmm2, xmm1
pxor xmm2, xmm3
pand xmm2, xmm4
movdqa xmm0, xmm2
pxor xmm2, xmm3
pxor xmm0, xmm1
movdqu xmmword [rbp + rax + 0x410], xmm0
movdqu xmmword [rbp + rax + 0x510], xmm2
sub rcx, 1
jne 0x18015b970
xor edx, edx
lea r8d, [rcx + 0x1f]
nop dword [rax]
mov eax, dword [rbp + rdx + 0x4a0]
add eax, dword [rbp + rdx + 0x420]
lea rdx, [rdx + 4]
add ecx, eax
movzx eax, cl
shr ecx, 8
mov dword [rbp + rdx + 0x21c], eax
sub r8, 1
jne 0x18015b9c0
mov r9d, dword [rbp + 0x49c]
mov r10d, dword [rbp + 0x51c]
lea eax, [r9 + r10]
add eax, ecx
mov ecx, 0xda
xor edx, edx
mov dword [rbp + 0x29c], eax
lea r8d, [rdx + 0x1f]
nop dword [rax]
mov eax, dword [rbp + rdx + 0x420]
sub eax, dword [rbp + rdx + 0x4a0]
lea rdx, [rdx + 4]
add eax, 0xff00
add ecx, eax
movzx eax, cl
shr ecx, 8
mov dword [rbp + rdx + 0x29c], eax
sub r8, 1
jne 0x18015ba10
sub r9d, r10d
add r9d, ecx
xor ecx, ecx
mov dword [rbp + 0x31c], r9d
xor edx, edx
lea r8d, [rcx + 0x1f]
mov eax, dword [rbp + rdx + 0x5a0]
add eax, dword [rbp + rdx + 0x520]
lea rdx, [rdx + 4]
add ecx, eax
movzx eax, cl
shr ecx, 8
mov dword [rbp + rdx + 0x69c], eax
sub r8, 1
jne 0x18015ba51
mov r9d, dword [rbp + 0x59c]
mov r10d, dword [rbp + 0x61c]
lea eax, [r9 + r10]
add eax, ecx
mov ecx, 0xda
xor edx, edx
mov dword [rbp + 0x71c], eax
lea r8d, [rdx + 0x1f]
nop dword [rax]
mov eax, dword [rbp + rdx + 0x520]
sub eax, dword [rbp + rdx + 0x5a0]
lea rdx, [rdx + 4]
add eax, 0xff00
add ecx, eax
movzx eax, cl
shr ecx, 8
mov dword [rbp + rdx + 0x71c], eax
sub r8, 1
jne 0x18015baa0
sub r9d, r10d
lea rdx, [rbp + 0x220]
add r9d, ecx
lea rcx, [rbp + 0xa0]
mov dword [rbp + 0x79c], r9d
call fcn.18015ad60
lea rdx, [rbp + 0x2a0]
lea rcx, [rbp + 0x120]
call fcn.18015ad60
lea r8, [rbp + 0x2a0]
lea rdx, [rbp + 0x6a0]
lea rcx, [rbp + 0x320]
call fcn.18015a980
lea r8, [rbp + 0x220]
lea rdx, [rbp + 0x720]
lea rcx, [rbp + 0x3a0]
call fcn.18015a980
xor ecx, ecx
xor edx, edx
lea r8d, [rcx + 0x1f]
nop dword [rax + rax]
mov eax, dword [rbp + rdx + 0x3a0]
add eax, dword [rbp + rdx + 0x320]
lea rdx, [rdx + 4]
add ecx, eax
movzx eax, cl
shr ecx, 8
mov dword [rbp + rdx + 0x79c], eax
sub r8, 1
jne 0x18015bb40
mov r9d, dword [rbp + 0x39c]
mov r10d, dword [rbp + 0x41c]
lea eax, [r9 + r10]
add eax, ecx
mov ecx, 0xda
xor edx, edx
mov dword [rbp + 0x81c], eax
lea r8d, [rdx + 0x1f]
nop dword [rax]
mov eax, dword [rbp + rdx + 0x320]
sub eax, dword [rbp + rdx + 0x3a0]
lea rdx, [rdx + 4]
add eax, 0xff00
add ecx, eax
movzx eax, cl
shr ecx, 8
mov dword [rbp + rdx + 0x81c], eax
sub r8, 1
jne 0x18015bb90
sub r9d, r10d
lea rdx, [rbp + 0x820]
add r9d, ecx
lea rcx, [rbp + 0x9a0]
mov dword [rbp + 0x89c], r9d
call fcn.18015ad60
xor edx, edx
mov ecx, 0xda
lea r8d, [rdx + 0x1f]
nop word [rax + rax]
mov eax, dword [rbp + rdx + 0xa0]
sub eax, dword [rbp + rdx + 0x120]
lea rdx, [rdx + 4]
add eax, 0xff00
add ecx, eax
movzx eax, cl
shr ecx, 8
mov dword [rbp + rdx + 0x19c], eax
sub r8, 1
jne 0x18015bbf0
mov r10d, dword [rbp + 0x11c]
xor eax, eax
mov r9d, r10d
sub r9d, dword [rbp + 0x19c]
add r9d, ecx
mov dword [rbp + 0x21c], r9d
lea r8d, [rax + 0x1f]
xor edx, edx
nop
imul ecx, dword [rbp + rdx + 0x1a0], 0x1db41
lea rdx, [rdx + 4]
add eax, ecx
movzx ecx, al
shr eax, 8
mov dword [rbp + rdx + 0x1c], ecx
sub r8, 1
jne 0x18015bc40
imul ecx, r9d, 0x1db41
lea rdx, [rbp + 0x20]
mov r8d, 0x1f
add eax, ecx
mov ecx, eax
shr eax, 7
and ecx, 0x7f
mov dword [rbp + 0x9c], ecx
imul ecx, eax, 0x13
nop word [rax + rax]
add ecx, dword [rdx]
lea rdx, [rdx + 4]
movzx eax, cl
shr ecx, 8
mov dword [rdx - 4], eax
sub r8, 1
jne 0x18015bc90
mov r9d, dword [rbp + 0x9c]
add r9d, ecx
xor ecx, ecx
mov dword [rbp + 0x9c], r9d
xor edx, edx
lea r8d, [rcx + 0x1f]
nop
mov eax, dword [rbp + rdx + 0x20]
add eax, dword [rbp + rdx + 0xa0]
lea rdx, [rdx + 4]
add ecx, eax
movzx eax, cl
shr ecx, 8
mov dword [rbp + rdx + 0x61c], eax
sub r8, 1
jne 0x18015bcc0
lea eax, [r9 + r10]
add eax, ecx
lea r8, [rbp + 0x120]
lea rcx, [rbp + 0xb20]
mov dword [rbp + 0x69c], eax
lea rdx, [rbp + 0xa0]
call fcn.18015a980
lea r8, [rbp + 0x620]
lea rdx, [rbp + 0x1a0]
lea rcx, [rbp + 0xba0]
call fcn.18015a980
lea rdx, [rbp + 0x7a0]
lea rcx, [rbp + 0xa20]
call fcn.18015ad60
mov r8, rsi
lea rdx, [rbp + 0x9a0]
lea rcx, [rbp + 0xaa0]
call fcn.18015a980
xor eax, eax
movd xmm4, edi
pshufd xmm4, xmm4, 0
lea edx, [rax + 0x10]
nop dword [rax + rax]
movdqu xmm2, xmmword [rbp + rax + 0xb20]
movdqu xmm1, xmmword [rbp + rax + 0xa20]
lea rax, [rax + 0x10]
movdqa xmm3, xmm2
pxor xmm3, xmm1
pand xmm3, xmm4
movdqa xmm0, xmm3
pxor xmm3, xmm2
pxor xmm0, xmm1
movdqu xmmword [rbp + rax + 0x890], xmm0
movdqu xmmword [rsp + rax + 0x10], xmm3
sub rdx, 1
jne 0x18015bd60
sub ebx, 1
jns 0x18015b940
mov r8d, 0x100
lea rdx, [rbp + 0x8a0]
mov rcx, rsi
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [rbp + 0xc20]
xor rcx, rsp
call fcn.180009610
lea r11, [rsp + 0xd30]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rsp, r11
pop r14
pop rdi
pop rbp
ret