Function at 0x180046a80
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rdi
mov dword [rsp + 0x10], edx
push rbp
mov rbp, rsp
sub rsp, 0x70
mov ebx, r9d
mov edi, r8d
mov r11d, edx
movabs rcx, 0xcbf29ce484222325
xor r10d, r10d
movzx eax, byte [rbp + r10 + 0x18]
xor rcx, rax
movabs rdx, 0x100000001b3
imul rcx, rdx
inc r10
cmp r10, 4
jb 0x180046aac
mov rdx, qword [0x1801b64c0]
and rdx, rcx
add rdx, rdx
mov r8, qword [0x1801b64a8]
mov rax, qword [r8 + rdx*8 + 8]
mov rcx, qword [0x1801b6498]
cmp rax, rcx
je 0x180046b08
mov r9, qword [r8 + rdx*8]
jmp 0x180046b00
cmp rax, r9
je 0x180046b08
mov rax, qword [rax + 8]
cmp r11d, dword [rax + 0x10]
jne 0x180046af7
jmp 0x180046b0a
xor eax, eax
mov r8, rcx
test rax, rax
cmovne r8, rax
cmp r8, rcx
jne 0x180046b25
lea rax, [0x1800bf36d]
jmp 0x180046c1e
add r8, 0x18
mov edx, ebx
and edx, 3
lea rbx, [0x180000000]
mov rdx, qword [rbx + rdx*8 + 0xc8ec0]
lea rcx, [rbp - 0x28]
call fcn.180046f7c
nop
mov ecx, edi
and ecx, 3
mov rdx, qword [rbx + rcx*8 + 0xcbe78]
or r8, 0xffffffffffffffff
inc r8
cmp byte [rdx + r8], 0
jne 0x180046b58
mov rcx, rax
call fcn.180046f04
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x48], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x38], xmm1
and qword [rax + 0x10], 0
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov edi, 0x1000
mov rdx, qword [rbp - 0x10]
cmp rdx, 0xf
jbe 0x180046bc1
inc rdx
mov rcx, qword [rbp - 0x28]
mov rax, rcx
cmp rdx, rdi
jb 0x180046bbc
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180046c36
call fcn.1800947c4
movdqa xmm0, xmmword [0x1800d9230]
movdqu xmmword [rbp - 0x18], xmm0
mov byte [rbp - 0x28], 0
lea rdx, [rbp - 0x48]
cmp qword [rbp - 0x30], 0xf
cmova rdx, qword [rbp - 0x48]
call fcn.180046e10
mov rbx, rax
mov rdx, qword [rbp - 0x30]
cmp rdx, 0xf
jbe 0x180046c1b
inc rdx
mov rcx, qword [rbp - 0x48]
mov rax, rcx
cmp rdx, rdi
jb 0x180046c16
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180046c30
call fcn.1800947c4
mov rax, rbx
lea r11, [rsp + 0x70]
mov rbx, qword [r11 + 0x10]
mov rdi, qword [r11 + 0x20]
mov rsp, r11
pop rbp
ret
call fcn.180098ad0
nop
call fcn.180098ad0
nop
mov qword [rsp + 8], rbx
mov dword [rsp + 0x10], edx
push rbp
mov rbp, rsp
sub rsp, 0x60
mov r11d, r8d
mov r10d, edx
xor ebx, ebx
movabs rcx, 0xcbf29ce484222325
mov r9d, ebx
movzx eax, byte [rbp + r9 + 0x18]
xor rcx, rax
movabs rdx, 0x100000001b3
imul rcx, rdx
inc r9
cmp r9, 4
jb 0x180046c62
mov rdx, qword [0x1801b64c0]
and rdx, rcx
add rdx, rdx
mov r8, qword [0x1801b64a8]
mov rax, qword [r8 + rdx*8 + 8]
mov rcx, qword [0x1801b6498]
cmp rax, rcx
je 0x180046cbe
mov r9, qword [r8 + rdx*8]
jmp 0x180046cb6
cmp rax, r9
je 0x180046cbe
mov rax, qword [rax + 8]
cmp r10d, dword [rax + 0x10]
jne 0x180046cad
jmp 0x180046cc1
mov rax, rbx
mov r8, rcx
test rax, rax
cmovne r8, rax
cmp r8, rcx
jne 0x180046cdc
lea rax, [0x1800bf36f]
jmp 0x180046df7
add r8, 0x18
and r11d, 3
lea rax, str.knockout_
mov rdx, qword [rax + r11*8]
lea rcx, [rbp - 0x20]
call fcn.180046f7c
nop
mov byte [rbp + 0x28], 0x33
mov byte [rbp + 0x29], 0x78
mov byte [rbp + 0x2a], 0x7b
mov byte [rbp + 0x2b], 0x6c
mov byte [rbp + 0x2c], bl
mov cl, byte [rbp + 0x28]
mov rdx, rbx
mov cl, byte [rbp + rdx + 0x28]
sub cl, 5
mov byte [rbp + rdx + 0x28], cl
inc rdx
cmp rdx, 4
jb 0x180046d12
lea rcx, [rbp + 0x28]
or r8, 0xffffffffffffffff
inc r8
cmp byte [rcx + r8], bl
jne 0x180046d2e
lea rdx, [rbp + 0x28]
mov rcx, rax
call fcn.180046f04
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x40], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x30], xmm1
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], 0xf
mov byte [rax], bl
mov rdx, qword [rbp - 8]
cmp rdx, 0xf
jbe 0x180046d97
inc rdx
mov rcx, qword [rbp - 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180046d92
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180046e08
call fcn.1800947c4
movdqa xmm0, xmmword [0x1800d9230]
movdqu xmmword [rbp - 0x10], xmm0
mov byte [rbp - 0x20], bl
lea rdx, [rbp - 0x40]
cmp qword [rbp - 0x28], 0xf
cmova rdx, qword [rbp - 0x40]
call fcn.180046e10
mov rbx, rax
mov rdx, qword [rbp - 0x28]
cmp rdx, 0xf
jbe 0x180046df4
inc rdx
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180046def
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180046e02
call fcn.1800947c4
mov rax, rbx
mov rbx, qword [rsp + 0x70]
add rsp, 0x60
pop rbp
ret
call fcn.180098ad0
nop
call fcn.180098ad0
nop
int3