Function at 0x403ba0
Capabilities:
Hash data using murmur3

Disassembly:
sub esp, 0x14c
fldz
mov eax, dword [esp + 0x154]
fstp dword [esp]
push ebx
fldz
xor ebx, ebx
mov dword [esp + 0x14], ebx
fst qword [esp + 0x24]
push esi
mov dword [esp + 0x14], ebx
fstp qword [esp + 0x1c]
xor ecx, ecx
push edi
add eax, 2
mov edi, 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 + 0x58], edx
inc ecx
add eax, 4
cmp ecx, 0x10
jne 0x403bd0
mov esi, dword [esp + 0x15c]
add esi, 8
push 0x100
mov ecx, 9
lea edi, [esp + 0x38]
mov dword [esp + 0x24], esi
push 0x423328
rep movsd dword es:[edi], dword [esi]
call fcn.004016a0
mov edx, dword [esp + 0x3c]
fld qword [0x41e508]
mov dword [esp + 0x30], eax
fld1
lea eax, [esp + 0x3c]
add esp, 8
sub eax, 4
lea edi, [esp + 0x58]
mov dword [esp + 0x14], eax
sub edi, 8
push ebp
cmp ebx, 0xf
jle 0x403c80
mov eax, dword [edi]
mov ecx, dword [edi - 0x34]
mov esi, eax
rol esi, 0xf
mov ebp, eax
rol ebp, 0xd
xor esi, ebp
shr eax, 0xa
xor esi, eax
mov eax, ecx
rol eax, 0xe
mov ebp, ecx
ror ebp, 7
xor eax, ebp
shr ecx, 3
xor eax, ecx
add esi, eax
add esi, dword [edi - 0x38]
add esi, dword [edi - 0x14]
mov dword [edi + 8], esi
mov ecx, dword [esp + 0x48]
fld dword [esp + 0x10]
mov ebp, dword [esp + 0x4c]
mov eax, ecx
ror eax, 0xb
mov esi, ecx
rol esi, 7
xor eax, esi
mov esi, ecx
ror esi, 6
xor eax, esi
mov esi, dword [esp + 0x50]
xor ebp, esi
and ebp, ecx
mov ecx, dword [esp + 0x2c]
xor ebp, esi
add eax, ebp
add eax, dword [ecx + ebx*4]
mov ecx, edx
add eax, dword [edi + 8]
mov esi, edx
add eax, dword [esp + 0x54]
ror ecx, 0xd
add dword [esp + 0x44], eax
rol esi, 0xa
xor ecx, esi
mov esi, edx
ror esi, 2
xor ecx, esi
mov esi, dword [esp + 0x3c]
mov ebp, esi
or ebp, edx
and ebp, dword [esp + 0x40]
and esi, edx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x10], edx
fisub dword [esp + 0x10]
or ebp, esi
add ecx, ebp
add ecx, eax
mov dword [esp + 0x54], ecx
fstp dword [esp + 0x10]
mov ax, word [0x4234d8]
mov edx, dword [esp + 0x20]
movsx ecx, ax
mov dword [esp + 0x14], ecx
fild dword [esp + 0x14]
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
fld qword [0x424d60]
faddp st(2)
fxch st(1)
fsub st(3)
fsubp st(1)
call fcn.0040a7e0
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x20], eax
fld qword [0x424d60]
fsub st(1)
mov eax, 8
fstp qword [0x424d60]
sub eax, 1
mov edx, dword [ecx + eax*4 + 4]
mov dword [esp + eax*4 + 0x3c], edx
jne 0x403d43
mov edx, dword [esp + 0x58]
inc ebx
add edi, 4
mov dword [esp + 0x38], edx
cmp ebx, 0x40
jne 0x403c49
mov edi, dword [esp + 0x2c]
fstp st(1)
xor esi, esi
fstp st(0)
push 0x100
push esi
mov dword [esp + 0x20], esi
push edi
mov dword [esp + 0x24], esi
call fcn.0040ade0
push edi
call fcn.0040a8c4
fld qword [0x41e500]
mov edi, dword [esp + 0x34]
fld1
add esp, 0x10
or ebx, 0xffffffff
pop ebp
fld qword [esp + 0x2c]
mov eax, dword [esp + esi*4 + 0x34]
add dword [edi], eax
fsub st(1)
fstp qword [esp + 0x2c]
mov ecx, dword [0x4224e8]
mov edx, dword [esp + 0x18]
mov dword [esp + 0x20], ecx
fild dword [esp + 0x20]
mov dword [esp + 0x20], edx
fild dword [esp + 0x20]
fadd qword [esp + 0x2c]
fadd st(3)
fsubp st(1)
call fcn.0040a7e0
mov dword [0x4224e8], eax
add dword [esp + 0x18], ebx
inc esi
add edi, 4
cmp esi, 8
jne 0x403d9c
pop edi
fstp st(1)
pop esi
fstp st(0)
pop ebx
add esp, 0x14c
ret