Function at 0x140031aa0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rcx
nop
sub rsp, 8
mov qword [rsp], rbx
nop
mov qword [rsp - 8], rsi
sub rsp, 8
nop
mov qword [rsp - 8], rdi
sub rsp, 8
push r12
nop
mov qword [rsp - 8], r13
sub rsp, 8
nop
sub rsp, 8
mov qword [rsp], r14
nop
sub rsp, 8
mov qword [rsp], r15
sub rsp, 0x40
xchg rbx, r8
mov r8, rbx
xchg r8, rbx
xchg rdx, rbp
mov rsi, rbp
xchg rbp, rdx
xchg rcx, r13
mov rcx, r13
xchg rcx, r13
mov rdx, qword [rcx]
xchg r15, rbx
mov rbx, rsi
xchg r15, rbx
sub r15, rdx
xchg rdi, rax
mov rdi, qword [rcx + 8]
xchg rdi, rax
sub rax, rdx
sar rax, 2
sar rax, 2
movabs r14, 0xfffffff17bdc0d1
xor r14, 0x552771ac
add r14, 0x32ecda7f
sub r14, 0x4fbc8f5
sub r14, 0x32e70092
sub r14, 0x362c3a09
add r14, 0x7fffffff
xor r14, 0x78877794
cmp rax, r14
je 0x140031e16
lea r8, [rax + 1]
xchg rsi, r8
mov qword [rsp + 0x28], rsi
xchg rsi, r8
mov rcx, qword [rcx + 0x10]
sub rcx, rdx
sar rcx, 2
sar rcx, 2
xchg rsi, rdx
mov rsi, rcx
xchg rdx, rsi
shr rdx, 1
xchg r13, rax
mov r13, r14
xchg r13, rax
sub rax, rdx
cmp rcx, rax
ja 0x140031bad
lea r14, [rdx + rcx]
cmp r14, r8
cmovb r14, r8
mov qword [rsp + 0x20], r14
xchg r9, r14
mov rdx, r9
xchg r14, r9
xchg r13, r15
mov rcx, r15
xchg r13, r15
call fcn.1400538f0
xchg r8, rax
mov r12, r8
xchg r8, rax
xchg rbx, rax
mov qword [rsp + 0x38], rbx
xchg rbx, rax
and r15, 0xfffffffffffffff0
add rax, r15
mov qword [rsp + 0x88], rax
lea rcx, [rax + 0x10]
mov qword [rsp + 0x30], rcx
mov byte [rax], 0x56
xor byte [rax], 0x19
add byte [rax], 0x21
sub byte [rax], 0x20
xor byte [rax], 0x5a
add byte [rax], 0x71
sub byte [rax], 0x5a
sub byte [rax], 8
xor byte [rax], 0x19
lea rdi, [rax + 8]
xor ecx, ecx
mov qword [rdi], rcx
mov rbx, qword [rbx]
movzx edx, byte [rax]
xchg r13, rcx
mov r13, rdi
xchg r13, rcx
call fcn.1400542b0
nop
xchg r13, rax
mov r13, qword [rsp + 0x88]
xchg r13, rax
mov byte [rax], 0x18
sub byte [rax], 3
xor byte [rax], 0x3f
xor byte [rax], 0x58
xor byte [rax], 0x1d
sub byte [rax], 0xe
sub byte [rax], 0x23
xor byte [rax], 0xf
sub byte [rax], 0x2c
mov qword [rdi], rbx
xchg rbp, rax
mov qword [rsp + 0x98], rbp
xchg rbp, rax
xchg r9, rdi
mov rdi, qword [r13 + 8]
xchg r9, rdi
xchg rbp, rax
mov rbp, qword [r13]
xchg rbp, rax
mov rdx, r12
cmp rsi, r9
jne 0x140031cd2
cmp rax, r9
je 0x140031d94
xor r8d, r8d
nop dword [rax]
nop word [rax + rax]
movzx ecx, byte [rax]
mov byte [rdx], cl
mov rcx, qword [rax + 8]
xchg rcx, r11
mov qword [rdx + 8], r11
xchg r11, rcx
mov byte [rax], r8b
mov qword [rax + 8], r8
lea rdx, [rdx + 0x10]
nop
sub rax, 0x13f37992
add rax, 0x13f379a2
cmp rax, r9
jne 0x140031c99
jmp 0x140031d94
xor r8d, r8d
cmp rax, rsi
je 0x140031d1d
nop dword [rax + rax]
movzx ecx, byte [rax]
mov byte [rdx], cl
xchg rcx, rbp
mov rbp, qword [rax + 8]
xchg rbp, rcx
xchg r10, rcx
mov qword [rdx + 8], r10
xchg rcx, r10
mov byte [rax], r8b
mov qword [rax + 8], r8
lea rdx, [rdx + 0x10]
nop
add rax, 0x6f3e2496
sub rax, 0x6f3e2486
cmp rax, rsi
jne 0x140031ce3
mov qword [rsp + 0x98], r12
mov rdx, qword [r13 + 8]
cmp rsi, rdx
je 0x140031d94
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]
xchg rdx, rax
mov qword [r9 + rcx + 0x10], rdx
xchg rdx, rax
mov byte [rcx - 8], 0x61
sub byte [rcx - 8], 0x27
add byte [rcx - 8], 0x13
xor byte [rcx - 8], 0x31
sub byte [rcx - 8], 0x5b
add byte [rcx - 8], 0x16
add byte [rcx - 8], 0x10
sub byte [rcx - 8], 0xf
sub byte [rcx - 8], 0x38
xchg r8, r14
mov qword [rcx], r14
xchg r8, r14
lea rcx, [rcx + 0x10]
lea rax, [rcx - 8]
cmp rax, rdx
jne 0x140031d41
xchg r9, r14
mov r14, r9
xchg r14, r9
xchg r8, r10
mov r10, qword [rsp + 0x28]
xchg r8, r10
mov rdx, r12
xchg r13, rbp
mov rcx, rbp
xchg rbp, r13
call fcn.140052a00
xchg rbx, rax
mov rbx, qword [rsp + 0x88]
xchg rbx, rax
add rsp, 0x40
nop
add rsp, 8
mov r15, qword [rsp - 8]
nop
add rsp, 8
xchg qword [rsp - 8], r14
nop
add rsp, 8
xchg qword [rsp - 8], r13
nop
mov r12, qword [rsp]
add rsp, 8
push rax
xchg qword [rsp + 8], rdi
add rsp, 0x10
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