Function at 0x140031810
Capabilities:
Encode data using xor

Disassembly:
xchg rcx, r14
mov qword [rsp + 8], r14
xchg r14, rcx
push rbx
push 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 r12
mov qword [rsp], r15
sub rsp, 0x30
mov r12, r8
xchg rsi, rbx
mov rsi, rdx
xchg rsi, rbx
xchg r14, r10
mov r10, rcx
xchg r10, r14
mov rdx, qword [rcx]
xchg rcx, rsi
mov rcx, rbx
xchg rcx, rsi
sub rsi, rdx
xchg rsi, rax
mov rsi, qword [rcx + 8]
xchg rsi, rax
sub rax, rdx
sar rax, 3
sar rax, 1
movabs rdi, 0xfffffff1adc2807
xor rdi, 0x91fc54d
xor rdi, 0x121a8f1d
add rdi, 0x3822a0ae
sub rdi, 0x3930229f
add rdi, 0x7fffffff
add rdi, 0x7f341f9a
cmp rax, rdi
je 0x140031b10
lea r13, [rax + 1]
mov rcx, qword [rcx + 0x10]
sub rcx, rdx
sar rcx, 3
sar rcx, 1
mov rdx, rcx
shr rdx, 1
xchg rdi, r12
mov rax, r12
xchg r12, rdi
sub rax, rdx
cmp rcx, rax
ja 0x1400318f0
lea rdi, [rdx + rcx]
cmp rdi, r13
cmovb rdi, r13
xchg rdi, r15
mov qword [rsp + 0x88], r15
xchg r15, rdi
mov rdx, rdi
xchg r10, r14
mov rcx, r10
xchg r14, r10
call fcn.1400537f0
xchg r15, r10
mov r10, rax
xchg r15, r10
mov qword [rsp + 0x28], rax
and rsi, 0xfffffffffffffff0
add rsi, rax
lea rcx, [rsi + 0x10]
xchg r9, rcx
mov qword [rsp + 0x20], r9
xchg r9, rcx
mov qword [rsp + 0x78], rcx
xchg r12, rbp
mov rdx, rbp
xchg r12, rbp
xchg rbp, rcx
mov rbp, rsi
xchg rbp, rcx
call fcn.14002ff00
xchg rsi, rbx
mov qword [rsp + 0x78], rbx
xchg rbx, rsi
mov r9, qword [r14 + 8]
xchg rcx, rax
mov rcx, qword [r14]
xchg rcx, rax
xchg r10, rdx
mov r10, r15
xchg r10, rdx
cmp rbx, r9
jne 0x1400319c2
cmp rax, r9
je 0x140031a89
xor r8d, r8d
nop word [rax + rax]
movzx ecx, byte [rax]
mov byte [rdx], cl
xchg rdx, rcx
mov rdx, qword [rax + 8]
xchg rcx, rdx
mov qword [rdx + 8], rcx
mov byte [rax], r8b
mov qword [rax + 8], r8
lea rdx, [rdx + 0x10]
nop
sub rax, 0x26c5a0c3
add rax, 0x26c5a0d3
cmp rax, r9
jne 0x140031989
jmp 0x140031a89
xor r8d, r8d
cmp rax, rbx
je 0x140031a0a
nop dword [rax + rax]
movzx ecx, byte [rax]
mov byte [rdx], cl
mov rcx, qword [rax + 8]
xchg rcx, rbp
mov qword [rdx + 8], rbp
xchg rcx, rbp
mov byte [rax], r8b
xchg rdx, r8
mov qword [rax + 8], rdx
xchg r8, rdx
lea rdx, [rdx + 0x10]
neg rax
add rax, 0xfffffffffffffff0
neg rax
cmp rax, rbx
jne 0x1400319d3
xchg r15, r12
mov qword [rsp + 0x78], r12
xchg r15, r12
mov rdx, qword [r14 + 8]
cmp rbx, rdx
je 0x140031a89
lea rcx, [rbx + 8]
xchg rsi, rax
mov rsi, rax
xchg rsi, rax
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]
xchg rdi, rax
mov qword [r9 + rcx], rdi
xchg rdi, rax
mov byte [rcx - 8], 0x56
xor byte [rcx - 8], 0x4f
add byte [rcx - 8], 0x16
sub byte [rcx - 8], 0x21
sub byte [rcx - 8], 1
add byte [rcx - 8], 0x26
xor byte [rcx - 8], 0x77
add byte [rcx - 8], 0x31
sub byte [rcx - 8], 0x75
xchg r10, r8
mov qword [rcx], r10
xchg r8, r10
lea rcx, [rcx + 0x10]
lea rax, [rcx - 8]
cmp rax, rdx
jne 0x140031a38
xchg rbx, rdi
mov r9, rbx
xchg rbx, rdi
xchg r13, rdx
mov r8, rdx
xchg r13, rdx
xchg rbx, r15
mov rdx, rbx
xchg rbx, r15
xchg r14, rcx
mov r14, rcx
xchg r14, rcx
call fcn.140052940
xchg rdi, rax
mov rdi, rsi
xchg rdi, rax
add rsp, 0x30
nop
xchg qword [rsp], r15
add rsp, 8
nop
add rsp, 8
xchg qword [rsp - 8], r14
push rax
push rax
push rcx
push rcx
push rax
push rdx
xchg qword [rsp + 0x30], r13
pop rdx
pop rax
pop rcx
pop rcx
pop rax
pop rax
add rsp, 8
nop
mov r12, qword [rsp]
add rsp, 8
push rcx
push rax
push rcx
push rax
xchg qword [rsp + 0x20], rdi
add rsp, 0x28
nop
add rsp, 8
xchg qword [rsp - 8], rsi
nop
add rsp, 8
xchg qword [rsp - 8], rbx
ret
call fcn.14002f940
int3