Function at 0x1401faa20
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x58
lea rbp, [rsp + 0x50]
mov qword [rbp], 0xfffffffffffffffe
mov rdi, rdx
mov rsi, rcx
mov rbx, qword [rcx]
mov r13, qword [rcx + 8]
mov rcx, qword [0x140527170]
movabs r9, 0x8757b0f6baf32727
lea rax, [rcx + r9]
sub r13, rbx
add r13, rax
sar r13, 3
movabs r10, 0x2e8ba2e8ba2e8ba3
sub rax, rbx
movabs rdx, 0xa9bdf5aed6f71824
add rdx, rdi
mov r11, rdx
xor r11, rax
and rdx, rax
lea rdx, [r11 + rdx*2]
movabs rax, 0x56420a512908e7dc
add rax, rdx
imul r10
mov r11, rdx
imul r13, r10
inc r13
mov rax, qword [rsi + 0x10]
add rax, rcx
sub rax, rbx
add rax, r9
movabs r9, 0x8757b0f6baf3277f
add r9, rcx
mov rcx, rax
or rcx, r9
shr rcx, 0x20
je 0x1401faad7
cqo
idiv r9
jmp 0x1401faadc
xor edx, edx
div r9d
movzx ecx, byte [0x140527170]
add cl, 0x28
mov rdx, rax
shr rdx, cl
movabs r9, 0x2e8ba2e8ba2e8ba
mov rcx, r9
sub rcx, rdx
add rdx, rax
mov r10, qword [0x140527050]
cmp rdx, r13
cmovbe rdx, r13
cmp rax, rcx
cmova rdx, r9
movsxd rax, dword [r10]
mov r9d, dword [0x140440278]
movabs rcx, 0x2e8ba2e8ba2e8bb
cmp rdx, rcx
jae 0x1401fb078
mov qword [rbp - 0x18], r11
mov qword [rbp - 0x20], r8
mov qword [rbp - 8], rsi
mov cl, 1
test cl, cl
jne 0x1401fab8d
nop word cs:[rax + rax]
mov r8d, dword [0x140527044]
mov cl, 1
sub cl, r8b
mov r11d, r8d
shl r11d, cl
sub r8d, r11d
imul r8d, r11d
neg r8d
mov ecx, r8d
xor ecx, r11d
and r8d, r11d
lea ecx, [rcx + r8*2]
add ecx, r11d
mov dword [0x140527044], ecx
mov ecx, dword [0x140576104]
cmp ecx, 0x33
jge 0x1401fab50
mov ecx, dword [0x140527044]
lea r8d, [rcx + 1]
mov dword [0x140527044], r8d
mov r11d, 0xfffffffe
sub r11d, ecx
mov esi, ecx
xor esi, r8d
and esi, ecx
mov r15d, ecx
not r15d
mov ecx, r15d
and ecx, r8d
or esi, ecx
xor r15d, r8d
and r15d, r11d
mov ecx, esi
and ecx, r15d
xor r15d, esi
xor r15d, ecx
not r15d
mov ebx, 0xaa8f925
add ebx, dword [0x140527168]
cmp r15d, ebx
jne 0x1401fac32
add rax, r10
mov ecx, dword [0x140576100]
lea r8d, [rcx - 1]
imul r8d, ecx
test r8b, 1
nop word cs:[rax + rax]
mov ecx, dword [0x140527168]
mov r8d, dword [0x140576104]
cmp r8d, 0x61
jg 0x1401fac00
mov r8d, ecx
xor r8d, 0xaa8f925
and ecx, 0xaa8f925
lea r8d, [r8 + rcx*2]
xor ecx, ecx
cmp r8d, r9d
jl 0x1401facfe
xor esi, esi
imul rcx, rdx, 0x58
cmp rdx, 0x2e
mov qword [rbp - 0x10], rcx
jbe 0x1401facd7
movabs rax, 0x2e8ba2e8ba2e8ba
cmp rdx, rax
jae 0x1401fb078
add rcx, 0x27
mov edx, 0x9fc9e831
mov r8d, 0x1dbca91c
mov r9d, 0xa10cca85
call fcn.1400aaae0
mov rcx, rax
neg rcx
movabs rdx, 0x7fffffffffffffd9
and rdx, rcx
xor rcx, 0xffffffffffffffd9
lea rcx, [rcx + rdx*2]
neg rcx
movabs rdx, 0x8757b0f6baf32726
add rdx, qword [0x140527170]
xor rdx, rcx
xor rcx, 0xffffffffffffffe0
mov r12, rdx
not r12
mov r8d, r12d
and r8d, 0x1f
and rdx, 0xffffffffffffffe0
or rdx, r8
and r12, 0xffffffffffffffe0
or r12, rdx
not r12
or r12, rcx
not r12
mov qword [r12 - 8], rax
jmp 0x1401fadec
test rdx, rdx
je 0x1401fade9
mov edx, 0x9fc9e831
mov r8d, 0x1dbca91c
mov r9d, 0xa10cca85
call fcn.1400aaae0
mov r12, rax
jmp 0x1401fadec
movabs r10, 0x8757b0f6baf32726
xor r11d, r11d
xor esi, esi
nop dword [rax]
movsxd r12, r11d
mov r8d, dword [0x140576104]
nop word [rax + rax]
mov r8d, dword [0x140576100]
mov r14d, dword [0x140527168]
neg r14d
add r14d, r8d
add r14d, 0xf5231926
imul r14d, r8d
test r14b, 1
jne 0x1401fad20
add r12, rax
mov r8d, dword [0x140576104]
cmp r8d, 0xc
jg 0x1401fade0
nop dword [rax]
mov r8, qword [r12]
test cl, cl
jne 0x1401fade0
mov r14, qword [0x140527170]
add r14, r10
xor r14, r8
mov r12, r8
xor r12, rsi
and r12, r8
and rsi, r14
or rsi, r12
mov r8d, dword [0x140527168]
mov r14d, r8d
xor r14d, 0xaa8f92d
and r8d, 0xaa8f92d
lea r8d, [r14 + r8*2]
mov r14d, r8d
xor r14d, r14d
not r14d
and r14d, r11d
xor r14d, r8d
and r11d, 8
lea r11d, [r14 + r11*2]
mov r8d, dword [0x140576100]
nop
mov r8d, dword [0x140576104]
cmp r8d, 0x38
jg 0x1401fadc0
cmp r11d, r9d
jl 0x1401fad10
jmp 0x1401fac34
mov r8, qword [r12]
jmp 0x1401fad60
xor r12d, r12d
mov rcx, qword [rbp - 0x18]
mov rax, rcx
shr rax, 0x3f
sar rcx, 4
add rcx, rax
imul rax, rcx, 0x58
lea r14, [r12 + rax]
mov rdx, qword [rbp - 0x20]
mov rcx, qword [rdx + 0x50]
mov qword [r12 + rax + 0x50], rcx
movups xmm0, xmmword [rdx + 0x40]
movups xmmword [r12 + rax + 0x40], xmm0
movups xmm0, xmmword [rdx]
movups xmm1, xmmword [rdx + 0x10]
movups xmm2, xmmword [rdx + 0x20]
movups xmm3, xmmword [rdx + 0x30]
movups xmmword [r12 + rax + 0x30], xmm3
movups xmmword [r12 + rax + 0x20], xmm2
movups xmmword [r12 + rax + 0x10], xmm1
movups xmmword [r12 + rax], xmm0
mov rcx, qword [rbp - 8]
mov rdx, qword [rcx + 8]
cmp rdx, rdi
sete r8b
or r8b, byte [0x140576098]
mov rcx, qword [0x140440270]
xor r9d, r9d
cmp r15d, ebx
setne r10b
mov r11d, dword [0x140576104]
cmp r11d, 0x18
jl 0x1401faea7
nop word [rax + rax]
mov r9d, dword [0x140576100]
mov r10d, dword [0x140527168]
neg r10d
add r10d, r9d
add r10d, 0xaa8f926
imul r10d, r9d
test r10b, 1
jne 0x1401fae80
jmp 0x1401fae60
mov r9b, r10b
dec r9
sub rcx, rsi
test r9, rcx
setne cl
or cl, byte [0x140576098]
and cl, 1
mov byte [0x140576098], cl
mov rsi, qword [rbp - 8]
mov rcx, qword [rsi]
test r8b, 1
je 0x1401faf32
cmp rcx, rdx
je 0x1401fafe1
add rcx, 0x58
mov rax, r12
nop word cs:[rax + rax]
mov r8, qword [rcx - 8]
mov qword [rax + 0x50], r8
movups xmm0, xmmword [rcx - 0x18]
movups xmmword [rax + 0x40], xmm0
movups xmm0, xmmword [rcx - 0x58]
movups xmm1, xmmword [rcx - 0x48]
movups xmm2, xmmword [rcx - 0x38]
movups xmm3, xmmword [rcx - 0x28]
movups xmmword [rax + 0x30], xmm3
movups xmmword [rax + 0x20], xmm2
movups xmmword [rax + 0x10], xmm1
movups xmmword [rax], xmm0
cmp rcx, rdx
je 0x1401fafde
add rax, 0x58
add rcx, 0x58
jmp 0x1401faef0
cmp rcx, rdi
je 0x1401faf7e
add rcx, 0x58
mov rdx, r12
nop
mov r8, qword [rcx - 8]
mov qword [rdx + 0x50], r8
movups xmm0, xmmword [rcx - 0x18]
movups xmmword [rdx + 0x40], xmm0
movups xmm0, xmmword [rcx - 0x58]
movups xmm1, xmmword [rcx - 0x48]
movups xmm2, xmmword [rcx - 0x38]
movups xmm3, xmmword [rcx - 0x28]
movups xmmword [rdx + 0x30], xmm3
movups xmmword [rdx + 0x20], xmm2
movups xmmword [rdx + 0x10], xmm1
movups xmmword [rdx], xmm0
cmp rcx, rdi
je 0x1401faf7e
add rdx, 0x58
add rcx, 0x58
jmp 0x1401faf40
mov rcx, qword [rsi + 8]
cmp rcx, rdi
je 0x1401fafde
add rdi, 0x58
add rax, r12
add rax, 0x58
nop word cs:[rax + rax]
mov rdx, qword [rdi - 8]
mov qword [rax + 0x50], rdx
movups xmm0, xmmword [rdi - 0x18]
movups xmmword [rax + 0x40], xmm0
movups xmm0, xmmword [rdi - 0x58]
movups xmm1, xmmword [rdi - 0x48]
movups xmm2, xmmword [rdi - 0x38]
movups xmm3, xmmword [rdi - 0x28]
movups xmmword [rax + 0x30], xmm3
movups xmmword [rax + 0x20], xmm2
movups xmmword [rax + 0x10], xmm1
movups xmmword [rax], xmm0
cmp rdi, rcx
je 0x1401fafde
add rdi, 0x58
add rax, 0x58
jmp 0x1401fafa0
mov rcx, qword [rsi]
test rcx, rcx
je 0x1401fb04b
mov rdx, qword [rsi + 0x10]
sub rdx, rcx
movabs rax, 0x8757b0f6baf33726
add rax, qword [0x140527170]
cmp rdx, rax
jbe 0x1401fb032
mov rax, qword [0x140575a60]
add rax, qword [rcx - 8]
add rcx, qword [0x140527170]
sub rcx, rax
movabs r8, 0x8757b0f6baf3271f
add r8, rcx
cmp r8, 0x20
jae 0x1401fb07d
add rdx, 0x27
mov rcx, rax
mov dword [rsp + 0x20], 0xd8bfb0df
mov r8d, 0x1d45f111
mov r9d, 0x841cb1bb
call fcn.1400a87c0
mov qword [rsi], r12
imul rax, r13, 0x58
add rax, r12
mov qword [rsi + 8], rax
mov rax, qword [rbp - 0x10]
add rax, r12
mov qword [rsi + 0x10], rax
mov rax, r14
add rsp, 0x58
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
call fcn.140085ac0
call fcn.1403d599c
int3