Function at 0x404140
Capabilities:
Hash data using murmur3

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x120
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax]
movzx edx, byte [eax + 1]
je 0x404feb
jne 0x404feb
mov dword [esi + 0xf24], edx
mov dword [0x444d70], eax
shl dword [ebx - 0x67], 1
or eax, esi
and eax, dword [ebp - 0x10]
je 0x405af2
jne 0x405af2
push 0xaff7f4
movsx ebp, word [edx + ebp]
mov esi, dword [0x100380a4]
add byte [edx - 0xeff87c3], ah
mov dword [0xc3008626], eax
retf 0x5bb5
mov esi, dword [ebp - 0x68]
push 0x409e2f
ret
mov edi, eax
ror edi, 0xd
mov edx, eax
push 0x4064b7
ret
invalid
shl ecx, 8
or ecx, edx
movzx edx, byte [eax + 2]
push ebx
shl ecx, 8
or ecx, edx
movzx edx, byte [eax + 3]
push esi
je 0x406d79
jne 0x406d79
adc dword [esi + 0x2ec], 0
lea ecx, [edi + 0x394]
xor al, byte [ecx + eax*2]
pop edi
mov bh, 0x8b
jge 0x404fe8
xor ebx, edx
add ebx, dword [ebp - 0x4c]
mov edx, edi
rol edx, 0xf
rol edi, 0xd
xor edx, edi
mov edi, dword [ebp - 0x38]
shr edi, 0xa
xor edx, edi
add edx, ebx
add edx, dword [ebp - 0x70]
mov dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x18]
mov edi, edx
mov ebx, edx
ror edi, 0xb
rol ebx, 7
xor edi, ebx
je 0x40568c
jne 0x40568c
test byte [eax + eax - 0x71], bh
mov eax, dword [0x42d890]
xlatb
push eax
jle 0x40503f
or cl, byte [ecx + 0x7d8bfc7d]
clc
and edi, edx
mov edx, dword [ebp - 4]
or edx, edi
add edx, ebx
mov dword [ebp - 0x10], edx
jmp 0x409e9f
shl edi, 8
jmp 0x406619
ror edx, 6
xor edi, edx
add edi, dword [ebp - 0x30]
mov edx, eax
xor edx, dword [ebp - 0x14]
and edx, dword [ebp - 0x18]
xor edx, eax
add edx, edi
lea esi, [edx + esi - 0x6f410006]
mov edx, dword [ebp - 0x1c]
add edx, esi
mov dword [ebp + 0xc], esi
mov esi, dword [ebp - 8]
jmp 0x40725c
mov esi, dword [ebp - 0xc]
or eax, edi
je 0x4064dc
jne 0x4064dc
push 0x1146ea0c
mov ecx, dword [0xdd6758]
lea edi, [ecx - 0x28]
mov eax, 0x1058b118
mov dword [ebp - 0xf0], 0x100c5794
push 0x27
mov byte [0xfb0b774b], al
or edi, ebx
movzx ebx, byte [eax + 0x15]
mov dword [ebp - 0x110], edi
movzx edi, byte [eax + 0x14]
shl edi, 8
or edi, ebx
movzx ebx, byte [eax + 0x16]
je 0x4097b4
jne 0x4097b4
mov ecx, dword [0xd2b9f8]
or bh, byte [ebx]
cmp al, byte [esp + 0x13]
pop esi
cmp eax, 0xb60ffb0b
pop eax
adc al, cl
out 8, eax
je 0x409107
jne 0x409107
rol byte [eax], 0x7f
push 0xace820
push 0x100f04f0
add byte [esp + 0x45], cl
mov dword [edx + 0x34], eax
inc edi
dec edx
fnstsw word [edi]
sti
mov dword [ebp + 0xc], edx
jmp 0x404b58
rol edi, 0xa
xor ebx, edi
mov edi, esi
ror edi, 2
xor ebx, edi
add ebx, dword [ebp + 0xc]
mov edi, dword [ebp - 0x20]
or edi, esi
and edi, ecx
je 0x409e7d
jne 0x409e7d
mov eax, 0x421d70
push 0x43993c
mov dword [esi], 0x102edbec
add byte [esi - 0x67], bh
xor al, 0xc4
fsubr qword [esi - 0x6d]
add eax, ebx
add eax, dword [ebp - 0x68]
push 0x409cb7
ret
add eax, ebx
push 0x406d29
ret
or edi, ebx
movzx ebx, byte [eax + 0x1b]
push 0x409aec
ret
movzx esi, byte [eax + 5]
je 0x40802f
jne 0x40802f
jmp dword [0x102aaf4c]
mov ebx, esi
mov edi, esi
ror ebx, 0xd
je 0x4061b9
jne 0x4061b9
mov dword [ebp - 0x9ce4], eax
iretd
push edi
movzx edi, byte [eax + 9]
push 0x40892f
ret
or edi, ebx
movzx ebx, byte [eax + 0x17]
shl edi, 8
or edi, ebx
movzx ebx, byte [eax + 0x19]
mov dword [ebp - 0x10c], edi
movzx edi, byte [eax + 0x18]
shl edi, 8
or edi, ebx
movzx ebx, byte [eax + 0x1a]
je 0x405339
jne 0x405339
mov dword [0x1061e748], eax
cmp dword [0x42c2f0], esi
mov edi, 0xa2812c
mov dword [0x43a574], edi
mov dword [0xe914c8], eax
ret 0x33c2
or edi, ebx
movzx ebx, byte [eax + 0x13]
shl edi, 8
je 0x405b25
jne 0x405b25
mov dword [ebp - 0x830], eax
mov edi, dword [0xe2a360]
mov dword [esi + 0x20], 0x102eef24
mov al, byte [ebp - 0x55]
sub byte [ebx], cl
invalid
shl edi, 8
jmp 0x4087af
mov dword [ebp - 4], edi
mov edi, dword [ebp - 0x20]
and edi, esi
mov esi, dword [ebp - 4]
or esi, edi
add esi, ebx
mov dword [ebp - 0xc], esi
jmp 0x4044ad
mov edx, dword [ebp - 0xd0]
mov ebx, edx
mov edi, edx
rol ebx, 0xf
push 0x406217
ret