Function at 0x14004ab20
Capabilities:
Hash data using fnv

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x68]
sub rsp, 0x130
vmovaps xmmword [rax - 0x48], xmm6
vmovaps xmmword [rax - 0x58], xmm7
vmovaps xmmword [rax - 0x68], xmm8
vmovaps xmmword [rax - 0x78], xmm9
vmovaps xmmword [rax - 0x88], xmm10
vmovaps xmmword [rax - 0x98], xmm11
vmovaps xmmword [rax - 0xa8], xmm12
vmovaps xmmword [rax - 0xb8], xmm13
vmovaps xmmword [rax - 0xc8], xmm14
vmovaps xmmword [rax - 0xd8], xmm15
mov rax, qword [0x140088040]
xor rax, rsp
mov qword [rbp - 0x80], rax
mov r15, rdx
mov rsi, rcx
mov rbx, qword [0x140092630]
mov rax, qword [rbx + 0x3ec8]
mov byte [rax + 0xb8], 1
mov r14, qword [rbx + 0x3ec8]
cmp byte [r14 + 0xbb], 0
je 0x14004abc2
xor al, al
jmp 0x14004b2c7
lea r12, [rbx + 0x37f4]
mov qword [rsp + 0x48], r12
movsxd r8, dword [r14 + 0xf0]
mov rax, qword [r14 + 0xf8]
mov r8d, dword [rax + r8*4 - 4]
xor edx, edx
call fcn.140019350
mov edi, eax
mov dword [rsp + 0x58], edi
mov rcx, qword [r14]
cmp dword [rcx + 0x3f10], eax
jne 0x14004ac0f
mov r8, rsi
mov edx, 0xb
mov ecx, edi
call fcn.140030ed0
mov rbx, qword [0x140092630]
mov rcx, rsi
cmp rsi, 0xffffffffffffffff
jae 0x14004ac35
movzx edx, byte [rcx]
test dl, dl
je 0x14004ac35
lea rax, [rcx + 1]
cmp dl, 0x23
jne 0x14004ac2c
cmp byte [rax], dl
je 0x14004ac35
mov rcx, rax
cmp rax, 0xffffffffffffffff
jb 0x14004ac18
vmovss xmm14, dword [rbx + 0x3c28]
vxorps xmm13, xmm13, xmm13
cmp rsi, rcx
jne 0x14004ac4e
vxorps xmm15, xmm15, xmm15
jmp 0x14004ac9d
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rsi
vmovss xmm0, dword [0x14007b150]
vmovss dword [rsp + 0x20], xmm0
vmovaps xmm2, xmm14
lea rdx, [rsp + 0x50]
mov rcx, qword [rbx + 0x3c20]
call fcn.140040f50
vmovss xmm0, dword [rsp + 0x50]
vaddss xmm1, xmm0, dword [0x14007af64]
vcvttss2si eax, xmm1
vxorps xmm15, xmm15, xmm15
vcvtsi2ss xmm15, xmm15, eax
vmovss xmm14, dword [rsp + 0x54]
vmovss xmm5, dword [r14 + 0x100]
vmovss xmm3, dword [r14 + 0x104]
vaddss xmm4, xmm3, dword [0x14007b08c]
vaddss xmm1, xmm5, dword [0x14007b08c]
vmovss dword [rsp + 0x60], xmm5
vmovss dword [rsp + 0x64], xmm3
vmovss dword [rsp + 0x68], xmm1
vmovss dword [rsp + 0x6c], xmm4
vaddss xmm1, xmm15, dword [r12 + 0x54]
vaddss xmm0, xmm5, dword [0x14007b094]
vaddss xmm2, xmm1, xmm0
vmovss dword [rsp + 0x70], xmm5
vmovss dword [rsp + 0x74], xmm3
vmovss dword [rsp + 0x78], xmm2
vmovss dword [rsp + 0x7c], xmm4
xor r9d, r9d
lea r8, [rsp + 0x60]
mov edx, edi
lea rcx, [rsp + 0x70]
call fcn.140028cd0
vmovss xmm0, dword [rsp + 0x7c]
vsubss xmm4, xmm0, dword [rsp + 0x74]
vmovss xmm2, dword [rsp + 0x78]
vsubss xmm3, xmm2, dword [rsp + 0x70]
vmovss dword [rsp + 0x50], xmm3
vmovss dword [rsp + 0x54], xmm4
vmovss xmm1, dword [r12 + 0x40]
lea rcx, [rsp + 0x50]
call fcn.140028b60
xor ebx, ebx
mov dword [rsp + 0x20], ebx
lea r9, [rsp + 0x40]
lea r8, [rsp + 0x41]
mov edx, edi
lea rcx, [rsp + 0x70]
call fcn.140048f40
mov byte [rsp + 0x40], al
test al, al
je 0x14004ad9d
cmp byte [r15], bl
sete cl
mov byte [r15], cl
mov rcx, qword [0x140092630]
mov edx, dword [rcx + 0x3f28]
cmp edx, edi
je 0x14004ad8d
test edx, edx
jne 0x14004ad96
mov word [rcx + 0x3f38], 0x101
or dword [rcx + 0x476c], 4
mov ecx, 4
mov rax, qword gs:[0x58]
mov rax, qword [rax]
vmovss xmm6, dword [0x14007af6c]
mov eax, dword [rcx + rax]
cmp dword [0x140093d50], eax
jle 0x14004ae82
lea rcx, [0x140093d50]
call fcn.140068288
cmp dword [0x140093d50], 0xffffffff
jne 0x14004ae82
vpxor xmm0, xmm0, xmm0
vmovups ymmword [0x140093da0], ymm0
vmovups ymmword [0x140093dc0], ymm0
vmovss dword [0x140093da0], xmm13
mov qword [0x140093da8], rbx
mov qword [0x140093db0], rbx
mov ecx, 0x18
vzeroupper
call fcn.140068300
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [0x140093da8], rax
mov qword [0x140093db8], rbx
vpxor xmm0, xmm0, xmm0
vmovdqu xmmword [0x140093dc0], xmm0
mov qword [0x140093dd0], 7
mov qword [0x140093dd8], 8
vmovss dword [0x140093da0], xmm6
mov r8, rax
mov edx, 0x10
lea rcx, [0x140093db8]
call fcn.140011ab0
nop
lea rcx, [0x14006eab0]
call fcn.140068634
nop
lea rcx, [0x140093d50]
call fcn.14006821c
movzx ecx, dil
movabs rax, 0xcbf29ce484222325
xor rcx, rax
movabs rdx, 0x100000001b3
imul rcx, rdx
movzx r12d, byte [rsp + 0x59]
xor rcx, r12
imul rcx, rdx
movzx r13d, byte [rsp + 0x5a]
xor rcx, r13
imul rcx, rdx
movzx eax, byte [rsp + 0x5b]
xor rcx, rax
imul rcx, rdx
and rcx, qword [0x140093dd0]
add rcx, rcx
mov rdx, qword [0x140093db8]
mov rax, qword [rdx + rcx*8 + 8]
mov r8, qword [0x140093da8]
cmp rax, r8
je 0x14004af02
mov rdx, qword [rdx + rcx*8]
cmp edi, dword [rax + 0x10]
je 0x14004af05
cmp rax, rdx
je 0x14004af02
mov rax, qword [rax + 8]
cmp edi, dword [rax + 0x10]
jne 0x14004aef2
jmp 0x14004af05
mov rax, rbx
mov rbx, r8
test rax, rax
cmovne rbx, rax
cmp rbx, r8
jne 0x14004afca
mov dword [rsp + 0x50], edi
vmovss dword [rsp + 0x54], xmm13
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x70]
lea rcx, [0x140093da0]
call fcn.1400170a0
movzx ecx, dil
movabs rax, 0xcbf29ce484222325
xor rcx, rax
movabs rdx, 0x100000001b3
imul rcx, rdx
xor rcx, r12
imul rcx, rdx
xor rcx, r13
imul rcx, rdx
movzx eax, byte [rsp + 0x5b]
xor rcx, rax
imul rcx, rdx
and rcx, qword [0x140093dd0]
add rcx, rcx
mov rdx, qword [0x140093db8]
mov rax, qword [rdx + rcx*8 + 8]
mov rbx, qword [0x140093da8]
cmp rax, rbx
jne 0x14004afa2
xor r13d, r13d
mov eax, r13d
test rax, rax
cmovne rbx, rax
jmp 0x14004afcd
mov rdx, qword [rdx + rcx*8]
cmp edi, dword [rax + 0x10]
je 0x14004afbe
nop dword [rax + rax]
cmp rax, rdx
je 0x14004af93
mov rax, qword [rax + 8]
cmp edi, dword [rax + 0x10]
jne 0x14004afb0
xor r13d, r13d
test rax, rax
cmovne rbx, rax
jmp 0x14004afcd
xor r13d, r13d
vmovss xmm3, dword [rbx + 0x14]
vmovd xmm1, r13d
movzx eax, byte [r15]
vmovd xmm0, eax
vpcmpeqd xmm2, xmm0, xmm1
vblendvps xmm0, xmm6, xmm13, xmm2
vsubss xmm1, xmm0, xmm3
vfmadd231ss xmm3, xmm1, dword [0x14007aef0]
vmovss dword [rbx + 0x14], xmm3
lea rcx, [rsp + 0x70]
cmp byte [rsp + 0x41], 0
je 0x14004b011
vmovdqu xmm0, xmmword [0x14007b3b0]
jmp 0x14004b019
vmovdqu xmm0, xmmword [0x14007b380]
vmovups xmmword [rsp + 0x70], xmm0
vmovss xmm10, dword [rsp + 0x68]
vmovss dword [rsp + 0x50], xmm10
vmovss xmm7, dword [rsp + 0x6c]
vmovss dword [rsp + 0x54], xmm7
vmovss xmm11, dword [rsp + 0x60]
vmovss dword [rsp + 0x58], xmm11
vmovss xmm8, dword [rsp + 0x64]
vmovss dword [rsp + 0x5c], xmm8
mov rax, qword [0x140092630]
mov r10, qword [rax + 0x3ec8]
call fcn.1400198e0
mov r9d, eax
mov dword [rsp + 0x28], r13d
vmovss xmm12, dword [0x14007afe0]
vmovss dword [rsp + 0x20], xmm12
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x58]
mov rcx, qword [r10 + 0x2a0]
call fcn.14003c570
mov rdi, qword [r14 + 0x2a0]
vmovss dword [rsp + 0x60], xmm6
vmovss dword [rsp + 0x64], xmm6
vmovss dword [rsp + 0x68], xmm6
mov r12, qword [rsp + 0x48]
vmovss xmm0, dword [r12]
vmulss xmm0, xmm0, dword [0x14007aee4]
vmovss dword [rsp + 0x6c], xmm0
lea rcx, [rsp + 0x60]
call fcn.1400198e0
mov r15d, eax
vmovss xmm9, dword [0x14007af30]
test eax, 0xff000000
je 0x14004b168
mov dword [rsp + 0x20], r13d
vmovaps xmm3, xmm12
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x58]
mov rcx, rdi
test byte [rdi + 0x30], 1
je 0x14004b109
vsubss xmm0, xmm10, xmm9
vsubss xmm1, xmm7, xmm9
jmp 0x14004b119
vsubss xmm0, xmm10, dword [0x14007af2c]
vsubss xmm1, xmm7, dword [0x14007af2c]
vmovss dword [rsp + 0x50], xmm0
vmovss dword [rsp + 0x54], xmm1
vaddss xmm0, xmm11, xmm9
vaddss xmm1, xmm8, xmm9
vmovss dword [rsp + 0x58], xmm0
vmovss dword [rsp + 0x5c], xmm1
call fcn.14003bec0
vmovss dword [rsp + 0x28], xmm6
mov dword [rsp + 0x20], 1
mov r9d, r15d
mov r8d, dword [rdi + 0x78]
mov rdx, qword [rdi + 0x80]
mov rcx, rdi
call fcn.14003a120
mov dword [rdi + 0x78], r13d
vxorps xmm0, xmm0, xmm0
vcvtsi2ss xmm0, xmm0, dword [0x140090968]
vmovss xmm3, dword [0x14007aeb4]
vmulss xmm0, xmm0, xmm3
vmovss dword [rsp + 0x60], xmm0
vxorps xmm1, xmm1, xmm1
vcvtsi2ss xmm1, xmm1, dword [0x14009096c]
vmulss xmm2, xmm1, xmm3
vmovss dword [rsp + 0x64], xmm2
vxorps xmm0, xmm0, xmm0
vcvtsi2ss xmm0, xmm0, dword [0x140090970]
vmulss xmm1, xmm0, xmm3
vmovss dword [rsp + 0x68], xmm1
vmovss xmm2, dword [r12]
vmulss xmm0, xmm2, dword [rbx + 0x14]
vmovss dword [rsp + 0x6c], xmm0
vmovss dword [rsp + 0x50], xmm10
vmovss dword [rsp + 0x54], xmm7
vmovss dword [rsp + 0x58], xmm11
vmovss dword [rsp + 0x5c], xmm8
mov rax, qword [0x140092630]
mov r10, qword [rax + 0x3ec8]
lea rcx, [rsp + 0x60]
call fcn.1400198e0
mov r9d, eax
mov dword [rsp + 0x28], r13d
vmovss dword [rsp + 0x20], xmm12
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x58]
mov rcx, qword [r10 + 0x2a0]
call fcn.14003c570
mov rax, qword [0x140092630]
vmovups xmm2, xmmword [rax + 0x39f0]
vmovups xmmword [rsp + 0x60], xmm2
vmovss xmm0, dword [rax + 0x37f4]
vmulss xmm1, xmm0, dword [rbx + 0x14]
vshufps xmm2, xmm2, xmm2, 0xff
vmulss xmm0, xmm2, xmm1
vmovss dword [rsp + 0x6c], xmm0
vaddss xmm1, xmm8, xmm7
vmulss xmm8, xmm1, xmm9
vaddss xmm0, xmm11, xmm10
vmovaps xmm7, xmm9
vfmsub213ss xmm7, xmm0, dword [0x14007b02c]
vsubss xmm6, xmm8, dword [0x14007b02c]
lea rcx, [rsp + 0x60]
call fcn.1400198e0
mov r8d, eax
vunpcklps xmm0, xmm7, xmm6
vmovq rdx, xmm0
mov rcx, qword [r14 + 0x2a0]
call fcn.140041c80
vaddss xmm0, xmm10, dword [r12 + 0x54]
vaddss xmm2, xmm0, xmm12
vmovaps xmm1, xmm8
vfnmadd231ss xmm1, xmm14, xmm9
vcomiss xmm15, xmm13
jbe 0x14004b2c2
mov r9b, 1
xor r8d, r8d
mov rdx, rsi
vunpcklps xmm0, xmm2, xmm1
vmovq rcx, xmm0
call fcn.14001a270
movzx eax, byte [rsp + 0x40]
mov rcx, qword [rbp - 0x80]
xor rcx, rsp
call fcn.1400681c0
lea r11, [rsp + 0x130]
mov rbx, qword [r11 + 0x50]
vmovaps xmm6, xmmword [r11 - 0x10]
vmovaps xmm7, xmmword [r11 - 0x20]
vmovaps xmm8, xmmword [r11 - 0x30]
vmovaps xmm9, xmmword [r11 - 0x40]
vmovaps xmm10, xmmword [r11 - 0x50]
vmovaps xmm11, xmmword [r11 - 0x60]
vmovaps xmm12, xmmword [r11 - 0x70]
vmovaps xmm13, xmmword [r11 - 0x80]
vmovaps xmm14, xmmword [r11 - 0x90]
vmovaps xmm15, xmmword [r11 - 0xa0]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret