Function at 0x140001990
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 8], rcx
push rbp
push rdi
push r14
lea rbp, [rax - 0x5f]
sub rsp, 0xa0
call fcn.14000122c
movups xmm0, xmmword [0x14001c638]
mov eax, dword [0x14001c650]
xor r14d, r14d
cmp byte [0x14001c655], r14b
movups xmmword [rbp + 7], xmm0
mov dword [rbp + 0x1f], eax
movsd xmm0, qword [0x14001c648]
movzx eax, word [0x14001c654]
movsd qword [rbp + 0x17], xmm0
mov word [rbp + 0x23], ax
je 0x140001a22
mov r8d, r14d
lea r9, [rbp + 7]
mov eax, 0x29e4129f
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul ecx, eax, 0x37
mov al, r8b
inc r8d
sub al, cl
add al, 0x31
xor byte [r9], al
inc r9
cmp r8d, 0x1e
jl 0x1400019f2
xorps xmm0, xmm0
lea rax, [rbp + 7]
movups xmmword [rbp + 0x27], xmm0
or rbx, 0xffffffffffffffff
inc rbx
cmp byte [rax + rbx], r14b
jne 0x140001a31
movabs rdi, 0x7fffffffffffffff
cmp rbx, rdi
ja 0x140001c38
cmp rbx, 0xf
ja 0x140001a79
mov r8, rbx
mov qword [rbp + 0x37], rbx
lea rdx, [rbp + 7]
mov qword [rbp + 0x3f], 0xf
lea rcx, [rbp + 0x27]
call sub.VCRUNTIME140.dll_memcpy
mov byte [rbp + rbx + 0x27], r14b
jmp 0x140001b0e
mov rax, rbx
or rax, 0xf
cmp rax, rdi
jbe 0x140001ab2
movabs rax, 0x8000000000000000
add rax, 0x27
mov rcx, rax
call fcn.1400109e8
test rax, rax
je 0x140001c2c
lea rsi, [rax + 0x27]
and rsi, 0xffffffffffffffe0
mov qword [rsi - 8], rax
jmp 0x140001aef
mov ecx, 0x16
mov rdi, rax
cmp rax, rcx
cmovb rdi, rcx
lea rcx, [rdi + 1]
cmp rcx, 0x1000
jb 0x140001add
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140001c32
jmp 0x140001a93
test rcx, rcx
je 0x140001aec
call fcn.1400109e8
mov rsi, rax
jmp 0x140001aef
mov rsi, r14
mov r8, rbx
mov qword [rbp + 0x27], rsi
lea rdx, [rbp + 7]
mov qword [rbp + 0x37], rbx
mov rcx, rsi
mov qword [rbp + 0x3f], rdi
call sub.VCRUNTIME140.dll_memcpy
mov byte [rsi + rbx], r14b
cmp qword [rbp + 0x3f], 0xf
lea rbx, [rbp + 0x27]
cmova rbx, qword [rbp + 0x27]
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov r8d, eax
mov eax, 0xd3e057bb
mul r8d
shr edx, 0xd
imul ecx, edx, 0x26aa
mov rdx, rbx
sub r8d, ecx
lea rcx, [0x14008d5f0]
mov dword [rsp + 0x58], r8d
mov r8d, 0x5c
mov dword [rsp + 0x50], r8d
mov r9d, r8d
mov dword [rsp + 0x48], 0x65
lea eax, [r8 + 0x14]
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x38], 0x69
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], r8d
mov dword [rsp + 0x20], 0x2e
call fcn.14000105c
cmp qword [rbp + 0x3f], 0xf
lea rax, [rbp + 0x27]
mov qword [rsp + 0x50], r14
lea rcx, [rbp + 0x67]
cmova rax, qword [rbp + 0x27]
mov edx, 0x1fffff
mov qword [rsp + 0x48], r14
or r9, 0xffffffffffffffff
mov qword [rsp + 0x40], r14
xor r8d, r8d
mov qword [rsp + 0x38], r14
mov qword [rbp + 0x37], r14
mov byte [rax], r14b
lea rax, [0x1400017b0]
mov dword [rsp + 0x30], r14d
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], rax
call fcn.14000252d
call fcn.1400017d0
mov rdx, qword [rbp + 0x3f]
cmp rdx, 0xf
jbe 0x140001c14
mov rcx, qword [rbp + 0x27]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140001c0f
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140001c2c
call fcn.140010a24
lea r11, [rsp + 0xa0]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rsp, r11
pop r14
pop rdi
pop rbp
ret
call fcn.140005cd4
int3
call fcn.140001178
int3
call fcn.140001218
int3