Function at 0x4c7281
Capabilities:
Hash data using murmur3

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
mov esi, dword [ebp + 0xc]
mov ecx, dword [ebp + 0x10]
mov edi, dword [ebp + 8]
mov eax, ecx
mov edx, ecx
add eax, esi
cmp edi, esi
jbe 0x4bd3b0
cmp edi, eax
jb 0x4bd550
cmp ecx, 0x80
jb 0x4bd3d4
cmp dword [0x5d4a2c], 0
je 0x4bd3d4
push edi
push esi
and edi, 0xf
and esi, 0xf
cmp edi, esi
pop esi
pop edi
jne 0x4bd3d4
jmp 0x4c70fd
test edi, 3
jne 0x4bd3f0
shr ecx, 2
and edx, 3
cmp ecx, 8
jb switch.0x004bd410
rep movsd dword es:[edi], dword [esi]
jmp dword [edx*4 + 0x4bd500]
mov eax, edi
mov edx, 3
sub ecx, 4
jb 0x4bd408
and eax, 3
add ecx, eax
jmp dword [eax*4 + 0x4bd414]
jmp dword [ecx*4 + case.0x4bd3e9.0]
jmp dword [ecx*4 + 0x4bd494]
mov eax, dword [esi + ecx*4 - 0x1c]
mov dword [edi + ecx*4 - 0x1c], eax
mov eax, dword [esi + ecx*4 - 0x18]
mov dword [edi + ecx*4 - 0x18], eax
mov eax, dword [esi + ecx*4 - 0x14]
mov dword [edi + ecx*4 - 0x14], eax
mov eax, dword [esi + ecx*4 - 0x10]
mov dword [edi + ecx*4 - 0x10], eax
mov eax, dword [esi + ecx*4 - 0xc]
mov dword [edi + ecx*4 - 0xc], eax
mov eax, dword [esi + ecx*4 - 8]
mov dword [edi + ecx*4 - 8], eax
mov eax, dword [esi + ecx*4 - 4]
mov dword [edi + ecx*4 - 4], eax
lea eax, [ecx*4]
add esi, eax
add edi, eax
jmp dword [edx*4 + 0x4bd500]
mov eax, dword [ebp + 8]
pop esi
pop edi
leave
ret
mov al, byte [esi]
mov byte [edi], al
mov eax, dword [ebp + 8]
pop esi
pop edi
leave
ret
mov al, byte [esi]
mov byte [edi], al
mov al, byte [esi + 1]
mov byte [edi + 1], al
mov eax, dword [ebp + 8]
pop esi
pop edi
leave
ret
mov al, byte [esi]
mov byte [edi], al
mov al, byte [esi + 1]
mov byte [edi + 1], al
mov al, byte [esi + 2]
mov byte [edi + 2], al
mov eax, dword [ebp + 8]
pop esi
pop edi
leave
ret
lea esi, [ecx + esi - 4]
lea edi, [ecx + edi - 4]
test edi, 3
jne 0x4bd584
shr ecx, 2
and edx, 3
cmp ecx, 8
jb case.default.0x4bd56f
std
rep movsd dword es:[edi], dword [esi]
cld
jmp dword [edx*4 + 0x4bd69c]
neg ecx
jmp dword [ecx*4 + 0x4bd64c]
mov eax, edi
mov edx, 3
cmp ecx, 4
jb switch.0x004bd59c
and eax, 3
sub ecx, eax
jmp dword [eax*4 + 0x4bd5a0]
jmp dword [ecx*4 + 0x4bd69c]
jmp dword [edx*4 + 0x4bd69c]
mov eax, dword [ebp + 8]
pop esi
pop edi
leave
ret
mov al, byte [esi + 3]
mov byte [edi + 3], al
mov eax, dword [ebp + 8]
pop esi
pop edi
leave
ret
mov al, byte [esi + 3]
mov byte [edi + 3], al
mov al, byte [esi + 2]
mov byte [edi + 2], al
mov eax, dword [ebp + 8]
pop esi
pop edi
leave
ret
mov al, byte [esi + 3]
mov byte [edi + 3], al
mov al, byte [esi + 2]
mov byte [edi + 2], al
mov al, byte [esi + 1]
mov byte [edi + 1], al
mov eax, dword [ebp + 8]
pop esi
pop edi
leave
ret
or byte [ebp - 0x6f170fb3], cl
sbb edi, edi
invalid
mov byte [ecx], 0x81
out dx, al
and byte [edi - 0xc74f3ec], bh
dec esi
mov ecx, esi
or dword [0x5d6b7c], 0x10189db4
add eax, ebp
xor esi, eax
mov edi, 0x885baa4
not edx
mov ecx, 0x16788
call fcn.004019e3
xchg esi, esi
inc esi
rol eax, 8
test esi, 0x1b6bdb88
jo 0x4c70c1
call fcn.0048c6a6
or dword [0x5d6a94], ecx
xchg edx, eax
sub edx, dword [0x5bc9e0]
loop 0x4c7124
xor eax, 0x97fcfe1
or esi, edi
test esi, 0x156d770
jo 0x4c71d9
and esi, edi
mov ebx, esp
xor ecx, edi
add eax, eax
mov esi, esp
add ebx, dword [0x5c01cf]
add edi, 0x1b6a1fa
xor esi, eax
and esi, edi
mov ecx, edx
mov esi, esp
neg eax
xor esi, ebx
shl ecx, 0x1f
mov dword [0x5d6a8c], ecx
ror esi, 0x1f
or esi, edi
xor esi, eax
and edx, eax
xor esi, esi
rol ecx, 0xc
add ebx, 0x178ac628
xor esi, eax
sub edi, edx
or esi, edi
not esi
test esp, edi
jo 0x4c71fa
mov ecx, 0xbb844c
rol edx, 0x14
neg edi
xchg eax, eax
rol edx, 0x11
not edx
xchg esi, edx
sub dword [0x5d6cb1], ecx
inc edx
mov dword [0x5d6a14], 0xa690575
inc eax
ror esi, 0xf
mov dword [0x5d6b90], 0x9bfe342
add byte [edx - 0x1d], al
mov edi, 0x21d1e209
rol byte [ecx - 0x30a27716], 0x2c
loop 0x4c71ac
and eax, eax
sub edx, 0x2ccf5d88
neg edi
dec eax
rol eax, 5
call fcn.0048c6a6
mov dword [0x5d6a50], 0x861fccc
xor ecx, eax
and edx, eax
test eax, 0x6394526
cmp dword [esi], eax
jo 0x4c7274
not ebx
test esi, ebp
jo 0x4c71ba
xor esi, eax
test ecx, eax
jb 0x4c723e
xor eax, 0x73338c0
rol esi, 6
dec eax
neg esi
mov edi, dword [0x5bf53c]
xor esi, 0x11babf8
call fcn.004c2c7b
xchg ebx, edx
cmc
pop ebx
add byte [ecx + 0x1babf8f6], al
add eax, ebp
dec esi
mov edx, 0xd387ffff
test eax, 0x2a193056
jb 0x4c72b5
xor eax, esp
or ecx, dword [0x5bb9fc]
dec esi
test esp, edx
jo 0x4c721f
add byte [esi - 0x7b], cl
aam 0x70
fcomi st(7)
xlatb
not edi
sub eax, edx
test esi, ebx
jo 0x4c71d4
xor esi, eax
mov ebx, eax
xor ecx, esi
shr edx, 0x17
mov esi, esp
not eax
test esp, ebp
jo 0x4c7204
rol eax, 0x12
mov edx, esp
call fcn.00411b65
rol edx, 4
xchg eax, eax
sub esi, 0x24e85b78
mov ecx, 0xb107bf
pop es
mov cl, 0
shr eax, 0x16
sub dword [0x5d69b7], edi
xchg esi, esi
test byte [ecx + 0x5d69e725], 0
fcomp st(7)
pop esi
daa
not esi
call fcn.0040fe6a
inc eax
dec edx
inc esi
shr edx, 5
dec eax
mov dword [0x5d6b20], 0x14ed51fc
shl edx, 0x19
loop 0x4c7277
or esi, edi
sub eax, edx
or esi, 0xdb99302
call fcn.0040fe6a
mov eax, eax
or ebx, dword [0x5c2aa6]
rol esi, 7
mov esi, edx
or esi, edi
mov esi, esp
dec dword [ebx - 0x59e2f440]
sub bl, byte [eax + eax - 0x3f]
mov byte [edi], 0x8b
or esi, edi
add esi, eax
mov esi, 0x153ecc44
inc edx
dec esi
not eax
mov edx, 0x10cd0a1
inc esi
and esi, edi
mov ecx, 0xc17484
mov dword [0x5d6af5], esi
xor ebx, dword [0x5cadc6]
shr edx, 0xc
or dword [0x5d69f8], 0xdeadebc
inc eax
rol eax, 1
call fcn.004067a6
rol esi, 0x18
neg esi
invalid