Function at 0x1400e2a20
Capabilities:
Encode data using xor

Disassembly:
push rbp
mov rbp, rsp
push r15
push r14
push r13
push r12
push rdi
push rsi
mov rsi, r8
mov r8d, 0x400
push rbx
mov rbx, rcx
and rsp, 0xfffffffffffffff0
sub rsp, 0x860
lea rdi, [rsp + 0x60]
mov rcx, rdi
call sub.msvcrt.dll_memcpy
lea rdx, [rsp + 0x460]
mov qword [rsp + 0x20], rdi
mov rcx, rbx
mov qword [rsp + 0x30], rdx
nop dword [rax + rax]
movdqu xmm0, xmmword [rcx]
add rax, 0x10
pxor xmm0, xmmword [rax - 0x10]
add rcx, 0x10
movups xmmword [rax - 0x10], xmm0
cmp rdx, rax
jne 0x1400e2a70
mov rcx, qword [rsp + 0x30]
mov r8d, 0x400
mov rdx, rdi
mov r14, rdi
call sub.msvcrt.dll_memcpy
mov qword [rbp + 0x20], rsi
mov qword [rsp + 0x28], rdi
nop dword [rax]
mov rax, qword [r14 + 0x20]
mov rdx, qword [r14]
mov r9, qword [r14 + 0x60]
mov r13, qword [r14 + 0x78]
mov r8d, eax
mov ecx, edx
add rdx, rax
imul rcx, r8
lea rcx, [rdx + rcx*2]
mov rdx, qword [r14 + 0x40]
xor r9, rcx
rol r9, 0x20
mov r10d, r9d
mov r8d, edx
add rdx, r9
imul r8, r10
lea rdx, [rdx + r8*2]
mov r8d, ecx
xor rax, rdx
ror rax, 0x18
mov r10d, eax
add rcx, rax
imul r8, r10
lea r12, [rcx + r8*2]
mov ecx, edx
xor r9, r12
ror r9, 0x10
mov r8d, r9d
add rdx, r9
imul rcx, r8
lea rbx, [rdx + rcx*2]
mov rcx, qword [r14 + 0x28]
xor rax, rbx
mov qword [rsp + 0x38], rbx
rol rax, 1
mov qword [rsp + 0x40], rax
mov rax, qword [r14 + 8]
mov r8d, ecx
mov edx, eax
add rax, rcx
imul rdx, r8
lea r8, [rax + rdx*2]
mov rdx, qword [r14 + 0x68]
mov rax, qword [r14 + 0x48]
xor rdx, r8
rol rdx, 0x20
mov r10d, eax
mov r11d, edx
add rax, rdx
imul r10, r11
lea rax, [rax + r10*2]
mov r10d, r8d
xor rcx, rax
ror rcx, 0x18
mov r11d, ecx
add r8, rcx
imul r10, r11
lea rsi, [r8 + r10*2]
xor rdx, rsi
ror rdx, 0x10
mov rbx, rdx
mov edx, eax
mov r8d, ebx
add rax, rbx
mov qword [rsp + 0x48], rbx
imul rdx, r8
mov r8, qword [r14 + 0x30]
lea rdx, [rax + rdx*2]
mov rax, qword [r14 + 0x10]
xor rcx, rdx
mov qword [rsp + 0x50], rdx
mov edx, r8d
rol rcx, 1
mov r10d, eax
imul rdx, r10
add rax, r8
lea r10, [rax + rdx*2]
mov rax, qword [r14 + 0x70]
mov rdx, qword [r14 + 0x50]
xor rax, r10
rol rax, 0x20
mov ebx, edx
mov r11d, eax
add rdx, rax
imul r11, rbx
mov ebx, r10d
lea rdx, [rdx + r11*2]
xor r8, rdx
ror r8, 0x18
mov r11d, r8d
add r10, r8
imul r11, rbx
lea r11, [r10 + r11*2]
mov r10d, edx
xor rax, r11
mov r15, rax
ror r15, 0x10
mov eax, r15d
add rdx, r15
mov qword [rsp + 0x58], r15
imul rax, r10
lea rdi, [rdx + rax*2]
mov rax, qword [r14 + 0x38]
mov rdx, qword [r14 + 0x18]
xor r8, rdi
rol r8, 1
mov r10d, eax
mov ebx, edx
add rdx, rax
imul r10, rbx
mov rbx, qword [r14 + 0x58]
mov r15d, ebx
lea r10, [rdx + r10*2]
xor r13, r10
mov rdx, r13
rol rdx, 0x20
mov r13d, edx
add rbx, rdx
imul r13, r15
mov r15d, r10d
lea rbx, [rbx + r13*2]
xor rax, rbx
ror rax, 0x18
mov r13d, eax
add r10, rax
imul r13, r15
lea r10, [r10 + r13*2]
mov r13d, ebx
xor rdx, r10
ror rdx, 0x10
mov r15d, edx
add rbx, rdx
imul r13, r15
mov r15d, ecx
lea rbx, [rbx + r13*2]
mov r13d, r12d
xor rax, rbx
rol rax, 1
imul r13, r15
add r12, rcx
lea r12, [r12 + r13*2]
mov r13d, edi
xor rdx, r12
rol rdx, 0x20
mov r15d, edx
add rdi, rdx
imul r13, r15
lea rdi, [rdi + r13*2]
mov r13d, r12d
xor rcx, rdi
ror rcx, 0x18
mov r15d, ecx
add r12, rcx
imul r13, r15
lea r12, [r12 + r13*2]
mov r13d, edi
xor rdx, r12
mov qword [r14], r12
ror rdx, 0x10
mov r12d, edx
add rdi, rdx
mov qword [r14 + 0x78], rdx
imul r12, r13
lea rdx, [rdi + r12*2]
xor rcx, rdx
mov qword [r14 + 0x50], rdx
mov edx, esi
add rsi, r8
rol rcx, 1
mov qword [r14 + 0x28], rcx
mov ecx, r8d
imul rdx, rcx
mov ecx, ebx
lea rdx, [rsi + rdx*2]
xor r9, rdx
rol r9, 0x20
mov esi, r9d
add rbx, r9
imul rcx, rsi
lea rcx, [rbx + rcx*2]
mov ebx, edx
xor r8, rcx
ror r8, 0x18
mov esi, r8d
add rdx, r8
imul rbx, rsi
lea rdx, [rdx + rbx*2]
mov ebx, ecx
xor r9, rdx
mov qword [r14 + 8], rdx
ror r9, 0x10
mov edx, r9d
add rcx, r9
mov qword [r14 + 0x60], r9
imul rdx, rbx
mov rbx, qword [rsp + 0x48]
lea rdx, [rcx + rdx*2]
mov ecx, r11d
mov qword [r14 + 0x58], rdx
xor r8, rdx
mov edx, eax
rol r8, 1
imul rdx, rcx
add r11, rax
mov qword [r14 + 0x30], r8
sub r14, 0xffffffffffffff80
lea r8, [r11 + rdx*2]
xor rbx, r8
mov r11d, r8d
mov rdx, rbx
mov rbx, qword [rsp + 0x38]
rol rdx, 0x20
mov r9d, edx
mov ecx, ebx
imul r9, rcx
lea rcx, [rdx + rbx]
lea rcx, [rcx + r9*2]
xor rax, rcx
ror rax, 0x18
mov r9d, eax
add r8, rax
imul r9, r11
lea r8, [r8 + r9*2]
mov r9d, ecx
xor rdx, r8
mov qword [r14 - 0x70], r8
ror rdx, 0x10
mov r8d, edx
mov qword [r14 - 0x18], rdx
add rcx, rdx
mov rdi, qword [rsp + 0x40]
imul r8, r9
mov rsi, qword [rsp + 0x50]
lea rdx, [rcx + r8*2]
xor rax, rdx
mov qword [r14 - 0x40], rdx
mov edx, r10d
add r10, rdi
rol rax, 1
mov qword [r14 - 0x48], rax
mov eax, edi
imul rax, rdx
mov edx, esi
lea rcx, [r10 + rax*2]
mov rax, qword [rsp + 0x58]
mov r10d, ecx
xor rax, rcx
rol rax, 0x20
mov r8d, eax
imul r8, rdx
lea rdx, [rax + rsi]
lea rdx, [rdx + r8*2]
xor rdi, rdx
mov r8, rdi
ror r8, 0x18
mov r9d, r8d
add rcx, r8
imul r9, r10
lea rcx, [rcx + r9*2]
mov r9d, edx
xor rax, rcx
mov qword [r14 - 0x68], rcx
ror rax, 0x10
mov ecx, eax
add rdx, rax
mov qword [r14 - 0x10], rax
imul rcx, r9
lea rax, [rdx + rcx*2]
mov qword [r14 - 0x38], rax
xor rax, r8
rol rax, 1
mov qword [r14 - 0x60], rax
mov rax, qword [rsp + 0x30]
cmp r14, rax
jne 0x1400e2ab0
mov rdi, qword [rsp + 0x28]
lea rax, [rdi + 0x80]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x20], rdi
nop word [rax + rax]
mov rdx, qword [rax + 0x100]
mov rcx, qword [rax]
mov r9d, edx
mov r8d, ecx
add rcx, rdx
imul r8, r9
mov r9, qword [rax + 0x300]
lea r8, [rcx + r8*2]
mov rcx, qword [rax + 0x200]
xor r9, r8
rol r9, 0x20
mov r11d, r9d
mov r10d, ecx
add rcx, r9
imul r10, r11
lea rcx, [rcx + r10*2]
mov r10d, r8d
xor rdx, rcx
ror rdx, 0x18
mov r11d, edx
add r8, rdx
imul r10, r11
lea r13, [r8 + r10*2]
mov r8d, ecx
xor r9, r13
ror r9, 0x10
mov r10d, r9d
add rcx, r9
imul r8, r10
lea rsi, [rcx + r8*2]
mov r8, qword [rax + 0x108]
xor rdx, rsi
mov qword [rsp + 0x38], rsi
rol rdx, 1
mov qword [rsp + 0x40], rdx
mov rdx, qword [rax + 8]
mov r10d, r8d
mov ecx, edx
add rdx, r8
imul rcx, r10
lea r10, [rdx + rcx*2]
mov rcx, qword [rax + 0x308]
mov rdx, qword [rax + 0x208]
xor rcx, r10
rol rcx, 0x20
mov r11d, edx
mov ebx, ecx
add rdx, rcx
imul r11, rbx
lea rdx, [rdx + r11*2]
mov r11d, r10d
xor r8, rdx
ror r8, 0x18
mov ebx, r8d
add r10, r8
imul r11, rbx
lea rdi, [r10 + r11*2]
xor rcx, rdi
ror rcx, 0x10
mov rsi, rcx
mov ecx, edx
mov r10d, esi
add rdx, rsi
mov qword [rsp + 0x48], rsi
imul rcx, r10
lea rbx, [rdx + rcx*2]
mov rcx, qword [rax + 0x180]
mov rdx, qword [rax + 0x80]
xor r8, rbx
mov qword [rsp + 0x50], rbx
rol r8, 1
mov r10d, ecx
mov r11d, edx
imul r10, r11
add rdx, rcx
lea r11, [rdx + r10*2]
mov rdx, qword [rax + 0x380]
mov r10, qword [rax + 0x280]
xor rdx, r11
rol rdx, 0x20
mov esi, r10d
mov ebx, edx
add r10, rdx
imul rbx, rsi
mov esi, r11d
lea r10, [r10 + rbx*2]
xor rcx, r10
ror rcx, 0x18
mov ebx, ecx
add r11, rcx
imul rbx, rsi
lea rbx, [r11 + rbx*2]
mov r11d, r10d
xor rdx, rbx
mov r15, rdx
ror r15, 0x10
mov edx, r15d
add r10, r15
mov qword [rsp + 0x58], r15
imul rdx, r11
lea r12, [r10 + rdx*2]
mov rdx, qword [rax + 0x188]
mov r10, qword [rax + 0x88]
xor rcx, r12
rol rcx, 1
mov r11d, edx
mov esi, r10d
add r10, rdx
imul r11, rsi
mov rsi, qword [rax + 0x288]
mov r15d, esi
lea r11, [r10 + r11*2]
mov r10, qword [rax + 0x388]
xor r10, r11
rol r10, 0x20
mov r14d, r10d
add rsi, r10
imul r14, r15
mov r15d, r11d
lea rsi, [rsi + r14*2]
xor rdx, rsi
ror rdx, 0x18
mov r14d, edx
add r11, rdx
imul r14, r15
mov r15d, esi
lea r11, [r11 + r14*2]
xor r10, r11
ror r10, 0x10
mov r14d, r10d
add rsi, r10
imul r14, r15
mov r15d, r13d
lea rsi, [rsi + r14*2]
mov r14d, r8d
xor rdx, rsi
rol rdx, 1
imul r14, r15
add r13, r8
mov r15d, r12d
lea r13, [r13 + r14*2]
xor r10, r13
rol r10, 0x20
mov r14d, r10d
add r12, r10
imul r14, r15
mov r15d, r13d
lea r12, [r12 + r14*2]
xor r8, r12
ror r8, 0x18
mov r14d, r8d
add r13, r8
imul r14, r15
lea r13, [r13 + r14*2]
xor r10, r13
mov qword [rax], r13
mov r13d, r12d
ror r10, 0x10
mov r14d, r10d
mov qword [rax + 0x388], r10
add r10, r12
imul r13, r14
lea r10, [r10 + r13*2]
mov qword [rax + 0x280], r10
xor r10, r8
mov r8d, ecx
rol r10, 1
mov qword [rax + 0x108], r10
mov r10d, edi
add rdi, rcx
imul r8, r10
lea r8, [rdi + r8*2]
mov edi, esi
xor r9, r8
rol r9, 0x20
mov r10d, r9d
add rsi, r9
imul r10, rdi
mov edi, r8d
lea r10, [rsi + r10*2]
xor rcx, r10
ror rcx, 0x18
mov esi, ecx
add r8, rcx
imul rsi, rdi
lea r8, [r8 + rsi*2]
mov qword [rax + 8], r8
xor r8, r9
mov r9d, r10d
ror r8, 0x10
mov esi, r8d
mov qword [rax + 0x300], r8
add r8, r10
imul r9, rsi
mov rsi, qword [rsp + 0x48]
lea r8, [r8 + r9*2]
mov qword [rax + 0x288], r8
xor r8, rcx
mov ecx, ebx
rol r8, 1
mov qword [rax + 0x180], r8
mov r8d, edx
imul rcx, r8
add rbx, rdx
add rax, 0x10
lea rcx, [rbx + rcx*2]
xor rsi, rcx
mov r8, rsi
mov rsi, qword [rsp + 0x38]
rol r8, 0x20
mov r9d, r8d
mov r10d, esi
imul r10, r9
lea r9, [r8 + rsi]
lea r9, [r9 + r10*2]
mov r10d, ecx
xor rdx, r9
ror rdx, 0x18
mov ebx, edx
add rcx, rdx
imul r10, rbx
lea rcx, [rcx + r10*2]
mov qword [rax + 0x70], rcx
xor rcx, r8
mov r8d, r9d
ror rcx, 0x10
mov r10d, ecx
mov qword [rax + 0x2f8], rcx
mov rdi, qword [rsp + 0x40]
add rcx, r9
imul r8, r10
mov rbx, qword [rsp + 0x50]
mov r9d, ebx
lea rcx, [rcx + r8*2]
mov qword [rax + 0x1f0], rcx
xor rcx, rdx
mov edx, r11d
add r11, rdi
rol rcx, 1
mov qword [rax + 0x178], rcx
mov ecx, edi
imul rdx, rcx
mov rcx, qword [rsp + 0x58]
lea rdx, [r11 + rdx*2]
xor rcx, rdx
mov r10d, edx
rol rcx, 0x20
mov r8, rcx
mov ecx, ecx
imul r9, rcx
lea rcx, [r8 + rbx]
lea r9, [rcx + r9*2]
xor rdi, r9
mov rcx, rdi
ror rcx, 0x18
mov r11d, ecx
add rdx, rcx
imul r10, r11
lea rdx, [rdx + r10*2]
mov qword [rax + 0x78], rdx
xor rdx, r8
mov r8d, r9d
ror rdx, 0x10
mov r10d, edx
mov qword [rax + 0x370], rdx
add rdx, r9
imul r8, r10
lea rdx, [rdx + r8*2]
mov qword [rax + 0x1f8], rdx
xor rdx, rcx
rol rdx, 1
mov qword [rax + 0xf0], rdx
cmp qword [rsp + 0x28], rax
jne 0x1400e2e90
mov rsi, qword [rbp + 0x20]
mov r8d, 0x400
mov rdx, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x20]
mov rcx, rsi
call sub.msvcrt.dll_memcpy
xor eax, eax
nop dword [rax + rax]
movdqu xmm0, xmmword [rsi + rax]
pxor xmm0, xmmword [rdi + rax]
movups xmmword [rsi + rax], xmm0
add rax, 0x10
cmp rax, 0x400
jne 0x1400e32c0
lea rsp, [rbp - 0x38]
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret