Function at 0x1800ac320
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rbp
mov qword [rax + 0x20], rsi
push rdi
push r14
push r15
sub rsp, 0xd0
movaps xmmword [rax - 0x28], xmm6
xor r14d, r14d
movaps xmmword [rax - 0x38], xmm7
movabs r15, 0x50fac3a3e030a6e1
movaps xmmword [rax - 0x48], xmm8
movaps xmmword [rax - 0x58], xmm9
mov eax, dword [0x1805b11f0]
mov qword [rsp + 0xf8], r14
mov dword [rsp + 0xf8], eax
mov rax, qword [rsp + 0xf8]
mov qword [0x180587120], rax
mov dword [0x1805870f8], r14d
mov qword [0x1805dd278], r15
mov dword [0x1805870e8], 1
call fcn.1801e4620
mov qword [rsp + 0xf8], r14
mov ecx, dword [rax]
movabs rax, 0x3fef770d40960d5a
mov dword [rsp + 0xf8], ecx
mov qword [0x1805dd278], rax
mov rax, qword [rsp + 0xf8]
mov qword [rsp + 0xf8], r14
mov qword [0x180587120], rax
mov dword [rsp + 0xf8], 1
mov rax, qword [rsp + 0xf8]
mov qword [0x180587128], rax
mov dword [0x1805870f8], r14d
mov dword [0x1805870e8], 2
call fcn.1801e4620
mov qword [rsp + 0xf8], r14
mov qword [0x1805dd278], r15
movsd xmm7, qword [rax + 0x10]
movups xmm8, xmmword [rax]
mov eax, dword [0x1805b11f0]
addss xmm7, dword [0x1805047dc]
mov dword [rsp + 0xf8], eax
mov rax, qword [rsp + 0xf8]
mov qword [0x180587120], rax
mov dword [0x1805870f8], r14d
mov dword [0x1805870e8], 1
call fcn.1801e4620
mov edi, r14d
lea rbp, str.VEHICLE_WEAPON_SPACE_ROCKET
mov ebx, r14d
mov esi, dword [rax]
mov eax, edi
movsx ecx, byte [rax + rbp]
call fcn.180370a88
add eax, ebx
inc edi
imul ebx, eax, 0x401
mov eax, ebx
shr eax, 6
xor ebx, eax
cmp edi, 0x1b
jb 0x1800ac465
movss xmm9, dword [0x180506314]
lea eax, [rbx + rbx*8]
movss dword [rsp + 0x60], xmm9
mov ecx, eax
mov dword [rsp + 0x58], 1
movaps xmm2, xmm7
addss xmm2, dword [0x180504c64]
mov dword [rsp + 0x50], 1
movaps xmm6, xmm8
mov dword [rsp + 0x48], esi
movaps xmm3, xmm8
shufps xmm6, xmm8, 0xaa
movaps xmm0, xmm8
shr ecx, 0xb
movaps xmm1, xmm6
xor ecx, eax
imul eax, ecx, 0x8001
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x38], 1
mov dword [rsp + 0x30], 0xfa
movss dword [rsp + 0x28], xmm7
movss dword [rsp + 0x20], xmm6
call fcn.18015cc10
mov edi, r14d
mov ebx, r14d
mov eax, edi
movsx ecx, byte [rax + rbp]
call fcn.180370a88
add eax, ebx
inc edi
imul ebx, eax, 0x401
mov eax, ebx
shr eax, 6
xor ebx, eax
cmp edi, 0x1b
jb 0x1800ac504
movss dword [rsp + 0x60], xmm9
lea eax, [rbx + rbx*8]
mov dword [rsp + 0x58], 1
mov ecx, eax
mov dword [rsp + 0x50], 1
movaps xmm2, xmm7
addss xmm2, dword [0x180504b04]
mov dword [rsp + 0x48], r14d
movaps xmm3, xmm8
shr ecx, 0xb
movaps xmm1, xmm6
xor ecx, eax
movaps xmm0, xmm8
imul eax, ecx, 0x8001
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x38], r14d
mov dword [rsp + 0x30], 0xfa
movss dword [rsp + 0x28], xmm7
movss dword [rsp + 0x20], xmm6
call fcn.18015cc10
mov eax, dword [0x1805b11f0]
mov qword [rsp + 0xf8], r14
mov dword [rsp + 0xf8], eax
mov rax, qword [rsp + 0xf8]
mov qword [0x180587120], rax
mov dword [0x1805870f8], r14d
mov qword [0x1805dd278], r15
mov dword [0x1805870e8], 1
call fcn.1801e4620
movss xmm3, dword [0x1805063a8]
movaps xmm2, xmm7
addss xmm2, dword [0x180504f90]
movss dword [rsp + 0x60], xmm3
movaps xmm1, xmm6
mov ecx, dword [rax]
movaps xmm3, xmm8
mov dword [rsp + 0x58], 1
movaps xmm0, xmm8
mov dword [rsp + 0x50], 1
mov dword [rsp + 0x48], ecx
mov dword [rsp + 0x40], 0xf8a3939f
mov dword [rsp + 0x38], r14d
mov dword [rsp + 0x30], 0x64
movss dword [rsp + 0x28], xmm7
movss dword [rsp + 0x20], xmm6
call fcn.18015cc10
lea r11, [rsp + 0xd0]
mov rbx, qword [r11 + 0x20]
mov rbp, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
mov rsp, r11
pop r15
pop r14
pop rdi
ret