Function at 0x140031210
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rcx
push rbx
push rsi
nop
mov qword [rsp - 8], rdi
sub rsp, 8
push r13
mov qword [rsp], r12
nop
push 0x228f47b2
mov qword [rsp], r13
push r14
nop
sub rsp, 8
mov qword [rsp], r15
sub rsp, 0x30
xchg rdx, rbx
mov rdx, rbx
xchg rbx, rdx
xchg r14, rcx
mov rcx, r14
xchg r14, rcx
mov rdx, qword [rcx]
xchg rbx, rdi
mov rsi, rdi
xchg rbx, rdi
sub rsi, rdx
mov rax, qword [rcx + 8]
sub rax, rdx
sar rax, 3
sar rax, 1
movabs rdi, 0xfffffff2ce60800
xor rdi, 0x7e356e9c
sub rdi, 0x17d3dee1
xor rdi, 0x5108270e
xor rdi, 0x67907f2e
add rdi, 0x7fffffff
xor rdi, 0x73982065
cmp rax, rdi
je 0x14003150c
lea r13, [rax + 1]
mov rcx, qword [rcx + 0x10]
sub rcx, rdx
sar rcx, 2
sar rcx, 2
xchg rdx, rcx
mov rcx, rdx
xchg rcx, rdx
shr rdx, 1
mov rax, rdi
sub rax, rdx
cmp rcx, rax
ja 0x1400312e5
lea rdi, [rdx + rcx]
cmp rdi, r13
cmovb rdi, r13
xchg rdi, r15
mov qword [rsp + 0x88], r15
xchg r15, rdi
xchg rcx, rdi
mov rdx, rcx
xchg rcx, rdi
xchg rcx, r9
mov r9, r14
xchg r9, rcx
call fcn.1400537e0
xchg r15, rbp
mov rbp, rax
xchg rbp, r15
xchg r8, rax
mov qword [rsp + 0x28], r8
xchg r8, rax
and rsi, 0xfffffffffffffff0
lea r12, [rsi + rax]
lea rcx, [r12 + 0x10]
xchg r9, rcx
mov qword [rsp + 0x20], r9
xchg rcx, r9
mov byte [r12], 0x7d
xor byte [r12], 0x54
sub byte [r12], 5
add byte [r12], 0x23
sub byte [r12], 0x22
sub byte [r12], 0x25
lea rcx, [r12 + 8]
xor edx, edx
call fcn.14004baa0
nop
xchg r10, r12
mov qword [rsp + 0x78], r10
xchg r12, r10
mov r9, qword [r14 + 8]
mov rax, qword [r14]
xchg rdx, r15
mov r15, rdx
xchg rdx, r15
cmp rbx, r9
jne 0x1400313d0
cmp rax, r9
je 0x14003148a
xor r8d, r8d
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
xchg r8, r14
mov qword [rax + 8], r14
xchg r14, r8
lea rdx, [rdx + 0x10]
neg rax
add rax, 0xfffffffffffffff0
neg rax
cmp rax, r9
jne 0x140031394
jmp 0x14003148a
xor r8d, r8d
cmp rax, rbx
je 0x140031418
nop dword [rax + rax]
movzx ecx, byte [rax]
mov byte [rdx], cl
xchg rbp, rcx
mov rbp, qword [rax + 8]
xchg rbp, rcx
xchg r15, rcx
mov qword [rdx + 8], r15
xchg r15, rcx
mov byte [rax], r8b
mov qword [rax + 8], r8
lea rdx, [rdx + 0x10]
neg rax
add rax, 0xfffffffffffffff0
neg rax
cmp rax, rbx
jne 0x1400313e1
mov qword [rsp + 0x78], r15
xchg r8, rdx
mov r8, qword [r14 + 8]
xchg r8, rdx
cmp rbx, rdx
je 0x14003148a
lea rcx, [rbx + 8]
sub rsi, rbx
lea r9, [rsi + r15]
lea r10, [rsi + r15]
nop
movzx eax, byte [rcx - 8]
mov byte [r10 + rcx + 8], al
mov rax, qword [rcx]
xchg rsi, rax
mov qword [r9 + rcx + 0x10], rsi
xchg rsi, rax
mov byte [rcx - 8], 0x51
add byte [rcx - 8], 8
add byte [rcx - 8], 0xd
add byte [rcx - 8], 2
sub byte [rcx - 8], 0x2c
xor byte [rcx - 8], 0x78
xor byte [rcx - 8], 0x5b
sub byte [rcx - 8], 0x1f
mov qword [rcx], r8
lea rcx, [rcx + 0x10]
lea rax, [rcx - 8]
cmp rax, rdx
jne 0x140031441
xchg r10, rdi
mov r9, r10
xchg rdi, r10
xchg r9, r8
mov r9, r13
xchg r8, r9
xchg rdx, r11
mov r11, r15
xchg r11, rdx
xchg rdx, r14
mov rcx, rdx
xchg rdx, r14
call fcn.140052970
mov rax, r12
add rsp, 0x30
nop
mov r15, qword [rsp]
add rsp, 8
nop
add rsp, 8
xchg qword [rsp - 8], r14
nop
xchg qword [rsp], r13
add rsp, 8
nop
xchg qword [rsp], r12
add rsp, 8
push rax
push rdx
push rax
push rax
xchg qword [rsp + 0x20], rdi
add rsp, 0x28
nop
add rsp, 8
xchg qword [rsp - 8], rsi
push rdx
push rcx
push rcx
push rax
xchg qword [rsp + 0x20], rbx
add rsp, 0x28
nop
add rsp, 8
jmp qword [rsp - 8]
call fcn.14002f9b0
int3