Function at 0x140031bb0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rcx
push rbx
mov qword [rsp], rbx
push rsi
nop
mov qword [rsp - 8], rdi
sub rsp, 8
nop
sub rsp, 8
mov qword [rsp], r12
push r13
nop
sub rsp, 8
mov qword [rsp], r14
nop
sub rsp, 8
mov qword [rsp], r15
sub rsp, 0x40
xchg rbp, rbx
mov rbp, r8
xchg rbp, rbx
xchg rdx, rbx
mov rsi, rbx
xchg rbx, rdx
mov r13, rcx
xchg rdx, rbx
mov rbx, qword [rcx]
xchg rdx, rbx
xchg r15, rsi
mov rsi, r15
xchg r15, rsi
sub r15, rdx
xchg r11, rax
mov r11, qword [rcx + 8]
xchg r11, rax
sub rax, rdx
sar rax, 1
sar rax, 3
movabs r14, 0xfffffff70bb6529
add r14, 0xe91a312
xor r14, 0x244f5447
xor r14, 0x967b9f5
sub r14, 0x103afc91
sub r14, 0x29c8295a
add r14, 0x12498c10
add r14, 0x7fffffff
add r14, 0x5553b452
cmp rax, r14
je 0x140031ef9
lea r8, [rax + 1]
mov qword [rsp + 0x28], r8
mov rcx, qword [rcx + 0x10]
sub rcx, rdx
sar rcx, 2
sar rcx, 1
sar rcx, 1
xchg rcx, r15
mov rdx, r15
xchg rcx, r15
shr rdx, 1
xchg r14, rax
mov r14, rax
xchg r14, rax
sub rax, rdx
cmp rcx, rax
ja 0x140031cb1
lea r14, [rdx + rcx]
cmp r14, r8
cmovb r14, r8
xchg rbx, r14
mov qword [rsp + 0x20], rbx
xchg rbx, r14
mov rdx, r14
mov rcx, r13
call fcn.1400538e0
xchg rbx, rax
mov r12, rbx
xchg rbx, rax
xchg r15, rax
mov qword [rsp + 0x38], r15
xchg r15, rax
and r15, 0xfffffffffffffff0
add rax, r15
mov qword [rsp + 0x88], rax
lea rcx, [rax + 0x10]
xchg r14, rcx
mov qword [rsp + 0x30], r14
xchg rcx, r14
mov byte [rax], 0x1f
add byte [rax], 0x3d
sub byte [rax], 0x50
add byte [rax], 0x47
xor byte [rax], 0x12
add byte [rax], 9
xor byte [rax], 0x59
sub byte [rax], 0x13
lea rdi, [rax + 8]
xor ecx, ecx
mov qword [rdi], rcx
mov rbx, qword [rbx]
movzx edx, byte [rax]
xchg rbx, rdi
mov rcx, rbx
xchg rbx, rdi
call fcn.140054390
nop
mov rax, qword [rsp + 0x88]
mov byte [rax], 0x35
add byte [rax], 0x22
add byte [rax], 0x17
add byte [rax], 0
add byte [rax], 3
sub byte [rax], 0x45
add byte [rax], 0x21
xor byte [rax], 0x59
sub byte [rax], 0xf
xchg rbx, rcx
mov qword [rdi], rcx
xchg rcx, rbx
xchg rbp, rax
mov qword [rsp + 0x98], rbp
xchg rbp, rax
xchg r9, rcx
mov rcx, qword [r13 + 8]
xchg rcx, r9
mov rax, qword [r13]
xchg rdx, r14
mov r14, r12
xchg rdx, r14
cmp rsi, r9
jne 0x140031dd7
cmp rax, r9
je 0x140031e8a
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, r12
mov qword [rax + 8], r12
xchg r12, r8
lea rdx, [rdx + 0x10]
nop
add rax, 0x45aa52ea
sub rax, 0x45aa52da
cmp rax, r9
jne 0x140031d9e
jmp 0x140031e8a
xor r8d, r8d
cmp rax, rsi
je 0x140031e13
nop dword [rax + rax]
movzx ecx, byte [rax]
mov byte [rdx], cl
xchg rcx, rbx
mov rbx, qword [rax + 8]
xchg rcx, rbx
mov qword [rdx + 8], rcx
mov byte [rax], r8b
mov qword [rax + 8], r8
lea rdx, [rdx + 0x10]
add rax, 0x10
cmp rax, rsi
jne 0x140031de8
mov qword [rsp + 0x98], r12
xchg r12, rdx
mov r12, qword [r13 + 8]
xchg rdx, r12
cmp rsi, rdx
je 0x140031e8a
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]
xchg rbp, rax
mov qword [r9 + rcx + 0x10], rbp
xchg rbp, rax
mov byte [rcx - 8], 0xc
add byte [rcx - 8], 0x1d
add byte [rcx - 8], 0x49
sub byte [rcx - 8], 0x53
add byte [rcx - 8], 0x1e
xor byte [rcx - 8], 0x5d
sub byte [rcx - 8], 0x36
add byte [rcx - 8], 2
sub byte [rcx - 8], 0x2c
mov qword [rcx], r8
lea rcx, [rcx + 0x10]
lea rax, [rcx - 8]
cmp rax, rdx
jne 0x140031e3d
xchg r14, r9
mov r14, r9
xchg r9, r14
mov r8, qword [rsp + 0x28]
mov rdx, r12
xchg r15, rcx
mov r15, r13
xchg r15, rcx
call fcn.140052a50
mov rax, qword [rsp + 0x88]
add rsp, 0x40
nop
mov r15, qword [rsp]
add rsp, 8
push rdx
xchg qword [rsp + 8], r14
pop rdx
add rsp, 8
nop
xchg qword [rsp], r13
add rsp, 8
nop
add rsp, 8
xchg qword [rsp - 8], r12
nop
mov rdi, qword [rsp]
add rsp, 8
nop
mov rsi, qword [rsp]
add rsp, 8
nop
add rsp, 8
mov rbx, qword [rsp - 8]
ret
call fcn.14002f9e0
int3