Function at 0x1800398b0
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 8], rcx
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0xa0
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
mov r14, rdx
mov rbx, rcx
add rcx, 0xf8
call fcn.1800466e8
mov edi, eax
mov dword [rsp + 0xe0], eax
test eax, eax
jne 0x180039963
lea rcx, [rbx + 0x150]
mov r8d, 0x88
mov rdx, r14
call fcn.1800a8850
mov byte [rbx + 0x1d7], dil
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [rbx + 0x12c], eax
lea rdx, [rbx + 0x128]
lea rcx, [rbx + 0xf8]
call fcn.1800467e0
cmp byte [rbx + 0x120], dil
je 0x180039953
mov byte [rbx + 0x120], dil
mov rcx, qword [rbx + 0xf8]
call qword [sym.imp.KERNEL32.dll_SetEvent]
xor ebx, ebx
mov edi, ebx
mov dword [rsp + 0xe0], ebx
jmp 0x180039b70
cmp byte [0x18010a364], 0
je 0x180039b70
movdqa xmm6, xmmword [0x1800ebfa0]
movdqa xmm7, xmmword [0x1800ec710]
movdqa xmm8, xmmword [0x1800ec540]
movdqa xmm9, xmmword [0x1800ec750]
mov eax, dword [0x18010bb98]
lea r15, [rax*8]
mov r12d, 4
mov rax, qword gs:[0x58]
mov rcx, qword [rax + r15]
mov eax, dword [r12 + rcx]
cmp dword [0x18010d260], eax
jle 0x180039a11
lea rcx, [0x18010d260]
call fcn.18009d704
cmp dword [0x18010d260], 0xffffffff
jne 0x180039a11
mov byte [0x180106550], 1
movaps xmmword [0x180106510], xmm6
movaps xmmword [0x180106520], xmm7
movaps xmmword [0x180106530], xmm8
movaps xmmword [0x180106540], xmm9
lea rcx, [0x1800ce660]
call fcn.18009d564
lea rcx, [0x18010d260]
call fcn.18009d6a4
xor ebx, ebx
lea r10, [0x180106510]
movabs rsi, 0xd993efbb19cfe32d
cmp byte [0x180106550], bl
je 0x180039a7b
mov r9d, ebx
mov r11d, 1
sub r11, r10
nop dword [rax + rax]
lea r8, [r9 + r10]
movzx ecx, r9b
and cl, 7
shl cl, 3
mov rax, rsi
shr rax, cl
xor byte [r8], al
lea ecx, [r8 + r11]
and cl, 7
shl cl, 3
mov rdx, rsi
shr rdx, cl
xor byte [r8 + 1], dl
add r9, 2
cmp r9, 0x40
jb 0x180039a40
mov byte [0x180106550], bl
mov rdx, r10
mov ecx, 5
call fcn.18006a848
cmp byte [0x18010a364], 0
je 0x180039b70
movdqa xmm6, xmmword [0x1800ebfa0]
movdqa xmm7, xmmword [0x1800ec1a0]
movdqa xmm8, xmmword [0x1800ec9f0]
mov word [rsp + 0x50], 0xcd5e
mov rax, qword gs:[0x58]
mov rcx, qword [rax + r15]
mov eax, dword [r12 + rcx]
cmp dword [0x18010d228], eax
jle 0x180039b26
lea rcx, [0x18010d228]
call fcn.18009d704
cmp dword [0x18010d228], 0xffffffff
jne 0x180039b26
mov word [0x180106432], 0x1cf
movaps xmmword [0x180106400], xmm6
movaps xmmword [0x180106410], xmm7
movaps xmmword [0x180106420], xmm8
movzx eax, word [rsp + 0x50]
mov word [0x180106430], ax
lea rcx, [0x1800ce630]
call fcn.18009d564
lea rcx, [0x18010d228]
call fcn.18009d6a4
lea rdx, [0x180106400]
cmp byte [0x180106433], 0
je 0x180039b62
nop word [rax + rax]
movzx ecx, bl
and cl, 7
shl cl, 3
mov rax, rsi
shr rax, cl
xor byte [rbx + rdx], al
inc rbx
cmp rbx, 0x33
jb 0x180039b40
mov byte [0x180106433], 0
mov r8, r14
mov ecx, 5
call fcn.18006a848
nop
jmp 0x180039b79
test edi, edi
sete al
lea r11, [rsp + 0xa0]
mov rbx, qword [r11 + 0x38]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret