Function at 0x18001e070
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xd0]
sub rsp, 0x1d0
mov r13, rcx
mov rax, qword [0x1801176c0]
add rax, qword [0x1801176e8]
mov qword [rbp - 0x80], rax
mov qword [rsp + 0x60], rax
xor edi, edi
mov r12d, edi
mov eax, edx
mov qword [rsp + 0x70], rax
movabs r15, 0x100000001b3
mov rsi, qword [rsp + 0x60]
mov r14, qword [0x1801176d0]
test rsi, rsi
je 0x18001e328
mov dword [rsp + 0x20], 0
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x30], rdi
mov ecx, 0x28
call fcn.180097378
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x38], rdi
xorps xmm0, xmm0
movdqa xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], 7
mov qword [rsp + 0x58], 8
mov dword [rsp + 0x20], 0x3f800000
mov r8, rax
mov edx, 0x10
lea rcx, [rsp + 0x38]
call fcn.18001ba90
nop
mov rbx, rdi
movabs r13, 0xcbf29ce484222325
nop dword [rax]
lea rdx, [rbx + rsi]
shr rdx, 0xc
mov qword [rbp + 0x128], rdx
mov rax, rdx
shr rax, 8
movzx r8d, al
movzx eax, dl
xor rax, r13
imul rax, r15
xor r8, rax
imul r8, r15
mov rax, rdx
shr rax, 0x10
movzx ecx, al
xor r8, rcx
imul r8, r15
mov rax, rdx
shr rax, 0x18
movzx ecx, al
xor r8, rcx
imul r8, r15
mov rax, rdx
shr rax, 0x20
movzx ecx, al
xor r8, rcx
imul r8, r15
mov rax, rdx
shr rax, 0x28
movzx ecx, al
xor r8, rcx
imul r8, r15
mov rax, rdx
shr rax, 0x30
xor r8, rax
imul r8, r15
mov rax, rdx
shr rax, 0x38
xor r8, rax
imul r8, r15
and r8, qword [rsp + 0x50]
add r8, r8
mov rcx, qword [rsp + 0x38]
mov rax, qword [rcx + r8*8 + 8]
mov r9, qword [rsp + 0x28]
cmp rax, r9
je 0x18001e212
mov rcx, qword [rcx + r8*8]
cmp rdx, qword [rax + 0x10]
je 0x18001e215
cmp rax, rcx
je 0x18001e212
mov rax, qword [rax + 8]
cmp rdx, qword [rax + 0x10]
jne 0x18001e201
jmp 0x18001e215
mov rax, rdi
test rax, rax
je 0x18001e21f
cmp rax, r9
jne 0x18001e243
lea r8, [rbp + 0x128]
lea rdx, [rbp - 0x70]
lea rcx, [rsp + 0x20]
call fcn.180020600
mov rcx, qword [rax]
mov qword [rcx + 0x18], 0xffffffffffffffff
mov qword [rcx + 0x20], rdi
lea r8, [rbp + 0x128]
lea rdx, [rbp - 0x60]
lea rcx, [rsp + 0x20]
call fcn.180020600
mov rcx, qword [rax]
cmp rbx, qword [rcx + 0x18]
jae 0x18001e27d
lea r8, [rbp + 0x128]
lea rdx, [rbp - 0x50]
lea rcx, [rsp + 0x20]
call fcn.180020600
mov rcx, qword [rax]
mov qword [rcx + 0x18], rbx
lea r8, [rbp + 0x128]
lea rdx, [rbp - 0x40]
lea rcx, [rsp + 0x20]
call fcn.180020600
mov rcx, qword [rax]
cmp rbx, qword [rcx + 0x20]
jbe 0x18001e2b7
lea r8, [rbp + 0x128]
lea rdx, [rbp - 0x30]
lea rcx, [rsp + 0x20]
call fcn.180020600
mov rcx, qword [rax]
mov qword [rcx + 0x20], rbx
inc rbx
cmp rbx, 8
jb 0x18001e150
mov r13, qword [rbp + 0x110]
mov rdi, qword [rsp + 0x28]
mov rbx, qword [rdi]
cmp rbx, rdi
je 0x18001e31c
nop dword [rax + rax]
mov rdx, qword [rbx + 0x18]
add rdx, rsi
mov rcx, r14
call fcn.18001d720
test rax, rax
je 0x18001e31c
lea rdx, [rsp + 0x60]
add rdx, qword [rbx + 0x18]
mov r8, qword [rbx + 0x20]
sub r8, qword [rbx + 0x18]
inc r8
mov rcx, rax
call qword [0x1801176f0]
mov rax, qword [rbx]
mov rbx, rax
cmp rax, rdi
jne 0x18001e2e0
lea rcx, [rsp + 0x20]
call fcn.18001dc70
xor edi, edi
mov r15, qword [rsp + 0x60]
sub r15, qword [0x1801176c0]
mov qword [rsp + 0x68], r15
lea rsi, [r15 + 0x28]
mov r14, qword [0x1801176d0]
test rsi, rsi
je 0x18001e5a5
mov dword [rsp + 0x20], 0
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x30], rdi
mov ecx, 0x28
call fcn.180097378
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x38], rdi
xorps xmm0, xmm0
movdqa xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], 7
mov qword [rsp + 0x58], 8
mov dword [rsp + 0x20], 0x3f800000
mov r8, rax
mov edx, 0x10
lea rcx, [rsp + 0x38]
call fcn.18001ba90
nop
mov rbx, rdi
movabs r13, 0x100000001b3
movabs r15, 0xcbf29ce484222325
nop word [rax + rax]
lea r8, [rbx + rsi]
shr r8, 0xc
mov qword [rbp + 0x128], r8
mov rax, r8
shr rax, 8
movzx edx, al
movzx eax, r8b
xor rax, r15
imul rax, r13
xor rdx, rax
imul rdx, r13
mov rax, r8
shr rax, 0x10
movzx ecx, al
xor rdx, rcx
imul rdx, r13
mov rax, r8
shr rax, 0x18
movzx ecx, al
xor rdx, rcx
imul rdx, r13
mov rax, r8
shr rax, 0x20
movzx ecx, al
xor rdx, rcx
imul rdx, r13
mov rax, r8
shr rax, 0x28
movzx ecx, al
xor rdx, rcx
imul rdx, r13
mov rax, r8
shr rax, 0x30
xor rdx, rax
imul rdx, r13
mov rax, r8
shr rax, 0x38
xor rdx, rax
imul rdx, r13
mov rcx, qword [rsp + 0x50]
and rcx, rdx
add rcx, rcx
mov rdx, qword [rsp + 0x38]
mov rax, qword [rdx + rcx*8 + 8]
mov r9, qword [rsp + 0x28]
cmp rax, r9
je 0x18001e495
mov rcx, qword [rdx + rcx*8]
cmp r8, qword [rax + 0x10]
je 0x18001e498
cmp rax, rcx
je 0x18001e495
mov rax, qword [rax + 8]
cmp r8, qword [rax + 0x10]
jne 0x18001e484
jmp 0x18001e498
mov rax, rdi
test rax, rax
je 0x18001e4a2
cmp rax, r9
jne 0x18001e4c6
lea r8, [rbp + 0x128]
lea rdx, [rbp - 0x20]
lea rcx, [rsp + 0x20]
call fcn.180020600
mov rcx, qword [rax]
mov qword [rcx + 0x18], 0xffffffffffffffff
mov qword [rcx + 0x20], rdi
lea r8, [rbp + 0x128]
lea rdx, [rbp - 0x10]
lea rcx, [rsp + 0x20]
call fcn.180020600
mov rcx, qword [rax]
cmp rbx, qword [rcx + 0x18]
jae 0x18001e500
lea r8, [rbp + 0x128]
lea rdx, [rbp]
lea rcx, [rsp + 0x20]
call fcn.180020600
mov rcx, qword [rax]
mov qword [rcx + 0x18], rbx
lea r8, [rbp + 0x128]
lea rdx, [rbp + 0x10]
lea rcx, [rsp + 0x20]
call fcn.180020600
mov rcx, qword [rax]
cmp rbx, qword [rcx + 0x20]
jbe 0x18001e53a
lea r8, [rbp + 0x128]
lea rdx, [rbp + 0x20]
lea rcx, [rsp + 0x20]
call fcn.180020600
mov rcx, qword [rax]
mov qword [rcx + 0x20], rbx
inc rbx
cmp rbx, 8
jb 0x18001e3d0
mov r15, qword [rsp + 0x68]
mov r13, qword [rbp + 0x110]
mov rdi, qword [rsp + 0x28]
mov rbx, qword [rdi]
cmp rbx, rdi
je 0x18001e59b
mov rdx, qword [rbx + 0x18]
add rdx, rsi
mov rcx, r14
call fcn.18001d720
test rax, rax
je 0x18001e59b
lea rdx, [rbp - 0x78]
add rdx, qword [rbx + 0x18]
mov r8, qword [rbx + 0x20]
sub r8, qword [rbx + 0x18]
inc r8
mov rcx, rax
call qword [0x1801176f0]
mov rax, qword [rbx]
mov rbx, rax
cmp rax, rdi
jne 0x18001e560
lea rcx, [rsp + 0x20]
call fcn.18001dc70
mov rsi, qword [0x1801176e0]
mov r14, qword [0x1801176d0]
add rsi, r15
je 0x18001e816
mov dword [rsp + 0x20], 0
xor edi, edi
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x30], rdi
lea ecx, [rdi + 0x28]
call fcn.180097378
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x38], rdi
xorps xmm0, xmm0
movdqa xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], 7
mov qword [rsp + 0x58], 8
mov dword [rsp + 0x20], 0x3f800000
mov r8, rax
lea edx, [rdi + 0x10]
lea rcx, [rsp + 0x38]
call fcn.18001ba90
nop
mov ebx, edi
movabs r13, 0x100000001b3
movabs r15, 0xcbf29ce484222325
nop dword [rax]
nop word [rax + rax]
lea rdx, [rbx + rsi]
shr rdx, 0xc
mov qword [rbp + 0x128], rdx
mov rax, rdx
shr rax, 8
movzx r8d, al
movzx eax, dl
xor rax, r15
imul rax, r13
xor r8, rax
imul r8, r13
mov rax, rdx
shr rax, 0x10
movzx ecx, al
xor r8, rcx
imul r8, r13
mov rax, rdx
shr rax, 0x18
movzx ecx, al
xor r8, rcx
imul r8, r13
mov rax, rdx
shr rax, 0x20
movzx ecx, al
xor r8, rcx
imul r8, r13
mov rax, rdx
shr rax, 0x28
movzx ecx, al
xor r8, rcx
imul r8, r13
mov rax, rdx
shr rax, 0x30
xor r8, rax
imul r8, r13
mov rax, rdx
shr rax, 0x38
xor r8, rax
imul r8, r13
and r8, qword [rsp + 0x50]
add r8, r8
mov rcx, qword [rsp + 0x38]
mov rax, qword [rcx + r8*8 + 8]
mov r9, qword [rsp + 0x28]
cmp rax, r9
je 0x18001e702
mov rcx, qword [rcx + r8*8]
cmp rdx, qword [rax + 0x10]
je 0x18001e705
cmp rax, rcx
je 0x18001e702
mov rax, qword [rax + 8]
cmp rdx, qword [rax + 0x10]
jne 0x18001e6f1
jmp 0x18001e705
mov rax, rdi
test rax, rax
je 0x18001e70f
cmp rax, r9
jne 0x18001e733
lea r8, [rbp + 0x128]
lea rdx, [rbp + 0x30]
lea rcx, [rsp + 0x20]
call fcn.180020600
mov rcx, qword [rax]
mov qword [rcx + 0x18], 0xffffffffffffffff
mov qword [rcx + 0x20], rdi
lea r8, [rbp + 0x128]
lea rdx, [rbp + 0x40]
lea rcx, [rsp + 0x20]
call fcn.180020600
mov rcx, qword [rax]
cmp rbx, qword [rcx + 0x18]
jae 0x18001e76d
lea r8, [rbp + 0x128]
lea rdx, [rbp + 0x50]
lea rcx, [rsp + 0x20]
call fcn.180020600
mov rcx, qword [rax]
mov qword [rcx + 0x18], rbx
lea r8, [rbp + 0x128]
lea rdx, [rbp + 0x60]
lea rcx, [rsp + 0x20]
call fcn.180020600
mov rcx, qword [rax]
cmp rbx, qword [rcx + 0x20]
jbe 0x18001e7a7
lea r8, [rbp + 0x128]
lea rdx, [rbp + 0x70]
lea rcx, [rsp + 0x20]
call fcn.180020600
mov rcx, qword [rax]
mov qword [rcx + 0x20], rbx
inc rbx
cmp rbx, 8
jb 0x18001e640
mov r15, qword [rsp + 0x68]
mov r13, qword [rbp + 0x110]
mov rdi, qword [rsp + 0x28]
mov rbx, qword [rdi]
cmp rbx, rdi
je 0x18001e80c
nop dword [rax]
mov rdx, qword [rbx + 0x18]
add rdx, rsi
mov rcx, r14
call fcn.18001d720
test rax, rax
je 0x18001e80c
lea rdx, [rsp + 0x78]
add rdx, qword [rbx + 0x18]
mov r8, qword [rbx + 0x20]
sub r8, qword [rbx + 0x18]
inc r8
mov rcx, rax
call qword [0x1801176f0]
mov rax, qword [rbx]
mov rbx, rax
cmp rax, rdi
jne 0x18001e7d0
lea rcx, [rsp + 0x20]
call fcn.18001dc70
mov rsi, qword [0x1801176d8]
mov r14, qword [0x1801176d0]
add rsi, r15
je 0x18001ea98
mov dword [rsp + 0x20], 0
xor edi, edi
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x30], rdi
lea ecx, [rdi + 0x28]
call fcn.180097378
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x38], rdi
xorps xmm0, xmm0
movdqa xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], 7
mov qword [rsp + 0x58], 8
mov dword [rsp + 0x20], 0x3f800000
mov r8, rax
lea edx, [rdi + 0x10]
lea rcx, [rsp + 0x38]
call fcn.18001ba90
nop
mov ebx, edi
movabs r13, 0x100000001b3
movabs r15, 0xcbf29ce484222325
nop dword [rax]
nop dword [rax + rax]
lea r8, [rsi + rbx]
shr r8, 0xc
mov qword [rbp + 0x128], r8
mov rax, r8
shr rax, 8
movzx edx, al
movzx eax, r8b
xor rax, r15
imul rax, r13
xor rdx, rax
imul rdx, r13
mov rax, r8
shr rax, 0x10
movzx ecx, al
xor rdx, rcx
imul rdx, r13
mov rax, r8
shr rax, 0x18
movzx ecx, al
xor rdx, rcx
imul rdx, r13
mov rax, r8
shr rax, 0x20
movzx ecx, al
xor rdx, rcx
imul rdx, r13
mov rax, r8
shr rax, 0x28
movzx ecx, al
xor rdx, rcx
imul rdx, r13
mov rax, r8
shr rax, 0x30
xor rdx, rax
imul rdx, r13
mov rax, r8
shr rax, 0x38
xor rdx, rax
imul rdx, r13
mov rcx, qword [rsp + 0x50]
and rcx, rdx
add rcx, rcx
mov rdx, qword [rsp + 0x38]
mov rax, qword [rdx + rcx*8 + 8]
mov r9, qword [rsp + 0x28]
cmp rax, r9
je 0x18001e975
mov rcx, qword [rdx + rcx*8]
cmp r8, qword [rax + 0x10]
je 0x18001e978
cmp rax, rcx
je 0x18001e975
mov rax, qword [rax + 8]
cmp r8, qword [rax + 0x10]
jne 0x18001e964
jmp 0x18001e978
mov rax, rdi
test rax, rax
je 0x18001e982
cmp rax, r9
jne 0x18001e9a9
lea r8, [rbp + 0x128]
lea rdx, [rbp + 0x80]
lea rcx, [rsp + 0x20]
call fcn.180020600
mov rcx, qword [rax]
mov qword [rcx + 0x18], 0xffffffffffffffff
mov qword [rcx + 0x20], rdi
lea r8, [rbp + 0x128]
lea rdx, [rbp + 0x90]
lea rcx, [rsp + 0x20]
call fcn.180020600
mov rcx, qword [rax]
cmp rbx, qword [rcx + 0x18]
jae 0x18001e9e9
lea r8, [rbp + 0x128]
lea rdx, [rbp + 0xa0]
lea rcx, [rsp + 0x20]
call fcn.180020600
mov rcx, qword [rax]
mov qword [rcx + 0x18], rbx
lea r8, [rbp + 0x128]
lea rdx, [rbp + 0xb0]
lea rcx, [rsp + 0x20]
call fcn.180020600
mov rcx, qword [rax]
cmp rbx, qword [rcx + 0x20]
jbe 0x18001ea29
lea r8, [rbp + 0x128]
lea rdx, [rbp + 0xc0]
lea rcx, [rsp + 0x20]
call fcn.180020600
mov rcx, qword [rax]
mov qword [rcx + 0x20], rbx
inc rbx
cmp rbx, 4
jb 0x18001e8b0
mov r15, qword [rsp + 0x68]
mov r13, qword [rbp + 0x110]
mov rdi, qword [rsp + 0x28]
mov rbx, qword [rdi]
cmp rbx, rdi
je 0x18001ea8e
nop
mov rdx, qword [rbx + 0x18]
add rdx, rsi
mov rcx, r14
call fcn.18001d720
test rax, rax
je 0x18001ea8e
lea rdx, [rbp + 0x120]
add rdx, qword [rbx + 0x18]
mov r8, qword [rbx + 0x20]
sub r8, qword [rbx + 0x18]
inc r8
mov rcx, rax
call qword [0x1801176f0]
mov rax, qword [rbx]
mov rbx, rax
cmp rax, rdi
jne 0x18001ea50
lea rcx, [rsp + 0x20]
call fcn.18001dc70
mov rax, qword [rsp + 0x70]
cmp qword [rsp + 0x78], rax
jne 0x18001eaad
test byte [rbp + 0x120], 4
je 0x18001eacb
cmp r12d, 0x2710
jae 0x18001ead9
inc r12d
mov rax, qword [rbp - 0x80]
cmp qword [rsp + 0x60], rax
je 0x18001ead9
xor edi, edi
jmp 0x18001e0ba
mov rax, qword [rbp - 0x78]
mov qword [r13], rax
mov qword [r13 + 8], r15
jmp 0x18001eae1
xorps xmm0, xmm0
movups xmmword [r13], xmm0
mov rax, r13
mov rbx, qword [rsp + 0x218]
add rsp, 0x1d0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret