Function at 0x1401a2500
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x48
lea rbp, [rsp + 0x40]
movaps xmmword [rbp - 0x10], xmm6
mov qword [rbp - 0x18], 0xfffffffffffffffe
mov r14, rcx
mov byte [rcx], 0
lea rbx, [rcx + 0x158]
mov rdi, qword [rcx + 0x158]
test rdi, rdi
je 0x1401a25c4
mov rsi, qword [r14 + 0x160]
cmp rdi, rsi
je 0x1401a256a
nop word [rax + rax]
mov rax, qword [rdi]
mov rax, qword [rax]
mov rcx, rdi
xor edx, edx
call qword [case.0x14016c073.0]
add rdi, 0x28
cmp rdi, rsi
jne 0x1401a2550
mov rcx, qword [r14 + 0x158]
mov rdx, qword [r14 + 0x168]
sub rdx, rcx
cmp rdx, 0x1000
jb 0x1401a25b1
mov rax, qword [rcx - 8]
mov r8, rcx
xor r8, 0xfffffffffffffff8
mov r9, rcx
xor r9, 7
and r9, rcx
lea rcx, [r8 + r9*2]
sub rcx, rax
cmp rcx, 0x20
jae 0x1401a28eb
add rdx, 0x27
mov rcx, rax
call fcn.1400a8b80
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], 0
mov qword [rbp - 0x20], r14
add r14, 0xb0
movabs r12, 0x3c89e364b13eba82
movabs rsi, 0x2ca365a776c96b9d
xorps xmm6, xmm6
jmp 0x1401a2614
add rdx, 0x27
mov rcx, rax
call fcn.1400a8b80
movups xmmword [r15], xmm6
mov qword [r15 + 0x10], 0
mov rbx, r15
cmp r15, r14
je 0x1401a26a4
lea r15, [rbx - 0x18]
mov rdi, qword [rbx - 0x18]
test rdi, rdi
je 0x1401a2608
mov r13, qword [rbx - 0x10]
cmp rdi, r13
je 0x1401a264a
nop word [rax + rax]
mov rax, qword [rdi]
mov rax, qword [rax]
mov rcx, rdi
xor edx, edx
call qword [case.0x14016c073.0]
add rdi, 0x28
cmp rdi, r13
jne 0x1401a2630
mov rcx, qword [rbx - 0x18]
mov rdx, qword [rbx - 8]
sub rdx, rcx
cmp rdx, 0x1000
jb 0x1401a25f7
mov rax, qword [rcx - 8]
movabs r8, 0x9598eb9272a0f63d
add rcx, r8
mov r8, rcx
xor r8, r12
and rcx, r12
lea rcx, [r8 + rcx*2]
sub rcx, rax
movabs r8, 0x2ddd3108dc204f39
add rcx, r8
mov r8, qword [0x1405ab1a0]
add r8, rsi
cmp rcx, r8
jb 0x1401a25f0
call fcn.1404652dc
mov r14, qword [rbp - 0x20]
mov rdi, qword [r14 + 0x98]
test rdi, rdi
je 0x1401a27bc
mov rsi, qword [r14 + 0xa0]
cmp rdi, rsi
je 0x1401a2710
nop word cs:[rax + rax]
mov rax, qword [rdi]
mov rax, qword [rax]
mov ecx, dword [0x1405ab198]
mov edx, ecx
xor edx, 0x24283aca
and ecx, 0x24283aca
add ecx, ecx
neg edx
neg ecx
mov r8d, edx
xor r8d, ecx
and ecx, edx
lea edx, [r8 + rcx*2]
neg edx
mov rcx, rdi
call qword [case.0x14016c073.0]
add rdi, 0x28
cmp rdi, rsi
jne 0x1401a26d0
mov rcx, qword [r14 + 0x98]
mov rax, qword [r14 + 0xa8]
movabs rdx, 0xd832b1d38c6d67b0
xor rdx, rax
movabs r8, 0x5832b1d38c6d67b0
and r8, rax
lea rax, [rdx + r8*2]
sub rax, rcx
movabs rdx, 0x27cd4e2c73929850
add rdx, rax
cmp rdx, 0x1000
jb 0x1401a27a2
mov rax, qword [rcx - 8]
mov r8, rcx
xor r8, 0xfffffffffffffff8
lea r9, [rcx + rcx]
and r9, 0xfffffffffffffff0
xor rcx, 7
mov r10, r9
not r10
mov r11, rcx
and r11, r9
xor r9, r8
and r8, r10
or r8, r11
and r10, rcx
or r10, r9
not r10
lea rcx, [r8 + r10*2]
sub rcx, rax
cmp rcx, 0x20
jae 0x1401a28f0
add rdx, 0x27
mov rcx, rax
lea rsi, [r14 + 0x98]
call fcn.1400a8b80
xorps xmm0, xmm0
movups xmmword [rsi], xmm0
mov qword [rsi + 0x10], 0
mov rcx, qword [r14 + 0x70]
mov rax, qword [r14 + 0x78]
movabs rdx, 0x1a6b339e34c6fbb2
mov r8, rax
xor r8, rdx
and rax, rdx
lea rax, [r8 + rax*2]
sub rax, rcx
movabs rdx, 0xe594cc61cb39044e
add rdx, rax
cmp rdx, 0x1000
jb 0x1401a2847
mov rax, qword [rcx - 8]
xor r8d, r8d
sub r8, qword [0x1405ab1a0]
movabs r9, 0xd35c9a588936948b
xor r9, r8
movabs r10, 0x535c9a588936948b
and r10, r8
lea r8, [r9 + r10*2]
sub rcx, r8
sub rcx, rax
cmp rcx, 0x20
jae 0x1401a28e6
add rdx, qword [0x1405ab1a0]
movabs rcx, 0x2ca365a776c96ba4
add rdx, rcx
mov rcx, rax
lea rsi, [r14 + 0x70]
call fcn.1400a8b80
xorps xmm0, xmm0
movups xmmword [rsi], xmm0
mov qword [rsi + 0x10], 0
mov rax, qword [r14 + 0x60]
mov rcx, qword [rax + 8]
mov qword [rcx], 0
mov rcx, qword [rax]
test rcx, rcx
je 0x1401a28b7
movabs rsi, 0x79559ba53ffb92f
movabs rdi, 0x250e0bed22c9b266
nop dword [rax]
mov rbx, qword [rcx]
mov rax, qword [0x1405ab1a0]
mov rdx, rax
xor rdx, rsi
and rax, rsi
lea rdx, [rdx + rax*2]
add rdx, rdi
call fcn.1400a8b80
mov rcx, rbx
test rbx, rbx
jne 0x1401a2890
mov rcx, qword [r14 + 0x60]
mov edx, 0x18
call fcn.1400a8b80
add r14, 8
mov rcx, r14
call fcn.140486484
movaps xmm6, xmmword [rbp - 0x10]
add rsp, 0x48
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
call fcn.1404652dc
call fcn.1404652dc
call fcn.1404652dc
int3