Function at 0x14013a940
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rdi
push r12
push r14
mov eax, pe_nt_image_headers64
call fcn.140244960
sub rsp, rax
mov rax, qword [0x140343618]
xor rax, rsp
mov qword [rsp + 0xf0], rax
mov rbp, qword [rcx + 0x70]
mov r12, r8
mov qword [rsp + 0x48], r9
mov r14, rdx
mov qword [rsp + 0x30], rcx
mov rdi, qword [rbp + 0xc8]
lea rax, [rdi + 0x10]
cmp r9, rax
je 0x14013a994
mov eax, 0xffffffff
jmp 0x14013ad6b
mov qword [rsp + 0x120], rbx
lea rax, [rsp + 0x50]
mov qword [rsp + 0x118], rsi
lea rdx, [0x14028ecc0]
neg rax
mov qword [rsp + 0x110], r13
mov qword [rsp + 0x108], r15
lea r13, [rbp + 0x20]
and eax, 0xf
mov qword [rsp + 0x20], r13
xor esi, esi
lea r15, [rsp + 0x50]
add r15, rax
mov dword [r13], esi
mov r9, rbp
mov rcx, r15
lea rax, [r15 + 0x30]
mov qword [rsp + 0x38], rax
lea rbx, [r15 + 0x40]
cmp rdi, 0x40
ja 0x14013abfb
mov eax, 0x80
mov r8d, eax
mov qword [rsp + 0x40], rax
call fcn.140194b30
mov rdx, r15
lea rcx, [rbp + 0xd0]
call fcn.140195100
movups xmm0, xmmword [rbp + 0x94]
mov rax, qword [rsp + 0x30]
mov dword [rbp + 0x70], esi
movups xmmword [r15 + 0x30], xmm0
mov qword [rbp + 0xa8], 0xd
mov qword [rbp + 0xb0], rdi
cmp dword [rax + 0x10], esi
je 0x14013aa7b
test rdi, rdi
je 0x14013abd0
mov rcx, r12
mov rdx, r14
sub rcx, rbx
mov rsi, rdi
sub rdx, rbx
nop
movzx eax, byte [rcx + rbx]
xor byte [rbx], al
movzx eax, byte [rbx]
mov byte [rdx + rbx], al
lea rbx, [rbx + 1]
sub rdi, 1
jne 0x14013aa60
jmp 0x14013abd0
test rdi, rdi
je 0x14013abd0
cmp rdi, 0x40
jb 0x14013ab91
lea rcx, [rdi - 1]
lea rdx, [r14 - 1]
add rcx, rbx
add rdx, rdi
cmp rbx, rdx
ja 0x14013aaaa
cmp rcx, r14
jae 0x14013ab91
lea rax, [r12 - 1]
add rax, rdi
cmp rbx, rax
ja 0x14013aac0
cmp rcx, r12
jae 0x14013ab91
cmp r14, rax
ja 0x14013aace
cmp rdx, r12
jae 0x14013ab91
mov r8, rdi
and r8, 0xffffffffffffffc0
mov rax, r12
lea rcx, [r15 + 0x50]
sub rax, rbx
mov r9, r12
sub r9, r14
mov rdx, r14
sub rdx, rbx
lea r10, [rax + 0x10]
lea r11, [rax + 0x20]
lea r13, [rax - 0x10]
nop word [rax + rax]
movdqu xmm0, xmmword [rcx - 0x10]
lea rax, [rcx + rdx]
add rsi, 0x40
movdqu xmm2, xmmword [rcx + r13]
movdqu xmm3, xmmword [r10 + rcx]
movdqu xmmword [rcx - 0x10], xmm2
lea rcx, [rcx + 0x40]
movdqa xmm1, xmm2
pxor xmm1, xmm0
movdqu xmm0, xmmword [rcx - 0x40]
movdqu xmm2, xmmword [rax + r9]
movdqu xmmword [rdx + rcx - 0x50], xmm1
movdqa xmm1, xmm2
pxor xmm1, xmm0
movdqu xmmword [rcx - 0x40], xmm2
movdqu xmm0, xmmword [rcx - 0x30]
movdqu xmm2, xmmword [r11 + rcx - 0x40]
movdqu xmmword [rax], xmm1
movdqa xmm1, xmm3
pxor xmm1, xmm0
movdqu xmmword [rdx + rcx - 0x30], xmm1
movdqa xmm1, xmm2
movdqu xmmword [rcx - 0x30], xmm3
movdqu xmm0, xmmword [rcx - 0x20]
movdqu xmmword [rcx - 0x20], xmm2
pxor xmm1, xmm0
movdqu xmmword [rdx + rcx - 0x20], xmm1
cmp rsi, r8
jb 0x14013ab00
cmp rsi, rdi
jae 0x14013abd0
lea r8, [r15 + 0x40]
mov r10, r12
add r8, rsi
mov r11, r14
sub r10, r14
sub r11, rbx
mov r9, rdi
sub r9, rsi
mov rsi, rdi
nop dword [rax]
lea rcx, [r8 + r11]
movzx edx, byte [rcx + r10]
lea r8, [r8 + 1]
movzx eax, dl
xor al, byte [r8 - 1]
mov byte [r8 - 1], dl
mov byte [rcx], al
sub r9, 1
jne 0x14013abb0
mov rbx, rsi
lea rcx, [r15 + 0x40]
neg rbx
add rcx, rsi
and ebx, 0xf
xor edx, edx
mov r8d, ebx
call fcn.140246a40
lea rax, [rbx + rsi]
lea r8, [rax + 0x20]
lea rcx, [rax + r15]
jmp 0x14013acd6
mov eax, 0x40
mov r8d, eax
mov qword [rsp + 0x40], rax
call fcn.140194b30
mov rdx, r15
lea rcx, [rbp + 0xd0]
call fcn.140195100
mov r8d, 0x10
mov dword [r13], 1
lea rdx, [rbp + 0x94]
mov dword [rbp + 0x70], esi
lea rcx, [rbp + 0xd0]
call fcn.140195260
mov rax, qword [rsp + 0x30]
mov r8, rdi
mov qword [rbp + 0xa8], 0xd
mov rdx, r12
mov qword [rbp + 0xb0], rdi
mov qword [rsp + 0x38], rbx
cmp dword [rax + 0x10], esi
je 0x14013ac8b
mov r9, rbp
mov qword [rsp + 0x20], r13
mov rcx, r14
call fcn.140194b30
mov r8, rdi
lea rcx, [rbp + 0xd0]
mov rdx, r14
call fcn.140195260
jmp 0x14013acad
lea rcx, [rbp + 0xd0]
call fcn.140195260
mov r9, rbp
mov qword [rsp + 0x20], r13
mov r8, rdi
mov rdx, r12
mov rcx, r14
call fcn.140194b30
mov r8, rdi
lea rdx, [0x14028ecc0]
neg r8
lea rcx, [rbp + 0xd0]
and r8d, 0xf
call fcn.140195260
mov r8d, 0x10
mov rcx, r15
mov rsi, rdi
movups xmm0, xmmword [rbp + 0xa8]
lea rbx, [r14 + rsi]
add r12, rsi
mov r14, qword [rsp + 0x38]
movups xmmword [rcx + 0x40], xmm0
lea rcx, [rbp + 0xd0]
mov rdx, r14
call fcn.140195260
mov rdx, qword [rsp + 0x40]
mov rcx, r15
call fcn.140150430
mov r15, qword [rsp + 0x30]
lea rdx, [rbp + 0x84]
lea rcx, [rbp + 0xd0]
cmp dword [r15 + 0x10], 0
cmove rdx, r14
call fcn.140195070
mov r13, qword [rsp + 0x110]
mov qword [rbp + 0xc8], 0xffffffffffffffff
cmp dword [r15 + 0x10], 0
mov r15, qword [rsp + 0x108]
je 0x14013ad89
movups xmm0, xmmword [rbp + 0x84]
movups xmmword [rbx], xmm0
mov rax, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x120]
mov rsi, qword [rsp + 0x118]
mov rcx, qword [rsp + 0xf0]
xor rcx, rsp
call fcn.140243d80
add rsp, 0x128
pop r14
pop r12
pop rdi
pop rbp
ret
mov r8d, 0x10
mov rdx, r12
mov rcx, r14
call fcn.140151930
test eax, eax
je 0x14013ad56
mov rax, qword [rsp + 0x48]
xor edx, edx
sub rbx, rax
lea r8, [rax - 0x10]
lea rcx, [rbx + 0x10]
call fcn.140246a40
mov eax, 0xffffffff
jmp 0x14013ad5b