Function at 0x180002f90
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
lea rbp, [rsp - 0x47]
sub rsp, 0xe0
mov rax, qword [0x180025008]
xor rax, rsp
mov qword [rbp + 0x17], rax
xor ebx, ebx
mov r10, rcx
mov qword [rbp - 0x69], rbx
lea r9, [rbx - 1]
cmp word [rcx], bx
je 0x180002ff0
mov rcx, r9
nop word [rax + rax]
inc rcx
cmp word [r10 + rcx*2], bx
jne 0x180002fd0
add ecx, 1
mov rax, rbx
mov dword [rbp - 0x61], ecx
cmovne rax, r10
mov dword [rbp - 0x5d], ecx
mov qword [rbp - 0x69], rax
jmp 0x180002ff4
mov qword [rbp - 0x61], rbx
mov qword [rbp - 0x59], rbx
cmp word [rdx], bx
je 0x180003023
nop dword [rax]
inc r9
cmp word [rdx + r9*2], bx
jne 0x180003000
add r9d, 1
mov rax, rbx
mov dword [rbp - 0x51], r9d
cmovne rax, rdx
mov dword [rbp - 0x4d], r9d
mov qword [rbp - 0x59], rax
jmp 0x180003027
mov qword [rbp - 0x51], rbx
movzx eax, byte [r8]
mov esi, 6
movups xmm0, xmmword [str.sY_PT]
movups xmm1, xmmword [0x180021da0]
mov edi, dword [0x180025018]
mov byte [rbp - 0x49], al
xor eax, eax
movups xmmword [rbp - 0x39], xmm0
movups xmm0, xmmword [0x180021db0]
mov dword [rbp - 0x48], eax
mov word [rbp - 0x44], ax
mov byte [rbp - 0x42], al
mov eax, dword [0x180021dd8]
movups xmmword [rbp - 0x29], xmm1
movups xmm1, xmmword [0x180021dc0]
movups xmmword [rbp - 0x19], xmm0
movsd xmm0, qword [0x180021dd0]
mov dword [rbp + 0xf], eax
movaps xmmword [rsp + 0xd0], xmm6
movaps xmmword [rsp + 0xc0], xmm7
movups xmmword [rbp - 9], xmm1
movsd qword [rbp + 7], xmm0
cmp word [rbp + 0x11], bx
je 0x1800031b2
mov ecx, ebx
cmp edi, 2
jl 0x180003182
movdqa xmm5, xmmword [0x1800220f0]
lea rdx, [rbp - 0x39]
movdqa xmm6, xmmword [str.____]
movdqa xmm7, xmmword [0x180022110]
movd xmm4, esi
nop dword [rax]
xorps xmm0, xmm0
movd xmm1, ecx
pshufd xmm1, xmm1, 0
lea eax, [rcx + 4]
paddd xmm1, xmm5
lea rdx, [rdx + 0x10]
pcmpgtd xmm0, xmm1
movq xmm2, xmm7
pand xmm0, xmm6
add ecx, 8
paddd xmm0, xmm1
psrad xmm0, xmm4
pslld xmm0, xmm4
psubd xmm1, xmm0
pshuflw xmm0, xmm1, 0xd8
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [rdx - 0x10]
pshufd xmm3, xmm1, 0xd8
movd xmm1, eax
paddw xmm3, xmm2
pshufd xmm1, xmm1, 0
pxor xmm3, xmm0
movq qword [rdx - 0x10], xmm3
xorps xmm0, xmm0
paddd xmm1, xmm5
movq xmm2, xmm7
pcmpgtd xmm0, xmm1
pand xmm0, xmm6
paddd xmm0, xmm1
psrad xmm0, xmm4
pslld xmm0, xmm4
psubd xmm1, xmm0
pshuflw xmm0, xmm1, 0xd8
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [rdx - 8]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
pxor xmm3, xmm0
movq qword [rdx - 8], xmm3
cmp ecx, 0x20
jl 0x1800030d0
cmp ecx, 0x26
jge 0x1800031b2
movsxd rax, ecx
lea rdx, [rbp - 0x39]
lea rdx, [rdx + rax*2]
nop dword [rax]
mov eax, ecx
and eax, 0x8000003f
jge 0x1800031a0
dec eax
or eax, 0xffffffc0
inc eax
add ax, 0x36
inc ecx
xor word [rdx], ax
add rdx, 2
cmp ecx, 0x26
jl 0x180003190
xor edx, edx
lea rcx, [rbp - 0x39]
call fcn.180007e70
mov rcx, qword [0x180027998]
lea r8, [rbp - 0x69]
mov rdx, rax
call fcn.180001200
cmp word [rbp + 0x11], bx
jne 0x1800032f2
cmp edi, 2
jl 0x1800032c2
movdqa xmm5, xmmword [0x1800220f0]
lea rcx, [rbp - 0x39]
movdqa xmm6, xmmword [str.____]
movdqa xmm7, xmmword [0x180022110]
movd xmm4, esi
nop dword [rax]
nop word [rax + rax]
xorps xmm0, xmm0
movd xmm1, ebx
pshufd xmm1, xmm1, 0
lea eax, [rbx + 4]
paddd xmm1, xmm5
lea rcx, [rcx + 0x10]
pcmpgtd xmm0, xmm1
movq xmm2, xmm7
pand xmm0, xmm6
add ebx, 8
paddd xmm0, xmm1
psrad xmm0, xmm4
pslld xmm0, xmm4
psubd xmm1, xmm0
pshuflw xmm0, xmm1, 0xd8
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [rcx - 0x10]
pshufd xmm3, xmm1, 0xd8
movd xmm1, eax
paddw xmm3, xmm2
pshufd xmm1, xmm1, 0
pxor xmm3, xmm0
movq qword [rcx - 0x10], xmm3
xorps xmm0, xmm0
paddd xmm1, xmm5
movq xmm2, xmm7
pcmpgtd xmm0, xmm1
pand xmm0, xmm6
paddd xmm0, xmm1
psrad xmm0, xmm4
pslld xmm0, xmm4
psubd xmm1, xmm0
pshuflw xmm0, xmm1, 0xd8
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [rcx - 8]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
pxor xmm3, xmm0
movq qword [rcx - 8], xmm3
cmp ebx, 0x20
jl 0x180003210
cmp ebx, 0x26
jge 0x1800032f2
movsxd rax, ebx
lea rcx, [rbp - 0x39]
lea rcx, [rcx + rax*2]
nop dword [rax]
mov eax, ebx
and eax, 0x8000003f
jge 0x1800032e0
dec eax
or eax, 0xffffffc0
inc eax
add ax, 0x36
inc ebx
xor word [rcx], ax
add rcx, 2
cmp ebx, 0x26
jl 0x1800032d0
movzx eax, byte [rbp - 0x48]
movaps xmm7, xmmword [rsp + 0xc0]
movaps xmm6, xmmword [rsp + 0xd0]
mov rcx, qword [rbp + 0x17]
xor rcx, rsp
call fcn.180008760
mov rbx, qword [rsp + 0x118]
add rsp, 0xe0
pop rdi
pop rsi
pop rbp
ret