Function at 0x140042170
Capabilities:
Hash data using fnv

Disassembly:
push rsi
push rdi
sub rsp, 0x28
mov rsi, rcx
mov dword [rcx], 0
pxor xmm0, xmm0
movdqu xmmword [rcx + 8], xmm0
and byte [rcx + 0x18], 0xfc
add rcx, 0x20
call fcn.140059e50
lea rcx, [rsi + 0x68]
mov rdi, qword [rsi + 0x68]
mov r8, qword [rdi + 8]
mov rdx, rcx
call fcn.1400426a0
mov qword [rdi + 8], rdi
mov qword [rdi], rdi
mov qword [rdi + 0x10], rdi
mov qword [rsi + 0x70], 0
mov rcx, qword [rsi + 0x78]
mov rax, qword [rsi + 0xa8]
mov qword [rsi + 0x80], rcx
mov dword [rsi + 0x90], 0x400
test rax, rax
je 0x14004239c
mov r8, qword [rsi + 0xa0]
mov rcx, qword [rsi + 0xd0]
shr rcx, 3
cmp rcx, rax
jbe 0x14004220c
lea rcx, [rsi + 0x98]
mov rdx, qword [r8]
call fcn.1400427a0
jmp 0x14004239c
mov rax, qword [r8 + 8]
mov qword [rax], 0
mov rcx, qword [r8]
test rcx, rcx
je 0x140042235
nop
mov rdi, qword [rcx]
mov edx, 0x18
call fcn.140128e80
mov rcx, rdi
test rdi, rdi
jne 0x140042220
mov rax, qword [rsi + 0xa0]
mov qword [rax], rax
mov rax, qword [rsi + 0xa0]
mov qword [rax + 8], rax
mov qword [rsi + 0xa8], 0
mov rax, qword [rsi + 0xb0]
mov r11, qword [rsi + 0xb8]
cmp rax, r11
je 0x14004239c
mov r10, qword [rsi + 0xa0]
mov r8, r11
sub r8, rax
add r8, 0xfffffffffffffff8
cmp r8, 0x18
jb 0x140042390
shr r8, 3
add r8, 1
mov r9, r8
and r9, 0xfffffffffffffffc
movq xmm0, r10
pshufd xmm0, xmm0, 0x44
lea rdi, [r9 - 4]
mov rdx, rdi
shr rdx, 2
add rdx, 1
mov ecx, edx
and ecx, 7
cmp rdi, 0x1c
jae 0x1400422c1
xor edi, edi
jmp 0x140042355
and rdx, 0xfffffffffffffff8
neg rdx
xor edi, edi
nop word [rax + rax]
movdqu xmmword [rax + rdi*8], xmm0
movdqu xmmword [rax + rdi*8 + 0x10], xmm0
movdqu xmmword [rax + rdi*8 + 0x20], xmm0
movdqu xmmword [rax + rdi*8 + 0x30], xmm0
movdqu xmmword [rax + rdi*8 + 0x40], xmm0
movdqu xmmword [rax + rdi*8 + 0x50], xmm0
movdqu xmmword [rax + rdi*8 + 0x60], xmm0
movdqu xmmword [rax + rdi*8 + 0x70], xmm0
movdqu xmmword [rax + rdi*8 + 0x80], xmm0
movdqu xmmword [rax + rdi*8 + 0x90], xmm0
movdqu xmmword [rax + rdi*8 + 0xa0], xmm0
movdqu xmmword [rax + rdi*8 + 0xb0], xmm0
movdqu xmmword [rax + rdi*8 + 0xc0], xmm0
movdqu xmmword [rax + rdi*8 + 0xd0], xmm0
movdqu xmmword [rax + rdi*8 + 0xe0], xmm0
movdqu xmmword [rax + rdi*8 + 0xf0], xmm0
add rdi, 0x20
add rdx, 8
jne 0x1400422d0
test rcx, rcx
je 0x140042382
lea rdx, [rax + rdi*8]
add rdx, 0x10
neg rcx
nop word cs:[rax + rax]
nop
movdqu xmmword [rdx - 0x10], xmm0
movdqu xmmword [rdx], xmm0
add rdx, 0x20
inc rcx
jne 0x140042370
cmp r8, r9
je 0x14004239c
lea rax, [rax + r9*8]
nop dword [rax + rax]
mov qword [rax], r10
add rax, 8
cmp r11, rax
jne 0x140042390
lea rcx, [rsi + 0xd8]
call fcn.1400423d0
lea rcx, [rsi + 0xf0]
call 0x140042480
add rsi, 0x130
mov rcx, rsi
add rsp, 0x28
pop rdi
pop rsi
jmp 0x140042480
push r14
push rsi
push rdi
push rbx
sub rsp, 0x28
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x14004268c
mov r14, rcx
mov r8, qword [rcx + 8]
mov rcx, qword [rcx + 0x38]
shr rcx, 3
cmp rcx, rax
jbe 0x1400424be
mov rdx, qword [r8]
mov rcx, r14
add rsp, 0x28
pop rbx
pop rdi
pop rsi
pop r14
jmp 0x140042e80
mov rax, qword [r8 + 8]
mov qword [rax], 0
mov rdi, qword [r8]
test rdi, rdi
jne 0x14004256e
mov rax, qword [r14 + 8]
mov qword [rax], rax
mov rax, qword [r14 + 8]
mov qword [rax + 8], rax
mov qword [r14 + 0x10], 0
mov rax, qword [r14 + 0x18]
mov rcx, qword [r14 + 0x20]
cmp rax, rcx
je 0x14004268c
mov rdx, qword [r14 + 8]
mov r9, rcx
sub r9, rax
add r9, 0xfffffffffffffff8
cmp r9, 0x18
jb 0x140042680
shr r9, 3
add r9, 1
mov r8, r9
and r8, 0xfffffffffffffffc
movq xmm0, rdx
pshufd xmm0, xmm0, 0x44
lea rbx, [r8 - 4]
mov rsi, rbx
shr rsi, 2
add rsi, 1
mov edi, esi
and edi, 7
cmp rbx, 0x1c
jae 0x1400425ad
xor ebx, ebx
jmp 0x140042645
call fcn.140128e80
mov edx, 0x30
mov rcx, rdi
call fcn.140128e80
mov rdi, rbx
test rbx, rbx
je 0x1400424d5
mov rbx, qword [rdi]
mov rax, qword [rdi + 0x28]
cmp rax, 0x10
jb 0x140042555
mov rcx, qword [rdi + 0x10]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x140042550
mov rsi, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rsi
cmp rcx, 0x20
jae 0x140042696
add rax, 0x28
mov rdx, rax
mov rcx, rsi
jmp 0x140042550
and rsi, 0xfffffffffffffff8
neg rsi
xor ebx, ebx
nop word cs:[rax + rax]
movdqu xmmword [rax + rbx*8], xmm0
movdqu xmmword [rax + rbx*8 + 0x10], xmm0
movdqu xmmword [rax + rbx*8 + 0x20], xmm0
movdqu xmmword [rax + rbx*8 + 0x30], xmm0
movdqu xmmword [rax + rbx*8 + 0x40], xmm0
movdqu xmmword [rax + rbx*8 + 0x50], xmm0
movdqu xmmword [rax + rbx*8 + 0x60], xmm0
movdqu xmmword [rax + rbx*8 + 0x70], xmm0
movdqu xmmword [rax + rbx*8 + 0x80], xmm0
movdqu xmmword [rax + rbx*8 + 0x90], xmm0
movdqu xmmword [rax + rbx*8 + 0xa0], xmm0
movdqu xmmword [rax + rbx*8 + 0xb0], xmm0
movdqu xmmword [rax + rbx*8 + 0xc0], xmm0
movdqu xmmword [rax + rbx*8 + 0xd0], xmm0
movdqu xmmword [rax + rbx*8 + 0xe0], xmm0
movdqu xmmword [rax + rbx*8 + 0xf0], xmm0
add rbx, 0x20
add rsi, 8
jne 0x1400425c0
test rdi, rdi
je 0x140042672
lea rbx, [rax + rbx*8]
add rbx, 0x10
neg rdi
nop word cs:[rax + rax]
nop
movdqu xmmword [rbx - 0x10], xmm0
movdqu xmmword [rbx], xmm0
add rbx, 0x20
inc rdi
jne 0x140042660
cmp r9, r8
je 0x14004268c
lea rax, [rax + r8*8]
nop dword [rax + rax]
mov qword [rax], rdx
add rax, 8
cmp rcx, rax
jne 0x140042680
add rsp, 0x28
pop rbx
pop rdi
pop rsi
pop r14
ret
call fcn.140137b68
int3
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x58
mov r13, rdx
cmp rdx, r8
je 0x140042ec8
mov r14, r8
mov r15, rcx
mov rax, qword [rcx + 8]
mov qword [rsp + 0x38], rax
mov r9, qword [rcx + 0x18]
mov rax, qword [r13 + 8]
mov qword [rsp + 0x40], rax
mov rbp, qword [r13 + 0x20]
mov rax, qword [r13 + 0x28]
cmp rax, 0xf
jbe 0x140042ed0
mov rcx, qword [r13 + 0x10]
jmp 0x140042ed4
mov r14, r13
jmp 0x140043223
lea rcx, [r13 + 0x10]
movabs r10, 0xcbf29ce484222325
mov rsi, r10
test rbp, rbp
je 0x140042f87
movabs rdx, 0x100000001b3
lea rbx, [rbp - 1]
mov r8d, ebp
and r8d, 3
cmp rbx, 3
jae 0x140042f0c
xor edi, edi
mov rbx, r10
jmp 0x140042f58
and rbp, 0xfffffffffffffffc
xor edi, edi
mov rbx, r10
nop word cs:[rax + rax]
nop
movzx esi, byte [rcx + rdi]
xor rsi, rbx
imul rsi, rdx
movzx ebx, byte [rcx + rdi + 1]
xor rbx, rsi
imul rbx, rdx
movzx esi, byte [rcx + rdi + 2]
xor rsi, rbx
imul rsi, rdx
movzx ebx, byte [rcx + rdi + 3]
xor rbx, rsi
imul rbx, rdx
add rdi, 4
cmp rbp, rdi
jne 0x140042f20
mov rsi, rbx
test r8, r8
je 0x140042f87
add rcx, rdi
xor ebp, ebp
nop word cs:[rax + rax]
nop
movzx esi, byte [rcx + rbp]
xor rsi, rbx
imul rsi, rdx
add rbp, 1
mov rbx, rsi
cmp r8, rbp
jne 0x140042f70
and rsi, qword [r15 + 0x30]
mov rcx, rsi
shl rcx, 4
lea rdx, [rsi + rsi]
add rdx, 1
mov qword [rsp + 0x50], rdx
lea rdx, [rsi + rsi]
mov rcx, qword [r9 + rcx]
mov qword [rsp + 0x48], rcx
cmp rcx, r13
setne bpl
mov qword [rsp + 0x28], r9
mov qword [rsp + 0x30], rdx
mov r12, qword [r9 + rdx*8 + 8]
mov rbx, r13
nop word cs:[rax + rax]
nop
mov rdi, qword [rbx]
cmp rax, 0x10
jb 0x14004300e
mov rcx, qword [rbx + 0x10]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x140043009
mov rsi, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rsi
cmp rcx, 0x20
jae 0x140043237
add rax, 0x28
mov rdx, rax
mov rcx, rsi
call fcn.140128e80
mov edx, 0x30
mov rcx, rbx
call fcn.140128e80
add qword [r15 + 0x10], 0xffffffffffffffff
cmp rbx, r12
je 0x140043046
cmp rdi, r14
setne al
or al, bpl
je 0x1400431f5
cmp rdi, r14
je 0x140043203
mov rax, qword [rdi + 0x28]
mov rbx, rdi
jmp 0x140042fd0
mov rax, qword [rsp + 0x40]
cmp qword [rsp + 0x48], r13
mov rcx, qword [rsp + 0x28]
jne 0x140043065
mov rax, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x30]
mov qword [rcx + rdx*8], rax
mov rdx, qword [rsp + 0x50]
mov qword [rcx + rdx*8], rax
cmp rdi, r14
movabs rsi, 0xcbf29ce484222325
je 0x140043203
movabs r13, 0x100000001b3
mov rbp, rdi
mov rcx, qword [rbp + 0x20]
cmp qword [rbp + 0x28], 0xf
jbe 0x14004309f
mov rbp, qword [rbp + 0x10]
jmp 0x1400430a3
add rbp, 0x10
mov rbx, rsi
test rcx, rcx
je 0x140043138
lea rdx, [rcx - 1]
mov eax, ecx
and eax, 3
cmp rdx, 3
jae 0x1400430c2
xor edx, edx
jmp 0x140043109
and rcx, 0xfffffffffffffffc
xor edx, edx
nop dword [rax + rax]
movzx ebx, byte [rbp + rdx]
xor rbx, rsi
imul rbx, r13
movzx esi, byte [rbp + rdx + 1]
xor rsi, rbx
imul rsi, r13
movzx ebx, byte [rbp + rdx + 2]
xor rbx, rsi
imul rbx, r13
movzx esi, byte [rbp + rdx + 3]
xor rsi, rbx
imul rsi, r13
add rdx, 4
cmp rcx, rdx
jne 0x1400430d0
mov rbx, rsi
test rax, rax
je 0x140043138
add rbp, rdx
xor ecx, ecx
nop word cs:[rax + rax]
movzx ebx, byte [rbp + rcx]
xor rbx, rsi
imul rbx, r13
add rcx, 1
mov rsi, rbx
cmp rax, rcx
jne 0x140043120
and rbx, qword [r15 + 0x30]
lea rax, [rbx + rbx]
add rax, 1
mov qword [rsp + 0x30], rax
lea r12, [rbx + rbx]
mov rax, qword [rsp + 0x28]
mov rbx, qword [rax + r12*8 + 8]
nop word [rax + rax]
mov rbp, qword [rdi]
mov rax, qword [rdi + 0x28]
cmp rax, 0x10
jb 0x1400431a2
mov rcx, qword [rdi + 0x10]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x14004319d
mov rsi, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rsi
cmp rcx, 0x20
jae 0x140043237
add rax, 0x28
mov rdx, rax
mov rcx, rsi
call fcn.140128e80
mov edx, 0x30
mov rcx, rdi
call fcn.140128e80
add qword [r15 + 0x10], 0xffffffffffffffff
cmp rbx, rdi
je 0x1400431c3
mov rdi, rbp
cmp rbp, r14
jne 0x140043160
jmp 0x140043208
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x38]
mov qword [rax + r12*8], rcx
mov rdx, qword [rsp + 0x30]
mov qword [rax + rdx*8], rcx
mov rdi, rbp
cmp rbp, r14
movabs rsi, 0xcbf29ce484222325
jne 0x14004308e
mov rax, r14
jmp 0x140043214
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x30]
mov qword [rax + rcx*8], r14
mov rax, rdi
jmp 0x140043217
mov rax, qword [rsp + 0x28]
mov qword [rax + r12*8], r14
mov rax, rbp
mov rdi, rbp
mov rcx, qword [rsp + 0x40]
mov qword [rcx], rdi
mov qword [rax + 8], rcx
mov rax, r14
add rsp, 0x58
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
call fcn.140137b68
int3