Function at 0x1401a1c60
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x18], r8
mov qword [rax + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xc0
xor esi, esi
mov dword [rbp - 0x39], 0x8c80
mov r10d, r9d
mov rax, r8
mov rbx, rcx
mov edi, esi
mov r12d, esi
mov r13d, esi
cmp qword [rdx], rsi
je 0x1401a1ef2
mov r9, qword [rcx]
test r9, r9
je 0x1401a1ef2
test rax, rax
je 0x1401a1ef2
mov r15d, 0x80
cmp r10d, r15d
jne 0x1401a1ef2
mov rax, qword [0x1404524a8]
mov ecx, dword [rax]
sub r9, rcx
cmp dword [r9 + 8], esi
jne 0x1401a1cf6
cmp qword [r9], rsi
je 0x1401a1cf6
mov r15d, dword [rbx + 8]
add r15, qword [r9]
jne 0x1401a1d48
mov ebx, 0x8007000e
jmp 0x1401a1ef7
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdi, rax
test rax, rax
je 0x1401a1cec
movups xmm0, xmmword [rbx]
mov ebx, esi
mov rsi, rax
movdqu xmmword [rbp - 0x29], xmm0
mov r14d, dword [rbp - 0x21]
mov rcx, qword [rbp - 0x29]
lea edx, [r14 + rbx]
lea r8, [rbp - 0x59]
call fcn.14018f20c
inc ebx
mov cl, byte [rax]
xor cl, byte [rbp - 0x59]
mov byte [rsi], cl
inc rsi
cmp ebx, r15d
jb 0x1401a1d23
mov r15, rdi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov ebx, 0x2760
xor edx, edx
mov rcx, rax
mov r8d, ebx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rsi, rax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
xor edx, edx
mov r8d, 0x8c80
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r14, rax
test rsi, rsi
je 0x1401a1e3e
test rax, rax
je 0x1401a1e3e
mov rcx, qword [0x1404524a8]
and dword [rbp - 0x21], r12d
and dword [rbp - 0x11], r12d
mov qword [rbp - 0x19], rsi
mov edx, dword [rcx]
lea rcx, [rbp - 0x19]
add rcx, rdx
mov edx, ebx
mov qword [rbp - 0x29], rcx
lea rcx, [rbp - 0x49]
movaps xmm0, xmmword [rbp - 0x29]
movdqa xmmword [rbp - 0x49], xmm0
call fcn.140193e60
mov ebx, eax
test eax, eax
js 0x1401a1e48
lea rdx, [rbp - 0x39]
mov rcx, r14
call fcn.1401a1f38
mov ebx, eax
test eax, eax
js 0x1401a1e48
mov ecx, 0x614
call fcn.14018eec4
mov r12, rax
test rax, rax
jne 0x1401a1df5
mov ebx, 0x8007000e
jmp 0x1401a1e48
mov rdx, qword [rbp + 0x77]
lea rcx, [rbp - 9]
call fcn.1401b0b40
test eax, eax
je 0x1401a1dee
mov rax, qword [rbp + 0x6f]
lea r8, [rbp - 0x49]
mov qword [rsp + 0x30], r14
lea rdx, [rbp - 9]
mov qword [rsp + 0x28], rsi
lea r13, [rbp - 9]
mov r9, r15
mov rcx, r12
movups xmm0, xmmword [rax]
mov rax, qword [rbp + 0x77]
mov qword [rsp + 0x20], rax
movdqu xmmword [rbp - 0x49], xmm0
call fcn.14019e468
jmp 0x1401a1e48
mov ebx, 0x8007000e
test rax, rax
je 0x1401a1e91
mov rax, qword [0x1404524a8]
and dword [rbp - 0x41], 0
mov edx, dword [rbp - 0x39]
and dword [rbp - 0x21], 0
mov ecx, dword [rax]
lea rax, [rbp - 0x29]
add rax, rcx
mov qword [rbp - 0x29], r14
mov qword [rbp - 0x49], rax
lea rcx, [rbp - 0x49]
movaps xmm0, xmmword [rbp - 0x49]
movdqa xmmword [rbp - 0x49], xmm0
call fcn.140193e60
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r14
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
test rsi, rsi
je 0x1401a1ee1
mov rax, qword [0x1404524a8]
mov edx, 0x2760
and dword [rbp - 0x41], 0
and dword [rbp - 0x21], 0
mov qword [rbp - 0x29], rsi
mov ecx, dword [rax]
lea rax, [rbp - 0x29]
add rax, rcx
lea rcx, [rbp - 0x49]
mov qword [rbp - 0x49], rax
movaps xmm0, xmmword [rbp - 0x49]
movdqa xmmword [rbp - 0x49], xmm0
call fcn.140193e60
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rsi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r13, r13
je 0x1401a1ef7
mov rcx, qword [r13 + 8]
call qword [sym.imp.KERNEL32.dll_LocalFree]
jmp 0x1401a1ef7
mov ebx, 0x80070057
mov rcx, r12
call fcn.14018f10c
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov eax, ebx
mov rbx, qword [rsp + 0x100]
add rsp, 0xc0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret