Function at 0x1800032c0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rbx
push rsi
push r12
push r13
push r15
lea rbp, [rsp - 0x68]
sub rsp, 0x168
mov qword [rbp + 0xa0], r8
mov rbx, rdx
mov rdx, rcx
mov r12, r9
mov r15, r8
mov rsi, r8
test r8b, 0xf
jbe 0x180003302
inc rsi
test sil, 0xf
ja 0x1800032f2
mov qword [rbp + 0xa0], rsi
xor r13d, r13d
mov eax, r13d
cmp byte [rcx], r13b
je 0x180003321
nop dword [rax]
cmp rax, 0x104
jae 0x180003321
inc rax
cmp byte [rax + rcx], r13b
jne 0x180003310
movzx ecx, byte [rax + rcx]
cmp cl, 0x2d
je 0x180003347
nop word [rax + rax]
cmp cl, 0x5f
je 0x180003347
test rax, rax
je 0x180003347
movzx ecx, byte [rax + rdx - 1]
dec rax
cmp cl, 0x2d
jne 0x180003330
mov qword [rsp + 0x1a8], rdi
mov qword [rsp + 0x160], r14
test rax, rax
je 0x180003550
mov r8d, eax
mov byte [rax + rdx], r13b
lea rcx, [rsp + 0x70]
call fcn.180002f30
mov r14, qword [rbp + 0xc0]
movups xmm0, xmmword [rsp + 0x72]
lea rax, [rsi + r14]
mov rdx, rax
sub rdx, r14
cmp r14, rax
movups xmmword [rbp - 0x78], xmm0
cmova rdx, r13
test rdx, rdx
je 0x1800033b0
mov rcx, r13
nop word [rax + rax]
movzx eax, byte [rcx + rbx]
mov byte [rcx + r14], al
inc rcx
cmp rcx, rdx
jb 0x1800033a0
lea rdx, [rbp - 0x78]
mov dword [rsp + 0x60], 0x3020100
lea rcx, [rbp - 0x60]
mov dword [rsp + 0x64], 0x7060504
mov dword [rsp + 0x68], 0xb0a0908
mov dword [rsp + 0x6c], 0xf0e0d0c
call section..text
mov rbx, r14
movups xmm0, xmmword [rsp + 0x60]
movaps xmmword [rbp + 0x50], xmm0
test rsi, rsi
je 0x18000343d
lea rdi, [rbp + 0x50]
sub rdi, r14
dec rsi
shr rsi, 4
inc rsi
nop
movups xmm0, xmmword [rbx]
lea rdx, [rbp - 0x60]
mov rcx, rbx
call fcn.180001750
mov ecx, 0x10
nop dword [rax]
nop dword [rax + rax]
movzx eax, byte [rdi + rbx]
xor byte [rbx], al
inc rbx
sub rcx, 1
jne 0x180003420
sub rdi, 0x10
movaps xmmword [rbp + 0x50], xmm0
sub rsi, 1
jne 0x180003400
mov r8d, r15d
lea rcx, [rsp + 0x70]
mov rdx, r14
call fcn.180002f30
mov r8, qword [rbp + 0xd0]
lea rax, [rsp + 0x70]
sub r8, rax
mov rdx, r13
nop
lea rcx, [rsp + 0x70]
add rcx, rdx
movzx eax, byte [r8 + rcx]
cmp byte [rcx], al
jne 0x180003550
inc rdx
cmp rdx, 0x14
jb 0x180003460
mov ecx, 0x4e20
call qword [sym.imp.KERNEL32.dll_Sleep]
mov rbx, r13
mov rdi, r13
test r15, r15
je 0x1800034cf
mov rdx, qword [rbp + 0xc8]
lea r8, [rbx + r14]
mov rcx, 0xffffffffffffffff
mov qword [rsp + 0x20], r13
add rdx, rdi
lea r9d, [rcx + 2]
call fcn.180003e3e
test eax, eax
jne 0x180003494
lea rax, [rdi + r12]
xor edx, edx
div r15
inc rbx
mov rdi, rdx
cmp rbx, r15
jb 0x180003494
xor r8d, r8d
mov dword [rsp + 0x28], 0x20
lea r9, [rbp + 0xa0]
mov dword [rsp + 0x20], 0x3000
lea rdx, [rbp + 0xc8]
lea rcx, [r8 - 1]
call fcn.180003e11
mov rcx, qword [rbp + 0xc8]
mov r9, 0xffffffffffffffff
mov qword [rsp + 0x50], r13
xor r8d, r8d
mov qword [rsp + 0x48], r13
mov edx, 0x1fffff
mov qword [rsp + 0x40], r13
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], rcx
lea rcx, [rbp + 0xb0]
mov qword [rbp + 0xb0], 0xffffffffffffffff
call fcn.180003e02
mov eax, 1
jmp 0x180003552
xor eax, eax
mov r14, qword [rsp + 0x160]
mov rdi, qword [rsp + 0x1a8]
add rsp, 0x168
pop r15
pop r13
pop r12
pop rsi
pop rbx
pop rbp
ret