Function at 0x140031890
Capabilities:
Encode data using xor

Disassembly:
xchg r13, rcx
mov qword [rsp + 8], r13
xchg r13, rcx
nop
sub rsp, 8
mov qword [rsp], rbx
nop
sub rsp, 8
mov qword [rsp], rsi
nop
sub rsp, 8
mov qword [rsp], rdi
nop
sub rsp, 8
mov qword [rsp], r12
nop
sub rsp, 8
mov qword [rsp], r13
nop
sub rsp, 8
mov qword [rsp], r14
nop
sub rsp, 8
mov qword [rsp], r15
sub rsp, 0x30
mov r12, r8
xchg rdx, rbx
mov rdx, rbx
xchg rdx, rbx
xchg r14, rcx
mov rcx, r14
xchg r14, rcx
xchg rdx, r8
mov r8, qword [rcx]
xchg r8, rdx
xchg rsi, rbx
mov rbx, rsi
xchg rbx, rsi
sub rsi, rdx
xchg r8, rax
mov r8, qword [rcx + 8]
xchg r8, rax
sub rax, rdx
sar rax, 2
sar rax, 1
sar rax, 1
movabs rdi, 0xfffffff6dfbed70
xor rdi, 0x3edb12e7
sub rdi, 0x3bce112f
add rdi, 0x1ee83944
sub rdi, 0xf6aaad5
add rdi, 0x1989e373
add rdi, 0x7fffffff
xor rdi, 0x3fa59fb6
cmp rax, rdi
je 0x140031ba4
lea r13, [rax + 1]
mov rcx, qword [rcx + 0x10]
sub rcx, rdx
sar rcx, 2
sar rcx, 2
mov rdx, rcx
shr rdx, 1
xchg r9, rax
mov r9, rdi
xchg r9, rax
sub rax, rdx
cmp rcx, rax
ja 0x140031998
lea rdi, [rdx + rcx]
cmp rdi, r13
cmovb rdi, r13
xchg rdi, r8
mov qword [rsp + 0x88], r8
xchg r8, rdi
xchg rdi, rdx
mov rdi, rdx
xchg rdx, rdi
mov rcx, r14
call fcn.1400538e0
mov r15, rax
xchg r14, rax
mov qword [rsp + 0x28], r14
xchg r14, rax
and rsi, 0xfffffffffffffff0
add rsi, rax
lea rcx, [rsi + 0x10]
xchg rcx, r13
mov qword [rsp + 0x20], r13
xchg r13, rcx
xchg r15, rcx
mov qword [rsp + 0x78], r15
xchg rcx, r15
mov rdx, r12
xchg rbp, rsi
mov rcx, rbp
xchg rsi, rbp
call fcn.14002ff60
xchg r11, rsi
mov qword [rsp + 0x78], r11
xchg rsi, r11
mov r9, qword [r14 + 8]
xchg rbp, rax
mov rbp, qword [r14]
xchg rbp, rax
mov rdx, r15
cmp rbx, r9
jne 0x140031a65
cmp rax, r9
je 0x140031b1e
xor r8d, r8d
nop word [rax + rax]
movzx ecx, byte [rax]
mov byte [rdx], cl
xchg r9, rcx
mov r9, qword [rax + 8]
xchg rcx, r9
xchg rcx, r14
mov qword [rdx + 8], r14
xchg rcx, r14
mov byte [rax], r8b
xchg r8, r13
mov qword [rax + 8], r13
xchg r13, r8
lea rdx, [rdx + 0x10]
add rax, 0x10
cmp rax, r9
jne 0x140031a29
jmp 0x140031b1e
xor r8d, r8d
cmp rax, rbx
je 0x140031aa7
nop dword [rax + rax]
movzx ecx, byte [rax]
mov byte [rdx], cl
mov rcx, qword [rax + 8]
xchg rcx, rsi
mov qword [rdx + 8], rsi
xchg rcx, rsi
mov byte [rax], r8b
mov qword [rax + 8], r8
lea rdx, [rdx + 0x10]
neg rax
add rax, 0xfffffffffffffff0
neg rax
cmp rax, rbx
jne 0x140031a76
mov qword [rsp + 0x78], r15
xchg r12, rdx
mov r12, qword [r14 + 8]
xchg rdx, r12
cmp rbx, rdx
je 0x140031b1e
lea rcx, [rbx + 8]
mov rax, rsi
sub rax, rbx
lea r9, [rax + 0x10]
lea r10, [rax + 8]
movzx eax, byte [rcx - 8]
mov byte [r10 + rcx], al
mov rax, qword [rcx]
xchg rbp, rax
mov qword [r9 + rcx], rbp
xchg rbp, rax
mov byte [rcx - 8], 0xf
add byte [rcx - 8], 0x18
xor byte [rcx - 8], 0x3f
sub byte [rcx - 8], 8
add byte [rcx - 8], 0x3a
sub byte [rcx - 8], 0x37
add byte [rcx - 8], 0x1d
sub byte [rcx - 8], 0x30
xchg r8, rsi
mov qword [rcx], rsi
xchg rsi, r8
lea rcx, [rcx + 0x10]
lea rax, [rcx - 8]
cmp rax, rdx
jne 0x140031ad1
mov r9, rdi
xchg r8, r13
mov r13, r8
xchg r8, r13
xchg r10, r15
mov rdx, r10
xchg r15, r10
xchg r14, rcx
mov r14, rcx
xchg r14, rcx
call fcn.140052a50
mov rax, rsi
add rsp, 0x30
nop
xchg qword [rsp], r15
add rsp, 8
nop
add rsp, 8
xchg qword [rsp - 8], r14
push rax
push rdx
push rcx
push rbx
push rdx
push rcx
push rcx
xchg qword [rsp + 0x38], r13
add rsp, 0x40
nop
xchg qword [rsp], r12
add rsp, 8
nop
mov rdi, qword [rsp]
add rsp, 8
push rdx
push rbx
push rcx
push rax
push rdx
push rax
xchg qword [rsp + 0x30], rsi
pop rax
pop rdx
pop rax
pop rcx
pop rbx
pop rdx
add rsp, 8
nop
xchg qword [rsp], rbx
add rsp, 8
nop
add rsp, 8
jmp qword [rsp - 8]
call fcn.14002f9e0
int3