Function at 0x402e30
Capabilities:
Hash data using murmur3

Disassembly:
sub esp, 0x144
fldz
push ebx
fst dword [esp + 4]
xor eax, eax
fst dword [esp + 0x20]
push ebp
mov word [esp + 0x10], ax
fstp dword [esp + 0x1c]
mov eax, dword [esp + 0x154]
xor ecx, ecx
push esi
mov word [esp + 0x10], cx
add eax, 2
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 + 0x54], edx
inc ecx
add eax, 4
cmp ecx, 0x10
jne 0x402e60
mov esi, dword [esp + 0x158]
fld dword [0x4255a8]
mov ax, word [0x425d3c]
fsubr qword [0x41f4f0]
add esi, 8
mov dword [esp + 0x28], esi
fsub qword [0x41f4e8]
mov ecx, 9
lea edi, [esp + 0x30]
rep movsd dword es:[edi], dword [esi]
movsx ecx, ax
sub ecx, 0x592d67ae
mov dword [esp + 0x1c], ecx
or esi, 0xffffffff
add word [0x425d3c], si
fild dword [esp + 0x1c]
fucompp
fnstsw ax
fld1
test ah, 0x44
jp 0x402f31
fld dword [esp + 0x10]
fsubr qword [0x41f4e0]
fld dword [esp + 0x10]
fcompp
fnstsw ax
fld dword [esp + 0x10]
fadd st(1)
fstp dword [esp + 0x10]
fadd dword [esp + 0x10]
fstp dword [esp + 0x10]
test ah, 0x41
jne 0x402f47
mov dx, word [esp + 0x18]
movsx eax, dx
add eax, dword [0x424718]
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
fmul dword [esp + 0x10]
fstp dword [esp + 0x10]
inc dword [0x424718]
jmp 0x402f47
movzx ecx, word [0x423694]
fstp st(0)
add ecx, 0x1de35ec5
mov word [0x423694], cx
push 0x100
push 0x4248a8
call fcn.00402750
fld dword [esp + 0x18]
fmul qword [0x41f4d8]
mov dword [esp + 0x24], eax
lea eax, [esp + 0x38]
sub eax, 4
fstp dword [esp + 0x18]
lea edi, [esp + 0x5c]
fld qword [0x41f4d0]
add esp, 8
fld qword [0x41f4c8]
xor ebx, ebx
fld qword [0x41f4c0]
mov dword [esp + 0x20], eax
fld qword [0x41f4b8]
sub edi, 8
fld1
jmp 0x402f9e
or esi, 0xffffffff
cmp ebx, 0xf
jle 0x40300e
mov ecx, dword [edi - 0x34]
fld qword [0x4246a0]
mov eax, dword [edi]
fsub qword [0x4248a0]
mov edx, ecx
rol edx, 0xe
mov ebp, ecx
ror ebp, 7
xor edx, ebp
shr ecx, 3
xor edx, ecx
mov ecx, eax
mov ebp, eax
rol ecx, 0xf
rol ebp, 0xd
shr eax, 0xa
xor ecx, ebp
xor ecx, eax
add edx, ecx
add edx, dword [edi - 0x38]
add edx, dword [edi - 0x14]
mov dword [edi + 8], edx
mov dx, word [0x4230e0]
movsx eax, dx
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
faddp st(1)
call fcn.0040b1c0
mov word [0x4230e0], ax
fld qword [0x4248a0]
fsub st(1)
fstp qword [0x4248a0]
fld dword [esp + 0x24]
mov cx, word [esp + 0x18]
add dword [esp + 0x18], esi
fadd st(5)
movsx edx, cx
mov dword [esp + 0x14], edx
fsub st(4)
fild dword [esp + 0x14]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x403069
mov ax, word [0x4231bc]
movsx ecx, ax
mov dword [esp + 0x14], ecx
fild dword [esp + 0x14]
fadd dword [esp + 0x2c]
mov edx, dword [0x4246b8]
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
faddp st(1)
call fcn.0040b1c0
mov dword [0x4246b8], eax
add word [0x4231bc], si
fld dword [0x42560c]
mov ecx, dword [esp + 0x40]
mov esi, dword [esp + 0x44]
fstp qword [0x425d00]
mov eax, ecx
fld qword [0x425d78]
ror eax, 0xb
fadd st(1)
mov edx, ecx
rol edx, 7
xor eax, edx
mov edx, ecx
ror edx, 6
xor eax, edx
mov edx, dword [esp + 0x48]
xor esi, edx
and esi, ecx
mov ecx, dword [esp + 0x1c]
xor esi, edx
mov edx, dword [esp + 0x30]
add eax, esi
add eax, dword [ecx + ebx*4]
mov ecx, edx
add eax, dword [edi + 8]
mov esi, edx
add eax, dword [esp + 0x4c]
ror ecx, 0xd
add dword [esp + 0x3c], eax
rol esi, 0xa
xor ecx, esi
mov esi, edx
ror esi, 2
xor ecx, esi
mov esi, dword [esp + 0x34]
mov ebp, esi
or ebp, edx
and ebp, dword [esp + 0x38]
fstp qword [0x425d78]
fld qword [0x425c98]
and esi, edx
fsub qword [0x425d78]
or ebp, esi
add ecx, ebp
add ecx, eax
fstp qword [0x425c98]
mov dword [esp + 0x4c], ecx
fld dword [0x4255d4]
mov ecx, dword [esp + 0x20]
fsubr st(3)
mov eax, 8
fsub dword [esp + 0x24]
fmul dword [esp + 0x24]
fstp dword [esp + 0x24]
fld dword [esp + 0x10]
fmul st(2)
fstp dword [esp + 0x10]
sub eax, 1
mov edx, dword [ecx + eax*4 + 4]
mov dword [esp + eax*4 + 0x34], edx
jne 0x403124
mov eax, dword [esp + 0x50]
inc ebx
add edi, 4
mov dword [esp + 0x30], eax
cmp ebx, 0x40
jne 0x402f9b
mov esi, dword [esp + 0x1c]
fstp st(0)
fstp st(1)
xor edx, edx
push 0x100
fstp st(0)
xor ecx, ecx
fstp st(1)
push edx
fstp st(0)
mov word [esp + 0x18], cx
mov word [esp + 0x1c], dx
push esi
call fcn.0040b5e0
movzx eax, word [esp + 0x20]
movzx ecx, word [esp + 0x1c]
add eax, ecx
mov word [esp + 0x1c], ax
push esi
call fcn.0040af8b
dec dword [esp + 0x28]
mov dx, word [esp + 0x28]
movsx eax, dx
mov dword [esp + 0x30], eax
add esp, 0x10
fild dword [esp + 0x20]
fsub dword [0x424694]
movzx ecx, word [esp + 0x18]
movsx edx, cx
mov dword [esp + 0x20], edx
fild dword [esp + 0x20]
fmulp st(1)
call fcn.0040b1c0
mov ecx, dword [esp + 0x28]
pop edi
pop esi
pop ebp
mov word [esp + 0xc], ax
xor eax, eax
pop ebx
jmp 0x4031d0
mov edx, dword [esp + eax*4 + 0x20]
add dword [ecx], edx
fld dword [0x425e70]
inc eax
fstp dword [esp + 0x14]
add ecx, 4
cmp eax, 8
jne 0x4031d0
add esp, 0x144
ret