Function at 0x140001984
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.140001220
movups xmm0, xmmword [0x140022558]
mov eax, dword [0x140022570]
xor r14d, r14d
cmp byte [0x140022575], r14b
movups xmmword [rbp + 7], xmm0
mov dword [rbp + 0x1f], eax
movsd xmm0, qword [0x140022568]
movzx eax, word [0x140022574]
movsd qword [rbp + 0x17], xmm0
mov word [rbp + 0x23], ax
je 0x140001a16
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, 0x36
xor byte [r9], al
inc r9
cmp r8d, 0x1e
jl 0x1400019e6
xorps xmm0, xmm0
lea rax, [rbp + 7]
movups xmmword [rbp + 0x27], xmm0
or rbx, 0xffffffffffffffff
inc rbx
cmp byte [rax + rbx], r14b
jne 0x140001a25
movabs rdi, 0x7fffffffffffffff
cmp rbx, rdi
ja 0x140001c2c
cmp rbx, 0xf
ja 0x140001a6d
mov r8, rbx
mov qword [rbp + 0x37], rbx
lea rdx, [rbp + 7]
mov qword [rbp + 0x3f], 0xf
lea rcx, [rbp + 0x27]
call fcn.140018550
mov byte [rbp + rbx + 0x27], r14b
jmp 0x140001b02
mov rax, rbx
or rax, 0xf
cmp rax, rdi
jbe 0x140001aa6
movabs rax, 0x8000000000000000
add rax, 0x27
mov rcx, rax
call fcn.140002b1c
test rax, rax
je 0x140001c20
lea rsi, [rax + 0x27]
and rsi, 0xffffffffffffffe0
mov qword [rsi - 8], rax
jmp 0x140001ae3
mov ecx, 0x16
mov rdi, rax
cmp rax, rcx
cmovb rdi, rcx
lea rcx, [rdi + 1]
cmp rcx, 0x1000
jb 0x140001ad1
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140001c26
jmp 0x140001a87
test rcx, rcx
je 0x140001ae0
call fcn.140002b1c
mov rsi, rax
jmp 0x140001ae3
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 fcn.140018550
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, [0x1400947b0]
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, [0x1400017a4]
mov dword [rsp + 0x30], r14d
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], rax
call fcn.1400024ad
call fcn.1400017c4
mov rdx, qword [rbp + 0x3f]
cmp rdx, 0xf
jbe 0x140001c08
mov rcx, qword [rbp + 0x27]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140001c03
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140001c20
call fcn.140002b58
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.140009ec4
int3
call fcn.140001174
int3
call fcn.14000120c
int3