Function at 0x140031f80
Capabilities:
Encode data using xor

Disassembly:
xchg rdi, rcx
mov qword [rsp + 8], rdi
xchg rdi, rcx
nop
push 0x8898bae
mov qword [rsp], rbx
push rdi
mov qword [rsp], rsi
nop
sub rsp, 8
mov qword [rsp], rdi
push r13
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 r13, r8
mov rbx, r13
xchg r13, r8
xchg rsi, rdx
mov rdx, rsi
xchg rsi, rdx
xchg r13, r14
mov r14, rcx
xchg r14, r13
xchg rdi, rdx
mov rdi, qword [rcx]
xchg rdi, rdx
xchg r11, rsi
mov r15, r11
xchg r11, rsi
sub r15, rdx
mov rax, qword [rcx + 8]
sub rax, rdx
sar rax, 3
sar rax, 1
movabs r14, 0xfffffff1db6c2a1
add r14, 0x2e360c47
xor r14, 0x438624e3
add r14, 0x384a95f5
add r14, 0x26b968f5
add r14, 0x7fffffff
add r14, 0x1891170b
cmp rax, r14
je 0x1400322ce
lea r8, [rax + 1]
mov qword [rsp + 0x28], r8
mov rcx, qword [rcx + 0x10]
sub rcx, rdx
sar rcx, 4
xchg r13, rdx
mov r13, rcx
xchg r13, rdx
shr rdx, 1
xchg r14, r15
mov rax, r15
xchg r14, r15
sub rax, rdx
cmp rcx, rax
ja 0x14003207c
lea r14, [rdx + rcx]
cmp r14, r8
cmovb r14, r8
xchg r14, r12
mov qword [rsp + 0x20], r12
xchg r12, r14
xchg r9, rdx
mov r9, r14
xchg rdx, r9
mov rcx, r13
call fcn.140053ae0
mov r12, rax
xchg r13, rax
mov qword [rsp + 0x38], r13
xchg r13, rax
and r15, 0xfffffffffffffff0
add rax, r15
mov qword [rsp + 0x88], rax
lea rcx, [rax + 0x10]
mov qword [rsp + 0x30], rcx
mov byte [rax], 0x4c
xor byte [rax], 0x6a
sub byte [rax], 0x16
add byte [rax], 0x50
xor byte [rax], 0x72
add byte [rax], 0x3c
xor byte [rax], 0x4e
lea rdi, [rax + 8]
xor ecx, ecx
mov qword [rdi], rcx
mov rbx, qword [rbx]
movzx edx, byte [rax]
xchg rdi, rcx
mov rdi, rcx
xchg rdi, rcx
call fcn.1400545a0
nop
mov rax, qword [rsp + 0x88]
mov byte [rax], 0x14
add byte [rax], 0x2d
sub byte [rax], 0xc
sub byte [rax], 0x1d
add byte [rax], 0x45
sub byte [rax], 0x23
xor byte [rax], 0x2a
sub byte [rax], 8
sub byte [rax], 2
mov qword [rdi], rbx
xchg rbx, rax
mov qword [rsp + 0x98], rbx
xchg rbx, rax
xchg r9, rdi
mov rdi, qword [r13 + 8]
xchg rdi, r9
mov rax, qword [r13]
mov rdx, r12
cmp rsi, r9
jne 0x14003218f
cmp rax, r9
je 0x140032249
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, rbx
mov qword [rax + 8], rbx
xchg r8, rbx
lea rdx, [rdx + 0x10]
nop
add rax, 0x3d16f38d
sub rax, 0x3d16f37d
cmp rax, r9
jne 0x140032156
jmp 0x140032249
xor r8d, r8d
cmp rax, rsi
je 0x1400321d4
nop dword [rax + rax]
movzx ecx, byte [rax]
mov byte [rdx], cl
mov rcx, qword [rax + 8]
xchg rcx, rdi
mov qword [rdx + 8], rdi
xchg rcx, rdi
mov byte [rax], r8b
mov qword [rax + 8], r8
lea rdx, [rdx + 0x10]
nop
add rax, 0x21404e91
sub rax, 0x21404e81
cmp rax, rsi
jne 0x1400321a0
xchg rdx, r12
mov qword [rsp + 0x98], rdx
xchg r12, rdx
xchg rbx, rdx
mov rbx, qword [r13 + 8]
xchg rbx, rdx
cmp rsi, rdx
je 0x140032249
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 rbx, rax
mov qword [r9 + rcx + 0x10], rbx
xchg rbx, rax
mov byte [rcx - 8], 5
xor byte [rcx - 8], 0x70
xor byte [rcx - 8], 0x37
sub byte [rcx - 8], 0x42
add byte [rcx - 8], 0x58
add byte [rcx - 8], 0xc
sub byte [rcx - 8], 0x64
mov qword [rcx], r8
lea rcx, [rcx + 0x10]
lea rax, [rcx - 8]
cmp rax, rdx
jne 0x140032204
xchg r9, r11
mov r11, r14
xchg r9, r11
xchg r8, rbp
mov rbp, qword [rsp + 0x28]
xchg rbp, r8
xchg r12, rdx
mov r12, rdx
xchg rdx, r12
xchg rcx, r13
mov r13, rcx
xchg rcx, r13
call fcn.140052bf0
mov rax, qword [rsp + 0x88]
add rsp, 0x40
nop
add rsp, 8
mov r15, qword [rsp - 8]
nop
add rsp, 8
mov r14, qword [rsp - 8]
nop
xchg qword [rsp], r13
add rsp, 8
nop
xchg qword [rsp], r12
add rsp, 8
nop
mov rdi, qword [rsp]
add rsp, 8
nop
mov rsi, qword [rsp]
add rsp, 8
push rax
push rdx
xchg qword [rsp + 0x10], rbx
pop rdx
pop rax
add rsp, 8
nop
add rsp, 8
jmp qword [rsp - 8]
call fcn.14002fa40
int3