Function at 0x140131790
Capabilities:
Hash data using fnv

Disassembly:
mov rax, rsp
push rbx
push rbp
push rsi
push rdi
push r14
sub rsp, 0x130
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
movaps xmmword [rax - 0xc8], xmm14
movaps xmmword [rax - 0xd8], xmm15
mov rax, qword [0x14068af40]
xor rax, rsp
mov qword [rsp + 0x78], rax
mov rsi, qword [rsp + 0x198]
movaps xmm8, xmm2
movss xmm7, dword [rsp + 0x1a0]
mov rdi, rdx
mov rbx, qword [rsp + 0x190]
mov rbp, rcx
movss dword [rsp + 0x40], xmm7
mov qword [rsp + 0x58], rdx
mov qword [rsp + 0x50], rsi
test rsi, rsi
jne 0x140131818
mov rsi, 0xffffffffffffffff
inc rsi
cmp byte [rbx + rsi], 0
jne 0x140131807
add rsi, rbx
mov qword [rsp + 0x50], rsi
cvttss2si eax, dword [r9]
mov r14, qword [rsp + 0x188]
movd xmm14, eax
cvttss2si eax, dword [r9 + 4]
cvtdq2ps xmm14, xmm14
movd xmm15, eax
cvtdq2ps xmm15, xmm15
comiss xmm15, dword [r14 + 0xc]
ja 0x140132182
mov qword [rsp + 0x120], r15
xorps xmm0, xmm0
movaps xmmword [rsp + 0x110], xmm6
movaps xmm6, xmm14
movaps xmmword [rsp + 0xe0], xmm9
movss xmm9, dword [rcx + 0x14]
divss xmm8, xmm9
comiss xmm7, xmm0
movss xmm0, dword [r14 + 4]
mulss xmm9, xmm8
seta r15b
movss dword [rsp + 0x3c], xmm6
movss dword [rsp + 0x34], xmm8
movaps xmm1, xmm9
movss dword [rsp + 0x48], xmm9
addss xmm1, xmm15
mov byte [rsp + 0x30], r15b
comiss xmm0, xmm1
jbe 0x14013193e
cmp rbx, rsi
jae 0x14013193e
mov r8, rsi
mov edx, 0xa
sub r8, rbx
mov rcx, rbx
call fcn.1404112a7
test r15b, r15b
je 0x140131915
test rax, rax
movss dword [rsp + 0x20], xmm7
mov r9, rsi
mov r8, rbx
cmovne r9, rax
movaps xmm1, xmm8
mov rcx, rbp
call fcn.1401313e0
mov rbx, rax
cmp rax, rsi
jae 0x14013190b
movzx eax, byte [rbx]
cmp al, 0x20
je 0x140131903
cmp al, 9
jne 0x14013190b
inc rbx
cmp rbx, rsi
jb 0x1401318f8
cmp byte [rbx], 0xa
jne 0x140131921
inc rbx
jmp 0x140131921
lea rbx, [rax + 1]
test rax, rax
jne 0x140131921
mov rbx, rsi
movss xmm0, dword [r14 + 4]
addss xmm15, xmm9
movaps xmm1, xmm9
addss xmm1, xmm15
comiss xmm0, xmm1
ja 0x1401318b0
mov rax, rsi
sub rax, rbx
cmp rax, 0x2710
jle 0x1401319a7
test r15b, r15b
jne 0x1401319a7
movss xmm7, dword [r14 + 0xc]
mov rax, rbx
comiss xmm7, xmm15
movaps xmm6, xmm15
jbe 0x140131993
cmp rax, rsi
jae 0x140131993
mov r8, rsi
mov edx, 0xa
sub r8, rax
mov rcx, rax
call fcn.1404112a7
test rax, rax
je 0x140131986
inc rax
jmp 0x140131989
mov rax, rsi
addss xmm6, xmm9
comiss xmm7, xmm6
ja 0x140131964
movss xmm6, dword [rsp + 0x3c]
mov rsi, rax
movss xmm7, dword [rsp + 0x40]
mov qword [rsp + 0x50], rax
cmp rbx, rsi
je 0x140132169
mov eax, dword [rdi + 0x10]
mov r8d, esi
sub r8d, ebx
mov qword [rsp + 0x178], r12
mov rcx, rdi
mov qword [rsp + 0x128], r13
lea edx, [r8 + r8*2]
shl edx, 2
lea r8d, [r8*8]
add eax, edx
mov dword [rsp + 0x44], eax
call fcn.14012c4d0
mov eax, dword [rsp + 0x180]
mov r8, rdi
mov rdi, qword [rdi + 0x40]
or eax, 0xffffff
xor r13d, r13d
mov dword [rsp + 0x38], eax
mov r15, qword [r8 + 0x48]
mov r12d, dword [r8 + 0x34]
cmp rbx, rsi
jae 0x140132106
movaps xmmword [rsp + 0xd0], xmm10
movaps xmmword [rsp + 0xc0], xmm11
movaps xmmword [rsp + 0xb0], xmm12
movaps xmmword [rsp + 0xa0], xmm13
movss xmm13, dword [rsp + 0x44]
nop dword [rax]
cmp byte [rsp + 0x30], 0
je 0x140131abb
test r13, r13
jne 0x140131a76
movaps xmm1, xmm14
movaps xmm0, xmm7
subss xmm1, xmm6
mov r9, rsi
mov r8, rbx
mov rcx, rbp
subss xmm0, xmm1
movaps xmm1, xmm8
movss dword [rsp + 0x20], xmm0
call fcn.1401313e0
mov r13, rax
cmp rbx, r13
jb 0x140131abb
addss xmm15, xmm9
movaps xmm14, xmm6
comiss xmm15, dword [r14 + 0xc]
ja 0x1401320dd
xor r13d, r13d
cmp rbx, rsi
jae 0x140131aaa
movzx eax, byte [rbx]
cmp al, 0x20
je 0x140131aa2
cmp al, 9
jne 0x140131aaa
inc rbx
cmp rbx, rsi
jb 0x140131a97
cmp byte [rbx], 0xa
jne 0x1401320c1
inc rbx
jmp 0x1401320c1
movsx ecx, byte [rbx]
mov dword [rsp + 0x70], ecx
cmp ecx, 0x80
jae 0x140131acf
inc rbx
jmp 0x140131ae9
mov r8, rsi
lea rcx, [rsp + 0x70]
mov rdx, rbx
call fcn.140111e20
movsxd rcx, eax
add rbx, rcx
mov ecx, dword [rsp + 0x70]
cmp ecx, 0x20
jae 0x140131b15
cmp ecx, 0xa
jne 0x140131b0c
addss xmm15, xmm9
movaps xmm14, xmm6
comiss xmm15, dword [r14 + 0xc]
ja 0x1401320dd
jmp 0x1401320c1
cmp ecx, 0xd
je 0x1401320c1
movabs r8, 0x100000001b3
movzx edx, cl
movabs rax, 0xcbf29ce484222325
xor rdx, rax
movzx eax, byte [rsp + 0x71]
imul rdx, r8
xor rdx, rax
movzx eax, byte [rsp + 0x72]
imul rdx, r8
xor rdx, rax
movzx eax, byte [rsp + 0x73]
imul rdx, r8
xor rdx, rax
imul rdx, r8
mov r8, qword [0x140693638]
and rdx, qword [0x140693650]
add rdx, rdx
mov rax, qword [r8 + rdx*8 + 8]
cmp rax, qword [0x140693628]
je 0x140131b90
mov r8, qword [r8 + rdx*8]
cmp ecx, dword [rax + 0x10]
je 0x140131b92
nop
cmp rax, r8
je 0x140131b90
mov rax, qword [rax + 8]
cmp ecx, dword [rax + 0x10]
jne 0x140131b80
jmp 0x140131b92
xor eax, eax
test rax, rax
jne 0x140131df7
movsxd rax, dword [rbp + 0x18]
mov edx, ecx
cmp rdx, rax
jb 0x140131bac
mov rax, qword [rbp + 0x38]
jmp 0x140131bca
mov rax, qword [rbp + 0x20]
mov ecx, dword [rax + rdx*4]
cmp ecx, 0xffffffff
jne 0x140131bbe
mov rax, qword [rbp + 0x38]
jmp 0x140131bca
mov rax, qword [rbp + 0x30]
lea rcx, [rcx + rcx*4]
lea rax, [rax + rcx*8]
test rax, rax
je 0x1401320c1
mov ecx, dword [rax]
movaps xmm13, xmm8
mulss xmm13, dword [rax + 4]
test cl, 2
je 0x1401320b5
movss xmm12, dword [r14 + 8]
movaps xmm6, xmm8
mulss xmm6, dword [rax + 8]
movaps xmm3, xmm8
mulss xmm3, dword [rax + 0x10]
movaps xmm5, xmm8
mulss xmm5, dword [rax + 0xc]
addss xmm6, xmm14
movaps xmm4, xmm8
addss xmm3, xmm14
mulss xmm4, dword [rax + 0x14]
comiss xmm12, xmm6
addss xmm5, xmm15
addss xmm4, xmm15
jb 0x1401320b5
movss xmm7, dword [r14]
comiss xmm3, xmm7
jb 0x1401320b5
cmp byte [rsp + 0x1a8], 0
movss xmm10, dword [rax + 0x18]
movss xmm11, dword [rax + 0x1c]
movss xmm8, dword [rax + 0x20]
movss xmm9, dword [rax + 0x24]
je 0x140131d48
comiss xmm7, xmm6
jbe 0x140131c9c
movss xmm1, dword [0x14064c0ac]
movaps xmm0, xmm3
subss xmm0, xmm6
movaps xmm2, xmm3
subss xmm2, xmm7
movaps xmm6, xmm7
divss xmm2, xmm0
movaps xmm0, xmm8
subss xmm0, xmm10
subss xmm1, xmm2
mulss xmm1, xmm0
addss xmm10, xmm1
movss xmm7, dword [r14 + 4]
comiss xmm7, xmm5
jbe 0x140131cda
movss xmm1, dword [0x14064c0ac]
movaps xmm0, xmm4
subss xmm0, xmm5
movaps xmm2, xmm4
subss xmm2, xmm7
movaps xmm5, xmm7
divss xmm2, xmm0
movaps xmm0, xmm9
subss xmm0, xmm11
subss xmm1, xmm2
mulss xmm1, xmm0
addss xmm11, xmm1
comiss xmm3, xmm12
jbe 0x140131d0b
movaps xmm0, xmm8
subss xmm3, xmm6
movaps xmm1, xmm12
subss xmm0, xmm10
subss xmm1, xmm6
divss xmm1, xmm3
movaps xmm3, xmm12
movaps xmm8, xmm1
mulss xmm8, xmm0
addss xmm8, xmm10
movss xmm2, dword [r14 + 0xc]
comiss xmm4, xmm2
jbe 0x140131d3f
movaps xmm0, xmm9
subss xmm4, xmm5
movaps xmm1, xmm2
subss xmm0, xmm11
subss xmm1, xmm5
divss xmm1, xmm4
movaps xmm4, xmm2
movaps xmm9, xmm1
mulss xmm9, xmm0
addss xmm9, xmm11
comiss xmm5, xmm4
jae 0x1401320b5
mov eax, dword [rsp + 0x180]
test cl, 1
movss dword [rdi], xmm6
cmovne eax, dword [rsp + 0x38]
mov dword [rdi + 0x10], eax
mov dword [rdi + 0x24], eax
mov dword [rdi + 0x38], eax
mov dword [rdi + 0x4c], eax
lea eax, [r12 + 1]
movss dword [rdi + 4], xmm5
movss dword [rdi + 8], xmm10
movss dword [rdi + 0xc], xmm11
movss dword [rdi + 0x14], xmm3
movss dword [rdi + 0x18], xmm5
movss dword [rdi + 0x1c], xmm8
movss dword [rdi + 0x20], xmm11
movss dword [rdi + 0x28], xmm3
movss dword [rdi + 0x2c], xmm4
movss dword [rdi + 0x30], xmm8
movss dword [rdi + 0x34], xmm9
movss dword [rdi + 0x3c], xmm6
movss dword [rdi + 0x40], xmm4
movss dword [rdi + 0x44], xmm10
movss dword [rdi + 0x48], xmm9
add rdi, 0x50
mov word [r15 + 2], ax
lea eax, [r12 + 2]
mov word [r15 + 4], ax
mov word [r15 + 8], ax
lea eax, [r12 + 3]
mov word [r15], r12w
mov word [r15 + 6], r12w
add r12d, 4
mov word [r15 + 0xa], ax
add r15, 0xc
jmp 0x1401320b5
lea r8, [rsp + 0x70]
lea rdx, [rsp + 0x60]
call fcn.1401332f0
xor r8d, r8d
mov r9, qword [rax]
mov rax, qword [r9 + 0x20]
sub rax, qword [r9 + 0x18]
sar rax, 2
test rax, rax
je 0x1401320b5
mov r10d, dword [rsp + 0x70]
mov esi, dword [rsp + 0x38]
nop word [rax + rax]
movsxd rax, dword [rbp + 0x18]
lea ecx, [r8 + r10]
cmp rcx, rax
jb 0x140131e43
mov rax, qword [rbp + 0x38]
jmp 0x140131e61
mov rax, qword [rbp + 0x20]
mov edx, dword [rax + rcx*4]
cmp edx, 0xffffffff
jne 0x140131e55
mov rax, qword [rbp + 0x38]
jmp 0x140131e61
mov rax, qword [rbp + 0x30]
lea rcx, [rdx + rdx*4]
lea rax, [rax + rcx*8]
test rax, rax
je 0x140132098
mov ecx, dword [rax]
movaps xmm13, xmm8
mulss xmm13, dword [rax + 4]
test cl, 2
je 0x140132098
movaps xmm7, xmm8
movaps xmm3, xmm8
mulss xmm7, dword [rax + 8]
movaps xmm6, xmm8
mulss xmm3, dword [rax + 0x10]
movaps xmm4, xmm8
mulss xmm6, dword [rax + 0xc]
addss xmm7, xmm14
mulss xmm4, dword [rax + 0x14]
addss xmm3, xmm14
movss xmm8, dword [r14 + 8]
addss xmm6, xmm15
comiss xmm8, xmm7
addss xmm4, xmm15
jb 0x140132091
movss xmm5, dword [r14]
comiss xmm3, xmm5
jb 0x140132091
cmp byte [rsp + 0x1a8], 0
movss xmm11, dword [rax + 0x18]
movss xmm12, dword [rax + 0x1c]
movss xmm9, dword [rax + 0x20]
movss xmm10, dword [rax + 0x24]
je 0x140131fe5
comiss xmm5, xmm7
jbe 0x140131f33
movss xmm1, dword [0x14064c0ac]
movaps xmm0, xmm3
subss xmm0, xmm7
movaps xmm2, xmm3
subss xmm2, xmm5
movaps xmm7, xmm5
divss xmm2, xmm0
movaps xmm0, xmm9
subss xmm0, xmm11
subss xmm1, xmm2
mulss xmm1, xmm0
addss xmm11, xmm1
movss xmm5, dword [r14 + 4]
comiss xmm5, xmm6
jbe 0x140131f71
movss xmm1, dword [0x14064c0ac]
movaps xmm0, xmm4
subss xmm0, xmm6
movaps xmm2, xmm4
subss xmm2, xmm5
movaps xmm6, xmm5
divss xmm2, xmm0
movaps xmm0, xmm10
subss xmm0, xmm12
subss xmm1, xmm2
mulss xmm1, xmm0
addss xmm12, xmm1
comiss xmm3, xmm8
jbe 0x140131fa2
movaps xmm0, xmm9
subss xmm3, xmm7
movaps xmm1, xmm8
subss xmm0, xmm11
subss xmm1, xmm7
divss xmm1, xmm3
movaps xmm3, xmm8
movaps xmm9, xmm1
mulss xmm9, xmm0
addss xmm9, xmm11
movss xmm2, dword [r14 + 0xc]
comiss xmm4, xmm2
jbe 0x140131fd6
movaps xmm0, xmm10
subss xmm4, xmm6
movaps xmm1, xmm2
subss xmm0, xmm12
subss xmm1, xmm6
divss xmm1, xmm4
movaps xmm4, xmm2
movaps xmm10, xmm1
mulss xmm10, xmm0
addss xmm10, xmm12
comiss xmm6, xmm4
jb 0x140131fe5
addss xmm14, xmm13
jmp 0x140132091
test cl, 1
je 0x140131fee
mov eax, esi
jmp 0x140131ff6
mov rax, qword [r9 + 0x18]
mov eax, dword [rax + r8*4]
mov dword [rdi + 0x10], eax
mov dword [rdi + 0x24], eax
mov dword [rdi + 0x38], eax
mov dword [rdi + 0x4c], eax
lea eax, [r12 + 1]
movss dword [rdi], xmm7
movss dword [rdi + 4], xmm6
movss dword [rdi + 8], xmm11
movss dword [rdi + 0xc], xmm12
movss dword [rdi + 0x14], xmm3
movss dword [rdi + 0x18], xmm6
movss dword [rdi + 0x1c], xmm9
movss dword [rdi + 0x20], xmm12
movss dword [rdi + 0x28], xmm3
movss dword [rdi + 0x2c], xmm4
movss dword [rdi + 0x30], xmm9
movss dword [rdi + 0x34], xmm10
movss dword [rdi + 0x3c], xmm7
movss dword [rdi + 0x40], xmm4
movss dword [rdi + 0x44], xmm11
movss dword [rdi + 0x48], xmm10
add rdi, 0x50
mov word [r15 + 2], ax
lea eax, [r12 + 2]
mov word [r15 + 4], ax
mov word [r15 + 8], ax
lea eax, [r12 + 3]
mov word [r15], r12w
mov word [r15 + 6], r12w
add r12d, 4
mov word [r15 + 0xa], ax
add r15, 0xc
movss xmm8, dword [rsp + 0x34]
mov rax, qword [r9 + 0x20]
inc r8
sub rax, qword [r9 + 0x18]
sar rax, 2
cmp r8, rax
jb 0x140131e30
mov rsi, qword [rsp + 0x50]
movss xmm8, dword [rsp + 0x34]
addss xmm14, xmm13
movss xmm9, dword [rsp + 0x48]
movss xmm6, dword [rsp + 0x3c]
movss xmm7, dword [rsp + 0x40]
cmp rbx, rsi
jb 0x140131a40
mov r8, qword [rsp + 0x58]
movaps xmm13, xmmword [rsp + 0xa0]
movaps xmm12, xmmword [rsp + 0xb0]
movaps xmm11, xmmword [rsp + 0xc0]
movaps xmm10, xmmword [rsp + 0xd0]
mov r13, qword [rsp + 0x128]
mov rcx, rdi
sub rcx, qword [r8 + 0x28]
movabs rax, 0x6666666666666667
imul rcx
sar rdx, 3
mov rax, rdx
shr rax, 0x3f
add rdx, rax
movsxd rax, dword [r8]
mov dword [r8 + 0x20], edx
mov rdx, r15
sub rdx, qword [r8 + 0x18]
sar rdx, 1
mov dword [r8 + 0x10], edx
sub edx, dword [rsp + 0x44]
imul rcx, rax, 0x38
mov rax, qword [r8 + 8]
add dword [rcx + rax - 0x18], edx
mov dword [r8 + 0x34], r12d
mov r12, qword [rsp + 0x178]
mov qword [r8 + 0x40], rdi
mov qword [r8 + 0x48], r15
movaps xmm6, xmmword [rsp + 0x110]
mov r15, qword [rsp + 0x120]
movaps xmm9, xmmword [rsp + 0xe0]
mov rcx, qword [rsp + 0x78]
xor rcx, rsp
call fcn.140408af0
lea r11, [rsp + 0x130]
movaps xmm7, xmmword [r11 - 0x30]
movaps xmm8, xmmword [r11 - 0x40]
movaps xmm14, xmmword [r11 - 0xa0]
movaps xmm15, xmmword [r11 - 0xb0]
mov rsp, r11
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
ret