Function at 0x1800488a0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rdi
push rbp
mov rbp, rsp
sub rsp, 0x40
lea rdx, [rbp + 0x14]
movaps xmmword [rsp + 0x30], xmm6
lea rcx, [rbp + 0x10]
call fcn.180072eb0
movss xmm6, dword [0x18029dd78]
xor ebx, ebx
mov edi, ebx
mov edx, dword [rbp + 0x14]
movss dword [rsp + 0x28], xmm6
mov dword [rsp + 0x20], 0xffffffff
lea eax, [rdx + 0xb]
movd xmm1, edx
movd xmm3, eax
mov rax, qword [rbp + 0x10]
cvtdq2ps xmm3, xmm3
lea ecx, [rax + rdi]
movd xmm0, eax
movd xmm2, ecx
cvtdq2ps xmm2, xmm2
cvtdq2ps xmm1, xmm1
cvtdq2ps xmm0, xmm0
call fcn.18000c920
inc edi
cmp edi, 9
jle 0x180048540
mov edi, ebx
mov edx, dword [rbp + 0x14]
movss dword [rsp + 0x28], xmm6
mov dword [rsp + 0x20], 0xffffffff
lea eax, [rdx + 9]
movd xmm3, eax
mov rax, qword [rbp + 0x10]
cvtdq2ps xmm3, xmm3
lea ecx, [rdi + rax]
movd xmm0, eax
movd xmm2, ecx
lea ecx, [rdx + 9]
add ecx, edi
cvtdq2ps xmm2, xmm2
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
cvtdq2ps xmm0, xmm0
call fcn.18000c920
inc edi
cmp edi, 7
jle 0x180048585
nop dword [rax]
mov ecx, dword [rbp + 0x14]
movss dword [rsp + 0x28], xmm6
mov dword [rsp + 0x20], 0xffffffff
lea eax, [rbx + rcx]
add ecx, 0xb
movd xmm3, eax
mov rax, qword [rbp + 0x10]
cvtdq2ps xmm3, xmm3
movd xmm1, ecx
lea ecx, [rax + 6]
add ecx, ebx
movd xmm2, eax
cvtdq2ps xmm2, xmm2
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm1, xmm1
call fcn.18000c920
inc ebx
cmp ebx, 3
jle 0x1800485d0
mov edx, dword [rbp + 0x14]
movss dword [rsp + 0x28], xmm6
mov dword [rsp + 0x20], 0xffffffff
lea eax, [rdx + 0x12]
movd xmm3, eax
mov rax, qword [rbp + 0x10]
cvtdq2ps xmm3, xmm3
lea ecx, [rax + 8]
movd xmm2, ecx
lea ecx, [rdx + 0xb]
movd xmm1, ecx
lea ecx, [rax + 5]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm2, xmm2
cvtdq2ps xmm1, xmm1
call fcn.18000c920
mov edx, dword [rbp + 0x14]
movss dword [rsp + 0x28], xmm6
mov dword [rsp + 0x20], 0xffffffff
lea eax, [rdx + 0x12]
movd xmm3, eax
mov rax, qword [rbp + 0x10]
cvtdq2ps xmm3, xmm3
lea ecx, [rax + 7]
movd xmm2, ecx
lea ecx, [rdx + 0xb]
movd xmm1, ecx
lea ecx, [rax + 4]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm2, xmm2
cvtdq2ps xmm1, xmm1
call fcn.18000c920
mov ecx, dword [rbp + 0x14]
movd xmm0, dword [rbp + 0x10]
cvtdq2ps xmm0, xmm0
lea eax, [rcx + 0x11]
movd xmm1, ecx
movd xmm3, eax
movaps xmm2, xmm0
movss dword [rsp + 0x28], xmm6
cvtdq2ps xmm3, xmm3
mov dword [rsp + 0x20], 0xff000000
cvtdq2ps xmm1, xmm1
call fcn.18000c920
mov edx, dword [rbp + 0x14]
movss dword [rsp + 0x28], xmm6
mov dword [rsp + 0x20], 0xff000000
lea eax, [rdx + 0xe]
movd xmm3, eax
mov rax, qword [rbp + 0x10]
cvtdq2ps xmm3, xmm3
lea ecx, [rax + 3]
movd xmm0, eax
movd xmm2, ecx
lea ecx, [rdx + 0x11]
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
cvtdq2ps xmm2, xmm2
cvtdq2ps xmm0, xmm0
call fcn.18000c920
mov edx, dword [rbp + 0x14]
movss dword [rsp + 0x28], xmm6
mov dword [rsp + 0x20], 0xff000000
lea eax, [rdx + 0x13]
movd xmm3, eax
mov rax, qword [rbp + 0x10]
cvtdq2ps xmm3, xmm3
lea ecx, [rax + 7]
movd xmm2, ecx
lea ecx, [rdx + 0xe]
movd xmm1, ecx
lea ecx, [rax + 4]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm2, xmm2
cvtdq2ps xmm1, xmm1
call fcn.18000c920
mov edx, dword [rbp + 0x14]
lea eax, [rdx + 0x13]
movd xmm3, eax
mov rax, qword [rbp + 0x10]
movss dword [rsp + 0x28], xmm6
cvtdq2ps xmm3, xmm3
mov dword [rsp + 0x20], 0xff000000
lea ecx, [rax + 7]
movd xmm2, ecx
lea ecx, [rdx + 0xe]
movd xmm1, ecx
lea ecx, [rax + 5]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm2, xmm2
cvtdq2ps xmm1, xmm1
call fcn.18000c920
mov eax, dword [rbp + 0x14]
add eax, 0x12
movss dword [rsp + 0x28], xmm6
mov dword [rsp + 0x20], 0xff000000
movd xmm1, eax
mov rax, qword [rbp + 0x10]
cvtdq2ps xmm1, xmm1
lea ecx, [rax + 9]
movd xmm2, ecx
lea ecx, [rax + 7]
movd xmm0, ecx
movaps xmm3, xmm1
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm2, xmm2
call fcn.18000c920
mov edx, dword [rbp + 0x14]
movss dword [rsp + 0x28], xmm6
mov dword [rsp + 0x20], 0xff000000
lea eax, [rdx + 0xc]
movd xmm3, eax
mov rax, qword [rbp + 0x10]
cvtdq2ps xmm3, xmm3
lea ecx, [rax + 7]
movd xmm2, ecx
lea ecx, [rdx + 0x12]
movd xmm1, ecx
lea ecx, [rax + 0xa]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm2, xmm2
cvtdq2ps xmm1, xmm1
call fcn.18000c920
mov eax, dword [rbp + 0x14]
add eax, 0xc
movss dword [rsp + 0x28], xmm6
mov dword [rsp + 0x20], 0xff000000
movd xmm1, eax
mov rax, qword [rbp + 0x10]
cvtdq2ps xmm1, xmm1
lea ecx, [rax + 0xc]
movd xmm2, ecx
lea ecx, [rax + 7]
movd xmm0, ecx
movaps xmm3, xmm1
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm2, xmm2
call fcn.18000c920
mov ecx, dword [rbp + 0x14]
mov rax, qword [rbp + 0x10]
movss dword [rsp + 0x28], xmm6
mov dword [rsp + 0x20], 0xff000000
movd xmm3, ecx
add ecx, 0xc
movd xmm2, eax
cvtdq2ps xmm3, xmm3
movd xmm1, ecx
lea ecx, [rax + 0xc]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm2, xmm2
cvtdq2ps xmm1, xmm1
call fcn.18000c920
mov rbx, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x60]
movaps xmm6, xmmword [rsp + 0x30]
add rsp, 0x40
pop rbp
ret
sub rsp, 0x48
cmp byte [str._P_GS7], 0
movsd xmm0, qword [0x180084648]
mov eax, dword [0x180084650]
movsd qword [rsp + 0x20], xmm0
mov dword [rsp + 0x28], eax
je 0x180048a30
xor r8d, r8d
cmp dword [0x1802ed0e0], 2
jl 0x1800489f1
movdqa xmm2, xmmword [0x18029de40]
mov eax, 1
movdqa xmm4, xmmword [0x18029de70]
movdqa xmm1, xmm2
movdqa xmm3, xmmword [0x180084600]
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
mov r8d, 8
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
movaps xmmword [rsp + 0x30], xmm6
movd xmm6, eax
mov eax, 0x1f
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movd xmm5, eax
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x18029de50]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, dword [0x180084648]
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
pand xmm2, xmmword [0x18029de60]
packuswb xmm2, xmm2
paddb xmm2, xmmword [0x180084620]
pxor xmm2, xmm0
punpckldq xmm1, xmm3
movd dword [rsp + 0x20], xmm2
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movaps xmm6, xmmword [rsp + 0x30]
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x18029de50]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, dword [rsp + 0x24]
pshufd xmm2, xmm1, 0xd8
pand xmm2, xmmword [0x18029de60]
packuswb xmm2, xmm2
paddb xmm2, xmmword [0x180084620]
pxor xmm2, xmm0
movd dword [rsp + 0x24], xmm2
movsxd rax, r8d
lea r9, [rsp + 0x20]
add r9, rax
nop dword [rax]
mov eax, 0x94f2095
lea r9, [r9 + 1]
imul r8d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x37
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x33
xor byte [r9 - 1], al
cmp r8d, 0xc
jl 0x180048a00
lea rax, [rsp + 0x20]
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x180048a40
mov rcx, qword [0x1802ea720]
lea rdx, [rsp + 0x20]
add rcx, 0x18
call fcn.180044b50
mov rax, qword [0x1802ea720]
mov byte [rax + 0x78], 1
mov rax, qword [0x1802ea720]
mov qword [rax + 0x80], 0
mov rax, qword [0x1802ea720]
mov dword [rax + 0x88], 0x41900000
mov rax, qword [0x1802ea778]
mov rcx, qword [rax + 0x48]
mov rax, qword [rcx]
call qword [rax + 0x18]
mov rax, qword [0x1802ea778]
mov rcx, qword [rax + 0x48]
cmp byte [rcx + 0x88], 0
je 0x180048af2
xor edx, edx
lea rcx, [0x180084640]
call fcn.18007e100
test al, al
je 0x180048af2
lea rcx, [0x1802eab00]
call fcn.1800566e0
test al, al
je 0x180048b04
mov dl, 1
mov byte [0x1802ea728], 1
lea rcx, [0x1802eab00]
call fcn.180056e50
add rsp, 0x48
jmp 0x180048510
xor edx, edx
lea rcx, [0x1802eab00]
add rsp, 0x48
jmp fcn.180056e50
add rsp, 0x48
ret