Function at 0x14006cc90
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x228
movaps xmmword [rsp + 0x210], xmm9
movaps xmmword [rsp + 0x200], xmm8
movaps xmmword [rsp + 0x1f0], xmm7
movaps xmmword [rsp + 0x1e0], xmm6
mov r13, rdx
mov rdi, rcx
movaps xmm0, xmmword [str._________._0123456789:____]
movaps xmmword [rsp + 0x50], xmm0
movaps xmm0, xmmword [0x1402024d0]
movaps xmmword [rsp + 0x60], xmm0
movabs rax, 0x8786858483828180
mov qword [rsp + 0x78], rax
lea r14, [rsp + 0x100]
mov r15d, 1
lea r12, [rsp + 0xc0]
xor esi, esi
mov dword [rsp + 0x3c], 0
jmp 0x14006cd4d
mov al, cl
mov ebx, dword [rsp + 0x3c]
or ebx, eax
lea rcx, [0x1402027c0]
mov rdx, r13
mov r8, r15
call sub.msvcrt.dll_memcmp
or eax, ebx
mov dword [rsp + 0x3c], eax
inc r15
cmp r15, 0x41
je 0x14006cf75
mov rbx, rsi
mov rcx, r13
xor edx, edx
mov r8, r15
call sub.msvcrt.dll_memset
movaps xmm0, xmmword [rsp + 0x50]
movaps xmm1, xmmword [rsp + 0x60]
movaps xmmword [rsp + 0xc0], xmm0
movaps xmmword [rsp + 0xd0], xmm1
mov eax, 0xffffffff
mov qword [rsp + 0xe0], rax
movabs rax, 0x8786858483828180
mov qword [rsp + 0xe8], rax
mov qword [rsp + 0xf0], 8
mov qword [rsp + 0xf8], 0
mov rcx, r12
mov rdx, rdi
mov r8, r13
mov r9, r15
call sym.rayan_330_4.14_x64.exe_chacha_update
mov rbp, qword [rsp + 0xf8]
test rbp, rbp
je 0x14006ce18
mov rsi, rax
add rsi, r13
mov rax, qword [0x140284200]
mov rax, qword [rax + 0x20]
mov rcx, r12
mov rdx, r14
test sil, 7
je 0x14006ce10
mov r8, r14
mov r9, rbp
call rax
mov rcx, rsi
mov rdx, r14
mov r8, rbp
call sub.msvcrt.dll_memcpy
jmp 0x14006ce18
mov r8, rsi
mov r9, rbp
call rax
lea rsi, [rbx + 1]
mov rax, qword [sub.msvcrt.dll_memset]
mov r8d, 0x80
mov rcx, r12
xor edx, edx
call rax
mov ecx, r15d
and ecx, 0x3f
xor eax, eax
cmp rbp, rcx
setne cl
test rdi, rdi
je 0x14006cd20
cmp rsi, 8
jb 0x14006ce69
lea rdx, [rdi + rbx]
inc rdx
cmp rdx, r13
jbe 0x14006ced9
lea rdx, [rbx + r13]
inc rdx
cmp rdx, rdi
jbe 0x14006ced9
xor edx, edx
sub rbx, rdx
test r15b, 3
je 0x14006ce92
mov r8d, r15d
and r8d, 3
nop dword [rax + rax]
movzx r9d, byte [rdi + rdx]
xor byte [r13 + rdx], r9b
inc rdx
dec r8
jne 0x14006ce80
cmp rbx, 3
jb 0x14006cd20
nop dword [rax]
movzx r8d, byte [rdi + rdx]
xor byte [r13 + rdx], r8b
movzx r8d, byte [rdi + rdx + 1]
xor byte [r13 + rdx + 1], r8b
movzx r8d, byte [rdi + rdx + 2]
xor byte [r13 + rdx + 2], r8b
movzx r8d, byte [rdi + rdx + 3]
xor byte [r13 + rdx + 3], r8b
add rdx, 4
cmp r15, rdx
jne 0x14006cea0
jmp 0x14006cd20
cmp rsi, 0x10
jae 0x14006cf20
xor edx, edx
mov r8, rdx
mov r9, r15
and r9, 0xfffffffffffffff8
mov rdx, rsi
and rdx, 0xfffffffffffffff8
nop word cs:[rax + rax]
mov r10, qword [rdi + r8]
xor qword [r13 + r8], r10
add r8, 8
cmp r9, r8
jne 0x14006cf00
cmp rsi, rdx
je 0x14006cd20
jmp 0x14006ce6b
mov r8, r15
and r8, 0xfffffffffffffff0
mov rdx, rsi
and rdx, 0xfffffffffffffff0
xor r9d, r9d
nop word cs:[rax + rax]
movups xmm0, xmmword [rdi + r9]
movups xmm1, xmmword [r13 + r9]
xorps xmm1, xmm0
movups xmmword [r13 + r9], xmm1
add r9, 0x10
cmp r8, r9
jne 0x14006cf40
cmp rsi, rdx
je 0x14006cd20
test sil, 8
jne 0x14006cee1
jmp 0x14006ce6b
mov r8d, 0x800
mov rcx, r13
xor edx, edx
call sub.msvcrt.dll_memset
movaps xmm0, xmmword [rsp + 0x50]
movaps xmm1, xmmword [rsp + 0x60]
movaps xmmword [rsp + 0xc0], xmm0
movaps xmmword [rsp + 0xd0], xmm1
mov eax, 0xffffffff
mov qword [rsp + 0xe0], rax
movabs rax, 0x8786858483828180
mov qword [rsp + 0xe8], rax
mov qword [rsp + 0xf0], 8
mov qword [rsp + 0xf8], 0
lea rcx, [rsp + 0xc0]
mov r9d, 0x800
mov rdx, rdi
mov r8, r13
call sym.rayan_330_4.14_x64.exe_chacha_update
mov rbx, qword [rsp + 0xf8]
test rbx, rbx
je 0x14006d049
mov rsi, rax
add rsi, r13
mov rax, qword [0x140284200]
mov rax, qword [rax + 0x20]
lea r14, [rsp + 0x100]
lea rcx, [rsp + 0xc0]
test sil, 7
je 0x14006d03e
mov rdx, r14
mov r8, r14
mov r9, rbx
call rax
mov rcx, rsi
mov rdx, r14
mov r8, rbx
call sub.msvcrt.dll_memcpy
jmp 0x14006d049
mov rdx, r14
mov r8, rsi
mov r9, rbx
call rax
mov rax, qword [sub.msvcrt.dll_memset]
lea rcx, [rsp + 0xc0]
mov r8d, 0x80
xor edx, edx
call rax
xorps xmm0, xmm0
movaps xmmword [rsp + 0xb0], xmm0
movaps xmmword [rsp + 0xa0], xmm0
movaps xmmword [rsp + 0x90], xmm0
movaps xmmword [rsp + 0x80], xmm0
mov eax, 0x30
xorps xmm1, xmm1
xorps xmm2, xmm2
xorps xmm3, xmm3
jmp 0x14006d0d0
movups xmm4, xmmword [r13 + rax - 0x30]
movups xmm5, xmmword [r13 + rax - 0x20]
movups xmm6, xmmword [r13 + rax - 0x10]
movups xmm7, xmmword [r13 + rax]
xorps xmm3, xmm4
xorps xmm2, xmm5
xorps xmm1, xmm6
xorps xmm0, xmm7
add rax, 0x40
cmp rax, 0x830
je 0x14006d11d
test rdi, rdi
je 0x14006d0a0
movups xmm4, xmmword [r13 + rax - 0x30]
movups xmm5, xmmword [r13 + rax - 0x20]
movups xmm6, xmmword [r13 + rax - 0x10]
movups xmm7, xmmword [r13 + rax]
movups xmm8, xmmword [rdi + rax - 0x30]
xorps xmm8, xmm4
movups xmm4, xmmword [rdi + rax - 0x20]
xorps xmm4, xmm5
movups xmm5, xmmword [rdi + rax - 0x10]
xorps xmm5, xmm6
movups xmm6, xmmword [rdi + rax]
xorps xmm6, xmm7
xorps xmm3, xmm8
xorps xmm2, xmm4
xorps xmm1, xmm5
xorps xmm0, xmm6
jmp 0x14006d0c4
mov qword [rsp + 0x180], rbx
movaps xmmword [rsp + 0x80], xmm3
movaps xmmword [rsp + 0x90], xmm2
movaps xmmword [rsp + 0xa0], xmm1
movaps xmmword [rsp + 0xb0], xmm0
lea rcx, [0x140202800]
lea rdx, [rsp + 0x80]
mov r8d, 0x40
call sub.msvcrt.dll_memcmp
mov dword [rsp + 0x48], eax
mov eax, 1
mov rbx, 0xffffffffffffffff
lea r12, [rsp + 0xc0]
xor r15d, r15d
mov qword [rsp + 0x188], r13
jmp 0x14006d1f3
movaps xmmword [rsp + 0x80], xmm3
movaps xmmword [rsp + 0x90], xmm2
movaps xmmword [rsp + 0xa0], xmm1
movaps xmmword [rsp + 0xb0], xmm0
xor esi, esi
test rbp, rbp
setne sil
mov r8d, 0x40
lea rcx, [0x140202800]
lea rdx, [rsp + 0x80]
call sub.msvcrt.dll_memcmp
or r15d, eax
or r15d, esi
mov rcx, qword [rsp + 0x40]
lea rax, [rcx + 0x3d]
add rbx, 0xffffffffffffffc3
cmp rcx, 0x7c3
jae 0x14006d411
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x4c], r15d
mov r8d, 0x800
mov rsi, r13
mov r13, rbx
mov rcx, rsi
xor edx, edx
call sub.msvcrt.dll_memset
movaps xmm0, xmmword [rsp + 0x50]
movaps xmm1, xmmword [rsp + 0x60]
movaps xmmword [rsp + 0xc0], xmm0
movaps xmmword [rsp + 0xd0], xmm1
mov eax, 0xffffffff
mov qword [rsp + 0xe0], rax
movabs rax, 0x8786858483828180
mov qword [rsp + 0xe8], rax
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0xf0], 8
mov qword [rsp + 0xf8], 0
mov r14, r12
xor r12d, r12d
mov rbx, rax
xor r15d, r15d
nop word cs:[rax + rax]
mov rbp, rsi
cmp rbx, 0x800
mov r9d, 0x800
cmovb r9, rbx
add r9, r12
lea rdx, [rdi + r15]
test rdi, rdi
cmove rdx, rdi
add r15, rax
mov rcx, r14
mov r8, rsi
call sym.rayan_330_4.14_x64.exe_chacha_update
mov rsi, rax
mov rax, qword [rsp + 0x40]
add rsi, rbp
add rbx, rax
add r12, r13
cmp r15, 0x801
jb 0x14006d280
mov rbx, r13
mov rbp, qword [rsp + 0xf8]
test rbp, rbp
mov r15d, dword [rsp + 0x4c]
mov r13, qword [rsp + 0x188]
mov r12, r14
je 0x14006d340
mov rax, qword [0x140284200]
mov rax, qword [rax + 0x20]
mov rcx, r12
test sil, 7
je 0x14006d330
mov r14, rdi
mov rdi, r12
lea r12, [rsp + 0x100]
mov rdx, r12
mov r8, r12
mov r9, rbp
call rax
mov rcx, rsi
mov rdx, r12
mov r12, rdi
mov rdi, r14
mov r8, rbp
call sub.msvcrt.dll_memcpy
jmp 0x14006d340
lea rdx, [rsp + 0x100]
mov r8, rsi
mov r9, rbp
call rax
mov rax, qword [sub.msvcrt.dll_memset]
mov r8d, 0x80
mov rcx, r12
xor edx, edx
call rax
xorps xmm0, xmm0
movaps xmmword [rsp + 0xb0], xmm0
movaps xmmword [rsp + 0xa0], xmm0
movaps xmmword [rsp + 0x90], xmm0
movaps xmmword [rsp + 0x80], xmm0
mov eax, 0x30
xorps xmm1, xmm1
xorps xmm2, xmm2
xorps xmm3, xmm3
jmp 0x14006d3c4
movups xmm4, xmmword [r13 + rax - 0x30]
movups xmm5, xmmword [r13 + rax - 0x20]
movups xmm6, xmmword [r13 + rax - 0x10]
movups xmm7, xmmword [r13 + rax]
xorps xmm3, xmm4
xorps xmm2, xmm5
xorps xmm1, xmm6
xorps xmm0, xmm7
add rax, 0x40
cmp rax, 0x830
je 0x14006d190
test rdi, rdi
je 0x14006d390
movups xmm4, xmmword [r13 + rax - 0x30]
movups xmm5, xmmword [r13 + rax - 0x20]
movups xmm6, xmmword [r13 + rax - 0x10]
movups xmm7, xmmword [r13 + rax]
movups xmm8, xmmword [rdi + rax - 0x30]
xorps xmm8, xmm4
movups xmm4, xmmword [rdi + rax - 0x20]
xorps xmm4, xmm5
movups xmm5, xmmword [rdi + rax - 0x10]
xorps xmm5, xmm6
movups xmm6, xmmword [rdi + rax]
xorps xmm6, xmm7
xorps xmm3, xmm8
xorps xmm2, xmm4
xorps xmm1, xmm5
xorps xmm0, xmm6
jmp 0x14006d3b4
xor ebx, ebx
cmp qword [rsp + 0x180], 0
setne bl
movaps xmm7, xmmword [0x1402024e0]
movaps xmmword [rsp + 0x80], xmm7
movaps xmm9, xmmword [0x1402024f0]
movaps xmmword [rsp + 0x90], xmm9
movaps xmm8, xmmword [0x140202500]
movaps xmmword [rsp + 0x190], xmm8
xorps xmm6, xmm6
movaps xmmword [rsp + 0x1c0], xmm6
movaps xmmword [rsp + 0x1d0], xmm6
mov rax, qword [0x140284200]
lea rcx, [rsp + 0x80]
lea rdx, [rsp + 0x190]
lea rsi, [rsp + 0x1c0]
mov r9d, 8
mov r8, rsi
call qword [rax + 0x28]
lea rcx, [0x140202720]
mov r8d, 0x20
mov rdx, rsi
call sub.msvcrt.dll_memcmp
mov ebp, dword [rsp + 0x48]
or ebp, eax
or ebp, ebx
or ebp, dword [rsp + 0x3c]
or ebp, r15d
mov eax, edi
or eax, r13d
test al, 7
jne 0x14006d74c
movaps xmmword [rsp + 0x50], xmm7
movaps xmmword [rsp + 0x60], xmm9
movabs rax, 0x1716151413121110
mov qword [rsp + 0x78], rax
movaps xmmword [rsp + 0x1a0], xmm8
movabs rax, 0x2726252423222120
mov qword [rsp + 0x1b0], rax
mov r8d, 0x800
mov rcx, r13
xor edx, edx
call sub.msvcrt.dll_memset
mov rax, qword [0x140284200]
mov qword [rsp + 0x28], 8
mov qword [rsp + 0x20], 0x800
lea rcx, [rsp + 0x50]
lea rdx, [rsp + 0x78]
mov r8, rdi
mov r9, r13
call qword [rax + 0x10]
movaps xmmword [rsp + 0xf0], xmm6
movaps xmmword [rsp + 0xe0], xmm6
movaps xmmword [rsp + 0xd0], xmm6
movaps xmmword [rsp + 0xc0], xmm6
mov eax, 0x30
xorps xmm0, xmm0
xorps xmm1, xmm1
xorps xmm2, xmm2
jmp 0x14006d590
movups xmm3, xmmword [r13 + rax - 0x30]
movups xmm4, xmmword [r13 + rax - 0x20]
movups xmm5, xmmword [r13 + rax - 0x10]
movups xmm7, xmmword [r13 + rax]
xorps xmm6, xmm3
xorps xmm2, xmm4
xorps xmm1, xmm5
xorps xmm0, xmm7
add rax, 0x40
cmp rax, 0x830
je 0x14006d5dd
test rdi, rdi
je 0x14006d560
movups xmm3, xmmword [r13 + rax - 0x30]
movups xmm4, xmmword [r13 + rax - 0x20]
movups xmm5, xmmword [r13 + rax - 0x10]
movups xmm7, xmmword [r13 + rax]
movups xmm8, xmmword [rdi + rax - 0x30]
xorps xmm8, xmm3
movups xmm3, xmmword [rdi + rax - 0x20]
xorps xmm3, xmm4
movups xmm4, xmmword [rdi + rax - 0x10]
xorps xmm4, xmm5
movups xmm5, xmmword [rdi + rax]
xorps xmm5, xmm7
xorps xmm6, xmm8
xorps xmm2, xmm3
xorps xmm1, xmm4
xorps xmm0, xmm5
jmp 0x14006d584
movaps xmmword [rsp + 0xc0], xmm6
movaps xmmword [rsp + 0xd0], xmm2
movaps xmmword [rsp + 0xe0], xmm1
movaps xmmword [rsp + 0xf0], xmm0
lea rcx, [0x140202740]
lea rdx, [rsp + 0xc0]
mov r8d, 0x40
call sub.msvcrt.dll_memcmp
mov ebx, eax
xor esi, esi
mov r8d, 0x800
mov rcx, r13
xor edx, edx
call sub.msvcrt.dll_memset
mov rax, qword [0x140284200]
mov qword [rsp + 0x28], 8
mov qword [rsp + 0x20], 0x800
lea rcx, [rsp + 0x50]
lea rdx, [rsp + 0x1a0]
mov r8, rdi
mov r9, r13
call qword [rax + 0x18]
xorps xmm0, xmm0
movaps xmmword [rsp + 0xf0], xmm0
movaps xmmword [rsp + 0xe0], xmm0
movaps xmmword [rsp + 0xd0], xmm0
movaps xmmword [rsp + 0xc0], xmm0
xorps xmm1, xmm1
xorps xmm2, xmm2
xorps xmm3, xmm3
jmp 0x14006d6c1
movups xmm4, xmmword [r13 + rsi]
movups xmm5, xmmword [r13 + rsi + 0x10]
movups xmm6, xmmword [r13 + rsi + 0x20]
movups xmm7, xmmword [r13 + rsi + 0x30]
xorps xmm3, xmm4
xorps xmm2, xmm5
xorps xmm1, xmm6
xorps xmm0, xmm7
add rsi, 0x40
cmp rsi, 0x800
je 0x14006d70e
test rdi, rdi
je 0x14006d690
movups xmm4, xmmword [r13 + rsi]
movups xmm5, xmmword [r13 + rsi + 0x10]
movups xmm6, xmmword [r13 + rsi + 0x20]
movups xmm7, xmmword [r13 + rsi + 0x30]
movups xmm8, xmmword [rdi + rsi]
xorps xmm8, xmm4
movups xmm4, xmmword [rdi + rsi + 0x10]
xorps xmm4, xmm5
movups xmm5, xmmword [rdi + rsi + 0x20]
xorps xmm5, xmm6
movups xmm6, xmmword [rdi + rsi + 0x30]
xorps xmm6, xmm7
xorps xmm3, xmm8
xorps xmm2, xmm4
xorps xmm1, xmm5
xorps xmm0, xmm6
jmp 0x14006d6b4
movaps xmmword [rsp + 0xc0], xmm3
movaps xmmword [rsp + 0xd0], xmm2
movaps xmmword [rsp + 0xe0], xmm1
movaps xmmword [rsp + 0xf0], xmm0
lea rcx, [0x140202780]
lea rdx, [rsp + 0xc0]
mov r8d, 0x40
call sub.msvcrt.dll_memcmp
or ebx, eax
or ebp, ebx
mov eax, ebp
movaps xmm6, xmmword [rsp + 0x1e0]
movaps xmm7, xmmword [rsp + 0x1f0]
movaps xmm8, xmmword [rsp + 0x200]
movaps xmm9, xmmword [rsp + 0x210]
add rsp, 0x228
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret