Function at 0x14006ac20
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 [0x140264dd0]
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 0x14006acdd
mov al, cl
mov ebx, dword [rsp + 0x3c]
or ebx, eax
lea rcx, [0x1402650c0]
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 0x14006af05
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.anoun_316_v4.06.exe_chacha_update
mov rbp, qword [rsp + 0xf8]
test rbp, rbp
je 0x14006ada8
mov rsi, rax
add rsi, r13
mov rax, qword [0x1402d5c40]
mov rax, qword [rax + 0x20]
mov rcx, r12
mov rdx, r14
test sil, 7
je 0x14006ada0
mov r8, r14
mov r9, rbp
call rax
mov rcx, rsi
mov rdx, r14
mov r8, rbp
call sub.msvcrt.dll_memcpy
jmp 0x14006ada8
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 0x14006acb0
cmp rsi, 8
jb 0x14006adf9
lea rdx, [rdi + rbx]
inc rdx
cmp rdx, r13
jbe 0x14006ae69
lea rdx, [rbx + r13]
inc rdx
cmp rdx, rdi
jbe 0x14006ae69
xor edx, edx
sub rbx, rdx
test r15b, 3
je 0x14006ae22
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 0x14006ae10
cmp rbx, 3
jb 0x14006acb0
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 0x14006ae30
jmp 0x14006acb0
cmp rsi, 0x10
jae 0x14006aeb0
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 0x14006ae90
cmp rsi, rdx
je 0x14006acb0
jmp 0x14006adfb
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 0x14006aed0
cmp rsi, rdx
je 0x14006acb0
test sil, 8
jne 0x14006ae71
jmp 0x14006adfb
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.anoun_316_v4.06.exe_chacha_update
mov rbx, qword [rsp + 0xf8]
test rbx, rbx
je 0x14006afd9
mov rsi, rax
add rsi, r13
mov rax, qword [0x1402d5c40]
mov rax, qword [rax + 0x20]
lea r14, [rsp + 0x100]
lea rcx, [rsp + 0xc0]
test sil, 7
je 0x14006afce
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 0x14006afd9
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 0x14006b060
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 0x14006b0ad
test rdi, rdi
je 0x14006b030
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 0x14006b054
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, [0x140265100]
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 0x14006b183
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, [0x140265100]
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 0x14006b3a1
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.anoun_316_v4.06.exe_chacha_update
mov rsi, rax
mov rax, qword [rsp + 0x40]
add rsi, rbp
add rbx, rax
add r12, r13
cmp r15, 0x801
jb 0x14006b210
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 0x14006b2d0
mov rax, qword [0x1402d5c40]
mov rax, qword [rax + 0x20]
mov rcx, r12
test sil, 7
je 0x14006b2c0
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 0x14006b2d0
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 0x14006b354
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 0x14006b120
test rdi, rdi
je 0x14006b320
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 0x14006b344
xor ebx, ebx
cmp qword [rsp + 0x180], 0
setne bl
movaps xmm7, xmmword [0x140264de0]
movaps xmmword [rsp + 0x80], xmm7
movaps xmm9, xmmword [0x140264df0]
movaps xmmword [rsp + 0x90], xmm9
movaps xmm8, xmmword [0x140264e00]
movaps xmmword [rsp + 0x190], xmm8
xorps xmm6, xmm6
movaps xmmword [rsp + 0x1c0], xmm6
movaps xmmword [rsp + 0x1d0], xmm6
mov rax, qword [0x1402d5c40]
lea rcx, [rsp + 0x80]
lea rdx, [rsp + 0x190]
lea rsi, [rsp + 0x1c0]
mov r9d, 8
mov r8, rsi
call qword [rax + 0x28]
lea rcx, [0x140265020]
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 0x14006b6dc
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 [0x1402d5c40]
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 0x14006b520
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 0x14006b56d
test rdi, rdi
je 0x14006b4f0
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 0x14006b514
movaps xmmword [rsp + 0xc0], xmm6
movaps xmmword [rsp + 0xd0], xmm2
movaps xmmword [rsp + 0xe0], xmm1
movaps xmmword [rsp + 0xf0], xmm0
lea rcx, [0x140265040]
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 [0x1402d5c40]
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 0x14006b651
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 0x14006b69e
test rdi, rdi
je 0x14006b620
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 0x14006b644
movaps xmmword [rsp + 0xc0], xmm3
movaps xmmword [rsp + 0xd0], xmm2
movaps xmmword [rsp + 0xe0], xmm1
movaps xmmword [rsp + 0xf0], xmm0
lea rcx, [0x140265080]
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