Function at 0x140066900
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x78
lea rbp, [rsp + 0x70]
movaps xmmword [rbp - 0x10], xmm7
movaps xmmword [rbp - 0x20], xmm6
mov qword [rbp - 0x30], rdx
mov eax, dword [0x141dcb0d8]
add eax, dword [0x141dcb0dc]
cmp eax, 0x32b713b
je 0x1400669a9
mov r9d, dword [0x141dcb0e0]
or r9d, dword [0x141dcb0e4]
or r9d, 0x48140101
and r9d, 0x48540121
mov eax, 0x800
call fcn.1400f07c0
sub rsp, rax
mov rbx, rsp
mov eax, 0x800
call fcn.1400f07c0
sub rsp, rax
mov r12, rsp
mov eax, 0x810
call fcn.1400f07c0
sub rsp, rax
mov r13, rsp
mov eax, 0x20
call fcn.1400f07c0
sub rsp, rax
mov r8, rsp
mov eax, 0x20
call fcn.1400f07c0
sub rsp, rax
mov rdx, rsp
cmp r9d, 0x7cbdebfb
jbe 0x1400669ef
mov eax, 0x800
call fcn.1400f07c0
sub rsp, rax
mov eax, 0x800
call fcn.1400f07c0
sub rsp, rax
mov eax, 0x810
call fcn.1400f07c0
sub rsp, rax
mov eax, 0x20
call fcn.1400f07c0
sub rsp, rax
mov eax, 0x20
call fcn.1400f07c0
sub rsp, rax
jmp 0x140066934
lea rax, [rcx + 0x10]
mov qword [rbp - 0x38], rax
mov r9, qword [rbp - 0x30]
mov rax, qword [r9]
mov qword [rbp - 0x28], rax
mov rax, qword [r9 + 0x18]
mov qword [rdx + 0x10], rax
movups xmm0, xmmword [r9 + 8]
movups xmmword [rdx], xmm0
mov rax, qword [rcx + 0x810]
cmp rax, 0x40
jae 0x140066a61
shl rax, 5
mov r8, qword [rbp - 0x38]
mov r9, qword [rbp - 0x28]
mov qword [r8 + rax], r9
movups xmm0, xmmword [rdx]
movups xmmword [r8 + rax + 8], xmm0
mov rdx, qword [rdx + 0x10]
mov qword [r8 + rax + 0x18], rdx
inc qword [rcx + 0x810]
movaps xmm6, xmmword [rbp - 0x20]
movaps xmm7, xmmword [rbp - 0x10]
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov rax, qword [rbp - 0x30]
add rax, 8
mov qword [rbp - 0x68], rax
nop dword [rax]
mov eax, dword [0x141dcb0e8]
or eax, dword [0x141dcb0ec]
and eax, 0x6c6df5d0
add eax, 0x164bad6a
and eax, 0x7cbf1ee2
cmp eax, 0x8b538532
ja 0x140066a70
nop word cs:[rax + rax]
mov eax, dword [0x141dcb0f0]
imul eax, dword [0x141dcb0f4]
and eax, 0x6090948a
xor eax, 0x68a08078
or eax, 0x874f6b04
cmp eax, 0x7cd83cf5
je 0x140066aa0
nop word cs:[rax + rax]
mov eax, dword [0x141dcb0f8]
add eax, dword [0x141dcb0fc]
or eax, 0x2a004034
and eax, 0x2ad0c07e
imul eax, eax, 0x13edf24f
cmp eax, 0x7cc38dd3
ja 0x140066ad0
cmp qword [rbp - 0x28], 0
je 0x140066f60
xor esi, esi
movups xmm6, xmmword [0x141dba460]
movups xmm7, xmmword [0x141dba450]
mov r15d, 0xca2b4fe5
mov qword [rbp - 0x48], rcx
mov qword [rbp - 0x60], r12
mov qword [rbp - 0x40], r13
mov qword [rbp - 0x58], rdx
mov qword [rbp - 0x50], r8
jmp 0x140066b86
mov rax, r9
lock cmpxchg qword [rdi + 0x100], r13
mov rax, qword [rbp - 0x30]
mov rdx, qword [rbp - 0x28]
mov qword [rax], rdx
mov r8, qword [rbp - 0x50]
mov rax, qword [r8 + 0x10]
mov rdx, qword [rbp - 0x68]
mov qword [rdx + 0x10], rax
movups xmm0, xmmword [r8]
movups xmmword [rdx], xmm0
mov rax, qword [r8 + 0x10]
mov rdx, qword [rbp - 0x58]
mov qword [rdx + 0x10], rax
movups xmm0, xmmword [r8]
movups xmmword [rdx], xmm0
mov rax, qword [rcx + 0x810]
cmp rax, 0x40
mov r13, qword [rbp - 0x40]
jb 0x140066a1f
test sil, sil
jne 0x140066f40
nop
mov rax, qword [rdx + 0x10]
mov qword [r8 + 0x10], rax
mov eax, dword [0x141dcb108]
imul eax, dword [0x141dcb10c]
or eax, 0xfd6d76be
movups xmm0, xmmword [rdx]
movups xmmword [r8], xmm0
cmp eax, 0xa776860b
je 0x140066f40
mov eax, dword [0x141dcb110]
or eax, dword [0x141dcb114]
imul eax, eax, 0xe5df017f
xor eax, 0x41c100d5
cmp eax, 0x54d20f72
jb 0x140066bbc
mov rdi, qword [rcx + 8]
nop
mov eax, dword [str.eZ:_]
add eax, dword [0x141dcb11c]
xor eax, 0x40000
or eax, 0x4491080
and eax, 0x44d1088
cmp eax, 0x1bc6fe69
ja 0x140066be0
xor eax, eax
nop word cs:[rax + rax]
test sil, sil
je 0x140066c60
mov rcx, rax
shl rcx, 5
movups xmmword [rbx + rcx + 0x10], xmm6
movups xmmword [rbx + rcx], xmm7
mov rdx, rcx
or rdx, 0x20
movups xmmword [rbx + rdx], xmm7
movups xmmword [rbx + rdx + 0x10], xmm6
mov rdx, rcx
or rdx, 0x40
movups xmmword [rbx + rdx], xmm7
movups xmmword [rbx + rdx + 0x10], xmm6
or rcx, 0x60
movups xmmword [rbx + rcx], xmm7
movups xmmword [rbx + rcx + 0x10], xmm6
nop word cs:[rax + rax]
mov rcx, rax
shl rcx, 5
movups xmmword [rbx + rcx + 0x10], xmm6
movups xmmword [rbx + rcx], xmm7
mov rdx, rcx
or rdx, 0x20
movups xmmword [rbx + rdx], xmm7
movups xmmword [rbx + rdx + 0x10], xmm6
mov rdx, rcx
or rdx, 0x40
movups xmmword [rbx + rdx], xmm7
movups xmmword [rbx + rdx + 0x10], xmm6
or rcx, 0x60
movups xmmword [rbx + rcx], xmm7
movups xmmword [rbx + rcx + 0x10], xmm6
test sil, sil
jne 0x140066c60
add rax, 4
cmp rax, 0x40
jne 0x140066c10
sub rsp, 0x20
mov r8d, 0x800
mov rcx, r12
mov rdx, rbx
call sub.VCRUNTIME140.dll_memcpy
mov r8d, 0x808
mov rcx, r13
mov r14, qword [rbp - 0x38]
mov rdx, r14
call sub.VCRUNTIME140.dll_memcpy
mov r8d, 0x800
mov rcx, r14
mov rdx, r12
call sub.VCRUNTIME140.dll_memcpy
add rsp, 0x20
mov rax, qword [rbp - 0x48]
mov qword [rax + 0x810], 0
mfence
mov eax, dword [0x141dcb120]
xor eax, dword [0x141dcb124]
imul eax, eax, 0x15f6272b
add eax, 0x5b74c8bb
or eax, 0x6187e455
cmp eax, 0x3a475d6d
jae 0x140066d40
mov rax, qword [rdi + 0x180]
movzx eax, byte [0x141ddc4f8]
nop word cs:[rax + rax]
mov eax, dword [0x141dcb128]
imul eax, dword [0x141dcb12c]
xor eax, 0x58ef9c8e
add eax, 0x4acf3d35
mov r12, qword [rdi + 0x180]
movzx ecx, byte [0x141ddc4f8]
cmp eax, 0x6dbed2f1
ja 0x140066d40
mov eax, dword [0x141dcb130]
and eax, dword [0x141dcb134]
add eax, 0xcad3876e
and eax, 0x9cf731e3
xor eax, 0xdf3aadd9
cmp eax, 0xe4ca21bb
jbe 0x140066db0
sub rsp, 0x20
mov edx, 0x818
xor ecx, ecx
call fcn.1400c0a10
add rsp, 0x20
nop word cs:[rax + rax]
mov r14d, dword [0x141dcb138]
and r14d, dword [0x141dcb13c]
and r14d, 0xe18d3a67
add r14d, 0xc47baefd
mov eax, 0x9930cfc3
imul r14, rax
shr r14, 0x3c
sub rsp, 0x20
mov edx, 0x818
xor ecx, ecx
call fcn.1400c0a10
add rsp, 0x20
cmp r14d, 0xbd6a41e2
ja 0x140066db0
mov r13, rax
test rax, rax
je 0x140066f99
sub rsp, 0x20
mov r8d, 0x808
mov rcx, r13
mov rdx, qword [rbp - 0x40]
call sub.VCRUNTIME140.dll_memcpy
add rsp, 0x20
mov qword [r13 + 0x808], r12
mov qword [r13 + 0x810], 0
mov rcx, qword [rbp - 0x48]
mov r12, qword [rbp - 0x60]
nop word cs:[rax + rax]
mov r9, qword [rdi + 0x100]
mov rdx, r9
and rdx, 0xfffffffffffffff8
mov r8, qword [rdx + 0x810]
mov eax, dword [0x141dcb140]
and eax, dword [0x141dcb144]
imul eax, eax, 0xb0a1c73d
add eax, 0x7f6e2766
cmp eax, 0x5a6d4efb
ja 0x140066e55
cmp r8, 7
ja 0x140066f00
mov eax, dword [0x141dcb148]
xor eax, dword [0x141dcb14c]
or eax, 0xa1676fd7
imul rax, rax, 0x714c9f8f
shr rax, 0x3b
cmp eax, 0x3bda887d
jne 0x140066eb0
xor eax, eax
lock cmpxchg qword [rdx + 0x810], r13
nop dword [rax + rax]
mov r8d, dword [0x141dcb150]
sub r8d, dword [0x141dcb154]
or r8d, 0x44fd629a
add r8d, 0x8d9c804
imul r8, r15
shr r8, 0x3f
xor eax, eax
lock cmpxchg qword [rdx + 0x810], r13
sete al
cmp r8d, 0xb1f240d6
ja 0x140066eb0
test al, al
je 0x140066e40
jmp 0x140066b30
mov rax, r9
lock cmpxchg qword [rdi + 0x100], r8
nop dword [rax]
mov eax, dword [0x141dcb158]
xor edx, edx
div dword [0x141dcb15c]
imul eax, eax, 0x12ba6d96
and eax, 0xbbd002e
cmp eax, 0xdcfbfd71
je 0x140066f10
jmp 0x140066e40
mov rax, qword [rdx + 0x10]
mov qword [r8 + 0x10], rax
movups xmm0, xmmword [rdx]
movups xmmword [r8], xmm0
jmp 0x140066b90
mov eax, dword [0x141dcb100]
or eax, dword [0x141dcb104]
xor eax, 0xcc06c918
and eax, 0xcd56c93f
imul rax, rax, 0x680f58f3
shr rax, 0x39
cmp eax, 0xa7c0acb9
ja 0x140066f60
xor eax, eax
nop word [rax + rax]
test al, al
jne 0x140066f90
jmp 0x140066a48
ud2