Function at 0x1017e2f0
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 0x1017e46c
mov ecx, dword [edi]
sub ecx, dword [esi]
sar ecx, 3
cmp ecx, 2
jle 0x1017e46f
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 0x1017e349
nop dword [eax]
add edi, edi
cmp edi, eax
jb 0x1017e340
mov dword [ebp - 0xc], edi
lea ebx, [edi*4]
mov ecx, edx
push ebx
call fcn.1017d350
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x1017e392
mov ebx, dword [ebp + 8]
mov edi, dword [ebp - 0x20]
mov eax, dword [ebx]
cmp eax, edi
je 0x1017e441
nop
mov esi, dword [eax]
push eax
call fcn.101dbd83
add esp, 4
mov eax, esi
cmp esi, edi
jne 0x1017e370
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.101d28f0
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 0x1017e41d
nop dword [eax]
mov eax, dword [ebx + 4]
test eax, eax
je 0x1017e3bb
xor esi, esi
jmp 0x1017e3bd
mov esi, dword [ebx]
test eax, eax
cmovne esi, eax
test esi, esi
je 0x1017e413
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 0x1017e452
mov edi, dword [ebp - 0xc]
cmp edx, esi
je 0x1017e410
inc eax
lea edx, [edi - 1]
add eax, ecx
inc ecx
and eax, edx
cmp ecx, edx
jbe 0x1017e3f0
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 0x10]
add ebx, 8
cmp ebx, dword [eax]
jne 0x1017e3b0
mov ebx, dword [ebp + 8]
mov edi, dword [ebp - 0x20]
mov dword [eax], edx
mov eax, dword [ebx]
cmp eax, edi
je 0x1017e441
nop dword [eax + eax]
mov esi, dword [eax]
push eax
call fcn.101dbd83
add esp, 4
mov eax, esi
cmp esi, edi
jne 0x1017e430
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 0x1017e413
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 0x1017e4ad
mov ebx, dword [ecx]
mov edi, dword [ecx + 8]
cmp ebx, edi
jne 0x1017e495
mov eax, dword [ecx + 4]
cmp eax, dword [ecx + 0xc]
je 0x1017e4a7
sub edx, 8
add ecx, 8
mov eax, edx
mov ebx, edi
and eax, 0xfffffff8
cmp eax, 8
jg 0x1017e486
mov ebx, dword [ebp - 0x14]
mov edi, dword [ebp - 0x10]
cmp ecx, ebx
je 0x1017e4ee
mov edx, ecx
add ecx, 8
cmp ecx, ebx
je 0x1017e4eb
nop word [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x1017e4d5
mov eax, dword [ecx + 4]
cmp eax, dword [edx + 4]
jne 0x1017e4d5
add ecx, 8
mov esi, ecx
jmp 0x1017e4e7
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 0x1017e4c0
lea ecx, [edx + 8]
mov dword [edi], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4