Function at 0x43f930
Capabilities:
Hash data using murmur3

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
cmp dword [ecx], 0
push ebx
push esi
push edi
lea edi, [ecx + 8]
mov dword [ebp - 0x10], edi
lea esi, [ecx + 4]
jne 0x43faac
mov ecx, dword [edi]
sub ecx, dword [esi]
sar ecx, 3
cmp ecx, 2
jle 0x43faaf
mov edx, dword [ebp + 8]
mov eax, ecx
shr eax, 1
mov edi, 1
add eax, ecx
mov dword [ebp - 0xc], edi
movq xmm0, qword [edx]
movq qword [ebp - 0x20], xmm0
cmp eax, edi
jbe 0x43f989
nop dword [eax]
add edi, edi
cmp edi, eax
jb 0x43f980
mov dword [ebp - 0xc], edi
lea ebx, [edi*4]
mov ecx, edx
push ebx
call fcn.0043e990
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x43f9d2
mov ebx, dword [ebp + 8]
mov edi, dword [ebp - 0x20]
mov eax, dword [ebx]
cmp eax, edi
je 0x43fa81
nop
mov esi, dword [eax]
push eax
call fcn.005bccf3
add esp, 4
mov eax, esi
cmp esi, edi
jne 0x43f9b0
mov eax, dword [ebp - 0x1c]
mov dword [ebx], edi
mov dword [ebx + 4], eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push ebx
push 0
push eax
call fcn.005b9e00
mov eax, dword [ebp - 0x10]
add esp, 0xc
mov edx, dword [esi]
mov ebx, edx
mov dword [ebp - 8], edx
cmp ebx, dword [eax]
je 0x43fa5d
nop dword [eax]
mov eax, dword [ebx + 4]
test eax, eax
je 0x43f9fb
xor esi, esi
jmp 0x43f9fd
mov esi, dword [ebx]
test eax, eax
cmovne esi, eax
test esi, esi
je 0x43fa53
mov eax, esi
lea edx, [edi - 1]
shr eax, 0x10
xor eax, esi
imul ecx, eax, 0x85ebca6b
mov eax, ecx
shr eax, 0xd
xor eax, ecx
imul ecx, eax, 0xc2b2ae35
mov eax, ecx
shr eax, 0x10
xor eax, ecx
and eax, edx
xor ecx, ecx
nop
mov edx, dword [ebp - 0x14]
lea edi, [edx + eax*4]
mov edx, dword [edi]
test edx, edx
je 0x43fa92
mov edi, dword [ebp - 0xc]
cmp edx, esi
je 0x43fa50
inc eax
lea edx, [edi - 1]
add eax, ecx
inc ecx
and eax, edx
cmp ecx, edx
jbe 0x43fa30
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 0x10]
add ebx, 8
cmp ebx, dword [eax]
jne 0x43f9f0
mov ebx, dword [ebp + 8]
mov edi, dword [ebp - 0x20]
mov dword [eax], edx
mov eax, dword [ebx]
cmp eax, edi
je 0x43fa81
nop dword [eax + eax]
mov esi, dword [eax]
push eax
call fcn.005bccf3
add esp, 4
mov eax, esi
cmp esi, edi
jne 0x43fa70
mov eax, dword [ebp - 0x1c]
mov dword [ebx], edi
mov dword [ebx + 4], eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov edx, dword [ebp - 8]
mov dword [edi], esi
mov eax, dword [ebx]
mov ecx, dword [ebx + 4]
mov edi, dword [ebp - 0xc]
mov dword [edx], eax
mov dword [edx + 4], ecx
add edx, 8
mov dword [ebp - 8], edx
jmp 0x43fa53
mov dword [ebp - 0x10], edi
mov ebx, dword [edi]
mov edx, ebx
mov ecx, dword [esi]
sub edx, ecx
mov eax, edx
mov dword [ebp - 0x14], ebx
and eax, 0xfffffff8
cmp eax, 8
jle 0x43faed
mov ebx, dword [ecx]
mov edi, dword [ecx + 8]
cmp ebx, edi
jne 0x43fad5
mov eax, dword [ecx + 4]
cmp eax, dword [ecx + 0xc]
je 0x43fae7
sub edx, 8
add ecx, 8
mov eax, edx
mov ebx, edi
and eax, 0xfffffff8
cmp eax, 8
jg 0x43fac6
mov ebx, dword [ebp - 0x14]
mov edi, dword [ebp - 0x10]
cmp ecx, ebx
je 0x43fb2e
mov edx, ecx
add ecx, 8
cmp ecx, ebx
je 0x43fb2b
nop word [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x43fb15
mov eax, dword [ecx + 4]
cmp eax, dword [edx + 4]
jne 0x43fb15
add ecx, 8
mov esi, ecx
jmp 0x43fb27
mov eax, dword [ecx]
lea esi, [ecx + 8]
mov ecx, dword [ecx + 4]
add edx, 8
mov dword [edx + 4], ecx
mov ecx, esi
mov dword [edx], eax
cmp esi, ebx
jne 0x43fb00
lea ecx, [edx + 8]
mov dword [edi], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4