Function at 0x180015b20
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1f]
sub rsp, 0xd8
mov esi, dword [rcx]
mov rbx, r8
mov r14d, dword [rcx + 4]
mov r15d, dword [rcx + 8]
mov r12d, dword [rcx + 0xc]
mov ecx, dword [rdx + 8]
mov r13d, dword [rdx]
mov r8d, r13d
mov eax, dword [0x18003f764]
xor r8d, esi
mov edi, dword [0x18003f760]
mov r11d, dword [0x18003f768]
mov r9d, dword [0x18003f770]
mov r10d, dword [0x18003f778]
mov dword [rsp + 0x34], eax
mov eax, dword [0x18003f76c]
mov dword [rbp - 0x7d], eax
mov eax, dword [0x18003f774]
mov dword [rsp + 0x24], eax
mov eax, dword [0x18003f77c]
mov dword [rsp + 0x2c], eax
mov eax, dword [rdx + 4]
movaps xmmword [rsp + 0xc0], xmm6
mov edx, dword [rdx + 0xc]
mov dword [rsp + 0x30], edi
xor edi, esi
mov dword [rsp + 0x38], r11d
xor r11d, r15d
mov dword [rsp + 0x20], r9d
mov dword [rsp + 0x28], r10d
mov dword [rbx], r8d
mov dword [rbp + 0x6f], eax
mov dword [rbp + 0x67], edx
mov edx, eax
mov eax, dword [rbp + 0x67]
xor edx, r14d
mov dword [rbx + 4], edx
xor eax, r12d
mov dword [rbp + 0x77], ecx
xor ecx, r15d
mov dword [rbx + 8], ecx
mov dword [rbx + 0xc], eax
movups xmm1, xmmword [rsp + 0x20]
movups xmm0, xmmword [rsp + 0x30]
movups xmmword [rbx + 0x10], xmm1
movups xmmword [rbx + 0x20], xmm0
movups xmmword [rbx + 0x30], xmm1
mov dword [rbx + 0x40], r8d
mov dword [rbx + 0x44], edx
movq rdx, xmm0
mov dword [rbx + 0x48], ecx
mov dword [rbx + 0x4c], eax
mov eax, esi
mov dword [rbx + 0x50], edi
xor eax, r9d
shr rdx, 0x20
xor edx, r14d
psrldq xmm0, 8
mov dword [rbx + 0x54], edx
movq rcx, xmm0
mov dword [rbx + 0x58], r11d
shr rcx, 0x20
xor ecx, r12d
mov dword [rbx + 0x5c], ecx
mov dword [rbx + 0x60], eax
movq rax, xmm1
shr rax, 0x20
xor eax, r14d
psrldq xmm1, 8
mov dword [rbx + 0x64], eax
mov eax, r15d
xor eax, r10d
mov dword [rbx + 0x68], eax
movq rax, xmm1
shr rax, 0x20
xor eax, r12d
mov dword [rbx + 0x6c], eax
mov dword [rbx + 0x70], edi
mov dword [rbx + 0x74], edx
mov dword [rbx + 0x78], r11d
mov dword [rbx + 0x7c], ecx
mov edi, dword [rbp + 0x6f]
mov qword [rbp + 0x7f], 0xa
nop word [rax + rax]
movups xmm6, xmmword [rbx + 0x70]
lea r8, [rsp + 0x30]
movups xmm1, xmmword [rbx + 0x60]
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x79]
movaps xmmword [rsp + 0x30], xmm6
movaps xmmword [rsp + 0x20], xmm1
call fcn.1800220b0
movups xmm1, xmmword [rbx + 0x60]
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0x20]
movups xmm0, xmmword [rax]
lea rcx, [rbp - 0x69]
movaps xmmword [rsp + 0x30], xmm1
movups xmmword [rbx + 0x70], xmm0
movups xmm0, xmmword [rbx + 0x50]
movaps xmmword [rsp + 0x20], xmm0
call fcn.1800220b0
movups xmm1, xmmword [rbx + 0x50]
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0x20]
movups xmm0, xmmword [rax]
lea rcx, [rbp - 0x59]
movaps xmmword [rsp + 0x30], xmm1
movups xmmword [rbx + 0x60], xmm0
movups xmm0, xmmword [rbx + 0x40]
movaps xmmword [rsp + 0x20], xmm0
call fcn.1800220b0
movups xmm1, xmmword [rbx + 0x40]
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0x20]
movups xmm0, xmmword [rax]
lea rcx, [rbp - 0x49]
movaps xmmword [rsp + 0x30], xmm1
movups xmmword [rbx + 0x50], xmm0
movups xmm0, xmmword [rbx + 0x30]
movaps xmmword [rsp + 0x20], xmm0
call fcn.1800220b0
movups xmm1, xmmword [rbx + 0x30]
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0x20]
movups xmm0, xmmword [rax]
lea rcx, [rbp - 0x39]
movaps xmmword [rsp + 0x30], xmm1
movups xmmword [rbx + 0x40], xmm0
movups xmm0, xmmword [rbx + 0x20]
movaps xmmword [rsp + 0x20], xmm0
call fcn.1800220b0
movups xmm1, xmmword [rbx + 0x20]
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0x20]
movups xmm0, xmmword [rax]
lea rcx, [rbp - 0x29]
movaps xmmword [rsp + 0x30], xmm1
movups xmmword [rbx + 0x30], xmm0
movups xmm0, xmmword [rbx + 0x10]
movaps xmmword [rsp + 0x20], xmm0
call fcn.1800220b0
movups xmm1, xmmword [rbx + 0x10]
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0x20]
movups xmm0, xmmword [rax]
lea rcx, [rbp - 0x19]
movaps xmmword [rsp + 0x30], xmm1
movups xmmword [rbx + 0x20], xmm0
movups xmm0, xmmword [rbx]
movaps xmmword [rsp + 0x20], xmm0
call fcn.1800220b0
movups xmm1, xmmword [rbx]
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0x20]
movdqa xmmword [rsp + 0x20], xmm6
movups xmm0, xmmword [rax]
lea rcx, [rbp - 9]
movaps xmmword [rsp + 0x30], xmm1
movups xmmword [rbx + 0x10], xmm0
call fcn.1800220b0
movups xmm0, xmmword [rax]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [rax]
mov eax, r13d
movq rcx, xmm1
psrldq xmm1, 8
xor eax, ecx
shr rcx, 0x20
mov dword [rbx], eax
xor ecx, edi
mov eax, dword [rbp + 0x77]
mov dword [rbx + 4], ecx
movq rcx, xmm1
xor eax, ecx
shr rcx, 0x20
xor ecx, dword [rbp + 0x67]
mov dword [rbx + 8], eax
mov eax, esi
mov dword [rbx + 0xc], ecx
movups xmm0, xmmword [rbx + 0x40]
movq rcx, xmm0
psrldq xmm0, 8
xor eax, ecx
shr rcx, 0x20
xor ecx, r14d
mov dword [rbx + 0x40], eax
mov dword [rbx + 0x44], ecx
mov eax, r15d
movq rcx, xmm0
xor eax, ecx
shr rcx, 0x20
xor ecx, r12d
mov dword [rbx + 0x48], eax
sub qword [rbp + 0x7f], 1
mov dword [rbx + 0x4c], ecx
jne 0x180015c80
movaps xmm6, xmmword [rsp + 0xc0]
add rsp, 0xd8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret