Function at 0x10076c40
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100a5a01
mov eax, dword fs:[0]
push eax
sub esp, 0x104
mov eax, dword [0x100bc040]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, edx
mov dword [ebp - 0xe0], edi
mov dword [ebp - 0xa0], ecx
call fcn.10024c20
mov esi, eax
mov eax, dword [0x1019fdb0]
mov dword [ebp - 0xd0], eax
mov ecx, dword [esi + 0x264]
mov edx, dword [esi + 0xe4]
mov dword [ebp - 0xcc], ecx
mov ecx, dword [esi + 0xec]
push dword [ecx + edx*4 - 4]
mov ecx, dword [ebp - 0xa0]
xor edx, edx
call fcn.1004bce0
mov ecx, dword [esi]
add esp, 4
mov dword [ebp - 0xa4], eax
cmp dword [ecx + 0x3e7c], eax
jne 0x10076ce6
push 0
push dword [ebp - 0xa0]
mov edx, 0xb
mov ecx, eax
call fcn.10063ef0
mov eax, dword [ebp - 0xa4]
add esp, 8
mov edx, dword [ebp - 0xa0]
push ecx
mov dword [esp], 0xbf800000
lea ecx, [ebp - 0x88]
push 1
push 0
mov dword [ebp - 0xc8], eax
call fcn.10051a20
mov eax, dword [0x1019fdb0]
lea ecx, [ebp - 0x80]
add esp, 4
mov eax, dword [eax + 0x3e48]
mov dword [esp + 4], 0x41880000
mov dword [esp], 0x41f00000
movss xmm0, dword [eax + 0x1c]
movss dword [ebp - 0xb0], xmm0
call fcn.100248c0
movss xmm0, dword [esi + 0xf0]
lea ecx, [ebp - 0xbc]
movss dword [ebp - 0x18], xmm0
sub esp, 8
movss xmm0, dword [esi + 0xf4]
movss dword [ebp - 0x14], xmm0
movss xmm0, dword [ebp - 0x7c]
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0xb0]
movss dword [esp], xmm0
call fcn.100248c0
movss xmm0, dword [ebp - 0x14]
lea ecx, [ebp - 0xf0]
sub esp, 8
addss xmm0, dword [eax + 4]
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x18]
addss xmm0, dword [eax]
movss dword [esp], xmm0
call fcn.100248c0
movss xmm0, dword [ebp - 0xb0]
lea ecx, [ebp - 0xe8]
subss xmm0, dword [ebp - 0x80]
sub esp, 8
mov dword [esp + 4], 0
movss dword [esp], xmm0
call fcn.100248c0
movss xmm0, dword [ebp - 0x14]
lea ecx, [ebp - 0xdc]
sub esp, 8
addss xmm0, dword [eax + 4]
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x18]
addss xmm0, dword [eax]
movss dword [esp], xmm0
call fcn.100248c0
lea eax, [ebp - 0xf0]
push eax
lea eax, [ebp - 0xdc]
push eax
lea ecx, [ebp - 0x28]
call fcn.10024b30
movss xmm0, dword [ebp - 0x84]
lea ecx, [ebp - 0xe8]
sub esp, 8
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0xb0]
movss dword [esp], xmm0
call fcn.100248c0
movss xmm0, dword [ebp - 0x14]
lea ecx, [ebp - 0xdc]
sub esp, 8
addss xmm0, dword [eax + 4]
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x18]
addss xmm0, dword [eax]
movss dword [esp], xmm0
call fcn.100248c0
lea eax, [ebp - 0xdc]
push eax
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0x98]
call fcn.10024b30
mov esi, dword [ebp - 0xa4]
lea ecx, [ebp - 0x98]
push 0
push 0
mov edx, esi
call fcn.1005c250
mov eax, dword [ebp - 0xd0]
add esp, 4
movss xmm0, dword [eax + 0x37c8]
lea eax, [ebp - 0x98]
movss dword [esp], xmm0
push eax
call fcn.10024c50
push 0
lea eax, [ebp - 0x99]
mov edx, esi
push eax
lea eax, [ebp - 0xa9]
push eax
lea ecx, [ebp - 0x28]
call fcn.100747f0
add esp, 0x14
mov byte [ebp - 0x99], al
test al, al
je 0x10076f08
cmp byte [edi], 0
sete cl
mov byte [edi], cl
mov ecx, dword [0x1019fdb0]
mov edx, dword [ecx + 0x3e94]
cmp edx, esi
je 0x10076ef8
test edx, edx
jne 0x10076f01
mov word [ecx + 0x3ea4], 0x101
or dword [ecx + 0x46c4], 4
mov eax, dword fs:[0x2c]
mov ecx, dword [0x1019fc78]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x10201ec8]
cmp eax, dword [ecx + 4]
jle 0x10076f7a
push 0x10201ec8
call fcn.100a085e
add esp, 4
cmp dword [0x10201ec8], 0xffffffff
jne 0x10076f7a
xorps xmm0, xmm0
mov dword [ebp - 4], 0
mov ecx, 0x10201ecc
movups xmmword [0x10201ecc], xmm0
movups xmmword [0x10201edc], xmm0
call fcn.10081a30
push 0x100a6be0
call fcn.100a0781
push 0x10201ec8
mov dword [ebp - 4], 0xffffffff
call fcn.100a080d
add esp, 8
mov eax, dword [ebp - 0xa4]
movzx eax, al
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
movzx eax, byte [ebp - 0xa3]
xor ecx, eax
movzx eax, byte [ebp - 0xa2]
imul ecx, ecx, 0x1000193
xor ecx, eax
movzx eax, byte [ebp - 0xa1]
imul ecx, ecx, 0x1000193
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, 0x10201ecc
push eax
mov dword [ebp - 0xd0], eax
lea eax, [ebp - 0xc8]
push eax
lea eax, [ebp - 0xe8]
push eax
call fcn.10087ab0
mov esi, dword [0x10201ed0]
mov eax, dword [eax + 4]
test eax, eax
cmovne esi, eax
cmp esi, dword [0x10201ed0]
jne 0x1007704a
mov eax, dword [ebp - 0xa4]
mov ecx, 0x10201ecc
mov dword [ebp - 0xb4], eax
lea eax, [ebp - 0xb4]
push eax
lea eax, [ebp - 0xbc]
mov dword [ebp - 0xb0], 0
push eax
call fcn.10084890
push dword [ebp - 0xd0]
lea eax, [ebp - 0xc8]
mov ecx, 0x10201ecc
push eax
lea eax, [ebp - 0xbc]
push eax
call fcn.10087ab0
mov esi, dword [0x10201ed0]
mov eax, dword [eax + 4]
test eax, eax
cmovne esi, eax
cmp byte [edi], 0
movss xmm1, dword [0x100b2860]
jne 0x1007705a
xorps xmm1, xmm1
subss xmm1, dword [esi + 0xc]
lea ecx, [ebp - 0x58]
mulss xmm1, dword [0x100b27c4]
addss xmm1, dword [esi + 0xc]
movss dword [esi + 0xc], xmm1
call fcn.10024930
lea ecx, [ebp - 0x68]
call fcn.10024930
lea ecx, [ebp - 0x78]
call fcn.10024930
lea ecx, [ebp - 0x48]
call fcn.10024930
lea ecx, [ebp - 0x38]
call fcn.10024930
cmp dword [0x1019c7f1], 0
lea ecx, [ebp - 0xc4]
push 0xff
jne 0x10077165
push 0xdc
push 0xdc
push 0xdc
call fcn.10024990
push 1
push ecx
mov ecx, 0x10201df8
movups xmm0, xmmword [eax]
lea eax, [ebp - 0xc4]
movups xmmword [ebp - 0x58], xmm0
movss xmm0, dword [esi + 0xc]
mulss xmm0, dword [0x100b27f8]
movss dword [esp], xmm0
push eax
call fcn.10024ca0
push 0xff
push 0xb4
push 0xb4
movups xmm0, xmmword [eax]
push 0xb4
lea ecx, [ebp - 0xc4]
movups xmmword [ebp - 0x68], xmm0
call fcn.10024990
push 1
push ecx
mov ecx, 0x10201df8
movups xmm0, xmmword [eax]
lea eax, [ebp - 0xc4]
movups xmmword [ebp - 0x78], xmm0
movss xmm0, dword [esi + 0xc]
cvtps2pd xmm0, xmm0
mulsd xmm0, qword [0x100b28a8]
cvtpd2ps xmm0, xmm0
movss dword [esp], xmm0
push eax
call fcn.10024ca0
push 0xff
push 0x96
push 0x96
push 0x96
jmp 0x100771f1
push 0x28
push 0x28
push 0x28
call fcn.10024990
push 1
push ecx
mov ecx, 0x10201df8
movups xmm0, xmmword [eax]
lea eax, [ebp - 0xc4]
movups xmmword [ebp - 0x58], xmm0
movss xmm0, dword [esi + 0xc]
mulss xmm0, dword [0x100b281c]
movss dword [esp], xmm0
push eax
call fcn.10024ca0
push 0xff
push 0x50
push 0x50
movups xmm0, xmmword [eax]
push 0x50
lea ecx, [ebp - 0xc4]
movups xmmword [ebp - 0x68], xmm0
call fcn.10024990
push 1
push ecx
mov ecx, 0x10201df8
movups xmm0, xmmword [eax]
lea eax, [ebp - 0xc4]
movups xmmword [ebp - 0x78], xmm0
movss xmm0, dword [esi + 0xc]
cvtps2pd xmm0, xmm0
cvtpd2ps xmm0, xmm0
movss dword [esp], xmm0
push eax
call fcn.10024ca0
push 0xff
push 0x64
push 0x64
push 0x64
movups xmm0, xmmword [eax]
lea ecx, [ebp - 0xc4]
movups xmmword [ebp - 0x48], xmm0
call fcn.10024990
cmp byte [edi], 0
lea ecx, [ebp - 0x48]
movups xmm0, xmmword [eax]
lea eax, [ebp - 0x38]
cmove ecx, eax
movups xmmword [ebp - 0x38], xmm0
call fcn.10024b10
movss xmm0, dword [ebp - 0x1c]
lea ecx, [ebp - 0xdc]
addss xmm0, dword [ebp - 0x24]
sub esp, 8
mov edi, eax
mulss xmm0, dword [0x100b2804]
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x20]
addss xmm0, dword [ebp - 0x28]
mulss xmm0, dword [0x100b2804]
movss dword [esp], xmm0
call fcn.100248c0
movss xmm0, dword [ebp - 0x84]
lea ecx, [ebp - 0xbc]
mulss xmm0, dword [0x100b2804]
sub esp, 8
movss xmm1, dword [ebp - 0xd8]
subss xmm1, xmm0
movss xmm0, dword [ebp - 0x98]
movss dword [esp + 4], xmm1
movss dword [esp], xmm0
call fcn.100248c0
push 0
push ecx
mov dword [esp], 0
xorps xmm2, xmm2
push 0
push dword [ebp - 0xa0]
push edi
mov edi, dword [ebp - 0xcc]
mov ecx, edi
push eax
push 0
call fcn.10068fa0
push 0
push ecx
lea ecx, [ebp - 0x58]
mov dword [esp], 0x41200000
call fcn.10024b10
push eax
lea eax, [ebp - 0x20]
mov ecx, edi
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.10068d20
push 0
push ecx
lea ecx, [ebp - 0x68]
mov dword [esp], 0x41200000
call fcn.10024b10
push eax
lea eax, [ebp - 0x20]
mov ecx, edi
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.10068d20
push ecx
mov dword [esp], 0x3f800000
push 0
push ecx
lea ecx, [ebp - 0x78]
mov dword [esp], 0x41200000
call fcn.10024b10
push eax
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x28]
push eax
mov ecx, edi
call fcn.10068b90
mov eax, dword [ebp - 0xe0]
cmp byte [eax], 0
je 0x10077353
push 1
push ecx
lea eax, [ebp - 0x110]
mov dword [esp], 0x3f800000
push eax
mov ecx, 0x10201df8
call fcn.10024ca0
jmp 0x10077364
movups xmm0, xmmword [ebp - 0x38]
lea eax, [ebp - 0x100]
movups xmmword [ebp - 0x100], xmm0
mov ecx, eax
call fcn.10024b10
movss xmm0, dword [ebp - 0x1c]
lea ecx, [ebp - 0xd4]
addss xmm0, dword [ebp - 0x24]
sub esp, 8
mov edi, eax
mulss xmm0, dword [0x100b2804]
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x20]
addss xmm0, dword [ebp - 0x28]
mulss xmm0, dword [0x100b2804]
movss dword [esp], xmm0
call fcn.100248c0
movss xmm0, dword [ebp - 0x28]
lea ecx, [ebp - 0xa8]
movss xmm1, dword [esi + 0xc]
sub esp, 8
addss xmm0, dword [0x100b2904]
mulss xmm1, dword [0x100b2918]
addss xmm1, xmm0
movss xmm0, dword [ebp - 0xd0]
movss dword [esp + 4], xmm0
movss dword [esp], xmm1
call fcn.100248c0
movss xmm2, dword [0x100b2900]
mov ecx, dword [ebp - 0xcc]
push 0x1e
push edi
push eax
call fcn.10068ef0
mov al, byte [ebp - 0x99]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.100a046e
mov esp, ebp
pop ebp
ret