Function at 0x1400315f0
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 - 0x288]
sub rsp, 0x350
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
mov rax, qword [0x1402f2018]
xor rax, rsp
mov qword [rbp + 0x220], rax
mov rbx, rdx
mov rsi, rcx
xor r14d, r14d
movsxd rax, dword [rcx + 0x110]
cmp eax, 0xffffffff
je 0x140031ae9
imul rcx, rax, 0x68
add rcx, qword [0x1402fb580]
cmp dword [rcx + 0x2a8], r14d
jbe 0x140031663
cmp dword [rcx + 0x2a4], r14d
je 0x140031ae9
movss xmm0, dword [0x1402fb3b0]
comiss xmm0, dword [rcx + 0x2b0]
jb 0x140031ae9
cmp dword [rcx + 0x2a0], r14d
jbe 0x140031ae9
test rbx, rbx
je 0x140031ae9
cmp byte [rdx + 0xa7], r14b
je 0x140031ae9
mov rcx, rbx
call fcn.14006a560
test al, al
jne 0x140031ae9
cmp byte [rbx + 0xa5], r14b
je 0x140031ae9
cmp byte [rbx + 0xa4], r14b
je 0x140031ae9
movss xmm1, dword [rsi + 0x18]
addss xmm1, dword [0x1402c1ad4]
movss xmm0, dword [0x1402fb394]
comiss xmm0, xmm1
jbe 0x140031ae9
mov rax, qword [rsi + 0x40]
cmp byte [rax + 0x2b2], r14b
je 0x140031ae9
mov rdi, qword [0x1402fb580]
movdqa xmm0, xmmword [0x1402c2eb0]
movdqu xmmword [rsp + 0x20], xmm0
mov dword [rsp + 0x30], 0x666c6573
mov word [rsp + 0x34], r14w
movd eax, xmm0
mov edx, 0x811c9dc5
test al, al
je 0x14003173b
movzx eax, al
xor eax, edx
imul edx, eax, 0x1000193
lea rcx, [rsp + 0x21]
call fcn.1400356d0
mov edx, eax
mov rcx, qword [rdi + 0x180]
mov rax, qword [rdi + 0x188]
cmp rcx, rax
je 0x140031762
nop
cmp dword [rcx + 0x30], edx
je 0x140031ae9
add rcx, 0x50
cmp rcx, rax
jne 0x140031750
movaps xmm7, xmmword [0x1402c2c30]
movaps xmmword [rbp + 0x30], xmm7
mov dword [rbp + 0x40], r14d
mov dword [rbp + 0x44], 1
mov byte [rbp + 0x48], 1
movsd xmm1, qword [0x1402fba30]
movaps xmm6, xmm1
movsd qword [rbp + 0x4c], xmm1
mov eax, dword [0x1402fba38]
mov dword [rbp + 0x54], eax
xor edx, edx
mov dword [rbp + 0x58], edx
mov byte [rbp + 0x5c], dl
mov dword [rbp + 0x60], 0xffffffff
movaps xmm5, xmm1
movsd qword [rbp + 0x64], xmm1
mov dword [rbp + 0x6c], eax
mov qword [rbp + 0x70], r14
movaps xmm4, xmm1
movsd qword [rbp + 0x78], xmm1
mov dword [rbp + 0x80], eax
movaps xmm3, xmm1
movsd qword [rbp + 0x84], xmm1
mov dword [rbp + 0x8c], eax
xorps xmm2, xmm2
movss dword [rbp + 0x90], xmm2
xorps xmm0, xmm0
movups xmmword [rbp + 0x98], xmm0
movups xmmword [rbp + 0xa8], xmm0
mov qword [rbp + 0xb8], r14
movdqa xmmword [rbp + 0xc0], xmm0
mov qword [rbp + 0xd0], r14
mov byte [rbp + 0xd8], dl
xor ecx, ecx
mov qword [rbp + 0xdc], rcx
mov byte [rbp + 0xe4], cl
mov dword [rbp + 0xe8], r14d
mov byte [rbp + 0xec], cl
mov dword [rbp + 0xf0], 0x42820000
movss dword [rsp + 0x58], xmm7
movaps xmm0, xmm7
shufps xmm0, xmm7, 0x55
movss dword [rsp + 0x5c], xmm0
movaps xmm1, xmm7
shufps xmm1, xmm7, 0xaa
movss dword [rsp + 0x60], xmm1
shufps xmm7, xmm7, 0xff
movss dword [rsp + 0x64], xmm7
mov dword [rsp + 0x68], r14d
mov dword [rsp + 0x6c], 1
mov byte [rsp + 0x70], 1
movsd qword [rsp + 0x74], xmm3
mov dword [rsp + 0x7c], eax
mov dword [rbp - 0x80], edx
mov byte [rbp - 0x7c], cl
mov dword [rbp - 0x78], 0xffffffff
movsd qword [rbp - 0x74], xmm3
mov dword [rbp - 0x6c], eax
mov qword [rbp - 0x68], r14
movsd qword [rbp - 0x60], xmm3
mov dword [rbp - 0x58], eax
movsd qword [rbp - 0x54], xmm3
mov dword [rbp - 0x4c], eax
movss dword [rbp - 0x48], xmm2
lea rdx, [rbp + 0x98]
lea rcx, [rbp - 0x40]
call fcn.140031c00
mov eax, dword [rbp + 0xe8]
mov dword [rbp + 0x10], eax
movzx eax, byte [rbp + 0xec]
mov byte [rbp + 0x14], al
movss xmm0, dword [rbp + 0xf0]
movss dword [rbp + 0x18], xmm0
lea rax, [rsp + 0x58]
mov qword [rsp + 0x20], rax
mov qword [rbp - 0x68], rbx
lea r8, [rsp + 0x58]
lea rdx, [rbp + 0x100]
mov rcx, qword [0x1402fb4e8]
call fcn.14015e510
nop
lea rcx, [rbp - 0x18]
call fcn.140034070
nop
movss xmm6, dword [0x1402fba30]
movss xmm5, dword [0x1402fba34]
movss xmm4, dword [0x1402fba38]
movss xmm1, dword [rbp + 0x208]
movss xmm2, dword [rbp + 0x204]
movss xmm3, dword [rbp + 0x200]
ucomiss xmm3, xmm6
jp 0x14003194a
jne 0x14003194a
ucomiss xmm2, xmm5
jp 0x14003194a
jne 0x14003194a
ucomiss xmm1, xmm4
jp 0x14003194a
je 0x140031978
movss xmm0, dword [0x1402c1b34]
comiss xmm3, xmm0
jbe 0x140031978
comiss xmm2, xmm0
jbe 0x140031978
comiss xmm1, xmm0
jbe 0x140031978
movss xmm0, dword [0x1402c1880]
comiss xmm0, xmm3
jbe 0x140031978
comiss xmm0, xmm2
jbe 0x140031978
comiss xmm0, xmm1
ja 0x140031991
ucomiss xmm3, xmm6
jp 0x140031991
jne 0x140031991
ucomiss xmm2, xmm5
jp 0x140031991
jne 0x140031991
ucomiss xmm1, xmm4
jp 0x140031991
je 0x140031ab8
cmp dword [rbp + 0x218], 5
jl 0x140031ab8
call fcn.14013edd0
mov r15, rax
mov r12d, dword [rsi + 0x110]
movsd xmm6, qword [rbp + 0x200]
mov r13d, dword [rbp + 0x208]
mov rcx, qword [0x1402fb490]
cmp byte [rcx + 0x6c], 0
jne 0x140031ab8
mov r14, qword [0x1402fb580]
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], 0
mov rdx, qword [0x1402fe798]
sub rdx, qword [0x1402fe790]
je 0x140031a2a
lea rcx, [rsp + 0x40]
call fcn.140014500
mov rdi, qword [rsp + 0x40]
mov rbx, qword [0x1402fe798]
mov rdx, qword [0x1402fe790]
sub rbx, rdx
mov r8, rbx
mov rcx, rdi
call sub.VCRUNTIME140.dll_memmove
lea rax, [rdi + rbx]
mov qword [rsp + 0x48], rax
lea rdx, [rsp + 0x40]
lea rcx, [r14 + 0x170]
call fcn.140066940
test al, al
jne 0x140031ab8
mov rax, qword [0x1402fb4f0]
cmp dword [rax + 0x154], 1
je 0x140031ab8
mov rax, qword [0x1402fb9c0]
test rax, rax
jne 0x140031a7a
mov ecx, 0x36e490
call fcn.14022869c
mov qword [rsp + 0x20], rax
mov rcx, rax
call fcn.1401d6670
nop
mov qword [0x1402fb9c0], rax
movsd qword [rsp + 0x20], xmm6
mov dword [rsp + 0x28], r13d
lea r8, [rsp + 0x20]
lea rdx, [rbp + 0x20]
mov rcx, rax
call fcn.1401d5b90
xor r9d, r9d
mov r8, qword [rax]
mov edx, r12d
mov rcx, r15
call fcn.14006d7b0
test al, al
je 0x140031ab8
movss xmm0, dword [0x1402fb394]
movss dword [rsi + 0x18], xmm0
lea rcx, [rbp + 0x1c8]
call fcn.140034070
lea rcx, [rbp + 0x118]
call fcn.140033e60
lea rcx, [rbp + 0x100]
call fcn.140033e60
nop
lea rcx, [rbp + 0xc0]
call fcn.140034070
mov rcx, qword [rbp + 0x220]
xor rcx, rsp
call fcn.1402283f0
lea r11, [rsp + 0x350]
mov rbx, qword [r11 + 0x50]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret