Function at 0x14006d880
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x218
movaps xmmword [rsp + 0x200], xmm6
mov rax, qword [0x140186028]
xor rax, rsp
mov qword [rsp + 0x1f8], rax
test rdx, rdx
je 0x14006d9e1
mov rbx, r8
mov rsi, rdx
mov rdi, rcx
call fcn.14005b250
mov ebp, eax
movaps xmm6, xmmword [0x140157be0]
movaps xmmword [rsp + 0x1e0], xmm6
movaps xmmword [rsp + 0x1d0], xmm6
mov ecx, 1
call fcn.14006add0
bt eax, 0x1e
jae 0x14006dac5
xor ecx, ecx
call fcn.14006add0
bt eax, 0x1e
jae 0x14006dac5
lea rcx, [rsp + 0x1d0]
mov edx, 0x20
call fcn.140018950
test eax, eax
je 0x14006dac5
xor eax, eax
mov cl, byte [rbx + rax]
xor byte [rsp + rax + 0x1d0], cl
inc rax
cmp rax, 0x20
jne 0x14006d91e
lea rbx, [rsp + 0x98]
mov r8d, 0x138
mov rcx, rbx
mov dl, 0xaa
call fcn.14009e420
mov ecx, 1
call fcn.14004e0b0
test rax, rax
je 0x14006da0d
mov r14, rax
mov r13, rax
add r13, 0x128
cmp dword [rax + 0x128], 0xfff
ja 0x14006daf4
cmp qword [r14 + 0x120], 0xc0ffee
jne 0x14006daf4
cmp dword [r14 + 0x130], ebp
jne 0x14006daf4
mov r15d, 0x10000
cmp rsi, r15
cmovb r15, rsi
mov qword [rsp + 0x20], 0x20
lea r9, [rsp + 0x1d0]
mov rcx, r14
mov rdx, rdi
mov r8, r15
call fcn.1400707f0
test eax, eax
je 0x14006dbb6
inc dword [r13]
sub rsi, r15
jne 0x14006db69
cmp r14, rbx
je 0x14006dadd
mov rcx, qword [rsp + 0x1f8]
xor rcx, rsp
call fcn.14009c2d0
movaps xmm6, xmmword [rsp + 0x200]
add rsp, 0x218
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov ecx, 0x138
call fcn.14004e150
test rax, rax
je 0x14006db61
mov r14, rax
lea r8, [0x140070a10]
mov ecx, 1
mov rdx, rax
call fcn.14007c6b0
test eax, eax
je 0x14006db61
mov dword [r14 + 0x12c], 0
lea r15, [rsp + 0x60]
movaps xmmword [r15 + 0x20], xmm6
movaps xmmword [r15 + 0x10], xmm6
movaps xmmword [r15], xmm6
xorps xmm0, xmm0
lea r12, [rsp + 0x30]
movaps xmmword [r12 + 0x20], xmm0
movaps xmmword [r12 + 0x10], xmm0
movaps xmmword [r12], xmm0
mov edx, 0x30
mov rcx, r15
call fcn.14007c810
mov rcx, r14
mov rdx, r15
mov r8, r12
xor r9d, r9d
call fcn.1400705e0
test eax, eax
je 0x14006dbb6
lea r13, [r14 + 0x128]
mov dword [r14 + 0x128], 0
mov qword [r14 + 0x120], 0xc0ffee
mov dword [r14 + 0x130], ebp
jmp 0x14006d979
xorps xmm0, xmm0
movaps xmmword [rsp + 0x1e0], xmm0
movaps xmmword [rsp + 0x1d0], xmm0
jmp 0x14006d91c
lea rcx, [rsp + 0x98]
mov edx, 0x120
call fcn.14004e1f0
jmp 0x14006d9e1
lea r15, [rsp + 0x60]
movaps xmmword [r15 + 0x20], xmm6
movaps xmmword [r15 + 0x10], xmm6
movaps xmmword [r15], xmm6
xorps xmm0, xmm0
lea r12, [rsp + 0x30]
movaps xmmword [r12 + 0x20], xmm0
movaps xmmword [r12 + 0x10], xmm0
movaps xmmword [r12], xmm0
mov edx, 0x30
mov rcx, r15
call fcn.14007c810
mov rcx, r14
mov rdx, r15
mov r8, r12
xor r9d, r9d
call fcn.140119870
test eax, eax
je 0x14006dbb6
mov dword [r13], 0
mov qword [r14 + 0x120], 0xc0ffee
mov dword [r14 + 0x130], ebp
jmp 0x14006d997
mov r14, rbx
jmp 0x14006da3f
add rdi, r15
mov ebp, 0x10000
lea r15, [rsp + 0x1d0]
cmp rsi, rbp
mov r12d, 0x10000
cmovb r12, rsi
mov qword [rsp + 0x20], 0
mov rcx, r14
mov rdx, rdi
mov r8, r12
mov r9, r15
call fcn.1400707f0
test eax, eax
je 0x14006dbb6
add rdi, r12
inc dword [r13]
sub rsi, r12
je 0x14006d9d8
jmp 0x14006db79
call fcn.1400b0770
int3