Function at 0x14003e180
Capabilities:
Hash data using fnv

Disassembly:
movzx r9d, r8b
xor r8d, r8d
jmp 0x14003e180
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov byte [rax + 0x20], r9b
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xd0
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
mov ebx, r8d
mov rdi, rdx
mov r13, rcx
mov r10, qword [0x1404fda48]
mov rax, qword [r10 + 0x4018]
mov byte [rax + 0xb8], 1
mov r15, qword [r10 + 0x4018]
cmp byte [r15 + 0xbb], 0
jne 0x14003e772
mov r14, qword [0x1404fda48]
xor r8d, r8d
mov rdx, rcx
mov rcx, r15
call fcn.140014a90
mov esi, eax
mov dword [rbp - 0x55], esi
movss xmm0, dword [0x1400d1588]
movss dword [rsp + 0x20], xmm0
mov r9b, 1
xor r8d, r8d
mov rdx, r13
lea rcx, [rbp - 9]
call fcn.140010340
movss xmm7, dword [r15 + 0x100]
movss xmm6, dword [r15 + 0x104]
bt ebx, 0xf
jae 0x14003e258
movss xmm1, dword [r14 + 0x3930]
movss xmm0, dword [r15 + 0x138]
comiss xmm0, xmm1
jbe 0x14003e258
subss xmm0, xmm1
addss xmm6, xmm0
movss xmm3, dword [r14 + 0x3930]
movss xmm2, dword [r14 + 0x392c]
addss xmm3, xmm3
addss xmm3, dword [rbp - 5]
addss xmm2, xmm2
addss xmm2, dword [rbp - 9]
mov rdx, qword [rdi]
lea rcx, [rbp - 0x11]
call fcn.14000fec0
movss xmm1, dword [rbp - 0xd]
addss xmm1, xmm6
movss xmm0, dword [rbp - 0x11]
addss xmm0, xmm7
movss dword [rbp - 0x49], xmm7
movss dword [rbp - 0x45], xmm6
movss dword [rbp - 0x41], xmm0
movss dword [rbp - 0x3d], xmm1
movss xmm1, dword [r14 + 0x3930]
lea rcx, [rbp - 0x11]
call fcn.140017540
xor r9d, r9d
xor r8d, r8d
mov edx, esi
lea rcx, [rbp - 0x49]
call fcn.140017170
test al, al
je 0x14003e772
mov dword [rsp + 0x20], ebx
lea r9, [rbp - 0x58]
lea r8, [rbp - 0x59]
mov edx, esi
lea rcx, [rbp - 0x49]
call fcn.14003db70
mov byte [rbp - 0x57], al
mov edx, dword [0x1404fe018]
mov rcx, qword gs:[0x58]
mov eax, 0x38
mov r8, qword [rcx + rdx*8]
mov ecx, dword [rax + r8]
cmp dword [0x1404fdad0], ecx
jg 0x14003e7a4
movzx edi, sil
movabs rax, 0xcbf29ce484222325
xor rdi, rax
movabs rcx, 0x100000001b3
imul rdi, rcx
movzx eax, byte [rbp - 0x54]
xor rdi, rax
imul rdi, rcx
movzx eax, byte [rbp - 0x53]
xor rdi, rax
imul rdi, rcx
movzx eax, byte [rbp - 0x52]
xor rdi, rax
imul rdi, rcx
mov rax, rdi
and rax, qword [0x1404fdac0]
add rax, rax
mov rdx, qword [0x1404fdaa8]
mov rbx, qword [rdx + rax*8 + 8]
mov rcx, qword [0x1404fda98]
cmp rbx, rcx
je 0x14003e3a3
mov rax, qword [rdx + rax*8]
cmp esi, dword [rbx + 0x10]
je 0x14003e39e
nop dword [rax]
cmp rbx, rax
je 0x14003e3a3
mov rbx, qword [rbx + 8]
cmp esi, dword [rbx + 0x10]
jne 0x14003e390
test rbx, rbx
jne 0x14003e3a6
mov rbx, rcx
mov r12d, 0x16
cmp rbx, rcx
jne 0x14003e418
mov ecx, r12d
call fcn.140015380
mov dword [rbp - 0x29], esi
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x25], xmm0
lea r8, [rbp - 0x29]
lea rdx, [rbp - 0x39]
lea rcx, [0x1404fda90]
call fcn.14003d350
and rdi, qword [0x1404fdac0]
add rdi, rdi
mov rax, qword [0x1404fdaa8]
mov rbx, qword [rax + rdi*8 + 8]
mov rcx, qword [0x1404fda98]
cmp rbx, rcx
je 0x14003e415
mov rax, qword [rax + rdi*8]
cmp esi, dword [rbx + 0x10]
je 0x14003e410
cmp rbx, rax
je 0x14003e415
mov rbx, qword [rbx + 8]
cmp esi, dword [rbx + 0x10]
jne 0x14003e402
test rbx, rbx
jne 0x14003e418
mov rbx, rcx
movss xmm6, dword [0x1401061f4]
cmp byte [rbp - 0x59], 0
je 0x14003e438
cmp byte [rbp - 0x58], 0
mov r12d, 0x18
jne 0x14003e438
mov r12d, 0x17
mov ecx, r12d
call fcn.140015380
movss xmm5, dword [rax]
subss xmm5, dword [rbx + 0x14]
mulss xmm5, xmm6
addss xmm5, dword [rbx + 0x14]
movss xmm4, dword [rax + 4]
subss xmm4, dword [rbx + 0x18]
mulss xmm4, xmm6
addss xmm4, dword [rbx + 0x18]
movss xmm3, dword [rax + 8]
subss xmm3, dword [rbx + 0x1c]
mulss xmm3, xmm6
addss xmm3, dword [rbx + 0x1c]
movss xmm2, dword [rax + 0xc]
subss xmm2, dword [rbx + 0x20]
mulss xmm2, xmm6
addss xmm2, dword [rbx + 0x20]
shufps xmm5, xmm5, 0xe1
movss xmm5, xmm4
shufps xmm5, xmm5, 0xc6
movss xmm5, xmm3
shufps xmm5, xmm5, 0x27
movss xmm5, xmm2
shufps xmm5, xmm5, 0x39
movups xmmword [rbp - 0x39], xmm5
movups xmmword [rbx + 0x14], xmm5
movss xmm6, dword [r14 + 0x3934]
movss xmm0, dword [rbx + 0x14]
movss dword [rbp - 0x29], xmm0
movss xmm1, dword [rbx + 0x18]
movss dword [rbp - 0x25], xmm1
movss xmm0, dword [rbx + 0x1c]
movss dword [rbp - 0x21], xmm0
movss xmm1, dword [r14 + 0x38f0]
mulss xmm1, dword [rbx + 0x20]
movss dword [rbp - 0x1d], xmm1
lea rcx, [rbp - 0x29]
call fcn.1400116c0
movss dword [rsp + 0x20], xmm6
xor r9d, r9d
mov r8d, eax
mov rdx, qword [rbp - 0x41]
mov rcx, qword [rbp - 0x49]
call fcn.14001e9d0
cmp byte [rbp + 0x7f], 0
je 0x14003e6dc
xor r9d, r9d
lea r8, [rbp - 0x41]
lea rdx, [rbp - 0x49]
mov rcx, qword [r15 + 0x298]
call fcn.140030590
call fcn.14004c9a0
mov rdi, qword [r15 + 0x298]
movss xmm0, dword [rbx + 0x14]
movss xmm8, dword [0x1400d5f90]
addss xmm0, xmm8
movss dword [rbp - 0x39], xmm0
movss xmm0, dword [rbx + 0x18]
addss xmm0, xmm8
movss dword [rbp - 0x35], xmm0
movss xmm1, dword [rbx + 0x1c]
addss xmm1, xmm8
movss dword [rbp - 0x31], xmm1
movss xmm0, dword [r14 + 0x38f0]
mulss xmm0, dword [rbx + 0x20]
movss dword [rbp - 0x2d], xmm0
lea rcx, [rbp - 0x39]
call fcn.1400116c0
movss xmm3, dword [rbp - 0x49]
movaps xmm0, xmm3
addss xmm0, dword [0x1400d5fa8]
movss dword [rbp - 0x55], xmm0
movss xmm1, dword [rbp - 0x3d]
movss xmm2, dword [rbp - 0x45]
subss xmm1, xmm2
addss xmm1, dword [0x1400d537c]
addss xmm1, xmm2
movss dword [rbp - 0x51], xmm1
addss xmm3, dword [0x1400d5378]
movss dword [rbp - 0x29], xmm3
subss xmm2, dword [0x1400d537c]
movss dword [rbp - 0x25], xmm2
xor esi, esi
mov dword [rsp + 0x28], esi
xorps xmm7, xmm7
movss dword [rsp + 0x20], xmm7
mov r9d, eax
lea r8, [rbp - 0x55]
lea rdx, [rbp - 0x29]
mov rcx, rdi
call fcn.14002c380
mov rdi, qword [r15 + 0x298]
movss xmm0, dword [rbx + 0x14]
addss xmm0, xmm8
movss dword [rbp - 0x39], xmm0
movss xmm1, dword [rbx + 0x18]
addss xmm1, xmm8
movss dword [rbp - 0x35], xmm1
movss xmm0, dword [rbx + 0x1c]
addss xmm0, xmm8
movss dword [rbp - 0x31], xmm0
movss xmm1, dword [r14 + 0x38f0]
mulss xmm1, dword [rbx + 0x20]
movss dword [rbp - 0x2d], xmm1
lea rcx, [rbp - 0x39]
call fcn.1400116c0
movss xmm2, dword [rbp - 0x41]
movaps xmm0, xmm2
subss xmm0, dword [0x1400d5378]
movss dword [rbp - 0x29], xmm0
movss xmm1, dword [rbp - 0x3d]
subss xmm1, dword [0x1400d5fbc]
movss dword [rbp - 0x25], xmm1
subss xmm2, dword [rbp - 0x49]
subss xmm2, dword [0x1400d5fa8]
addss xmm2, dword [rbp - 0x49]
movss dword [rbp - 0x55], xmm2
movss xmm0, dword [rbp - 0x45]
subss xmm0, dword [0x1400d537c]
movss dword [rbp - 0x51], xmm0
mov dword [rsp + 0x28], esi
movss dword [rsp + 0x20], xmm7
mov r9d, eax
lea r8, [rbp - 0x29]
lea rdx, [rbp - 0x55]
mov rcx, rdi
call fcn.14002c380
lea rcx, [rbp - 0x29]
call fcn.14004c9c0
mov rdx, qword [rax]
movss xmm0, dword [0x1400d5f98]
call fcn.14004c890
mov rcx, qword [r15 + 0x298]
call fcn.1400302c0
cmp byte [r14 + 0x5f80], 0
je 0x14003e6f9
lea rdx, [0x1400cf630]
lea rcx, [0x1400d5f14]
call fcn.140017af0
movss xmm3, dword [r14 + 0x392c]
movss xmm0, dword [rbp - 0x41]
subss xmm0, xmm3
movss dword [rbp - 0x29], xmm0
movss xmm2, dword [r14 + 0x3930]
movss xmm1, dword [rbp - 0x3d]
subss xmm1, xmm2
movss dword [rbp - 0x25], xmm1
addss xmm3, dword [rbp - 0x49]
movss dword [rbp - 0x55], xmm3
addss xmm2, dword [rbp - 0x45]
movss dword [rbp - 0x51], xmm2
lea rax, [r14 + 0x3990]
lea rcx, [rbp - 0x49]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
lea rax, [rbp - 9]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8, r13
lea rdx, [rbp - 0x29]
lea rcx, [rbp - 0x55]
call fcn.14001f360
movzx eax, byte [rbp - 0x57]
jmp 0x14003e774
xor al, al
lea r11, [rsp + 0xd0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
lea rcx, [0x1404fdad0]
call fcn.14008c024
cmp dword [0x1404fdad0], 0xffffffff
jne 0x14003e31b
mov ecx, 0x28
call fcn.14008bc08
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [0x1404fda98], rax
mov qword [0x1404fdaa8], 0
xorps xmm0, xmm0
movdqa xmmword [0x1404fdab0], xmm0
mov qword [0x1404fdac0], 7
mov qword [0x1404fdac8], 8
movss xmm0, dword [0x1400d150c]
movss dword [0x1404fda90], xmm0
mov r8, rax
mov edx, 0x10
lea rcx, [0x1404fdaa8]
call fcn.140044380
nop
lea rcx, [0x1400ca750]
call fcn.14008be84
nop
lea rcx, [0x1404fdad0]
call fcn.14008bfc4
jmp 0x14003e31b