Function at 0x1800250f0
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], rbx
mov qword [rax + 0x20], rsi
push rbp
push rdi
push r14
lea rbp, [rax - 0xb8]
sub rsp, 0x1a0
movaps xmmword [rax - 0x38], xmm9
movaps xmmword [rax - 0x48], xmm10
movaps xmmword [rax - 0x58], xmm11
mov rax, qword [0x18008d020]
xor rax, rsp
mov qword [rbp + 0x50], rax
mov rdi, qword [0x18008dc38]
mov r9, r8
mov r14d, edx
mov r10, rcx
mov rax, qword [rdi + 0x1860]
mov byte [rax + 0x92], 1
mov r11, qword [rdi + 0x1860]
mov ebx, dword [r11 + 0xc]
mov r8, qword [r11 + 0x1c8]
and ebx, 4
movss xmm2, dword [r11 + 0xe0]
movss xmm3, dword [r11 + 0xe4]
movss xmm1, dword [r11 + 0x50]
movss xmm4, dword [r11 + 0x54]
subss xmm2, dword [r11 + 0x18]
subss xmm3, dword [r11 + 0x1c]
test r8, r8
je 0x1800251c0
mov ecx, dword [r8 + 0xc]
movss xmm1, dword [r8 + 0x18]
subss xmm1, dword [r8 + 0x14]
lea eax, [rcx + 1]
test eax, eax
cmovns ecx, eax
movsxd rax, ecx
imul rcx, rax, 0x1c
mov rax, qword [r8 + 0x38]
mulss xmm1, dword [rcx + rax]
addss xmm1, dword [r8 + 0x14]
subss xmm1, dword [r11 + 0x58]
cvttss2si eax, dword [r9]
xor r8d, r8d
subss xmm1, xmm2
xorps xmm2, xmm2
subss xmm4, xmm3
movd xmm10, eax
cvttss2si eax, dword [r9 + 4]
cvtdq2ps xmm10, xmm10
movd xmm9, eax
ucomiss xmm10, xmm2
cvtdq2ps xmm9, xmm9
jp 0x1800251f7
lea eax, [r8 + 1]
je 0x1800251fa
mov eax, r8d
ucomiss xmm9, xmm2
jp 0x180025207
mov esi, 2
je 0x18002520a
mov esi, r8d
movss xmm0, dword [0x1800826d8]
or esi, eax
comiss xmm2, xmm10
jb 0x18002522c
addss xmm1, xmm10
comiss xmm1, xmm0
movaps xmm10, xmm1
jae 0x18002522c
movaps xmm10, xmm0
comiss xmm2, xmm9
jb 0x180025241
addss xmm9, xmm4
comiss xmm9, xmm0
jae 0x180025241
movaps xmm9, xmm0
or ebx, dword [rbp + 0xe0]
movss xmm11, dword [rdi + 0x1450]
or ebx, 0x1000103
mov r9, qword [r11]
test r10, r10
je 0x1800252dc
movzx ecx, word [0x180082550]
lea r8, [rsp + 0x30]
movsd xmm0, qword [0x180082548]
mov edx, 0x100
movzx eax, byte [0x180082552]
movsd qword [rsp + 0x30], xmm0
xor al, 0x3c
xor byte [rsp + 0x31], 0x33
xor byte [rsp + 0x32], 0x34
xor byte [rsp + 0x33], 0x35
xor byte [rsp + 0x34], 0x36
xor byte [rsp + 0x35], 0x37
xor byte [rsp + 0x36], 0x38
xor byte [rsp + 0x37], 0x39
mov word [rsp + 0x38], cx
xor cl, 0x3a
xor byte [rsp + 0x39], 0x3b
mov byte [rsp + 0x38], cl
lea rcx, [rsp + 0x50]
mov dword [rsp + 0x28], r14d
mov byte [rsp + 0x30], 0x25
mov byte [rsp + 0x3a], al
mov qword [rsp + 0x20], r10
call fcn.18001f520
jmp 0x18002547d
cmp byte [0x180082577], r8b
mov rax, qword [0x180082570]
mov qword [rsp + 0x40], rax
je 0x180025464
cmp dword [0x18008d028], 2
jl 0x18002541e
movdqa xmm2, xmmword [0x1800827d0]
mov eax, 5
movdqa xmm3, xmmword [0x1800827e0]
movdqa xmm1, xmm2
movdqa xmm4, xmmword [0x1800828e0]
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
movaps xmmword [rsp + 0x190], xmm6
movd xmm6, eax
mov eax, 0x1f
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
movd xmm5, eax
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1800827f0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, dword [rsp + 0x40]
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
andps xmm2, xmmword [0x180082810]
packuswb xmm2, xmm2
paddb xmm2, xmmword [str.2222222222222222]
xorps xmm2, xmm0
punpckldq xmm1, xmm3
movd dword [rsp + 0x40], xmm2
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, xmm6
movaps xmm6, xmmword [rsp + 0x190]
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1800827f0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, dword [rsp + 0x44]
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x180082810]
packuswb xmm2, xmm2
paddb xmm2, xmmword [str.2222222222222222]
xorps xmm2, xmm0
movd dword [rsp + 0x44], xmm2
jmp 0x180025464
lea r10, [rsp + 0x40]
nop dword [rax]
nop word [rax + rax]
mov eax, 0x8d3dcb09
lea r10, [r10 + 1]
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x3a
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x32
xor byte [r10 - 1], al
cmp r8d, 8
jl 0x180025430
lea r8, [rsp + 0x40]
mov dword [rsp + 0x20], r14d
mov edx, 0x100
lea rcx, [rsp + 0x50]
call fcn.18001f520
mov rax, qword [0x18008dc38]
lea rcx, [rsp + 0x50]
mov r8d, ebx
xor edx, edx
movss dword [rax + 0x1938], xmm10
movss dword [rax + 0x193c], xmm9
mov dword [rax + 0x1914], 1
call fcn.180026df0
mov rdx, qword [0x18008dc38]
mov rcx, qword [rdx + 0x1860]
mov byte [rcx + 0x92], 1
mov rcx, qword [rdx + 0x1860]
mov dword [rcx + 0xb4], esi
movss dword [rdi + 0x1450], xmm11
mov rcx, qword [rbp + 0x50]
xor rcx, rsp
call fcn.180042cf0
lea r11, [rsp + 0x1a0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
movaps xmm9, xmmword [r11 - 0x20]
movaps xmm10, xmmword [r11 - 0x30]
movaps xmm11, xmmword [r11 - 0x40]
mov rsp, r11
pop r14
pop rdi
pop rbp
ret