Function at 0x1800525c0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xb0
mov rax, qword [0x18009da48]
xor rax, rsp
mov qword [rsp + 0xa0], rax
mov r13d, r9d
mov qword [rsp + 0x80], r8
add r9d, 8
mov qword [rsp + 0x50], rdx
mov dword [rsp + 0x30], r9d
mov rsi, r8
mov r8, qword [rsp + 0x110]
mov r14, rcx
mov qword [rsp + 0x58], r8
cmp r13d, r9d
jae 0x1800528be
mov r15, qword [rsp + 0x68]
lea r12d, [r13 - 0xb7]
movzx ebp, byte [rsp + 0x48]
xor ebx, ebx
lea r11, [0x180000000]
movabs r10, 0x8000000000000000
cmp r12d, 0x1a
ja case.0x180052660.8
movzx eax, byte [r11 + r12 + 0x52960]
mov ecx, dword [r11 + rax*4 + 0x5293c]
add rcx, r11
jmp rcx
mov r8, qword [rsi]
mov edx, 1
mov r15, rbx
lea rax, [r8 - 1]
cmp r8, rdx
jbe case.0x180052660.8
cmp rax, 4
jb 0x180052703
movdqa xmm3, xmmword [0x1800961e0]
and eax, 3
mov rcx, r8
xorps xmm5, xmm5
sub rcx, rax
xorps xmm4, xmm4
lea rax, [r14 + 0x18]
nop
movdqu xmm1, xmmword [rax - 0x18]
add rdx, 4
movdqu xmm0, xmmword [rax - 0x10]
movdqu xmm2, xmmword [rax - 8]
lea rax, [rax + 0x20]
paddq xmm1, xmm3
paddq xmm0, xmm3
pxor xmm1, xmm0
paddq xmm2, xmm3
por xmm1, xmm5
movdqa xmm5, xmm1
movdqa xmm1, xmm3
movdqu xmm0, xmmword [rax - 0x20]
paddq xmm1, xmm0
pxor xmm2, xmm1
por xmm2, xmm4
movdqa xmm4, xmm2
cmp rdx, rcx
jb 0x1800526a0
por xmm4, xmm5
movdqa xmm0, xmm4
psrldq xmm0, 8
por xmm4, xmm0
movq r15, xmm4
cmp rdx, r8
jae case.0x180052660.8
nop dword [rax]
mov rcx, qword [r14 + rdx*8 - 8]
mov rax, qword [r14 + rdx*8]
sub rcx, r10
sub rax, r10
inc rdx
xor rcx, rax
or r15, rcx
cmp rdx, r8
jb 0x180052710
jmp case.0x180052660.8
test r15, r15
je case.0x180052660.8
xor r9d, r9d
mov qword [rsp + 0x48], r15
lea r8, [rsp + 0x48]
mov dword [rsp + 0x20], 0x7f
xor edx, edx
xor ecx, ecx
call fcn.1800514b0
mov rcx, qword [rsi]
lea r9, [rsp + 0x70]
mov qword [rsp + 0x78], rcx
lea r8, [rsp + 0x78]
mov ecx, 0x14
mov qword [rsp + 0x70], rax
lea rdx, [rsp + 0x38]
mov qword [rsp + 0x38], r15
mov qword [rsp + 0x20], r14
call fcn.180072a60
jmp 0x18005289b
mov edi, PathMakeUniqueName
mov eax, edi
sub eax, 0x2b
je 0x1800528be
cmp eax, 1
jne 0x1800527e2
mov rax, qword [rdx]
lea r9, [rsp + 0x88]
mov qword [rsp + 0x98], rax
mov edx, 0x21
mov rax, qword [r8]
xor ecx, ecx
lea r8, [rsp + 0x38]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x20], r14
call fcn.180069cf0
mov rdx, qword [rsp + 0x50]
mov r8, qword [rsp + 0x58]
mov byte [rsp + 0x40], al
dec edi
cmp edi, 0x2a
ja 0x180052793
mov r9d, dword [rsp + 0x30]
cmp qword [rsp + 0x60], rbx
jne case.0x180052660.8
mov rax, rbx
jmp 0x1800528c3
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov qword [rsp + 0x60], rax
jmp 0x18005289b
test r14, r14
je 0x1800528ba
mov rsi, qword [r14]
mov edi, 0x118
mov eax, edi
sub eax, 0xba
je 0x180052854
sub eax, 0x5e
je 0x18005283f
sub eax, 0x58
je 0x180052883
cmp eax, 0x5e
je 0x180052883
jmp 0x180052875
test rsi, rsi
je 0x18005284f
cmp byte [rsi + 2], 2
jne 0x18005284f
mov bpl, 1
jmp 0x180052875
xor bpl, bpl
jmp 0x180052875
xor r9d, r9d
mov qword [rsp + 0x38], rbx
mov r8, rsi
lea rdx, [rsp + 0x38]
lea ecx, [r9 + 0x46]
call fcn.1800090f0
mov qword [rsp + 0x48], rax
movzx ebp, al
add edi, 0xb6
cmp edi, 0x3f0
jb 0x180052825
test bpl, bpl
je 0x1800528ba
mov rsi, qword [rsp + 0x80]
mov rax, qword [rsi]
mov qword [rsp + 0x90], rax
mov r9d, dword [rsp + 0x30]
inc r13d
inc r12d
cmp r13d, r9d
jae 0x1800528be
mov rdx, qword [rsp + 0x50]
mov r8, qword [rsp + 0x58]
jmp 0x180052631
mov byte [rsp + 0x40], bl
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0xa0]
xor rcx, rsp
call fcn.180083f10
mov rbx, qword [rsp + 0x108]
add rsp, 0xb0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov rax, qword [rsp + 0x40]
mov edi, 0x5e
mov ecx, edi
sub ecx, 0x5d
je 0x1800528c3
cmp ecx, 1
jne 0x180052923
mov r9, r14
mov qword [rsp + 0x68], rbx
xor r8d, r8d
mov dword [rsp + 0x20], 0xd8
lea rdx, [rsp + 0x68]
xor ecx, ecx
call fcn.18006dee0
dec edi
cmp edi, 0x5c
ja 0x1800528f8
mov rcx, qword [rsp + 0x60]
mov rdx, rsi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
jmp 0x1800528c3