Function at 0x140031da0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rcx
push rbx
nop
sub rsp, 8
mov qword [rsp], rsi
nop
mov qword [rsp - 8], rdi
sub rsp, 8
nop
sub rsp, 8
mov qword [rsp], r12
nop
mov qword [rsp - 8], r13
sub rsp, 8
nop
mov qword [rsp - 8], r14
sub rsp, 8
nop
sub rsp, 8
mov qword [rsp], r15
sub rsp, 0x40
xchg r8, rbx
mov r8, rbx
xchg rbx, r8
xchg rdx, r15
mov rsi, r15
xchg r15, rdx
xchg rsi, rcx
mov r13, rsi
xchg rcx, rsi
mov rdx, qword [rcx]
xchg r15, r10
mov r10, rsi
xchg r15, r10
sub r15, rdx
mov rax, qword [rcx + 8]
sub rax, rdx
sar rax, 3
sar rax, 1
movabs r14, 0xfffffff4767534a
add r14, 0xcdd5bba
add r14, 0xf44896c
xor r14, 0x364313d1
sub r14, 0x1651c2c8
xor r14, 0x7a7000a2
xor r14, 0x5d971382
add r14, 0x7fffffff
add r14, 0x67608407
cmp rax, r14
je 0x1400320fa
lea r8, [rax + 1]
mov qword [rsp + 0x28], r8
mov rcx, qword [rcx + 0x10]
sub rcx, rdx
sar rcx, 3
sar rcx, 1
xchg r15, rcx
mov rdx, r15
xchg rcx, r15
shr rdx, 1
mov rax, r14
sub rax, rdx
cmp rcx, rax
ja 0x140031ea3
lea r14, [rdx + rcx]
cmp r14, r8
cmovb r14, r8
mov qword [rsp + 0x20], r14
xchg r14, rcx
mov rdx, rcx
xchg r14, rcx
xchg r13, rcx
mov r13, rcx
xchg r13, rcx
call fcn.140053750
xchg r11, r12
mov r11, rax
xchg r11, r12
mov qword [rsp + 0x38], rax
and r15, 0xfffffffffffffff0
add rax, r15
xchg rdi, rax
mov qword [rsp + 0x88], rdi
xchg rdi, rax
lea rcx, [rax + 0x10]
mov qword [rsp + 0x30], rcx
mov byte [rax], 0x16
add byte [rax], 0x5e
sub byte [rax], 0x51
xor byte [rax], 0x49
sub byte [rax], 0x4d
add byte [rax], 0x57
xor byte [rax], 0xc
sub byte [rax], 0x78
lea rdi, [rax + 8]
xor ecx, ecx
xchg rsi, rcx
mov qword [rdi], rsi
xchg rsi, rcx
mov rbx, qword [rbx]
movzx edx, byte [rax]
xchg rsi, rcx
mov rsi, rdi
xchg rcx, rsi
call fcn.1400541d0
nop
mov rax, qword [rsp + 0x88]
mov byte [rax], 0x1c
add byte [rax], 0x14
sub byte [rax], 0x2f
add byte [rax], 2
add byte [rax], 0x1b
add byte [rax], 6
sub byte [rax], 0x1e
xchg rbx, r9
mov qword [rdi], r9
xchg r9, rbx
xchg r11, rax
mov qword [rsp + 0x98], r11
xchg r11, rax
mov r9, qword [r13 + 8]
mov rax, qword [r13]
xchg r15, rdx
mov r15, r12
xchg r15, rdx
cmp rsi, r9
jne 0x140031fc2
cmp rax, r9
je 0x140032074
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
xchg r10, r8
mov qword [rax + 8], r10
xchg r10, r8
lea rdx, [rdx + 0x10]
neg rax
add rax, 0xfffffffffffffff0
neg rax
cmp rax, r9
jne 0x140031f8c
jmp 0x140032074
xor r8d, r8d
cmp rax, rsi
je 0x14003200d
nop dword [rax + rax]
movzx ecx, byte [rax]
mov byte [rdx], cl
mov rcx, qword [rax + 8]
xchg rcx, r15
mov qword [rdx + 8], r15
xchg r15, rcx
mov byte [rax], r8b
xchg r9, r8
mov qword [rax + 8], r9
xchg r9, r8
lea rdx, [rdx + 0x10]
nop
add rax, 0x70fae963
sub rax, 0x70fae953
cmp rax, rsi
jne 0x140031fd3
mov qword [rsp + 0x98], r12
mov rdx, qword [r13 + 8]
cmp rsi, rdx
je 0x140032074
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], 0x76
sub byte [rcx - 8], 0x4b
xor byte [rcx - 8], 0
add byte [rcx - 8], 0x3e
sub byte [rcx - 8], 0x14
xor byte [rcx - 8], 0x55
xchg r8, rdx
mov qword [rcx], rdx
xchg r8, rdx
lea rcx, [rcx + 0x10]
lea rax, [rcx - 8]
cmp rax, rdx
jne 0x140032031
xchg r14, r8
mov r9, r8
xchg r8, r14
xchg r8, r13
mov r13, qword [rsp + 0x28]
xchg r13, r8
xchg rdx, r11
mov r11, r12
xchg rdx, r11
mov rcx, r13
call fcn.1400528c0
xchg r9, rax
mov r9, qword [rsp + 0x88]
xchg r9, rax
add rsp, 0x40
nop
mov r15, qword [rsp]
add rsp, 8
nop
xchg qword [rsp], r14
add rsp, 8
nop
xchg qword [rsp], r13
add rsp, 8
nop
add rsp, 8
xchg qword [rsp - 8], r12
push rdx
push rcx
push rdx
push rax
push rcx
xchg qword [rsp + 0x28], rdi
pop rcx
pop rax
pop rdx
pop rcx
pop rdx
add rsp, 8
push rdx
push rdx
push rcx
push rbx
push rdx
push rcx
xchg qword [rsp + 0x30], rsi
add rsp, 0x38
nop
xchg qword [rsp], rbx
add rsp, 8
ret
call fcn.14002f8b0
int3