Function at 0x14002fcb0
Capabilities:
Hash data using fnv

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x58
mov rdi, rdx
mov qword [rsp + 0x50], rcx
cmp byte [rdx + 0x32b], 0
je 0x14002ff13
mov rcx, r8
call fcn.14005c720
mov qword [rsp + 0x48], rdx
cmp rax, rdx
je 0x140030150
mov rbx, rax
lea rcx, [rdi + 0x488]
lea rax, [rdi + 0x470]
mov qword [rsp + 0x38], rax
mov r12, qword [rdi + 0x480]
mov r14, 0xffffffffffffffff
movabs rax, 0x8000000000000000
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x30], rcx
nop word cs:[rax + rax]
mov r8, qword [rdi + 0x4a8]
test r8, r8
je 0x1400301c3
movzx ebp, byte [rbx]
movzx r13d, byte [rbx + 1]
movzx r15d, bpl
movzx esi, r13b
mov rax, r14
movabs rdx, 0xcbf29ce484222325
xor rax, rdx
movabs rdx, 0x100000001b3
imul rax, rdx
xor rax, r15
imul rax, rdx
xor rax, rsi
imul rax, rdx
xor edx, edx
div r8
mov rax, rdx
mov r8, qword [rdi + 0x4a0]
mov r10, qword [rdi + 0x490]
mov rdx, qword [rdi + 0x498]
mov r9, qword [r8 + rax*8]
cmp r9, rdx
jae 0x14002fdd0
lea r9, [r9 + r9*2]
lea r9, [r10 + r9*8]
cmp qword [r9], r14
jne 0x14002fdd0
cmp byte [r9 + 8], bpl
jne 0x14002fdd0
cmp byte [r9 + 9], r13b
jne 0x14002fdd0
mov r14, qword [r9 + 0x10]
jmp 0x14002feff
mov qword [r8 + rax*8], rdx
cmp rdx, qword [rcx]
jne 0x14002fdf1
call fcn.140009b30
mov rcx, qword [rsp + 0x30]
mov r10, qword [rdi + 0x490]
mov rdx, qword [rdi + 0x498]
lea rax, [rdx + rdx*2]
mov qword [r10 + rax*8], r14
mov byte [r10 + rax*8 + 8], bpl
mov byte [r10 + rax*8 + 9], r13b
mov qword [r10 + rax*8 + 0x10], r12
inc qword [rdi + 0x498]
test bpl, bpl
je 0x14002fe1d
mov byte [rdi + r15 + 0x33f], 1
mov byte [rdi + rsi + 0x340], 1
mov rdx, qword [rdi + 0x470]
cmp r14, 0xffffffffffffffff
je 0x14002fe80
mov rax, qword [rdi + 0x480]
cmp rax, rdx
jne 0x14002fe54
mov rcx, qword [rsp + 0x38]
call fcn.140009bf0
mov rcx, qword [rsp + 0x30]
mov rax, qword [rdi + 0x480]
mov rdx, qword [rdi + 0x478]
shl rax, 5
mov qword [rdx + rax], 6
mov qword [rdx + rax + 8], r14
mov byte [rdx + rax + 0x10], bpl
mov byte [rdx + rax + 0x11], r13b
jmp 0x14002fee5
mov rsi, qword [rdi + 0x480]
mov rax, rsi
cmp rsi, rdx
jne 0x14002fea5
mov rcx, qword [rsp + 0x38]
call fcn.140009bf0
mov rcx, qword [rsp + 0x30]
mov rax, qword [rdi + 0x480]
mov qword [rsp + 0x40], rsi
mov rdx, qword [rdi + 0x478]
shl rax, 5
mov qword [rdx + rax], 7
movabs r8, 0x8000000000000004
mov qword [rdx + rax + 8], r8
mov byte [rdx + rax + 0x10], bpl
mov byte [rdx + rax + 0x11], r13b
movabs rax, 0x8000000000000001
mov qword [rsp + 0x28], rax
mov r14, qword [rdi + 0x480]
mov r12, r14
inc r12
mov qword [rdi + 0x480], r12
je 0x1400301db
add rbx, 2
cmp rbx, qword [rsp + 0x48]
jne 0x14002fd30
jmp 0x140030166
mov rcx, r8
call fcn.14005c720
mov qword [rsp + 0x48], rax
cmp rdx, rax
je 0x140030182
mov r14, rdx
lea rcx, [rdi + 0x488]
lea rax, [rdi + 0x470]
mov qword [rsp + 0x38], rax
mov r12, qword [rdi + 0x480]
mov rbx, 0xffffffffffffffff
movabs rax, 0x8000000000000000
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x30], rcx
nop word cs:[rax + rax]
mov r8, qword [rdi + 0x4a8]
test r8, r8
je 0x1400301c3
movzx r13d, byte [r14 - 2]
movzx ebp, byte [r14 - 1]
movzx r15d, r13b
movzx esi, bpl
mov rax, rbx
movabs rdx, 0xcbf29ce484222325
xor rax, rdx
movabs rdx, 0x100000001b3
imul rax, rdx
xor rax, r15
imul rax, rdx
xor rax, rsi
imul rax, rdx
xor edx, edx
div r8
mov rax, rdx
mov r8, qword [rdi + 0x4a0]
mov r10, qword [rdi + 0x490]
mov rdx, qword [rdi + 0x498]
mov r9, qword [r8 + rax*8]
cmp r9, rdx
jae 0x140030010
lea r9, [r9 + r9*2]
lea r9, [r10 + r9*8]
cmp qword [r9], rbx
jne 0x140030010
cmp byte [r9 + 8], r13b
jne 0x140030010
cmp byte [r9 + 9], bpl
jne 0x140030010
mov rbx, qword [r9 + 0x10]
jmp 0x14003013f
mov qword [r8 + rax*8], rdx
cmp rdx, qword [rcx]
jne 0x140030031
call fcn.140009b30
mov rcx, qword [rsp + 0x30]
mov r10, qword [rdi + 0x490]
mov rdx, qword [rdi + 0x498]
lea rax, [rdx + rdx*2]
mov qword [r10 + rax*8], rbx
mov byte [r10 + rax*8 + 8], r13b
mov byte [r10 + rax*8 + 9], bpl
mov qword [r10 + rax*8 + 0x10], r12
inc qword [rdi + 0x498]
test r13b, r13b
je 0x14003005d
mov byte [rdi + r15 + 0x33f], 1
mov byte [rdi + rsi + 0x340], 1
mov rdx, qword [rdi + 0x470]
cmp rbx, 0xffffffffffffffff
je 0x1400300c0
mov rax, qword [rdi + 0x480]
cmp rax, rdx
jne 0x140030094
mov rcx, qword [rsp + 0x38]
call fcn.140009bf0
mov rcx, qword [rsp + 0x30]
mov rax, qword [rdi + 0x480]
mov rdx, qword [rdi + 0x478]
shl rax, 5
mov qword [rdx + rax], 6
mov qword [rdx + rax + 8], rbx
mov byte [rdx + rax + 0x10], r13b
mov byte [rdx + rax + 0x11], bpl
jmp 0x140030125
mov rsi, qword [rdi + 0x480]
mov rax, rsi
cmp rsi, rdx
jne 0x1400300e5
mov rcx, qword [rsp + 0x38]
call fcn.140009bf0
mov rcx, qword [rsp + 0x30]
mov rax, qword [rdi + 0x480]
mov qword [rsp + 0x40], rsi
mov rdx, qword [rdi + 0x478]
shl rax, 5
mov qword [rdx + rax], 7
movabs r8, 0x8000000000000004
mov qword [rdx + rax + 8], r8
mov byte [rdx + rax + 0x10], r13b
mov byte [rdx + rax + 0x11], bpl
movabs rax, 0x8000000000000001
mov qword [rsp + 0x28], rax
mov rbx, qword [rdi + 0x480]
mov r12, rbx
inc r12
mov qword [rdi + 0x480], r12
je 0x1400301db
add r14, 0xfffffffffffffffe
cmp r14, qword [rsp + 0x48]
jne 0x14002ff70
jmp 0x140030198
mov r14, 0xffffffffffffffff
movabs rax, 0x8000000000000000
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x28]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x40]
mov qword [rax + 8], rcx
mov qword [rax + 0x18], r14
jmp 0x1400301b2
mov rbx, 0xffffffffffffffff
movabs rax, 0x8000000000000000
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x28]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x40]
mov qword [rax + 8], rcx
mov qword [rax + 0x18], rbx
add rsp, 0x58
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rcx, [0x1400bc920]
lea r8, str.C:Usersm.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_1.8.1_srccompile.rs
mov edx, 0x39
call fcn.1400b77c0
lea rcx, str.C:Usersm.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_1.8.1_srccompile.rs
call fcn.1400b76b0
int3