Function at 0x40c3b0
Capabilities:
Hash data using murmur3

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
push edi
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp + 0x10]
mov edi, dword [ebp + 0x14]
shl ecx, 5
je 0x40c73c
mov ebx, dword [edx + 0x44]
add ecx, ebx
push ebp
push ecx
movdqa xmm0, xmmword [edx]
movdqa xmm1, xmmword [edx + 0x10]
movdqa xmm2, xmmword [edx + 0x20]
movdqa xmm3, xmmword [edx + 0x30]
mov eax, dword [edx + 0x40]
test ebx, 1
jne 0x40c410
movdqa xmm6, xmm2
movss xmm6, xmm3
pshufd xmm5, xmm6, 0x39
movd xmm6, eax
movdqa xmm7, xmm3
movss xmm7, xmm6
pshufd xmm6, xmm7, 0x39
jmp 0x40c424
movdqa xmm5, xmm3
palignr xmm5, xmm2, 4
movd xmm6, eax
palignr xmm6, xmm3, 4
movd ecx, xmm2
not ecx
movd ebp, xmm3
or ecx, ebp
xor eax, ecx
pcmpeqb xmm7, xmm7
pxor xmm7, xmm1
por xmm7, xmm2
pxor xmm7, xmm3
movd ecx, xmm7
rol ecx, 0xf
mov dword [edx + 0x34], ecx
pshuflw xmm7, xmm7, 0x4e
movd ecx, xmm7
rol ecx, 4
mov dword [edx + 4], ecx
punpckhqdq xmm7, xmm7
movd ecx, xmm7
rol ecx, 2
mov dword [edx + 0x18], ecx
pshuflw xmm7, xmm7, 0x4e
movd ecx, xmm7
rol ecx, 9
mov dword [edx + 0x2c], ecx
pcmpeqb xmm7, xmm7
pxor xmm7, xmm0
por xmm7, xmm1
pxor xmm7, xmm2
movd ecx, xmm7
rol ecx, 0x17
mov dword [edx + 0x28], ecx
pshuflw xmm7, xmm7, 0x4e
movd ecx, xmm7
rol ecx, 0x1b
mov dword [edx + 0x3c], ecx
punpckhqdq xmm7, xmm7
movd ecx, xmm7
rol ecx, 8
mov dword [edx + 0xc], ecx
pshuflw xmm7, xmm7, 0x4e
movd ecx, xmm7
rol ecx, 3
mov dword [edx + 0x20], ecx
pcmpeqb xmm7, xmm7
pxor xmm7, xmm6
por xmm7, xmm0
pxor xmm7, xmm1
movd ecx, xmm7
rol ecx, 0x18
mov dword [edx + 0x1c], ecx
pshuflw xmm7, xmm7, 0x4e
movd ecx, xmm7
rol ecx, 1
mov dword [edx + 0x30], ecx
punpckhqdq xmm7, xmm7
movd ecx, xmm7
rol ecx, 0xa
mov dword [edx], ecx
pshuflw xmm7, xmm7, 0x4e
movd ecx, xmm7
rol ecx, 0x1c
mov dword [edx + 0x14], ecx
pcmpeqb xmm7, xmm7
pxor xmm7, xmm5
por xmm7, xmm6
pxor xmm7, xmm0
movd ecx, xmm7
rol ecx, 6
mov dword [edx + 0x10], ecx
pshuflw xmm7, xmm7, 0x4e
movd ecx, xmm7
rol ecx, 0x15
mov dword [edx + 0x24], ecx
punpckhqdq xmm7, xmm7
movd ecx, xmm7
rol ecx, 0xd
mov dword [edx + 0x38], ecx
pshuflw xmm7, xmm7, 0x4e
movd ecx, xmm7
rol ecx, 0xe
mov dword [edx + 8], ecx
movdqa xmm4, xmm3
punpcklqdq xmm3, xmm2
punpckhdq xmm4, xmm2
movdqa xmm2, xmm1
punpcklqdq xmm1, xmm0
punpckhdq xmm2, xmm0
test esi, esi
je 0x40c5c0
movdqa xmm6, xmm4
punpcklqdq xmm4, xmm2
punpckhqdq xmm6, xmm2
test edi, 0xf
jne 0x40c58a
test edi, edi
je 0x40c59e
pxor xmm4, xmmword [edi]
pxor xmm6, xmmword [edi + 0x10]
add edi, 0x20
jmp 0x40c59e
movdqu xmm0, xmmword [edi]
movdqu xmm2, xmmword [edi + 0x10]
pxor xmm4, xmm0
pxor xmm6, xmm2
add edi, 0x20
test esi, 0xf
jne 0x40c5b4
movdqa xmmword [esi], xmm4
movdqa xmmword [esi + 0x10], xmm6
add esi, 0x20
jmp 0x40c5c0
movdqu xmmword [esi], xmm4
movdqu xmmword [esi + 0x10], xmm6
add esi, 0x20
lea ecx, [ebx + 0x20]
and ecx, 0x3e0
lea ebp, [ebx + 0x100]
and ebp, 0x3e0
movdqa xmm0, xmmword [edx + ecx + 0x50]
pxor xmm3, xmm0
pshufd xmm0, xmm0, 0xb1
movdqa xmmword [edx + ecx + 0x50], xmm3
pxor xmm0, xmmword [edx + ebp + 0x60]
movdqa xmmword [edx + ebp + 0x60], xmm0
movdqa xmm4, xmmword [edx + ecx + 0x60]
pxor xmm1, xmm4
movdqa xmmword [edx + ecx + 0x60], xmm1
pxor xmm4, xmmword [edx + ebp + 0x50]
movdqa xmmword [edx + ebp + 0x50], xmm4
movdqa xmm3, xmmword [edx + 0x30]
movdqa xmm2, xmmword [edx + 0x20]
movdqa xmm1, xmmword [edx + 0x10]
movdqa xmm0, xmmword [edx]
test ebx, 1
jne 0x40c667
movd xmm6, eax
movdqa xmm7, xmm3
movss xmm7, xmm6
movdqa xmm6, xmm2
movss xmm6, xmm3
movdqa xmm5, xmm1
movss xmm5, xmm2
movdqa xmm4, xmm0
movss xmm4, xmm1
pshufd xmm7, xmm7, 0x39
pshufd xmm6, xmm6, 0x39
pshufd xmm5, xmm5, 0x39
pshufd xmm4, xmm4, 0x39
jmp 0x40c68f
movd xmm7, eax
palignr xmm7, xmm3, 4
movq xmm6, xmm3
palignr xmm6, xmm2, 4
movq xmm5, xmm2
palignr xmm5, xmm1, 4
movq xmm4, xmm1
palignr xmm4, xmm0, 4
xor eax, 1
movd ecx, xmm0
xor eax, ecx
movd ecx, xmm3
xor eax, ecx
pxor xmm3, xmm2
pxor xmm2, xmm1
pxor xmm1, xmm0
pxor xmm0, xmm7
pxor xmm3, xmm7
pxor xmm2, xmm6
pxor xmm1, xmm5
pxor xmm0, xmm4
lea ecx, [ebx + 0x380]
and ecx, 0x3e0
lea ebp, [ebx + 0x200]
and ebp, 0x3e0
movdqa xmm4, xmmword [edx + ecx + 0x50]
movdqa xmm5, xmmword [edx + ebp + 0x50]
movdqa xmm6, xmm4
punpcklqdq xmm4, xmm5
punpckhqdq xmm6, xmm5
pxor xmm3, xmm4
pxor xmm2, xmm6
movdqa xmm4, xmmword [edx + ecx + 0x60]
movdqa xmm5, xmmword [edx + ebp + 0x60]
movdqa xmm6, xmm4
punpcklqdq xmm4, xmm5
punpckhqdq xmm6, xmm5
pxor xmm1, xmm4
pxor xmm0, xmm6
add ebx, 0x20
cmp ebx, dword [esp]
jne 0x40c3e8
mov dword [edx + 0x40], eax
movdqa xmmword [edx + 0x30], xmm3
movdqa xmmword [edx + 0x20], xmm2
movdqa xmmword [edx + 0x10], xmm1
movdqa xmmword [edx], xmm0
add esp, 4
pop ebp
pop edi
pop esi
pop ebx
pop ebp
ret