Function at 0x140031f40
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rcx
nop
sub rsp, 8
mov qword [rsp], rbx
nop
mov qword [rsp - 8], rsi
sub rsp, 8
nop
mov qword [rsp - 8], rdi
sub rsp, 8
nop
sub rsp, 8
mov qword [rsp], r12
nop
sub rsp, 8
mov qword [rsp], r13
push r14
nop
mov qword [rsp - 8], r15
sub rsp, 8
sub rsp, 0x40
xchg rbx, r8
mov r8, rbx
xchg r8, rbx
xchg r13, rdx
mov rsi, r13
xchg r13, rdx
mov r13, rcx
mov rdx, qword [rcx]
xchg rdi, rsi
mov r15, rdi
xchg rsi, rdi
sub r15, rdx
xchg rdx, rax
mov rdx, qword [rcx + 8]
xchg rdx, rax
sub rax, rdx
sar rax, 4
movabs r14, 0xfffffff37887384
xor r14, 0x29801c52
add r14, 0x38a9fd63
add r14, 0x270f3582
xor r14, 0x5c97661d
add r14, 0x36bf6302
sub r14, 0x42cc360f
add r14, 0x7fffffff
add r14, 0x6ab60e67
cmp rax, r14
je 0x140032284
lea r8, [rax + 1]
xchg r8, rdi
mov qword [rsp + 0x28], rdi
xchg r8, rdi
mov rcx, qword [rcx + 0x10]
sub rcx, rdx
sar rcx, 2
sar rcx, 2
xchg rcx, rsi
mov rdx, rsi
xchg rcx, rsi
shr rdx, 1
xchg r14, rax
mov r14, rax
xchg r14, rax
sub rax, rdx
cmp rcx, rax
ja 0x14003204a
lea r14, [rdx + rcx]
cmp r14, r8
cmovb r14, r8
mov qword [rsp + 0x20], r14
xchg r14, rcx
mov rdx, rcx
xchg rcx, r14
mov rcx, r13
call fcn.1400539b0
xchg r12, rax
mov rax, r12
xchg r12, rax
mov qword [rsp + 0x38], rax
and r15, 0xfffffffffffffff0
add rax, r15
xchg r15, rax
mov qword [rsp + 0x88], r15
xchg r15, rax
lea rcx, [rax + 0x10]
mov qword [rsp + 0x30], rcx
mov byte [rax], 0x47
add byte [rax], 0x1e
add byte [rax], 0x10
xor byte [rax], 0x22
sub byte [rax], 0x33
sub byte [rax], 0xb
sub byte [rax], 0x19
lea rdi, [rax + 8]
xor ecx, ecx
mov qword [rdi], rcx
mov rbx, qword [rbx]
movzx edx, byte [rax]
xchg rcx, rdi
mov rdi, rcx
xchg rcx, rdi
call fcn.140054400
nop
xchg r11, rax
mov r11, qword [rsp + 0x88]
xchg r11, rax
mov byte [rax], 0x3c
add byte [rax], 9
xor byte [rax], 0x64
add byte [rax], 0x59
xor byte [rax], 0x59
sub byte [rax], 0x1d
xchg rbx, r9
mov qword [rdi], r9
xchg r9, rbx
xchg r14, rax
mov qword [rsp + 0x98], r14
xchg r14, rax
xchg r9, r14
mov r14, qword [r13 + 8]
xchg r9, r14
mov rax, qword [r13]
xchg rdi, r12
mov rdx, rdi
xchg r12, rdi
cmp rsi, r9
jne 0x14003215f
cmp rax, r9
je 0x14003220d
xor r8d, r8d
nop dword [rax]
nop word [rax + rax]
movzx ecx, byte [rax]
mov byte [rdx], cl
mov rcx, qword [rax + 8]
xchg r12, rcx
mov qword [rdx + 8], r12
xchg rcx, r12
mov byte [rax], r8b
mov qword [rax + 8], r8
lea rdx, [rdx + 0x10]
neg rax
add rax, 0xfffffffffffffff0
neg rax
cmp rax, r9
jne 0x140032129
jmp 0x14003220d
xor r8d, r8d
cmp rax, rsi
je 0x1400321a4
nop dword [rax + rax]
movzx ecx, byte [rax]
mov byte [rdx], cl
xchg rdi, rcx
mov rdi, qword [rax + 8]
xchg rdi, rcx
mov qword [rdx + 8], rcx
mov byte [rax], r8b
mov qword [rax + 8], r8
lea rdx, [rdx + 0x10]
nop
sub rax, 0x610446e3
add rax, 0x610446f3
cmp rax, rsi
jne 0x140032170
mov qword [rsp + 0x98], r12
mov rdx, qword [r13 + 8]
cmp rsi, rdx
je 0x14003220d
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
xchg r14, rax
mov r14, qword [rcx]
xchg r14, rax
xchg rbx, rax
mov qword [r9 + rcx + 0x10], rbx
xchg rbx, rax
mov byte [rcx - 8], 0x2a
sub byte [rcx - 8], 0x18
add byte [rcx - 8], 0x3e
xor byte [rcx - 8], 0x3d
sub byte [rcx - 8], 0x37
sub byte [rcx - 8], 0x36
mov qword [rcx], r8
lea rcx, [rcx + 0x10]
lea rax, [rcx - 8]
cmp rax, rdx
jne 0x1400321c8
mov r9, r14
mov r8, qword [rsp + 0x28]
mov rdx, r12
mov rcx, r13
call fcn.140052b40
mov rax, qword [rsp + 0x88]
add rsp, 0x40
push rcx
push rbx
push rax
push rcx
push rcx
push rcx
push rbx
push rbx
xchg qword [rsp + 0x40], r15
pop rbx
pop rbx
pop rcx
pop rcx
pop rcx
pop rax
pop rbx
pop rcx
add rsp, 8
nop
xchg qword [rsp], r14
add rsp, 8
nop
add rsp, 8
xchg qword [rsp - 8], r13
nop
mov r12, qword [rsp]
add rsp, 8
push rdx
push rbx
push rbx
push rdx
push rbx
push rcx
xchg qword [rsp + 0x30], rdi
add rsp, 0x38
push rcx
xchg qword [rsp + 8], rsi
add rsp, 0x10
nop
mov rbx, qword [rsp]
add rsp, 8
ret
call fcn.14002fa50
int3