Function at 0x14006faf0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x38
mov rdi, r9
mov r12, r8
mov rsi, rdx
mov r14, rcx
mov rbp, qword [rsp + 0xa0]
mov rax, qword [0x1404a7eb8]
xor rax, rsp
mov qword [rsp + 0x30], rax
cmp dword [rsp + 0xa8], 0
mov ebx, dword [rbp]
mov edx, dword [rbp + 4]
je 0x14006fba8
cmp r12, 8
jb 0x14006fb82
lea r15, [rsp + 0x28]
nop
xor ebx, dword [r14]
xor edx, dword [r14 + 4]
add r12d, 0xfffffff8
add r14, 8
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x2c], edx
mov rcx, r15
mov rdx, rdi
call fcn.14006fe10
mov ebx, dword [rsp + 0x28]
mov dword [rsi], ebx
mov edx, dword [rsp + 0x2c]
mov dword [rsi + 4], edx
add rsi, 8
cmp r12d, 7
ja 0x14006fb40
test r12d, r12d
je 0x14006fc7a
mov r9d, edx
mov eax, r12d
add rax, r14
xor ecx, ecx
dec r12d
lea rdx, [0x14039ce50]
movsxd r8, dword [rdx + r12*4]
add r8, rdx
jmp r8
xor edx, edx
jmp 0x14006fcf3
cmp r12, 8
jb 0x14006fc2a
nop
mov r15d, edx
add r12d, 0xfffffff8
mov r13d, dword [r14]
mov dword [rsp + 0x28], r13d
mov ebp, dword [r14 + 4]
add r14, 8
mov dword [rsp + 0x2c], ebp
lea rcx, [rsp + 0x28]
mov rdx, rdi
call fcn.1400700f0
mov edx, ebp
xor ebx, dword [rsp + 0x28]
mov ecx, r15d
xor ecx, dword [rsp + 0x2c]
mov byte [rsi], bl
mov byte [rsi + 1], bh
mov eax, ebx
shr eax, 0x10
mov byte [rsi + 2], al
shr ebx, 0x18
mov byte [rsi + 3], bl
mov ebx, r13d
mov byte [rsi + 4], cl
mov byte [rsi + 5], ch
mov eax, ecx
shr eax, 0x10
mov byte [rsi + 6], al
shr ecx, 0x18
mov byte [rsi + 7], cl
add rsi, 8
cmp r12d, 7
ja 0x14006fbb0
test r12d, r12d
mov rbp, qword [rsp + 0xa0]
je 0x14006fdbd
mov r15d, ebx
mov r13d, edx
mov ebx, dword [r14]
mov dword [rsp + 0x28], ebx
mov eax, dword [r14 + 4]
mov r14d, eax
mov dword [rsp + 0x2c], eax
lea rcx, [rsp + 0x28]
mov rdx, rdi
call fcn.1400700f0
xor r15d, dword [rsp + 0x28]
xor r13d, dword [rsp + 0x2c]
insb byte [rdi], dx
and al, 0x2c
insb byte [rdi], dx
and al, 0x2c
mov eax, r12d
add rax, rsi
dec r12d
lea rcx, [0x14039ce6c]
movsxd rdx, dword [rcx + r12*4]
add rdx, rcx
jmp rdx
mov edx, r14d
jmp 0x14006fdb9
mov eax, ebx
shr eax, 8
mov ecx, ebx
shr ecx, 0x10
mov r11d, edx
mov edx, ebx
shr edx, 0x18
mov r8d, r11d
mov r9d, r11d
shr r9d, 8
mov r10d, r11d
shr r10d, 0x10
jmp 0x14006fd42
xor edx, edx
jmp 0x14006fcd5
xor edx, edx
jmp 0x14006fce4
movzx ecx, byte [rax - 1]
dec rax
shl ecx, 0x10
movzx edx, byte [rax - 1]
dec rax
shl edx, 8
or ecx, edx
movzx edx, byte [rax - 1]
dec rax
or ecx, edx
mov edx, ecx
movzx ecx, byte [rax - 1]
dec rax
shl ecx, 0x18
movzx r8d, byte [rax - 1]
dec rax
shl r8d, 0x10
or ecx, r8d
movzx r8d, byte [rax - 1]
dec rax
shl r8d, 8
or ecx, r8d
xor edx, r9d
movzx eax, byte [rax - 1]
or eax, ecx
xor eax, ebx
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x2c], edx
lea rcx, [rsp + 0x28]
mov rdx, rdi
call fcn.14006fe10
mov ebx, dword [rsp + 0x28]
mov eax, ebx
shr eax, 8
mov ecx, ebx
shr ecx, 0x10
mov dword [rsi], ebx
mov edx, ebx
shr edx, 0x18
mov r8d, dword [rsp + 0x2c]
mov r9d, r8d
shr r9d, 8
mov r10d, r8d
shr r10d, 0x10
mov dword [rsi + 4], r8d
mov r11d, r8d
shr r11d, 0x18
mov byte [rbp], bl
mov byte [rbp + 1], al
mov byte [rbp + 2], cl
mov byte [rbp + 3], dl
mov byte [rbp + 4], r8b
mov byte [rbp + 5], r9b
add eax, 0x6558844
add eax, 0x6558844
mov edx, r11d
jmp 0x14006fde2
mov edx, r14d
mov ecx, r13d
jmp 0x14006fd92
mov edx, r14d
jmp 0x14006fda4
mov edx, r14d
jmp 0x14006fd98
mov edx, r14d
jmp 0x14006fdb0
mov ecx, r13d
shr ecx, 0x10
mov byte [rax - 1], cl
dec rax
mov ecx, r13d
mov byte [rax - 1], ch
dec rax
mov edx, r14d
mov byte [rax - 1], cl
dec rax
mov ecx, r15d
shr ecx, 0x18
mov byte [rax - 1], cl
dec rax
mov ecx, r15d
shr ecx, 0x10
mov byte [rax - 1], cl
dec rax
mov ecx, r15d
mov byte [rax - 1], ch
dec rax
mov byte [rax - 1], r15b
mov byte [rbp], bl
mov byte [rbp + 1], bh
mov eax, ebx
shr eax, 0x10
mov byte [rbp + 2], al
shr ebx, 0x18
mov byte [rbp + 3], bl
mov byte [rbp + 4], dl
mov byte [rbp + 5], dh
mov eax, edx
shr eax, 0x10
mov byte [rbp + 6], al
shr edx, 0x18
mov byte [rbp + 7], dl
mov rcx, qword [rsp + 0x30]
xor rcx, rsp
cmp rcx, qword [0x1404a7eb8]
jne 0x14006fe07
add rsp, 0x38
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
call fcn.14029fd30
int3
int 0xff
or dword [rdi], ebp
invalid
int 0xff
jmp [rsi]
invalid