Function at 0x1400fc450
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x18], r8
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x180
mov edi, r9d
mov r13, r8
mov r14d, edx
mov rbx, rcx
cmp r9d, 0xc8
jne 0x1400fc18c
lea r15d, [r9 - 0x40]
jmp 0x1400fc198
mov r15d, 0x64
sub r15d, r9d
add r15d, r15d
mov eax, r15d
lea rcx, [rsp + 0x20]
cdq
mov r8d, 0xc8
and edx, 7
add eax, edx
xor edx, edx
sar eax, 3
movsxd rsi, eax
call sub.VCRUNTIME140.dll_memset
xor r12d, r12d
mov rbp, rsi
cmp r14d, r15d
jl 0x1400fc2e1
lea rdi, [rsp + 0x20]
movsxd r13, r15d
sub rdi, rbx
mov rax, r12
test esi, esi
jle 0x1400fc291
cmp esi, 8
jb 0x1400fc291
lea ecx, [rsi - 1]
movsxd rdx, ecx
lea r8, [rsp + 0x20]
lea rcx, [rbx + rdx*8]
lea r8, [r8 + rdx*8]
lea rdx, [rsp + 0x20]
cmp rdx, rcx
ja 0x1400fc20d
cmp r8, rbx
jae 0x1400fc291
mov edx, esi
and edx, 0x80000007
jge 0x1400fc21e
dec edx
or edx, 0xfffffff8
inc edx
mov ecx, esi
sub ecx, edx
movsxd rdx, ecx
lea rcx, [rbx + 0x20]
nop dword [rax]
movdqu xmm0, xmmword [rcx + rdi - 0x20]
add rax, 8
movdqu xmm1, xmmword [rcx - 0x20]
lea rcx, [rcx + 0x40]
pxor xmm1, xmm0
movdqu xmmword [rcx + rdi - 0x60], xmm1
movdqu xmm0, xmmword [rcx + rdi - 0x50]
movdqu xmm1, xmmword [rcx - 0x50]
pxor xmm1, xmm0
movdqu xmmword [rcx + rdi - 0x50], xmm1
movdqu xmm0, xmmword [rcx + rdi - 0x40]
movdqu xmm1, xmmword [rcx - 0x40]
pxor xmm1, xmm0
movdqu xmmword [rcx + rdi - 0x40], xmm1
movdqu xmm0, xmmword [rcx + rdi - 0x30]
movdqu xmm1, xmmword [rcx - 0x30]
pxor xmm1, xmm0
movdqu xmmword [rcx + rdi - 0x30], xmm1
cmp rax, rdx
jl 0x1400fc230
cmp rax, rbp
jge 0x1400fc2b1
nop word [rax + rax]
mov rcx, qword [rbx + rax*8]
xor qword [rsp + rax*8 + 0x20], rcx
inc rax
cmp rax, rbp
jl 0x1400fc2a0
mov edx, 0x18
lea rcx, [rsp + 0x20]
call fcn.1400fc460
sub r14d, r15d
add rbx, r13
sub rdi, r13
cmp r14d, r15d
jge 0x1400fc1d3
mov edi, dword [rsp + 0x1d8]
mov r13, qword [rsp + 0x1d0]
test r14d, r14d
jle 0x1400fc2f9
movsxd r8, r14d
lea rcx, [rsp + 0xf0]
mov rdx, rbx
call sub.VCRUNTIME140.dll_memcpy
movsxd rax, r14d
lea rcx, [rsp + 0xf0]
inc r14d
xor edx, edx
mov byte [rsp + rax + 0xf0], 1
mov eax, r15d
sub eax, r14d
movsxd r8, eax
movsxd rax, r14d
add rcx, rax
call sub.VCRUNTIME140.dll_memset
movsxd rax, r15d
mov ecx, r12d
or byte [rsp + rax + 0xef], 0x80
test esi, esi
jle 0x1400fc3dc
cmp esi, 8
jb 0x1400fc3dc
mov eax, esi
and eax, 0x80000007
jge 0x1400fc354
dec eax
or eax, 0xfffffff8
inc eax
sub esi, eax
movsxd rax, esi
nop dword [rax]
movdqu xmm0, xmmword [rsp + r12*8 + 0x20]
add ecx, 8
movdqu xmm1, xmmword [rsp + r12*8 + 0xf0]
pxor xmm1, xmm0
movdqu xmmword [rsp + r12*8 + 0x20], xmm1
movdqu xmm0, xmmword [rsp + r12*8 + 0x30]
movdqu xmm1, xmmword [rsp + r12*8 + 0x100]
pxor xmm1, xmm0
movdqu xmmword [rsp + r12*8 + 0x30], xmm1
movdqu xmm0, xmmword [rsp + r12*8 + 0x40]
movdqu xmm1, xmmword [rsp + r12*8 + 0x110]
pxor xmm1, xmm0
movdqu xmmword [rsp + r12*8 + 0x40], xmm1
movdqu xmm0, xmmword [rsp + r12*8 + 0x50]
movdqu xmm1, xmmword [rsp + r12*8 + 0x120]
pxor xmm1, xmm0
movdqu xmmword [rsp + r12*8 + 0x50], xmm1
add r12, 8
cmp r12, rax
jl 0x1400fc360
movsxd rcx, ecx
cmp rcx, rbp
jge 0x1400fc405
nop dword [rax]
nop dword [rax + rax]
mov rax, qword [rsp + rcx*8 + 0xf0]
xor qword [rsp + rcx*8 + 0x20], rax
inc rcx
cmp rcx, rbp
jl 0x1400fc3f0
mov edx, 0x18
lea rcx, [rsp + 0x20]
call fcn.1400fc460
movsxd r8, edi
lea rdx, [rsp + 0x20]
mov rcx, r13
call sub.VCRUNTIME140.dll_memcpy
mov rbx, qword [rsp + 0x1c0]
xor eax, eax
add rsp, 0x180
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov r9d, 0xc8
jmp 0x1400fc150