Function at 0x140031560
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], r8
xchg rcx, rbx
mov qword [rsp + 8], rbx
xchg rcx, rbx
nop
push r8
mov qword [rsp], rbx
nop
sub rsp, 8
mov qword [rsp], rsi
nop
push r11
mov qword [rsp], rdi
push r12
push r13
nop
sub rsp, 8
mov qword [rsp], r14
nop
mov qword [rsp - 8], r15
sub rsp, 8
sub rsp, 0x50
movaps xmmword [rsp + 0x40], xmm6
mov rdi, rdx
xchg r9, r12
mov r9, rcx
xchg r9, r12
xchg rsi, rdx
mov rsi, qword [rcx]
xchg rsi, rdx
xchg rdi, r14
mov rdi, r14
xchg rdi, r14
sub r14, rdx
mov rax, qword [rcx + 8]
sub rax, rdx
sar rax, 4
movabs rsi, 0xfffffff4250c680
add rsi, 0x2581e1
xor rsi, 0x7730ddaa
add rsi, 0x46074482
sub rsi, 0x5528c875
add rsi, 0x2ffe60
add rsi, 0x7fffffff
xor rsi, 0x59aaefc8
xor esi, 0x59aaefc8
cmp rax, rsi
je 0x1400318f2
lea r8, [rax + 1]
mov qword [rsp + 0x20], r8
mov rcx, qword [rcx + 0x10]
sub rcx, rdx
sar rcx, 3
sar rcx, 1
xchg rcx, rsi
mov rdx, rsi
xchg rcx, rsi
shr rdx, 1
xchg rdi, rax
mov rdi, rsi
xchg rdi, rax
sub rax, rdx
cmp rcx, rax
ja 0x140031658
lea rsi, [rdx + rcx]
cmp rsi, r8
cmovb rsi, r8
xchg r14, rsi
mov qword [rsp + 0xa8], r14
xchg rsi, r14
xchg rdx, r8
mov r8, rsi
xchg rdx, r8
xchg r10, rcx
mov r10, r12
xchg r10, rcx
call fcn.1400539b0
xchg rbx, r15
mov rbx, rax
xchg rbx, r15
mov qword [rsp + 0x30], rax
and r14, 0xfffffffffffffff0
lea r13, [r14 + rax]
lea rcx, [r13 + 0x10]
xchg rcx, r14
mov qword [rsp + 0x28], r14
xchg rcx, r14
mov byte [r13], 0x55
xor byte [r13], 0x38
sub byte [r13], 0x2b
add byte [r13], 0
add byte [r13], 0x16
sub byte [r13], 0x29
xor byte [r13], 0x2a
sub byte [r13], 5
xor eax, eax
mov qword [r13 + 8], rax
mov rax, qword [rsp + 0xa0]
xchg r12, rax
movsd xmm6, qword [r12]
xchg r12, rax
movzx edx, byte [r13]
lea rcx, [r13 + 8]
call fcn.140054400
movsd qword [rsp + 0x98], xmm6
xchg r9, rax
mov r9, qword [rsp + 0x98]
xchg r9, rax
mov qword [r13 + 8], rax
mov byte [r13], 0xd
add byte [r13], 0x5a
sub byte [r13], 0x3d
xor byte [r13], 0x4d
sub byte [r13], 0x55
add byte [r13], 0x18
xor byte [r13], 0x74
sub byte [r13], 3
xor byte [r13], 0x5c
xchg r12, r13
mov qword [rsp + 0x98], r12
xchg r12, r13
mov r9, qword [r12 + 8]
xchg rcx, rdi
mov rdi, qword [r12]
xchg rdi, rcx
xchg r15, rdx
mov r15, rdx
xchg r15, rdx
cmp rdi, r9
jne 0x1400317ae
cmp rcx, r9
je 0x140031866
xor r8d, r8d
nop dword [rax + rax]
movzx eax, byte [rcx]
mov byte [rdx], al
xchg r12, rax
mov r12, qword [rcx + 8]
xchg r12, rax
xchg r8, rax
mov qword [rdx + 8], r8
xchg r8, rax
mov byte [rcx], r8b
xchg r10, r8
mov qword [rcx + 8], r10
xchg r10, r8
lea rdx, [rdx + 0x10]
add rcx, 0x10
cmp rcx, r9
jne 0x140031776
jmp 0x140031866
xor r8d, r8d
cmp rcx, rdi
je 0x1400317ee
nop dword [rax + rax]
movzx eax, byte [rcx]
mov byte [rdx], al
mov rax, qword [rcx + 8]
xchg rsi, rax
mov qword [rdx + 8], rsi
xchg rsi, rax
mov byte [rcx], r8b
xchg r8, rbp
mov qword [rcx + 8], rbp
xchg rbp, r8
lea rdx, [rdx + 0x10]
sub rcx, 0xfffffffffffffff0
cmp rcx, rdi
jne 0x1400317bf
mov qword [rsp + 0x98], r15
mov rdx, qword [r12 + 8]
cmp rdi, rdx
je 0x140031866
lea rcx, [rdi + 8]
sub r14, rdi
lea r9, [r14 + r15]
lea r10, [r14 + r15]
movzx eax, byte [rcx - 8]
mov byte [r10 + rcx + 8], al
xchg r8, rax
mov r8, qword [rcx]
xchg r8, rax
mov qword [r9 + rcx + 0x10], rax
mov byte [rcx - 8], 0x1e
xor byte [rcx - 8], 0x30
xor byte [rcx - 8], 0x2b
add byte [rcx - 8], 0x5d
sub byte [rcx - 8], 0x16
add byte [rcx - 8], 0xb
xor byte [rcx - 8], 0x50
xor byte [rcx - 8], 0x24
sub byte [rcx - 8], 0x23
xchg r14, r8
mov qword [rcx], r14
xchg r14, r8
lea rcx, [rcx + 0x10]
lea rax, [rcx - 8]
cmp rax, rdx
jne 0x140031813
xchg rsi, r12
mov r9, r12
xchg rsi, r12
xchg r8, rdx
mov rdx, qword [rsp + 0x20]
xchg r8, rdx
xchg r8, rdx
mov r8, r15
xchg r8, rdx
xchg r9, rcx
mov r9, r12
xchg rcx, r9
call fcn.140052b40
xchg rdi, rax
mov rdi, r13
xchg rdi, rax
movaps xmm6, xmmword [rsp + 0x40]
add rsp, 0x50
nop
add rsp, 8
xchg qword [rsp - 8], r15
nop
xchg qword [rsp], r14
add rsp, 8
push rdx
push rcx
xchg qword [rsp + 0x10], r13
pop rcx
pop rdx
add rsp, 8
nop
add rsp, 8
xchg qword [rsp - 8], r12
nop
add rsp, 8
mov rdi, qword [rsp - 8]
nop
add rsp, 8
xchg qword [rsp - 8], rsi
nop
add rsp, 8
mov rbx, qword [rsp - 8]
nop
add rsp, 8
jmp qword [rsp - 8]
call fcn.14002fa50
int3