Function at 0x14015de20
Capabilities:
Encode data using xor

Disassembly:
push rbp
pcmpeqd xmm0, xmm0
mov rbp, rsp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
and rsp, 0xfffffffffffffff0
sub rsp, 0xf0
mov rax, qword [rcx + 0x40]
movdqu xmm1, xmmword [rcx + 8]
mov qword [rbp + 0x10], rcx
mov rdi, qword [rcx + 0x80]
not rax
movaps xmmword [rsp + 0xe0], xmm1
pxor xmm0, xmm1
mov qword [rcx + 0x40], rax
mov qword [rsp + 0x58], rax
mov rax, qword [rcx + 0x60]
movups xmmword [rcx + 8], xmm0
not rax
movhps qword [rsp + 0x98], xmm0
mov qword [rcx + 0x60], rax
mov qword [rsp + 0x90], rax
mov rax, qword [rcx + 0x88]
movq qword [rsp + 0xb8], xmm0
not rax
mov qword [rcx + 0x88], rax
mov qword [rsp + 0x88], rax
mov rax, qword [rcx + 0xa0]
mov qword [rsp + 0xe0], rax
mov r11, rax
mov rax, qword [rcx + 0x30]
not r11
mov qword [rsp + 0xd8], rax
mov rax, qword [rcx + 0x58]
mov qword [rcx + 0xa0], r11
mov qword [rsp + 0xb0], rax
mov rbx, qword [rcx + 0xa8]
mov rax, qword [rcx + 0x20]
mov r15, qword [rcx + 0x90]
mov rdx, qword [rcx]
mov r13, qword [rcx + 0xb0]
mov qword [rsp + 0xd0], rax
mov rax, qword [rcx + 0x48]
mov qword [rsp + 0x48], r15
mov rsi, qword [rcx + 0x78]
mov r10, rdx
mov qword [rsp + 0xa8], rax
mov rax, qword [rcx + 0x70]
mov qword [rsp + 0x50], rax
mov rax, qword [rcx + 0x98]
mov qword [rsp + 0xa0], rax
mov rax, qword [rcx + 0xc0]
mov qword [rsp + 0xc8], rax
mov rax, qword [rcx + 0x38]
mov qword [rsp + 0x60], rax
mov rax, qword [rcx + 0x28]
mov qword [rsp + 0xc0], rax
mov rax, qword [rcx + 0x50]
mov qword [rsp + 0x80], rax
mov rax, qword [rcx + 0x18]
mov qword [rsp + 0x78], rax
mov rax, qword [rcx + 0x68]
mov qword [rsp + 0x70], rax
mov rax, qword [rcx + 0xb8]
mov rcx, r13
mov qword [rsp + 0x68], rax
lea rax, [0x1402d1540]
mov qword [rsp + 0x40], rax
mov r15, qword [rsp + 0xd8]
xor r15, qword [rsp + 0xb8]
xor r15, qword [rsp + 0xb0]
mov r14, qword [rsp + 0x98]
xor r15, rbx
xor r14, qword [rsp + 0x90]
xor r14, qword [rsp + 0x88]
xor r15, rdi
xor r14, rcx
xor r14, qword [rsp + 0x60]
mov r12, qword [rsp + 0x70]
mov rdx, r15
mov r13, r14
mov rax, qword [rsp + 0xd0]
xor rax, qword [rsp + 0xc8]
rol rdx, 1
rol r13, 1
xor rax, qword [rsp + 0xa8]
xor rax, qword [rsp + 0xa0]
mov r9, rdx
mov rdx, qword [rsp + 0xc0]
mov r8, r13
mov r13, qword [rsp + 0x48]
xor r13, qword [rsp + 0x78]
xor rax, qword [rsp + 0x50]
xor rdx, r11
xor r12, r13
xor r12, qword [rsp + 0x68]
xor r12, qword [rsp + 0x58]
xor rdx, r10
xor rdx, qword [rsp + 0x80]
mov r13, r12
xor r9, rax
rol rax, 1
xor rdx, rsi
rol r13, 1
xor r10, r9
xor r8, rdx
rol rdx, 1
xor rax, r14
xor r13, r15
xor rdx, r12
mov r12, qword [rsp + 0xc0]
mov r15, qword [rsp + 0xb0]
mov qword [rsp + 0x38], r10
xor r12, r9
mov r14, r12
mov r12, qword [rsp + 0x80]
ror r14, 0x1c
xor rsi, r9
xor r15, r8
xor rdi, r8
ror rsi, 0x17
xor r12, r9
xor r9, r11
rol r15, 0xa
rol r9, 0x12
mov qword [rsp + 0x30], r14
rol r12, 3
mov r11, qword [rsp + 0xb8]
mov qword [rsp + 0x80], r9
mov r9, qword [rsp + 0xd8]
ror rdi, 0x13
xor r11, r8
mov qword [rsp + 0x28], rsi
xor r9, r8
xor r8, rbx
rol r11, 1
mov qword [rsp + 0x18], r15
mov rbx, r8
ror r9, 0x14
mov qword [rsp + 0x20], r11
rol rbx, 2
mov qword [rsp + 0xe0], r9
mov qword [rsp + 0x10], rbx
mov r8, qword [rsp + 0x98]
mov rbx, qword [rsp + 0x90]
mov r11, qword [rsp + 0x60]
xor r8, r13
mov r14, qword [rsp + 0x48]
mov r10, qword [rsp + 0xd0]
xor rbx, r13
ror r8, 2
xor r11, r13
mov r9, qword [rsp + 0x50]
mov r15, rbx
mov rbx, qword [rsp + 0x88]
mov qword [rsp + 8], r8
rol r11, 6
mov r8, qword [rsp + 0x58]
mov rsi, qword [rsp + 0xa8]
ror r15, 0x15
xor rbx, r13
xor r13, rcx
mov rcx, qword [rsp + 0x78]
mov qword [rsp + 0xd8], r15
rol rbx, 0xf
xor r8, rax
ror r13, 3
not r15
mov qword [rsp + 0x60], rbx
mov rbx, qword [rsp + 0x70]
xor rcx, rax
ror r8, 9
rol rcx, 0x1c
mov qword [rsp + 0x58], r8
mov r8, qword [rsp + 0xa0]
xor rbx, rax
rol rbx, 0x19
xor r14, rax
xor r10, rdx
xor rsi, rdx
rol r14, 0x15
xor r9, rdx
xor r8, rdx
rol rsi, 0x14
rol r8, 8
or r15, r14
xor rax, qword [rsp + 0x68]
rol r10, 0x1b
ror rax, 8
xor rdx, qword [rsp + 0xc8]
xor r15, qword [rsp + 0xe0]
ror r9, 0x19
rol rdx, 0xe
mov qword [rsp + 0xd0], r15
mov r15, r14
and r15, rdx
xor r15, qword [rsp + 0xd8]
mov qword [rsp + 0xc8], r15
mov r15, qword [rsp + 0x38]
or r15, rdx
xor r15, r14
mov r14, qword [rsp + 0xe0]
mov qword [rsp + 0xc0], r15
mov r15, qword [rsp + 0x38]
and r14, r15
xor r14, rdx
mov rdx, r12
or rdx, rsi
mov qword [rsp + 0xb8], r14
xor rdx, rcx
mov qword [rsp + 0xb0], rdx
mov rdx, r12
and rdx, rdi
xor rdx, rsi
mov qword [rsp + 0xa8], rdx
mov rdx, r13
not rdx
or rdx, rdi
xor rdx, r12
mov qword [rsp + 0xa0], rdx
mov rdx, r13
or rdx, rcx
and rcx, rsi
xor rdx, rdi
xor rcx, r13
mov r13, r8
and r8, rbx
not r13
mov qword [rsp + 0x98], rdx
mov rdx, r13
mov r13, r11
mov qword [rsp + 0x90], rcx
mov r12, qword [rsp + 0x20]
or r13, rbx
mov rdi, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x28]
mov rcx, r13
mov r14, qword [rsp + 8]
xor rcx, r12
mov r13, rcx
mov rcx, r8
mov r8, qword [rsp + 0x80]
xor rcx, r11
mov qword [rsp + 0x88], rcx
mov rcx, r8
and rcx, rdx
xor rcx, rbx
mov qword [rsp + 0x80], rcx
mov rcx, r8
or rcx, r12
and r12, r11
mov rbx, rcx
mov r11, r12
mov r12, qword [rsp + 0x18]
xor rbx, rdx
mov rdx, qword [rsp + 0x60]
xor r11, r8
mov qword [rsp + 0x78], r11
mov r11, rax
mov rcx, rdx
or rdx, r12
not rcx
xor rdx, rdi
mov r8, rcx
mov rcx, rdi
or rdi, r10
or r11, r8
and rcx, r12
xor r11, r12
xor rcx, r10
mov r12, qword [rsp + 0x58]
mov qword [rsp + 0x70], r11
mov r11, rax
and r11, r10
mov r10, rdi
mov rdi, qword [rsp + 0x10]
xor r10, rax
xor r11, r8
mov r8, rsi
mov rax, r9
mov qword [rsp + 0x60], r10
mov r10, r12
or r8, r9
not r10
mov qword [rsp + 0x68], r11
mov r11, rdi
xor r8, r10
and rax, r10
mov r10, rsi
or r11, r14
and r10, rdi
xor rax, r14
and r14, r12
xor r10, r9
mov r9, r11
mov qword [rsp + 0x58], r10
mov r10, qword [rsp + 0x40]
xor r9, rsi
mov rsi, r14
xor rsi, rdi
mov qword [rsp + 0x50], r9
mov rdi, qword [rsp + 0xa8]
mov r11, qword [r10]
mov r9, qword [rsp + 0xe0]
mov qword [rsp + 0x48], rsi
mov r14, qword [rsp + 0xc8]
xor r11, r15
or r9, qword [rsp + 0xd8]
xor r14, qword [rsp + 0x58]
xor rdi, qword [rsp + 0x88]
xor r11, r9
xor r14, qword [rsp + 0xa0]
mov r15, rdi
mov r9, qword [rsp + 0xb8]
xor r9, qword [rsp + 0x90]
xor r15, rdx
xor r9, qword [rsp + 0x78]
xor r9, qword [rsp + 0x60]
xor r15, r8
xor r15, qword [rsp + 0xd0]
xor r9, rsi
xor r14, qword [rsp + 0x80]
mov r12, r15
xor r14, qword [rsp + 0x70]
mov rsi, qword [rsp + 0xb0]
mov qword [rsp + 0xe0], r13
rol r12, 1
xor r13, rcx
mov rdi, r12
mov r12, r14
xor r13, rax
xor rsi, r11
rol r12, 1
xor r13, rsi
xor rdi, r9
rol r9, 1
mov r10, r12
mov r12, qword [rsp + 0xc0]
xor r9, r14
xor r12, qword [rsp + 0x98]
xor r12, rbx
xor r12, qword [rsp + 0x68]
xor r12, qword [rsp + 0x50]
xor r10, r13
mov rsi, r12
rol r13, 1
mov r14, qword [rsp + 0xc8]
rol rsi, 1
xor r13, r12
mov r12, qword [rsp + 0xe0]
xor rsi, r15
xor r11, rdi
xor rax, rdi
xor rcx, rdi
rol rax, 0x12
xor r12, rdi
xor rdx, r10
ror rcx, 0x17
mov qword [rsp + 0x20], rax
xor r8, r10
xor r14, rsi
rol r12, 3
mov rax, qword [rsp + 0xd0]
mov qword [rsp + 0x28], rcx
rol r8, 2
ror r14, 2
mov qword [rsp + 0xd8], r11
mov r11, qword [rsp + 0xb0]
xor rax, r10
mov r15, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x98]
mov qword [rsp + 0x18], r8
rol rax, 1
xor r11, rdi
mov rdi, qword [rsp + 0x88]
mov qword [rsp + 0xc8], r14
mov qword [rsp + 0xb0], rax
xor r15, rsi
ror r11, 0x1c
xor rcx, r9
mov rax, qword [rsp + 0xa8]
xor rdi, r10
mov qword [rsp + 0x30], r11
mov r11, r15
mov r15, qword [rsp + 0x80]
rol r11, 6
xor rax, r10
mov r10, qword [rsp + 0xc0]
ror rax, 0x14
xor r15, rsi
mov qword [rsp + 0xe0], rax
mov rax, rdi
xor r10, r9
mov rdi, qword [rsp + 0x70]
rol rax, 0xa
ror r15, 0x15
xor rdi, rsi
mov qword [rsp + 0x88], rax
xor rsi, qword [rsp + 0x58]
mov rax, rdx
ror rax, 0x13
mov rdx, r10
mov r10, qword [rsp + 0x68]
ror rsi, 3
rol rdx, 0x1c
rol rdi, 0xf
ror rcx, 9
mov qword [rsp + 0xa0], rdi
xor r10, r9
xor rbx, r9
mov qword [rsp + 0x10], rcx
xor r9, qword [rsp + 0x50]
mov r14, r10
rol rbx, 0x19
mov rcx, qword [rsp + 0x90]
mov r10, qword [rsp + 0xb8]
rol r14, 0x15
mov qword [rsp + 0x38], r15
mov r8, qword [rsp + 0x78]
not r15
ror r9, 8
xor rcx, r13
xor r10, r13
or r15, r14
xor r15, qword [rsp + 0xe0]
mov rdi, rcx
mov rcx, qword [rsp + 0x60]
xor r8, r13
rol r10, 0x1b
mov qword [rsp + 0xb8], r15
mov r15, r14
rol rdi, 0x14
xor rcx, r13
xor r13, qword [rsp + 0x48]
ror r8, 0x19
rol r13, 0xe
rol rcx, 8
and r15, r13
xor r15, qword [rsp + 0x38]
mov qword [rsp + 0x98], r15
mov r15, qword [rsp + 0xd8]
or r15, r13
xor r15, r14
mov r14, qword [rsp + 0xe0]
mov qword [rsp + 0x78], r15
mov r15, qword [rsp + 0xd8]
and r14, r15
xor r14, r13
mov r13, r12
or r13, rdi
mov qword [rsp + 0xd0], r14
mov r14, qword [rsp + 0xb0]
xor r13, rdx
mov qword [rsp + 0xc0], r13
mov r13, r12
and r13, rax
xor r13, rdi
mov qword [rsp + 0xd8], r13
mov r13, rsi
not r13
or r13, rax
xor r13, r12
mov r12, rsi
or r12, rdx
mov qword [rsp + 0x60], r13
xor r12, rax
and rdx, rdi
mov rdi, qword [rsp + 0x20]
mov qword [rsp + 0x58], r12
mov r12, rdx
xor r12, rsi
mov rsi, rcx
and rcx, rbx
not rsi
mov qword [rsp + 0xa8], r12
mov r12, r9
mov rax, rsi
mov rsi, r11
or rsi, rbx
xor rsi, r14
mov qword [rsp + 0x80], rsi
mov rsi, rcx
xor rsi, r11
mov qword [rsp + 0xb0], rsi
mov rsi, rdi
and rsi, rax
xor rsi, rbx
mov rbx, qword [rsp + 0x30]
mov qword [rsp + 0x90], rsi
mov rsi, rdi
or rsi, r14
and r14, r11
mov r11, qword [rsp + 0x88]
xor rsi, rax
mov qword [rsp + 0x70], rsi
mov rsi, r14
xor rsi, rdi
mov rdi, qword [rsp + 0xa0]
mov qword [rsp + 0x50], rsi
mov rsi, rdi
or rdi, r11
not rsi
xor rdi, rbx
mov rax, rsi
mov rsi, rbx
or r12, rax
and rsi, r11
xor r12, r11
mov r11, r9
xor rsi, r10
and r11, r10
mov qword [rsp + 0x88], r12
xor r11, rax
mov rax, rbx
or rax, r10
mov qword [rsp + 0x48], r11
mov r13, qword [rsp + 0x10]
mov r11, r8
mov rbx, rax
mov rdx, qword [rsp + 0x28]
mov r14, qword [rsp + 0xc8]
xor rbx, r9
mov r9, qword [rsp + 0x18]
mov qword [rsp + 0xa0], rbx
mov rbx, r13
mov rcx, rdx
not rbx
and rcx, r9
mov rax, rbx
and r11, rbx
mov rbx, rdx
xor rcx, r8
or rbx, r8
mov r8, r9
or r9, r14
xor r11, r14
xor r9, rdx
mov rdx, qword [rsp + 0x40]
and r14, r13
xor rbx, rax
mov qword [rsp + 0x68], r9
mov r9, r14
mov rax, qword [rsp + 0xe0]
mov r10, qword [rdx + 8]
xor r9, r8
or rax, qword [rsp + 0x38]
add rdx, 0x10
mov qword [rsp + 0xc8], r9
xor r10, r15
mov qword [rsp + 0x40], rdx
xor r10, rax
lea rax, [0x1402d1600]
cmp rax, rdx
jne 0x14015df90
mov r15, qword [rsp + 0x48]
mov rax, qword [rbp + 0x10]
movq xmm3, rbx
mov rdx, r10
mov r10, rdi
mov rdi, qword [rsp + 0x68]
mov rbx, qword [rbp + 0x10]
movq xmm0, r15
movq xmm4, r10
mov qword [rax + 0xb0], rcx
mov rcx, qword [rbp + 0x10]
movhps xmm0, qword [rsp + 0xa0]
mov qword [rax + 0xb8], rdi
mov rdi, qword [rbp + 0x10]
movups xmmword [rax + 0x90], xmm0
movq xmm0, r11
not r11
punpcklqdq xmm0, xmm3
mov qword [rax + 0xc0], r9
movups xmmword [rax + 0xa0], xmm0
movq xmm0, qword [rsp + 0x70]
movhps xmm0, qword [rsp + 0x50]
movups xmmword [rax + 0x68], xmm0
movq xmm0, rsi
punpcklqdq xmm0, xmm4
movups xmmword [rax + 0x78], xmm0
mov rax, qword [rsp + 0xb8]
movq xmm0, rdx
movq xmm2, rax
not rax
punpcklqdq xmm0, xmm2
movups xmmword [rbx], xmm0
mov rbx, qword [rsp + 0x98]
movq xmm0, rbx
movhps xmm0, qword [rsp + 0x78]
movups xmmword [rdi + 0x10], xmm0
movq xmm0, qword [rsp + 0xd0]
movhps xmm0, qword [rsp + 0xc0]
movups xmmword [rdi + 0x20], xmm0
movq xmm0, qword [rsp + 0xd8]
movhps xmm0, qword [rsp + 0x60]
movups xmmword [rdi + 0x30], xmm0
mov rdi, qword [rsp + 0x58]
movq xmm0, rdi
movhps xmm0, qword [rsp + 0xa8]
movups xmmword [rcx + 0x40], xmm0
movq xmm0, qword [rsp + 0x80]
movhps xmm0, qword [rsp + 0xb0]
movups xmmword [rcx + 0x50], xmm0
mov qword [rcx + 8], rax
mov rax, rbx
not rax
mov qword [rcx + 0xa0], r11
mov qword [rcx + 0x10], rax
mov rax, rdi
not rax
mov qword [rcx + 0x40], rax
mov rax, qword [rsp + 0x90]
not rax
mov qword [rcx + 0x60], rax
mov rax, r12
not rax
mov qword [rcx + 0x88], rax
lea rsp, [rbp - 0x38]
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret