Function at 0x140064590
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
mov eax, 0x1098
call fcn.1400ef330
sub rsp, rax
movaps xmmword [rsp + 0x1080], xmm7
movaps xmmword [rsp + 0x1070], xmm6
mov rdi, rcx
lea rbx, [rcx + 0x10]
mov rax, qword [rdx]
mov qword [rsp + 0x20], rax
mov rax, qword [rdx + 0x18]
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x28], rdx
movups xmm0, xmmword [rdx + 8]
movaps xmmword [rsp + 0x60], xmm0
mov rax, qword [rcx + 0x810]
cmp rax, 0x40
jae 0x140064638
shl rax, 5
mov rcx, qword [rsp + 0x20]
mov qword [rbx + rax], rcx
movaps xmm0, xmmword [rsp + 0x60]
movups xmmword [rbx + rax + 8], xmm0
mov rcx, qword [rsp + 0x70]
mov qword [rbx + rax + 0x18], rcx
inc qword [rdi + 0x810]
movaps xmm6, xmmword [rsp + 0x1070]
movaps xmm7, xmmword [rsp + 0x1080]
add rsp, 0x1098
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rax, qword [rsp + 0x28]
add rax, 8
mov qword [rsp + 0x58], rax
nop word cs:[rax + rax]
mov eax, dword [0x141dc9e40]
or eax, dword [0x141dc9e44]
cmp eax, 0xb04b004a
je 0x140064650
nop word cs:[rax + rax]
mov eax, dword [0x141dc9e48]
xor eax, dword [0x141dc9e4c]
xor eax, 0xd031823
or eax, 0xb0f8e11c
xor eax, 0x3ae50ecd
cmp eax, 0x8c9c0191
ja 0x140064670
cmp qword [rsp + 0x20], 0
je 0x140064b90
xor r13d, r13d
movups xmm6, xmmword [0x141db9040]
movups xmm7, xmmword [0x141db9030]
lea r12, [rsp + 0x870]
lea r15, [rsp + 0x60]
mov ebp, 0xf51ffa7f
mov r14d, 0x819e6f73
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x48], rbx
jmp 0x14006473c
mov rax, rcx
lock cmpxchg qword [rsi + 0x100], r12
mov rax, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x28]
mov qword [rcx], rax
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x58]
mov qword [rcx + 0x10], rax
movaps xmm0, xmmword [rsp + 0x30]
movups xmmword [rcx], xmm0
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x70], rax
movaps xmm0, xmmword [rsp + 0x30]
movaps xmmword [rsp + 0x60], xmm0
mov rax, qword [rdi + 0x810]
cmp rax, 0x40
lea r12, [rsp + 0x870]
jb 0x1400645ec
mov eax, dword [0x141dc9e68]
xor edx, edx
div dword [0x141dc9e6c]
and eax, 0x53726dfa
imul eax, eax, 0x59925446
cmp eax, 0x976e462c
jbe 0x140064770
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x40], rax
movaps xmm0, xmmword [rsp + 0x60]
movaps xmmword [rsp + 0x30], xmm0
mov eax, dword [0x141dc9e70]
xor edx, edx
div dword [0x141dc9e74]
xor eax, 0x808000a0
or eax, 0x7f7ffb5f
movaps xmm0, xmmword [rsp + 0x60]
movaps xmmword [rsp + 0x30], xmm0
mov rcx, qword [rsp + 0x70]
mov qword [rsp + 0x40], rcx
cmp eax, 0x13e33f2
jb 0x140064770
mov rsi, qword [rdi + 8]
nop word [rax + rax]
test r13b, r13b
jne 0x1400647b0
mov eax, 0x60
nop word [rax + rax]
movups xmmword [rsp + rax + 0x10], xmm6
movups xmmword [rsp + rax], xmm7
movups xmmword [rsp + rax + 0x20], xmm7
movups xmmword [rsp + rax + 0x30], xmm6
movups xmmword [rsp + rax + 0x40], xmm7
movups xmmword [rsp + rax + 0x50], xmm6
movups xmmword [rsp + rax + 0x60], xmm7
movups xmmword [rsp + rax + 0x70], xmm6
sub rax, 0xffffffffffffff80
cmp rax, 0x860
jne 0x1400647c0
mov r8d, 0x800
mov rcx, r12
mov rdx, r15
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [0x141dc9e78]
and eax, dword [0x141dc9e7c]
and eax, 0x8010096
xor eax, 0x2040e492
cmp eax, 0xc0c4f0b6
ja 0x140064865
nop word cs:[rax + rax]
mov r8d, 0x808
mov rcx, r15
mov rdx, rbx
call sub.VCRUNTIME140.dll_memcpy
mov r8d, 0x800
mov rcx, rbx
mov rdx, r12
call sub.VCRUNTIME140.dll_memcpy
mov qword [rdi + 0x810], 0
mfence
test r13b, r13b
je 0x1400648a0
mov r8d, 0x808
mov rcx, r15
mov rdx, rbx
call sub.VCRUNTIME140.dll_memcpy
mov r8d, 0x800
mov rcx, rbx
mov rdx, r12
call sub.VCRUNTIME140.dll_memcpy
mov qword [rdi + 0x810], 0
mfence
jmp 0x140064830
mov eax, dword [0x141dc9e80]
or eax, dword [0x141dc9e84]
xor eax, 0x1c008000
or eax, 0xc3fb3ca8
add eax, 0x53f92034
cmp eax, 0xaa405d84
jbe 0x1400648dc
mov rax, qword [rsi + 0x180]
movzx eax, byte [0x141ddb278]
mov edx, 0x818
xor ecx, ecx
call fcn.1400c0180
mov r15d, 0xd269008b
nop word cs:[rax + rax]
mov ebx, dword [0x141dc9e88]
sub ebx, dword [0x141dc9e8c]
xor ebx, 0xad7387e6
imul rbx, r15
shr rbx, 0x3d
mov rdi, qword [rsi + 0x180]
movzx eax, byte [0x141ddb278]
mov edx, 0x818
xor ecx, ecx
call fcn.1400c0180
cmp ebx, 0x86950508
je 0x1400648f0
mov r12, rax
test rax, rax
je 0x140064bf9
mov eax, dword [0x141dc9e98]
and eax, dword [str.___l]
add eax, 0x2bbec240
xor eax, 0x44dbfbbf
cmp eax, 0xb6c730b7
ja 0x140064938
mov eax, dword [0x141dc9ea0]
or eax, dword [0x141dc9ea4]
imul rax, rax, 0x710f715
shr rax, 0x39
imul eax, eax, 0x5416c11c
add eax, 0x17065526
cmp eax, 0xc93c817c
lea r15, [rsp + 0x60]
jbe 0x1400649a0
mov r8d, 0x808
mov rcx, r12
mov rdx, r15
call sub.VCRUNTIME140.dll_memcpy
nop word cs:[rax + rax]
mov ebx, dword [0x141dc9ea8]
sub ebx, dword [0x141dc9eac]
add ebx, 0x657ead6
or ebx, 0x98227855
mov r8d, 0x808
mov rcx, r12
mov rdx, r15
call sub.VCRUNTIME140.dll_memcpy
cmp ebx, 0x181ee4ef
jb 0x1400649a0
mov qword [r12 + 0x808], rdi
mov qword [r12 + 0x810], 0
mov rdi, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x48]
nop
mov eax, dword [0x141dc9eb0]
xor eax, dword [0x141dc9eb4]
imul eax, eax, 0x201dff38
add eax, 0x2839fb33
cmp eax, 0x3ce63d83
jae 0x140064a20
mov rax, qword [rsi + 0x100]
nop word cs:[rax + rax]
mov rcx, qword [rsi + 0x100]
test r13b, r13b
jne 0x140064a20
mov rdx, rcx
and rdx, 0xfffffffffffffff8
mov r8, qword [rdx + 0x810]
nop word [rax + rax]
mov eax, dword [0x141dc9eb8]
sub eax, dword [0x141dc9ebc]
imul eax, eax, 0x2993b585
add eax, 0x4deb87fe
xor eax, 0x587262d9
cmp eax, 0x30744b71
ja 0x140064a40
cmp r8, 7
ja 0x140064aa0
mov eax, dword [0x141dc9ec0]
mov r8d, dword [0x141dc9ec4]
add eax, r8d
add eax, 0x570418d6
xor eax, 0x57e8522
add eax, 0xec72eff5
cmp eax, 0x837f25e3
jbe 0x140064ae0
jmp 0x140064b14
mov rax, rcx
lock cmpxchg qword [rsi + 0x100], r8
nop dword [rax]
mov eax, dword [0x141dc9ed8]
xor edx, edx
div dword [0x141dc9edc]
add eax, 0x4aa1d2b9
xor eax, 0xd22369c1
imul rax, r14
shr rax, 0x3d
cmp eax, 0x6741d424
ja 0x140064ab0
jmp 0x140064b60
mov r9d, dword [0x141dc9ec8]
and r9d, dword [0x141dc9ecc]
add r9d, 0xd7453a0c
or r9d, 0xee473937
xor eax, eax
lock cmpxchg qword [rdx + 0x810], r12
sete r8b
cmp r9d, 0xa0122994
jae 0x140064b30
xor eax, eax
lock cmpxchg qword [rdx + 0x810], r12
jmp 0x140064ae0
mov eax, dword [0x141dc9ed0]
xor edx, edx
div dword [0x141dc9ed4]
and eax, 0x244e011
or eax, 0x15b20c86
imul eax, eax, 0x14cfbb7e
cmp eax, 0xf68d0bc9
ja 0x140064b30
test r8b, r8b
jne 0x1400646e0
nop
mov eax, dword [0x141dc9ee0]
imul eax, dword [0x141dc9ee4]
add eax, 0x4c69e78d
xor eax, 0xefb51abc
imul rax, rbp
shr rax, 0x3e
cmp eax, 0xfbf778d1
je 0x140064b60
jmp 0x1400649f0
mov eax, dword [0x141dc9e50]
or eax, dword [0x141dc9e54]
imul eax, eax, 0x43b779a1
add eax, 0xe1c48431
cmp eax, 0xf8bb5a1a
ja 0x140064b90
nop
mov eax, dword [0x141dc9e58]
sub eax, dword [0x141dc9e5c]
or eax, 0x80000020
and eax, 0xc02021a0
cmp eax, 0x8d6fb5f2
ja 0x140064bb0
nop dword [rax]
mov eax, dword [0x141dc9e60]
or eax, dword [0x141dc9e64]
imul eax, eax, 0x56d50582
and eax, 0x6b65d926
imul eax, eax, 0x683dcaca
cmp eax, 0xc9122dbc
ja 0x140064bd0
jmp 0x140064614
ud2