Function at 0x180052910
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0xc0
mov rax, qword [0x18032f0e0]
xor rax, rsp
mov qword [rsp + 0x90], rax
xor ebp, ebp
movabs rax, 0xd80958fc74e988a6
mov dword [0x18035eae0], ebp
mov dword [0x18035eaf0], ebp
mov qword [0x1803afcd8], rax
call fcn.180110360
mov qword [rsp + 0x70], rbp
mov ecx, dword [rax]
movabs rax, 0x6c4d0409ba1a2bc2
mov qword [0x1803afcd8], rax
mov dword [rsp + 0x70], ecx
mov rax, qword [rsp + 0x70]
mov qword [0x18035ebb8], rax
lea rax, [rsp + 0x78]
mov qword [0x18035ebc0], rax
mov dword [0x18035eaf0], ebp
mov dword [0x18035eae0], 2
call fcn.180110360
cmp dword [rax], ebp
je 0x180052c51
movss xmm0, dword [rsp + 0x88]
mov eax, dword [0x180384d40]
addss xmm0, dword [0x1802fbb14]
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 [0x18035eaf0], ebp
mov qword [0x1803afcd8], r15
mov qword [0x18035ebb8], rax
mov dword [0x18035eae0], 1
call fcn.180110360
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.18022e718
add eax, ebx
inc edi
imul ebx, eax, 0x401
mov eax, ebx
shr eax, 6
xor ebx, eax
cmp edi, 0x1b
jb 0x180052a40
movss xmm0, dword [rsp + 0x88]
lea eax, [rbx + rbx*8]
movss xmm1, dword [rsp + 0x80]
mov ecx, eax
movss xmm6, dword [0x1802fd644]
movaps xmm2, xmm0
addss xmm2, dword [0x1802fbf9c]
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.1800e3670
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.18022e718
add eax, ebx
inc edi
imul ebx, eax, 0x401
mov eax, ebx
shr eax, 6
xor ebx, eax
cmp edi, 0x1b
jb 0x180052af0
movss xmm0, dword [rsp + 0x88]
lea eax, [rbx + rbx*8]
movss xmm1, dword [rsp + 0x80]
mov ecx, eax
movss dword [rsp + 0x60], xmm6
movaps xmm2, xmm0
addss xmm2, dword [0x1802fbe3c]
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.1800e3670
mov eax, dword [0x180384d40]
mov qword [rsp + 0x70], rbp
mov dword [rsp + 0x70], eax
mov rax, qword [rsp + 0x70]
mov qword [0x18035ebb8], rax
mov dword [0x18035eaf0], ebp
mov qword [0x1803afcd8], r15
mov dword [0x18035eae0], 1
call fcn.180110360
movss xmm1, dword [rsp + 0x88]
movss xmm0, dword [0x1802fd6d8]
movaps xmm2, xmm1
addss xmm2, dword [0x1802fc2c8]
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.1800e3670
movaps xmm6, xmmword [rsp + 0xa0]
mov r15, qword [rsp + 0xb0]
mov r14, qword [rsp + 0xb8]
mov rdi, qword [rsp + 0xe0]
mov rbx, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0x90]
xor rcx, rsp
call fcn.1801fcf00
add rsp, 0xc0
pop rbp
ret