Function at 0x180055640
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 [0x180384d2c]
mov qword [rsp + 0xf8], r14
mov dword [rsp + 0xf8], eax
mov rax, qword [rsp + 0xf8]
mov qword [0x18035ebb8], rax
mov dword [0x18035eaf0], r14d
mov qword [0x1803afcd8], r15
mov dword [0x18035eae0], 1
call fcn.180110360
mov qword [rsp + 0xf8], r14
mov ecx, dword [rax]
movabs rax, 0x3fef770d40960d5a
mov dword [rsp + 0xf8], ecx
mov qword [0x1803afcd8], rax
mov rax, qword [rsp + 0xf8]
mov qword [rsp + 0xf8], r14
mov qword [0x18035ebb8], rax
mov dword [rsp + 0xf8], 1
mov rax, qword [rsp + 0xf8]
mov qword [0x18035ebc0], rax
mov dword [0x18035eaf0], r14d
mov dword [0x18035eae0], 2
call fcn.180110360
mov qword [rsp + 0xf8], r14
mov qword [0x1803afcd8], r15
movups xmm0, xmmword [rax]
movsd xmm6, qword [rax + 0x10]
mov eax, dword [0x180384d2c]
addss xmm6, dword [0x1802fbb14]
mov dword [rsp + 0xf8], eax
mov rax, qword [rsp + 0xf8]
mov qword [0x18035ebb8], rax
movups xmmword [rsp + 0x70], xmm0
mov dword [0x18035eaf0], r14d
mov dword [0x18035eae0], 1
call fcn.180110360
mov edi, r14d
lea rbp, str.VEHICLE_WEAPON_SPACE_ROCKET
mov ebx, r14d
mov esi, dword [rax]
nop dword [rax]
mov eax, edi
movsx ecx, byte [rax + rbp]
call fcn.18022e718
add eax, ebx
inc edi
imul ebx, eax, 0x401
mov eax, ebx
shr eax, 6
xor ebx, eax
cmp edi, 0x1b
jb 0x180055790
movss xmm7, dword [rsp + 0x78]
lea eax, [rbx + rbx*8]
movss xmm8, dword [rsp + 0x70]
mov ecx, eax
movss xmm9, dword [0x1802fd644]
movaps xmm2, xmm6
addss xmm2, dword [0x1802fbf9c]
movss dword [rsp + 0x60], xmm9
movaps xmm3, xmm8
mov dword [rsp + 0x58], 1
movaps xmm1, xmm7
mov dword [rsp + 0x50], 1
movaps xmm0, xmm8
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], xmm6
movss dword [rsp + 0x20], xmm7
call fcn.1800e3670
mov edi, r14d
mov ebx, r14d
mov eax, edi
movsx ecx, byte [rax + rbp]
call fcn.18022e718
add eax, ebx
inc edi
imul ebx, eax, 0x401
mov eax, ebx
shr eax, 6
xor ebx, eax
cmp edi, 0x1b
jb 0x180055833
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, xmm6
addss xmm2, dword [0x1802fbe3c]
mov dword [rsp + 0x48], r14d
movaps xmm3, xmm8
shr ecx, 0xb
movaps xmm1, xmm7
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], xmm6
movss dword [rsp + 0x20], xmm7
call fcn.1800e3670
mov eax, dword [0x180384d2c]
mov qword [rsp + 0xf8], r14
mov dword [rsp + 0xf8], eax
mov rax, qword [rsp + 0xf8]
mov qword [0x18035ebb8], rax
mov dword [0x18035eaf0], r14d
mov qword [0x1803afcd8], r15
mov dword [0x18035eae0], 1
call fcn.180110360
movss xmm3, dword [0x1802fd6d8]
movaps xmm2, xmm6
addss xmm2, dword [0x1802fc2c8]
movss dword [rsp + 0x60], xmm3
movaps xmm1, xmm7
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], xmm6
movss dword [rsp + 0x20], xmm7
call fcn.1800e3670
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