Function at 0x140012d40
Capabilities:
Hash data using fnv

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x4f]
sub rsp, 0x100
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm10
movaps xmmword [rax - 0x88], xmm11
movaps xmmword [rax - 0x98], xmm12
mov rax, qword [0x140065010]
xor rax, rsp
mov qword [rbp - 0x51], rax
movzx r12d, r9b
mov esi, r8d
mov r14, rdx
mov rbx, qword [0x14013c6a0]
mov rax, qword [rbx + 0x3ed8]
mov byte [rax + 0xb8], 1
mov r15, qword [rbx + 0x3ed8]
movsxd r8, dword [r15 + 0xf0]
mov rax, qword [r15 + 0xf8]
mov r8d, dword [rax + r8*4 - 4]
xor edx, edx
mov rcx, r14
call fcn.140016050
mov edi, eax
mov dword [rbp - 0x71], edi
mov rcx, qword [r15]
cmp dword [rcx + 0x3f20], eax
jne 0x140012e01
mov r8, r14
mov edx, 0xb
mov ecx, edi
call fcn.14002d390
mov rbx, qword [0x14013c6a0]
mov r13, qword [r15 + 0x298]
movss xmm6, dword [r15 + 0x100]
movss xmm7, dword [r15 + 0x104]
mov rax, r14
cmp r14, 0xffffffffffffffff
jae 0x140012e41
movzx ecx, byte [rax]
test cl, cl
je 0x140012e41
cmp cl, 0x23
lea rcx, [rax + 1]
jne 0x140012e38
cmp byte [rcx], 0x23
je 0x140012e41
mov rax, rcx
cmp rcx, 0xffffffffffffffff
jb 0x140012e23
movss xmm10, dword [rbx + 0x3c10]
xorps xmm9, xmm9
cmp r14, rax
jne 0x140012e59
xorps xmm11, xmm11
jmp 0x140012eaf
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], r14
movss xmm0, dword [0x14005c898]
movss dword [rsp + 0x20], xmm0
movss xmm3, dword [0x14005c894]
movaps xmm2, xmm10
lea rdx, [rsp + 0x58]
mov rcx, qword [rbx + 0x3c08]
call fcn.14003d5b0
movss xmm0, dword [rsp + 0x58]
addss xmm0, dword [0x14005c790]
cvttss2si eax, xmm0
movd xmm11, eax
cvtdq2ps xmm11, xmm11
movss xmm10, dword [rbp - 0x7d]
mov rax, qword [rbx + 0x3ed8]
movss xmm12, dword [rax + 0x28]
movd xmm0, esi
cvtdq2ps xmm0, xmm0
divss xmm12, xmm0
movaps xmm1, xmm7
addss xmm1, dword [rax + 0x2c]
movaps xmm0, xmm12
addss xmm0, xmm6
movss dword [rbp - 0x61], xmm6
movss dword [rbp - 0x5d], xmm7
movss dword [rbp - 0x59], xmm0
movss dword [rbp - 0x55], xmm1
xor r9d, r9d
xor r8d, r8d
mov edx, edi
lea rcx, [rbp - 0x61]
call fcn.140025770
mov rax, qword [0x14013c6a0]
movss xmm2, dword [rbp - 0x55]
subss xmm2, dword [rbp - 0x5d]
movss xmm0, dword [rbp - 0x59]
subss xmm0, dword [rbp - 0x61]
movss dword [rsp + 0x58], xmm0
movss dword [rbp - 0x7d], xmm2
movss xmm1, dword [rax + 0x3808]
lea rcx, [rsp + 0x58]
call fcn.140025600
xor ebx, ebx
mov dword [rsp + 0x20], ebx
lea r9, [rsp + 0x50]
lea r8, [rsp + 0x51]
mov edx, edi
lea rcx, [rbp - 0x61]
call fcn.1400438d0
mov byte [rsp + 0x50], al
mov eax, 4
mov rcx, qword gs:[0x58]
mov rcx, qword [rcx]
movss xmm6, dword [0x14005c798]
mov ecx, dword [rax + rcx]
cmp dword [0x14013c7e8], ecx
jle 0x140013040
lea rcx, [0x14013c7e8]
call fcn.140050db0
cmp dword [0x14013c7e8], 0xffffffff
jne 0x140013040
xorps xmm0, xmm0
movups xmmword [0x14013c840], xmm0
movups xmmword [0x14013c850], xmm0
movups xmmword [0x14013c860], xmm0
movups xmmword [0x14013c870], xmm0
mov dword [0x14013c840], ebx
mov qword [0x14013c848], rbx
mov qword [0x14013c850], rbx
lea ecx, [rbx + 0x18]
call fcn.140050970
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [0x14013c848], rax
mov qword [0x14013c858], rbx
xorps xmm0, xmm0
movdqa xmmword [0x14013c860], xmm0
mov qword [0x14013c870], 7
mov qword [0x14013c878], 8
mov dword [0x14013c840], 0x3f800000
mov r8, rax
lea edx, [rbx + 0x10]
lea rcx, [0x14013c858]
call fcn.1400139a0
nop
lea rcx, [0x140053050]
call fcn.140050be4
nop
lea rcx, [0x14013c7e8]
call fcn.140050d44
nop dword [rax]
movzx esi, dil
movabs rax, 0xcbf29ce484222325
xor rsi, rax
movabs rcx, 0x100000001b3
imul rsi, rcx
movzx eax, byte [rbp - 0x70]
xor rsi, rax
imul rsi, rcx
movzx eax, byte [rbp - 0x6f]
xor rsi, rax
imul rsi, rcx
movzx eax, byte [rbp - 0x6e]
xor rsi, rax
imul rsi, rcx
mov rcx, rsi
and rcx, qword [0x14013c870]
add rcx, rcx
mov r8, qword [0x14013c858]
mov rax, qword [r8 + rcx*8 + 8]
mov rdx, qword [0x14013c848]
cmp rax, rdx
je 0x1400130c0
mov rcx, qword [r8 + rcx*8]
cmp edi, dword [rax + 0x10]
je 0x1400130c3
nop
cmp rax, rcx
je 0x1400130c0
mov rax, qword [rax + 8]
cmp edi, dword [rax + 0x10]
jne 0x1400130b0
jmp 0x1400130c3
mov rax, rbx
mov rbx, rdx
test rax, rax
cmovne rbx, rax
cmp rbx, rdx
jne 0x140013139
mov dword [rsp + 0x58], edi
mov dword [rbp - 0x7d], 0
lea r8, [rsp + 0x58]
lea rdx, [rbp - 0x71]
lea rcx, [0x14013c840]
call fcn.140013ae0
and rsi, qword [0x14013c870]
add rsi, rsi
mov rcx, qword [0x14013c858]
mov rax, qword [rcx + rsi*8 + 8]
mov rbx, qword [0x14013c848]
cmp rax, rbx
je 0x140013130
mov rcx, qword [rcx + rsi*8]
cmp edi, dword [rax + 0x10]
je 0x140013132
nop dword [rax]
cmp rax, rcx
je 0x140013130
mov rax, qword [rax + 8]
cmp edi, dword [rax + 0x10]
jne 0x140013120
jmp 0x140013132
xor eax, eax
test rax, rax
cmovne rbx, rax
movss xmm8, dword [0x14005c768]
test r12b, r12b
jne 0x140013158
cmp byte [rsp + 0x51], r12b
je 0x140013154
movaps xmm6, xmm8
jmp 0x140013158
movaps xmm6, xmm9
subss xmm6, dword [rbx + 0x14]
mulss xmm6, dword [0x14005c734]
addss xmm6, dword [rbx + 0x14]
movss dword [rbx + 0x14], xmm6
mov dword [rsp + 0x58], 0x3f800000
mov dword [rbp - 0x7d], 0x3f800000
mov dword [rbp - 0x79], 0x3f800000
mulss xmm6, dword [0x14005c72c]
mov rax, qword [0x14013c6a0]
mulss xmm6, dword [rax + 0x37c8]
movss dword [rbp - 0x75], xmm6
lea rcx, [rsp + 0x58]
call fcn.1400165d0
mov r9d, eax
mov eax, dword [rbp + 0x7f]
mov dword [rsp + 0x28], eax
movss xmm0, dword [rbp + 0x77]
movss dword [rsp + 0x20], xmm0
lea r8, [rbp - 0x59]
lea rdx, [rbp - 0x61]
mov rcx, r13
call fcn.140039620
mov r8, qword [0x14013c6a0]
movups xmm1, xmmword [r8 + 0x38a4]
movups xmmword [rsp + 0x58], xmm1
movss xmm0, dword [rbx + 0x14]
maxss xmm0, dword [0x14005c754]
mulss xmm0, dword [r8 + 0x37c8]
shufps xmm1, xmm1, 0xff
mulss xmm1, xmm0
movss dword [rbp - 0x75], xmm1
lea rcx, [rsp + 0x58]
call fcn.1400165d0
mov r9d, eax
movss xmm0, dword [rbp - 0x59]
movss xmm6, dword [rbp - 0x61]
addss xmm0, xmm6
mulss xmm0, xmm8
mulss xmm11, xmm8
subss xmm0, xmm11
movss dword [rsp + 0x58], xmm0
movss xmm1, dword [rbp - 0x5d]
movss xmm7, dword [rbp - 0x55]
addss xmm1, xmm7
mulss xmm1, xmm8
mulss xmm10, xmm8
subss xmm1, xmm10
movss dword [rbp - 0x7d], xmm1
test eax, 0xff000000
je 0x1400132d3
mov rcx, 0xffffffffffffffff
nop word [rax + rax]
inc rcx
cmp byte [r14 + rcx], 0
jne 0x140013270
add rcx, r14
cmp r14, rcx
je 0x1400132d3
mov rax, qword [r13 + 0x38]
movups xmm0, xmmword [r13 + 0x88]
movups xmmword [rbp - 0x61], xmm0
mov byte [rsp + 0x48], 0
movss dword [rsp + 0x40], xmm9
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x30], r14
lea rcx, [rbp - 0x61]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], r9d
lea r9, [rsp + 0x58]
movss xmm2, dword [rax + 0x10]
mov rdx, r13
mov rcx, qword [rax + 8]
call fcn.14003d7d0
mov r8, qword [0x14013c6a0]
movss xmm3, dword [0x14013c694]
test r12b, r12b
je 0x1400132e8
subss xmm6, dword [r15 + 0x20]
jmp 0x1400132eb
movaps xmm6, xmm3
subss xmm6, xmm3
mulss xmm6, dword [0x14005c748]
addss xmm3, xmm6
movss dword [0x14013c694], xmm3
movss xmm0, dword [0x14013bdc8]
movss dword [rbp - 0x61], xmm0
movss xmm1, dword [0x14013bdcc]
movss dword [rbp - 0x5d], xmm1
movss xmm0, dword [0x14013bdd0]
movss dword [rbp - 0x59], xmm0
movss xmm1, dword [r8 + 0x37c8]
movss dword [rbp - 0x55], xmm1
movss xmm2, dword [r15 + 0x20]
movaps xmm0, xmm2
addss xmm0, xmm3
addss xmm0, xmm12
movss dword [rsp + 0x58], xmm0
movss dword [rbp - 0x7d], xmm7
addss xmm2, xmm3
movss dword [rbp - 0x71], xmm2
subss xmm7, dword [0x14005c7b0]
movss dword [rbp - 0x6d], xmm7
lea rcx, [rbp - 0x61]
call fcn.1400165d0
mov r9d, eax
mov dword [rsp + 0x28], 0
movss dword [rsp + 0x20], xmm9
lea r8, [rsp + 0x58]
lea rdx, [rbp - 0x71]
mov rcx, r13
call fcn.140039620
movzx eax, byte [rsp + 0x50]
mov rcx, qword [rbp - 0x51]
xor rcx, rsp
call fcn.140050950
lea r11, [rsp + 0x100]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret