Function at 0x403020
Capabilities:
Hash data using murmur3

Disassembly:
sub esp, 0x144
fldz
push ebx
xor ebx, ebx
mov dword [esp + 0x14], ebx
xor eax, eax
mov word [esp + 0x10], ax
xor ecx, ecx
mov dword [esp + 4], ebx
fstp dword [esp + 0x18]
fld qword [0x41f4f0]
push ebp
mov word [esp + 0x10], cx
mov ecx, dword [esp + 0x154]
push esi
push edi
xor edx, edx
add ecx, 2
lea esi, [ebx + 1]
or edi, 0xffffffff
mov eax, dword [esp + 0x10]
mov ebp, 0x52771fa0
sub ebp, eax
mov dword [esp + 0x14], ebp
fild dword [esp + 0x14]
fld dword [0x4249c4]
add dword [esp + 0x10], esi
fsub st(2)
fucompp
fnstsw ax
test ah, 0x44
jp 0x4030a0
mov eax, dword [esp + 0x10]
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
fadd dword [esp + 0x24]
fstp dword [esp + 0x24]
add dword [esp + 0x10], edi
movzx eax, byte [ecx - 2]
fld dword [0x425734]
movzx ebp, byte [ecx - 1]
shl eax, 8
or eax, ebp
movzx ebp, byte [ecx]
shl eax, 8
or eax, ebp
movzx ebp, byte [ecx + 1]
shl eax, 8
or eax, ebp
mov dword [esp + edx*4 + 0x54], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x14], eax
add edx, esi
add ecx, 4
fisub dword [esp + 0x14]
fstp dword [0x425734]
add dword [esp + 0x10], esi
cmp edx, 0x10
jne 0x403060
mov esi, dword [esp + 0x158]
fstp st(0)
add esi, 8
mov ecx, 9
lea edi, [esp + 0x30]
mov dword [esp + 0x2c], esi
rep movsd dword es:[edi], dword [esi]
movzx ecx, word [esp + 0x18]
mov eax, dword [esp + 0x10]
movsx edx, cx
movzx ecx, word [esp + 0x1c]
sub eax, edx
movsx edx, cx
sub eax, edx
cmp eax, 0xba19232
jl 0x403138
fld dword [0x423c88]
fsub qword [0x41f4e8]
fstp dword [0x423c88]
push 0x100
push 0x423520
call fcn.00401ab0
fld qword [0x41f4e0]
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x38]
sub eax, 4
lea esi, [esp + 0x5c]
add esp, 8
mov dword [esp + 0x28], eax
sub esi, 8
cmp ebx, 0xf
jle 0x4031e8
mov ax, word [esp + 0x18]
mov edi, dword [esi]
movsx ecx, ax
mov dword [esp + 0x1c], ecx
fild dword [esp + 0x1c]
fld dword [esp + 0x24]
fsub st(2)
fsubp st(1)
call fcn.0040b140
mov word [esp + 0x18], ax
mov eax, dword [esi - 0x34]
mov edx, eax
rol edx, 0xe
mov ecx, eax
ror ecx, 7
xor edx, ecx
shr eax, 3
xor edx, eax
mov eax, edi
rol eax, 0xf
mov ecx, edi
rol ecx, 0xd
xor eax, ecx
shr edi, 0xa
xor eax, edi
add edx, eax
add edx, dword [esi - 0x38]
mov eax, 0xe1902132
add edx, dword [esi - 0x14]
mov dword [esi + 8], edx
mov edx, dword [0x423104]
mov ecx, dword [esp + 0x20]
sub eax, edx
add ecx, eax
mov dword [esp + 0x1c], ecx
fild dword [esp + 0x1c]
mov ecx, dword [esp + 0x30]
fstp dword [0x425708]
mov edx, dword [esp + 0x40]
mov ebp, dword [esp + 0x44]
mov eax, edx
ror eax, 0xb
mov edi, edx
rol edi, 7
xor eax, edi
mov edi, edx
ror edi, 6
xor eax, edi
mov edi, dword [esp + 0x48]
xor ebp, edi
and ebp, edx
mov edx, dword [esp + 0x14]
xor ebp, edi
add eax, ebp
add eax, dword [edx + ebx*4]
mov edi, ecx
add eax, dword [esi + 8]
mov edx, ecx
add eax, dword [esp + 0x4c]
add dword [esp + 0x3c], eax
ror edi, 0xd
rol edx, 0xa
xor edi, edx
mov edx, ecx
ror edx, 2
xor edi, edx
mov edx, dword [esp + 0x34]
mov ebp, edx
or ebp, ecx
and ebp, dword [esp + 0x38]
and edx, ecx
mov ecx, dword [esp + 0x28]
add edi, eax
or ebp, edx
add ebp, edi
mov dword [esp + 0x4c], ebp
mov eax, 8
sub eax, 1
mov edx, dword [ecx + eax*4 + 4]
mov dword [esp + eax*4 + 0x34], edx
jne 0x403255
mov ecx, dword [esp + 0x50]
inc ebx
add esi, 4
mov dword [esp + 0x30], ecx
cmp ebx, 0x40
jne 0x40316a
mov esi, dword [esp + 0x14]
fstp st(0)
push 0x100
push eax
mov word [esp + 0x24], ax
mov dword [esp + 0x30], eax
push esi
call fcn.0040b0c0
push esi
call fcn.0040b02e
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x30]
sub ecx, edx
add ecx, dword [esp + 0x20]
add esp, 0x10
add ecx, dword [esp + 0x20]
pop edi
pop esi
mov dword [esp + 0x18], ecx
dec dword [esp + 8]
mov ecx, dword [esp + 0x24]
pop ebp
xor eax, eax
pop ebx
nop
mov edx, dword [esp + eax*4 + 0x20]
add dword [ecx], edx
inc eax
add ecx, 4
cmp eax, 8
jne 0x4032c0
add esp, 0x144
ret