Function at 0x140031980
Capabilities:
Encode data using xor

Disassembly:
xchg r8, rcx
mov qword [rsp + 8], r8
xchg r8, rcx
nop
mov qword [rsp - 8], rbx
sub rsp, 8
nop
sub rsp, 8
mov qword [rsp], rsi
nop
sub rsp, 8
mov qword [rsp], rdi
push r12
nop
sub rsp, 8
mov qword [rsp], r13
nop
mov qword [rsp - 8], r14
sub rsp, 8
nop
sub rsp, 8
mov qword [rsp], r15
sub rsp, 0x40
xchg rbx, r8
mov r8, rbx
xchg rbx, r8
mov rsi, rdx
xchg r11, rcx
mov r13, r11
xchg rcx, r11
mov rdx, qword [rcx]
mov r15, rsi
sub r15, rdx
xchg r15, rax
mov r15, qword [rcx + 8]
xchg r15, rax
sub rax, rdx
sar rax, 4
movabs r14, 0xfffffff26c8ca6a
sub r14, 0x22b52178
sub r14, 0x2be61f4
add r14, 0x24a3ed7b
xor r14, 0x29895f66
xor r14, 0x3b2d2ea1
sub r14, 0x30b1569e
sub r14, 0x3abf4cc
add r14, 0x7fffffff
add r14, 0x7d0005ac
cmp rax, r14
je 0x140031cf7
lea r8, [rax + 1]
xchg r8, rbx
mov qword [rsp + 0x28], rbx
xchg rbx, r8
mov rcx, qword [rcx + 0x10]
sub rcx, rdx
sar rcx, 3
sar rcx, 1
xchg rdx, rcx
mov rcx, rdx
xchg rcx, rdx
shr rdx, 1
xchg r14, rax
mov r14, rax
xchg r14, rax
sub rax, rdx
cmp rcx, rax
ja 0x140031a8f
lea r14, [rdx + rcx]
cmp r14, r8
cmovb r14, r8
xchg r14, rsi
mov qword [rsp + 0x20], rsi
xchg r14, rsi
mov rdx, r14
xchg rcx, r10
mov r10, r13
xchg r10, rcx
call fcn.1400537d0
xchg r12, rax
mov rax, r12
xchg r12, rax
xchg rdi, rax
mov qword [rsp + 0x38], rdi
xchg rdi, rax
and r15, 0xfffffffffffffff0
add rax, r15
mov qword [rsp + 0x88], rax
lea rcx, [rax + 0x10]
mov qword [rsp + 0x30], rcx
mov byte [rax], 0x18
xor byte [rax], 0
add byte [rax], 2
add byte [rax], 0x10
sub byte [rax], 7
sub byte [rax], 0x23
lea rdi, [rax + 8]
xor ecx, ecx
xchg rdx, rcx
mov qword [rdi], rdx
xchg rdx, rcx
mov rbx, qword [rbx]
movzx edx, byte [rax]
xchg rdi, rcx
mov rdi, rcx
xchg rdi, rcx
call fcn.1400541f0
nop
mov rax, qword [rsp + 0x88]
mov byte [rax], 0x73
sub byte [rax], 0x23
sub byte [rax], 0x13
add byte [rax], 0x15
sub byte [rax], 0x3a
xor byte [rax], 0x1d
xchg rbx, r12
mov qword [rdi], r12
xchg r12, rbx
xchg rdi, rax
mov qword [rsp + 0x98], rdi
xchg rdi, rax
mov r9, qword [r13 + 8]
xchg rbx, rax
mov rbx, qword [r13]
xchg rbx, rax
xchg rdx, r12
mov r12, rdx
xchg rdx, r12
cmp rsi, r9
jne 0x140031ba1
cmp rax, r9
je 0x140031c53
xor r8d, r8d
nop dword [rax]
nop word [rax + rax]
movzx ecx, byte [rax]
mov byte [rdx], cl
xchg rcx, rdi
mov rdi, qword [rax + 8]
xchg rdi, rcx
mov qword [rdx + 8], rcx
mov byte [rax], r8b
mov qword [rax + 8], r8
lea rdx, [rdx + 0x10]
sub rax, 0xfffffffffffffff0
cmp rax, r9
jne 0x140031b71
jmp 0x140031c53
xor r8d, r8d
cmp rax, rsi
je 0x140031be0
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]
nop
add rax, 0x436013a2
sub rax, 0x43601392
cmp rax, rsi
jne 0x140031bb2
mov qword [rsp + 0x98], r12
xchg rdx, r14
mov r14, qword [r13 + 8]
xchg r14, rdx
cmp rsi, rdx
je 0x140031c53
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], 0x6c
xor byte [rcx - 8], 0x68
xor byte [rcx - 8], 0x79
xor byte [rcx - 8], 0x16
sub byte [rcx - 8], 0x53
add byte [rcx - 8], 0x60
xor byte [rcx - 8], 0x36
xor byte [rcx - 8], 0x79
xor byte [rcx - 8], 0x37
mov qword [rcx], r8
lea rcx, [rcx + 0x10]
lea rax, [rcx - 8]
cmp rax, rdx
jne 0x140031c0a
xchg r14, rbx
mov r9, rbx
xchg rbx, r14
xchg rbx, r8
mov rbx, qword [rsp + 0x28]
xchg rbx, r8
xchg r13, rdx
mov r13, r12
xchg rdx, r13
xchg r10, rcx
mov r10, r13
xchg rcx, r10
call fcn.1400528d0
xchg r12, rax
mov r12, qword [rsp + 0x88]
xchg r12, rax
add rsp, 0x40
nop
add rsp, 8
mov r15, qword [rsp - 8]
nop
xchg qword [rsp], r14
add rsp, 8
push rbx
push rax
push rcx
push rcx
push rax
push rbx
push rdx
xchg qword [rsp + 0x38], r13
add rsp, 0x40
push rcx
push rcx
push rax
push rbx
xchg qword [rsp + 0x20], r12
pop rbx
pop rax
pop rcx
pop rcx
add rsp, 8
push rax
push rcx
push rcx
push rcx
xchg qword [rsp + 0x20], rdi
pop rcx
pop rcx
pop rcx
pop rax
add rsp, 8
nop
add rsp, 8
xchg qword [rsp - 8], rsi
push rax
push rdx
push rcx
push rdx
xchg qword [rsp + 0x20], rbx
pop rdx
pop rcx
pop rdx
pop rax
add rsp, 8
nop
add rsp, 8
jmp qword [rsp - 8]
call fcn.14002f860
int3