Function at 0x180024380
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], rbx
push rbp
push rsi
push rdi
lea rbp, [rax - 0xa8]
sub rsp, 0x190
movaps xmmword [rax - 0x28], xmm7
movaps xmmword [rax - 0x38], xmm8
movaps xmmword [rax - 0x48], xmm9
mov rax, qword [0x18008d040]
xor rax, rsp
mov qword [rbp + 0x50], rax
mov rsi, qword [0x18008dc98]
mov r11d, edx
mov r10, rcx
mov rax, qword [rsi + 0x1860]
mov byte [rax + 0x92], 1
mov r9, qword [rsi + 0x1860]
mov ebx, dword [r9 + 0xc]
mov rdx, qword [r9 + 0x1c8]
and ebx, 4
movss xmm2, dword [r9 + 0xe0]
movss xmm3, dword [r9 + 0xe4]
movss xmm1, dword [r9 + 0x50]
movss xmm4, dword [r9 + 0x54]
subss xmm2, dword [r9 + 0x18]
subss xmm3, dword [r9 + 0x1c]
test rdx, rdx
je 0x180024443
mov ecx, dword [rdx + 0xc]
movss xmm1, dword [rdx + 0x18]
subss xmm1, dword [rdx + 0x14]
lea eax, [rcx + 1]
test eax, eax
cmovns ecx, eax
movsxd rax, ecx
imul rcx, rax, 0x1c
mov rax, qword [rdx + 0x38]
mulss xmm1, dword [rcx + rax]
addss xmm1, dword [rdx + 0x14]
subss xmm1, dword [r9 + 0x58]
cvttss2si eax, dword [r8]
subss xmm1, xmm2
xorps xmm2, xmm2
subss xmm4, xmm3
movd xmm8, eax
cvttss2si eax, dword [r8 + 4]
xor r8d, r8d
cvtdq2ps xmm8, xmm8
movd xmm7, eax
ucomiss xmm8, xmm2
cvtdq2ps xmm7, xmm7
jp 0x180024478
lea eax, [r8 + 1]
je 0x18002447b
mov eax, r8d
ucomiss xmm7, xmm2
jp 0x180024487
mov edi, 2
je 0x18002448a
mov edi, r8d
movss xmm0, dword [0x1800825c0]
or edi, eax
comiss xmm2, xmm8
jb 0x1800244ac
addss xmm1, xmm8
comiss xmm1, xmm0
movaps xmm8, xmm1
jae 0x1800244ac
movaps xmm8, xmm0
comiss xmm2, xmm7
jb 0x1800244bd
addss xmm7, xmm4
comiss xmm7, xmm0
jae 0x1800244bd
movaps xmm7, xmm0
or ebx, dword [rbp + 0xd0]
movss xmm9, dword [rsi + 0x1450]
or ebx, 0x1000103
mov r9, qword [r9]
test r10, r10
je 0x180024558
movzx ecx, word [0x180082408]
lea r8, [rsp + 0x30]
movsd xmm0, qword [0x180082400]
mov edx, 0x100
movzx eax, byte [0x18008240a]
movsd qword [rsp + 0x30], xmm0
xor al, 0x3d
xor byte [rsp + 0x31], 0x34
xor byte [rsp + 0x32], 0x35
xor byte [rsp + 0x33], 0x36
xor byte [rsp + 0x34], 0x37
xor byte [rsp + 0x35], 0x38
xor byte [rsp + 0x36], 0x39
xor byte [rsp + 0x37], 0x3a
mov word [rsp + 0x38], cx
xor cl, 0x3b
xor byte [rsp + 0x39], 0x3c
mov byte [rsp + 0x38], cl
lea rcx, [rsp + 0x50]
mov dword [rsp + 0x28], r11d
mov byte [rsp + 0x30], 0x25
mov byte [rsp + 0x3a], al
mov qword [rsp + 0x20], r10
call fcn.18001e9a0
jmp 0x1800246ce
cmp byte [0x1800823a7], r8b
mov rax, qword [0x1800823a0]
mov qword [rsp + 0x40], rax
je 0x1800246b5
cmp dword [0x18008d088], 2
jl 0x18002467c
movdqa xmm2, xmmword [0x1800826b0]
movdqa xmm3, xmmword [0x1800826c0]
movdqa xmm1, xmm2
movdqa xmm4, xmmword [0x1800827c0]
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1800826d0]
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 [0x1800826f0]
packuswb xmm2, xmm2
paddb xmm2, xmmword [str.3333333333333333]
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, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1800826d0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, dword [rsp + 0x44]
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x1800826f0]
packuswb xmm2, xmm2
paddb xmm2, xmmword [str.3333333333333333]
xorps xmm2, xmm0
movd dword [rsp + 0x44], xmm2
jmp 0x1800246b5
lea r10, [rsp + 0x40]
mov eax, 0x92492493
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, 0x38
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x33
xor byte [r10 - 1], al
cmp r8d, 8
jl 0x180024681
lea r8, [rsp + 0x40]
mov dword [rsp + 0x20], r11d
mov edx, 0x100
lea rcx, [rsp + 0x50]
call fcn.18001e9a0
mov rax, qword [0x18008dc98]
lea rcx, [rsp + 0x50]
mov r8d, ebx
xor edx, edx
movss dword [rax + 0x1938], xmm8
movss dword [rax + 0x193c], xmm7
mov dword [rax + 0x1914], 1
call fcn.180026060
mov rdx, qword [0x18008dc98]
mov rcx, qword [rdx + 0x1860]
mov byte [rcx + 0x92], 1
mov rcx, qword [rdx + 0x1860]
mov dword [rcx + 0xb4], edi
movss dword [rsi + 0x1450], xmm9
mov rcx, qword [rbp + 0x50]
xor rcx, rsp
call fcn.180041300
lea r11, [rsp + 0x190]
mov rbx, qword [r11 + 0x30]
movaps xmm7, xmmword [r11 - 0x10]
movaps xmm8, xmmword [r11 - 0x20]
movaps xmm9, xmmword [r11 - 0x30]
mov rsp, r11
pop rdi
pop rsi
pop rbp
ret