Function at 0x180052190
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x80
mov eax, dword [rbp + 0x60]
mov r13, r8
mov rbx, qword [rbp - 0x20]
mov rdi, rcx
lea r12d, [rax - 9]
cmp eax, r12d
jbe case.0x1800521f1.4
lea r15d, [rax - 0x9d]
lea rdx, [0x180000000]
cmp r15d, 0x24
ja case.0x1800521f1.8
movzx eax, byte [rdx + r15 + 0x5258c]
mov ecx, dword [rdx + rax*4 + 0x52568]
add rcx, rdx
jmp rcx
mov rbx, rdi
jmp case.0x1800521f1.8
mov r9, rdi
mov qword [rsp + 0x20], 0
xor edx, edx
xor ecx, ecx
mov r8d, ILFree
call fcn.1800278c0
mov rbx, rax
lea rdx, [0x180000000]
dec r15d
lea eax, [r15 + 0x9d]
cmp eax, r12d
ja 0x1800521d8
mov rax, rbx
mov rbx, qword [rsp + 0xc0]
add rsp, 0x80
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
test rdi, rdi
je case.0x1800521f1.8
mov r14d, 0xdf
nop word [rax + rax]
mov eax, r14d
sub eax, 0xdf
je 0x18005239d
sub eax, 0x51
je 0x180052370
cmp eax, 0x51
jne 0x1800523b4
mov esi, 0x71
cmp esi, 0xf
je 0x180052305
cmp esi, 0x71
je 0x1800522a0
cmp esi, 0xb5e
je 0x180052353
jmp 0x180052341
xor r9d, r9d
xor r8d, r8d
mov rcx, rdi
lea edx, [r9 + 0x26]
call fcn.180040e40
test eax, eax
je 0x180052353
mov qword [rsp + 0x28], 0
mov r9d, 0x7d
xor r8d, r8d
mov qword [rsp + 0x20], rdi
xor edx, edx
xor ecx, ecx
call fcn.18004ce80
test al, al
je 0x1800522e8
mov qword [rdi + 0x20], 0
jmp 0x180052341
xor r8d, r8d
mov qword [rbp - 0x18], 0
lea rcx, [rbp - 0x18]
lea edx, [r8 + 0x2e]
call fcn.180066560
mov byte [rdi + 3], al
jmp 0x180052341
mov rax, qword [SHChangeNotifyRegister]
lea r8, [rbp + 0x60]
mov r9, qword [rdi]
lea rdx, [rbp - 0x30]
mov qword [rbp - 0x10], rax
mov rcx, rdi
lea rax, [rbp - 0x10]
mov dword [rsp + 0x28], 0x22
mov qword [rsp + 0x20], rax
mov qword [rbp - 0x30], 0
mov byte [rbp + 0x60], 0
call fcn.180021cc0
add esi, 0x5531
cmp esi, 0xff93
jbe 0x180052285
xor r8d, r8d
mov qword [rbp - 0x38], 0
mov r9, rdi
lea rcx, [rbp - 0x38]
lea edx, [r8 + 0x4b]
call fcn.180064070
jmp 0x1800523b4
mov qword [rsp + 0x28], 0
lea rcx, [rbp - 0x50]
mov r9d, 0x78
mov qword [rsp + 0x20], 0
xor r8d, r8d
mov byte [rbp - 0x50], 0
mov rdx, rdi
call fcn.18005e1f0
jmp 0x1800523b4
xor r9d, r9d
mov byte [rbp - 0x50], 1
mov rdx, rdi
lea rcx, [rbp - 0x50]
lea r8d, [r9 + 0x55]
call fcn.18005d190
add r14d, 0x51
cmp r14d, 0x1d2
jb 0x180052260
jmp 0x180052216
mov r8, qword [r13]
xor esi, esi
mov edx, 1
lea rax, [r8 - 1]
cmp r8, rdx
jbe 0x180052216
cmp rax, 8
jb 0x18005247f
movdqa xmm3, xmmword [0x1800961f0]
and eax, 7
mov rcx, r8
xorps xmm5, xmm5
sub rcx, rax
xorps xmm4, xmm4
lea rax, [rdi + 0x14]
nop word [rax + rax]
movdqu xmm1, xmmword [rax - 0x14]
add rdx, 8
movdqu xmm0, xmmword [rax - 0x10]
movdqu xmm2, xmmword [rax - 4]
lea rax, [rax + 0x20]
paddd xmm1, xmm3
paddd xmm0, xmm3
pxor xmm1, xmm0
paddd xmm2, xmm3
por xmm1, xmm5
movdqa xmm5, xmm1
movdqa xmm1, xmm3
movdqu xmm0, xmmword [rax - 0x20]
paddd xmm1, xmm0
pxor xmm2, xmm1
por xmm2, xmm4
movdqa xmm4, xmm2
cmp rdx, rcx
jb 0x180052410
por xmm4, xmm5
movdqa xmm0, xmm4
psrldq xmm0, 8
por xmm4, xmm0
movdqa xmm0, xmm4
psrldq xmm0, 4
por xmm4, xmm0
movd esi, xmm4
cmp rdx, r8
jae 0x1800524ae
nop dword [rax]
nop dword [rax + rax]
mov ecx, dword [rdi + rdx*4 - 4]
mov eax, dword [rdi + rdx*4]
add ecx, 0x80000000
add eax, 0x80000000
inc rdx
xor ecx, eax
or esi, ecx
cmp rdx, r8
jb 0x180052490
test esi, esi
je 0x180052216
xor r9d, r9d
mov dword [rbp - 0x48], esi
lea r8, [rbp - 0x48]
xor edx, edx
mov ecx, 0xc2
call fcn.1800638a0
mov rcx, qword [r13]
lea r9, [rbp - 0x28]
mov dword [rbp - 0x40], eax
lea rdx, [rbp - 0x38]
mov qword [rbp - 0x28], rcx
lea rax, [rbp - 0x40]
mov ecx, 0x23
mov dword [rbp - 0x38], esi
mov r8, rdi
mov qword [rsp + 0x20], rax
call fcn.180051ac0
jmp 0x180052216
mov qword [rbp - 0x20], 0
jmp case.0x1800521f1.8
mov rax, qword [rbp + 0x48]
lea r9, [rbp + 0x60]
mov r8, rdi
mov byte [rbp + 0x60], 0x22
mov edx, 0xbb
lea rcx, [rbp - 0x30]
mov rax, qword [rax]
mov qword [rbp - 0x30], rax
mov rax, qword [r13]
mov qword [rbp - 0x28], rax
mov rax, qword [rbp + 0x58]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x28]
mov qword [rsp + 0x20], rax
call fcn.18005b100
jmp 0x18005222f
mov r9d, PathMakeUniqueName
lea r8, [rbp - 0x20]
mov rdx, rdi
xor ecx, ecx
call fcn.180068ed0
jmp 0x18005222f