Function at 0x1401c7c68
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
push rbp
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xe0
mov qword [rbp + 0x37], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
call fcn.1401c7b20
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov r8, rax
xor edx, edx
lea rcx, [rbp + 0x17]
call fcn.1401aec44
nop
lea r8, [fcn.1401c78cc]
xor edx, edx
lea rcx, [rbp - 9]
call fcn.1401aec44
nop
lea rax, [rbp - 9]
cmp qword [rbp + 0xf], 8
cmovae rax, qword [rbp - 9]
lea rcx, [rbp + 0x17]
cmp qword [rbp + 0x2f], 8
cmovae rcx, qword [rbp + 0x17]
xor r14d, r14d
mov rdx, qword [rbp + 0x27]
cmp rdx, qword [rbp + 7]
jne 0x1401c7d27
test rdx, rdx
je 0x1401c7ebb
movzx r8d, word [rcx]
movzx r9d, word [rax]
cmp r8w, r9w
jb 0x1401c7d27
sub rcx, rax
cmp r8w, r9w
ja 0x1401c7d27
cmp rdx, 1
je 0x1401c7ebb
dec rdx
add rax, 2
movzx r8d, word [rcx + rax]
movzx r9d, word [rax]
cmp r8w, r9w
jae 0x1401c7d05
mov dword [rbp - 0x79], 0x19
mov eax, 0x42
mov word [rbp - 0x75], ax
mov eax, 0x32
mov word [rbp - 0x73], ax
mov eax, 0x44
mov word [rbp - 0x71], ax
lea esi, [rax - 0xb]
mov word [rbp - 0x6f], si
lea eax, [rsi + 0x17]
mov word [rbp - 0x6d], ax
lea eax, [rsi + 5]
mov word [rbp - 0x6b], ax
lea eax, [rsi + 0x3b]
mov word [rbp - 0x69], ax
mov word [rbp - 0x67], si
lea edi, [rsi + 0x32]
mov word [rbp - 0x65], di
lea r15d, [rsi + 0x33]
mov word [rbp - 0x63], r15w
lea ecx, [rsi + 0x3e]
mov word [rbp - 0x61], cx
mov word [rbp - 0x5f], cx
lea ebx, [rsi + 0x37]
mov word [rbp - 0x5d], bx
mov word [rbp - 0x5b], cx
lea eax, [rsi + 0x45]
mov word [rbp - 0x59], ax
mov word [rbp - 0x57], si
lea r11d, [rsi + 0x3f]
mov word [rbp - 0x55], r11w
lea r9d, [rsi + 0x31]
mov word [rbp - 0x53], r9w
mov word [rbp - 0x51], si
mov word [rbp - 0x4f], r11w
mov word [rbp - 0x4d], cx
mov word [rbp - 0x4b], si
mov word [rbp - 0x49], bx
mov word [rbp - 0x47], cx
lea eax, [rsi + 0x3a]
mov word [rbp - 0x45], ax
lea r10d, [rsi + 0x43]
mov word [rbp - 0x43], r10w
lea r8d, [rsi + 0x41]
mov word [rbp - 0x41], r8w
lea eax, [rsi + 0x34]
mov word [rbp - 0x3f], ax
mov word [rbp - 0x3d], r10w
lea edx, [rsi + 0x44]
mov word [rbp - 0x3b], dx
mov word [rbp - 0x39], si
mov word [rbp - 0x37], r9w
lea eax, [rsi + 0x38]
mov word [rbp - 0x35], ax
mov word [rbp - 0x33], r10w
lea ecx, [rsi + 0x3c]
mov word [rbp - 0x31], cx
mov word [rbp - 0x2f], cx
mov word [rbp - 0x2d], r8w
lea eax, [rsi + 0x3d]
mov word [rbp - 0x2b], ax
mov word [rbp - 0x29], dx
mov word [rbp - 0x27], r10w
lea eax, [rsi - 3]
mov word [rbp - 0x25], ax
mov word [rbp - 0x23], cx
mov word [rbp - 0x21], bx
lea eax, [rsi + 0x42]
mov word [rbp - 0x1f], ax
mov word [rbp - 0x1d], di
mov word [rbp - 0x1b], r11w
mov word [rbp - 0x19], di
lea eax, [rsi + 0x27]
mov word [rbp - 0x17], ax
lea eax, [rsi - 1]
mov word [rbp - 0x15], ax
mov word [rbp - 0x13], si
lea eax, [rsi - 0x16]
mov word [rbp - 0x11], ax
lea eax, [rsi - 5]
mov word [rbp - 0xf], ax
lea eax, [rsi - 9]
mov word [rbp - 0xd], ax
xor eax, eax
mov word [rbp - 0xb], ax
movzx eax, word [rbp - 0x75]
mov rdx, r14
movzx eax, word [rbp + rdx*2 - 0x75]
mov ecx, dword [rbp - 0x79]
xor cx, ax
mov word [rbp + rdx*2 - 0x75], cx
inc rdx
cmp rdx, 0x35
jb 0x1401c7e7d
mov word [rbp - 0xb], r14w
lea rcx, [rbp - 0x75]
call fcn.1400acf00
nop
mov r8, r15
xor edx, edx
lea rcx, [rbp - 0x75]
call qword [sym.imp.VCRUNTIME140.dll_memset]
mov byte [0x1402cccc2], 1
lea rcx, [rbp - 9]
call fcn.1400ac668
nop
lea rcx, [rbp + 0x17]
call fcn.1400ac668
lea r11, [rsp + 0xe0]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov rsp, r11
pop r15
pop r14
pop rbp
ret