Function at 0x140031810
Capabilities:
Encode data using xor

Disassembly:
xchg rsi, rcx
mov qword [rsp + 8], rsi
xchg rcx, rsi
push rbx
nop
mov qword [rsp - 8], rsi
sub rsp, 8
nop
sub rsp, 8
mov qword [rsp], rdi
nop
mov qword [rsp - 8], r12
sub rsp, 8
nop
mov qword [rsp - 8], r13
sub rsp, 8
nop
sub rsp, 8
mov qword [rsp], r14
nop
push 0x371f18ac
mov qword [rsp], r15
sub rsp, 0x30
xchg r11, r8
mov r12, r11
xchg r8, r11
xchg rdx, r10
mov rbx, r10
xchg r10, rdx
xchg rcx, r12
mov r14, r12
xchg r12, rcx
mov rdx, qword [rcx]
mov rsi, rbx
sub rsi, rdx
xchg r15, rax
mov r15, qword [rcx + 8]
xchg r15, rax
sub rax, rdx
sar rax, 3
sar rax, 1
movabs rdi, 0xfffffff62646903
add rdi, 0x1fa3ffa
sub rdi, 0x337f22e0
sub rdi, 0xc2fb9d0
xor rdi, 0x31327f89
xor rdi, 0x795cc969
xor rdi, 0x5c728cba
add rdi, 0x33080e9e
add rdi, 0x7fffffff
add rdi, 0x1c43fb4b
cmp rax, rdi
je 0x140031b18
lea r13, [rax + 1]
mov rcx, qword [rcx + 0x10]
sub rcx, rdx
sar rcx, 2
sar rcx, 1
sar rcx, 1
xchg rcx, rbp
mov rdx, rbp
xchg rcx, rbp
shr rdx, 1
mov rax, rdi
sub rax, rdx
cmp rcx, rax
ja 0x14003191d
lea rdi, [rdx + rcx]
cmp rdi, r13
cmovb rdi, r13
mov qword [rsp + 0x88], rdi
xchg rdx, rdi
mov rdi, rdx
xchg rdx, rdi
xchg rbx, rcx
mov rbx, r14
xchg rcx, rbx
call fcn.1400538a0
xchg r12, rax
mov r15, r12
xchg r12, rax
xchg r11, rax
mov qword [rsp + 0x28], r11
xchg r11, rax
and rsi, 0xfffffffffffffff0
add rsi, rax
lea rcx, [rsi + 0x10]
mov qword [rsp + 0x20], rcx
mov qword [rsp + 0x78], rcx
mov rdx, r12
xchg rdi, rcx
mov rdi, rsi
xchg rdi, rcx
call fcn.14002ff90
mov qword [rsp + 0x78], rsi
xchg r9, rdx
mov rdx, qword [r14 + 8]
xchg r9, rdx
xchg r15, rax
mov r15, qword [r14]
xchg r15, rax
mov rdx, r15
cmp rbx, r9
jne 0x1400319e2
cmp rax, r9
je 0x140031a95
xor r8d, r8d
nop word [rax + rax]
movzx ecx, byte [rax]
mov byte [rdx], cl
xchg rcx, rbp
mov rbp, qword [rax + 8]
xchg rbp, rcx
mov qword [rdx + 8], rcx
mov byte [rax], r8b
xchg rdi, r8
mov qword [rax + 8], rdi
xchg r8, rdi
lea rdx, [rdx + 0x10]
neg rax
add rax, 0xfffffffffffffff0
neg rax
cmp rax, r9
jne 0x1400319a6
jmp 0x140031a95
xor r8d, r8d
cmp rax, rbx
je 0x140031a24
nop dword [rax + rax]
movzx ecx, byte [rax]
mov byte [rdx], cl
mov rcx, qword [rax + 8]
xchg rcx, r12
mov qword [rdx + 8], r12
xchg rcx, r12
mov byte [rax], r8b
mov qword [rax + 8], r8
lea rdx, [rdx + 0x10]
neg rax
add rax, 0xfffffffffffffff0
neg rax
cmp rax, rbx
jne 0x1400319f3
mov qword [rsp + 0x78], r15
mov rdx, qword [r14 + 8]
cmp rbx, rdx
je 0x140031a95
lea rcx, [rbx + 8]
xchg rsi, r9
mov rax, r9
xchg r9, rsi
sub rax, rbx
lea r9, [rax + 0x10]
lea r10, [rax + 8]
movzx eax, byte [rcx - 8]
mov byte [r10 + rcx], al
mov rax, qword [rcx]
mov qword [r9 + rcx], rax
mov byte [rcx - 8], 9
add byte [rcx - 8], 0x62
sub byte [rcx - 8], 0x25
add byte [rcx - 8], 0x28
add byte [rcx - 8], 6
xor byte [rcx - 8], 0x23
sub byte [rcx - 8], 0x4f
add byte [rcx - 8], 0x31
sub byte [rcx - 8], 0x39
mov qword [rcx], r8
lea rcx, [rcx + 0x10]
lea rax, [rcx - 8]
cmp rax, rdx
jne 0x140031a4e
xchg rdi, r9
mov rdi, r9
xchg rdi, r9
xchg r8, rdx
mov rdx, r13
xchg rdx, r8
xchg rbp, rdx
mov rbp, r15
xchg rdx, rbp
xchg r14, rcx
mov r14, rcx
xchg rcx, r14
call fcn.140052a00
xchg r11, rax
mov r11, rsi
xchg r11, rax
add rsp, 0x30
nop
add rsp, 8
mov r15, qword [rsp - 8]
nop
add rsp, 8
xchg qword [rsp - 8], r14
nop
xchg qword [rsp], r13
add rsp, 8
nop
xchg qword [rsp], r12
add rsp, 8
nop
mov rdi, qword [rsp]
add rsp, 8
nop
add rsp, 8
xchg qword [rsp - 8], rsi
push rcx
push rax
push rcx
push rdx
xchg qword [rsp + 0x20], rbx
add rsp, 0x28
nop
add rsp, 8
jmp qword [rsp - 8]
call fcn.14002f9c0
int3