Function at 0x1800a99b0
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0xc0
mov rax, qword [0x18054e100]
xor rax, rsp
mov qword [rsp + 0x90], rax
xor ebp, ebp
movabs rax, 0xd80958fc74e988a6
mov dword [0x1805870e8], ebp
mov dword [0x1805870f8], ebp
mov qword [0x1805dd278], rax
call fcn.1801e4620
mov qword [rsp + 0x70], rbp
mov ecx, dword [rax]
movabs rax, 0x6c4d0409ba1a2bc2
mov qword [0x1805dd278], rax
mov dword [rsp + 0x70], ecx
mov rax, qword [rsp + 0x70]
mov qword [0x180587120], rax
lea rax, [rsp + 0x78]
mov qword [0x180587128], rax
mov dword [0x1805870f8], ebp
mov dword [0x1805870e8], 2
call fcn.1801e4620
cmp dword [rax], ebp
je 0x1800a9cf1
movss xmm0, dword [rsp + 0x88]
mov eax, dword [0x1805b11ec]
addss xmm0, dword [0x1805047dc]
mov qword [rsp + 0xd0], rbx
mov qword [rsp + 0xd8], rsi
mov qword [rsp + 0xe0], rdi
mov qword [rsp + 0x70], rbp
mov qword [rsp + 0xb8], r14
mov dword [rsp + 0x70], eax
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0xb0], r15
movabs r15, 0x50fac3a3e030a6e1
movss dword [rsp + 0x88], xmm0
movaps xmmword [rsp + 0xa0], xmm6
mov dword [0x1805870f8], ebp
mov qword [0x1805dd278], r15
mov qword [0x180587120], rax
mov dword [0x1805870e8], 1
call fcn.1801e4620
mov edi, ebp
lea r14, str.VEHICLE_WEAPON_SPACE_ROCKET
mov ebx, ebp
mov esi, dword [rax]
nop dword [rax + rax]
mov eax, edi
movsx ecx, byte [rax + r14]
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 0x1800a9ae0
movss xmm0, dword [rsp + 0x88]
lea eax, [rbx + rbx*8]
movss xmm1, dword [rsp + 0x80]
mov ecx, eax
movss xmm6, dword [0x180506314]
movaps xmm2, xmm0
addss xmm2, dword [0x180504c64]
movss dword [rsp + 0x60], xmm6
mov dword [rsp + 0x58], 1
mov dword [rsp + 0x50], 1
mov dword [rsp + 0x48], esi
shr ecx, 0xb
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], xmm0
movss xmm0, dword [rsp + 0x78]
movaps xmm3, xmm0
movss dword [rsp + 0x20], xmm1
call fcn.18015cc10
mov rsi, qword [rsp + 0xd8]
mov edi, ebp
mov ebx, ebp
nop dword [rax + rax]
mov eax, edi
movsx ecx, byte [rax + r14]
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 0x1800a9b90
movss xmm0, dword [rsp + 0x88]
lea eax, [rbx + rbx*8]
movss xmm1, dword [rsp + 0x80]
mov ecx, eax
mov r14, qword [rsp + 0xb8]
movaps xmm2, xmm0
addss xmm2, dword [0x180504b04]
mov rdi, qword [rsp + 0xe0]
movss dword [rsp + 0x60], xmm6
mov dword [rsp + 0x58], 1
mov dword [rsp + 0x50], 1
mov dword [rsp + 0x48], ebp
shr ecx, 0xb
xor ecx, eax
imul eax, ecx, 0x8001
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x38], ebp
mov dword [rsp + 0x30], 0xfa
movss dword [rsp + 0x28], xmm0
movss xmm0, dword [rsp + 0x78]
movaps xmm3, xmm0
movss dword [rsp + 0x20], xmm1
call fcn.18015cc10
mov eax, dword [0x1805b11ec]
mov qword [rsp + 0x70], rbp
mov dword [rsp + 0x70], eax
mov rax, qword [rsp + 0x70]
mov qword [0x180587120], rax
mov dword [0x1805870f8], ebp
mov qword [0x1805dd278], r15
mov dword [0x1805870e8], 1
call fcn.1801e4620
movss xmm1, dword [rsp + 0x88]
movss xmm0, dword [0x1805063a8]
movaps xmm2, xmm1
addss xmm2, dword [0x180504f90]
mov ecx, dword [rax]
movss dword [rsp + 0x60], xmm0
movss xmm0, dword [rsp + 0x78]
mov dword [rsp + 0x58], 1
movaps xmm3, xmm0
mov dword [rsp + 0x50], 1
mov dword [rsp + 0x48], ecx
mov dword [rsp + 0x40], 0xf8a3939f
mov dword [rsp + 0x38], ebp
mov dword [rsp + 0x30], 0x64
movss dword [rsp + 0x28], xmm1
movss xmm1, dword [rsp + 0x80]
movss dword [rsp + 0x20], xmm1
call fcn.18015cc10
movaps xmm6, xmmword [rsp + 0xa0]
mov r15, qword [rsp + 0xb0]
mov rbx, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0x90]
xor rcx, rsp
call fcn.180357630
add rsp, 0xc0
pop rbp
ret