Function at 0x1800019a0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rdi
lea rbp, [rsp - 0x178]
sub rsp, 0x278
mov rax, qword [0x180018008]
xor rax, rsp
mov qword [rbp + 0x160], rax
xor edx, edx
mov qword [rsp + 0x298], rsi
mov r8d, 0x208
lea rcx, [rsp + 0x50]
xor edi, edi
call fcn.180004ab0
mov dword [rsp + 0x20], edi
call fcn.1800014b0
mov r8d, 0x208
lea rdx, [rsp + 0x50]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea rcx, [rsp + 0x50]
call qword [0x180019c98]
movdqa xmm0, xmmword [0x180016360]
xor eax, eax
movdqu xmmword [rsp + 0x28], xmm0
mov byte [rsp + 0x42], al
mov dword [rsp + 0x38], 0xdbcdd1cf
mov dword [rsp + 0x3c], 0x83989dd2
mov word [rsp + 0x40], 0xd6ca
nop dword [rax]
nop word [rax + rax]
movsxd rcx, eax
lea rdx, [rsp + 0x28]
add rdx, rcx
lea ecx, [rax - 0x6a]
inc eax
xor byte [rdx], cl
cmp eax, 0x1a
jb 0x180001a40
lea rdx, [rsp + 0x28]
mov byte [rsp + 0x42], dil
lea rcx, [rsp + 0x50]
call qword [0x180019c70]
call fcn.180001210
test eax, eax
jle 0x180001b00
movdqa xmm2, xmmword [str._n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n]
xor ecx, ecx
mov eax, 0x100
nop dword [rax + rax]
movdqu xmm0, xmmword [rsp + rcx + 0x50]
movdqa xmm1, xmm2
pxor xmm0, xmm2
movdqu xmmword [rsp + rcx + 0x50], xmm0
movdqu xmm0, xmmword [rsp + rcx + 0x60]
pxor xmm1, xmm0
movdqu xmmword [rsp + rcx + 0x60], xmm1
movdqu xmm0, xmmword [rsp + rcx + 0x70]
movdqa xmm1, xmm2
pxor xmm1, xmm0
movdqu xmmword [rsp + rcx + 0x70], xmm1
movdqu xmm0, xmmword [rbp + rcx - 0x80]
pxor xmm0, xmm2
movdqu xmmword [rbp + rcx - 0x80], xmm0
add rcx, 0x40
cmp rcx, rax
jl 0x180001a90
nop dword [rax]
nop word [rax + rax]
xor byte [rsp + rax + 0x50], 0xa
inc rax
cmp rax, 0x104
jl 0x180001af0
lea rcx, [rsp + 0x50]
call fcn.180001700
mov rsi, rax
test rax, rax
je 0x180001c3d
mov ecx, dword [rax]
mov r8d, 0x1000
mov qword [rsp + 0x290], rbx
mov qword [rsp + 0x2a0], r14
mov qword [rsp + 0x270], r15
lea ebx, [rcx + rcx*4]
xor ecx, ecx
lea edx, [rbx + 0x200010]
lea r9d, [rcx + 4]
call qword [0x180019c50]
mov rdi, rax
call qword [0x180019c40]
and eax, 0xfff
mov rcx, rdi
lea r15d, [rax + 0xfb7]
call qword [sym.imp.RPCRT4.dll_UuidCreate]
lea ecx, [rbx + 0x1e7834]
mov edx, 0x10
movsxd r14, ecx
cmp rdx, r14
ja 0x180001bb0
nop dword [rax]
cmp rdx, 0x830
lea rbx, [rdx + 0x279c]
mov ecx, 1
cmovbe rbx, rdx
call qword [0x180019bc0]
lea rcx, [rbx + rdi]
call qword [sym.imp.RPCRT4.dll_UuidCreate]
lea rdx, [rbx + 0x10]
cmp rdx, r14
jbe 0x180001b80
movsxd r8, dword [rsi]
lea rbx, [rdi + r15]
mov rdx, qword [rsi + 8]
mov rcx, rbx
call fcn.180005380
movsxd rcx, dword [rsi]
xor edx, edx
add rcx, rdi
mov r8d, 0x400
add rcx, r15
call fcn.180004ab0
movsxd rdx, dword [rsi]
lea r9, [rsp + 0x20]
mov r8d, 0x20
mov rcx, rbx
call qword [0x180019be0]
mov rcx, qword [rsi + 8]
mov r15, qword [rsp + 0x270]
mov r14, qword [rsp + 0x2a0]
test rcx, rcx
je 0x180001c17
xor edx, edx
mov r8d, 0x8000
call qword [0x180019cb0]
xor edx, edx
mov r8d, 0x8000
mov rcx, rsi
call qword [0x180019cb0]
call rbx
mov ecx, 0x6b8
call qword [0x180019bc0]
mov rbx, qword [rsp + 0x290]
mov rsi, qword [rsp + 0x298]
mov dword [0x1800189e0], 0
test rdi, rdi
je 0x180001c6d
mov rax, qword [0x180019cb0]
test rax, rax
je 0x180001c6d
xor edx, edx
mov r8d, 0x8000
mov rcx, rdi
call rax
mov rcx, qword [rbp + 0x160]
xor rcx, rsp
call fcn.180003960
add rsp, 0x278
pop rdi
pop rbp
ret