Function at 0x6b51d840
Capabilities:
Hash data using murmur3

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x54
mov edi, dword [esp + 0x68]
mov eax, dword [esp + 0x70]
mov esi, dword [esp + 0x6c]
mov edi, dword [edi]
mov dword [esp + 0xc], edi
mov edi, dword [esp + 0x68]
mov edi, dword [edi + 4]
mov dword [esp], edi
mov edi, dword [esp + 0x68]
mov edi, dword [edi + 8]
mov dword [esp + 4], edi
mov edi, dword [esp + 0x68]
mov edi, dword [edi + 0xc]
mov dword [esp + 8], edi
lea edi, [eax - 1]
mov dword [esp + 0x2c], edi
test eax, eax
je 0x6b51dd8f
lea esi, [esi]
nop
mov ebx, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edi, dword [esp]
mov ebp, dword [esi]
mov eax, ebx
mov edx, dword [esi + 4]
xor eax, ecx
mov dword [esp + 0x30], ebp
and eax, edi
mov dword [esp + 0x34], edx
add edx, ecx
xor eax, ecx
mov ecx, edi
xor edi, ebx
add eax, ebp
add eax, dword [esp + 0xc]
mov ebp, dword [esi + 8]
rol eax, 3
and edi, eax
mov dword [esp + 0x38], ebp
xor edi, ebx
add edi, edx
mov edx, dword [esi + 0xc]
rol edi, 7
mov dword [esp + 0x10], edx
mov edx, ebp
mov ebp, ecx
xor ecx, eax
add edx, ebx
and ecx, edi
mov ebx, dword [esi + 0x10]
xor ecx, ebp
add ecx, edx
mov edx, ebx
mov ebx, dword [esp + 0x10]
rol ecx, 0xb
mov dword [esp + 0x3c], edx
add edx, eax
add ebx, ebp
mov ebp, eax
xor ebp, edi
and ebp, ecx
xor ebp, eax
mov eax, edi
add ebp, ebx
xor eax, ecx
mov ebx, dword [esi + 0x14]
ror ebp, 0xd
and eax, ebp
mov dword [esp + 0x40], ebx
add ebx, edi
xor eax, edi
mov edi, ecx
add eax, edx
mov edx, dword [esi + 0x18]
xor edi, ebp
rol eax, 3
mov dword [esp + 0x14], edx
mov edx, edi
and edx, eax
xor edx, ecx
lea edi, [edx + ebx]
mov ebx, dword [esi + 0x1c]
rol edi, 7
mov dword [esp + 0x18], ebx
mov ebx, dword [esp + 0x14]
add ebx, ecx
mov ecx, ebp
xor ecx, eax
mov edx, ecx
and edx, edi
xor edx, ebp
add ebp, dword [esp + 0x18]
lea ecx, [edx + ebx]
mov edx, dword [esi + 0x20]
rol ecx, 0xb
mov ebx, edx
mov edx, eax
xor edx, edi
mov dword [esp + 0x44], ebx
add ebx, eax
and edx, ecx
xor edx, eax
mov eax, edi
add edx, ebp
xor eax, ecx
mov ebp, dword [esi + 0x24]
ror edx, 0xd
and eax, edx
mov dword [esp + 0x48], ebp
add ebp, edi
xor eax, edi
mov edi, ecx
add eax, ebx
mov ebx, dword [esi + 0x28]
xor edi, edx
rol eax, 3
mov dword [esp + 0x1c], ebx
mov ebx, edi
and ebx, eax
xor ebx, ecx
lea edi, [ebx + ebp]
mov ebx, dword [esi + 0x2c]
rol edi, 7
mov dword [esp + 0x20], ebx
mov ebx, dword [esp + 0x1c]
lea ebp, [ecx + ebx]
mov ecx, edx
xor ecx, eax
mov ebx, ecx
and ebx, edi
xor ebx, edx
lea ecx, [ebx + ebp]
mov ebp, dword [esi + 0x30]
mov ebx, dword [esp + 0x20]
rol ecx, 0xb
add ebx, edx
mov edx, eax
mov dword [esp + 0x4c], ebp
xor edx, edi
and edx, ecx
xor edx, eax
add eax, ebp
mov ebp, dword [esi + 0x38]
add esi, 0x40
add edx, ebx
mov ebx, dword [esi - 0xc]
ror edx, 0xd
mov dword [esp + 0x50], ebp
mov dword [esp + 0x24], ebx
mov ebx, edi
xor ebx, ecx
and ebx, edx
xor ebx, edi
add edi, dword [esp + 0x24]
add eax, ebx
mov ebx, ecx
rol eax, 3
xor ebx, edx
and ebx, eax
xor ebx, ecx
add ecx, ebp
add ebx, edi
mov edi, dword [esi - 4]
rol ebx, 7
mov dword [esp + 0x28], edi
mov edi, edx
xor edi, eax
and edi, ebx
xor edi, edx
add ecx, edi
mov edi, dword [esp + 0x28]
rol ecx, 0xb
lea ebp, [edx + edi]
mov edx, eax
xor edx, ebx
mov edi, edx
and edi, ecx
xor edi, eax
lea edx, [edi + ebp]
mov edi, dword [esp + 0x30]
mov ebp, ebx
ror edx, 0xd
and ebp, ecx
lea edi, [edi + eax + 0x5a827999]
mov eax, ebx
or eax, ecx
and eax, edx
or eax, ebp
mov ebp, ecx
add eax, edi
mov edi, dword [esp + 0x3c]
rol eax, 3
lea edi, [edi + ebx + 0x5a827999]
mov ebx, ecx
or ebx, edx
and ebp, edx
and ebx, eax
or ebx, ebp
mov ebp, edx
add ebx, edi
mov edi, dword [esp + 0x44]
and ebp, eax
rol ebx, 5
lea edi, [edi + ecx + 0x5a827999]
mov ecx, edx
or ecx, eax
and ecx, ebx
or ecx, ebp
mov ebp, eax
add ecx, edi
mov edi, dword [esp + 0x4c]
and ebp, ebx
rol ecx, 9
lea edi, [edi + edx + 0x5a827999]
mov edx, eax
or edx, ebx
and edx, ecx
or edx, ebp
mov ebp, ebx
add edx, edi
mov edi, dword [esp + 0x34]
and ebp, ecx
rol edx, 0xd
lea edi, [edi + eax + 0x5a827999]
mov eax, ebx
or eax, ecx
and eax, edx
or eax, ebp
mov ebp, ecx
add eax, edi
mov edi, dword [esp + 0x40]
and ebp, edx
rol eax, 3
lea edi, [edi + ebx + 0x5a827999]
mov ebx, ecx
or ebx, edx
and ebx, eax
or ebx, ebp
mov ebp, dword [esp + 0x48]
add ebx, edi
lea edi, [ebp + ecx + 0x5a827999]
mov ecx, edx
rol ebx, 5
mov ebp, edx
or ecx, eax
and ecx, ebx
and ebp, eax
or ecx, ebp
mov ebp, eax
add ecx, edi
mov edi, dword [esp + 0x24]
and ebp, ebx
rol ecx, 9
lea edi, [edi + edx + 0x5a827999]
mov edx, eax
or edx, ebx
and edx, ecx
or edx, ebp
mov ebp, dword [esp + 0x38]
add edx, edi
lea edi, [ebp + eax + 0x5a827999]
mov eax, ebx
rol edx, 0xd
mov ebp, ebx
or eax, ecx
and ebp, ecx
and eax, edx
or eax, ebp
mov ebp, dword [esp + 0x14]
add eax, edi
lea edi, [ebp + ebx + 0x5a827999]
mov ebx, ecx
rol eax, 3
mov ebp, ecx
or ebx, edx
and ebp, edx
and ebx, eax
or ebx, ebp
mov ebp, edx
add ebx, edi
mov edi, dword [esp + 0x1c]
and ebp, eax
rol ebx, 5
lea edi, [edi + ecx + 0x5a827999]
mov ecx, edx
or ecx, eax
and ecx, ebx
or ecx, ebp
mov ebp, eax
add ecx, edi
mov edi, dword [esp + 0x50]
and ebp, ebx
rol ecx, 9
lea edi, [edi + edx + 0x5a827999]
mov edx, eax
or edx, ebx
and edx, ecx
or edx, ebp
mov ebp, ebx
add edx, edi
mov edi, dword [esp + 0x10]
and ebp, ecx
rol edx, 0xd
lea edi, [edi + eax + 0x5a827999]
mov eax, ebx
or eax, ecx
and eax, edx
or eax, ebp
mov ebp, dword [esp + 0x18]
add eax, edi
lea edi, [ebp + ebx + 0x5a827999]
mov ebx, ecx
rol eax, 3
mov ebp, ecx
or ebx, edx
and ebp, edx
and ebx, eax
or ebx, ebp
mov ebp, dword [esp + 0x20]
add ebx, edi
lea edi, [ebp + ecx + 0x5a827999]
mov ecx, edx
rol ebx, 5
mov ebp, edx
or ecx, eax
and ebp, eax
and ecx, ebx
or ecx, ebp
mov ebp, dword [esp + 0x28]
add ecx, edi
lea edi, [ebp + edx + 0x5a827999]
mov edx, eax
rol ecx, 9
mov ebp, eax
or edx, ebx
and ebp, ebx
and edx, ecx
or edx, ebp
mov ebp, dword [esp + 0x38]
add edi, edx
mov edx, dword [esp + 0x30]
rol edi, 0xd
lea eax, [edx + eax + 0x6ed9eba1]
mov edx, ebx
xor edx, ecx
xor edx, edi
add edx, eax
mov eax, dword [esp + 0x44]
rol edx, 3
lea eax, [eax + ebx + 0x6ed9eba1]
mov ebx, ecx
xor ebx, edi
xor ebx, edx
add ebx, eax
mov eax, dword [esp + 0x3c]
rol ebx, 9
lea ecx, [eax + ecx + 0x6ed9eba1]
mov eax, edi
xor eax, edx
xor eax, ebx
add eax, ecx
mov ecx, dword [esp + 0x4c]
rol eax, 0xb
lea edi, [ecx + edi + 0x6ed9eba1]
mov ecx, edx
xor ecx, ebx
xor ecx, eax
add ecx, edi
lea edi, [ebp + edx + 0x6ed9eba1]
mov edx, ebx
rol ecx, 0xf
xor edx, eax
xor edx, ecx
add edx, edi
mov edi, dword [esp + 0x1c]
mov ebp, dword [esp + 0x14]
rol edx, 3
lea edi, [edi + ebx + 0x6ed9eba1]
mov ebx, eax
xor ebx, ecx
xor ebx, edx
add ebx, edi
lea edi, [ebp + eax + 0x6ed9eba1]
mov eax, ecx
mov ebp, dword [esp + 0x50]
rol ebx, 9
xor eax, edx
xor eax, ebx
add eax, edi
lea edi, [ebp + ecx + 0x6ed9eba1]
mov ecx, edx
mov ebp, dword [esp + 0x48]
rol eax, 0xb
xor ecx, ebx
xor ecx, eax
add ecx, edi
mov edi, dword [esp + 0x34]
rol ecx, 0xf
lea edi, [edi + edx + 0x6ed9eba1]
mov edx, ebx
xor edx, eax
xor edx, ecx
add edx, edi
lea edi, [ebp + ebx + 0x6ed9eba1]
mov ebx, eax
rol edx, 3
xor ebx, ecx
xor ebx, edx
add ebx, edi
mov edi, dword [esp + 0x40]
sub dword [esp + 0x2c], 1
rol ebx, 9
lea edi, [edi + eax + 0x6ed9eba1]
mov eax, ecx
xor eax, edx
xor eax, ebx
add eax, edi
mov edi, dword [esp + 0x24]
rol eax, 0xb
lea edi, [edi + ecx + 0x6ed9eba1]
mov ecx, edx
xor ecx, ebx
xor ecx, eax
add ecx, edi
mov edi, dword [esp + 0x10]
rol ecx, 0xf
lea edi, [edi + edx + 0x6ed9eba1]
mov edx, ebx
xor edx, eax
xor edx, ecx
add edx, edi
mov edi, dword [esp + 0x20]
rol edx, 3
add dword [esp + 0xc], edx
lea edi, [edi + ebx + 0x6ed9eba1]
mov ebx, eax
xor ebx, ecx
xor ebx, edx
add ebx, edi
mov edi, dword [esp + 0x18]
rol ebx, 9
add dword [esp + 8], ebx
lea edi, [edi + eax + 0x6ed9eba1]
mov eax, ecx
xor eax, edx
xor eax, ebx
add eax, edi
mov edi, dword [esp + 0x28]
rol eax, 0xb
add dword [esp + 4], eax
lea edi, [edi + ecx + 0x6ed9eba1]
mov ecx, edx
mov edx, dword [esp + 0xc]
xor ecx, ebx
xor ecx, eax
mov eax, dword [esp + 0x2c]
add ecx, edi
mov edi, dword [esp + 0x68]
rol ecx, 0xf
add dword [esp], ecx
mov ebp, dword [esp]
mov dword [edi], edx
mov ecx, dword [esp + 8]
mov edx, edi
mov dword [edi + 4], ebp
mov edi, dword [esp + 4]
mov dword [edx + 0xc], ecx
mov dword [edx + 8], edi
cmp eax, 0xffffffff
jne 0x6b51d890
add esp, 0x54
pop ebx
pop esi
pop edi
pop ebp
ret