Function at 0x404110
Capabilities:
Hash data using murmur3

Disassembly:
push ebp
push esp
pop ebp
sub esp, 0x120
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax]
movzx edx, byte [eax + 1]
shl ecx, 8
or ecx, edx
movzx edx, byte [eax + 2]
push ebx
je 0x4043ef
jne 0x4043ef
push 0x697e8f6c
mov esi, dword [0x422190]
mov dword [0x4258cc], ebx
push 0x448684
add byte [eax + ebp + 0x41], al
out dx, al
or eax, 0xf803f933
mov eax, dword [ebp - 0xc]
lea eax, [edi + eax + 0x650a7354]
add esi, eax
mov dword [ebp + 0xc], eax
je 0x404d07
jne 0x404d07
push 0x47ad88
push 0x11237280
push ebp
inc eax
mov ebx, eax
mov dword [ebp - 0x10], esi
rol ebx, 0xe
mov edi, eax
shr eax, 3
ror edi, 7
jmp 0x409cc5
mov esi, dword [ebp - 0x10]
or esi, edx
and esi, dword [ebp - 0xc]
or esi, ebx
add esi, edi
mov dword [ebp - 0x18], esi
mov esi, dword [ebp - 0xc8]
mov ebx, esi
rol ebx, 0xf
mov edi, esi
push 0x405dcc
ret
shl ecx, 8
or ecx, edx
movzx edx, byte [eax + 3]
push esi
movzx esi, byte [eax + 5]
push edi
movzx edi, byte [eax + 9]
shl ecx, 8
or ecx, edx
push 0x407f2b
ret
xor ebx, edi
mov edi, edx
ror edi, 2
je 0x4086f2
jne 0x4086f2
mov edx, dword [0xf50a40]
mov dword [0x11277c0c], eax
loop 0x404aad
fidiv dword [ebx]
sti
ror ecx, 6
xor edi, ecx
mov ecx, dword [ebp - 0x1c]
xor ecx, dword [ebp - 4]
add edi, dword [ebp - 0x64]
push 0x4099a7
ret
pop ebp
or al, 0x8b
cli
or edi, esi
and edi, dword [ebp - 4]
mov dword [ebp - 0x20], edi
mov edi, edx
jmp 0x405124
mov eax, dword [ebp - 8]
mov ebx, eax
ror ebx, 0xd
jmp 0x408193
and edi, esi
jmp 0x40625a
add eax, dword [ebp - 0x68]
jmp 0x407a05
mov dword [ebp - 4], edi
mov edi, ecx
and edi, edx
mov edx, dword [ebp - 4]
or edx, edi
add edx, ebx
mov dword [ebp - 0xc], edx
mov edx, dword [ebp - 0xd4]
mov ebx, edx
push 0x40620b
ret
rol edi, 0xa
jmp 0x404a3b
ror edi, 0xd
mov ecx, eax
rol ecx, 0xa
xor edi, ecx
mov ecx, eax
ror ecx, 2
je 0x405bbe
jne 0x405bbe
mov ecx, dword [eax*4 + 0x100fe6b4]
or byte [ebp - 0x18], 2
push 0xa90d6c
mov eax, 0x5410f0
std
pushfd
pop ds
mov dword es:[ebp + 0xc], esi
mov edi, edx
ror edi, 0xd
mov esi, edx
rol esi, 0xa
xor edi, esi
mov ebx, dword [ebp - 0x10]
and ebx, edx
mov esi, edx
ror esi, 2
xor edi, esi
add edi, dword [ebp + 0xc]
jmp 0x40428d
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x94]
push 0x4076f6
ret
xor edi, ecx
add edi, dword [ebp + 0xc]
mov ecx, esi
or ecx, eax
and ecx, dword [ebp - 0x18]
or ecx, ebx
add ecx, edi
mov dword [ebp - 0x20], ecx
mov ecx, dword [ebp - 0xbc]
mov ebx, ecx
mov edi, ecx
shr ecx, 0xa
push 0x40694a
ret
or eax, edi
add eax, ebx
jmp 0x4059d3
mov esi, dword [ebp - 0x20]
or esi, edi
add esi, ebx
mov dword [ebp - 0xc], esi
mov esi, dword [ebp - 0x88]
mov ebx, esi
mov edi, esi
rol ebx, 0xe
ror edi, 7
xor ebx, edi
push 0x4064d9
ret
xor eax, edi
mov edi, dword [ebp - 0x30]
shr edi, 0xa
xor eax, edi
add eax, ebx
je 0x4051bc
jne 0x4051bc
push 0xa93864
mov ecx, dword [ebp - 0xc48]
push 0xb9babc
and edi, dword [edx - 0x75]
cli
jmp 0x4057e5
rol ebx, 7
push 0x4045e4
ret
mov ebx, ecx
je 0x409508
jne 0x409508
mov eax, dword [0x1153e0b4]
invalid
mov edi, ecx
ror edi, 0xb
push 0x404b58
ret
mov ecx, dword [ebp - 4]
or ecx, edi
add ecx, ebx
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 0xb8]
je 0x407149
jne 0x407149
call dword [ebp - 0x10]
fld dword [ebx + eax*4 + 0x1f0]
insb byte es:[edi], dx
mov edi, dword [ebp - 0x108]
shr edx, 0xa
xor ebx, edx
add ebx, dword [ebp - 0xe8]
mov edx, edi
je 0x407ddf
jne 0x407ddf
mov eax, dword [0x1153d324]
jo 0x407e2e
fisttp word [ebx]
invalid
rol edx, 0xe
ror edi, 7
xor edx, edi
mov edi, dword [ebp - 0x108]
shr edi, 3
xor edx, edi
add edx, ebx
add edx, dword [ebp - 0x10c]
mov dword [ebp - 0xcc], edx
mov edx, dword [ebp - 0x1c]
mov edi, edx
ror edi, 0xb
mov ebx, edx
je 0x406507
jne 0x406507
mov eax, 0x10085940
mov esi, dword [0x4398b0]
mov eax, 0xf2c92c
mov ecx, dword [edx - 0xa0]
mov dword [edi + 0x30a4], edx
add byte [eax - 0x29], dl
movsb byte es:[edi], byte [esi]
xor byte [eax], al
add byte [eax], al
push eax
xlatb
dec edx
mov eax, dword [ebp - 0x10]
mov edi, eax
mov ebx, eax
ror edi, 0xb
rol ebx, 7
xor edi, ebx
ror eax, 6
xor edi, eax
mov eax, dword [ebp - 8]
xor eax, dword [ebp - 0xc]
and eax, dword [ebp - 0x10]
xor eax, dword [ebp - 8]
add edi, dword [ebp - 0xb8]
mov ebx, esi
add eax, edi
lea ecx, [eax + ecx - 0x4ffcd838]
mov eax, dword [ebp - 4]
je 0x40824a
jne 0x40824a
push 0x111ff300
cmp eax, 0xff40bd03
invalid
and ebx, eax
mov edi, eax
je 0x405899
jne 0x405899
mov dword [esi], 0xa8af84
adc dword [ebp + 0x14], ebx
mov dword [0x1153b6c0], eax
mov dword [0x112b8514], eax
mov dword [ecx], 0x496594
xchg edx, eax
and eax, esi
invalid
mov edi, eax
rol edi, 0xa
xor ebx, edi
mov edi, eax
ror edi, 2
xor ebx, edi
add ebx, dword [ebp + 0xc]
mov edi, dword [ebp - 0x20]
or edi, eax
and edi, dword [ebp - 4]
mov dword [ebp - 0x1c], edi
mov edi, dword [ebp - 0x20]
jmp 0x4098b6
add edx, ecx
mov dword [ebp + 0xc], ecx
jmp 0x407edc
xor ebx, edi
add ebx, dword [ebp + 0xc]
mov edi, ecx
or edi, edx
and edi, eax
je 0x405447
jne 0x405447
movzx esi, byte [eax + 0x5c3f38]
dec dword [ecx + eax*8 - 0x674f235]
rol edi, 0xa
xor ebx, edi
mov edi, ecx
ror edi, 2
xor ebx, edi
add ebx, dword [ebp + 0xc]
mov edi, eax
or edi, ecx
and edi, esi
mov dword [ebp - 4], edi
mov edi, eax
and edi, ecx
jmp 0x407d62
rol ebx, 0xf
mov edi, ecx
rol edi, 0xd
xor ebx, edi
shr ecx, 0xa
xor ebx, ecx
add ebx, dword [ebp - 0xcc]
mov edi, dword [ebp - 0xec]
mov ecx, edi
rol ecx, 0xe
push 0x40491a
ret
and edi, eax
mov eax, dword [ebp - 0x1c]
jmp 0x405e38
xor ebx, edi
xor ebx, eax
add ebx, dword [ebp - 0x44]
jmp 0x409d72
mov edi, dword [ebp - 0x30]
mov eax, edi
rol eax, 0xf
rol edi, 0xd
jmp 0x406348