Function at 0x43167e
Capabilities:
Hash data using fnv

Disassembly:
push ebp
inc ecx
push edi
inc ecx
push esi
inc ecx
push ebp
inc ecx
push esp
push esi
push edi
push ebx
dec eax
sub esp, 0x58
dec eax
lea ebp, [esp + 0x50]
dec eax
mov dword [ebp], 0xfffffffe
dec eax
mov esi, ecx
dec eax
mov ecx, dword [edx + 0x10]
dec eax
mov dword [ebp - 0x20], ecx
movups xmm0, xmmword [edx]
movaps xmmword [ebp - 0x30], xmm0
dec ecx
mov eax, dword [eax]
dec eax
mov dword [ebp - 0x18], eax
dec eax
mov eax, dword [ebp - 0x30]
dec eax
test ecx, ecx
jle 0x4316db
dec esp
mov eax, dword [ebp - 0x28]
dec esp
add ecx, eax
xor edx, edx
dec esp
lea ecx, [edx + edx*4]
dec ecx
movsx edx, byte [eax]
dec esp
add edx, ecx
dec ecx
inc eax
dec ecx
cmp eax, ecx
jb 0x4316c6
jmp 0x4316dd
xor edx, edx
dec eax
imul edi, eax, 0x1000193
dec eax
xor edi, edx
dec esp
mov esp, dword [esi + 8]
dec ebp
test esp, esp
je 0x431705
dec ebp
invalid
jmp 0x431783
mov ecx, 0x30
call 0x63282c
dec ecx
mov ebp, eax
movaps xmm0, xmmword [ebp - 0x30]
movaps xmm1, xmmword [ebp - 0x20]
movups xmmword [eax + 0x10], xmm0
movups xmmword [eax + 0x20], xmm1
dec eax
mov dword [eax + 8], edi
dec eax
mov dword [eax], 0
dec eax
mov eax, dword [esi + 0x18]
dec eax
inc eax
js 0x4317be
xorps xmm0, xmm0
dec eax
cvtpi2ps xmm0, mm0
jmp 0x4317d6
dec eax
mov ecx, eax
dec eax
shr ecx, 1
and eax, 1
dec eax
or eax, ecx
xorps xmm0, xmm0
dec eax
cvtpi2ps xmm0, mm0
addss xmm0, xmm0
dec esp
mov ecx, esp
dec eax
shr ecx, 1
inc esp
mov eax, esp
and eax, 1
dec eax
or eax, ecx
dec ebp
test esp, esp
js 0x4317f4
xorps xmm1, xmm1
dec ecx
cvtpi2ps xmm1, mm4
jmp 0x431800
xorps xmm1, xmm1
dec eax
cvtpi2ps xmm1, mm0
addss xmm1, xmm1
movss xmm2, dword [esi + 0x20]
je 0x431814
mulss xmm1, xmm2
ucomiss xmm0, xmm1
jbe 0x431a93
divss xmm0, xmm2
roundss xmm0, xmm0, 0xa
dec eax
cvttps2pi mm0, xmm0
dec eax
mov edx, eax
dec eax
sar edx, 0x3f
subss xmm0, dword [0x2a2486]
dec eax
cvttps2pi mm1, xmm0
dec eax
and ecx, edx
dec eax
or ecx, eax
dec ecx
cmp esp, 3
setb al
dec ecx
lea edx, [esp - 1]
dec ecx
test esp, edx
setne dl
or dl, al
movzx eax, dl
dec edx
lea eax, [eax]
dec eax
cmp eax, ecx
dec eax
cmova ecx, eax
inc ecx
mov esi, 2
dec eax
cmp ecx, 1
dec esp
mov dword [ebp - 8], ebp
je 0x431889
dec eax
lea eax, [ecx - 1]
dec eax
test ecx, eax
jne 0x43187d
dec ecx
mov esi, ecx
jmp 0x431889
call 0x2272e4
dec ecx
mov esi, eax
dec esp
mov ebp, dword [ebp - 8]
dec esp
mov edi, dword [esi + 8]
dec ebp
cmp esi, edi
jbe 0x431905
dec esp
mov ebx, esi
dec eax
mov eax, ebx
dec eax
shr eax, 0x3d
jne 0x431b06
dec eax
lea ecx, [ebx*8]
call 0x63282c
dec eax
mov ecx, dword [esi]
dec eax
mov dword [esi], eax
dec eax
test ecx, ecx
je 0x4318bf
call 0x632868
dec eax
mov dword [esi + 8], ebx
xor eax, eax
dec esp
mov ebp, dword [ebp - 8]
dec eax
mov ecx, dword [esi]
dec eax
mov dword [ecx + eax*8], 0
dec eax
inc eax
dec eax
cmp ebx, eax
jne 0x4318c9
dec esp
mov ecx, dword [esi + 0x10]
dec ebp
test ecx, ecx
je 0x431a6b
dec esp
lea edx, [esi + 0x10]
dec ecx
mov ecx, dword [ecx + 8]
dec esp
invalid
jae 0x431a6b
dec eax
mov eax, dword [esi + 0x18]
dec eax
test eax, eax
js 0x4319ba
xorps xmm0, xmm0
dec eax
cvtpi2ps xmm0, mm0
jmp 0x4319d2
dec eax
mov ecx, eax
dec eax
shr ecx, 1
and eax, 1
dec eax
or eax, ecx
xorps xmm0, xmm0
dec eax
cvtpi2ps xmm0, mm0
addss xmm0, xmm0
divss xmm0, dword [esi + 0x20]
roundss xmm0, xmm0, 0xa
dec eax
cvttps2pi mm1, xmm0
dec eax
mov edx, ecx
subss xmm0, dword [0x2a22cb]
dec eax
cvttps2pi mm0, xmm0
dec eax
sar edx, 0x3f
dec eax
and eax, edx
dec eax
or eax, ecx
dec ecx
cmp edi, 3
jb 0x431a2b
dec ecx
invalid
dec eax
mov ecx, eax
call 0x2272e4
dec eax
mov ebx, eax
dec esp
mov ebp, dword [ebp - 8]
dec ecx
cmp esi, ebx
dec ecx
cmova ebx, esi
dec esp
cmp ebx, edi
jae 0x431a6b
dec eax
test ebx, ebx
jne 0x431895
dec eax
mov ecx, dword [esi]
dec eax
mov dword [esi], 0
dec eax
test ecx, ecx
je 0x431a63
call 0x632868
dec eax
mov dword [esi + 8], 0
dec esp
mov esp, dword [esi + 8]
dec ecx
lea ebx, [esp - 1]
dec ecx
test esp, ebx
jne 0x431a7e
dec eax
and ebx, edi
jmp 0x431a93
dec esp
cmp edi, esp
jae 0x431a88
dec eax
mov ebx, edi
jmp 0x431a93
dec eax
mov eax, edi
xor edx, edx
dec ecx
div esp
dec eax
mov ebx, edx
dec eax
mov ecx, dword [esi]
dec eax
mov eax, dword [ecx + ebx*8]
dec eax
test eax, eax
je 0x431aa8
dec eax
mov ecx, dword [eax]
dec ecx
mov dword [ebp], ecx
jmp 0x431aec
dec eax
lea eax, [esi + 0x10]
dec eax
mov edx, dword [esi + 0x10]
dec ecx
mov dword [ebp], edx
dec esp
mov dword [esi + 0x10], ebp
dec eax
mov dword [ecx + ebx*8], eax
dec ecx
mov eax, dword [ebp]
dec eax
test eax, eax
je 0x431aef
dec eax
mov eax, dword [eax + 8]
dec ecx
lea ecx, [esp - 1]
dec ecx
test esp, ecx
jne 0x431ad8
dec eax
and eax, ecx
jmp 0x431ae5
dec esp
cmp eax, esp
jb 0x431ae5
xor edx, edx
dec ecx
div esp
dec eax
mov eax, edx
dec eax
shl eax, 3
dec eax
add eax, dword [esi]
dec esp
mov dword [eax], ebp
dec eax
inc dword [esi + 0x18]
mov al, 1
dec eax
add esp, 0x58
pop ebx
pop edi
pop esi
inc ecx
pop esp
inc ecx
pop ebp
inc ecx
pop esi
inc ecx
pop edi
pop ebp
ret
call 0xffe79e94
int3