Function at 0x180001cc0
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x70
mov rax, qword [0x18003b3b8]
xor rax, rsp
mov qword [rsp + 0x60], rax
mov r14, qword [rsp + 0xd0]
mov rdi, rcx
mov r12, qword [rsp + 0xd8]
mov ecx, 1
mov dword [rdx], 0x6dc3
mov rbp, r9
mov edx, 0x6dc3
mov rsi, r8
call fcn.180005624
mov qword [rdi], rax
test rax, rax
je 0x1800020be
mov r8d, 0x6dc3
lea rdx, [0x18001c020]
mov rcx, rax
call fcn.180002fe0
mov rax, qword [rdi]
xor ebx, ebx
mov r8d, ebx
lea rcx, [rax + 0x6dc2]
cmp rax, rdi
ja 0x180001d46
cmp rcx, rdi
jae 0x180001dba
movdqa xmm2, xmmword [str.XXXXXXXXXXXXXXXX]
mov rcx, rbx
movdqu xmm0, xmmword [rcx + rax]
lea rcx, [rcx + 0x40]
add r8d, 0x40
movdqa xmm1, xmm2
pxor xmm1, xmm0
movdqu xmmword [rcx + rax - 0x40], xmm1
movdqa xmm1, xmm2
movdqu xmm0, xmmword [rcx + rax - 0x30]
pxor xmm1, xmm0
movdqu xmmword [rcx + rax - 0x30], xmm1
movdqa xmm1, xmm2
movdqu xmm0, xmmword [rcx + rax - 0x20]
pxor xmm1, xmm0
movdqu xmmword [rcx + rax - 0x20], xmm1
movdqa xmm1, xmm2
movdqu xmm0, xmmword [rcx + rax - 0x10]
pxor xmm1, xmm0
movdqu xmmword [rcx + rax - 0x10], xmm1
cmp r8d, 0x6dc0
jb 0x180001d51
cmp r8d, 0x6dc3
jae 0x180001dd9
movsxd r9, r8d
nop dword [rax]
mov rax, qword [rdi]
lea r9, [r9 + 1]
inc r8d
xor byte [rax + r9 - 1], 0x58
cmp r8d, 0x6dc3
jb 0x180001dc0
mov rcx, qword [rdi]
mov edx, 0x6dc3
call fcn.180001b40
mov r15, rax
test rax, rax
je 0x1800020be
mov edx, 0xabd2
mov dword [rbp], 0xabd2
mov ecx, 1
call fcn.180005624
mov qword [rsi], rax
test rax, rax
je 0x1800020be
mov r8d, 0xabd2
lea rdx, [0x180022df0]
mov rcx, rax
call fcn.180002fe0
mov rax, qword [rsi]
mov r8d, ebx
lea rcx, [rax + 0xabd1]
cmp rax, rsi
ja 0x180001e40
cmp rcx, rsi
jae 0x180001eb9
movdqa xmm2, xmmword [str.XXXXXXXXXXXXXXXX]
mov rcx, rbx
nop dword [rax + rax]
movdqu xmm0, xmmword [rcx + rax]
lea rcx, [rcx + 0x40]
add r8d, 0x40
movdqa xmm1, xmm2
pxor xmm1, xmm0
movdqu xmmword [rcx + rax - 0x40], xmm1
movdqa xmm1, xmm2
movdqu xmm0, xmmword [rcx + rax - 0x30]
pxor xmm1, xmm0
movdqu xmmword [rcx + rax - 0x30], xmm1
movdqa xmm1, xmm2
movdqu xmm0, xmmword [rcx + rax - 0x20]
pxor xmm1, xmm0
movdqu xmmword [rcx + rax - 0x20], xmm1
movdqa xmm1, xmm2
movdqu xmm0, xmmword [rcx + rax - 0x10]
pxor xmm1, xmm0
movdqu xmmword [rcx + rax - 0x10], xmm1
cmp r8d, 0xabc0
jb 0x180001e50
cmp r8d, 0xabd2
jae 0x180001ed9
movsxd r9, r8d
nop dword [rax]
mov rax, qword [rsi]
lea r9, [r9 + 1]
inc r8d
xor byte [rax + r9 - 1], 0x58
cmp r8d, 0xabd2
jb 0x180001ec0
mov rcx, qword [rsi]
mov edx, 0xabd2
call fcn.180001b40
mov rbp, rax
test rax, rax
je 0x1800020be
mov edx, 0xd9ad
mov dword [r12], 0xd9ad
mov ecx, 1
call fcn.180005624
mov qword [r14], rax
test rax, rax
je 0x1800020be
mov r8d, 0xd9ad
lea rdx, [0x18002d9d0]
mov rcx, rax
call fcn.180002fe0
mov rax, qword [r14]
mov r8d, ebx
lea rcx, [rax + 0xd9ac]
cmp rax, r14
ja 0x180001f41
cmp rcx, r14
jae 0x180001fb9
movdqa xmm2, xmmword [str.XXXXXXXXXXXXXXXX]
mov rcx, rbx
nop dword [rax]
movdqu xmm0, xmmword [rcx + rax]
lea rcx, [rcx + 0x40]
add r8d, 0x40
movdqa xmm1, xmm2
pxor xmm1, xmm0
movdqu xmmword [rcx + rax - 0x40], xmm1
movdqa xmm1, xmm2
movdqu xmm0, xmmword [rcx + rax - 0x30]
pxor xmm1, xmm0
movdqu xmmword [rcx + rax - 0x30], xmm1
movdqa xmm1, xmm2
movdqu xmm0, xmmword [rcx + rax - 0x20]
pxor xmm1, xmm0
movdqu xmmword [rcx + rax - 0x20], xmm1
movdqa xmm1, xmm2
movdqu xmm0, xmmword [rcx + rax - 0x10]
pxor xmm1, xmm0
movdqu xmmword [rcx + rax - 0x10], xmm1
cmp r8d, 0xd980
jb 0x180001f50
cmp r8d, 0xd9ad
jae 0x180001fd9
movsxd r9, r8d
nop dword [rax]
mov rax, qword [r14]
lea r9, [r9 + 1]
inc r8d
xor byte [r9 + rax - 1], 0x58
cmp r8d, 0xd9ad
jb 0x180001fc0
mov rcx, qword [r14]
mov edx, 0xd9ad
call fcn.180001b40
mov rsi, rax
test rax, rax
je 0x1800020be
xorps xmm0, xmm0
lea rdx, [0x18003b380]
mov r8d, 0x10
lea rcx, [rsp + 0x48]
movups xmmword [rsp + 0x48], xmm0
call fcn.180070520
movsx eax, byte [0x180022de3]
lea rdi, [rsp + 0x20]
movdqu xmm0, xmmword [rsp + 0x48]
movd xmm1, eax
xor eax, eax
punpcklbw xmm1, xmm1
punpcklwd xmm1, xmm1
pshufd xmm1, xmm1, 0
pxor xmm1, xmm0
mov byte [rsp + 0x40], al
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
movups xmmword [rsp + 0x30], xmm0
movdqu xmmword [0x18003b380], xmm1
nop dword [rax]
nop word [rax + rax]
movzx r8d, byte [rsp + rbx + 0x48]
lea rdx, str._02X
mov rcx, rdi
call fcn.1800020e0
movsxd rcx, eax
inc rbx
add rdi, rcx
cmp rbx, 0x10
jl 0x180002060
movups xmm0, xmmword [rsp + 0x20]
xor eax, eax
movups xmmword [r15], xmm0
movups xmm1, xmmword [rsp + 0x30]
movups xmmword [r15 + 0x10], xmm1
movups xmm0, xmmword [rsp + 0x20]
movups xmmword [rbp], xmm0
movups xmm1, xmmword [rsp + 0x30]
movups xmmword [rbp + 0x10], xmm1
movups xmm0, xmmword [rsp + 0x20]
movups xmmword [rsi], xmm0
movups xmm1, xmmword [rsp + 0x30]
movups xmmword [rsi + 0x10], xmm1
jmp 0x1800020c3
mov eax, 1
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.1800021e0
add rsp, 0x70
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret