Function at 0x180012610
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov qword [rax + 8], rcx
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x58]
sub rsp, 0x130
movaps xmmword [rax - 0x38], xmm6
lea r13, str.FBI_HEIST_FINALE_CHOPPER
movaps xmmword [rax - 0x48], xmm7
lea r14, [0x180000000]
movaps xmmword [rax - 0x58], xmm8
mov esi, 0x20
movaps xmmword [rax - 0x68], xmm9
xor r15d, r15d
movaps xmmword [rax - 0x78], xmm10
movabs r12, 0x12a05f200
movss xmm10, dword [0x1801ba89c]
xorps xmm9, xmm9
movaps xmmword [rax - 0x88], xmm11
movss xmm11, dword [0x1801ba858]
movaps xmmword [rax - 0x98], xmm12
movss xmm12, dword [0x1801ba808]
movaps xmmword [rax - 0xa8], xmm13
movss xmm13, dword [0x1801bb344]
movaps xmmword [rax - 0xb8], xmm14
movss xmm14, dword [0x1801bac74]
nop
mov ecx, dword [0x1801f2250]
call fcn.18000a910
movaps xmm3, xmm13
movss dword [rsp + 0x20], xmm12
movaps xmm2, xmm9
lea rcx, [rsp + 0x70]
mov edx, eax
call fcn.180008250
movups xmm0, xmmword [rsp + 0x70]
lea r9, [rsp + 0x50]
movsd xmm1, qword [rbp - 0x80]
movaps xmmword [rsp + 0x50], xmm0
movsd qword [rsp + 0x60], xmm1
call fcn.18000c040
mov ecx, dword [0x1801f2250]
mov dword [rbp + 0x60], eax
call fcn.18000a910
mov edx, dword [0x1801f2250]
lea rcx, [rbp - 0x78]
mov r8d, 1
mov edi, eax
call fcn.180008100
mov ecx, edi
call fcn.18000adf0
mov ecx, edi
call fcn.18000aab0
mov ecx, edi
call fcn.18000aae0
mov r8d, 1
lea rcx, [rsp + 0x50]
mov edx, edi
call fcn.180008100
movss xmm3, dword [rsp + 0x60]
mov ecx, 0x392d62aa
movss xmm2, dword [rsp + 0x58]
subss xmm3, xmm11
movss xmm1, dword [rsp + 0x50]
mov dword [rsp + 0x30], r15d
mov dword [rsp + 0x28], r15d
mov dword [rsp + 0x20], 1
call fcn.180009930
lea r10, str.stt_prop_stunt_tube_l
mov r9d, r15d
mov r8b, 0x73
nop dword [rax]
nop word [rax + rax]
movzx edx, r8b
lea r10, [r10 + 1]
sub r8b, 0x41
cmp r8b, 0x19
movzx r8d, byte [r10]
lea eax, [rdx + 0x20]
movzx ecx, al
cmova ecx, edx
movsx eax, cl
add eax, r9d
imul r9d, eax, 0x401
mov eax, r9d
shr eax, 6
xor r9d, eax
test r8b, r8b
jne 0x1800127a0
mov r8d, 1
lea rcx, [rsp + 0x50]
mov edx, edi
lea ebx, [r9 + r9*8]
call fcn.180008100
mov r8d, 1
lea rcx, [rsp + 0x70]
mov edx, edi
call fcn.180008100
movss xmm3, dword [rsp + 0x60]
mov ecx, 0x392d62aa
movss xmm2, dword [rsp + 0x58]
subss xmm3, xmm11
movss xmm1, dword [rsp + 0x50]
mov dword [rsp + 0x30], r15d
mov dword [rsp + 0x28], r15d
mov dword [rsp + 0x20], 1
call fcn.180009930
movss xmm3, dword [rbp - 0x80]
mov eax, ebx
movss xmm2, dword [rsp + 0x78]
movss xmm1, dword [rsp + 0x70]
shr eax, 0xb
xor eax, ebx
imul ecx, eax, 0x8001
call fcn.180009a20
movaps xmm3, xmm9
mov dword [rsp + 0x28], 1
movaps xmm2, xmm14
mov dword [rsp + 0x20], 1
movaps xmm1, xmm9
mov ecx, eax
call fcn.180008c40
movss xmm7, dword [rbp - 0x70]
lea rax, str.DLC_Apartment_Yacht_Streams_Soundset
movss xmm6, dword [rbp - 0x78]
lea rdx, str.Leave_Horn
movss xmm8, dword [rbp - 0x68]
movaps xmm3, xmm7
mov dword [rsp + 0x30], r15d
movaps xmm2, xmm6
mov qword [rsp + 0x28], rax
mov ecx, 0xffffffff
movss dword [rsp + 0x20], xmm8
call fcn.180007e50
lea rax, str.WASTEDSOUNDS
mov dword [rsp + 0x30], 1
mov qword [rsp + 0x28], rax
lea rdx, [0x1801671e8]
movaps xmm3, xmm7
movss dword [rsp + 0x20], xmm8
movaps xmm2, xmm6
mov ecx, 1
call fcn.180007e50
mov dword [rsp + 0x30], r15d
lea rdx, str.Distant_Sirens_Rubble
mov qword [rsp + 0x28], r13
movaps xmm3, xmm7
movaps xmm2, xmm6
movss dword [rsp + 0x20], xmm8
mov ecx, 5
call fcn.180007e50
mov dword [rsp + 0x30], r15d
lea rdx, str.Distant_Sirens_Fight
mov qword [rsp + 0x28], r13
movaps xmm3, xmm7
movaps xmm2, xmm6
movss dword [rsp + 0x20], xmm8
mov ecx, 7
call fcn.180007e50
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x80000007
jge 0x18001294e
dec eax
or eax, 0xfffffff8
inc eax
movsxd rcx, eax
mov ecx, dword [r14 + rcx*4 + 0x169130]
call fcn.18000a980
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x80000007
jge 0x180012972
dec eax
or eax, 0xfffffff8
inc eax
movsxd rcx, eax
mov ecx, dword [r14 + rcx*4 + 0x169130]
call fcn.18000a9b0
test eax, eax
je 0x1800129e7
mov ecx, dword [0x1801f2250]
call fcn.18000a910
mov edx, eax
lea rcx, [rbp - 0x78]
xor r8d, r8d
call fcn.180008100
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x80000007
jge 0x1800129b3
dec eax
or eax, 0xfffffff8
inc eax
movss xmm3, dword [rbp - 0x68]
mov ecx, 0x2c014ca6
movss xmm2, dword [rbp - 0x70]
addss xmm3, xmm10
movss xmm1, dword [rbp - 0x78]
cdqe
mov eax, dword [r14 + rax*4 + 0x169130]
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], 0x3e8
call fcn.180009c50
mov rax, qword gs:[0x20]
mov rcx, qword [rax]
mov byte [rcx + 0x20], r15b
mov rcx, qword [rcx + 8]
call qword [sym.imp.KERNEL32.dll_SwitchToFiber]
mov edi, dword [rbp + 0x60]
mov ecx, edi
call fcn.1800096e0
test eax, eax
jne 0x180012a6c
mov ecx, edi
xor bl, bl
call fcn.1800096e0
test eax, eax
jne 0x180012a53
nop dword [rax]
cmp bl, 0xa
jae 0x180012a53
mov ecx, edi
call fcn.1800096a0
mov rax, qword gs:[0x20]
mov rcx, qword [rax]
mov byte [rcx + 0x20], r15b
mov rcx, qword [rcx + 8]
call qword [sym.imp.KERNEL32.dll_SwitchToFiber]
mov ecx, edi
inc bl
call fcn.1800096e0
test eax, eax
je 0x180012a20
mov ecx, edi
call fcn.1800096e0
test eax, eax
je 0x180012a6c
mov ecx, edi
call fcn.180009620
mov ecx, eax
call fcn.180009830
mov ecx, dword [rbp + 0x60]
call fcn.1800088e0
mov ecx, dword [rbp + 0x60]
xor edx, edx
call fcn.180008d00
mov ecx, dword [rbp + 0x60]
mov edx, 1
call fcn.180008750
mov ecx, dword [rbp + 0x60]
mov edx, 1
call fcn.180008bf0
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x80000007
jge 0x180012aac
dec eax
or eax, 0xfffffff8
inc eax
cdqe
mov rbx, qword [r14 + rax*8 + 0x1690f0]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
mov r9d, eax
mov r8, rbx
mov eax, 0x66666667
imul r9d
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
lea ecx, [rdx + rdx*4]
sub r9d, ecx
mov ecx, dword [rbp + 0x60]
movsxd rdx, r9d
mov rdx, qword [r14 + rdx*8 + 0x1690c0]
call fcn.180007da0
mov rax, qword gs:[0x20]
mov rbx, qword [rax]
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rdi, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rdi, 0x989680
jne 0x180012b16
imul rax, rax, 0x64
jmp 0x180012b34
cqo
idiv rdi
mov rcx, rax
imul rax, rdx, 0x3b9aca00
imul rcx, rcx, 0x3b9aca00
cqo
idiv rdi
add rax, rcx
lea rcx, [rax + r12]
cmp byte [rbx + 0x20], r15b
jne 0x180012b42
mov byte [rbx + 0x20], 1
mov qword [rbx + 0x18], rcx
mov rcx, qword [rbx + 8]
call qword [sym.imp.KERNEL32.dll_SwitchToFiber]
lea rcx, [rbp + 0x60]
call fcn.1800086b0
sub rsi, 1
jne 0x1800126c0
lea r11, [rsp + 0x130]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm14, xmmword [r11 - 0x90]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
jmp 0x180012610