Function at 0x1400640b0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
mov eax, 0x1898
call fcn.1400ef3b0
sub rsp, rax
movaps xmmword [rsp + 0x1880], xmm7
movaps xmmword [rsp + 0x1870], xmm6
mov rsi, rcx
lea rdi, [rcx + 0x10]
mov r10, qword [rdx]
mov rax, qword [rdx + 0x18]
mov qword [rsp + 0x870], rax
mov qword [rsp + 0x28], rdx
movups xmm0, xmmword [rdx + 8]
movaps xmmword [rsp + 0x860], xmm0
mov rax, qword [rcx + 0x810]
cmp rax, 0x40
jb 0x140064742
mov rax, qword [rsp + 0x28]
add rax, 8
mov qword [rsp + 0x58], rax
nop
mov eax, dword [0x141dca398]
add eax, dword [0x141dca39c]
imul eax, eax, 0xef88298e
cmp eax, 0xe57e7fd8
je 0x140064120
nop dword [rax]
mov eax, dword [0x141dca3a0]
add eax, dword [0x141dca3a4]
imul eax, eax, 0x7441531a
cmp eax, 0x6314111f
je 0x140064140
test r10, r10
je 0x140064760
mov r8d, 0x9b3473a9
movups xmm6, xmmword [0x141db9050]
movups xmm7, xmmword [0x141db9060]
lea r14, [rsp + 0x1070]
lea r13, [rsp + 0x60]
lea r12, [rsp + 0x860]
mov ebp, 0xf82dd517
mov qword [rsp + 0x50], r10
nop word cs:[rax + rax]
mov eax, dword [0x141dca3c0]
and eax, dword [0x141dca3c4]
and eax, 0x232f3a72
cmp eax, 0xb778bd1
je 0x140064330
nop dword [rax]
mov eax, dword [0x141dca3c8]
sub eax, dword [0x141dca3cc]
imul rcx, rax, 0x4a381f95
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1f
imul eax, eax, 0x1e55b0a8
and eax, 0x1ed18400
movaps xmm0, xmmword [rsp + 0x860]
movaps xmmword [rsp + 0x30], xmm0
mov rcx, qword [rsp + 0x870]
mov qword [rsp + 0x40], rcx
cmp eax, 0x98a3bbce
je 0x140064330
mov eax, dword [0x141dca3d0]
add eax, dword [0x141dca3d4]
imul eax, eax, 0x9393d7de
mov ecx, 0x983f9855
imul rax, rcx
shr rax, 0x3f
imul eax, eax, 0x68827da8
cmp eax, 0xac23c7c2
nop word [rax + rax]
mov eax, dword [0x141dca3d8]
and eax, dword [0x141dca3dc]
add eax, 0x156e4283
imul rax, r8
shr rax, 0x3f
imul edx, eax, 0xfd8d10fe
mov rbx, qword [rsi + 8]
mov eax, 0x60
mov ecx, 0
cmp edx, 0xd5c34844
je 0x140064240
jmp 0x140064294
sub rax, 0xffffffffffffff80
add rcx, 4
cmp rax, 0x860
je 0x140064350
mov edx, dword [0x141dca3e0]
sub edx, dword [0x141dca3e4]
or edx, 0xde19b87
xor edx, 0xf5d93133
cmp edx, 0x16fee5ea
jb 0x1400642fb
nop word cs:[rax + rax]
mov edx, dword [0x141dca3e8]
xor edx, dword [0x141dca3ec]
movups xmmword [rsp + rax], xmm6
movups xmmword [rsp + rax + 0x10], xmm7
movups xmmword [rsp + rax + 0x20], xmm6
movups xmmword [rsp + rax + 0x30], xmm7
movups xmmword [rsp + rax + 0x40], xmm6
movups xmmword [rsp + rax + 0x50], xmm7
movups xmmword [rsp + rax + 0x60], xmm6
movups xmmword [rsp + rax + 0x70], xmm7
cmp edx, 0x9611c127
jne 0x140064280
movups xmmword [rsp + rax + 0x10], xmm7
movups xmmword [rsp + rax], xmm6
movups xmmword [rsp + rax + 0x20], xmm6
movups xmmword [rsp + rax + 0x30], xmm7
movups xmmword [rsp + rax + 0x40], xmm6
movups xmmword [rsp + rax + 0x50], xmm7
movups xmmword [rsp + rax + 0x60], xmm6
movups xmmword [rsp + rax + 0x70], xmm7
jmp 0x1400642c0
mov rax, qword [rsp + 0x870]
mov qword [rsp + 0x40], rax
movaps xmm0, xmmword [rsp + 0x860]
movaps xmmword [rsp + 0x30], xmm0
jmp 0x1400641c0
mov eax, dword [0x141dca3f0]
or eax, dword [0x141dca3f4]
imul eax, eax, 0x9922b890
or eax, 0xd7a7eeb4
mov ecx, 0xc4d17549
imul rax, rcx
shr rax, 0x3f
cmp eax, 0x741274ef
jne 0x140064390
mov r8d, 0x800
mov rcx, r14
mov rdx, r13
call sub.VCRUNTIME140.dll_memcpy
nop dword [rax]
mov r15d, dword [0x141dca3f8]
xor r15d, dword [0x141dca3fc]
and r15d, 0x6ff60ac2
mov r8d, 0x800
mov rcx, r14
mov rdx, r13
call sub.VCRUNTIME140.dll_memcpy
cmp r15d, 0xf6bdb548
je 0x140064390
mov eax, dword [0x141dca400]
and eax, dword [0x141dca404]
imul eax, eax, 0xf047011f
imul rax, rax, 0x73eb66c1
shr rax, 0x3a
or eax, 0x3cd52bb7
cmp eax, 0x4316ebbc
jbe 0x140064420
mov r8d, 0x808
mov rcx, r12
mov rdx, rdi
call sub.VCRUNTIME140.dll_memcpy
mov r8d, 0x800
mov rcx, rdi
mov rdx, r14
call sub.VCRUNTIME140.dll_memcpy
mov qword [rsi + 0x810], 0
nop word cs:[rax + rax]
mov eax, dword [0x141dca408]
xor edx, edx
div dword [0x141dca40c]
add eax, 0xcff7e4b1
imul r15, rax, 0x1b256c63
shr r15, 0x3a
mov r8d, 0x808
mov rcx, r12
mov rdx, rdi
call sub.VCRUNTIME140.dll_memcpy
mov r8d, 0x800
mov rcx, rdi
mov rdx, r14
call sub.VCRUNTIME140.dll_memcpy
mov qword [rsi + 0x810], 0
cmp r15d, 0x68e5668b
je 0x140064420
mfence
mov r15, qword [rbx + 0x180]
movzx eax, byte [0x141ddb9b8]
mov edx, 0x818
xor ecx, ecx
call fcn.1400bf820
test rax, rax
je 0x1400647b7
mov r13, rax
mov r8d, 0x808
mov rcx, rax
mov rdx, r12
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [0x141dca410]
add eax, dword [0x141dca414]
imul rax, rax, 0x4b413747
shr rax, 0x39
or eax, 0x19204808
and eax, 0x19204828
cmp eax, 0xc0c59186
jne 0x1400644e8
mov qword [r13 + 0x808], r15
mov qword [r13 + 0x810], 0
mov r10, qword [rsp + 0x50]
nop dword [rax]
mov eax, dword [0x141dca418]
and eax, dword [0x141dca41c]
xor eax, 0x240080a0
or eax, 0x5b160b46
and eax, 0x7fd6efe6
mov qword [r13 + 0x808], r15
mov qword [r13 + 0x810], 0
cmp eax, 0xb404db12
ja 0x1400644f0
jmp 0x1400645c7
mov eax, dword [0x141dca448]
add eax, dword [0x141dca44c]
and eax, 0x88001e51
add eax, 0x11a3359c
cmp eax, 0xff110291
jbe 0x140064560
mov rax, rcx
lock cmpxchg qword [rbx + 0x100], rdx
nop dword [rax]
mov r8d, dword [0x141dca450]
sub r8d, dword [0x141dca454]
mov rax, rcx
lock cmpxchg qword [rbx + 0x100], rdx
imul eax, r8d, 0xd4deafef
add eax, 0x9c09c84b
xor eax, 0x72fdf395
cmp eax, 0x8856b107
ja 0x140064560
nop word cs:[rax + rax]
mov eax, dword [0x141dca458]
imul eax, dword [0x141dca45c]
or eax, 0xe666e5c4
imul eax, eax, 0x94a924e8
imul rax, rbp
shr rax, 0x3e
cmp eax, 0xf7815a2b
je 0x1400645a0
mov rcx, qword [rbx + 0x100]
mov eax, dword [0x141dca420]
or eax, dword [0x141dca424]
and eax, 0xc6556088
imul eax, eax, 0xb4c7ce27
xor eax, 0x937f60e9
cmp eax, 0xd4b9e39a
ja 0x140064626
nop word cs:[rax + rax]
mov eax, dword [0x141dca428]
xor eax, dword [0x141dca42c]
add eax, 0x2435c3e9
mov r8, rcx
and r8, 0xfffffffffffffff8
mov rdx, qword [r8 + 0x810]
cmp eax, 0x67b93706
jbe 0x140064640
mov rax, rcx
and rax, 0xfffffffffffffff8
mov rax, qword [rax + 0x810]
jmp 0x140064600
mov eax, dword [0x141dca430]
add eax, dword [0x141dca434]
xor eax, 0x77fe988
imul r9, rax, 0xa28795
shr r9, 0x20
sub eax, r9d
shr eax, 1
add eax, r9d
shr eax, 0x1e
imul eax, eax, 0x777f5983
cmp eax, 0x5028871c
je 0x140064640
cmp rdx, 7
ja 0x140064530
xor eax, eax
lock cmpxchg qword [r8 + 0x810], r13
sete al
mov edx, dword [0x141dca438]
add edx, dword [0x141dca43c]
imul rdx, rdx, 0x1c0aa805
shr rdx, 0x3c
imul edx, edx, 0xc17e0680
cmp edx, 0xfd816d6a
je 0x14006468c
nop word cs:[rax + rax]
mov edx, dword [0x141dca440]
xor edx, dword [0x141dca444]
or edx, 0x6ba658d5
cmp edx, 0xa1b32b2c
je 0x1400646c0
test al, al
je 0x1400645c7
mov rax, rcx
lock cmpxchg qword [rbx + 0x100], r13
mov rax, qword [rsp + 0x28]
mov qword [rax], r10
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 + 0x870], rax
movaps xmm0, xmmword [rsp + 0x30]
movaps xmmword [rsp + 0x860], xmm0
mov rax, qword [rsi + 0x810]
cmp rax, 0x40
mov r8d, 0x9b3473a9
lea r13, [rsp + 0x60]
jae 0x1400641a0
xor ecx, ecx
test cl, cl
je 0x1400647fc
jmp 0x14006484e
mov eax, dword [0x141dca3a8]
sub eax, dword [0x141dca3ac]
imul eax, eax, 0xd3776a59
xor eax, 0x3683af35
add eax, 0x2684263a
cmp eax, 0x68556d17
jb 0x140064760
nop word cs:[rax + rax]
mov eax, dword [0x141dca3b0]
xor edx, edx
div dword [0x141dca3b4]
imul eax, eax, 0xdebbd980
or eax, 0x88028040
and eax, 0xaa7ae0c0
cmp eax, 0x62a152b1
je 0x140064790
jmp 0x1400647d8
xor eax, eax
test al, al
je 0x1400647bf
ud2
xor eax, eax
nop word cs:[rax + rax]
ud2
movaps xmm6, xmmword [rsp + 0x1870]
movaps xmm7, xmmword [rsp + 0x1880]
add rsp, 0x1898
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov ecx, dword [0x141dca3b8]
sub ecx, dword [0x141dca3bc]
imul ecx, ecx, 0xe4017add
and ecx, 0x30e5fc9c
imul ecx, ecx, 0xc7490597
mov rdx, rax
shl rdx, 5
mov qword [rdi + rdx], r10
movaps xmm0, xmmword [rsp + 0x860]
movups xmmword [rdi + rdx + 8], xmm0
mov r8, qword [rsp + 0x870]
mov qword [rdi + rdx + 0x18], r8
inc qword [rsi + 0x810]
cmp ecx, 0xe55b89ee
jb 0x1400647d8
mov rcx, rax
shl rcx, 5
mov qword [rdi + rcx], r10
movaps xmm0, xmmword [rsp + 0x860]
movups xmmword [rdi + rcx + 8], xmm0
mov rdx, qword [rsp + 0x870]
mov qword [rdi + rcx + 0x18], rdx
inc qword [rsi + 0x810]
jmp 0x1400647fc