Function at 0x140031c20
Capabilities:
Encode data using xor

Disassembly:
xchg rbx, rcx
mov qword [rsp + 8], rbx
xchg rbx, rcx
push rbx
nop
sub rsp, 8
mov qword [rsp], rsi
nop
sub rsp, 8
mov qword [rsp], rdi
nop
mov qword [rsp - 8], r12
sub rsp, 8
nop
sub rsp, 8
mov qword [rsp], r13
push r14
push r15
sub rsp, 0x40
xchg rdi, rbx
mov rdi, r8
xchg rbx, rdi
xchg rsi, rdx
mov rdx, rsi
xchg rsi, rdx
xchg r13, r8
mov r8, rcx
xchg r8, r13
mov rdx, qword [rcx]
xchg r15, rsi
mov rsi, r15
xchg r15, rsi
sub r15, rdx
mov rax, qword [rcx + 8]
sub rax, rdx
sar rax, 2
sar rax, 2
movabs r14, 0xfffffff2ce07a2c
sub r14, 0x1750f3d5
xor r14, 0x2c51d514
add r14, 0x199f0c34
sub r14, 0x10f6fcb9
add r14, 0x7fffffff
xor r14, 0x3d799d42
cmp rax, r14
je 0x140031f79
lea r8, [rax + 1]
xchg r8, r15
mov qword [rsp + 0x28], r15
xchg r15, r8
mov rcx, qword [rcx + 0x10]
sub rcx, rdx
sar rcx, 1
sar rcx, 2
sar rcx, 1
mov rdx, rcx
shr rdx, 1
xchg r14, rax
mov r14, rax
xchg r14, rax
sub rax, rdx
cmp rcx, rax
ja 0x140031d13
lea r14, [rdx + rcx]
cmp r14, r8
cmovb r14, r8
xchg r12, r14
mov qword [rsp + 0x20], r12
xchg r14, r12
xchg rdx, r14
mov r14, rdx
xchg rdx, r14
xchg r13, rcx
mov r13, rcx
xchg rcx, r13
call fcn.140053ae0
xchg rdx, rax
mov r12, rdx
xchg rdx, rax
mov qword [rsp + 0x38], rax
and r15, 0xfffffffffffffff0
add rax, r15
xchg r10, rax
mov qword [rsp + 0x88], r10
xchg r10, rax
lea rcx, [rax + 0x10]
xchg rcx, r8
mov qword [rsp + 0x30], r8
xchg r8, rcx
mov byte [rax], 0x4f
sub byte [rax], 0x48
add byte [rax], 0x19
add byte [rax], 0x20
xor byte [rax], 0x65
sub byte [rax], 0x1d
add byte [rax], 0x4f
sub byte [rax], 0x40
sub byte [rax], 0x17
lea rdi, [rax + 8]
xor ecx, ecx
mov qword [rdi], rcx
mov rbx, qword [rbx]
movzx edx, byte [rax]
xchg r12, rcx
mov r12, rdi
xchg rcx, r12
call fcn.1400545a0
nop
mov rax, qword [rsp + 0x88]
mov byte [rax], 0x2b
add byte [rax], 0x3b
xor byte [rax], 0x76
xor byte [rax], 7
xor byte [rax], 0
xor byte [rax], 0x12
mov qword [rdi], rbx
mov qword [rsp + 0x98], rax
xchg r9, rcx
mov rcx, qword [r13 + 8]
xchg rcx, r9
mov rax, qword [r13]
xchg rdx, r12
mov r12, rdx
xchg r12, rdx
cmp rsi, r9
jne 0x140031e26
cmp rax, r9
je 0x140031ed9
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]
sub rax, 0xfffffffffffffff0
cmp rax, r9
jne 0x140031dfc
jmp 0x140031ed9
xor r8d, r8d
cmp rax, rsi
je 0x140031e62
nop dword [rax + rax]
movzx ecx, byte [rax]
mov byte [rdx], cl
mov rcx, qword [rax + 8]
xchg rcx, r10
mov qword [rdx + 8], r10
xchg r10, rcx
mov byte [rax], r8b
mov qword [rax + 8], r8
lea rdx, [rdx + 0x10]
sub rax, 0xfffffffffffffff0
cmp rax, rsi
jne 0x140031e37
xchg r12, r11
mov qword [rsp + 0x98], r11
xchg r12, r11
xchg rdx, r12
mov r12, qword [r13 + 8]
xchg r12, rdx
cmp rsi, rdx
je 0x140031ed9
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 r10, rax
mov qword [r9 + rcx + 0x10], r10
xchg r10, rax
mov byte [rcx - 8], 0x7e
xor byte [rcx - 8], 0x70
xor byte [rcx - 8], 0x61
sub byte [rcx - 8], 0x3f
sub byte [rcx - 8], 9
sub byte [rcx - 8], 0x27
xchg r8, r11
mov qword [rcx], r11
xchg r11, r8
lea rcx, [rcx + 0x10]
lea rax, [rcx - 8]
cmp rax, rdx
jne 0x140031e92
xchg r9, rbx
mov rbx, r14
xchg r9, rbx
mov r8, qword [rsp + 0x28]
xchg r12, r9
mov rdx, r9
xchg r12, r9
xchg r13, rcx
mov r13, rcx
xchg rcx, r13
call fcn.140052bf0
xchg rdi, rax
mov rdi, qword [rsp + 0x88]
xchg rdi, rax
add rsp, 0x40
nop
xchg qword [rsp], r15
add rsp, 8
nop
add rsp, 8
xchg qword [rsp - 8], r14
nop
mov r13, qword [rsp]
add rsp, 8
push rbx
push rax
push rax
push rcx
push rcx
push rax
push rbx
xchg qword [rsp + 0x38], r12
pop rbx
pop rax
pop rcx
pop rcx
pop rax
pop rax
pop rbx
add rsp, 8
nop
add rsp, 8
xchg qword [rsp - 8], rdi
push rax
push rbx
push rax
xchg qword [rsp + 0x18], rsi
add rsp, 0x20
push rax
push rax
push rcx
push rdx
push rcx
push rdx
push rdx
push rax
xchg qword [rsp + 0x40], rbx
pop rax
pop rdx
pop rdx
pop rcx
pop rdx
pop rcx
pop rax
pop rax
add rsp, 8
nop
add rsp, 8
jmp qword [rsp - 8]
call fcn.14002fa40
int3