Function at 0x14002b550
Capabilities:
Hash data using fnv

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x40
mov r15, r8
mov r14, rcx
mov rax, qword [0x1400a9028]
xor rax, rsp
mov qword [rsp + 0x38], rax
movzx eax, byte [rdx]
movabs rcx, 0xcbf29ce484222325
xor rcx, rax
movabs rax, 0x100000001b3
imul rcx, rax
movzx ebx, byte [rdx + 1]
xor rbx, rcx
imul rbx, rax
movzx ecx, byte [rdx + 2]
xor rcx, rbx
imul rcx, rax
movzx ebx, byte [rdx + 3]
xor rbx, rcx
imul rbx, rax
and rbx, qword [0x1400a9408]
lea rax, [rbx + rbx]
mov rcx, qword [0x1400a93f0]
mov rdi, qword [0x1400a93e0]
shl rbx, 4
mov rbx, qword [rcx + rbx]
mov rsi, rdi
cmp rbx, rdi
je 0x14002b5eb
lea rsi, [rax*8]
or rsi, 8
mov rsi, qword [rcx + rsi]
mov rsi, qword [rsi]
mov edx, dword [rdx]
cmp rsi, rbx
je 0x14002b66d
mov rsi, qword [rsi + 8]
cmp edx, dword [rsi + 0x10]
jne 0x14002b5ed
mov rax, qword [r15]
mov rcx, qword [r15 + 8]
mov qword [rcx], rax
mov rax, qword [r15]
mov rcx, qword [r15 + 8]
mov qword [rax + 8], rcx
dec qword [0x1400a93e8]
mov rax, qword [r15 + 0x30]
cmp rax, 8
jb 0x14002b63f
mov rcx, qword [r15 + 0x18]
lea rdx, [rax + rax]
add rdx, 2
cmp rdx, 0x1000
jae 0x14002b855
call fcn.140058840
mov qword [r15 + 0x28], 0
mov qword [r15 + 0x30], 7
mov word [r15 + 0x18], 0
mov edx, 0x38
mov rcx, r15
call fcn.140058840
mov qword [r14], rsi
xor eax, eax
jmp 0x14002b835
mov rdx, qword [r15]
cmp rbx, rdx
je 0x14002b6b0
mov rcx, qword [r15 + 8]
mov qword [rcx], rdx
mov rcx, qword [rdx + 8]
mov qword [rcx], rbx
mov rcx, qword [rbx + 8]
mov qword [rcx], r15
mov rcx, qword [rbx + 8]
mov rdi, qword [rdx + 8]
mov qword [rbx + 8], rdi
mov rdi, qword [r15 + 8]
mov qword [rdx + 8], rdi
mov qword [r15 + 8], rcx
mov rcx, qword [0x1400a93f0]
mov rdi, qword [0x1400a93e0]
mov rdx, qword [rcx + rax*8]
cmp rdx, rdi
je 0x14002b6e7
cmp rdx, rbx
je 0x14002b700
or rax, 1
mov rdx, qword [rcx + rax*8]
mov rdx, qword [rdx]
mov qword [rcx + rax*8], rdx
cmp rdx, r15
je 0x14002b704
mov rcx, qword [0x1400a93f0]
mov rdx, qword [rcx + rax*8]
mov rdx, qword [rdx + 8]
mov qword [rcx + rax*8], rdx
jmp 0x14002b704
mov qword [rcx + rax*8], r15
shl rax, 3
mov rcx, qword [0x1400a93f0]
or rax, 8
mov qword [rcx + rax], r15
jmp 0x14002b704
mov qword [rcx + rax*8], r15
mov rax, qword [0x1400a93e8]
test rax, rax
js 0x14002b717
cvtsi2ss xmm0, rax
jmp 0x14002b72c
mov rcx, rax
shr rcx, 1
and eax, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
mov rsi, qword [0x1400a9410]
test rsi, rsi
js 0x14002b73f
cvtsi2ss xmm1, rsi
jmp 0x14002b756
mov rax, rsi
shr rax, 1
mov ecx, esi
and ecx, 1
or rcx, rax
cvtsi2ss xmm1, rcx
addss xmm1, xmm1
divss xmm0, xmm1
ucomiss xmm0, dword [0x1400a93d8]
jbe 0x14002b830
movabs rax, 0xfffffffffffffff
xor edx, edx
cmp rsi, rax
setb dl
cmp rsi, 0x200
mov ecx, 3
cmovae ecx, edx
shl rsi, cl
lea rbx, [rsi + rsi]
mov rax, qword [0x1400a9400]
sub rax, qword [0x1400a93f0]
sar rax, 3
cmp rax, rbx
jae 0x14002b7bb
mov rax, rbx
shr rax, 0x3d
jne 0x14002b878
mov rcx, rbx
call fcn.14002b450
mov rax, qword [0x1400a93e0]
lea rdx, [rsp + 0x28]
mov qword [rdx], rax
mov rcx, rbx
call fcn.14002b270
lea rax, [rsi - 1]
mov qword [0x1400a9408], rax
mov qword [0x1400a9410], rsi
mov rax, qword [0x1400a93e0]
mov rbx, qword [rax]
cmp rbx, rax
je 0x14002b830
mov rdi, qword [rax + 8]
lea rdx, [rbx + 0x10]
lea rcx, [rsp + 0x28]
mov r8, rbx
call fcn.14002b550
cmp rbx, rdi
je 0x14002b830
lea rbx, [rsp + 0x28]
mov rax, qword [0x1400a93e0]
mov rsi, qword [rax]
lea rdx, [rsi + 0x10]
mov rcx, rbx
mov r8, rsi
call fcn.14002b550
cmp rsi, rdi
jne 0x14002b812
mov qword [r14], r15
mov al, 1
mov byte [r14 + 8], al
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.140059960
mov rax, r14
add rsp, 0x40
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret
mov rdx, rcx
add rdx, 0xfffffffffffffff8
mov rcx, qword [rcx - 8]
sub rdx, rcx
cmp rdx, 0x20
jae 0x14002b87d
add rax, rax
add rax, 0x29
mov rdx, rax
jmp 0x14002b63a
call fcn.14002b430
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3