Function at 0x140006c10
Capabilities:
Encode data using xor

Disassembly:
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x2e8
lea rdi, [rsp + 0xd0]
mov r12, rcx
mov rbp, rdx
mov rcx, rdi
xor edx, edx
mov rsi, r8
mov r8d, 0x208
call sub.msvcrt.dll_memset
mov rax, qword [0x14038e7d0]
lea rcx, [0x14038c420]
mov qword [rsp + 0x40], rax
mov eax, dword [0x14038e7d8]
mov dword [rsp + 0x48], eax
call fcn.1400098b0
lea rcx, [0x14038c400]
mov r13, rax
call fcn.1400098b0
cmp byte [r13], 0
mov rbx, rax
jne 0x140006ca5
mov byte [rax + 0xc], 1
mov rax, qword [rsp + 0x40]
xor r8d, r8d
mov rdx, rbx
lea rcx, [0x14000eef0]
mov qword [rbx], rax
mov eax, dword [rsp + 0x48]
mov dword [rbx + 8], eax
mov byte [r13], 1
call fcn.140008ff0
cmp byte [rbx + 0xc], 0
je 0x140006cc3
movabs rax, 0x81a1a1d5d57373c5
mov byte [rbx + 0xc], 0
xor qword [rbx], rax
xor dword [rbx + 8], 0xc7bfbf81
mov rdx, rsi
mov r8, rbx
mov rcx, rdi
call fcn.1400071f0
mov rcx, rsi
call fcn.140007440
lea rsi, [rsp + 0x40]
mov r8d, 0x8c
lea rdx, str.8w_Mm_v_
mov rcx, rsi
call sub.msvcrt.dll_memcpy
lea rcx, [0x14038c460]
call fcn.1400098b0
lea rcx, [0x14038c440]
cmp byte [rax], 0
mov r13, rax
je 0x140006db0
call fcn.1400098b0
mov rbx, rax
cmp byte [rbx + 0x8c], 0
je 0x140006d55
movabs r8, 0xbb2103bf0b4d771d
xor eax, eax
nop
mov rcx, rax
mov rdx, r8
and ecx, 7
shl rcx, 3
shr rdx, cl
xor word [rbx + rax*2], dx
add rax, 1
cmp rax, 0x46
jne 0x140006d30
mov byte [rbx + 0x8c], 0
mov r9, rbx
mov r8, rbp
mov rdx, r12
mov qword [rsp + 0x28], rdi
mov ecx, 1
mov qword [rsp + 0x20], rbp
call fcn.140006b50
lea rdx, [rsp + 0x3c]
mov rcx, rdi
call fcn.1400076a0
mov rcx, rdi
mov rbx, rax
call fcn.140007960
xor eax, eax
test rbx, rbx
je 0x140006d9b
mov r8d, dword [rsp + 0x3c]
test r8d, r8d
jne 0x140006dec
add rsp, 0x2e8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
ret
call fcn.1400098b0
mov rdx, rsi
mov r8d, 0x8c
mov rbx, rax
mov rcx, rax
mov byte [rax + 0x8c], 1
call sub.msvcrt.dll_memcpy
mov byte [r13], 1
xor r8d, r8d
mov rdx, rbx
lea rcx, [0x14000ef10]
call fcn.140008ff0
jmp 0x140006d1a
mov rax, qword [0x14038e7e0]
mov ecx, 0xffff9719
mov word [rsp + 0x4c], cx
lea rcx, [0x14038c4a0]
mov qword [rsp + 0x40], rax
mov eax, dword [0x14038e7e8]
mov dword [rsp + 0x48], eax
call fcn.1400098b0
lea rcx, [0x14038c480]
mov rbp, rax
call fcn.1400098b0
cmp byte [rbp], 0
mov rdi, rax
jne 0x140006e5b
mov byte [rax + 0xe], 1
mov rax, qword [rsp + 0x40]
xor r8d, r8d
mov rdx, rdi
lea rcx, [0x14000ef20]
mov qword [rdi], rax
mov rax, qword [rsp + 0x46]
mov qword [rdi + 6], rax
mov byte [rbp], 1
call fcn.140008ff0
cmp byte [rdi + 0xe], 0
je 0x140006e7f
movabs rax, 0xd90d0d7f7fe7e737
mov byte [rdi + 0xe], 0
xor qword [rdi], rax
xor dword [rdi + 8], 0x194141d9
xor word [rdi + 0xc], 0x9719
mov rdx, rdi
mov rcx, rbx
call sub.msvcrt.dll_wcsstr
test rax, rax
je 0x140006ea4
mov eax, 1
add rsp, 0x2e8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
ret
mov rax, qword [0x14038e7f0]
mov edx, 0xffffc77f
lea rcx, [0x14038c4e0]
mov word [rsp + 0x4c], dx
mov qword [rsp + 0x40], rax
mov eax, dword [0x14038e7f8]
mov dword [rsp + 0x48], eax
call fcn.1400098b0
lea rcx, [0x14038c4c0]
mov rbp, rax
call fcn.1400098b0
cmp byte [rbp], 0
mov rdi, rax
jne 0x140006f13
mov byte [rax + 0xe], 1
mov rax, qword [rsp + 0x40]
xor r8d, r8d
mov rdx, rdi
lea rcx, [0x14000ef30]
mov qword [rdi], rax
mov rax, qword [rsp + 0x46]
mov qword [rdi + 6], rax
mov byte [rbp], 1
call fcn.140008ff0
cmp byte [rdi + 0xe], 0
je 0x140006f37
movabs rax, 0x236b6badad474799
mov byte [rdi + 0xe], 0
xor qword [rdi], rax
xor dword [rdi + 8], 0x7f777723
xor word [rdi + 0xc], 0xc77f
mov rdx, rdi
mov rcx, rbx
call sub.msvcrt.dll_wcsstr
test rax, rax
jne 0x140006e8f
lea rcx, [0x14038c520]
call fcn.1400098b0
lea rcx, [0x14038c500]
mov rbp, rax
call fcn.1400098b0
cmp byte [rbp], 0
mov rdi, rax
jne 0x140006f96
mov byte [rax + 8], 1
xor r8d, r8d
movabs rax, 0x45f9f9d591763bc6
mov rdx, rdi
mov qword [rdi], rax
lea rcx, [0x14000ee80]
mov byte [rbp], 1
call fcn.140008ff0
cmp byte [rdi + 8], 0
je 0x140006fb4
movq xmm0, qword [rdi]
mov byte [rdi + 8], 0
movq xmm1, qword [0x14038e800]
pxor xmm0, xmm1
movq qword [rdi], xmm0
mov rdx, rdi
mov rcx, rbx
call sub.msvcrt.dll_wcsstr
test rax, rax
jne 0x140006e8f
lea rcx, [0x14038c560]
call fcn.1400098b0
lea rcx, [0x14038c540]
mov rbp, rax
call fcn.1400098b0
cmp byte [rbp], 0
mov rdi, rax
jne 0x140007013
mov byte [rax + 8], 1
xor r8d, r8d
movabs rax, 0xafabab6c053f6b9c
mov rdx, rdi
mov qword [rdi], rax
lea rcx, [0x14000eeb0]
mov byte [rbp], 1
call fcn.140008ff0
cmp byte [rdi + 8], 0
je 0x140007031
movq xmm0, qword [rdi]
mov byte [rdi + 8], 0
movq xmm1, qword [0x14038e808]
pxor xmm0, xmm1
movq qword [rdi], xmm0
mov rdx, rdi
mov rcx, rbx
call sub.msvcrt.dll_wcsstr
test rax, rax
jne 0x140006e8f
mov rax, qword [0x14038e830]
lea rcx, [0x14038c5a0]
movdqa xmm0, xmmword [0x14038e810]
movaps xmmword [rsp + 0x40], xmm0
movdqa xmm0, xmmword [0x14038e820]
mov qword [rsp + 0x60], rax
mov eax, dword [0x14038e838]
movaps xmmword [rsp + 0x50], xmm0
mov dword [rsp + 0x68], eax
mov eax, 0xffff8707
mov word [rsp + 0x6c], ax
call fcn.1400098b0
lea rcx, [0x14038c580]
mov r12, rax
call fcn.1400098b0
cmp byte [r12], 0
mov rbp, rax
jne 0x1400070c9
mov byte [rax + 0x2e], 1
mov ecx, 0x2e
mov rdi, rax
xor r8d, r8d
rep movsb byte [rdi], byte [rsi]
mov rdx, rax
mov byte [r12], 1
lea rcx, [0x14000ee10]
call fcn.140008ff0
cmp byte [rbp + 0x2e], 0
je 0x1400070fe
movabs rdx, 0x8707dd23b1c9b5ef
xor eax, eax
mov rcx, rax
mov rsi, rdx
and ecx, 7
shl rcx, 3
shr rsi, cl
xor word [rbp + rax*2], si
add rax, 1
cmp rax, 0x17
jne 0x1400070db
mov byte [rbp + 0x2e], 0
mov rdx, rbp
mov rcx, rbx
call sub.msvcrt.dll_wcsstr
test rax, rax
setne al
jmp 0x140006d9b