Function at 0x140031e20
Capabilities:
Encode data using xor

Disassembly:
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
push r13
push r14
nop
sub rsp, 8
mov qword [rsp], r15
sub rsp, 0x40
xchg rbx, r12
mov r12, r8
xchg rbx, r12
mov rsi, rdx
xchg r13, rcx
mov rcx, r13
xchg rcx, r13
mov rdx, qword [rcx]
xchg r10, r15
mov r10, rsi
xchg r10, r15
sub r15, rdx
mov rax, qword [rcx + 8]
sub rax, rdx
sar rax, 2
sar rax, 2
movabs r14, 0xfffffff536d3953
sub r14, 0x4c6e8f3b
add r14, 0x2a66586
add r14, 0x6b10e0f6
xor r14, 0x266532f2
sub r14, 0x44dca875
add r14, 0x221a4358
add r14, 0x5033b4
add r14, 0x7fffffff
xor r14, 0x4fa16f03
cmp rax, r14
je 0x14003216d
lea r8, [rax + 1]
mov qword [rsp + 0x28], r8
mov rcx, qword [rcx + 0x10]
sub rcx, rdx
sar rcx, 3
sar rcx, 1
xchg r11, rdx
mov r11, rcx
xchg rdx, r11
shr rdx, 1
xchg r14, rax
mov r14, rax
xchg r14, rax
sub rax, rdx
cmp rcx, rax
ja 0x140031f11
lea r14, [rdx + rcx]
cmp r14, r8
cmovb r14, r8
xchg r14, r8
mov qword [rsp + 0x20], r8
xchg r14, r8
xchg rbp, rdx
mov rbp, r14
xchg rbp, rdx
xchg rcx, r11
mov r11, r13
xchg r11, rcx
call fcn.1400538f0
xchg r14, rax
mov r12, r14
xchg r14, rax
xchg rsi, rax
mov qword [rsp + 0x38], rsi
xchg rsi, rax
and r15, 0xfffffffffffffff0
add rax, r15
xchg r15, rax
mov qword [rsp + 0x88], r15
xchg r15, rax
lea rcx, [rax + 0x10]
mov qword [rsp + 0x30], rcx
mov byte [rax], 0x22
add byte [rax], 0x39
sub byte [rax], 0x28
sub byte [rax], 0x23
add byte [rax], 0x42
sub byte [rax], 0x35
xor byte [rax], 7
xor byte [rax], 0x75
sub byte [rax], 0x6f
lea rdi, [rax + 8]
xor ecx, ecx
xchg r13, rcx
mov qword [rdi], r13
xchg r13, rcx
mov rbx, qword [rbx]
movzx edx, byte [rax]
mov rcx, rdi
call fcn.1400542b0
nop
mov rax, qword [rsp + 0x88]
mov byte [rax], 0x17
add byte [rax], 0x57
sub byte [rax], 0xd
sub byte [rax], 0x21
xor byte [rax], 0x5a
add byte [rax], 0x1a
xor byte [rax], 0x28
xor byte [rax], 0x1a
mov qword [rdi], rbx
xchg r12, rax
mov qword [rsp + 0x98], r12
xchg r12, rax
xchg r9, r14
mov r14, qword [r13 + 8]
xchg r14, r9
xchg r11, rax
mov r11, qword [r13]
xchg r11, rax
xchg rdx, r15
mov r15, r12
xchg rdx, r15
cmp rsi, r9
jne 0x140032039
cmp rax, r9
je 0x1400320f0
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
add rax, 0x78c554f2
sub rax, 0x78c554e2
cmp rax, r9
jne 0x140032006
jmp 0x1400320f0
xor r8d, r8d
cmp rax, rsi
je 0x140032081
nop dword [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, rdx
mov qword [rax + 8], rdx
xchg r8, rdx
lea rdx, [rdx + 0x10]
sub rax, 0xfffffffffffffff0
cmp rax, rsi
jne 0x14003204a
xchg r10, r12
mov qword [rsp + 0x98], r10
xchg r12, r10
mov rdx, qword [r13 + 8]
cmp rsi, rdx
je 0x1400320f0
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 r15, rax
mov r15, qword [rcx]
xchg r15, rax
mov qword [r9 + rcx + 0x10], rax
mov byte [rcx - 8], 0x6a
xor byte [rcx - 8], 0x5c
xor byte [rcx - 8], 0x21
xor byte [rcx - 8], 0x5d
sub byte [rcx - 8], 0x45
xor byte [rcx - 8], 0x7b
sub byte [rcx - 8], 0x7e
mov qword [rcx], r8
lea rcx, [rcx + 0x10]
lea rax, [rcx - 8]
cmp rax, rdx
jne 0x1400320ab
mov r9, r14
xchg r8, r13
mov r13, qword [rsp + 0x28]
xchg r13, r8
xchg rbx, rdx
mov rbx, r12
xchg rdx, rbx
xchg rcx, r13
mov r13, rcx
xchg r13, rcx
call fcn.140052a00
mov rax, qword [rsp + 0x88]
add rsp, 0x40
nop
add rsp, 8
xchg qword [rsp - 8], r15
nop
add rsp, 8
xchg qword [rsp - 8], r14
nop
mov r13, qword [rsp]
add rsp, 8
nop
mov r12, qword [rsp]
add rsp, 8
nop
add rsp, 8
xchg qword [rsp - 8], rdi
nop
mov rsi, qword [rsp]
add rsp, 8
nop
add rsp, 8
mov rbx, qword [rsp - 8]
nop
add rsp, 8
jmp qword [rsp - 8]
call fcn.14002f940
int3