Function at 0x14002af90
Capabilities:
Encode data using xor

Disassembly:
push rbp
mov rax, rcx
mov ecx, pe_nt_image_headers64
mov rbp, rsp
push r15
push r14
push r13
push r12
mov r12, r8
push rdi
push rsi
mov rsi, rdx
mov rdx, rax
push rbx
and rsp, 0xfffffffffffffff0
sub rsp, 0x850
lea r13, [rsp + 0x50]
lea rbx, [rsp + 0x450]
mov rdi, r13
mov qword [rsp + 0x18], r13
mov rax, r13
rep movsq qword [rdi], qword [rsi]
mov qword [rsp + 0x20], rbx
nop dword [rax + rax]
movdqu xmm0, xmmword [rdx]
pxor xmm0, xmmword [rax]
add rax, 0x10
add rdx, 0x10
movups xmmword [rax - 0x10], xmm0
cmp rbx, rax
jne 0x14002afe0
mov rdi, rbx
mov ecx, pe_nt_image_headers64
mov rsi, r13
mov rdx, r12
rep movsq qword [rdi], qword [rsi]
lea rbx, [rsp + 0x450]
lea rcx, [rsp + 0x850]
mov rax, rbx
nop dword [rax]
movdqu xmm0, xmmword [rdx]
pxor xmm0, xmmword [rax]
add rax, 0x10
add rdx, 0x10
movups xmmword [rax - 0x10], xmm0
cmp rcx, rax
jne 0x14002b020
mov qword [rbp + 0x20], r12
mov r14, r13
mov qword [rsp + 0x10], r13
mov qword [rsp + 8], rbx
nop word [rax + 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 r8d, edx
mov r10d, r9d
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 rsi, [rdx + rcx*2]
mov rcx, qword [r14 + 0x28]
xor rax, rsi
mov qword [rsp + 0x28], rsi
rol rax, 1
mov r8d, ecx
mov qword [rsp + 0x30], rax
mov rax, qword [r14 + 8]
mov edx, eax
add rax, rcx
imul rdx, r8
lea r8, [rax + rdx*2]
mov rax, qword [r14 + 0x68]
mov rdx, qword [r14 + 0x48]
xor rax, r8
mov r11d, edx
rol rax, 0x20
mov r10d, eax
add rdx, rax
imul r10, r11
mov r11d, r8d
lea rdx, [rdx + r10*2]
xor rcx, rdx
ror rcx, 0x18
mov r10d, ecx
add r8, rcx
imul r10, r11
lea rsi, [r8 + r10*2]
mov r8d, edx
xor rax, rsi
mov rbx, rax
ror rbx, 0x10
mov eax, ebx
add rdx, rbx
mov qword [rsp + 0x38], rbx
imul rax, r8
mov r8, qword [r14 + 0x30]
lea rdx, [rdx + rax*2]
mov rax, qword [r14 + 0x10]
xor rcx, rdx
mov qword [rsp + 0x40], rdx
mov edx, r8d
mov r10d, eax
rol rcx, 1
imul rdx, r10
add rax, r8
lea r10, [rax + rdx*2]
mov rax, qword [r14 + 0x70]
mov rdx, qword [r14 + 0x50]
xor rax, r10
mov ebx, edx
rol rax, 0x20
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 + 0x48], r15
imul rax, r10
lea rdi, [rdx + rax*2]
mov rax, qword [r14 + 0x38]
mov rdx, qword [r14 + 0x18]
xor r8, rdi
mov ebx, edx
mov r10d, eax
add rdx, rax
rol r8, 1
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
mov r15d, ebx
lea r10, [r10 + r13*2]
xor rdx, r10
ror rdx, 0x10
mov r13d, 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
mov rsi, qword [rsp + 0x28]
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 + 0x38]
lea rdx, [rcx + rdx*2]
mov ecx, eax
mov qword [r14 + 0x58], rdx
xor r8, rdx
mov edx, r11d
rol r8, 1
imul rdx, rcx
add r11, rax
sub r14, 0xffffffffffffff80
mov qword [r14 - 0x50], r8
mov r8d, esi
lea rcx, [r11 + rdx*2]
xor rbx, rcx
mov rdx, rbx
rol rdx, 0x20
mov r9d, edx
imul r8, r9
lea r9, [rdx + rsi]
lea r8, [r9 + r8*2]
mov r9d, ecx
xor rax, r8
ror rax, 0x18
mov r11d, eax
add rcx, rax
imul r9, r11
lea rcx, [rcx + r9*2]
mov r9d, r8d
xor rdx, rcx
mov qword [r14 - 0x70], rcx
ror rdx, 0x10
mov ecx, edx
add r8, rdx
mov qword [r14 - 0x18], rdx
mov rdi, qword [rsp + 0x30]
imul rcx, r9
mov rsi, qword [rsp + 0x40]
lea rdx, [r8 + rcx*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 + 0x48]
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 + 0x20]
cmp r14, rax
jne 0x14002b050
mov r13, qword [rsp + 0x10]
mov rbx, qword [rsp + 8]
lea rax, [r13 + 0x80]
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x18]
mov qword [rsp + 0x18], r13
nop dword [rax]
mov rdx, qword [rax + 0x100]
mov rcx, qword [rax]
mov rbx, qword [rax + 0x308]
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 r10d, ecx
mov r11d, r9d
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 + 0x28], rsi
rol rdx, 1
mov r10d, r8d
mov qword [rsp + 0x30], rdx
mov rdx, qword [rax + 8]
mov ecx, edx
add rdx, r8
imul rcx, r10
lea r10, [rdx + rcx*2]
mov rcx, qword [rax + 0x208]
xor rbx, r10
mov rdx, rbx
mov ebx, ecx
rol rdx, 0x20
mov r11d, edx
add rcx, rdx
imul r11, rbx
mov ebx, r10d
lea rcx, [rcx + r11*2]
xor r8, rcx
ror r8, 0x18
mov r11d, r8d
add r10, r8
imul r11, rbx
lea rdi, [r10 + r11*2]
mov r10d, ecx
xor rdx, rdi
mov rsi, rdx
ror rsi, 0x10
mov edx, esi
add rcx, rsi
mov qword [rsp + 0x38], rsi
imul rdx, r10
lea rbx, [rcx + rdx*2]
mov rcx, qword [rax + 0x180]
mov rdx, qword [rax + 0x80]
xor r8, rbx
mov qword [rsp + 0x40], rbx
mov r11d, edx
mov r10d, ecx
rol r8, 1
imul r10, r11
add rdx, rcx
lea r11, [rdx + r10*2]
mov rdx, qword [rax + 0x380]
mov r10, qword [rax + 0x280]
xor rdx, r11
mov esi, r10d
rol rdx, 0x20
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 + 0x48], r15
imul rdx, r11
lea r12, [r10 + rdx*2]
mov rdx, qword [rax + 0x188]
mov r10, qword [rax + 0x88]
xor rcx, r12
mov esi, r10d
mov r11d, edx
add r10, rdx
rol rcx, 1
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 + 0x38]
lea r8, [r8 + r9*2]
mov qword [rax + 0x288], r8
xor r8, rcx
mov ecx, edx
rol r8, 1
mov qword [rax + 0x180], r8
mov r8d, ebx
imul rcx, r8
add rbx, rdx
add rax, 0x10
lea r8, [rbx + rcx*2]
xor rsi, r8
mov ebx, r8d
mov rcx, rsi
mov rsi, qword [rsp + 0x28]
rol rcx, 0x20
mov r10d, esi
mov r9d, ecx
imul r9, r10
lea r10, [rcx + rsi]
lea r9, [r10 + r9*2]
xor rdx, r9
ror rdx, 0x18
mov r10d, edx
add r8, rdx
imul r10, rbx
lea r8, [r8 + r10*2]
xor rcx, r8
mov qword [rax + 0x70], r8
mov r8d, r9d
ror rcx, 0x10
mov r10d, ecx
mov qword [rax + 0x2f8], rcx
add rcx, r9
mov rdi, qword [rsp + 0x30]
imul r8, r10
mov r15, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x40]
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
lea rdx, [r11 + rdx*2]
xor r15, rdx
mov r10d, edx
mov r8, r15
rol r8, 0x20
mov ecx, r8d
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 + 0x20], rax
jne 0x14002b438
mov r12, qword [rbp + 0x20]
mov rax, qword [rsp + 0x450]
mov rbx, qword [rsp + 0x10]
mov r13, qword [rsp + 0x18]
mov qword [r12], rax
mov rax, qword [rsp + 0x848]
lea rdi, [r12 + 8]
and rdi, 0xfffffffffffffff8
mov rsi, rbx
mov qword [r12 + 0x3f8], rax
mov rax, r12
sub rax, rdi
sub rsi, rax
add eax, 0x400
shr eax, 3
mov ecx, eax
xor eax, eax
rep movsq qword [rdi], qword [rsi]
nop dword [rax + rax]
movdqu xmm0, xmmword [r12 + rax]
pxor xmm0, xmmword [r13 + rax]
movups xmmword [r12 + rax], xmm0
add rax, 0x10
cmp rax, 0x400
jne 0x14002b8a0
lea rsp, [rbp - 0x38]
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret