Function at 0x140006640
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
lea rbp, [rsp - 0xf80]
mov eax, 0x1080
call fcn.14005a820
sub rsp, rax
mov rax, qword [0x1400af010]
xor rax, rsp
mov qword [rbp + 0xf70], rax
mov qword [rsp + 0x60], rcx
mov rsi, rcx
mov ebx, edx
xor edi, edi
mov rdx, qword [0x1400ea218]
mov ecx, ebx
sar ecx, 0x10
shl ecx, 3
mov qword [rsp + 0x60], rdi
mov eax, dword [rdx + 8]
mov dword [rsp + 0x38], eax
mov rax, qword [rdx + 0x10]
mov qword [rsp + 0x48], rax
mov rax, qword [rdx + 0x18]
add rax, 0xf33b490
mov dword [rsp + 0x3c], edi
add rcx, rax
mov qword [rsp + 0x58], 8
lea rax, [rsp + 0x60]
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x50], rax
lea rcx, [rsp + 0x28]
lea rax, [rsp + 0x38]
mov dword [rsp + 0x28], 5
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x2c], 2
call qword [rdx]
mov rax, qword [rsp + 0x60]
mov rdx, qword [0x1400ea218]
movzx ecx, bx
mov word [rsp + 0x60], di
mov dword [rsp + 0x3c], edi
mov qword [rsp + 0x58], 2
lea r13, [rax + rcx*2]
mov dword [rsp + 0x28], 5
mov eax, dword [rdx + 8]
lea rcx, [rsp + 0x28]
mov dword [rsp + 0x38], eax
mov rax, qword [rdx + 0x10]
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0x60]
mov qword [rsp + 0x50], rax
lea rax, [rsp + 0x38]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x40], r13
mov dword [rsp + 0x2c], 2
call qword [rdx]
movzx r12d, word [rsp + 0x60]
shr r12d, 6
test r12d, r12d
je 0x140006993
mov qword [rsp + 0x10d0], r15
mov r14d, edi
mov r15d, r12d
mov ebx, edi
nop dword [rax]
nop word [rax + rax]
mov rdx, qword [0x1400ea218]
mov ecx, r14d
add rcx, 2
mov byte [rsp + 0x60], dil
add rcx, r13
mov dword [rsp + 0x3c], edi
mov eax, dword [rdx + 8]
mov dword [rsp + 0x38], eax
mov rax, qword [rdx + 0x10]
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0x60]
mov qword [rsp + 0x50], rax
lea rax, [rsp + 0x38]
mov qword [rsp + 0x40], rcx
lea rcx, [rsp + 0x28]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x58], 1
mov dword [rsp + 0x28], 5
mov dword [rsp + 0x2c], 2
call qword [rdx]
movzx eax, byte [rsp + 0x60]
inc r14d
mov byte [rsp + rbx + 0x70], al
inc rbx
cmp rbx, r15
jl 0x140006780
mov rdx, qword [0x1400ea218]
lea rcx, [rsp + 0x28]
lea rbx, [rsp + 0x70]
mov dword [rsp + 0x60], edi
mov dword [rsp + 0x3c], edi
mov qword [rsp + 0x58], 4
mov eax, dword [rdx + 8]
mov dword [rsp + 0x38], eax
mov rax, qword [rdx + 0x10]
mov qword [rsp + 0x48], rax
mov rax, qword [rdx + 0x18]
add rax, 0xf2655bc
mov dword [rsp + 0x28], 5
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x60]
mov qword [rsp + 0x50], rax
lea rax, [rsp + 0x38]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x2c], 2
call qword [rdx]
mov r9d, dword [rsp + 0x60]
mov eax, 0x3e0f83e1
mul r9d
mov r8d, r9d
mov ecx, edi
shr edx, 3
xor r8d, 0x9c677cc5
imul eax, edx, 0x21
sub r9d, eax
lea eax, [rcx + r9]
inc ecx
add r8d, eax
xor byte [rbx], r8b
lea rbx, [rbx + 1]
cmp ecx, r12d
jl 0x140006880
mov r15, qword [rsp + 0x10d0]
lea rax, [rsp + 0x70]
xorps xmm0, xmm0
mov byte [rsp + r12 + 0x70], dil
movups xmmword [rsi], xmm0
mov rdx, 0xffffffffffffffff
mov qword [rsi + 0x10], rdi
mov qword [rsi + 0x18], rdi
mov rbx, rdx
nop
inc rbx
cmp byte [rax + rbx], dil
jne 0x1400068c0
movabs r14, 0x7fffffffffffffff
cmp rbx, r14
ja 0x140006a7a
mov qword [rsi + 0x18], 0xf
cmp rbx, 0x10
jae 0x140006907
mov r8, rbx
mov qword [rsi + 0x10], rbx
lea rdx, [rsp + 0x70]
mov rcx, rsi
call sub.VCRUNTIME140.dll_memcpy
mov byte [rsi + rbx], dil
jmp 0x140006a50
mov rax, rbx
or rax, 0xf
cmp rax, r14
ja 0x140006922
mov ecx, 0x16
mov r14, rax
cmp rax, rcx
cmovb r14, rcx
mov rcx, r14
add rcx, 1
cmovb rcx, rdx
cmp rcx, 0x1000
jb 0x140006962
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140006a74
mov rcx, rax
call fcn.1400599e8
test rax, rax
je 0x140006a14
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x14000696f
test rcx, rcx
je 0x14000696f
call fcn.1400599e8
mov rdi, rax
mov r8, rbx
mov qword [rsi], rdi
lea rdx, [rsp + 0x70]
mov qword [rsi + 0x10], rbx
mov rcx, rdi
mov qword [rsi + 0x18], r14
call sub.VCRUNTIME140.dll_memcpy
mov byte [rdi + rbx], 0
jmp 0x140006a50
xorps xmm0, xmm0
movabs r14, 0x7fffffffffffffff
movups xmmword [rsi], xmm0
mov qword [rsi + 0x10], rdi
mov rax, r14
mov qword [rsi + 0x18], 0xf
mov rdx, qword [rsi + 0x18]
mov rcx, rdx
shr rcx, 1
sub rax, rcx
cmp rdx, rax
ja 0x1400069d5
lea rax, [rcx + rdx]
mov r14d, 0x1f
cmp rax, r14
cmova r14, rax
mov rcx, r14
mov rdx, 0xffffffffffffffff
add rcx, 1
cmovb rcx, rdx
cmp rcx, 0x1000
jb 0x140006a1b
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140006a74
mov rcx, rax
call fcn.1400599e8
test rax, rax
je 0x140006a14
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x140006a28
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
test rcx, rcx
je 0x140006a28
call fcn.1400599e8
mov rdi, rax
mov qword [rsi], rdi
mov qword [rsi + 0x10], 0x12
mov qword [rsi + 0x18], r14
movups xmm0, xmmword [str.Error_Decrypt_Ansi]
movups xmmword [rdi], xmm0
movzx eax, word [0x1400a2748]
mov word [rdi + 0x10], ax
mov byte [rdi + 0x12], 0
mov rax, rsi
mov rcx, qword [rbp + 0xf70]
xor rcx, rsp
call fcn.140059730
add rsp, 0x1080
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.140001320
int3
call fcn.1400013c0
int3