Function at 0x180004350
Capabilities:
Encode data using xor

Disassembly:
mov r11, rsp
mov qword [r11 + 0x18], rbx
mov qword [r11 + 0x20], rbp
push rdi
sub rsp, 0xf0
movaps xmmword [r11 - 0x18], xmm6
movaps xmmword [r11 - 0x28], xmm7
mov rax, qword [0x180025008]
xor rax, rsp
mov qword [rsp + 0xc0], rax
movups xmm0, xmmword [0x180021210]
xor ebx, ebx
movups xmm1, xmmword [0x180021220]
mov eax, dword [0x180021288]
mov edi, dword [0x180025018]
movups xmmword [rsp + 0x40], xmm0
lea ebp, [rbx + 6]
movups xmm0, xmmword [0x180021230]
movups xmmword [rsp + 0x50], xmm1
movups xmm1, xmmword [0x180021240]
movups xmmword [rsp + 0x60], xmm0
movups xmm0, xmmword [0x180021250]
movups xmmword [rsp + 0x70], xmm1
movups xmm1, xmmword [0x180021260]
movups xmmword [r11 - 0x78], xmm0
movups xmm0, xmmword [0x180021270]
movups xmmword [r11 - 0x68], xmm1
movsd xmm1, qword [0x180021280]
mov dword [r11 - 0x40], eax
mov qword [r11 + 0x10], rsi
mov rsi, rcx
movups xmmword [r11 - 0x58], xmm0
movsd qword [r11 - 0x48], xmm1
cmp word [r11 - 0x3e], bx
je 0x180004522
mov ecx, ebx
cmp edi, 2
jl 0x1800044f2
movdqa xmm5, xmmword [0x1800220f0]
lea rdx, [rsp + 0x40]
movdqa xmm6, xmmword [str.____]
movdqa xmm7, xmmword [0x180022110]
movd xmm4, ebp
nop dword [rax]
nop dword [rax + 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, 0x38
jl 0x180004440
cmp ecx, 0x3e
jge 0x180004522
movsxd rax, ecx
lea rdx, [rsp + 0x40]
lea rdx, [rdx + rax*2]
nop
mov eax, ecx
and eax, 0x8000003f
jge 0x180004510
dec eax
or eax, 0xffffffc0
inc eax
add ax, 0x36
inc ecx
xor word [rdx], ax
add rdx, 2
cmp ecx, 0x3e
jl 0x180004500
xor edx, edx
lea rcx, [rsp + 0x40]
call fcn.180007e70
mov rdx, rax
lea r8, [rsp + 0x30]
mov rcx, rsi
call fcn.180001200
mov rsi, qword [rsp + 0x108]
cmp word [rsp + 0xba], bx
jne 0x180004662
cmp edi, 2
jl 0x180004632
movdqa xmm5, xmmword [0x1800220f0]
lea rcx, [rsp + 0x40]
movdqa xmm6, xmmword [str.____]
movdqa xmm7, xmmword [0x180022110]
movd xmm4, ebp
nop
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, 0x38
jl 0x180004580
cmp ebx, 0x3e
jge 0x180004662
movsxd rax, ebx
lea rcx, [rsp + 0x40]
lea rcx, [rcx + rax*2]
nop
mov eax, ebx
and eax, 0x8000003f
jge 0x180004650
dec eax
or eax, 0xffffffc0
inc eax
add ax, 0x36
inc ebx
xor word [rcx], ax
add rcx, 2
cmp ebx, 0x3e
jl 0x180004640
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0xc0]
xor rcx, rsp
call fcn.180008760
lea r11, [rsp + 0xf0]
mov rbx, qword [r11 + 0x20]
mov rbp, qword [r11 + 0x28]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop rdi
ret