Function at 0x419ee0
Capabilities:
Hash data using murmur3

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x158
movsd xmm0, qword [0x449d18]
mov eax, 0xfffffbe3
mov edx, dword [ebp + 0xc]
movsd xmm3, qword [0x449e88]
movss xmm4, dword [0x44a2e4]
movss xmm5, dword [0x448fb0]
movss xmm6, dword [0x448dfc]
movsd qword [ebp - 0x1c], xmm0
mov dword [ebp - 0x14], 0xd7ced946
mov dword [ebp - 0x24], 0xcedb421c
mov dword [ebp - 0x2c], 0xce965fea
mov dword [ebp - 0x10], 0x869da097
mov word [ebp - 8], ax
mov eax, 0x6925
mov dword [ebp - 0xc], 0xb54a97
mov dword [ebp - 0x20], 0x4dcb1623
mov word [ebp - 4], ax
mov eax, 0xffffaabe
push ebx
push esi
mov word [ebp - 4], ax
xor esi, esi
add dword [ebp - 0x10], 0xfecec62e
add edx, 2
lea esp, [esp]
dec dword [ebp - 8]
movapd xmm1, xmm3
movsx eax, word [ebp - 8]
movsd xmm0, qword [ebp - 0x1c]
add eax, 0x2127aa2a
subsd xmm1, xmm0
movd xmm2, eax
cvtdq2pd xmm2, xmm2
ucomisd xmm2, xmm1
lahf
test ah, 0x44
jnp 0x419fb6
movsx ecx, word [ebp - 4]
sub ecx, dword [ebp - 0x14]
mov eax, dword [0x4521e8]
add eax, 0xc59c3315
add eax, ecx
mov dword [0x4521e8], eax
dec dword [ebp - 4]
add dword [0x452298], 0x35d2fa9b
movaps xmm1, xmm4
movzx ecx, byte [edx - 2]
movzx eax, byte [edx - 1]
movss xmm0, dword [ebp - 0x20]
shl ecx, 8
subss xmm1, xmm0
or ecx, eax
movzx eax, byte [edx]
shl ecx, 8
or ecx, eax
movzx eax, byte [edx + 1]
shl ecx, 8
or ecx, eax
ucomiss xmm5, xmm1
mov dword [ebp + esi*4 - 0x158], ecx
lahf
test ah, 0x44
jnp 0x41a04a
movsx eax, word [ebp - 8]
mov ecx, 0x4fd9ee8e
sub ecx, eax
movsx eax, word [0x4522e8]
cmp eax, ecx
jl 0x41a04a
mov eax, dword [0x45228c]
movaps xmm1, xmm6
movss xmm0, dword [0x4524ac]
subss xmm1, xmm0
movd xmm2, eax
movsx eax, word [ebp - 4]
cvtdq2ps xmm2, xmm2
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm0, xmm1
subss xmm2, xmm0
cvttss2si eax, xmm2
mov dword [0x45228c], eax
inc dword [ebp - 4]
inc esi
add edx, 4
cmp esi, 0x10
jne 0x419f70
movsd xmm0, qword [0x4523d8]
mov eax, dword [ebp + 8]
mulsd xmm0, qword [0x4488d0]
add eax, 8
push 0x24
push eax
mov dword [ebp - 0x30], eax
lea eax, [ebp - 0x58]
push eax
movsd qword [0x4523d8], xmm0
call fcn.0042e9d0
inc word [0x45200c]
movsx eax, word [0x45200c]
movsd xmm0, qword [ebp - 0x1c]
push 0x100
push 0x37a4
movd xmm1, eax
cvtdq2pd xmm1, xmm1
addsd xmm0, xmm1
movsd qword [ebp - 0x1c], xmm0
call fcn.0040e120
dec word [0x4520f4]
lea ebx, [ebp - 0x158]
mov cx, word [0x4520f4]
add esp, 0x14
movsd xmm6, qword [0x448418]
xor esi, esi
movsd xmm5, qword [0x447a60]
movss xmm3, dword [0x447a58]
movss xmm7, dword [0x449374]
movss xmm4, dword [0x448fdc]
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x58]
movsx ecx, cx
sub eax, 4
sub dword [0x45216c], ecx
sub ebx, 8
mov dword [ebp + 8], esi
mov dword [ebp - 0x34], eax
mov dword [ebp - 4], ebx
push edi
jmp 0x41a120
mov eax, dword [0x4524e8]
movsd xmm1, qword [ebp - 0x1c]
movd xmm0, eax
mov eax, dword [0x452288]
cvtdq2pd xmm0, xmm0
addsd xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [0x452288], eax
inc dword [0x4524e8]
cmp esi, 0xf
jle 0x41a1d5
mov esi, dword [ebx]
inc dword [ebp - 0x10]
movsx eax, word [ebp - 8]
mov ecx, dword [ebp - 0x10]
sub ecx, eax
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x452380]
movsd qword [0x452380], xmm0
mov ecx, dword [ebp - 0xc]
movzx eax, word [ebp - 8]
sub ecx, 0x58c265c0
imul ecx, eax
mov word [ebp - 8], cx
inc dword [ebp - 0xc]
mov ecx, dword [ebx - 0x34]
mov edx, ecx
mov eax, ecx
rol edx, 0xe
ror eax, 7
xor edx, eax
shr ecx, 3
xor edx, ecx
mov eax, esi
mov ecx, esi
rol eax, 0xd
rol ecx, 0xf
shr esi, 0xa
xor ecx, eax
xor ecx, esi
mov esi, dword [ebp + 8]
add edx, ecx
add edx, dword [ebx - 0x38]
add edx, dword [ebx - 0x14]
imul eax, dword [ebp - 0x14], 0xfda878e2
mov dword [ebx + 8], edx
mov dword [ebp - 0x14], eax
movzx eax, word [0x4522e8]
sub eax, 0x7cc51513
mov word [0x4522e8], ax
mov eax, dword [0x4521d8]
dec dword [0x4521d8]
cmp eax, 0xe1aa83b0
jge 0x41a25f
inc dword [0x4521e8]
mov eax, dword [0x4521e8]
movsd xmm1, qword [ebp - 0x1c]
add eax, 0xb66657e
movsd xmm0, qword [ebp - 0x1c]
subsd xmm1, xmm6
addsd xmm0, xmm5
movd xmm2, eax
cvtdq2pd xmm2, xmm2
movsd qword [ebp - 0x1c], xmm0
comisd xmm2, xmm1
jbe 0x41a25f
movss xmm0, dword [ebp - 0x20]
addss xmm0, xmm3
movss dword [ebp - 0x20], xmm0
inc word [0x452038]
movss xmm1, dword [ebp - 0x20]
movsx eax, word [0x452038]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm1, xmm0
movss dword [ebp - 0x24], xmm1
mov edx, dword [ebp - 0x48]
mov edi, edx
movss xmm0, dword [0x452190]
mov eax, edx
mov ecx, dword [ebp - 0x44]
subss xmm0, xmm7
xor ecx, dword [ebp - 0x40]
rol eax, 7
and ecx, edx
xor ecx, dword [ebp - 0x40]
ror edi, 0xb
xor edi, eax
mov eax, edx
ror eax, 6
xor edi, eax
mov eax, dword [ebp - 0x28]
add edi, ecx
add edi, dword [eax + esi*4]
add edi, dword [ebx + 8]
add edi, dword [ebp - 0x3c]
movss dword [0x452190], xmm0
movsx eax, word [ebp - 8]
sub eax, dword [ebp - 0xc]
add dword [ebp - 0x4c], edi
mov ebx, dword [ebp - 0x34]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, qword [0x4521f8]
movsd qword [0x4521f8], xmm0
inc dword [ebp - 0xc]
mov edx, dword [ebp - 0x58]
mov esi, edx
movss xmm0, dword [0x452350]
mov eax, edx
addss xmm0, dword [0x449000]
rol eax, 0xa
ror esi, 0xd
xor esi, eax
mov eax, edx
ror eax, 2
xor esi, eax
mov eax, dword [ebp - 0x54]
cvtps2pd xmm1, xmm0
mov ecx, eax
and eax, edx
or ecx, edx
add esi, edi
and ecx, dword [ebp - 0x50]
or ecx, eax
add ecx, esi
mov esi, 8
movsd xmm0, qword [ebp - 0x1c]
mulsd xmm0, xmm1
mov dword [ebp - 0x3c], ecx
movsd qword [ebp - 0x1c], xmm0
movss xmm0, dword [0x452350]
addss xmm0, xmm3
movss dword [0x452350], xmm0
mov eax, dword [0x4522f8]
imul eax, dword [ebp - 0xc]
mov dword [ebp - 0xc], eax
jmp 0x41a340
movsx eax, word [0x452038]
mov ecx, 0xa0432f4d
mov edx, dword [ebp - 0x14]
sub ecx, eax
mov eax, dword [ebp - 0x14]
add eax, ecx
add edx, eax
mov eax, dword [ebx + esi*4]
mov dword [ebp - 0x14], edx
movss xmm0, dword [ebp - 0x24]
addss xmm0, xmm4
mov dword [ebp + esi*4 - 0x58], eax
movss dword [ebp - 0x24], xmm0
dec esi
jne 0x41a340
mov esi, dword [ebp + 8]
mov ebx, dword [ebp - 4]
inc esi
mov eax, dword [ebp - 0x38]
add ebx, 4
mov dword [ebp - 0x58], eax
mov dword [ebp + 8], esi
mov dword [ebp - 4], ebx
cmp esi, 0x40
jne 0x41a120
push dword [ebp - 0x28]
push 0x100
call fcn.0040e550
movss xmm2, dword [0x452350]
add esp, 8
mov eax, dword [ebp - 0xc]
addss xmm2, dword [0x449084]
movss xmm0, dword [0x452350]
movss xmm3, dword [0x447a58]
movd xmm1, eax
subss xmm0, xmm3
cvtdq2ps xmm1, xmm1
pop edi
subss xmm2, dword [0x448df0]
movss dword [0x452350], xmm0
comiss xmm1, xmm2
jb 0x41a428
mov eax, dword [0x452238]
movsd xmm0, qword [0x452240]
subsd xmm0, qword [0x449960]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
subsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [0x452238], eax
movsd xmm0, qword [0x452240]
addsd xmm0, qword [0x447a60]
movsd qword [0x452240], xmm0
movss xmm5, dword [0x44938c]
xor edx, edx
movss xmm6, dword [0x44934c]
movss xmm4, dword [0x44a1f4]
mov ebx, dword [ebp - 0x30]
movss xmm0, dword [0x452494]
movaps xmm2, xmm5
movss xmm1, dword [0x4521a8]
subss xmm2, xmm0
movss xmm0, dword [0x452494]
addss xmm0, xmm3
subss xmm2, xmm6
movss dword [0x452494], xmm0
comiss xmm2, xmm1
jb 0x41a48b
movss xmm0, dword [ebp - 0x2c]
subss xmm0, xmm4
cvttss2si eax, xmm0
mov dword [0x452030], eax
mov eax, dword [ebp + edx*4 - 0x58]
mov ecx, 0xa0fe021c
add dword [ebx], eax
movsx eax, word [0x4522b4]
sub ecx, eax
mov eax, dword [ebp - 0x10]
sub ecx, eax
movsx eax, word [0x452134]
inc dword [ebp - 0x10]
sub eax, 0x320fb720
cmp ecx, eax
jg 0x41a4e6
movsx eax, word [ebp - 8]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x45201c]
cvttss2si eax, xmm0
mov word [ebp - 8], ax
movss xmm0, dword [0x45201c]
subss xmm0, xmm3
movss dword [0x45201c], xmm0
inc edx
add ebx, 4
cmp edx, 8
jne 0x41a445
movss xmm0, dword [0x4524b8]
movss xmm1, dword [0x449534]
subss xmm1, xmm0
pop esi
pop ebx
subss xmm1, dword [0x449064]
cvttss2si eax, xmm1
mov word [ebp - 4], ax
mov esp, ebp
pop ebp
ret