Function at 0x14002ba20
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, 0x840
lea r13, [rsp + 0x40]
mov rdi, r13
mov qword [rsp], r13
mov rax, r13
rep movsq qword [rdi], qword [rsi]
lea rcx, [rsp + 0x440]
mov qword [rsp + 0x10], rcx
nop word [rax + rax]
movdqu xmm0, xmmword [rdx]
pxor xmm0, xmmword [rax]
add rax, 0x10
add rdx, 0x10
movups xmmword [rax - 0x10], xmm0
cmp rcx, rax
jne 0x14002ba70
mov rdi, qword [rsp + 0x10]
mov ecx, pe_nt_image_headers64
mov rsi, r13
mov r14, r13
rep movsq qword [rdi], qword [rsi]
mov qword [rbp + 0x20], r12
mov qword [rsp + 8], r13
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 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 + 0x18], rsi
rol rax, 1
mov r8d, ecx
mov qword [rsp + 0x20], rax
mov rax, qword [r14 + 8]
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
mov r10d, eax
rol rdx, 0x20
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 + 0x28], 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 + 0x30], 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 + 0x38], 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
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
mov rsi, qword [rsp + 0x18]
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 + 0x28]
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 ecx, esi
mov qword [r14 + 0x30], r8
sub r14, 0xffffffffffffff80
lea r8, [r11 + rdx*2]
xor rbx, r8
mov r11d, r8d
mov rdx, rbx
rol rdx, 0x20
mov r9d, edx
imul r9, rcx
lea rcx, [rdx + rsi]
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
add rcx, rdx
mov qword [r14 - 0x18], rdx
mov rdi, qword [rsp + 0x20]
imul r8, r9
mov rbx, qword [rsp + 0x30]
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, ebx
lea rcx, [r10 + rax*2]
mov rax, qword [rsp + 0x38]
mov r10d, ecx
xor rax, rcx
rol rax, 0x20
mov r8d, eax
imul r8, rdx
lea rdx, [rax + rbx]
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 + 0x10]
cmp r14, rax
jne 0x14002baa8
mov r13, qword [rsp + 8]
lea rax, [r13 + 0x80]
mov qword [rsp + 8], rax
mov rax, qword [rsp]
mov qword [rsp], r13
nop dword [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 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 + 0x18], rsi
rol rdx, 1
mov r10d, r8d
mov qword [rsp + 0x20], rdx
mov rdx, qword [rax + 8]
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
mov r11d, edx
rol rcx, 0x20
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 + 0x28], 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 + 0x30], 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 + 0x38], 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 + 0x28]
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 + 0x18]
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
add rcx, r9
mov rdi, qword [rsp + 0x20]
imul r8, r10
mov rbx, qword [rsp + 0x30]
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 + 0x38]
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 + 8], rax
jne 0x14002be80
mov r12, qword [rbp + 0x20]
mov rax, qword [rsp + 0x440]
mov r13, qword [rsp]
mov qword [r12], rax
mov rax, qword [rsp + 0x838]
lea rdi, [r12 + 8]
and rdi, 0xfffffffffffffff8
mov qword [r12 + 0x3f8], rax
mov rax, r12
mov rsi, qword [rsp + 0x10]
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 word [rax + rax]
movdqu xmm0, xmmword [r12 + rax]
pxor xmm0, xmmword [r13 + rax]
movups xmmword [r12 + rax], xmm0
add rax, 0x10
cmp rax, 0x400
jne 0x14002c2e0
lea rsp, [rbp - 0x38]
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret