Function at 0x403290
Capabilities:
Hash data using murmur3

Disassembly:
sub esp, 0x144
push ebx
xor eax, eax
mov word [esp + 8], ax
mov eax, dword [esp + 0x150]
xor ebx, ebx
xor ecx, ecx
push ebp
mov word [esp + 0x10], cx
mov dword [esp + 8], ebx
push esi
mov dword [esp + 0x10], ebx
push edi
mov dword [esp + 0x20], ebx
add eax, 2
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 + 0x54], edx
inc ecx
add eax, 4
cmp ecx, 0x10
jne 0x4032c0
mov esi, dword [esp + 0x158]
add esi, 8
push 0x100
mov ecx, 9
lea edi, [esp + 0x2c]
mov dword [esp + 0x24], esi
push 0x4220d0
rep movsd dword es:[edi], dword [esi]
call fcn.00402360
mov dword [esp + 0x2c], eax
fld1
lea eax, [esp + 0x30]
sub eax, 4
lea edi, [esp + 0x5c]
add esp, 8
mov dword [esp + 0x4c], eax
sub edi, 8
cmp ebx, 0xf
jle 0x40337f
movzx eax, word [esp + 0x18]
mov ecx, dword [esp + 0x10]
add eax, ecx
mov ecx, dword [edi - 0x34]
mov edx, ecx
rol edx, 0xe
mov esi, ecx
ror esi, 7
xor edx, esi
shr ecx, 3
xor edx, ecx
mov word [esp + 0x18], ax
mov eax, dword [edi]
mov ecx, eax
rol ecx, 0xf
mov esi, eax
rol esi, 0xd
xor ecx, esi
shr eax, 0xa
xor ecx, eax
add edx, ecx
add edx, dword [edi - 0x38]
add edx, dword [edi - 0x14]
mov dword [edi + 8], edx
add dword [0x424b58], 0x33fa9637
add dword [0x422078], 0x766675d5
mov ecx, dword [esp + 0x38]
mov esi, dword [esp + 0x3c]
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 + 0x40]
xor esi, edx
and esi, ecx
mov ecx, dword [esp + 0x24]
xor esi, edx
mov edx, dword [esp + 0x28]
add eax, esi
add eax, dword [ecx + ebx*4]
mov ecx, edx
add eax, dword [edi + 8]
mov esi, edx
add eax, dword [esp + 0x44]
ror ecx, 0xd
rol esi, 0xa
xor ecx, esi
mov esi, edx
ror esi, 2
xor ecx, esi
mov esi, dword [esp + 0x2c]
mov ebp, esi
or ebp, edx
and ebp, dword [esp + 0x30]
and esi, edx
mov dx, word [0x424cc8]
or ebp, esi
mov si, word [esp + 0x18]
movsx edx, dx
movsx esi, si
add ecx, ebp
mov ebp, 1
add word [0x424cc8], bp
add edx, 0xe87298d8
add esi, 0x375d25da
cmp esi, edx
jne 0x403428
mov edx, dword [0x424d18]
mov esi, 0x6d95f2db
sub esi, edx
mov dword [0x422074], esi
mov dx, word [0x424ad8]
mov si, word [esp + 0x18]
add dword [esp + 0x34], eax
movsx edx, dx
movsx esi, si
add ecx, eax
add esi, edx
mov dword [esp + 0x10], esi
mov dword [esp + 0x44], ecx
add word [0x423020], bp
fld dword [0x424c70]
fsub st(1)
fstp dword [0x424c70]
mov ax, word [0x423020]
movsx ecx, ax
mov dword [esp + 0x1c], ecx
fild dword [esp + 0x1c]
fld dword [0x424c70]
fcompp
fnstsw ax
test ah, 5
jp 0x40348f
mov edx, dword [esp + 0x14]
imul edx, edx, 0x26164ab1
mov dword [esp + 0x14], edx
jmp 0x40349d
mov eax, dword [esp + 0x14]
imul eax, eax, 0xc35a51ee
mov dword [esp + 0x14], eax
mov esi, 8
fld dword [0x4221d0]
fld dword [0x424cac]
mov cx, word [esp + 0x18]
movsx edx, cx
mov dword [esp + 0x1c], edx
fild dword [esp + 0x1c]
faddp st(1)
fsub qword [0x423010]
fcompp
fnstsw ax
fld dword [0x424cac]
fadd st(1)
fstp dword [0x424cac]
fld dword [0x4221d0]
fadd st(1)
fstp dword [0x4221d0]
test ah, 0x41
jne 0x403531
mov eax, dword [0x424cc0]
mov ecx, dword [esp + 0x10]
add dword [0x424cc0], ebp
sub ecx, eax
cmp ecx, 0x66212cab
jne 0x403531
mov edx, dword [0x424d4c]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x1c], edx
fild dword [esp + 0x1c]
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
fld dword [0x422f38]
faddp st(2)
fsubrp st(1)
call fcn.0040abf0
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x4c]
mov edx, dword [ecx + esi*4]
mov dword [esp + esi*4 + 0x28], edx
sub esi, ebp
jne 0x4034a2
mov eax, dword [esp + 0x48]
or esi, 0xffffffff
mov dword [esp + 0x28], eax
add dword [esp + 0x14], esi
mov ecx, dword [esp + 0x14]
mov edx, dword [0x424c90]
add dword [0x424c90], esi
add ecx, 0x3caac8e9
cmp ecx, edx
jge 0x4035a1
mov ax, word [esp + 0x18]
mov edx, dword [esp + 0x14]
movsx ecx, ax
mov eax, dword [esp + 0x10]
sub edx, ecx
sub edx, eax
mov dword [esp + 0x1c], edx
fild dword [esp + 0x1c]
fmul qword [0x423408]
fstp qword [0x423408]
add dword [esp + 0x18], esi
add dword [esp + 0x10], ebp
add dword [esp + 0x14], esi
add ebx, ebp
add edi, 4
cmp ebx, 0x40
jne 0x40332e
mov edi, dword [esp + 0x24]
fstp st(0)
fldz
push 0x100
push 0
mov dword [esp + 0x18], 0
fstp qword [esp + 0x54]
push edi
call fcn.0040aa40
push edi
call fcn.0040a92b
mov cx, word [0x424cb8]
mov edx, dword [0x422ff8]
add word [0x424cb8], si
movsx eax, cx
add esp, 0x10
cmp eax, edx
jge 0x40360e
fld dword [0x423038]
fsub qword [0x41e3c0]
fsub qword [0x41e3b8]
fstp dword [0x424b5c]
jmp 0x40361c
mov eax, dword [esp + 0x10]
imul eax, eax, 0xd7bd0ba8
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x20]
xor eax, eax
jmp 0x403630
movzx edx, word [esp + 0x18]
imul edx, edx, 0xc001326
mov word [esp + 0x18], dx
mov edx, dword [esp + eax*4 + 0x28]
add dword [ecx], edx
add eax, ebp
add ecx, 4
cmp eax, 8
jne 0x403630
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret