Function at 0x18011e390
Capabilities:
Hash data using fnv

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x80]
sub rsp, 0x180
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
mov r13, rcx
xor r15d, r15d
mov dword [rsp + 0x68], r15d
lea edx, [r15 + 2]
mov cl, 1
call fcn.1801947a0
lea rcx, str.Stereo_Hook_Options
call fcn.180195ea0
test al, al
je 0x18011ee50
mov rcx, qword [r13 + 0x11f8]
mov rax, qword [rcx]
lea rdx, str.Asynchronous_Code_Scanning
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x48], 0x1a
movaps xmm0, xmmword [rsp + 0x40]
movdqa xmmword [rsp + 0x40], xmm0
lea rdx, [rsp + 0x40]
call qword [rax + 8]
mov rcx, qword [r13 + 0x11e8]
mov rax, qword [rcx]
lea rdx, str.Recreate_Textures_on_Reset
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x48], 0x1a
movaps xmm0, xmmword [rsp + 0x40]
movdqa xmmword [rsp + 0x40], xmm0
lea rdx, [rsp + 0x40]
call qword [rax + 8]
mov rcx, qword [r13 + 0x11f0]
mov rax, qword [rcx]
lea rdx, str.Frame_Delay_Compensation
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x48], 0x18
movaps xmm0, xmmword [rsp + 0x40]
movdqa xmmword [rsp + 0x40], xmm0
lea rdx, [rsp + 0x40]
call qword [rax + 8]
mov rcx, qword [r13 + 0x960]
test rcx, rcx
je 0x18011e488
mov rax, qword [rcx]
call qword [rax + 0x60]
lea rsi, [r13 + 0xa28]
mov qword [rbp + 0x40], rsi
mov qword [rsp + 0x40], rsi
mov rcx, rsi
call fcn.18027bd70
test eax, eax
jne 0x18011ee7f
mov eax, dword [rsi + 0x4c]
cmp eax, 0x7fffffff
je 0x18011ee8a
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x50], xmm0
xor eax, eax
mov qword [rbp - 0x70], rax
mov qword [rbp - 0x40], rax
movdqu xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x60], rax
mov rdi, qword [r13 + 0x970]
mov rbx, qword [rdi]
cmp rbx, rdi
je 0x18011e62e
mov qword [rsp + 0x70], 4
lea rax, [rbp + 0x20]
mov qword [rsp + 0x78], rax
movaps xmm6, xmmword [rsp + 0x70]
mov r14, qword [rbp - 0x48]
lea rcx, str.:x
mov rax, qword [rbx + 0x10]
mov qword [rbp + 0x30], rax
movaps xmm0, xmmword [rbp + 0x30]
movdqa xmmword [rbp + 0x20], xmm0
movdqa xmmword [rbp + 0x10], xmm6
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0x78], 4
lea r8, [rbp + 0x10]
lea rdx, [rsp + 0x70]
lea rcx, [rbp - 0x38]
call fcn.180261b60
or r15d, 1
mov dword [rsp + 0x68], r15d
mov rdx, qword [rsp + 0x58]
cmp rdx, qword [rsp + 0x60]
je 0x18011e589
xorps xmm0, xmm0
movups xmmword [rdx], xmm0
xor eax, eax
mov qword [rdx + 0x10], rax
mov qword [rdx + 0x18], rax
movups xmm0, xmmword [rbp - 0x38]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [rbp - 0x28]
movups xmmword [rdx + 0x10], xmm1
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x20], 0xf
mov byte [rbp - 0x38], al
add qword [rsp + 0x58], 0x20
jmp 0x18011e597
lea r8, [rbp - 0x38]
lea rcx, [rsp + 0x50]
call fcn.180056a80
and r15d, 0xfffffffe
mov dword [rsp + 0x68], r15d
mov rdx, qword [rbp - 0x20]
cmp rdx, 0xf
jbe 0x18011e5db
inc rdx
mov rcx, qword [rbp - 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18011e5d6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18011ee9a
call fcn.18027ee90
mov qword [rbp - 0x28], 0
mov qword [rbp - 0x20], 0xf
mov byte [rbp - 0x38], 0
cmp r14, qword [rbp - 0x70]
je 0x18011e606
mov rax, qword [rbx + 0x10]
mov qword [r14], rax
add r14, 8
mov qword [rbp - 0x48], r14
jmp 0x18011e622
lea r8, [rbx + 0x10]
mov rdx, r14
lea rcx, [rbp - 0x50]
call fcn.180055f20
mov rax, qword [rbp - 0x40]
mov qword [rbp - 0x70], rax
mov r14, qword [rbp - 0x48]
mov rbx, qword [rbx]
cmp rbx, rdi
jne 0x18011e501
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x68], xmm0
xor ecx, ecx
mov qword [rsp + 0x70], rcx
mov qword [rbp - 0x58], rcx
mov rdi, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x50]
cmp rbx, rdi
je 0x18011e6aa
mov rdx, qword [rbp - 0x60]
mov rax, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x18011e661
mov rax, qword [rbx]
mov qword [rbp + 0xc8], rax
cmp rdx, rcx
je 0x18011e67a
mov qword [rdx], rax
add rdx, 8
mov qword [rbp - 0x60], rdx
jmp 0x18011e692
lea r8, [rbp + 0xc8]
lea rcx, [rbp - 0x68]
call fcn.1800418b0
mov rcx, qword [rbp - 0x58]
mov rdx, qword [rbp - 0x60]
add rbx, 0x20
cmp rbx, rdi
jne 0x18011e654
mov qword [rsp + 0x70], rcx
mov rdi, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x50]
mov r14, qword [rbp - 0x50]
mov qword [rbp + 0x30], r14
cmp rbx, rdi
je 0x18011ed34
movsxd rdx, dword [r13 + 0xa7c]
shl rdx, 5
add rdx, rbx
cmp qword [rdx + 0x18], 0xf
jbe 0x18011e6d3
mov rdx, qword [rdx]
xor r8d, r8d
lea rcx, str.GetRenderTargetTexture_Retaddrs
call fcn.18018c1c0
test al, al
je 0x18011ed34
xor r15d, r15d
mov rax, qword [rsp + 0x58]
sub rax, qword [rsp + 0x50]
sar rax, 5
test rax, rax
je 0x18011ed2f
lea rcx, [r13 + 0x9d8]
mov qword [rbp - 0x80], rcx
lea rcx, [r13 + 0x9c0]
mov qword [rbp - 0x78], rcx
lea r12, [r13 + 0x9b0]
xor edi, edi
mov qword [rbp + 0x20], rdi
xor ebx, ebx
mov qword [rbp + 0x10], rbx
movss xmm6, dword [0x180333344]
xorps xmm7, xmm7
mov rsi, r14
nop dword [rax + rax]
mov ecx, r15d
call fcn.180179d60
mov rbx, qword [rsi + rbx]
mov qword [rsp + 0x38], rbx
cmp dword [r13 + 0xa7c], r15d
sete r14b
mov rdx, qword [rsp + 0x50]
add rdx, rdi
cmp qword [rdx + 0x18], 0xf
jbe 0x18011e76e
mov rdx, qword [rdx]
movss dword [rsp + 0x20], xmm6
mov r9b, 1
xor r8d, r8d
lea rcx, [rbp - 0x18]
call fcn.18016c3a0
call fcn.1801714c0
movss xmm0, dword [rbp - 0x18]
addss xmm0, dword [rax + 0x4c]
movss dword [rbp - 0x10], xmm0
movss xmm0, dword [rbp - 0x14]
movss dword [rbp - 0xc], xmm0
mov rcx, qword [rsp + 0x50]
add rcx, rdi
cmp qword [rcx + 0x18], 0xf
jbe 0x18011e7b3
mov rcx, qword [rcx]
lea rdi, [r13 + 0x9a8]
lea r9, [rbp - 0x10]
xor r8d, r8d
movzx edx, r14b
call fcn.180193f00
test al, al
je 0x18011e7dc
mov dword [r13 + 0xa7c], r15d
lea rdi, [r13 + 0x9a8]
movaps xmm1, xmm6
movaps xmm0, xmm7
call fcn.18017dbf0
mov qword [rbp - 8], 0
lea rdx, [rbp - 8]
lea rcx, str.Call_Original
call fcn.18018c8f0
test al, al
je 0x18011e950
lea r8, [rsp + 0x38]
lea rdx, [rbp + 0x48]
mov rcx, rdi
call fcn.180060fd0
mov rbx, qword [rsp + 0x38]
movzx ecx, bl
movabs rax, 0xcbf29ce484222325
xor rcx, rax
movabs rdx, 0x100000001b3
imul rcx, rdx
movzx edi, byte [rsp + 0x39]
xor rcx, rdi
imul rcx, rdx
movzx r14d, byte [rsp + 0x3a]
xor rcx, r14
imul rcx, rdx
movzx eax, byte [rsp + 0x3b]
mov byte [rbp + 0xd0], al
xor rcx, rax
imul rcx, rdx
movzx eax, byte [rsp + 0x3c]
mov byte [rbp + 0xd8], al
xor rcx, rax
imul rcx, rdx
movzx eax, byte [rsp + 0x3d]
mov byte [rsp + 0x30], al
xor rcx, rax
imul rcx, rdx
movzx eax, byte [rsp + 0x3e]
mov byte [rsp + 0x31], al
xor rcx, rax
imul rcx, rdx
movzx eax, byte [rsp + 0x3f]
mov byte [rbp + 0xc8], al
xor rcx, rax
imul rcx, rdx
mov rdx, qword [r13 + 0xa18]
and rdx, rcx
add rdx, rdx
mov r8, qword [r13 + 0xa00]
mov rcx, qword [r8 + rdx*8 + 8]
cmp rcx, qword [r13 + 0x9f0]
je 0x18011e8e7
mov rax, qword [r8 + rdx*8]
cmp rbx, qword [rcx + 0x10]
je 0x18011e8e9
cmp rcx, rax
je 0x18011e8e7
mov rcx, qword [rcx + 8]
cmp rbx, qword [rcx + 0x10]
jne 0x18011e8d6
jmp 0x18011e8e9
xor ecx, ecx
test rcx, rcx
je 0x18011e98e
mov rax, qword [r8 + rdx*8]
cmp qword [r8 + rdx*8 + 8], rcx
jne 0x18011e91f
cmp rax, rcx
jne 0x18011e914
mov rax, qword [r13 + 0x9f0]
mov qword [r8 + rdx*8], rax
mov qword [r8 + rdx*8 + 8], rax
jmp 0x18011e92b
mov rax, qword [rcx + 8]
mov qword [r8 + rdx*8 + 8], rax
jmp 0x18011e92b
cmp rax, rcx
jne 0x18011e92b
mov rax, qword [rcx]
mov qword [r8 + rdx*8], rax
mov rdx, qword [rcx]
dec qword [r13 + 0x9f8]
mov rax, qword [rcx + 8]
mov qword [rax], rdx
mov rax, qword [rcx + 8]
mov qword [rdx + 8], rax
mov edx, 0x18
call fcn.18027ee90
jmp 0x18011e98e
movzx eax, byte [rsp + 0x3f]
mov byte [rbp + 0xc8], al
movzx eax, byte [rsp + 0x3e]
mov byte [rsp + 0x31], al
movzx eax, byte [rsp + 0x3d]
mov byte [rsp + 0x30], al
movzx eax, byte [rsp + 0x3c]
mov byte [rbp + 0xd8], al
movzx eax, byte [rsp + 0x3b]
mov byte [rbp + 0xd0], al
movzx r14d, byte [rsp + 0x3a]
movzx edi, byte [rsp + 0x39]
movaps xmm1, xmm6
movaps xmm0, xmm7
call fcn.18017dbf0
mov qword [rbp], 0
lea rdx, [rbp]
lea rcx, str.Redirect
call fcn.18018c8f0
test al, al
je 0x18011eb4c
lea rcx, [r13 + 0x9e8]
lea r8, [rsp + 0x38]
lea rdx, [rbp - 0x38]
call fcn.180060fd0
mov rbx, qword [rsp + 0x38]
movzx edx, bl
movabs rax, 0xcbf29ce484222325
xor rdx, rax
movabs rcx, 0x100000001b3
imul rdx, rcx
movzx edi, byte [rsp + 0x39]
xor rdx, rdi
imul rdx, rcx
movzx r14d, byte [rsp + 0x3a]
xor rdx, r14
imul rdx, rcx
movzx eax, byte [rsp + 0x3b]
mov byte [rbp + 0xd0], al
xor rdx, rax
imul rdx, rcx
movzx eax, byte [rsp + 0x3c]
mov byte [rbp + 0xd8], al
xor rdx, rax
imul rdx, rcx
movzx eax, byte [rsp + 0x3d]
mov byte [rsp + 0x30], al
xor rdx, rax
imul rdx, rcx
movzx eax, byte [rsp + 0x3e]
mov byte [rsp + 0x31], al
xor rdx, rax
imul rdx, rcx
movzx eax, byte [rsp + 0x3f]
mov byte [rbp + 0xc8], al
xor rdx, rax
imul rdx, rcx
lea rax, [r13 + 0x9d8]
mov qword [rbp - 0x80], rax
mov rax, qword [rax]
and rax, rdx
lea rcx, [r13 + 0x9c0]
mov qword [rbp - 0x78], rcx
add rax, rax
mov r8, qword [rcx]
mov rcx, qword [r8 + rax*8 + 8]
cmp rcx, qword [r13 + 0x9b0]
je 0x18011eab1
mov rax, qword [r8 + rax*8]
cmp rbx, qword [rcx + 0x10]
je 0x18011eab3
nop word [rax + rax]
cmp rcx, rax
je 0x18011eab1
mov rcx, qword [rcx + 8]
cmp rbx, qword [rcx + 0x10]
jne 0x18011eaa0
jmp 0x18011eab3
xor ecx, ecx
lea r12, [r13 + 0x9b0]
test rcx, rcx
je 0x18011eb4c
lea rax, [r13 + 0x9d8]
mov qword [rbp - 0x80], rax
and rdx, qword [rax]
add rdx, rdx
lea rax, [r13 + 0x9c0]
mov qword [rbp - 0x78], rax
mov r8, qword [rax]
mov rax, qword [r8 + rdx*8]
cmp qword [r8 + rdx*8 + 8], rcx
jne 0x18011eb0f
cmp rax, rcx
jne 0x18011eb04
mov rax, qword [r13 + 0x9b0]
mov qword [r8 + rdx*8], rax
mov qword [r8 + rdx*8 + 8], rax
jmp 0x18011eb22
mov rax, qword [rcx + 8]
mov qword [r8 + rdx*8 + 8], rax
jmp 0x18011eb22
lea r12, [r13 + 0x9b0]
cmp rax, rcx
jne 0x18011eb29
mov rax, qword [rcx]
mov qword [r8 + rdx*8], rax
lea r12, [r13 + 0x9b0]
mov rdx, qword [rcx]
dec qword [r13 + 0x9b8]
mov rax, qword [rcx + 8]
mov qword [rax], rdx
mov rax, qword [rcx + 8]
mov qword [rdx + 8], rax
mov edx, 0x18
call fcn.18027ee90
movaps xmm1, xmm6
movaps xmm0, xmm7
call fcn.18017dbf0
movzx ecx, bl
movabs rax, 0xcbf29ce484222325
xor rcx, rax
movabs rdx, 0x100000001b3
imul rcx, rdx
movzx eax, dil
xor rcx, rax
imul rcx, rdx
movzx eax, r14b
xor rcx, rax
imul rcx, rdx
movzx r8d, byte [rbp + 0xd0]
xor rcx, r8
imul rcx, rdx
movzx r9d, byte [rbp + 0xd8]
xor rcx, r9
imul rcx, rdx
movzx r10d, byte [rsp + 0x30]
xor rcx, r10
imul rcx, rdx
movzx r11d, byte [rsp + 0x31]
xor rcx, r11
imul rcx, rdx
movzx eax, byte [rbp + 0xc8]
xor rcx, rax
imul rcx, rdx
mov rax, qword [rbp - 0x80]
mov rdx, qword [rax]
and rdx, rcx
add rdx, rdx
mov rax, qword [rbp - 0x78]
mov rcx, qword [rax]
mov rax, qword [rcx + rdx*8 + 8]
cmp rax, qword [r12]
je 0x18011ec11
mov rcx, qword [rcx + rdx*8]
cmp rbx, qword [rax + 0x10]
je 0x18011ec13
nop word [rax + rax]
cmp rax, rcx
je 0x18011ec11
mov rax, qword [rax + 8]
cmp rbx, qword [rax + 0x10]
jne 0x18011ec00
jmp 0x18011ec13
xor eax, eax
test rax, rax
je 0x18011ec30
lea rcx, str._Calling_Original_
jmp 0x18011ece8
movzx ecx, bl
movabs rax, 0xcbf29ce484222325
xor rcx, rax
movabs rdx, 0x100000001b3
imul rcx, rdx
movzx eax, dil
xor rcx, rax
imul rcx, rdx
movzx eax, r14b
xor rcx, rax
imul rcx, rdx
xor rcx, r8
imul rcx, rdx
xor rcx, r9
imul rcx, rdx
xor rcx, r10
imul rcx, rdx
xor rcx, r11
imul rcx, rdx
movzx eax, byte [rbp + 0xc8]
xor rcx, rax
imul rcx, rdx
mov rdx, qword [r13 + 0xa18]
and rdx, rcx
add rdx, rdx
mov rcx, qword [r13 + 0xa00]
mov rax, qword [rcx + rdx*8 + 8]
cmp rax, qword [r13 + 0x9f0]
je 0x18011ecd1
mov rcx, qword [rcx + rdx*8]
cmp rbx, qword [rax + 0x10]
je 0x18011ecd3
nop word [rax + rax]
cmp rax, rcx
je 0x18011ecd1
mov rax, qword [rax + 8]
cmp rbx, qword [rax + 0x10]
jne 0x18011ecc0
jmp 0x18011ecd3
xor eax, eax
lea rcx, str._Redirected_
test rax, rax
lea rax, str._Default_
cmove rcx, rax
call fcn.180195820
call fcn.1801797f0
inc r15d
mov rbx, qword [rbp + 0x10]
add rbx, 8
mov qword [rbp + 0x10], rbx
mov rdi, qword [rbp + 0x20]
add rdi, 0x20
mov qword [rbp + 0x20], rdi
mov rcx, qword [rsp + 0x58]
sub rcx, qword [rsp + 0x50]
sar rcx, 5
movsxd rax, r15d
cmp rax, rcx
jb 0x18011e740
mov rsi, qword [rbp + 0x40]
mov r14, qword [rbp + 0x30]
call fcn.18018f060
call fcn.1801969c0
nop
mov rcx, qword [rbp - 0x68]
test rcx, rcx
je 0x18011ed91
mov rdx, qword [rsp + 0x70]
sub rdx, rcx
sar rdx, 3
lea rdx, [rdx*8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18011ed7c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18011eea0
call fcn.18027ee90
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x68], xmm0
mov qword [rbp - 0x58], 0
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x18011edf7
lea r8, [rsp + 0x50]
mov rdx, qword [rsp + 0x58]
call fcn.180017de0
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x50]
sub rdx, rcx
and rdx, 0xffffffffffffffe0
mov rax, rcx
cmp rdx, 0x1000
jb 0x18011ede0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18011eea6
call fcn.18027ee90
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x60], 0
test r14, r14
je 0x18011ee48
mov rax, qword [rbp - 0x70]
sub rax, r14
sar rax, 3
lea rdx, [rax*8]
mov rax, r14
cmp rdx, 0x1000
jb 0x18011ee30
add rdx, 0x27
mov r14, qword [r14 - 8]
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18011ee79
mov rcx, r14
call fcn.18027ee90
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x50], xmm0
mov qword [rbp - 0x40], 0
mov rcx, rsi
call fcn.18027bdb4
lea r11, [rsp + 0x180]
mov rbx, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
jmp fcn.180194480
call fcn.1802a2050
nop
mov ecx, 5
call fcn.18027c200
int3
dec eax
mov dword [rsi + 0x4c], eax
mov ecx, 6
call fcn.18027c200
nop
call fcn.1802a2050
int3
call fcn.1802a2050
nop
call fcn.1802a2050
int3