Function at 0x14005d1a0
Capabilities:
Hash data using fnv

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x58
lea rbp, [rsp + 0x50]
mov qword [rbp], 0xfffffffffffffffe
mov rdi, rdx
cmp byte [rdx + 0x16b], 0
mov qword [rbp - 0x30], rcx
mov rcx, r8
je 0x14005d3f1
call fcn.14005dbb0
cmp rax, rdx
je 0x14005d624
mov rbx, rax
mov r14, rdx
mov r8, qword [rdi + 0x10]
mov rcx, 0xffffffffffffffff
movabs rax, 0x8000000000000000
mov qword [rbp - 8], rax
movabs r12, 0xcbf29ce484222325
movabs r13, 0x100000001b3
jmp 0x14005d262
mov rdx, qword [rdi + 0x10]
mov rax, qword [rdi + 8]
shl rdx, 5
movups xmm0, xmmword [rbp - 0x28]
movups xmm1, xmmword [rbp - 0x18]
movups xmmword [rax + rdx + 0x10], xmm1
movups xmmword [rax + rdx], xmm0
mov r8, qword [rdi + 0x10]
inc r8
mov qword [rdi + 0x10], r8
mov rcx, r8
sub rcx, 1
jb 0x14005d60c
add rbx, 2
cmp rbx, r14
je 0x14005d639
mov r11, qword [rdi + 0x180]
test r11, r11
je 0x14005d66b
movzx r9d, byte [rbx]
movzx r10d, byte [rbx + 1]
movzx edx, r9b
movzx esi, r10b
mov rax, rcx
xor rax, r12
imul rax, r13
xor rax, rdx
imul rax, r13
xor rax, rsi
imul rax, r13
xor edx, edx
div r11
mov rsi, qword [rdi + 0x178]
shl rdx, 5
lea rax, [rsi + rdx]
cmp qword [rsi + rdx], rcx
jne 0x14005d2f0
mov r11, qword [rdi + 0x188]
cmp byte [rax + 8], r9b
jne 0x14005d2f7
cmp byte [rsi + rdx + 9], r10b
jne 0x14005d2f7
cmp qword [rsi + rdx + 0x18], r11
jne 0x14005d2f7
mov rcx, qword [rsi + rdx + 0x10]
add rbx, 2
cmp rbx, r14
jne 0x14005d262
jmp 0x14005d639
mov r11, qword [rdi + 0x188]
mov qword [rax], rcx
mov byte [rax + 8], r9b
mov byte [rax + 9], r10b
mov qword [rax + 0x10], r8
mov qword [rax + 0x18], r11
movzx eax, byte [rbx]
movzx edx, byte [rbx + 1]
test rax, rax
je 0x14005d31e
mov byte [rdi + rax + 0x1a7], 1
mov byte [rdi + rdx + 0x1a8], 1
movzx edx, byte [rbx]
movzx eax, byte [rbx + 1]
cmp rcx, 0xffffffffffffffff
je 0x14005d370
movabs r8, 0x8000000000000006
mov qword [rbp - 0x28], r8
mov qword [rbp - 0x20], rcx
mov byte [rbp - 0x18], dl
mov byte [rbp - 0x17], al
mov rdx, qword [rdi + 0x10]
cmp rdx, qword [rdi]
jne 0x14005d224
mov rcx, rdi
call fcn.140054980
jmp 0x14005d220
mov r15, qword [rdi + 0x10]
movabs rcx, 0x8000000000000004
mov qword [rbp - 0x20], rcx
mov byte [rbp - 0x18], dl
mov byte [rbp - 0x17], al
movabs rax, 0x8000000000000007
mov qword [rbp - 0x28], rax
mov rax, r15
cmp r15, qword [rdi]
jne 0x14005d3ad
mov rcx, rdi
mov rdx, r15
call fcn.140054980
mov rax, qword [rdi + 0x10]
mov rcx, qword [rdi + 8]
shl rax, 5
movups xmm0, xmmword [rbp - 0x28]
movups xmm1, xmmword [rbp - 0x18]
movups xmmword [rcx + rax + 0x10], xmm1
movups xmmword [rcx + rax], xmm0
mov r8, qword [rdi + 0x10]
inc r8
mov qword [rdi + 0x10], r8
movabs rax, 0x8000000000000001
mov qword [rbp - 8], rax
mov rcx, r8
sub rcx, 1
jae 0x14005d255
jmp 0x14005d60c
call fcn.14005dbb0
cmp rdx, rax
je 0x14005d624
mov rbx, rax
mov r14, rdx
mov r8, qword [rdi + 0x10]
mov rcx, 0xffffffffffffffff
movabs rax, 0x8000000000000000
mov qword [rbp - 8], rax
movabs r12, 0xcbf29ce484222325
movabs r13, 0x100000001b3
jmp 0x14005d482
mov rdx, qword [rdi + 0x10]
mov rax, qword [rdi + 8]
shl rdx, 5
movups xmm0, xmmword [rbp - 0x28]
movups xmm1, xmmword [rbp - 0x18]
movups xmmword [rax + rdx + 0x10], xmm1
movups xmmword [rax + rdx], xmm0
mov r8, qword [rdi + 0x10]
inc r8
mov qword [rdi + 0x10], r8
mov rcx, r8
sub rcx, 1
jb 0x14005d60c
add r14, 0xfffffffffffffffe
cmp r14, rbx
je 0x14005d639
mov r11, qword [rdi + 0x180]
test r11, r11
je 0x14005d66b
movzx r9d, byte [r14 - 2]
movzx r10d, byte [r14 - 1]
movzx edx, r9b
movzx esi, r10b
mov rax, rcx
xor rax, r12
imul rax, r13
xor rax, rdx
imul rax, r13
xor rax, rsi
imul rax, r13
xor edx, edx
div r11
mov rsi, qword [rdi + 0x178]
shl rdx, 5
lea rax, [rsi + rdx]
cmp qword [rsi + rdx], rcx
jne 0x14005d510
mov r11, qword [rdi + 0x188]
cmp byte [rax + 8], r9b
jne 0x14005d517
cmp byte [rsi + rdx + 9], r10b
jne 0x14005d517
cmp qword [rsi + rdx + 0x18], r11
jne 0x14005d517
mov rcx, qword [rsi + rdx + 0x10]
add r14, 0xfffffffffffffffe
cmp r14, rbx
jne 0x14005d482
jmp 0x14005d639
mov r11, qword [rdi + 0x188]
mov qword [rax], rcx
mov byte [rax + 8], r9b
mov byte [rax + 9], r10b
mov qword [rax + 0x10], r8
mov qword [rax + 0x18], r11
movzx eax, byte [r14 - 2]
movzx edx, byte [r14 - 1]
test rax, rax
je 0x14005d541
mov byte [rdi + rax + 0x1a7], 1
mov byte [rdi + rdx + 0x1a8], 1
movzx edx, byte [r14 - 2]
movzx eax, byte [r14 - 1]
cmp rcx, 0xffffffffffffffff
je 0x14005d590
movabs r8, 0x8000000000000006
mov qword [rbp - 0x28], r8
mov qword [rbp - 0x20], rcx
mov byte [rbp - 0x18], dl
mov byte [rbp - 0x17], al
mov rdx, qword [rdi + 0x10]
cmp rdx, qword [rdi]
jne 0x14005d444
mov rcx, rdi
call fcn.140054980
jmp 0x14005d440
mov r15, qword [rdi + 0x10]
movabs rcx, 0x8000000000000004
mov qword [rbp - 0x20], rcx
mov byte [rbp - 0x18], dl
mov byte [rbp - 0x17], al
movabs rax, 0x8000000000000007
mov qword [rbp - 0x28], rax
mov rax, r15
cmp r15, qword [rdi]
jne 0x14005d5cd
mov rcx, rdi
mov rdx, r15
call fcn.140054980
mov rax, qword [rdi + 0x10]
mov rcx, qword [rdi + 8]
shl rax, 5
movups xmm0, xmmword [rbp - 0x28]
movups xmm1, xmmword [rbp - 0x18]
movups xmmword [rcx + rax + 0x10], xmm1
movups xmmword [rcx + rax], xmm0
mov r8, qword [rdi + 0x10]
inc r8
mov qword [rdi + 0x10], r8
movabs rax, 0x8000000000000001
mov qword [rbp - 8], rax
mov rcx, r8
sub rcx, 1
jae 0x14005d475
lea rcx, [0x1401555e0]
lea r8, str.C:Users10549.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_0.1.80_srccompile.rs
mov edx, 0x2b
call fcn.140148fc0
mov rcx, 0xffffffffffffffff
movabs rax, 0x8000000000000000
mov qword [rbp - 8], rax
mov rdx, qword [rbp - 0x30]
mov rax, qword [rbp - 8]
mov qword [rdx + 8], rax
mov qword [rdx + 0x10], r15
mov qword [rdx + 0x20], rcx
movabs rax, 0x8000000000000003
mov qword [rdx], rax
add rsp, 0x58
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
lea rcx, [0x140155880]
lea r8, str.C:Users10549.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_0.1.80_srccompile.rs
mov edx, 0x39
call fcn.140148fc0
int3