Function at 0x180012240
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], rbx
mov qword [rax + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x68]
sub rsp, 0x130
movaps xmmword [rax - 0x48], xmm6
lea r13, str.FBI_HEIST_FINALE_CHOPPER
movaps xmmword [rax - 0x58], xmm7
lea r14, [0x180000000]
movaps xmmword [rax - 0x68], xmm8
mov esi, 0x20
movaps xmmword [rax - 0x78], xmm9
xor r15d, r15d
movaps xmmword [rax - 0x88], xmm10
movabs r12, 0x12a05f200
movss xmm10, dword [0x1801ba89c]
xorps xmm9, xmm9
movaps xmmword [rax - 0x98], xmm11
movss xmm11, dword [0x1801ba858]
movaps xmmword [rax - 0xa8], xmm12
movss xmm12, dword [0x1801ba808]
movaps xmmword [rax - 0xb8], xmm13
movss xmm13, dword [0x1801bb344]
movaps xmmword [rax - 0xc8], xmm14
movss xmm14, dword [0x1801bac74]
nop dword [rax]
mov ecx, dword [0x1801f22c0]
call fcn.18000a8d0
movaps xmm3, xmm13
movss dword [rsp + 0x20], xmm12
movaps xmm2, xmm9
lea rcx, [rsp + 0x70]
mov edx, eax
call fcn.180008210
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.18000c000
mov ecx, dword [0x1801f22c0]
mov dword [rbp + 0x70], eax
call fcn.18000a8d0
mov edx, dword [0x1801f22c0]
lea rcx, [rbp - 0x78]
mov r8d, 1
mov edi, eax
call fcn.1800080c0
mov ecx, edi
call fcn.18000adb0
mov ecx, edi
call fcn.18000aa70
mov ecx, edi
call fcn.18000aaa0
mov r8d, 1
lea rcx, [rsp + 0x50]
mov edx, edi
call fcn.1800080c0
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.1800098f0
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 0x1800123d0
mov r8d, 1
lea rcx, [rsp + 0x50]
mov edx, edi
lea ebx, [r9 + r9*8]
call fcn.1800080c0
mov r8d, 1
lea rcx, [rsp + 0x70]
mov edx, edi
call fcn.1800080c0
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.1800098f0
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.1800099e0
movaps xmm3, xmm9
mov dword [rsp + 0x28], 1
movaps xmm2, xmm14
mov dword [rsp + 0x20], 1
movaps xmm1, xmm9
mov ecx, eax
call fcn.180008c00
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.180007e10
lea rax, str.WASTEDSOUNDS
mov dword [rsp + 0x30], 1
mov qword [rsp + 0x28], rax
lea rdx, [0x1801671b8]
movaps xmm3, xmm7
movss dword [rsp + 0x20], xmm8
movaps xmm2, xmm6
mov ecx, 1
call fcn.180007e10
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.180007e10
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.180007e10
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x80000007
jge 0x18001257e
dec eax
or eax, 0xfffffff8
inc eax
movsxd rcx, eax
mov ecx, dword [r14 + rcx*4 + 0x169110]
call fcn.18000a940
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x80000007
jge 0x1800125a2
dec eax
or eax, 0xfffffff8
inc eax
movsxd rcx, eax
mov ecx, dword [r14 + rcx*4 + 0x169110]
call fcn.18000a970
test eax, eax
je 0x180012617
mov ecx, dword [0x1801f22c0]
call fcn.18000a8d0
mov edx, eax
lea rcx, [rbp - 0x78]
xor r8d, r8d
call fcn.1800080c0
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x80000007
jge 0x1800125e3
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 + 0x169110]
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], 0x3e8
call fcn.180009c10
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 + 0x70]
mov ecx, edi
call fcn.1800096a0
test eax, eax
jne 0x18001269c
mov ecx, edi
xor bl, bl
call fcn.1800096a0
test eax, eax
jne 0x180012683
nop dword [rax]
cmp bl, 0xa
jae 0x180012683
mov ecx, edi
call fcn.180009660
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.1800096a0
test eax, eax
je 0x180012650
mov ecx, edi
call fcn.1800096a0
test eax, eax
je 0x18001269c
mov ecx, edi
call fcn.1800095e0
mov ecx, eax
call fcn.1800097f0
mov ecx, dword [rbp + 0x70]
call fcn.1800088a0
mov ecx, dword [rbp + 0x70]
xor edx, edx
call fcn.180008cc0
mov ecx, dword [rbp + 0x70]
mov edx, 1
call fcn.180008710
mov ecx, dword [rbp + 0x70]
mov edx, 1
call fcn.180008bb0
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x80000007
jge 0x1800126dc
dec eax
or eax, 0xfffffff8
inc eax
cdqe
mov rbx, qword [r14 + rax*8 + 0x1690d0]
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 + 0x70]
movsxd rdx, r9d
mov rdx, qword [r14 + rdx*8 + 0x1690a0]
call fcn.180007d60
mov rax, qword gs:[0x20]
lea rcx, [rbp + 0x78]
mov rbx, qword [rax]
call fcn.180057010
mov rax, qword [rax]
add rax, r12
cmp byte [rbx + 0x20], r15b
jne 0x180012741
mov byte [rbx + 0x20], 1
mov qword [rbx + 0x18], rax
mov rcx, qword [rbx + 8]
call qword [sym.imp.KERNEL32.dll_SwitchToFiber]
lea rcx, [rbp + 0x70]
call fcn.180008670
sub rsi, 1
jne 0x1800122f0
lea r11, [rsp + 0x130]
mov rbx, qword [r11 + 0x50]
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 rdi
pop rsi
pop rbp
ret
jmp 0x180012240