Function at 0x1401c32a0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x28
lea rbp, [rsp + 0x20]
mov qword [rbp], 0xfffffffffffffffe
mov r15, r8
mov rbx, rdx
mov rsi, rcx
lea rax, [fcn.1401c32a0]
add eax, eax
add eax, 0x3b20
mov ecx, eax
not ecx
test ecx, eax
jne 0x1401c332a
mov r14, qword [rsi]
mov r12, qword [rsi + 8]
sub r12, r14
sar r12, 4
inc r12
mov rax, qword [rsi + 0x10]
sub rax, r14
sar rax, 4
mov r13, rax
shr r13, 1
movabs rcx, 0xfffffffffffffff
mov rdx, rcx
sub rdx, r13
add r13, rax
cmp r13, r12
cmovbe r13, r12
cmp rax, rdx
cmova r13, rcx
mov eax, dword [0x140693f94]
cmp eax, 0x1c
jl 0x1401c335b
movabs rax, 0x9637a8128bc89887
movabs rcx, 0x1637a8128bc89887
nop
mov rdx, qword [0x140619810]
mov r8, rdx
xor r8, rax
and rdx, rcx
lea rdx, [r8 + rdx*2]
cmp rsi, rdx
je 0x1401c3340
jmp 0x1401c32dc
mov rax, r13
shr rax, 0x3c
jne 0x1401c3419
movzx ecx, byte [0x140619810]
add cl, 0x8b
mov rax, r13
shl rax, cl
cmp r13, 0x100
jb 0x1401c33cc
movabs rcx, 0xffffffffffffffe
cmp r13, rcx
jae 0x1401c3419
add rax, 0x27
mov rcx, rax
mov edx, 0xa71f6dc2
mov r8d, 0xf4879cf0
call fcn.1400a8810
mov rcx, qword [0x140619810]
add rcx, rax
movabs rdi, 0x9637a8128bc898ae
add rdi, rcx
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x1401c33eb
test r13, r13
je 0x1401c33e9
mov rcx, rax
mov edx, 0xa71f6dc2
mov r8d, 0xf4879cf0
call fcn.1400a8810
mov rdi, rax
jmp 0x1401c33eb
xor edi, edi
mov rcx, rbx
sub rcx, r14
sar rcx, 4
mov edx, dword [0x140693f90]
lea eax, [rdx - 1]
imul eax, edx
mov r8d, 0x24283acc
add r8d, dword [0x140619808]
xor edx, edx
div r8d
test edx, edx
jne 0x1401c343d
jmp 0x1401c341e
call fcn.140084fb0
mov r14, rcx
shl r14, 4
movups xmm0, xmmword [r15]
movups xmmword [rdi + r14], xmm0
mov r8, qword [rsi + 8]
mov eax, dword [0x140693f94]
cmp eax, 0x49
jle 0x1401c344e
mov rax, rcx
shl rax, 4
movups xmm0, xmmword [r15]
movups xmmword [rdi + rax], xmm0
jmp 0x1401c341e
add r14, rdi
cmp r8, rbx
je 0x1401c347a
lea r15, [r14 + 0x10]
mov rdx, qword [rsi]
mov r8, rbx
sub r8, rdx
mov rcx, rdi
call fcn.140511c70
mov r8, qword [rsi + 8]
sub r8, rbx
mov rcx, r15
mov rdx, rbx
jmp 0x1401c3483
mov rdx, qword [rsi]
sub r8, rdx
mov rcx, rdi
call fcn.140511c70
lea rax, [fcn.1401c32a0]
add eax, eax
add eax, 0x13a0
mov ecx, eax
not ecx
nop word [rax + rax]
test ecx, eax
je 0x1401c34c6
nop word cs:[rax + rax]
mov edx, dword [0x140693f90]
lea r8d, [rdx + 1]
imul r8d, edx
test r8b, 1
jne 0x1401c34b0
jmp 0x1401c34a0
mov rcx, qword [rsi]
test rcx, rcx
je 0x1401c34fb
mov rdx, qword [rsi + 0x10]
sub rdx, rcx
cmp rdx, 0x1000
jb 0x1401c34f6
mov rax, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rax
cmp rcx, 0x20
jae 0x1401c3508
add rdx, 0x27
mov rcx, rax
call fcn.1400a75d0
mov eax, dword [0x140693f94]
cmp eax, 0x16
jle 0x1401c350d
jmp 0x1401c3541
call fcn.1404ca324
mov qword [rsi], rdi
mov rax, r12
shl rax, 4
add rax, rdi
mov qword [rsi + 8], rax
mov rax, r13
shl rax, 4
add rax, rdi
mov qword [rsi + 0x10], rax
mov eax, dword [0x140693f94]
mov ecx, 0x24283adb
add ecx, dword [0x140619808]
cmp eax, ecx
jl 0x1401c357f
mov qword [rsi], rdi
mov rax, r12
shl rax, 4
add rax, rdi
mov qword [rsi + 8], rax
mov rbx, r13
shl rbx, 4
add rbx, rdi
mov ecx, 0x3a
call fcn.1404ca39c
mov qword [0x140693f80], rax
lea rcx, [0x1401c8100]
call fcn.1404ea090
mov qword [rsi + 0x10], rbx
jmp 0x1401c350d
mov rax, r14
add rsp, 0x28
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret