Function at 0x403aa0
Capabilities:
Hash data using murmur3

Disassembly:
sub esp, 0x148
fldz
xor eax, eax
mov word [esp], ax
push ebx
mov dword [esp + 0xc], eax
fst dword [esp + 0x24]
mov eax, dword [esp + 0x154]
fstp dword [esp + 0x18]
push ebp
push esi
xor ecx, ecx
add eax, 2
push edi
mov word [esp + 0x20], cx
or esi, 0xffffffff
movzx edx, byte [eax - 2]
movzx edi, byte [eax - 1]
shl edx, 8
or edx, edi
movzx edi, byte [eax]
shl edx, 8
or edx, edi
movzx edi, byte [eax + 1]
shl edx, 8
or edx, edi
mov dword [esp + ecx*4 + 0x58], edx
mov dx, word [0x423da0]
mov di, word [esp + 0x10]
movsx edx, dx
movsx edi, di
add edi, edx
mov dword [esp + 0x1c], edi
inc ecx
add eax, 4
fild dword [esp + 0x1c]
fadd qword [0x423140]
fstp qword [0x423140]
add word [0x423da0], si
add dword [esp + 0x10], esi
cmp ecx, 0x10
jne 0x403ad2
mov esi, dword [esp + 0x15c]
add esi, 8
push 0x100
mov ecx, 9
lea edi, [esp + 0x38]
mov dword [esp + 0x30], esi
push 0x425e70
rep movsd dword es:[edi], dword [esi]
call fcn.00402510
mov dword [esp + 0x24], eax
fld1
lea eax, [esp + 0x3c]
fld qword [0x41f508]
sub eax, 4
fld qword [0x41f500]
lea esi, [esp + 0x60]
fld qword [0x41f4f8]
add esp, 8
fld qword [0x41f4f0]
xor edi, edi
mov dword [esp + 0x28], eax
sub esi, 8
cmp edi, 0xf
jle 0x403bc4
mov eax, dword [esi]
mov ecx, dword [esi - 0x34]
mov edx, eax
rol edx, 0xf
mov ebx, eax
rol ebx, 0xd
xor edx, ebx
shr eax, 0xa
xor edx, eax
mov eax, ecx
rol eax, 0xe
mov ebx, ecx
ror ebx, 7
xor eax, ebx
shr ecx, 3
xor eax, ecx
add edx, eax
add edx, dword [esi - 0x38]
add edx, dword [esi - 0x14]
mov dword [esi + 8], edx
mov ecx, dword [esp + 0x44]
fld dword [esp + 0x24]
mov ebx, dword [esp + 0x48]
fadd st(5)
mov eax, ecx
ror eax, 0xb
mov edx, ecx
rol edx, 7
xor eax, edx
mov edx, ecx
ror edx, 6
xor eax, edx
mov edx, dword [esp + 0x4c]
xor ebx, edx
and ebx, ecx
mov ecx, dword [esp + 0x1c]
xor ebx, edx
add eax, ebx
add eax, dword [ecx + edi*4]
mov ecx, dword [esp + 0x34]
add eax, dword [esi + 8]
mov ebx, ecx
add eax, dword [esp + 0x50]
mov edx, ecx
add dword [esp + 0x40], eax
ror ebx, 0xd
rol edx, 0xa
xor ebx, edx
mov edx, ecx
ror edx, 2
xor ebx, edx
mov edx, dword [esp + 0x38]
mov ebp, edx
or ebp, ecx
and ebp, dword [esp + 0x3c]
and edx, ecx
add ebx, eax
or ebp, edx
add ebp, ebx
mov dword [esp + 0x50], ebp
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fsub st(4)
fadd qword [0x425930]
fcomp st(3)
fnstsw ax
test ah, 5
jp 0x403cb7
mov ax, word [0x424674]
movsx ecx, ax
sub ecx, 0x698de772
mov dword [esp + 0x14], ecx
fild dword [esp + 0x14]
fld qword [0x425e58]
fsubr st(3)
fucompp
fnstsw ax
fld qword [0x425e58]
fsub st(5)
fstp qword [0x425e58]
test ah, 0x44
jnp 0x403cb7
mov dx, word [esp + 0x20]
mov cx, word [esp + 0x10]
movsx eax, dx
movsx edx, cx
lea eax, [eax + edx - 0x1309f68e]
mov dword [esp + 0x14], eax
mov ebx, 1
fild dword [esp + 0x14]
fmul qword [0x423cc8]
fstp qword [0x423cc8]
add dword [esp + 0x20], ebx
jmp 0x403cbc
mov ebx, 1
mov ecx, 0xfffff224
mov word [0x423d78], cx
mov ecx, dword [esp + 0x28]
mov eax, 8
mov edx, dword [ecx + eax*4]
mov dword [esp + eax*4 + 0x34], edx
sub eax, ebx
jne 0x403cd1
add word [0x42581c], bx
mov ax, word [esp + 0x10]
movzx edx, word [esp + 0x10]
movsx ecx, ax
movsx eax, dx
movzx edx, word [0x42581c]
sub ecx, eax
movsx eax, dx
add eax, ecx
add dword [0x42467c], eax
dec dword [esp + 0x10]
movzx edx, word [esp + 0x10]
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x18]
movsx eax, dx
movzx edx, word [esp + 0x10]
sub ecx, eax
movsx eax, dx
cmp eax, ecx
je 0x403d5a
mov ecx, dword [0x423d68]
mov dword [esp + 0x14], ecx
fild dword [esp + 0x14]
fsub dword [esp + 0x30]
mov edx, dword [esp + 0x18]
mov dword [esp + 0x14], edx
fsub st(1)
fild dword [esp + 0x14]
fmulp st(1)
call fcn.0040b550
mov dword [esp + 0x18], eax
jmp 0x403d78
fld qword [0x425fb8]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
fsubp st(1)
fstp qword [0x425fb8]
add dword [esp + 0x18], ebx
add edi, ebx
add esi, 4
cmp edi, 0x40
jne 0x403b8d
mov esi, dword [esp + 0x1c]
fstp st(4)
fstp st(2)
xor edx, edx
push 0x100
fstp st(0)
xor ecx, ecx
fstp st(0)
push edx
fstp st(0)
mov word [esp + 0x20], cx
push esi
mov word [esp + 0x24], dx
call fcn.0040b690
push esi
call fcn.0040b5fb
mov ecx, dword [esp + 0x3c]
add esp, 0x10
xor eax, eax
lea ecx, [ecx]
mov edx, dword [esp + eax*4 + 0x34]
add dword [ecx], edx
movzx edx, word [0x424784]
add edx, 0x11982f8d
add eax, ebx
add ecx, 4
mov word [0x424784], dx
cmp eax, 8
jne 0x403dc0
movzx eax, word [esp + 0x10]
pop edi
pop esi
add eax, 0x7cfb7c99
pop ebp
mov word [esp + 4], ax
pop ebx
add esp, 0x148
ret