Function at 0x402880
Capabilities:
Hash data using murmur3

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x154
fldz
mov dword [esp + 0x28], 0
fstp qword [esp + 0x1c]
push ebx
fldz
push esi
mov esi, dword [ebp + 0xc]
fst dword [esp + 0x34]
fst dword [esp + 0x14]
push edi
fstp dword [esp + 0x24]
xor edi, edi
fld qword [0x41f4f8]
add esi, 2
movzx eax, byte [esi - 2]
fld dword [esp + 0x24]
movzx ecx, byte [esi - 1]
fadd st(1)
movzx edx, byte [esi]
shl eax, 8
or eax, ecx
movzx ecx, byte [esi + 1]
shl eax, 8
or eax, edx
mov dx, word [0x425b68]
shl eax, 8
or eax, ecx
mov dword [esp + edi*4 + 0x60], eax
movsx eax, dx
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fmulp st(1)
call fcn.0040b310
inc edi
add esi, 4
mov word [0x425b68], ax
cmp edi, 0x10
jne 0x4028b9
mov ecx, dword [0x425ae8]
fstp st(0)
mov esi, dword [ebp + 8]
mov dword [esp + 0x10], ecx
fild dword [esp + 0x10]
add esi, 8
push 0x100
mov ecx, 9
fadd dword [esp + 0x28]
lea edi, [esp + 0x40]
mov dword [esp + 0x24], esi
push 0x4244c8
fstp qword [0x423460]
dec dword [0x425ae8]
rep movsd dword es:[edi], dword [esi]
call fcn.00401c10
mov dword [esp + 0x18], eax
fld1
lea eax, [esp + 0x44]
fld qword [0x41f4f0]
xor edi, edi
fld qword [0x41f4e8]
sub eax, 4
fld qword [0x41f4e0]
lea esi, [esp + 0x68]
fld qword [0x41f4d8]
add esp, 8
mov dword [esp + 0x14], edi
mov dword [esp + 0x1c], eax
sub esi, 8
cmp edi, 0xf
jle 0x402a02
mov ecx, dword [esi - 0x34]
fld qword [esp + 0x28]
mov eax, dword [esi]
fsub st(5)
mov edx, ecx
rol edx, 0xe
mov ebx, ecx
shr ecx, 3
ror ebx, 7
xor edx, ebx
xor edx, ecx
mov ecx, eax
rol ecx, 0xf
mov ebx, eax
rol ebx, 0xd
xor ecx, ebx
shr eax, 0xa
xor ecx, eax
add edx, ecx
add edx, dword [esi - 0x38]
add edx, dword [esi - 0x14]
mov dword [esi + 8], edx
fstp qword [esp + 0x28]
inc word [0x42544c]
fld qword [esp + 0x28]
mov dx, word [0x42544c]
fsub st(4)
mov ecx, dword [0x425240]
movsx eax, dx
mov dword [esp + 0xc], eax
fild dword [esp + 0xc]
mov dword [esp + 0xc], ecx
fsubp st(1)
fild dword [esp + 0xc]
fmulp st(1)
call fcn.0040b310
mov dword [0x425240], eax
fld dword [esp + 0x38]
fmul st(3)
fstp dword [esp + 0x38]
fld qword [esp + 0x28]
mov edx, dword [0x425a20]
fsub st(2)
mov dword [esp + 0xc], edx
fild dword [esp + 0xc]
fmulp st(1)
call fcn.0040b310
mov dword [0x425a20], eax
fld qword [esp + 0x28]
fsub st(5)
mov ecx, 0xdfe33dfb
fstp qword [esp + 0x28]
mov eax, dword [esp + 0x34]
sub ecx, eax
add ecx, dword [0x425a20]
mov dword [esp + 0xc], ecx
fild dword [esp + 0xc]
fld dword [esp + 0x18]
fcompp
fnstsw ax
test ah, 0x41
jp 0x402a74
mov edx, dword [esp + 0x34]
mov dword [esp + 0xc], edx
fild dword [esp + 0xc]
fmul qword [0x4253d8]
fstp qword [0x4253d8]
mov ecx, dword [esp + 0x4c]
fld qword [0x425528]
mov ebx, dword [esp + 0x50]
fld dword [esp + 0x24]
mov eax, ecx
fsub st(2)
ror eax, 0xb
mov edx, ecx
rol edx, 7
fsubp st(1)
xor eax, edx
mov edx, ecx
ror edx, 6
xor eax, edx
mov edx, dword [esp + 0x54]
xor ebx, edx
and ebx, ecx
mov ecx, dword [esp + 0x10]
xor ebx, edx
add eax, ebx
add eax, dword [ecx + edi*4]
mov ecx, dword [esp + 0x3c]
add eax, dword [esi + 8]
mov edi, ecx
add eax, dword [esp + 0x58]
mov edx, ecx
add dword [esp + 0x48], eax
ror edi, 0xd
rol edx, 0xa
xor edi, edx
mov edx, ecx
ror edx, 2
xor edi, edx
mov edx, dword [esp + 0x40]
mov ebx, edx
or ebx, ecx
and ebx, dword [esp + 0x44]
and edx, ecx
mov ecx, dword [esp + 0x1c]
add edi, eax
or ebx, edx
add ebx, edi
mov dword [esp + 0x58], ebx
fstp qword [0x425528]
mov eax, 8
sub eax, 1
mov edx, dword [ecx + eax*4 + 4]
mov dword [esp + eax*4 + 0x40], edx
jne 0x402af9
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x5c]
inc edi
add esi, 4
mov dword [esp + 0x3c], eax
mov dword [esp + 0x14], edi
cmp edi, 0x40
jne 0x402986
mov esi, dword [esp + 0x10]
fstp st(4)
fstp st(1)
push 0x100
fstp st(0)
push 0
fstp st(0)
push esi
fstp st(0)
fldz
fstp dword [esp + 0x24]
mov dword [esp + 0x20], 0
call fcn.0040b400
push esi
call fcn.0040b14f
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x2c], ecx
fild dword [esp + 0x2c]
add esp, 0x10
fsub dword [esp + 0x18]
call fcn.0040b310
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x14], eax
xor eax, eax
mov edx, dword [esp + eax*4 + 0x3c]
add dword [ecx], edx
inc eax
add ecx, 4
cmp eax, 8
jne 0x402b74
mov eax, dword [0x4231b0]
add eax, 0x7a3c3d65
mov dword [esp + 0x20], eax
fild dword [esp + 0x20]
pop edi
pop esi
pop ebx
fstp qword [0x4231f8]
mov esp, ebp
pop ebp
ret