Function at 0x1800d92d0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0x90
mov rax, qword [0x1802ec4c0]
xor rax, rsp
mov qword [rbp + 0x17], rax
mov rax, r8
mov qword [rbp - 0x39], rax
mov r13, rdx
mov qword [rbp - 0x49], rcx
mov qword [rbp - 0x31], rdx
mov qword [rbp - 0x31], rax
xor esi, esi
lea rcx, [rbp - 9]
call fcn.18017a090
nop
lea rbx, [rbp - 9]
mov r12, qword [rbp - 9]
mov r14, qword [rbp + 0xf]
cmp r14, 0xf
cmova rbx, r12
mov r15, qword [rbp + 7]
cmp r15, 4
jb 0x1800d938a
lea rdi, [r15 + rbx]
lea r8, [rdi - 3]
sub r8, rbx
mov edx, 0x68
mov rcx, rbx
call fcn.1802458b0
test rax, rax
je 0x1800d938a
cmp dword [rax], 0x65766968
je 0x1800d937d
inc rax
lea r8, [rdi - 3]
sub r8, rax
mov edx, 0x68
mov rcx, rax
call fcn.1802458b0
test rax, rax
jne 0x1800d9357
jmp 0x1800d938a
sub rax, rbx
cmp rax, 0xffffffffffffffff
jne 0x1800d9554
lea rbx, [rbp - 9]
cmp r14, 0xf
cmova rbx, r12
cmp r15, 8
jb 0x1800d93fd
lea rdi, [r15 + rbx]
lea r8, [rdi - 7]
sub r8, rbx
mov edx, 0x67
mov rcx, rbx
call fcn.1802458b0
test rax, rax
je 0x1800d93fd
movabs rcx, 0x65746978616c6167
cmp qword [rax], rcx
je 0x1800d93f0
inc rax
lea r8, [rdi - 7]
sub r8, rax
mov edx, 0x67
mov rcx, rax
call fcn.1802458b0
test rax, rax
movabs rcx, 0x65746978616c6167
jne 0x1800d93c3
jmp 0x1800d93fd
sub rax, rbx
cmp rax, 0xffffffffffffffff
jne 0x1800d9554
lea rbx, [rbp - 9]
cmp r14, 0xf
cmova rbx, r12
cmp r15, 6
jb 0x1800d9460
lea rdi, [r15 + rbx]
lea r8, [rdi - 5]
sub r8, rbx
mov edx, 0x76
mov rcx, rbx
call fcn.1802458b0
test rax, rax
je 0x1800d9460
nop dword [rax]
cmp dword [rax], 0x696e6576
jne 0x1800d9444
cmp word [rax + 4], 0x7974
je 0x1800d9547
inc rax
lea r8, [rdi - 5]
sub r8, rax
mov edx, 0x76
mov rcx, rax
call fcn.1802458b0
test rax, rax
jne 0x1800d9430
mov rbx, qword [rbp - 0x49]
mov r8, qword [rbx]
mov byte [r8 + 0xf2], 0
cmp byte [r8 + 0xf2], 0
jne 0x1800d96d7
xorps xmm0, xmm0
movups xmmword [rbp - 0x29], xmm0
mov qword [rbp - 0x19], 6
mov qword [rbp - 0x11], 0xf
mov r10d, dword [str.toggle]
mov dword [rbp - 0x29], r10d
movzx r9d, word [0x1802af2d0]
mov word [rbp - 0x25], r9w
mov byte [rbp - 0x23], 0
movabs rdx, 0xcbf29ce484222325
mov rcx, rsi
movabs r11, 0x100000001b3
nop word [rax + rax]
movzx eax, byte [rbp + rcx - 0x29]
xor rdx, rax
imul rdx, r11
inc rcx
cmp rcx, 6
jb 0x1800d94d0
and rdx, qword [r8 + 0xa0]
add rdx, rdx
mov rax, qword [r8 + 0x88]
mov rcx, qword [rax + rdx*8 + 8]
mov r11, qword [r8 + 0x78]
cmp rcx, r11
je 0x1800d96ad
mov r8, qword [rax + rdx*8]
nop dword [rax]
lea rax, [rcx + 0x10]
mov rdx, qword [rax + 0x10]
cmp qword [rax + 0x18], 0xf
jbe 0x1800d9522
mov rax, qword [rax]
cmp rdx, 6
jne 0x1800d9538
cmp r10d, dword [rax]
jne 0x1800d9538
cmp r9w, word [rax + 4]
je 0x1800d96b0
cmp rcx, r8
je 0x1800d96ad
mov rcx, qword [rcx + 8]
jmp 0x1800d9510
sub rax, rbx
cmp rax, 0xffffffffffffffff
je 0x1800d9460
movabs rcx, 0x7fffffffffffffff
mov rax, rcx
sub rax, r15
cmp rax, 0x16
jb 0x1800d976a
lea r14, [rbp - 9]
cmp qword [rbp + 0xf], 0xf
cmova r14, r12
xorps xmm0, xmm0
movups xmmword [rbp - 0x29], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x19], xmm1
lea rsi, [r15 + 0x16]
mov ebx, 0xf
lea rdi, [rbp - 0x29]
cmp rsi, rbx
jbe 0x1800d9615
mov rbx, rsi
or rbx, 0xf
cmp rbx, rcx
jbe 0x1800d95d8
mov rbx, rcx
movabs rax, 0x8000000000000000
add rax, 0x27
mov rcx, rax
call fcn.18020e888
test rax, rax
je 0x1800d9770
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x1800d9611
mov eax, 0x16
cmp rbx, rax
cmovb rbx, rax
lea rcx, [rbx + 1]
test rcx, rcx
jne 0x1800d95f1
xor edi, edi
jmp 0x1800d9611
cmp rcx, 0x1000
jb 0x1800d9609
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x1800d9764
jmp 0x1800d95b9
call fcn.18020e888
mov rdi, rax
mov qword [rbp - 0x29], rdi
mov qword [rbp - 0x19], rsi
mov qword [rbp - 0x11], rbx
movups xmm0, xmmword [str.Cant_use_freelook_on]
movups xmmword [rdi], xmm0
mov eax, dword [0x1802af2f0]
mov dword [rdi + 0x10], eax
movzx eax, word [0x1802af2f4]
mov word [rdi + 0x14], ax
lea rcx, [rdi + 0x16]
mov r8, r15
mov rdx, r14
call fcn.180244e70
mov byte [rdi + rsi], 0
lea rcx, [rbp - 0x29]
call fcn.18008b050
nop
mov rdx, qword [rbp - 0x11]
cmp rdx, 0xf
jbe 0x1800d9693
inc rdx
mov rcx, qword [rbp - 0x29]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800d968e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800d9770
call fcn.18020e750
mov rbx, qword [rbp - 0x49]
mov r8, qword [rbx]
mov byte [r8 + 0xf2], 1
xor esi, esi
mov r14, qword [rbp + 0xf]
jmp 0x1800d946f
mov rcx, rsi
test rcx, rcx
je 0x1800d96be
cmp rcx, r11
je 0x1800d96be
mov rsi, qword [rcx + 0x30]
mov rcx, qword [rbx]
cmp byte [rsi + 0x28], 0
je 0x1800d96d0
cmp byte [rcx + 0xf0], 0
jne 0x1800d96da
call fcn.1800d9b50
jmp 0x1800d96df
mov rcx, r8
call fcn.1800d9ca0
xorps xmm0, xmm0
movups xmmword [r13], xmm0
movups xmmword [r13 + 0x10], xmm0
movups xmmword [r13 + 0x20], xmm0
movups xmmword [r13 + 0x30], xmm0
cmp r14, 0xf
jbe 0x1800d972b
lea rdx, [r14 + 1]
mov rax, r12
cmp rdx, 0x1000
jb 0x1800d9722
add rdx, 0x27
mov r12, qword [r12 - 8]
sub rax, r12
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800d975e
mov rcx, r12
call fcn.18020e750
nop
mov rcx, qword [rbp - 0x39]
call fcn.1801352f0
mov rax, r13
mov rcx, qword [rbp + 0x17]
xor rcx, rsp
call fcn.18020e120
mov rbx, qword [rsp + 0xe8]
add rsp, 0x90
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.1802214b8
nop
call fcn.180059630
int3
call fcn.180059500
int3
call fcn.1802214b8
int3