Function at 0x140031a40
Capabilities:
Encode data using xor

Disassembly:
xchg r13, rcx
mov qword [rsp + 8], r13
xchg r13, rcx
nop
mov qword [rsp - 8], rbx
sub rsp, 8
push 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
mov qword [rsp - 8], r14
sub rsp, 8
push r15
sub rsp, 0x40
mov rbx, r8
xchg rbx, rdx
mov rsi, rbx
xchg rdx, rbx
mov r13, rcx
mov rdx, qword [rcx]
xchg rbp, rsi
mov r15, rbp
xchg rsi, rbp
sub r15, rdx
xchg rdx, rax
mov rdx, qword [rcx + 8]
xchg rdx, rax
sub rax, rdx
sar rax, 3
sar rax, 1
movabs r14, 0xfffffff622ee0c6
sub r14, 0x30f2573f
xor r14, 0x6d254622
sub r14, 0x3aa5348b
sub r14, 0x40b3fe6
add r14, 0x7fffffff
add r14, 0x6296a4cc
cmp rax, r14
je 0x140031d85
lea r8, [rax + 1]
mov qword [rsp + 0x28], r8
mov rcx, qword [rcx + 0x10]
sub rcx, rdx
sar rcx, 1
sar rcx, 3
xchg rcx, rdx
mov rcx, rdx
xchg rcx, rdx
shr rdx, 1
xchg rdx, rax
mov rdx, r14
xchg rdx, rax
sub rax, rdx
cmp rcx, rax
ja 0x140031b2f
lea r14, [rdx + rcx]
cmp r14, r8
cmovb r14, r8
mov qword [rsp + 0x20], r14
mov rdx, r14
xchg r13, rsi
mov rcx, rsi
xchg rsi, r13
call fcn.140053780
xchg r13, r12
mov r13, rax
xchg r13, r12
mov qword [rsp + 0x38], rax
and r15, 0xfffffffffffffff0
add rax, r15
xchg r11, rax
mov qword [rsp + 0x88], r11
xchg r11, rax
lea rcx, [rax + 0x10]
xchg r13, rcx
mov qword [rsp + 0x30], r13
xchg r13, rcx
mov byte [rax], 0x61
sub byte [rax], 0x35
sub byte [rax], 8
add byte [rax], 0x1f
xor byte [rax], 0x2f
sub byte [rax], 0x6c
lea rdi, [rax + 8]
xor ecx, ecx
xchg r9, rcx
mov qword [rdi], r9
xchg r9, rcx
mov rbx, qword [rbx]
movzx edx, byte [rax]
xchg rcx, rdi
mov rdi, rcx
xchg rcx, rdi
call fcn.140054220
nop
xchg rbp, rax
mov rbp, qword [rsp + 0x88]
xchg rbp, rax
mov byte [rax], 0x72
sub byte [rax], 0x3d
sub byte [rax], 1
add byte [rax], 0x4a
sub byte [rax], 0x30
xor byte [rax], 0x4b
xchg rbx, r10
mov qword [rdi], r10
xchg rbx, r10
xchg rdi, rax
mov qword [rsp + 0x98], rdi
xchg rdi, rax
xchg r9, r8
mov r8, qword [r13 + 8]
xchg r8, r9
mov rax, qword [r13]
xchg r11, rdx
mov r11, r12
xchg r11, rdx
cmp rsi, r9
jne 0x140031c4c
cmp rax, r9
je 0x140031cff
xor r8d, r8d
nop dword [rax]
nop word [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]
nop
sub rax, 0xe2ffd3
add rax, 0xe2ffe3
cmp rax, r9
jne 0x140031c19
jmp 0x140031cff
xor r8d, r8d
cmp rax, rsi
je 0x140031c88
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
xchg rdi, r8
mov qword [rax + 8], rdi
xchg r8, rdi
lea rdx, [rdx + 0x10]
sub rax, 0xfffffffffffffff0
cmp rax, rsi
jne 0x140031c5d
xchg rdi, r12
mov qword [rsp + 0x98], rdi
xchg r12, rdi
xchg rsi, rdx
mov rsi, qword [r13 + 8]
xchg rdx, rsi
cmp rsi, rdx
je 0x140031cff
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
mov rax, qword [rcx]
mov qword [r9 + rcx + 0x10], rax
mov byte [rcx - 8], 0x7a
sub byte [rcx - 8], 5
xor byte [rcx - 8], 0x1e
sub byte [rcx - 8], 0x37
add byte [rcx - 8], 0xf
xor byte [rcx - 8], 0x38
sub byte [rcx - 8], 0x7b
xchg r15, r8
mov qword [rcx], r15
xchg r15, r8
lea rcx, [rcx + 0x10]
lea rax, [rcx - 8]
cmp rax, rdx
jne 0x140031cb8
xchg rcx, r14
mov r9, rcx
xchg rcx, r14
mov r8, qword [rsp + 0x28]
xchg rdx, r14
mov r14, r12
xchg rdx, r14
mov rcx, r13
call fcn.1400528d0
mov rax, qword [rsp + 0x88]
add rsp, 0x40
nop
xchg qword [rsp], r15
add rsp, 8
nop
add rsp, 8
xchg qword [rsp - 8], r14
nop
xchg qword [rsp], r13
add rsp, 8
nop
mov r12, qword [rsp]
add rsp, 8
nop
xchg qword [rsp], rdi
add rsp, 8
push rdx
push rdx
push rbx
push rbx
push rdx
push rax
xchg qword [rsp + 0x30], rsi
add rsp, 0x38
push rax
push rax
push rcx
push rax
push rdx
push rax
xchg qword [rsp + 0x30], rbx
pop rax
pop rdx
pop rax
pop rcx
pop rax
pop rax
add rsp, 8
nop
add rsp, 8
jmp qword [rsp - 8]
call fcn.14002f8c0
int3