Function at 0x1800ac188
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], r8
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xc8
mov rbx, qword [0x1800f2b60]
mov rdi, r9
mov r15d, dword [rcx + 0xc]
mov r14, rdx
movaps xmmword [rax - 0x58], xmm6
mov rsi, rcx
movaps xmmword [rax - 0x68], xmm7
movaps xmmword [rax - 0x78], xmm8
lea r10, [rbx + 0x3808]
movaps xmmword [rax - 0x88], xmm9
movaps xmmword [rsp + 0x70], xmm10
test r15b, 0x20
jne 0x1800ac1ec
cmp dword [r10], 0xffffffff
je 0x1800ac1ec
mov cl, 1
jmp 0x1800ac1ee
xor cl, cl
mov r12d, dword [rbx + 0x4730]
lea r13, [rdx + 4]
mov eax, r12d
xorps xmm7, xmm7
or eax, 0x10
mov dword [rbx + 0x4730], eax
mov rax, r13
mov dword [rsi + 0x150], 1
movss xmm6, dword [rbx + 0x381c]
movss xmm10, dword [rbx + 0x3c10]
movaps xmm9, xmm6
and dword [rbp + 0x7f], 0
and dword [rbp + 0x83], 0
and dword [rbp + 0x6f], 0
and dword [rbp + 0x73], 0
movss xmm2, dword [rdx + 8]
test rdi, rdi
je 0x1800ac275
movss xmm0, dword [r13]
addss xmm9, xmm10
movaps xmm1, xmm2
subss xmm1, xmm9
subss xmm1, dword [rbx + 0x381c]
movss dword [rbp + 0x83], xmm0
movss dword [rbp + 0x7f], xmm1
movaps xmm1, xmm9
jmp 0x1800ac27d
movaps xmm1, xmm10
addss xmm1, xmm6
movss xmm0, dword [rax]
test cl, cl
je 0x1800ac340
cmp dword [r10], 1
jne 0x1800ac2ab
addss xmm9, xmm10
subss xmm2, xmm9
subss xmm2, dword [rbx + 0x381c]
movss dword [rbp + 0x73], xmm0
movss dword [rbp + 0x6f], xmm2
cmp dword [r10], 0
jne 0x1800ac2ca
addss xmm6, dword [rdx]
subss xmm6, dword [rbx + 0x381c]
movss dword [rbp + 0x73], xmm0
movss dword [rbp + 0x6f], xmm6
movaps xmm6, xmm1
mov dword [rbp - 0x69], 0x7a7a7710
lea r9, [rbp - 0x69]
mov dword [rbp - 0x65], 0x6969797b
xor r8d, r8d
mov word [rbp - 0x61], 0x3c7e
mov eax, 0x51eb851f
mul r8d
shr edx, 4
movsx eax, dl
imul ecx, eax, 0x32
mov al, r8b
inc r8d
sub al, cl
add al, 0x33
xor byte [r9], al
inc r9
cmp r8d, 0xa
jl 0x1800ac2e5
movsxd rax, dword [rsi + 0xe8]
lea rcx, [rbp - 0x69]
mov r8, qword [rsi + 0xf0]
xor edx, edx
mov r8d, dword [r8 + rax*4 - 4]
call fcn.1800a449c
lea rdx, [rbp + 0x6f]
mov ecx, eax
call fcn.1800cb7f4
test al, al
je 0x1800ac340
mov byte [rsi + 0xb2], 1
test rdi, rdi
je 0x1800ac3b4
mov dword [rbp + 0x67], 0x79797710
lea r9, [rbp + 0x67]
mov word [rbp + 0x6b], 0x7d64
xor r8d, r8d
mov byte [rbp + 0x6d], 0x39
mov eax, 0x51eb851f
mul r8d
shr edx, 4
movsx eax, dl
imul ecx, eax, 0x32
mov al, r8b
inc r8d
sub al, cl
add al, 0x33
xor byte [r9], al
inc r9
cmp r8d, 7
jl 0x1800ac35d
movsxd rax, dword [rsi + 0xe8]
lea rcx, [rbp + 0x67]
mov r8, qword [rsi + 0xf0]
xor edx, edx
mov r8d, dword [r8 + rax*4 - 4]
call fcn.1800a449c
lea rdx, [rbp + 0x7f]
mov ecx, eax
call fcn.1800cb4c8
test al, al
je 0x1800ac3b4
mov byte [rdi], 0
and dword [rsi + 0x150], 0
mov dword [rbx + 0x4730], r12d
and r15d, 0x100000
je 0x1800ac3d6
mulss xmm10, dword [0x180008b18]
jmp 0x1800ac3da
movaps xmm10, xmm7
movss xmm0, dword [0x180006104]
lea rcx, [rbp - 0x69]
mov r12, qword [rbp + 0x77]
mov r9b, 1
mov rdx, r12
movss dword [rsp + 0x20], xmm0
xor r8d, r8d
call fcn.1800a05e8
movss xmm1, dword [rbx + 0x381c]
movaps xmm3, xmm10
comiss xmm6, xmm1
movss xmm0, dword [rax + 4]
addss xmm3, dword [rax]
addss xmm0, xmm7
movss dword [rbp + 0x67], xmm3
movss dword [rbp + 0x6b], xmm0
movss xmm0, dword [rbx + 0x3834]
jbe 0x1800ac432
addss xmm6, xmm0
comiss xmm9, xmm1
jbe 0x1800ac43d
addss xmm9, xmm0
lea rdi, [rbx + 0x3800]
movss xmm0, dword [rdi]
comiss xmm0, xmm7
jbe 0x1800ac4ba
movss xmm1, dword [0x180005fd0]
comiss xmm1, xmm0
jbe 0x1800ac4ba
subss xmm0, dword [0x180005fbc]
movaps xmm2, xmm1
andps xmm0, xmmword [0x180008400]
addss xmm0, xmm0
subss xmm2, xmm0
comiss xmm7, xmm2
ja 0x1800ac480
movaps xmm7, xmm1
minss xmm7, xmm2
movss xmm0, dword [r14 + 8]
movaps xmm1, xmm6
subss xmm0, dword [r14]
maxss xmm1, xmm9
subss xmm0, xmm6
subss xmm0, xmm9
subss xmm0, xmm3
minss xmm1, xmm0
mulss xmm1, xmm7
comiss xmm6, xmm1
jae 0x1800ac4b0
movaps xmm6, xmm1
comiss xmm9, xmm1
jae 0x1800ac4ba
movaps xmm9, xmm1
movss xmm7, dword [r14 + 8]
movss xmm8, dword [r13]
subss xmm7, xmm9
movss xmm1, dword [r14 + 0xc]
movss dword [rbp - 0x55], xmm8
movss dword [rbp - 0x4d], xmm1
movss dword [rbp - 0x65], xmm8
movss dword [rbp - 0x51], xmm7
movaps xmm9, xmm7
movss dword [rbp - 0x5d], xmm1
addss xmm6, dword [r14]
movss dword [rbp - 0x59], xmm6
movss dword [rbp - 0x69], xmm6
addss xmm9, dword [rbx + 0x3834]
minss xmm9, dword [r14 + 8]
movss dword [rbp - 0x61], xmm9
test r15d, r15d
je 0x1800ac5c1
movaps xmm0, xmm7
subss xmm0, xmm6
subss xmm0, xmm3
mulss xmm0, dword [rdi]
addss xmm0, xmm6
addss xmm0, xmm3
comiss xmm6, xmm0
jbe 0x1800ac53e
movaps xmm7, xmm6
jmp 0x1800ac542
minss xmm7, xmm0
comiss xmm7, xmm6
addss xmm8, xmm1
mulss xmm8, dword [0x180005fbc]
jbe 0x1800ac5c1
mov rax, qword [0x1800f2b60]
lea rcx, [rbp - 0x49]
movdqu xmm0, xmmword [rax + 0x38b8]
movups xmmword [rbp - 0x49], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rax + 0x37e0]
movss dword [rbp - 0x3d], xmm0
call fcn.1800a1484
mov rcx, qword [rsi + 0x290]
movaps xmm0, xmm7
unpcklps xmm0, xmm8
mov r8d, eax
movq rdx, xmm0
call fcn.1800b8e88
mulss xmm10, dword [0x180005fbc]
cvttss2si eax, xmm10
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm7, xmm0
comiss xmm7, xmm9
ja 0x1800ac5c1
movss dword [rbp - 0x61], xmm7
lea rax, [rbp - 0x69]
xor r9d, r9d
mov qword [rsp + 0x30], rax
lea rdx, [rbp - 0x51]
lea rax, [rbp + 0x67]
mov qword [rsp + 0x28], rdi
mov r8, r12
mov qword [rsp + 0x20], rax
lea rcx, [rbp - 0x59]
call fcn.1800ab3ec
lea r11, [rsp + 0xc8]
movaps xmm6, xmmword [r11 - 0x18]
movaps xmm7, xmmword [r11 - 0x28]
movaps xmm8, xmmword [r11 - 0x38]
movaps xmm9, xmmword [r11 - 0x48]
movaps xmm10, xmmword [r11 - 0x58]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret