Function at 0x401c40
Capabilities:
Hash data using murmur3

Disassembly:
sub esp, 0x13c
fldz
mov eax, dword [esp + 0x144]
fst dword [esp]
push ebx
fstp dword [esp + 0xc]
push ebp
fldz
xor ebp, ebp
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], ebp
fstp qword [esp + 0x18]
fld qword [0x41f3d0]
push esi
fld qword [0x41f3c8]
xor ecx, ecx
add eax, 2
lea ebx, [ebp + 1]
push edi
movzx edx, byte [eax - 2]
movzx esi, byte [eax - 1]
shl edx, 8
or edx, esi
movzx esi, byte [eax]
shl edx, 8
or edx, esi
movzx esi, byte [eax + 1]
shl edx, 8
or edx, esi
mov dword [esp + ecx*4 + 0x4c], edx
mov edx, dword [0x423260]
add dword [0x423260], ebx
add edx, 0x7d485c3
cmp edx, 0x994d5c0f
je 0x401cc2
fxch st(1)
fst qword [esp + 0x20]
fxch st(1)
mov dx, word [0x42396c]
add word [0x42396c], bx
movsx edx, dx
add edx, 0x55a9b140
cmp edx, 0xb6958623
jge 0x401cfb
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
fadd qword [esp + 0x20]
fsub st(1)
fmul dword [esp + 0x10]
fstp dword [esp + 0x10]
add ecx, ebx
add eax, 4
cmp ecx, 0x10
jne 0x401c7e
mov esi, dword [esp + 0x150]
fstp st(1)
add esi, 8
fstp st(0)
push 0x100
mov ecx, 9
lea edi, [esp + 0x2c]
mov dword [esp + 0x1c], esi
push 0x423278
rep movsd dword es:[edi], dword [esi]
call fcn.004016a0
mov dword [esp + 0x18], eax
fld qword [0x41f3c0]
lea eax, [esp + 0x30]
sub eax, 4
lea esi, [esp + 0x54]
add esp, 8
xor edi, edi
mov dword [esp + 0x1c], eax
sub esi, 8
cmp edi, 0xf
jle 0x401d8d
mov eax, dword [esi]
mov ecx, dword [esi - 0x34]
mov edx, eax
rol edx, 0xf
mov ebp, eax
rol ebp, 0xd
xor edx, ebp
shr eax, 0xa
xor edx, eax
mov eax, ecx
rol eax, 0xe
mov ebp, ecx
ror ebp, 7
xor eax, ebp
shr ecx, 3
xor eax, ecx
add edx, eax
add edx, dword [esi - 0x38]
add edx, dword [esi - 0x14]
mov dword [esi + 8], edx
add word [0x4233c8], bx
mov cx, word [0x4233c8]
mov ebx, dword [esp + 0x3c]
movsx edx, cx
mov ecx, dword [esp + 0x38]
sub edx, 0x654f50fc
mov dword [esp + 0x14], edx
mov eax, ecx
ror eax, 0xb
mov edx, ecx
fild dword [esp + 0x14]
rol edx, 7
xor eax, edx
mov edx, ecx
fstp qword [esp + 0x20]
ror edx, 6
xor eax, edx
mov edx, dword [esp + 0x40]
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 + 0x28]
add eax, dword [esi + 8]
mov ebx, ecx
add eax, dword [esp + 0x44]
mov edx, ecx
add dword [esp + 0x34], eax
ror ebx, 0xd
rol edx, 0xa
xor ebx, edx
mov edx, ecx
ror edx, 2
xor ebx, edx
mov edx, dword [esp + 0x2c]
mov ebp, edx
or ebp, ecx
and ebp, dword [esp + 0x30]
and edx, ecx
mov ecx, dword [esp + 0x1c]
add ebx, eax
or ebp, edx
add ebp, ebx
mov eax, 8
mov dword [esp + 0x44], ebp
lea ebx, [eax - 7]
fld dword [0x423274]
mov edx, dword [ecx + eax*4]
fadd st(1)
mov dword [esp + eax*4 + 0x28], edx
sub eax, ebx
fstp dword [0x42306c]
jne 0x401e24
mov eax, dword [esp + 0x48]
add edi, ebx
add esi, 4
mov dword [esp + 0x28], eax
cmp edi, 0x40
jne 0x401d56
mov esi, dword [esp + 0x10]
fstp st(0)
fldz
push 0x100
push 0
fstp qword [esp + 0x28]
mov dword [esp + 0x1c], 0
push esi
call fcn.0040be70
fld qword [0x424d90]
fadd qword [0x41f3b8]
push esi
fstp qword [0x424d90]
call fcn.0040bdc5
mov ecx, dword [esp + 0x28]
add esp, 0x10
pop edi
xor eax, eax
pop esi
mov edx, dword [esp + eax*4 + 0x20]
add dword [ecx], edx
add eax, ebx
add ecx, 4
cmp eax, 8
jne 0x401e97
pop ebp
pop ebx
add esp, 0x13c
ret