Function at 0x140031770
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rcx
nop
sub rsp, 8
mov qword [rsp], rbx
nop
sub rsp, 8
mov qword [rsp], rsi
push rdi
nop
mov qword [rsp - 8], r12
sub rsp, 8
nop
sub rsp, 8
mov qword [rsp], r13
push r14
push r15
sub rsp, 0x30
mov r12, r8
xchg rbx, rdx
mov rdx, rbx
xchg rbx, rdx
xchg r11, rcx
mov r14, r11
xchg rcx, r11
xchg rdx, rbx
mov rbx, qword [rcx]
xchg rdx, rbx
xchg rsi, rbx
mov rbx, rsi
xchg rbx, rsi
sub rsi, rdx
mov rax, qword [rcx + 8]
sub rax, rdx
sar rax, 1
sar rax, 1
sar rax, 1
sar rax, 1
movabs rdi, 0xfffffff68aa95da
sub rdi, 0x7aaf7ba
sub rdi, 0x3bc97144
sub rdi, 0xe15e2f5
xor rdi, 0x1ef55ddb
xor rdi, 0x1a39f477
add rdi, 0x7fffffff
xor rdi, 0x6c131fb5
cmp rax, rdi
je 0x140031a91
lea r13, [rax + 1]
mov rcx, qword [rcx + 0x10]
sub rcx, rdx
sar rcx, 1
sar rcx, 2
sar rcx, 1
xchg rdi, rdx
mov rdi, rcx
xchg rdx, rdi
shr rdx, 1
xchg rbx, rax
mov rbx, rdi
xchg rbx, rax
sub rax, rdx
cmp rcx, rax
ja 0x140031863
lea rdi, [rdx + rcx]
cmp rdi, r13
cmovb rdi, r13
xchg r11, rdi
mov qword [rsp + 0x88], r11
xchg r11, rdi
xchg rdx, r14
mov r14, rdi
xchg rdx, r14
xchg r10, rcx
mov r10, r14
xchg r10, rcx
call fcn.1400539a0
xchg rdx, r15
mov rdx, rax
xchg rdx, r15
xchg r11, rax
mov qword [rsp + 0x28], r11
xchg r11, rax
and rsi, 0xfffffffffffffff0
add rsi, rax
lea rcx, [rsi + 0x10]
xchg r12, rcx
mov qword [rsp + 0x20], r12
xchg r12, rcx
xchg r13, rcx
mov qword [rsp + 0x78], r13
xchg r13, rcx
xchg r12, rdx
mov r12, rdx
xchg r12, rdx
xchg rcx, r9
mov r9, rsi
xchg rcx, r9
call fcn.14002fe70
mov qword [rsp + 0x78], rsi
xchg r12, r9
mov r12, qword [r14 + 8]
xchg r12, r9
xchg rbx, rax
mov rbx, qword [r14]
xchg rbx, rax
xchg r15, r10
mov rdx, r10
xchg r15, r10
cmp rbx, r9
jne 0x140031945
cmp rax, r9
je 0x140031a10
xor r8d, r8d
nop word [rax + rax]
movzx ecx, byte [rax]
mov byte [rdx], cl
mov rcx, qword [rax + 8]
xchg r11, rcx
mov qword [rdx + 8], r11
xchg r11, rcx
mov byte [rax], r8b
mov qword [rax + 8], r8
lea rdx, [rdx + 0x10]
nop
sub rax, 0x4efe08c1
add rax, 0x4efe08d1
cmp rax, r9
jne 0x14003190c
jmp 0x140031a10
xor r8d, r8d
cmp rax, rbx
je 0x14003198d
nop dword [rax + rax]
movzx ecx, byte [rax]
mov byte [rdx], cl
mov rcx, qword [rax + 8]
xchg r14, rcx
mov qword [rdx + 8], r14
xchg rcx, r14
mov byte [rax], r8b
xchg rbp, r8
mov qword [rax + 8], rbp
xchg rbp, r8
lea rdx, [rdx + 0x10]
neg rax
add rax, 0xfffffffffffffff0
neg rax
cmp rax, rbx
jne 0x140031956
xchg r14, r15
mov qword [rsp + 0x78], r14
xchg r15, r14
xchg rdx, r10
mov r10, qword [r14 + 8]
xchg rdx, r10
cmp rbx, rdx
je 0x140031a10
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
xchg rsi, rax
mov rsi, qword [rcx]
xchg rsi, rax
xchg r15, rax
mov qword [r9 + rcx], r15
xchg r15, rax
mov byte [rcx - 8], 0x57
xor byte [rcx - 8], 0x44
add byte [rcx - 8], 0x50
sub byte [rcx - 8], 0x3e
add byte [rcx - 8], 0x50
xor byte [rcx - 8], 0x5a
xor byte [rcx - 8], 0x2a
xor byte [rcx - 8], 0x28
xor byte [rcx - 8], 0x2d
mov qword [rcx], r8
lea rcx, [rcx + 0x10]
lea rax, [rcx - 8]
cmp rax, rdx
jne 0x1400319c1
xchg rbp, r9
mov rbp, rdi
xchg rbp, r9
xchg r13, r8
mov r13, r8
xchg r13, r8
xchg rdx, r15
mov r15, rdx
xchg r15, rdx
mov rcx, r14
call fcn.140052b30
xchg rsi, rax
mov rsi, rax
xchg rsi, rax
add rsp, 0x30
push rbx
push rdx
push rax
push rax
push rax
push rcx
xchg qword [rsp + 0x30], r15
pop rcx
pop rax
pop rax
pop rax
pop rdx
pop rbx
add rsp, 8
nop
xchg qword [rsp], r14
add rsp, 8
nop
xchg qword [rsp], r13
add rsp, 8
push rbx
xchg qword [rsp + 8], r12
add rsp, 0x10
nop
add rsp, 8
mov rdi, qword [rsp - 8]
push rax
push rcx
push rdx
push rdx
push rbx
xchg qword [rsp + 0x28], rsi
add rsp, 0x30
nop
xchg qword [rsp], rbx
add rsp, 8
ret
call fcn.14002f900
int3