Function at 0x405660
Capabilities:
Hash data using murmur3

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x138
mov eax, dword [0x452470]
mov dword [ebp - 4], eax
fild dword [ebp - 4]
fld dword [0x4522a8]
fsub qword [0x44c9f8]
fsubp st(1)
call fcn.0041ecd0
mov dword [0x452470], eax
mov eax, dword [ebp + 0xc]
push esi
xor ecx, ecx
add eax, 2
push edi
jmp 0x4056a0
fld dword [0x452488]
inc ecx
fmul qword [0x452018]
add eax, 4
fstp dword [0x452488]
movzx edx, byte [eax - 6]
movzx esi, byte [eax - 5]
shl edx, 8
or edx, esi
movzx esi, byte [eax - 4]
shl edx, 8
or edx, esi
movzx esi, byte [eax - 3]
shl edx, 8
or edx, esi
mov dword [ebp + ecx*4 - 0x13c], edx
cmp ecx, 0x10
jne 0x4056a0
mov eax, dword [ebp + 8]
movq xmm0, qword [eax + 8]
add eax, 8
movq qword [ebp - 0x28], xmm0
movq xmm0, qword [eax + 8]
movq qword [ebp - 0x20], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x18], xmm0
movq xmm0, qword [eax + 0x18]
mov dword [ebp - 0x38], eax
mov eax, dword [eax + 0x20]
push 0x100
push 0x728
movq qword [ebp - 0x10], xmm0
mov dword [ebp - 8], eax
call fcn.0041d590
fld qword [0x44c9f0]
fld1
mov ecx, dword [ebp - 0x28]
fld qword [0x44c9e8]
mov dword [ebp - 4], eax
fld qword [0x44c9e0]
lea eax, [ebp - 0x28]
fld qword [0x44c9d8]
add esp, 8
xor edi, edi
sub eax, 4
lea edx, [ebp - 0x138]
mov dword [ebp + 8], edi
mov dword [ebp - 0x2c], eax
sub edx, 8
push ebx
cmp edi, 0xf
jle 0x4057fc
fld dword [0x452230]
mov cx, word [0x452038]
movsx eax, cx
mov dword [ebp - 0x30], eax
fild dword [ebp - 0x30]
faddp st(1)
fld dword [0x452230]
fsub st(5)
fstp dword [0x452230]
fxch st(5)
fcomi st(5)
fstp st(5)
jb 0x4057a7
fld qword [0x452280]
fsub st(3)
fstp qword [0x452280]
mov cx, word [0x452388]
movzx esi, word [0x452038]
mov eax, dword [edx]
movsx ecx, cx
sub esi, ecx
mov ecx, dword [edx - 0x34]
sub esi, 0x605b60a5
mov word [0x452038], si
mov esi, ecx
rol esi, 0xe
mov ebx, ecx
shr ecx, 3
ror ebx, 7
xor esi, ebx
xor esi, ecx
mov ecx, eax
rol ecx, 0xf
mov ebx, eax
rol ebx, 0xd
xor ecx, ebx
shr eax, 0xa
xor ecx, eax
add esi, ecx
add esi, dword [edx - 0x38]
mov ecx, dword [ebp - 0x28]
add esi, dword [edx - 0x14]
mov dword [edx + 8], esi
mov esi, dword [ebp - 0x18]
fld qword [0x452400]
mov eax, esi
fsub st(2)
ror eax, 0xb
mov ebx, esi
rol ebx, 7
xor eax, ebx
mov ebx, esi
ror ebx, 6
xor eax, ebx
mov ebx, dword [ebp - 0x14]
xor ebx, dword [ebp - 0x10]
and ebx, esi
xor ebx, dword [ebp - 0x10]
mov esi, dword [ebp - 4]
add eax, ebx
add eax, dword [esi + edi*4]
mov edi, ecx
add eax, dword [edx + 8]
mov esi, ecx
add eax, dword [ebp - 0xc]
add dword [ebp - 0x1c], eax
ror edi, 0xd
rol esi, 0xa
xor edi, esi
mov esi, ecx
ror esi, 2
xor edi, esi
mov esi, dword [ebp - 0x24]
mov ebx, esi
or ebx, ecx
and ebx, dword [ebp - 0x20]
and esi, ecx
mov ecx, dword [ebp - 0x2c]
add edi, eax
or ebx, esi
add ebx, edi
mov dword [ebp - 0xc], ebx
fstp qword [0x452400]
mov eax, 8
sub eax, 1
mov esi, dword [ecx + eax*4 + 4]
mov dword [ebp + eax*4 - 0x24], esi
jne 0x40586c
fld qword [0x452198]
mov ax, word [0x452088]
mov edi, dword [ebp + 8]
fsubr st(1)
movsx ecx, ax
cvtsi2sd xmm0, ecx
fstp qword [ebp - 0x34]
addsd xmm0, qword [ebp - 0x34]
cvttsd2si eax, xmm0
mov word [0x452088], ax
fld qword [0x452198]
mov ecx, dword [ebp - 8]
fadd st(4)
inc edi
add edx, 4
fstp qword [0x452198]
mov dword [ebp - 0x28], ecx
mov dword [ebp + 8], edi
cmp edi, 0x40
jne 0x405762
mov eax, dword [ebp - 4]
fstp st(3)
fstp st(3)
mov edx, 0x697c9f82
fstp st(1)
push eax
fstp st(0)
push 0x100
fstp st(0)
fld dword [0x452338]
mov ecx, dword [0x45242c]
sub edx, ecx
mov dword [ebp + 8], edx
fisub dword [ebp + 8]
fstp dword [0x452338]
call fcn.0041d150
mov edi, dword [ebp - 0x38]
add esp, 8
xor esi, esi
pop ebx
jmp 0x405910
mov ecx, dword [ebp + esi*4 - 0x28]
add dword [edi], ecx
mov dx, word [0x452370]
movsx eax, dx
mov dword [ebp + 8], eax
fild dword [ebp + 8]
fstp dword [ebp + 8]
fld dword [0x452210]
fsubr dword [ebp + 8]
call fcn.0041ecd0
inc esi
add edi, 4
mov word [0x452370], ax
cmp esi, 8
jne 0x405910
pop edi
pop esi
mov esp, ebp
pop ebp
ret