Function at 0x140031f60
Capabilities:
Encode data using xor

Disassembly:
xchg rcx, r14
mov qword [rsp + 8], r14
xchg r14, rcx
nop
mov qword [rsp - 8], rbx
sub rsp, 8
push rsi
nop
push r9
mov qword [rsp], rdi
push r12
push r13
push r14
push rdi
mov qword [rsp], r15
sub rsp, 0x40
mov rbx, r8
xchg rsi, rdx
mov rdx, rsi
xchg rdx, rsi
xchg r13, r10
mov r10, rcx
xchg r13, r10
mov rdx, qword [rcx]
xchg r13, rsi
mov r15, r13
xchg r13, rsi
sub r15, rdx
xchg rbx, rax
mov rbx, qword [rcx + 8]
xchg rbx, rax
sub rax, rdx
sar rax, 4
movabs r14, 0xfffffff5d7566f3
xor r14, 0x41cdb68d
add r14, 0x77fff6b
xor r14, 0x4a1fe695
sub r14, 0x6e1c7e12
add r14, 0x5fffad2e
xor r14, 0x74acae72
add r14, 0x7fffffff
add r14, 0x6b590916
cmp rax, r14
je 0x140032294
lea r8, [rax + 1]
mov qword [rsp + 0x28], r8
mov rcx, qword [rcx + 0x10]
sub rcx, rdx
sar rcx, 2
sar rcx, 1
sar rcx, 1
mov rdx, rcx
shr rdx, 1
xchg rbx, r14
mov rax, rbx
xchg rbx, r14
sub rax, rdx
cmp rcx, rax
ja 0x14003204a
lea r14, [rdx + rcx]
cmp r14, r8
cmovb r14, r8
xchg rbp, r14
mov qword [rsp + 0x20], rbp
xchg r14, rbp
xchg r14, rdx
mov r14, rdx
xchg rdx, r14
xchg r13, rbx
mov rcx, rbx
xchg rbx, r13
call fcn.1400537e0
mov r12, rax
xchg rbp, rax
mov qword [rsp + 0x38], rbp
xchg rbp, rax
and r15, 0xfffffffffffffff0
add rax, r15
mov qword [rsp + 0x88], rax
lea rcx, [rax + 0x10]
xchg r10, rcx
mov qword [rsp + 0x30], r10
xchg r10, rcx
mov byte [rax], 0x28
xor byte [rax], 0x5e
sub byte [rax], 0x4a
add byte [rax], 0x51
sub byte [rax], 0x6c
add byte [rax], 0x64
sub byte [rax], 0x75
lea rdi, [rax + 8]
xor ecx, ecx
mov qword [rdi], rcx
mov rbx, qword [rbx]
movzx edx, byte [rax]
xchg rdi, rcx
mov rdi, rcx
xchg rcx, rdi
call fcn.140054220
nop
xchg rbp, rax
mov rbp, qword [rsp + 0x88]
xchg rbp, rax
mov byte [rax], 0x1d
xor byte [rax], 0xa
add byte [rax], 0x2d
sub byte [rax], 0x25
sub byte [rax], 1
xor byte [rax], 0x76
sub byte [rax], 0x62
mov qword [rdi], rbx
mov qword [rsp + 0x98], rax
mov r9, qword [r13 + 8]
mov rax, qword [r13]
mov rdx, r12
cmp rsi, r9
jne 0x14003215a
cmp rax, r9
je 0x140032203
xor r8d, r8d
nop dword [rax]
nop word [rax + rax]
movzx ecx, byte [rax]
mov byte [rdx], cl
xchg r8, rcx
mov r8, qword [rax + 8]
xchg r8, rcx
mov qword [rdx + 8], rcx
mov byte [rax], r8b
mov qword [rax + 8], r8
lea rdx, [rdx + 0x10]
neg rax
add rax, 0xfffffffffffffff0
neg rax
cmp rax, r9
jne 0x140032124
jmp 0x140032203
xor r8d, r8d
cmp rax, rsi
je 0x140032196
nop dword [rax + rax]
movzx ecx, byte [rax]
mov byte [rdx], cl
mov rcx, qword [rax + 8]
mov qword [rdx + 8], rcx
mov byte [rax], r8b
mov qword [rax + 8], r8
lea rdx, [rdx + 0x10]
neg rax
add rax, 0xfffffffffffffff0
neg rax
cmp rax, rsi
jne 0x14003216b
mov qword [rsp + 0x98], r12
mov rdx, qword [r13 + 8]
cmp rsi, rdx
je 0x140032203
lea rcx, [rsi + 8]
sub r15, rsi
lea r9, [r15 + r12]
lea r10, [r15 + r12]
movzx eax, byte [rcx - 8]
mov byte [r10 + rcx + 8], al
xchg rbp, rax
mov rbp, qword [rcx]
xchg rbp, rax
xchg rdi, rax
mov qword [r9 + rcx + 0x10], rdi
xchg rdi, rax
mov byte [rcx - 8], 5
xor byte [rcx - 8], 0x6f
sub byte [rcx - 8], 0x15
xor byte [rcx - 8], 0x72
xor byte [rcx - 8], 0x56
xor byte [rcx - 8], 0x32
sub byte [rcx - 8], 0x43
mov qword [rcx], r8
lea rcx, [rcx + 0x10]
lea rax, [rcx - 8]
cmp rax, rdx
jne 0x1400321ba
xchg r9, r11
mov r11, r14
xchg r11, r9
xchg r12, r8
mov r12, qword [rsp + 0x28]
xchg r12, r8
xchg rbp, rdx
mov rbp, r12
xchg rbp, rdx
xchg r13, rcx
mov r13, rcx
xchg r13, rcx
call fcn.140052970
xchg rbx, rax
mov rbx, qword [rsp + 0x88]
xchg rbx, rax
add rsp, 0x40
push rbx
push rcx
xchg qword [rsp + 0x10], r15
pop rcx
pop rbx
add rsp, 8
nop
mov r14, qword [rsp]
add rsp, 8
nop
xchg qword [rsp], r13
add rsp, 8
nop
mov r12, qword [rsp]
add rsp, 8
nop
add rsp, 8
mov rdi, qword [rsp - 8]
nop
add rsp, 8
mov rsi, qword [rsp - 8]
push rcx
push rax
push rdx
push rdx
xchg qword [rsp + 0x20], rbx
pop rdx
pop rdx
pop rax
pop rcx
add rsp, 8
nop
add rsp, 8
jmp qword [rsp - 8]
call fcn.14002f9b0
int3