Function at 0x18002a8a0
Capabilities:
Hash data using fnv

Disassembly:
push rbx
push rdi
push r12
push r13
sub rsp, 0x68
mov r12, qword [rsp + 0xb8]
mov rdi, rcx
movabs r8, 0x100000001b3
movzx edx, r12b
movabs rax, 0xcbf29ce484222325
movaps xmmword [rsp + 0x50], xmm6
xor rdx, rax
movaps xmmword [rsp + 0x40], xmm7
imul rdx, r8
movaps xmm6, xmm2
movaps xmm7, xmm1
mov rax, r12
movzx r13d, r9b
shr rax, 8
lea r9, [rcx + 0x1c8]
movzx ecx, al
xor ebx, ebx
xor rdx, rcx
mov rax, r12
imul rdx, r8
shr rax, 0x10
movzx ecx, al
mov rax, r12
xor rdx, rcx
shr rax, 0x18
imul rdx, r8
movzx ecx, al
mov rax, r12
xor rdx, rcx
shr rax, 0x20
imul rdx, r8
movzx ecx, al
mov rax, r12
xor rdx, rcx
shr rax, 0x28
imul rdx, r8
movzx ecx, al
mov rax, r12
xor rdx, rcx
shr rax, 0x30
imul rdx, r8
movzx ecx, al
mov rax, r12
xor rdx, rcx
shr rax, 0x38
mov rcx, qword [rdi + 0x1f8]
imul rdx, r8
xor rdx, rax
imul rdx, r8
mov r8, qword [rdi + 0x1e0]
and rcx, rdx
mov rdx, qword [rdi + 0x1d0]
add rcx, rcx
mov rax, qword [r8 + rcx*8 + 8]
cmp rax, rdx
je 0x18002a9a6
mov rcx, qword [r8 + rcx*8]
cmp r12, qword [rax + 0x10]
je 0x18002a9a8
cmp rax, rcx
je 0x18002a9a6
mov rax, qword [rax + 8]
cmp r12, qword [rax + 0x10]
jne 0x18002a995
jmp 0x18002a9a8
xor eax, eax
test rax, rax
cmove rax, rdx
cmp qword [rdi + 0x1d8], rbx
jbe 0x18002a9ce
cmp rax, rdx
je 0x18002a9ce
mov rbx, qword [rax + 0x18]
test rbx, rbx
je 0x18002a9ce
mov rax, rbx
jmp 0x18002ac1a
mov qword [rsp + 0x90], rbp
movzx ebp, byte [rsp + 0xb0]
mov qword [rsp + 0x60], r15
mov r15d, 0xffffffff
test rbx, rbx
jne 0x18002aba5
mov rbx, qword [rdi + 0x80]
test rbx, rbx
je 0x18002aa0b
cmp dword [rbx + 0x288], 2
je 0x18002aba5
mov rbx, qword [rdi + 0x90]
test rbx, rbx
je 0x18002aa24
cmp byte [rbx + 0x261], 0
jne 0x18002aba5
mov rbx, qword [rdi + 0x60]
xorps xmm1, xmm1
test rbx, rbx
je 0x18002aa83
movss xmm2, dword [rbx + 0x18]
ucomiss xmm2, xmm1
jp 0x18002aa60
jne 0x18002aa60
movss xmm0, dword [rbx + 0x1c]
ucomiss xmm0, xmm1
jp 0x18002aa60
jne 0x18002aa60
movss xmm0, dword [rbx + 0x20]
ucomiss xmm0, xmm1
jp 0x18002aa60
jne 0x18002aa60
movss xmm0, dword [rbx + 0x24]
ucomiss xmm0, xmm1
jp 0x18002aa60
je 0x18002aa83
comiss xmm7, xmm2
jb 0x18002aa83
movss xmm0, dword [rbx + 0x20]
comiss xmm0, xmm7
jbe 0x18002aa83
comiss xmm6, dword [rbx + 0x1c]
jb 0x18002aa83
movss xmm0, dword [rbx + 0x24]
comiss xmm0, xmm6
ja 0x18002aba5
mov rbx, qword [rdi + 0x88]
test rbx, rbx
je 0x18002aae2
movss xmm2, dword [rbx + 0x18]
ucomiss xmm2, xmm1
jp 0x18002aabf
jne 0x18002aabf
movss xmm0, dword [rbx + 0x1c]
ucomiss xmm0, xmm1
jp 0x18002aabf
jne 0x18002aabf
movss xmm0, dword [rbx + 0x20]
ucomiss xmm0, xmm1
jp 0x18002aabf
jne 0x18002aabf
movss xmm0, dword [rbx + 0x24]
ucomiss xmm0, xmm1
jp 0x18002aabf
je 0x18002aae2
comiss xmm7, xmm2
jb 0x18002aae2
movss xmm0, dword [rbx + 0x20]
comiss xmm0, xmm7
jbe 0x18002aae2
comiss xmm6, dword [rbx + 0x1c]
jb 0x18002aae2
movss xmm0, dword [rbx + 0x24]
comiss xmm0, xmm6
ja 0x18002aba5
mov qword [rsp + 0x98], rsi
mov qword [rsp + 0xa0], r14
test bpl, bpl
je 0x18002ab04
cmp byte [rdi + 0x24c], 0
je 0x18002ab8c
mov eax, dword [rdi + 0x14]
shr eax, 3
lea esi, [rax - 1]
cmp esi, ebp
jl 0x18002ab8c
mov ebx, eax
dec rbx
movsxd rax, dword [rdi + 0x14]
test eax, eax
je 0x18002ab36
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x18002ab36
shr rax, 3
cmp rbx, rax
jae 0x18002ab36
mov rcx, qword [rcx + rbx*8]
jmp 0x18002ab38
xor ecx, ecx
cmp byte [rcx + 0xdd], 0
jne 0x18002ab83
cmp byte [rcx + 0xe3], 0
jne 0x18002ab83
cmp byte [rcx + 0xde], 0
je 0x18002ab6c
test bpl, bpl
je 0x18002ab61
movzx eax, byte [rcx + 0xe1]
jmp 0x18002ab68
movzx eax, byte [rcx + 0xe2]
test al, al
je 0x18002ab83
mov rax, qword [rcx]
movaps xmm2, xmm6
movaps xmm1, xmm7
call qword [rax + 0x150]
test al, al
jne 0x18002ac2f
dec esi
dec rbx
cmp esi, ebp
jge 0x18002ab16
xor ebx, ebx
mov r14, qword [rsp + 0xa0]
lea r9, [rdi + 0x1c8]
mov rsi, qword [rsp + 0x98]
test r13b, r13b
je 0x18002abfe
test rbx, rbx
je 0x18002abfe
cmp byte [rdi + 0x253], 0
je 0x18002abe2
mov rcx, qword [rdi + 0x1d0]
mov rax, qword [rcx]
cmp rax, rcx
je 0x18002abe2
nop word [rax + rax]
cmp qword [rax + 0x18], rbx
je 0x18002ac69
mov rax, qword [rax]
cmp rax, rcx
jne 0x18002abd0
lea r8, [rsp + 0x20]
mov qword [rsp + 0x20], r12
lea rdx, [rsp + 0x30]
mov qword [rsp + 0x28], rbx
mov rcx, r9
call fcn.180032a20
test bpl, bpl
je 0x18002ac0a
mov dword [rdi + 0x234], r15d
mov rax, rbx
mov rbp, qword [rsp + 0x90]
mov r15, qword [rsp + 0x60]
movaps xmm6, xmmword [rsp + 0x50]
movaps xmm7, xmmword [rsp + 0x40]
add rsp, 0x68
pop r13
pop r12
pop rdi
pop rbx
ret
movsxd r15, esi
test esi, esi
js 0x18002ab8c
movsxd rax, dword [rdi + 0x14]
test eax, eax
je 0x18002ab8c
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x18002ab8c
shr rax, 3
cmp r15, rax
jae 0x18002ab8c
mov rbx, qword [rcx + r15*8]
jmp 0x18002ab8e
cmp byte [rbx + 0xe5], 0
jne 0x18002abe2
xor eax, eax
jmp 0x18002ac0d