Function at 0x140003b30
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r12
push r13
push r14
lea rbp, [rsp - 0x3f]
sub rsp, 0x98
mov rax, qword [0x140045100]
xor rax, rsp
mov qword [rbp + 0x17], rax
movsxd rax, ecx
mov r14, r9
mov dword [rbp - 0x39], eax
lea rcx, [0x140046c40]
imul rax, rax, 0x190
movzx r12d, r8b
movzx r13d, dl
mov qword [rbp - 0x31], rax
cmp qword [rax + rcx + 0x168], 0
jne 0x140003b8a
mov eax, 0x80000004
jmp 0x140003dae
mov qword [rsp + 0xc8], rbx
xorps xmm0, xmm0
mov qword [rsp + 0xd0], rsi
mov qword [rsp + 0xd8], rdi
mov qword [rsp + 0x90], r15
xor r15d, r15d
mov qword [rbp - 0x18], r15
movaps xmmword [rsp + 0x80], xmm6
movdqu xmmword [rbp - 0x28], xmm0
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
call fcn.1400248d8
call fcn.1400248ac
movsx ecx, al
lea ebx, [r15 + 1]
mov esi, eax
mov byte [rbp - 0x29], r15b
lea rdi, [rbp - 0x28]
movd xmm6, ecx
punpcklbw xmm6, xmm6
punpcklwd xmm6, xmm6
pshufd xmm6, xmm6, 0
call fcn.1400248ac
mov ecx, eax
call fcn.1400248d8
call fcn.1400248ac
inc ebx
mov byte [rdi], al
lea rdi, [rdi + 1]
cmp ebx, 0x19
jb 0x140003bf5
movzx eax, sil
mov byte [rbp - 0x27], sil
xor al, 0x53
mov byte [rbp - 0x25], sil
mov byte [rbp - 0x28], al
movzx eax, sil
xor al, 0xaa
mov byte [rbp - 0x26], al
movzx eax, sil
xor al, r13b
mov byte [rbp - 0x24], al
movzx eax, sil
xor al, r12b
mov byte [rbp - 0x12], al
cmp r12b, 0x40
jb 0x140003ccf
mov r8, r12
lea r9, [rbp - 0x13]
mov eax, 0xffffffc0
lea r11, [rbp - 0x13]
lea rdx, [rbp - 0x23]
and r8, rax
sub r9, r14
lea rcx, [r14 + 0x20]
sub r11, r14
sub rdx, r14
mov r10, 0xffffffffffffffe0
sub r10, r14
nop dword [rax]
movdqu xmm0, xmmword [rcx - 0x20]
add r15d, 0x40
movdqu xmm1, xmmword [rcx - 0x10]
lea rcx, [rcx + 0x40]
pxor xmm0, xmm6
lea rax, [r10 + rcx]
pxor xmm1, xmm6
movdqu xmmword [rdx + rcx - 0x60], xmm0
movdqu xmm0, xmmword [rcx - 0x40]
movdqu xmmword [r11 + rcx - 0x60], xmm1
pxor xmm0, xmm6
movdqu xmm1, xmmword [rcx - 0x30]
movdqu xmmword [rdx + rcx - 0x40], xmm0
pxor xmm1, xmm6
movdqu xmmword [r9 + rcx - 0x40], xmm1
cmp rax, r8
jl 0x140003c80
movaps xmm6, xmmword [rsp + 0x80]
movsxd rax, r15d
mov r15, qword [rsp + 0x90]
cmp rax, r12
jge 0x140003d10
lea rcx, [rbp - 0x23]
sub r14, rcx
nop
lea rdx, [rbp - 0x23]
movzx ecx, sil
add rdx, rax
inc rax
xor cl, byte [rdx + r14]
mov byte [rdx], cl
cmp rax, r12
jl 0x140003cf0
nop dword [rax]
movzx eax, byte [rbp - 0x23]
lea rcx, [0x140046c40]
xor al, byte [rbp - 0x22]
xor al, byte [rbp - 0x21]
xor al, byte [rbp - 0x20]
xor al, byte [rbp - 0x1f]
xor al, byte [rbp - 0x1e]
xor al, byte [rbp - 0x1d]
xor al, byte [rbp - 0x1c]
xor al, byte [rbp - 0x1b]
xor al, byte [rbp - 0x1a]
xor al, byte [rbp - 0x19]
xor al, byte [rbp - 0x18]
xor al, byte [rbp - 0x17]
xor al, byte [rbp - 0x16]
xor al, byte [rbp - 0x15]
xor al, byte [rbp - 0x14]
movzx edx, byte [rbp - 0x24]
xor dl, byte [rbp - 0x25]
xor dl, byte [rbp - 0x26]
xor dl, byte [rbp - 0x27]
xor al, byte [rbp - 0x13]
xor al, byte [rbp - 0x12]
xor dl, byte [rbp - 0x28]
mov rdi, qword [rbp - 0x31]
xor dl, al
add rdi, rcx
mov byte [rbp - 0x11], dl
lea rcx, [rdi + 0x176]
call fcn.14000baf0
mov ecx, dword [rbp - 0x39]
lea r8, [rbp - 9]
lea rdx, [rbp - 0x29]
call fcn.140001940
lea rcx, [rdi + 0x176]
mov ebx, eax
call fcn.14000bb10
mov rdi, qword [rsp + 0xd8]
mov eax, ebx
mov rbx, qword [rsp + 0xc8]
mov rsi, qword [rsp + 0xd0]
mov rcx, qword [rbp + 0x17]
xor rcx, rsp
call fcn.14001af60
add rsp, 0x98
pop r14
pop r13
pop r12
pop rbp
ret