Function at 0x1400311c0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rcx
nop
mov qword [rsp - 8], rbx
sub rsp, 8
nop
sub rsp, 8
mov qword [rsp], rsi
push rdi
nop
sub rsp, 8
mov qword [rsp], r12
push r12
mov qword [rsp], r13
nop
mov qword [rsp - 8], r14
sub rsp, 8
nop
mov qword [rsp - 8], r15
sub rsp, 8
sub rsp, 0x30
mov rbx, rdx
xchg rcx, r14
mov rcx, r14
xchg r14, rcx
mov rdx, qword [rcx]
xchg r12, rsi
mov r12, rbx
xchg r12, rsi
sub rsi, rdx
mov rax, qword [rcx + 8]
sub rax, rdx
sar rax, 3
sar rax, 1
movabs rdi, 0xfffffff63444139
sub rdi, 0x2f95890d
xor rdi, 0xc7c4ec4
xor rdi, 0x6ae2ead0
xor rdi, 0x7c981fc0
xor rdi, 0x3ec08cd1
xor rdi, 0x61629994
sub rdi, 0x1f9780b5
add rdi, 0x7fffffff
add rdi, 0x298d69f8
cmp rax, rdi
je 0x1400314db
lea r13, [rax + 1]
mov rcx, qword [rcx + 0x10]
sub rcx, rdx
sar rcx, 1
sar rcx, 3
xchg rdx, r8
mov r8, rcx
xchg rdx, r8
shr rdx, 1
xchg rcx, rdi
mov rax, rcx
xchg rdi, rcx
sub rax, rdx
cmp rcx, rax
ja 0x1400312b9
lea rdi, [rdx + rcx]
cmp rdi, r13
cmovb rdi, r13
xchg rsi, rdi
mov qword [rsp + 0x88], rsi
xchg rsi, rdi
mov rdx, rdi
xchg r14, rcx
mov r14, rcx
xchg rcx, r14
call fcn.140053af0
xchg r10, r15
mov r10, rax
xchg r15, r10
mov qword [rsp + 0x28], rax
and rsi, 0xfffffffffffffff0
lea r12, [rsi + rax]
lea rcx, [r12 + 0x10]
mov qword [rsp + 0x20], rcx
mov byte [r12], 0xa
add byte [r12], 0x49
sub byte [r12], 0x52
add byte [r12], 3
add byte [r12], 0x30
sub byte [r12], 0x18
sub byte [r12], 0x1c
lea rcx, [r12 + 8]
xor edx, edx
call fcn.14004bdc0
nop
xchg r14, r12
mov qword [rsp + 0x78], r14
xchg r14, r12
xchg r9, r10
mov r10, qword [r14 + 8]
xchg r9, r10
xchg r9, rax
mov r9, qword [r14]
xchg r9, rax
mov rdx, r15
cmp rbx, r9
jne 0x14003139d
cmp rax, r9
je 0x14003145e
xor r8d, r8d
nop dword [rax + rax]
movzx ecx, byte [rax]
mov byte [rdx], cl
xchg r10, rcx
mov r10, qword [rax + 8]
xchg rcx, r10
xchg rcx, rdi
mov qword [rdx + 8], rdi
xchg rcx, rdi
mov byte [rax], r8b
xchg r8, rdi
mov qword [rax + 8], rdi
xchg rdi, r8
lea rdx, [rdx + 0x10]
sub rax, 0xfffffffffffffff0
cmp rax, r9
jne 0x140031361
jmp 0x14003145e
xor r8d, r8d
cmp rax, rbx
je 0x1400313e2
nop dword [rax + rax]
movzx ecx, byte [rax]
mov byte [rdx], cl
mov rcx, qword [rax + 8]
xchg rcx, r11
mov qword [rdx + 8], r11
xchg r11, rcx
mov byte [rax], r8b
mov qword [rax + 8], r8
lea rdx, [rdx + 0x10]
nop
add rax, 0x3abb1e75
sub rax, 0x3abb1e65
cmp rax, rbx
jne 0x1400313ae
mov qword [rsp + 0x78], r15
xchg r8, rdx
mov r8, qword [r14 + 8]
xchg rdx, r8
cmp rbx, rdx
je 0x14003145e
lea rcx, [rbx + 8]
sub rsi, rbx
lea r9, [rsi + r15]
lea r10, [rsi + r15]
nop
movzx eax, byte [rcx - 8]
mov byte [r10 + rcx + 8], al
mov rax, qword [rcx]
xchg r15, rax
mov qword [r9 + rcx + 0x10], r15
xchg r15, rax
mov byte [rcx - 8], 0x32
sub byte [rcx - 8], 0x24
add byte [rcx - 8], 0x5d
xor byte [rcx - 8], 0x10
sub byte [rcx - 8], 0xd
sub byte [rcx - 8], 0x16
add byte [rcx - 8], 0x1a
sub byte [rcx - 8], 0x36
xor byte [rcx - 8], 0x3c
xchg r8, rdx
mov qword [rcx], rdx
xchg r8, rdx
lea rcx, [rcx + 0x10]
lea rax, [rcx - 8]
cmp rax, rdx
jne 0x14003140b
xchg r9, rdi
mov rdi, r9
xchg r9, rdi
xchg r15, r8
mov r15, r13
xchg r8, r15
xchg rbp, r15
mov rdx, rbp
xchg r15, rbp
mov rcx, r14
call fcn.140052cd0
xchg r14, r12
mov rax, r14
xchg r14, r12
add rsp, 0x30
nop
add rsp, 8
mov r15, qword [rsp - 8]
nop
add rsp, 8
mov r14, qword [rsp - 8]
nop
mov r13, qword [rsp]
add rsp, 8
nop
add rsp, 8
mov r12, qword [rsp - 8]
nop
add rsp, 8
xchg qword [rsp - 8], rdi
nop
mov rsi, qword [rsp]
add rsp, 8
nop
add rsp, 8
xchg qword [rsp - 8], rbx
nop
add rsp, 8
jmp qword [rsp - 8]
call fcn.14002f9c0
int3