Function at 0x140031ba0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rcx
push rbx
nop
sub rsp, 8
mov qword [rsp], rsi
push rdi
nop
sub rsp, 8
mov qword [rsp], r12
nop
sub rsp, 8
mov qword [rsp], r13
nop
sub rsp, 8
mov qword [rsp], r14
nop
sub rsp, 8
mov qword [rsp], r15
sub rsp, 0x40
mov rbx, r8
xchg rdx, rsi
mov rdx, rsi
xchg rdx, rsi
xchg r13, rdx
mov rdx, rcx
xchg r13, rdx
xchg r9, rdx
mov r9, qword [rcx]
xchg r9, rdx
xchg r15, r9
mov r9, rsi
xchg r15, r9
sub r15, rdx
xchg rsi, rax
mov rsi, qword [rcx + 8]
xchg rsi, rax
sub rax, rdx
sar rax, 3
sar rax, 1
movabs r14, 0xfffffff34b7f9c4
sub r14, 0x133dfe8d
add r14, 0x9eb7a45
add r14, 0x2215f3fd
sub r14, 0x144378b6
xor r14, 0x68b5ae55
add r14, 0x7fffffff
add r14, 0x2e7da16a
cmp rax, r14
je 0x140031efd
lea r8, [rax + 1]
xchg r8, r9
mov qword [rsp + 0x28], r9
xchg r8, r9
mov rcx, qword [rcx + 0x10]
sub rcx, rdx
sar rcx, 1
sar rcx, 3
xchg r10, rcx
mov rdx, r10
xchg rcx, r10
shr rdx, 1
mov rax, r14
sub rax, rdx
cmp rcx, rax
ja 0x140031c9b
lea r14, [rdx + rcx]
cmp r14, r8
cmovb r14, r8
mov qword [rsp + 0x20], r14
xchg r14, rdx
mov r14, rdx
xchg r14, rdx
xchg rcx, rdi
mov rdi, r13
xchg rdi, rcx
call fcn.1400537a0
xchg r8, rax
mov r12, r8
xchg r8, rax
xchg r15, rax
mov qword [rsp + 0x38], r15
xchg r15, rax
and r15, 0xfffffffffffffff0
add rax, r15
xchg rbx, rax
mov qword [rsp + 0x88], rbx
xchg rbx, rax
lea rcx, [rax + 0x10]
xchg rcx, r8
mov qword [rsp + 0x30], r8
xchg rcx, r8
mov byte [rax], 0x24
add byte [rax], 3
add byte [rax], 0x27
add byte [rax], 0x2e
xor byte [rax], 0x3d
sub byte [rax], 0x29
add byte [rax], 0x3d
xor byte [rax], 0x55
lea rdi, [rax + 8]
xor ecx, ecx
mov qword [rdi], rcx
mov rbx, qword [rbx]
movzx edx, byte [rax]
xchg rdx, rdi
mov rcx, rdx
xchg rdx, rdi
call fcn.1400541a0
nop
mov rax, qword [rsp + 0x88]
mov byte [rax], 0x60
xor byte [rax], 0x6c
add byte [rax], 0x6b
sub byte [rax], 0x26
sub byte [rax], 0x4c
add byte [rax], 0x2a
add byte [rax], 0x10
xor byte [rax], 0x61
sub byte [rax], 0x59
mov qword [rdi], rbx
mov qword [rsp + 0x98], rax
xchg rdi, r9
mov rdi, qword [r13 + 8]
xchg r9, rdi
xchg rsi, rax
mov rsi, qword [r13]
xchg rsi, rax
xchg r15, r12
mov rdx, r15
xchg r15, r12
cmp rsi, r9
jne 0x140031dbc
cmp rax, r9
je 0x140031e73
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 r8, r10
mov qword [rax + 8], r10
xchg r10, r8
lea rdx, [rdx + 0x10]
add rax, 0x10
cmp rax, r9
jne 0x140031d8c
jmp 0x140031e73
xor r8d, r8d
cmp rax, rsi
je 0x140031e0a
nop dword [rax + rax]
movzx ecx, byte [rax]
mov byte [rdx], cl
xchg rcx, rsi
mov rsi, qword [rax + 8]
xchg rsi, rcx
xchg rcx, r11
mov qword [rdx + 8], r11
xchg rcx, r11
mov byte [rax], r8b
xchg r14, r8
mov qword [rax + 8], r14
xchg r14, r8
lea rdx, [rdx + 0x10]
neg rax
add rax, 0xfffffffffffffff0
neg rax
cmp rax, rsi
jne 0x140031dcd
mov qword [rsp + 0x98], r12
mov rdx, qword [r13 + 8]
cmp rsi, rdx
je 0x140031e73
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], 0x5d
add byte [rcx - 8], 0x20
sub byte [rcx - 8], 0x52
xor byte [rcx - 8], 0x1b
xor byte [rcx - 8], 0x3e
add byte [rcx - 8], 0x2a
add byte [rcx - 8], 3
sub byte [rcx - 8], 0x3b
mov qword [rcx], r8
lea rcx, [rcx + 0x10]
lea rax, [rcx - 8]
cmp rax, rdx
jne 0x140031e2e
xchg r14, r9
mov r14, r9
xchg r14, r9
xchg rbp, r8
mov rbp, qword [rsp + 0x28]
xchg r8, rbp
mov rdx, r12
mov rcx, r13
call fcn.140052930
mov rax, qword [rsp + 0x88]
add rsp, 0x40
nop
add rsp, 8
mov r15, qword [rsp - 8]
nop
add rsp, 8
mov r14, qword [rsp - 8]
nop
xchg qword [rsp], r13
add rsp, 8
nop
add rsp, 8
xchg qword [rsp - 8], r12
push rbx
push rbx
push rdx
push rdx
push rbx
push rax
push rax
push rdx
xchg qword [rsp + 0x40], rdi
add rsp, 0x48
push rcx
push rdx
push rdx
push rbx
push rdx
push rcx
push rbx
xchg qword [rsp + 0x38], rsi
pop rbx
pop rcx
pop rdx
pop rbx
pop rdx
pop rdx
pop rcx
add rsp, 8
push rdx
push rdx
push rcx
push rax
push rdx
push rdx
xchg qword [rsp + 0x30], rbx
add rsp, 0x38
ret
call fcn.14002f9e0
int3