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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x37]
sub rsp, 0xe0
movzx r9d, r8b
mov r15, rdx
mov r14, rcx
xor r12d, r12d
cmp r9b, 1
ja 0x1801543ad
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
mov qword [rbp - 0x79], r12
mov qword [rbp - 0x71], r12
mov qword [rbp - 0x79], 8
mov qword [rbp - 0x71], 0xf
movabs r10, 0x6b63697473796f6a
mov qword [rsp + 0x20], r10
mov byte [rsp + 0x28], r12b
movabs rbx, 0xcbf29ce484222325
mov rcx, rbx
mov edx, r12d
movabs rsi, 0x100000001b3
nop dword [rax]
movzx eax, byte [rsp + rdx + 0x20]
xor rcx, rax
imul rcx, rsi
inc rdx
cmp rdx, 8
jb 0x180153f50
and rcx, qword [r14 + 0x998]
shl rcx, 4
mov r8, qword [r14 + 0x980]
add r8, rcx
mov rcx, qword [r8 + 8]
cmp rcx, qword [r14 + 0x970]
je 0x180153fb8
mov r8, qword [r8]
nop word [rax + rax]
lea rax, [rcx + 0x10]
mov rdx, qword [rax + 0x10]
cmp qword [rax + 0x18], 0xf
jbe 0x180153fa2
mov rax, qword [rax]
cmp rdx, 8
jne 0x180153fad
cmp r10, qword [rax]
je 0x180153fbb
cmp rcx, r8
je 0x180153fb8
mov rcx, qword [rcx + 8]
jmp 0x180153f90
mov rcx, r12
mov qword [rbp - 0x79], r12
mov qword [rbp - 0x71], 0xf
mov byte [rsp + 0x20], 0
test rcx, rcx
je 0x1801543ad
imul r13, r9, 0x2c8
lea rdi, [r14 + r13]
lea rdx, [rbp - 0x49]
mov rcx, r14
call fcn.1801538f0
mov r10, rax
mov r8, qword [rax + 0x10]
mov rdx, rax
cmp qword [rax + 0x18], 0xf
jbe 0x180154000
mov rdx, qword [rax]
mov r9, rbx
mov rcx, r12
test r8, r8
je 0x180154023
nop dword [rax + rax]
movzx eax, byte [rcx + rdx]
xor r9, rax
imul r9, rsi
inc rcx
cmp rcx, r8
jb 0x180154010
mov r8, r10
lea rdx, [rsp + 0x20]
lea rcx, [rdi + 0xc10]
call fcn.180049f50
mov rsi, qword [rax + 8]
test rsi, rsi
je 0x18015404c
lea rdi, [r14 + 0xc18]
add rdi, r13
jmp 0x180154056
add rdi, 0xc18
mov rsi, qword [rdi]
mov rdx, qword [rbp - 0x31]
cmp rdx, 0xf
jbe 0x180154091
inc rdx
mov rcx, qword [rbp - 0x49]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18015408c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801543e2
call fcn.18027ee90
movdqa xmm0, xmmword [0x180309720]
movdqu xmmword [rbp - 0x39], xmm0
mov byte [rbp - 0x49], 0
cmp rsi, qword [rdi]
je 0x1801543ad
xorps xmm0, xmm0
movups xmmword [rbp - 0x69], xmm0
mov qword [rbp - 0x59], r12
mov qword [rbp - 0x51], r12
mov qword [rbp - 0x59], 8
mov qword [rbp - 0x51], 0xf
movabs r10, 0x6b63697473796f6a
mov qword [rbp - 0x69], r10
mov byte [rbp - 0x61], 0
mov rdx, rbx
mov rcx, r12
movabs r9, 0x100000001b3
nop dword [rax]
movzx eax, byte [rbp + rcx - 0x69]
xor rdx, rax
imul rdx, r9
inc rcx
cmp rcx, 8
jb 0x1801540f0
and rdx, qword [rsi + 0x60]
add rdx, rdx
mov rax, qword [rsi + 0x48]
mov rcx, qword [rax + rdx*8 + 8]
cmp rcx, qword [rsi + 0x38]
je 0x180154148
mov r8, qword [rax + rdx*8]
nop
lea rax, [rcx + 0x10]
mov rdx, qword [rax + 0x10]
cmp qword [rax + 0x18], 0xf
jbe 0x180154132
mov rax, qword [rax]
cmp rdx, 8
jne 0x18015413d
cmp r10, qword [rax]
je 0x18015414b
cmp rcx, r8
je 0x180154148
mov rcx, qword [rcx + 8]
jmp 0x180154120
mov rcx, r12
mov qword [rbp - 0x59], r12
mov qword [rbp - 0x51], 0xf
mov byte [rbp - 0x69], 0
xorps xmm0, xmm0
test rcx, rcx
je 0x180154218
movups xmmword [rsp + 0x20], xmm0
mov qword [rbp - 0x79], r12
mov qword [rbp - 0x71], r12
mov qword [rbp - 0x79], 8
mov qword [rbp - 0x71], 0xf
mov qword [rsp + 0x20], r10
mov byte [rsp + 0x28], 0
mov rcx, r12
movzx eax, byte [rsp + rcx + 0x20]
xor rbx, rax
imul rbx, r9
inc rcx
cmp rcx, 8
jb 0x180154191
and rbx, qword [r14 + 0x998]
add rbx, rbx
mov rax, qword [r14 + 0x980]
mov rcx, qword [rax + rbx*8 + 8]
mov r9, qword [r14 + 0x970]
cmp rcx, r9
je 0x1801541f8
mov r8, qword [rax + rbx*8]
nop dword [rax]
lea rax, [rcx + 0x10]
mov rdx, qword [rax + 0x10]
cmp qword [rax + 0x18], 0xf
jbe 0x1801541e2
mov rax, qword [rax]
cmp rdx, 8
jne 0x1801541ed
cmp r10, qword [rax]
je 0x1801541fb
cmp rcx, r8
je 0x1801541f8
mov rcx, qword [rcx + 8]
jmp 0x1801541d0
mov rcx, r12
test rcx, rcx
cmovne r9, rcx
mov qword [rbp - 0x79], r12
mov qword [rbp - 0x71], 0xf
mov byte [rsp + 0x20], 0
jmp 0x1801542d2
movups xmmword [rbp - 0x69], xmm0
mov qword [rbp - 0x59], r12
mov qword [rbp - 0x51], r12
mov qword [rbp - 0x59], 8
mov qword [rbp - 0x51], 0xf
movabs r10, 0x6461706863756f74
mov qword [rbp - 0x69], r10
mov byte [rbp - 0x61], 0
mov rcx, r12
nop dword [rax]
movzx eax, byte [rbp + rcx - 0x69]
xor rbx, rax
imul rbx, r9
inc rcx
cmp rcx, 8
jb 0x180154250
mov r8, qword [r14 + 0x998]
and r8, rbx
add r8, r8
mov rax, qword [r14 + 0x980]
mov rcx, qword [rax + r8*8 + 8]
mov r9, qword [r14 + 0x970]
cmp rcx, r9
je 0x1801542b8
mov r8, qword [rax + r8*8]
nop
lea rax, [rcx + 0x10]
mov rdx, qword [rax + 0x10]
cmp qword [rax + 0x18], 0xf
jbe 0x1801542a2
mov rax, qword [rax]
cmp rdx, 8
jne 0x1801542ad
cmp r10, qword [rax]
je 0x1801542bb
cmp rcx, r8
je 0x1801542b8
mov rcx, qword [rcx + 8]
jmp 0x180154290
mov rcx, r12
test rcx, rcx
cmovne r9, rcx
mov qword [rbp - 0x59], r12
mov qword [rbp - 0x51], 0xf
mov byte [rbp - 0x69], 0
cmp r9, qword [r14 + 0x970]
je 0x1801543ad
mov rax, qword [r9 + 0x30]
mov dword [rbp - 0x21], 0x3a
xorps xmm0, xmm0
movups xmmword [rbp - 0x19], xmm0
mov qword [rbp - 0x11], rax
mov rax, qword [r13 + r14 + 0xb38]
mov qword [rbp - 9], rax
mov dword [rbp - 1], 0x19
xor eax, eax
movups xmmword [rbp + 7], xmm0
movups xmmword [rbp + 0x17], xmm0
mov qword [rbp + 0x27], rax
lea r8, [rbp - 1]
lea rdx, [rbp - 0x21]
mov rcx, qword [r14 + 0x3f0]
call fcn.1801c0c10
test eax, eax
je 0x1801543d6
mov r8d, eax
lea rdx, [rbp - 0x49]
mov rcx, r14
call fcn.180153d50
nop
lea rcx, str._VR__Failed_to_get_stick_action_state:_
mov qword [rsp + 0x20], rcx
mov qword [rsp + 0x28], 0x29
mov rdx, rax
lea rcx, [rsp + 0x20]
call fcn.1800239a0
nop
mov rdx, qword [rbp - 0x31]
cmp rdx, 0xf
jbe 0x18015439c
inc rdx
mov rcx, qword [rbp - 0x49]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180154397
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801543dc
call fcn.18027ee90
movdqa xmm0, xmmword [0x180309720]
movdqu xmmword [rbp - 0x39], xmm0
mov byte [rbp - 0x49], 0
xor eax, eax
mov qword [r15], rax
mov rax, r15
lea r11, [rsp + 0xe0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
mov rax, qword [rbp + 0xf]
jmp 0x1801543af
call fcn.1802a2050
int3
call fcn.1802a2050
int3