Function at 0x402140
Capabilities:
Hash data using murmur3

Disassembly:
sub esp, 0x144
fldz
mov ecx, dword [esp + 0x14c]
mov dword [esp + 4], 0
fst dword [esp + 0x10]
fstp dword [esp + 8]
push ebx
fldz
xor eax, eax
push ebp
mov word [esp + 8], ax
fstp qword [esp + 0x18]
fld qword [0x41f478]
push esi
fld qword [0x41f470]
xor edx, edx
fld1
push edi
add ecx, 2
lea esi, [eax + 1]
fld qword [0x423168]
mov ax, word [esp + 0x10]
cwde
sub eax, 0x4f134689
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
fcompp
fnstsw ax
test ah, 0x41
jp 0x4021c0
mov eax, dword [esp + 0x14]
mov edi, 0x32e35659
sub edi, eax
mov word [0x423260], di
add dword [esp + 0x14], esi
jmp 0x4021e4
fld dword [0x42337c]
fsub st(3)
fadd st(2)
fadd qword [0x425968]
fstp qword [0x425968]
fld dword [0x42337c]
fadd st(1)
fstp dword [0x42337c]
movzx eax, byte [ecx - 2]
movzx edi, byte [ecx - 1]
shl eax, 8
or eax, edi
movzx edi, byte [ecx]
shl eax, 8
or eax, edi
movzx edi, byte [ecx + 1]
shl eax, 8
or eax, edi
mov dword [esp + edx*4 + 0x54], eax
add edx, esi
add ecx, 4
cmp edx, 0x10
jne 0x402186
mov esi, dword [esp + 0x158]
fstp st(2)
fstp st(0)
add esi, 8
fstp st(0)
push 0x100
fld qword [0x424ec8]
mov ecx, 9
fsub qword [0x41f468]
lea edi, [esp + 0x2c]
mov dword [esp + 0x24], esi
push 0x424f10
fstp qword [0x424ec8]
rep movsd dword es:[edi], dword [esi]
call fcn.00401cd0
mov dword [esp + 0x24], eax
fld dword [0x423318]
mov ecx, dword [esp + 0x30]
fmul qword [0x41f460]
lea eax, [esp + 0x30]
sub eax, 4
lea esi, [esp + 0x5c]
fstp dword [0x423318]
add esp, 8
fld qword [0x41f458]
xor edi, edi
fld qword [0x41f450]
mov dword [esp + 0x4c], eax
fld dword [0x41f448]
sub esi, 8
fld qword [0x41f440]
fld qword [0x41f438]
fld1
cmp edi, 0xf
jle 0x4022dc
mov eax, dword [esi]
mov edx, dword [esi - 0x34]
mov ebx, eax
rol ebx, 0xf
mov ebp, eax
rol ebp, 0xd
xor ebx, ebp
shr eax, 0xa
xor ebx, eax
mov eax, edx
rol eax, 0xe
mov ebp, edx
ror ebp, 7
xor eax, ebp
shr edx, 3
xor eax, edx
add ebx, eax
add ebx, dword [esi - 0x38]
add ebx, dword [esi - 0x14]
mov dword [esi + 8], ebx
mov edx, dword [esp + 0x38]
fld dword [esp + 0x18]
mov ebp, dword [esp + 0x3c]
fsub st(6)
mov eax, edx
ror eax, 0xb
mov ebx, edx
rol ebx, 7
xor eax, ebx
mov ebx, edx
ror ebx, 6
xor eax, ebx
mov ebx, dword [esp + 0x40]
xor ebp, ebx
and ebp, edx
mov edx, dword [esp + 0x1c]
xor ebp, ebx
add eax, ebp
add eax, dword [edx + edi*4]
mov ebx, ecx
add eax, dword [esi + 8]
mov edx, ecx
add eax, dword [esp + 0x44]
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
add ebx, eax
or ebp, edx
add ebp, ebx
mov dword [esp + 0x44], ebp
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fsub st(5)
fstp dword [esp + 0x18]
fld dword [0x424ea0]
fucomp st(4)
fnstsw ax
fld dword [0x424ea0]
fadd st(1)
fstp dword [0x424ea0]
test ah, 0x44
jnp 0x402396
fld dword [0x423380]
mov eax, dword [0x424df4]
fsub qword [0x41f430]
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fmulp st(1)
call fcn.0040b030
mov dword [0x424df4], eax
mov ebp, dword [esp + 0x4c]
mov ebx, 8
fld dword [0x4253b4]
fadd st(1)
fstp dword [0x4253b4]
fld dword [0x4253b4]
mov cx, word [0x423198]
fsub st(3)
movsx edx, cx
mov dword [esp + 0x10], edx
fsub st(2)
fild dword [esp + 0x10]
fmulp st(1)
call fcn.0040b030
sub ebx, 1
mov word [0x423198], ax
mov eax, dword [ebp + ebx*4 + 4]
mov dword [esp + ebx*4 + 0x2c], eax
jne 0x40239f
mov ecx, dword [esp + 0x48]
mov ebx, 1
add edi, ebx
add esi, 4
mov dword [esp + 0x28], ecx
cmp edi, 0x40
jne 0x4022a5
mov esi, dword [esp + 0x1c]
fstp st(0)
fstp st(1)
push 0x100
fstp st(0)
push 0
fstp st(2)
push esi
fstp st(0)
fstp st(0)
fldz
fstp dword [esp + 0x1c]
fldz
fstp qword [esp + 0x58]
call fcn.0040b0e0
push esi
call fcn.0040b194
fld dword [esp + 0x20]
fld dword [esp + 0x20]
mov edx, dword [esp + 0x30]
fsub qword [0x41f3d0]
add esp, 0x10
xor ecx, ecx
fsubp st(1)
fstp dword [esp + 0x10]
lea ebx, [ebx]
movzx eax, word [0x425d94]
mov esi, dword [esp + 0x14]
cwde
sub eax, esi
sub eax, 0xb703ec2
mov dword [esp + 0x20], eax
add edx, 4
fild dword [esp + 0x20]
fstp dword [0x4253b8]
add dword [esp + 0x14], ebx
add word [0x425d94], bx
mov eax, dword [esp + ecx*4 + 0x28]
add dword [edx - 4], eax
movzx eax, word [0x4230f0]
cwde
sub eax, 0x7b00a11c
mov dword [esp + 0x20], eax
add ecx, ebx
fild dword [esp + 0x20]
fadd qword [0x423128]
fstp qword [0x423128]
cmp ecx, 8
jne 0x402450
dec dword [str.juow]
add dword [0x4236b0], ebx
mov eax, dword [str.juow]
fld dword [esp + 0x18]
mov ecx, dword [0x4236b0]
add eax, 0xc8cd1ecd
add ecx, eax
mov dword [esp + 0x20], ecx
fisub dword [esp + 0x20]
pop edi
pop esi
pop ebp
pop ebx
fstp dword [esp + 8]
add esp, 0x144
ret