Function at 0x14002c5ac
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x58]
sub rsp, 0x158
mov r13, qword [rdx]
mov rbx, qword [rdx + 0x38]
mov r15, r13
mov rdi, qword [rdx + 0x10]
mov r11, rbx
mov rsi, qword [rdx + 0x20]
mov rax, rdi
mov r9, qword [rdx + 0x30]
xor rax, rsi
mov r10, qword [rdx + 8]
xor r11, rsi
mov rcx, qword [rdx + 0x28]
mov r8, r10
mov qword [rsp + 0x20], rax
xor rcx, r9
xor r15, rcx
mov qword [rsp + 0x28], r11
xor r10, r15
mov qword [rsp + 0x10], r15
xor r8, rbx
mov qword [rsp + 0x30], r10
mov r12, r10
mov qword [rsp + 0x18], r8
xor rsi, r15
mov r14, rbx
xor r14, rdi
mov qword [rsp + 0x60], rsi
mov rsi, r8
mov qword [rbp + 0xb8], r14
xor rsi, rax
xor r12, r14
mov qword [rsp + 0x40], rsi
mov rax, rbx
xor rax, r15
mov qword [rsp + 0x48], rax
mov rax, qword [rdx + 0x18]
xor rax, rsi
mov rsi, r13
xor r9, rax
xor rdi, rax
mov qword [rsp + 0x38], rdi
mov r10, rdi
xor r10, rcx
mov rax, r13
xor rax, rdi
mov qword [rsp + 0x78], r10
mov qword [rsp + 0x58], rax
mov rax, r9
xor rax, r11
mov rdi, rax
mov qword [rsp + 0x70], rax
mov r14, rax
xor rsi, rax
and rax, qword [rsp + 0x28]
xor r14, r10
xor rdi, rcx
mov rdx, r14
and rdx, qword [rsp + 0x20]
mov r11, rdi
mov rcx, qword [rsp + 0x38]
xor rdx, rax
and rcx, qword [rsp + 0x40]
and r11, r8
mov r8, r10
and r8, qword [rbp + 0xb8]
xor r8, rax
mov rax, qword [rsp + 0x58]
and rax, r12
xor rax, rdx
xor rax, rcx
xor rax, r9
mov r9, r13
and r9, qword [rsp + 0x60]
xor r9, r8
xor r9, rcx
xor r9, r10
mov r10, qword [rsp + 0x30]
xor r9, qword [rbp + 0xb8]
and r10, r15
xor r10, rdx
xor r10, r11
xor r10, rdi
mov rdx, rsi
and rdx, qword [rsp + 0x48]
xor r10, qword [rsp + 0x18]
xor rdx, rbx
xor rdx, r8
mov r8, r9
xor r8, rax
xor rdx, r11
xor rdx, rdi
mov r11, r10
and r11, rax
mov rax, rdx
xor rax, r10
mov rcx, r11
xor rcx, rdx
xor r11, r9
and r11, rax
mov rbx, rcx
xor r11, rdx
and rbx, r8
xor rbx, r9
mov qword [rbp - 0x80], r11
mov r15, r11
mov qword [rbp + 0xa8], rbx
xor r15, rcx
and r15, rdx
mov rax, r15
xor r15, rcx
xor rax, r11
and r15, rbx
xor r15, r8
xor rax, r10
mov qword [rsp + 0x50], rax
mov r8, r11
xor r8, rbx
mov rdx, r15
xor rdx, rax
mov qword [rsp + 8], r8
xor rax, r11
mov qword [rsp + 0x68], rdx
xor r8, rdx
mov qword [rsp], rax
mov rcx, r8
mov rax, r11
and r8, qword [rsp + 0x20]
and rax, r13
mov r13, qword [rbp + 0xa8]
mov rbx, r15
xor rbx, qword [rbp + 0xa8]
and r13, rsi
mov rsi, qword [rsp + 8]
mov r9, r15
and r9, qword [rsp + 0x10]
mov r10, rsi
and r10, qword [rsp + 0x28]
and rcx, r14
and r15, qword [rsp + 0x30]
xor r10, r8
and rsi, qword [rsp + 0x70]
mov rdx, rbx
and rbx, qword [rsp + 0x18]
and rdx, rdi
mov r14, qword [rsp]
xor r15, r13
mov rdi, qword [rsp + 0x50]
xor rsi, rcx
mov qword [rsp + 0x10], r8
and rdi, r12
mov qword [rbp - 0x78], rax
mov r8, r14
and r8, qword [rsp + 0x38]
xor r8, rdx
mov r11, r8
xor r11, rbx
xor r11, rax
mov rax, r10
xor rax, r9
xor rsi, rdx
mov rdx, qword [rsp + 0x68]
mov qword [rsp + 8], rsi
and rdx, qword [rsp + 0x78]
xor rsi, r9
and r14, qword [rsp + 0x40]
xor rdx, rax
mov r9, qword [rsp + 0x50]
xor r14, rax
mov rax, qword [rbp + 0xa8]
xor rdx, rcx
and rax, qword [rsp + 0x48]
xor r14, rdi
and r9, qword [rsp + 0x58]
xor rax, rdx
xor rax, r11
mov qword [rsp], r14
mov qword [rbp + 0xa8], rax
xor rdx, r15
xor rdx, rbx
xor r11, r15
mov r15, qword [rbp + 0xa0]
xor r11, r10
mov rcx, r11
xor r9, r14
shr rcx, 8
movabs rax, 0xcc00cc00cc00cc
xor rcx, r11
movabs r10, 0x5555555555555555
and rcx, rax
mov r14, r9
mov rax, rcx
xor r14, r8
shl rax, 8
movabs r8, 0xfffa000a000a000a
xor rax, rcx
mov rcx, rdx
xor r11, rax
shr rcx, 8
xor rcx, rdx
mov r12, r11
shr r12, 4
movabs rax, 0xaaa0aaa0aaa0aaa
and r12, rax
mov rax, r11
and rax, r8
and r11, r10
shl rax, 0xc
or r12, rax
mov rax, qword [rbp + 0xa0]
or r12, r11
movabs r11, 0xcc00cc00cc00cc
and rcx, r11
mov qword [rax], r12
mov rax, rcx
shl rax, 8
xor rax, rcx
xor rdx, rax
movabs rax, 0xaaa0aaa0aaa0aaa
mov rbx, rdx
shr rbx, 4
and rbx, rax
mov rax, rdx
and rdx, r10
and rax, r8
shl rax, 0xc
or rbx, rax
or rbx, rdx
mov rdx, qword [rbp - 0x80]
and rdx, qword [rsp + 0x60]
xor rdx, qword [rbp + 0xa8]
xor rdx, rdi
mov qword [r15 + 8], rbx
mov rcx, rdx
shr rcx, 8
xor rcx, rdx
and rcx, r11
mov rax, rcx
shl rax, 8
xor rax, rcx
xor rdx, rax
movabs rax, 0xaaa0aaa0aaa0aaa
mov r11, rdx
shr r11, 4
and r11, rax
xor r9, r13
xor r9, qword [rbp - 0x78]
mov rax, rdx
and rax, r8
and rdx, r10
shl rax, 0xc
mov rcx, r9
or r11, rax
shr rcx, 8
xor rcx, r9
or r11, rdx
mov rdi, r8
mov qword [r15 + 0x10], r11
movabs r13, 0x5555555555555555
movabs rax, 0xcc00cc00cc00cc
and rcx, rax
mov rdx, r14
mov rax, rcx
shl rax, 8
xor rax, rcx
mov rcx, r14
xor r9, rax
shr rcx, 8
xor rcx, r14
mov r10, r9
shr r10, 4
movabs rax, 0xaaa0aaa0aaa0aaa
and r10, rax
xor r14, rsi
mov rax, r9
and r9, r13
and rax, r8
shl rax, 0xc
or r10, rax
movabs rax, 0xcc00cc00cc00cc
and rcx, rax
or r10, r9
mov rax, rcx
mov qword [r15 + 0x18], r10
shl rax, 8
xor rax, rcx
xor rdx, rax
movabs rax, 0xaaa0aaa0aaa0aaa
mov r9, rdx
shr r9, 4
and r9, rax
mov rax, rdx
and rax, r8
and rdx, r13
shl rax, 0xc
or r9, rax
movabs rax, 0xcc00cc00cc00cc
or r9, rdx
mov rdx, qword [rsp + 0x68]
and rdx, qword [rbp + 0xb8]
xor rdx, qword [rbp + 0xa8]
xor rdx, rsi
mov qword [r15 + 0x20], r9
xor rdx, qword [rsp + 0x10]
mov rcx, rdx
shr rcx, 8
xor rcx, rdx
and rcx, rax
mov rax, rcx
shl rax, 8
xor rax, rcx
mov rcx, r14
xor rdx, rax
movabs rax, 0xaaa0aaa0aaa0aaa
mov r8, rdx
shr r8, 4
and r8, rax
mov rax, rdx
and rax, rdi
and rdx, r13
shl rax, 0xc
or r8, rax
or r8, rdx
mov qword [r15 + 0x28], r8
shr rcx, 8
xor rcx, r14
movabs rsi, 0xaaa0aaa0aaa0aaa
movabs rax, 0xcc00cc00cc00cc
and rcx, rax
mov rax, rcx
shl rax, 8
xor rax, rcx
xor r14, rax
mov rax, r14
mov rdx, r14
and rax, rdi
shr rdx, 4
mov rdi, qword [rsp]
and rdx, rsi
xor rdi, qword [rsp + 8]
and r14, r13
shl rax, 0xc
mov rcx, rdi
or rdx, rax
shr rcx, 8
xor rcx, rdi
or rdx, r14
movabs r14, 0x7777777777777777
mov qword [r15 + 0x30], rdx
movabs rax, 0xcc00cc00cc00cc
and rcx, rax
mov rax, rcx
shl rax, 8
xor rax, rcx
xor rdi, rax
mov rcx, rdi
mov rax, rdi
and rdi, r13
shr rcx, 4
and rcx, rsi
movabs rsi, 0xfffa000a000a000a
and rax, rsi
mov rsi, r12
shl rax, 0xc
or rcx, rax
shr rsi, 1
or rcx, rdi
mov rax, r12
shl rax, 3
mov rdi, rbx
xor rsi, rax
shr rdi, 1
and rsi, r14
mov qword [r15 + 0x38], rcx
mov rax, r12
shl rax, 3
xor rsi, rax
mov rax, rbx
shl rax, 3
xor rsi, r12
xor rdi, rax
mov qword [rbp - 0x70], rsi
mov rax, rbx
and rdi, r14
shl rax, 3
xor rdi, rax
mov rax, r11
xor rdi, rbx
shl rax, 3
mov rbx, r11
mov qword [rbp - 0x68], rdi
shr rbx, 1
xor rbx, rax
mov rax, r11
shl rax, 3
and rbx, r14
xor rbx, rax
mov rax, r10
xor rbx, r11
shl rax, 3
mov r11, r10
mov qword [rbp - 0x60], rbx
shr r11, 1
xor r11, rax
mov rax, r10
and r11, r14
shl rax, 3
xor r11, rax
mov qword [rbp + 0x20], rdi
xor r11, r10
mov rax, r9
shl rax, 3
mov r10, r9
shr r10, 1
xor r10, rax
mov qword [rbp - 0x58], r11
mov rax, r9
and r10, r14
shl rax, 3
xor r10, rax
mov rax, r8
shl rax, 3
xor r10, r9
mov r9, r8
mov qword [rbp - 0x50], r10
shr r9, 1
xor r9, rax
mov qword [rbp + 0x38], r10
mov rax, r8
and r9, r14
shl rax, 3
xor r9, rax
mov rax, rdx
shl rax, 3
xor r9, r8
mov r8, rdx
mov qword [rbp - 0x48], r9
shr r8, 1
xor r8, rax
mov qword [rbp + 0x40], r9
mov rax, rdx
and r8, r14
shl rax, 3
xor r8, rax
mov rax, rcx
shl rax, 3
xor r8, rdx
mov rdx, rcx
mov qword [rbp - 0x40], r8
shr rdx, 1
xor rdx, rax
mov qword [rbp + 0x48], r8
mov rax, rcx
and rdx, r14
shl rax, 3
movabs r14, 0x3333333333333333
xor rdx, rax
xor rdx, rcx
mov rcx, rsi
shr rcx, 2
mov rax, rdx
xor rax, r11
mov qword [rbp - 0x38], rdx
mov qword [rbp + 0x30], rax
mov rax, rdx
xor rax, rbx
mov qword [rbp + 0x10], rdx
mov qword [rbp + 0x28], rax
mov rax, rdx
xor rax, rsi
mov qword [rbp + 0x18], rax
mov rax, rsi
shl rax, 2
xor rcx, rax
mov rax, rsi
and rcx, r14
shl rax, 2
xor rcx, rax
mov rax, rdi
xor rcx, rsi
shl rax, 2
mov qword [rbp - 0x30], rcx
mov rcx, rdi
shr rcx, 2
xor rcx, rax
mov rax, rdi
and rcx, r14
shl rax, 2
xor rcx, rax
mov rax, rbx
xor rcx, rdi
shl rax, 2
mov qword [rbp - 0x28], rcx
mov rcx, rbx
shr rcx, 2
xor rcx, rax
mov rax, rbx
and rcx, r14
shl rax, 2
xor rcx, rax
mov rax, r11
xor rcx, rbx
shl rax, 2
mov qword [rbp - 0x20], rcx
mov rcx, r11
shr rcx, 2
xor rcx, rax
mov rax, r11
and rcx, r14
shl rax, 2
xor rcx, rax
mov rax, r10
xor rcx, r11
shl rax, 2
mov qword [rbp - 0x18], rcx
mov rcx, r10
shr rcx, 2
xor rcx, rax
mov rax, r10
and rcx, r14
shl rax, 2
xor rcx, rax
mov rax, r9
xor rcx, r10
shl rax, 2
mov qword [rbp - 0x10], rcx
mov rcx, r9
shr rcx, 2
xor rcx, rax
mov rax, r9
and rcx, r14
shl rax, 2
xor rcx, rax
mov rax, r8
xor rcx, r9
shl rax, 2
mov qword [rbp - 8], rcx
mov rcx, r8
shr rcx, 2
xor rcx, rax
mov rax, r8
and rcx, r14
shl rax, 2
xor rcx, rax
mov rax, rdx
xor rcx, r8
shl rax, 2
mov qword [rbp], rcx
mov rcx, rdx
shr rcx, 2
xor rcx, rax
mov rax, rdx
and rcx, r14
shl rax, 2
xor rcx, rax
xor rcx, rdx
mov qword [rbp + 8], rcx
xor eax, eax
movdqu xmm1, xmmword [rbp + rax - 0x30]
movdqu xmm0, xmmword [rbp + rax + 0x10]
pxor xmm1, xmm0
movdqu xmmword [rbp + rax - 0x70], xmm1
add rax, 0x10
cmp rax, 0x40
jl 0x14002cde4
lea rcx, [rbp - 0x70]
mov rax, r15
sub rcx, r15
mov edx, 4
movdqu xmm0, xmmword [rax]
movdqu xmm1, xmmword [rcx + rax]
pxor xmm1, xmm0
movdqu xmmword [rax], xmm1
lea rax, [rax + 0x10]
sub rdx, 1
jne 0x14002ce13
mov rax, qword [rbp + 0xb0]
lea ecx, [rdx + 8]
sub rax, r15
mov qword [rbp + 0xb0], rax
mov rax, qword [rax + r15]
xor qword [r15], rax
lea r15, [r15 + 8]
mov rax, qword [rbp + 0xb0]
sub rcx, 1
jne 0x14002ce42
add rsp, 0x158
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret