Function at 0x1400314f0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 8], rcx
nop
sub rsp, 8
mov qword [rsp], rbx
nop
sub rsp, 8
mov qword [rsp], rsi
push rdi
push r12
nop
sub rsp, 8
mov qword [rsp], r13
push r14
nop
mov qword [rsp - 8], r15
sub rsp, 8
sub rsp, 0x50
movaps xmmword [rsp + 0x40], xmm6
xchg rsi, rdx
mov rdi, rsi
xchg rsi, rdx
xchg rcx, rbx
mov r12, rbx
xchg rcx, rbx
xchg rdx, r8
mov r8, qword [rcx]
xchg rdx, r8
xchg r14, r8
mov r8, rdi
xchg r14, r8
sub r14, rdx
mov rax, qword [rcx + 8]
sub rax, rdx
sar rax, 1
sar rax, 1
sar rax, 2
movabs rsi, 0xfffffff51828bb0
xor rsi, 0x8d912af
add rsi, 0x2125b705
sub rsi, 0x46dc5563
xor rsi, 0x60d392d0
add rsi, 0x7fffffff
add rsi, 0x2c8897ef
cmp rax, rsi
je 0x14003188c
lea r8, [rax + 1]
xchg r8, rdi
mov qword [rsp + 0x20], rdi
xchg rdi, r8
mov rcx, qword [rcx + 0x10]
sub rcx, rdx
sar rcx, 3
sar rcx, 1
xchg rdx, r11
mov r11, rcx
xchg rdx, r11
shr rdx, 1
mov rax, rsi
sub rax, rdx
cmp rcx, rax
ja 0x1400315e5
lea rsi, [rdx + rcx]
cmp rsi, r8
cmovb rsi, r8
xchg rdx, rsi
mov qword [rsp + 0xa8], rdx
xchg rdx, rsi
xchg rdx, r10
mov r10, rsi
xchg rdx, r10
xchg rbx, r12
mov rcx, rbx
xchg rbx, r12
call fcn.140053af0
xchg r9, rax
mov r15, r9
xchg r9, rax
mov qword [rsp + 0x30], rax
and r14, 0xfffffffffffffff0
lea r13, [r14 + rax]
lea rcx, [r13 + 0x10]
mov qword [rsp + 0x28], rcx
mov byte [r13], 0x1d
add byte [r13], 3
add byte [r13], 0x49
xor byte [r13], 0xc
xor byte [r13], 0x35
sub byte [r13], 0x16
sub byte [r13], 0x23
add byte [r13], 0x3a
sub byte [r13], 0x51
xor eax, eax
xchg rbp, rax
mov qword [r13 + 8], rbp
xchg rbp, rax
mov rax, qword [rsp + 0xa0]
xchg rdx, rax
movsd xmm6, qword [rdx]
xchg rdx, rax
movzx edx, byte [r13]
lea rcx, [r13 + 8]
call fcn.140054540
movsd qword [rsp + 0x98], xmm6
xchg r10, rax
mov r10, qword [rsp + 0x98]
xchg r10, rax
mov qword [r13 + 8], rax
mov byte [r13], 2
add byte [r13], 0
xor byte [r13], 0x5d
xor byte [r13], 0x13
add byte [r13], 0x1a
xor byte [r13], 0x75
xor byte [r13], 0x15
add byte [r13], 0x35
sub byte [r13], 0x34
xchg rdx, r13
mov qword [rsp + 0x98], rdx
xchg r13, rdx
xchg r9, rcx
mov rcx, qword [r12 + 8]
xchg rcx, r9
xchg rcx, r8
mov r8, qword [r12]
xchg rcx, r8
mov rdx, r15
cmp rdi, r9
jne 0x140031737
cmp rcx, r9
je 0x1400317eb
xor r8d, r8d
nop dword [rax + rax]
movzx eax, byte [rcx]
mov byte [rdx], al
mov rax, qword [rcx + 8]
mov qword [rdx + 8], rax
mov byte [rcx], r8b
mov qword [rcx + 8], r8
lea rdx, [rdx + 0x10]
nop
add rcx, 0x1b880bea
sub rcx, 0x1b880bda
cmp rcx, r9
jne 0x140031702
jmp 0x1400317eb
xor r8d, r8d
cmp rcx, rdi
je 0x140031773
nop dword [rax + rax]
movzx eax, byte [rcx]
mov byte [rdx], al
mov rax, qword [rcx + 8]
mov qword [rdx + 8], rax
mov byte [rcx], r8b
xchg r8, rbx
mov qword [rcx + 8], rbx
xchg r8, rbx
lea rdx, [rdx + 0x10]
add rcx, 0x10
cmp rcx, rdi
jne 0x140031748
mov qword [rsp + 0x98], r15
xchg rdx, r8
mov r8, qword [r12 + 8]
xchg rdx, r8
cmp rdi, rdx
je 0x1400317eb
lea rcx, [rdi + 8]
sub r14, rdi
lea r9, [r14 + r15]
lea r10, [r14 + r15]
movzx eax, byte [rcx - 8]
mov byte [r10 + rcx + 8], al
xchg rdx, rax
mov rdx, qword [rcx]
xchg rdx, rax
mov qword [r9 + rcx + 0x10], rax
mov byte [rcx - 8], 0x20
sub byte [rcx - 8], 2
add byte [rcx - 8], 2
add byte [rcx - 8], 0x5d
xor byte [rcx - 8], 0x14
xor byte [rcx - 8], 0x71
xor byte [rcx - 8], 0x73
add byte [rcx - 8], 0x13
xor byte [rcx - 8], 0x7e
mov qword [rcx], r8
lea rcx, [rcx + 0x10]
lea rax, [rcx - 8]
cmp rax, rdx
jne 0x14003179e
xchg r11, rsi
mov r9, r11
xchg rsi, r11
mov r8, qword [rsp + 0x20]
xchg r15, rdx
mov r15, rdx
xchg r15, rdx
xchg r12, r11
mov rcx, r11
xchg r11, r12
call fcn.140052cd0
xchg r13, r14
mov rax, r14
xchg r14, r13
movaps xmm6, xmmword [rsp + 0x40]
add rsp, 0x50
push rdx
push rax
push rax
push rcx
xchg qword [rsp + 0x20], r15
add rsp, 0x28
nop
mov r14, qword [rsp]
add rsp, 8
push rcx
push rcx
xchg qword [rsp + 0x10], r13
pop rcx
pop rcx
add rsp, 8
push rax
push rdx
push rdx
push rdx
push rbx
push rbx
xchg qword [rsp + 0x30], r12
add rsp, 0x38
push rcx
push rax
push rbx
push rbx
push rcx
push rax
push rbx
push rdx
xchg qword [rsp + 0x40], rdi
add rsp, 0x48
nop
xchg qword [rsp], rsi
add rsp, 8
push rcx
push rdx
push rax
push rdx
push rdx
push rax
xchg qword [rsp + 0x30], rbx
pop rax
pop rdx
pop rdx
pop rax
pop rdx
pop rcx
add rsp, 8
nop
add rsp, 8
jmp qword [rsp - 8]
call fcn.14002f9c0
int3