Function at 0x140031ec0
Capabilities:
Encode data using xor

Disassembly:
xchg rcx, rsi
mov qword [rsp + 8], rsi
xchg rsi, rcx
nop
sub rsp, 8
mov qword [rsp], rbx
push rsi
nop
sub rsp, 8
mov qword [rsp], rdi
nop
sub rsp, 8
mov qword [rsp], r12
push r13
push r14
nop
sub rsp, 8
mov qword [rsp], r15
sub rsp, 0x40
xchg rbx, r8
mov r8, rbx
xchg rbx, r8
mov rsi, rdx
xchg r9, r13
mov r9, rcx
xchg r13, r9
mov rdx, qword [rcx]
xchg rsi, rdx
mov r15, rdx
xchg rsi, rdx
sub r15, rdx
mov rax, qword [rcx + 8]
sub rax, rdx
sar rax, 3
sar rax, 1
movabs r14, 0xfffffff652f73e1
sub r14, 0x3ba7b11a
sub r14, 0x14a84288
add r14, 0x17d69c22
xor r14, 0x690ae228
sub r14, 0xee73eca
add r14, 0x7fffffff
add r14, 0x492a4081
cmp rax, r14
je 0x140032207
lea r8, [rax + 1]
xchg rdi, r8
mov qword [rsp + 0x28], rdi
xchg r8, rdi
mov rcx, qword [rcx + 0x10]
sub rcx, rdx
sar rcx, 2
sar rcx, 2
mov rdx, rcx
shr rdx, 1
mov rax, r14
sub rax, rdx
cmp rcx, rax
ja 0x140031fac
lea r14, [rdx + rcx]
cmp r14, r8
cmovb r14, r8
xchg rsi, r14
mov qword [rsp + 0x20], rsi
xchg rsi, r14
xchg rdx, r9
mov r9, r14
xchg rdx, r9
xchg r15, rcx
mov r15, r13
xchg rcx, r15
call fcn.140053790
xchg rbp, rax
mov r12, rbp
xchg rbp, rax
mov qword [rsp + 0x38], rax
and r15, 0xfffffffffffffff0
add rax, r15
xchg r12, rax
mov qword [rsp + 0x88], r12
xchg r12, rax
lea rcx, [rax + 0x10]
mov qword [rsp + 0x30], rcx
mov byte [rax], 0x37
add byte [rax], 0x1e
sub byte [rax], 9
xor byte [rax], 0xa
sub byte [rax], 0x21
xor byte [rax], 0x4d
sub byte [rax], 0x68
lea rdi, [rax + 8]
xor ecx, ecx
xchg r12, rcx
mov qword [rdi], r12
xchg rcx, r12
mov rbx, qword [rbx]
movzx edx, byte [rax]
xchg rdi, rcx
mov rdi, rcx
xchg rdi, rcx
call fcn.1400541c0
nop
xchg rdi, rax
mov rdi, qword [rsp + 0x88]
xchg rdi, rax
mov byte [rax], reloc.SHLWAPI.dll_SHCreateMemStream
sub byte [rax], 7
xor byte [rax], 0x3d
xor byte [rax], 0x27
add byte [rax], 0x5f
sub byte [rax], 0x2c
add byte [rax], 0x1f
xor byte [rax], 0x77
xchg rbx, r11
mov qword [rdi], r11
xchg r11, rbx
mov qword [rsp + 0x98], rax
xchg rdi, r9
mov rdi, qword [r13 + 8]
xchg r9, rdi
mov rax, qword [r13]
xchg r8, rdx
mov r8, r12
xchg r8, rdx
cmp rsi, r9
jne 0x1400320d5
cmp rax, r9
je 0x140032186
xor r8d, r8d
nop dword [rax]
nop word [rax + rax]
movzx ecx, byte [rax]
mov byte [rdx], cl
xchg rcx, r10
mov r10, qword [rax + 8]
xchg rcx, r10
xchg r8, rcx
mov qword [rdx + 8], r8
xchg rcx, r8
mov byte [rax], r8b
mov qword [rax + 8], r8
lea rdx, [rdx + 0x10]
sub rax, 0xfffffffffffffff0
cmp rax, r9
jne 0x14003209f
jmp 0x140032186
xor r8d, r8d
cmp rax, rsi
je 0x140032117
nop dword [rax + rax]
movzx ecx, byte [rax]
mov byte [rdx], cl
xchg r12, rcx
mov r12, qword [rax + 8]
xchg r12, rcx
mov qword [rdx + 8], rcx
mov byte [rax], r8b
mov qword [rax + 8], r8
lea rdx, [rdx + 0x10]
neg rax
add rax, 0xfffffffffffffff0
neg rax
cmp rax, rsi
jne 0x1400320e6
mov qword [rsp + 0x98], r12
xchg rdx, rbx
mov rbx, qword [r13 + 8]
xchg rdx, rbx
cmp rsi, rdx
je 0x140032186
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]
mov qword [r9 + rcx + 0x10], rax
mov byte [rcx - 8], 0x59
xor byte [rcx - 8], 0x33
xor byte [rcx - 8], 0x6a
add byte [rcx - 8], 0x51
sub byte [rcx - 8], 9
add byte [rcx - 8], 0x1a
xor byte [rcx - 8], 0x37
sub byte [rcx - 8], 0x55
mov qword [rcx], r8
lea rcx, [rcx + 0x10]
lea rax, [rcx - 8]
cmp rax, rdx
jne 0x140032141
xchg rbx, r9
mov rbx, r14
xchg rbx, r9
mov r8, qword [rsp + 0x28]
xchg rdi, rdx
mov rdi, r12
xchg rdi, rdx
mov rcx, r13
call fcn.140052900
xchg rcx, rax
mov rcx, qword [rsp + 0x88]
xchg rcx, rax
add rsp, 0x40
nop
mov r15, qword [rsp]
add rsp, 8
nop
xchg qword [rsp], r14
add rsp, 8
push rbx
push rbx
push rcx
xchg qword [rsp + 0x18], r13
pop rcx
pop rbx
pop rbx
add rsp, 8
push rcx
push rax
xchg qword [rsp + 0x10], r12
add rsp, 0x18
nop
add rsp, 8
xchg qword [rsp - 8], rdi
push rdx
xchg qword [rsp + 8], rsi
add rsp, 0x10
nop
xchg qword [rsp], rbx
add rsp, 8
nop
add rsp, 8
jmp qword [rsp - 8]
call fcn.14002f990
int3