Function at 0x140031680
Capabilities:
Encode data using xor

Disassembly:
xchg r10, rcx
mov qword [rsp + 8], r10
xchg rcx, r10
push rdi
mov qword [rsp], rbx
push rsi
nop
mov qword [rsp - 8], rdi
sub rsp, 8
nop
mov qword [rsp - 8], r12
sub rsp, 8
nop
sub rsp, 8
mov qword [rsp], r13
push r14
nop
mov qword [rsp - 8], r15
sub rsp, 8
sub rsp, 0x30
xchg r8, rdx
mov r12, rdx
xchg rdx, r8
xchg rcx, rdx
mov rbx, rcx
xchg rcx, rdx
xchg r14, rcx
mov rcx, r14
xchg r14, rcx
xchg r11, rdx
mov r11, qword [rcx]
xchg rdx, r11
xchg rbx, rsi
mov rbx, rsi
xchg rsi, rbx
sub rsi, rdx
mov rax, qword [rcx + 8]
sub rax, rdx
sar rax, 2
sar rax, 2
movabs rdi, 0xfffffff40b5045e
sub rdi, 0x1cbd7998
add rdi, 0x3e1058e5
sub rdi, 0x502ce05b
xor rdi, 0x67ba8773
sub rdi, 0x1fa4020b
xor rdi, 0x3dad32d9
xor rdi, 0x57073433
add rdi, 0x7fffffff
add rdi, 0x43e87b0e
cmp rax, rdi
je 0x140031963
lea r13, [rax + 1]
mov rcx, qword [rcx + 0x10]
sub rcx, rdx
sar rcx, 1
sar rcx, 3
mov rdx, rcx
shr rdx, 1
mov rax, rdi
sub rax, rdx
cmp rcx, rax
ja 0x140031781
lea rdi, [rdx + rcx]
cmp rdi, r13
cmovb rdi, r13
mov qword [rsp + 0x88], rdi
mov rdx, rdi
xchg rbx, rcx
mov rbx, r14
xchg rcx, rbx
call fcn.1400538b0
mov r15, rax
mov qword [rsp + 0x28], rax
and rsi, 0xfffffffffffffff0
add rsi, rax
lea rcx, [rsi + 0x10]
xchg rcx, r15
mov qword [rsp + 0x20], r15
xchg rcx, r15
mov qword [rsp + 0x78], rcx
xchg rdx, r12
mov r12, rdx
xchg r12, rdx
mov rcx, rsi
call fcn.14002fdd0
mov qword [rsp + 0x78], rsi
mov r9, qword [r14 + 8]
mov rax, qword [r14]
xchg r15, r11
mov rdx, r11
xchg r15, r11
cmp rbx, r9
jne 0x14003182e
cmp rax, r9
je 0x1400318e3
xor r8d, r8d
nop word [rax + rax]
movzx ecx, byte [rax]
mov byte [rdx], cl
mov rcx, qword [rax + 8]
xchg r13, rcx
mov qword [rdx + 8], r13
xchg r13, rcx
mov byte [rax], r8b
mov qword [rax + 8], r8
lea rdx, [rdx + 0x10]
add rax, 0x10
cmp rax, r9
jne 0x1400317fe
jmp 0x1400318e3
xor r8d, r8d
cmp rax, rbx
je 0x140031870
nop dword [rax + rax]
movzx ecx, byte [rax]
mov byte [rdx], cl
xchg rcx, r10
mov r10, qword [rax + 8]
xchg r10, rcx
mov qword [rdx + 8], rcx
mov byte [rax], r8b
xchg rsi, r8
mov qword [rax + 8], rsi
xchg r8, rsi
lea rdx, [rdx + 0x10]
sub rax, 0xfffffffffffffff0
cmp rax, rbx
jne 0x14003183f
mov qword [rsp + 0x78], r15
mov rdx, qword [r14 + 8]
cmp rbx, rdx
je 0x1400318e3
lea rcx, [rbx + 8]
xchg r14, rax
mov r14, rsi
xchg r14, rax
sub rax, rbx
lea r9, [rax + 0x10]
lea r10, [rax + 8]
movzx eax, byte [rcx - 8]
mov byte [r10 + rcx], al
xchg r15, rax
mov r15, qword [rcx]
xchg r15, rax
mov qword [r9 + rcx], rax
mov byte [rcx - 8], 0x12
sub byte [rcx - 8], 3
xor byte [rcx - 8], 0x1b
add byte [rcx - 8], 0x4b
sub byte [rcx - 8], 0x2c
sub byte [rcx - 8], 0xe
add byte [rcx - 8], 0x4d
sub byte [rcx - 8], 0x56
xor byte [rcx - 8], 0x1c
mov qword [rcx], r8
lea rcx, [rcx + 0x10]
lea rax, [rcx - 8]
cmp rax, rdx
jne 0x140031898
xchg r9, rdi
mov rdi, r9
xchg rdi, r9
xchg rbp, r13
mov r8, rbp
xchg r13, rbp
xchg r15, rdx
mov r15, rdx
xchg r15, rdx
xchg rcx, r14
mov r14, rcx
xchg rcx, r14
call fcn.140052a00
xchg rbp, rax
mov rbp, rsi
xchg rbp, rax
add rsp, 0x30
nop
xchg qword [rsp], r15
add rsp, 8
nop
add rsp, 8
mov r14, qword [rsp - 8]
nop
mov r13, qword [rsp]
add rsp, 8
nop
add rsp, 8
xchg qword [rsp - 8], r12
push rcx
xchg qword [rsp + 8], rdi
pop rcx
add rsp, 8
nop
mov rsi, qword [rsp]
add rsp, 8
nop
mov rbx, qword [rsp]
add rsp, 8
nop
add rsp, 8
jmp qword [rsp - 8]
call fcn.14002f850
int3