Function at 0x140031f10
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rcx
push rbx
push rsi
nop
sub rsp, 8
mov qword [rsp], rdi
push r12
nop
mov qword [rsp - 8], r13
sub rsp, 8
nop
sub rsp, 8
mov qword [rsp], r14
nop
push 0x3b947330
mov qword [rsp], r15
sub rsp, 0x40
mov rbx, r8
xchg rdx, rsi
mov rdx, rsi
xchg rsi, rdx
mov r13, rcx
mov rdx, qword [rcx]
xchg r15, r8
mov r8, rsi
xchg r8, r15
sub r15, rdx
mov rax, qword [rcx + 8]
sub rax, rdx
sar rax, 3
sar rax, 1
movabs r14, 0xfffffff747d365e
xor r14, 0x3a664aa6
xor r14, 0x420c582e
add r14, 0x2ea9e0ef
sub r14, 0x187967fd
add r14, 0x1888897
add r14, 0x4b722aaa
add r14, 0x7fffffff
add r14, 0x10bdaef7
cmp rax, r14
je 0x140032264
lea r8, [rax + 1]
mov qword [rsp + 0x28], r8
mov rcx, qword [rcx + 0x10]
sub rcx, rdx
sar rcx, 3
sar rcx, 1
xchg rbp, rdx
mov rbp, rcx
xchg rbp, rdx
shr rdx, 1
mov rax, r14
sub rax, rdx
cmp rcx, rax
ja 0x140031ff7
lea r14, [rdx + rcx]
cmp r14, r8
cmovb r14, r8
mov qword [rsp + 0x20], r14
xchg r14, r15
mov rdx, r15
xchg r15, r14
xchg r15, rcx
mov r15, r13
xchg rcx, r15
call fcn.1400537a0
xchg rbp, rax
mov r12, rbp
xchg rbp, rax
xchg rbp, rax
mov qword [rsp + 0x38], rbp
xchg rbp, rax
and r15, 0xfffffffffffffff0
add rax, r15
xchg r8, rax
mov qword [rsp + 0x88], r8
xchg r8, rax
lea rcx, [rax + 0x10]
xchg rcx, rsi
mov qword [rsp + 0x30], rsi
xchg rsi, rcx
mov byte [rax], 0xe
add byte [rax], 0x34
sub byte [rax], 0x1e
sub byte [rax], 2
sub byte [rax], 3
add byte [rax], 0x12
sub byte [rax], 0x31
lea rdi, [rax + 8]
xor ecx, ecx
xchg rcx, r15
mov qword [rdi], r15
xchg r15, rcx
mov rbx, qword [rbx]
movzx edx, byte [rax]
xchg rdi, rcx
mov rdi, rcx
xchg rcx, rdi
call fcn.1400541a0
nop
mov rax, qword [rsp + 0x88]
mov byte [rax], 0x28
xor byte [rax], 0x23
xor byte [rax], 0x16
add byte [rax], 0x43
xor byte [rax], 3
sub byte [rax], 0x16
xor byte [rax], 0x52
sub byte [rax], 0x19
xchg r12, rbx
mov qword [rdi], r12
xchg r12, rbx
mov qword [rsp + 0x98], rax
mov r9, qword [r13 + 8]
mov rax, qword [r13]
xchg rdx, r12
mov r12, rdx
xchg r12, rdx
cmp rsi, r9
jne 0x14003211d
cmp rax, r9
je 0x1400321d3
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, r11
mov qword [rax + 8], r11
xchg r8, r11
lea rdx, [rdx + 0x10]
nop
sub rax, 0x39110e24
add rax, 0x39110e34
cmp rax, r9
jne 0x1400320e4
jmp 0x1400321d3
xor r8d, r8d
cmp rax, rsi
je 0x140032168
nop dword [rax + rax]
movzx ecx, byte [rax]
mov byte [rdx], cl
mov rcx, qword [rax + 8]
xchg rbx, rcx
mov qword [rdx + 8], rbx
xchg rcx, rbx
mov byte [rax], r8b
xchg r10, r8
mov qword [rax + 8], r10
xchg r8, r10
lea rdx, [rdx + 0x10]
nop
add rax, 0x7362c16
sub rax, 0x7362c06
cmp rax, rsi
jne 0x14003212e
mov qword [rsp + 0x98], r12
xchg rdx, rdi
mov rdi, qword [r13 + 8]
xchg rdi, rdx
cmp rsi, rdx
je 0x1400321d3
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 r13, rax
mov qword [r9 + rcx + 0x10], r13
xchg r13, rax
mov byte [rcx - 8], 0x71
sub byte [rcx - 8], 5
sub byte [rcx - 8], 1
sub byte [rcx - 8], 4
sub byte [rcx - 8], 0x2c
xor byte [rcx - 8], 0x3b
mov qword [rcx], r8
lea rcx, [rcx + 0x10]
lea rax, [rcx - 8]
cmp rax, rdx
jne 0x140032192
xchg r9, r12
mov r12, r14
xchg r9, r12
mov r8, qword [rsp + 0x28]
mov rdx, r12
xchg rcx, r13
mov r13, rcx
xchg rcx, r13
call fcn.140052930
xchg rcx, rax
mov rcx, qword [rsp + 0x88]
xchg rcx, rax
add rsp, 0x40
nop
add rsp, 8
mov r15, qword [rsp - 8]
push rax
push rdx
push rdx
push rbx
push rax
xchg qword [rsp + 0x28], r14
pop rax
pop rbx
pop rdx
pop rdx
pop rax
add rsp, 8
push rbx
push rax
push rbx
push rdx
xchg qword [rsp + 0x20], r13
pop rdx
pop rbx
pop rax
pop rbx
add rsp, 8
nop
xchg qword [rsp], r12
add rsp, 8
nop
mov rdi, qword [rsp]
add rsp, 8
push rbx
push rcx
push rdx
push rcx
push rcx
push rdx
xchg qword [rsp + 0x30], rsi
add rsp, 0x38
nop
add rsp, 8
mov rbx, qword [rsp - 8]
nop
add rsp, 8
jmp qword [rsp - 8]
call fcn.14002f9e0
int3