Function at 0x40f780
Capabilities:
Hash data using murmur3

Disassembly:
sub esp, 0x78
mov eax, dword [esp + 0x7c]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp + 0x18], ecx
mov ecx, dword [eax + 8]
mov dword [esp + 0x1c], edx
mov edx, dword [eax + 0xc]
mov dword [esp + 0x20], ecx
mov ecx, dword [eax + 0x10]
push ebx
mov dword [esp + 0x28], edx
mov edx, dword [eax + 0x14]
mov dword [esp + 0x2c], ecx
mov ecx, dword [eax + 0x18]
push ebp
mov dword [esp + 0x34], edx
mov edx, dword [eax + 0x1c]
mov eax, dword [esp + 0x88]
push esi
mov dword [esp + 0x3c], ecx
xor esi, esi
lea ecx, [esp + 0x44]
sub eax, ecx
push edi
mov dword [esp + 0x44], edx
mov dword [esp + 0x14], esi
mov dword [esp + 0x24], eax
lea esp, [esp]
mov ecx, 1
lea edx, [esp + 0x48]
lea edi, [esi*4 + 0x4e6a10]
mov dword [esp + 0x18], ecx
lea eax, [ecx - 5]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x10], edi
mov dword [esp + 0x20], 0x10
test esi, esi
je 0x40f85c
mov esi, ecx
and esi, 0xf
mov esi, dword [esp + esi*4 + 0x48]
mov ebx, esi
mov ebp, esi
lea edx, [ecx - 3]
and edx, 0xf
mov edx, dword [esp + edx*4 + 0x48]
lea edi, [ecx - 1]
and edi, 0xf
rol ebx, 0xe
ror ebp, 7
xor ebx, ebp
shr esi, 3
xor ebx, esi
mov esi, edx
rol esi, 0xf
mov ebp, edx
rol ebp, 0xd
xor esi, ebp
shr edx, 0xa
xor esi, edx
add ecx, 0xfffffff8
add ebx, esi
and ecx, 0xf
add ebx, dword [esp + ecx*4 + 0x48]
lea edi, [esp + edi*4 + 0x48]
add dword [edi], ebx
mov edi, dword [edi]
jmp 0x40f865
mov ecx, dword [esp + 0x24]
mov edi, dword [ecx + edx]
mov dword [edx], edi
mov edx, eax
and edx, 7
mov edx, dword [esp + edx*4 + 0x28]
mov ebx, edx
mov ebp, edx
lea ecx, [eax + 2]
and ecx, 7
mov esi, dword [esp + ecx*4 + 0x28]
lea ecx, [eax + 3]
and ecx, 7
ror ebx, 0xb
rol ebp, 7
xor ebx, ebp
mov ebp, edx
ror ebp, 6
xor ebx, ebp
lea ebp, [eax + 1]
and ebp, 7
mov ebp, dword [esp + ebp*4 + 0x28]
xor ebp, esi
and ebp, edx
mov edx, dword [esp + 0x10]
xor ebp, esi
add ebx, ebp
add ebx, dword [edx]
lea ecx, [esp + ecx*4 + 0x28]
add ebx, edi
add dword [ecx], ebx
mov esi, dword [ecx]
lea edx, [eax - 1]
and edx, 7
add dword [esp + edx*4 + 0x28], esi
lea edx, [esp + edx*4 + 0x28]
lea edx, [eax - 4]
and edx, 7
mov edx, dword [esp + edx*4 + 0x28]
add dword [esp + 0x10], 4
lea esi, [eax - 3]
and esi, 7
mov esi, dword [esp + esi*4 + 0x28]
mov edi, edx
ror edi, 0xd
mov ebx, edx
rol ebx, 0xa
xor edi, ebx
mov ebx, edx
ror ebx, 2
xor edi, ebx
lea ebx, [eax - 2]
and ebx, 7
mov ebx, dword [esp + ebx*4 + 0x28]
mov ebp, esi
or ebp, edx
and esi, edx
mov edx, dword [esp + 0x1c]
and ebx, ebp
or ebx, esi
mov esi, dword [esp + 0x14]
add edi, ebx
add dword [ecx], edi
mov ecx, dword [esp + 0x18]
inc ecx
add edx, 4
dec eax
sub dword [esp + 0x20], 1
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], edx
jne 0x40f807
add esi, 0x10
mov dword [esp + 0x14], esi
cmp esi, 0x40
jb 0x40f7e0
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x28]
add dword [eax], ecx
mov edx, dword [esp + 0x2c]
add dword [eax + 4], edx
mov ecx, dword [esp + 0x30]
add dword [eax + 8], ecx
mov edx, dword [esp + 0x34]
add dword [eax + 0xc], edx
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x3c]
add dword [eax + 0x10], ecx
add dword [eax + 0x14], edx
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x44]
add dword [eax + 0x18], ecx
add dword [eax + 0x1c], edx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x78
ret 8