Function at 0x401027
Capabilities:
Hash data using murmur3

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x124
mov eax, dword [esp + 0x13c]
mov edi, dword [esp + 0x138]
mov ecx, dword [0x489ec4]
mov edx, 0x1a3755f4
sub edx, ecx
mov cx, word [0x49358c]
and ecx, edx
mov word [0x49358c], cx
mov word [0x490e44], 0xffff
mov cx, word [0x4955dc]
xor ecx, 0x60c0
mov word [0x4955dc], cx
mov cx, word [0x4931de]
movsx ecx, cx
and dword [0x486cfc], ecx
xor ecx, ecx
mov dx, word [0x4944bc]
movsx edx, dx
mov esi, dword [0x48f970]
sar esi, 3
or esi, edx
mov edx, dword [0x488ca0]
imul edx, esi
mov dword [0x488ca0], edx
mov dx, word [0x492204]
or edx, 0xa1b7
mov word [0x492204], dx
movzx edx, byte [eax + ecx*4]
shl edx, 0x18
movzx esi, byte [eax + ecx*4 + 1]
shl esi, 0x10
or esi, edx
movzx edx, byte [eax + ecx*4 + 2]
shl edx, 8
or edx, esi
movzx esi, byte [eax + ecx*4 + 3]
or esi, edx
mov dword [esp + ecx*4 + 0x24], esi
mov edx, dword [0x488058]
not edx
imul edx, edx, 0xc2eee438
mov si, word [0x4920fa]
or esi, edx
mov word [0x4920fa], si
mov edx, dword [0x48bc54]
shl edx, 0xa
and edx, 0xee008800
cmp edx, 0x13809740
jl 0x401152
mov edx, dword [0x48cc20]
inc edx
mov dword [0x48cc20], edx
cmp edx, 0xd1a29d02
jne 0x401152
mov edx, dword [0x4862f8]
lea esi, [edx + 1]
mov dword [0x4862f8], esi
mov esi, dword [0x48f410]
lea edx, [esi + edx + 1]
or dword [0x489534], edx
mov edx, dword [0x48f1f8]
imul edx, edx, 0x8a878c37
mov dword [0x48f1f8], edx
inc ecx
cmp ecx, 0x10
jne 0x40108b
mov eax, dword [0x490670]
lea ecx, [eax + 1]
mov dword [0x490670], ecx
and eax, 0x6a7570d8
cmp eax, 0x563078e4
ja 0x401198
mov eax, dword [0x48dc9c]
imul eax, eax, 0x61a8884e
mov dword [0x48dc9c], eax
lea esi, [edi + 8]
lea edi, [esp]
mov ecx, 9
rep movsd dword es:[edi], dword [esi]
add dword [0x48d0a4], 0xd0244633
push 0x100
push 0x1f72
call fcn.004020cd
add esp, 8
mov cx, word [0x492bde]
dec ecx
mov word [0x492bde], cx
or ecx, 0xffff81e3
xor ecx, 0x141c
mov word [0x493b66], cx
xor ecx, ecx
mov edx, dword [0x48e058]
add edx, 0x85e1081a
and dword [0x487838], edx
cmp ecx, 0xf
jle 0x401346
mov edx, dword [0x48dad8]
xor edx, 0xf9396963
and dword [0x48add4], edx
mov edx, dword [esp + ecx*4 + 0x1c]
mov esi, edx
rol esi, 0xf
mov edi, edx
rol edi, 0xd
shr edx, 0xa
xor edx, esi
xor edx, edi
mov dword [esp + ecx*4 + 0x24], edx
mov dx, word [0x4916a8]
movsx edx, dx
mov esi, dword [0x48a928]
xor esi, edx
or esi, 0x488117b3
mov dword [0x489818], esi
mov edx, dword [esp + ecx*4 + 8]
add dword [esp + ecx*4 + 0x24], edx
mov edx, dword [0x48faf4]
lea esi, [edx - 1]
mov dword [0x48faf4], esi
mov esi, dword [0x48cde0]
lea edx, [edx + esi - 0x220368f]
cmp edx, 0x80202082
jg 0x4012ed
mov edx, dword [0x48f620]
lea esi, [edx + 1]
mov dword [0x48f620], esi
mov si, word [0x49267e]
lea edi, [esi + 1]
mov word [0x49267e], di
movsx esi, si
or esi, edx
or esi, 0x1e89ef66
cmp esi, 0x270a8600
jl 0x4012cb
mov edx, dword [0x48f074]
inc edx
mov dword [0x48f074], edx
or edx, 0xdf588848
mov esi, dword [0x48cf54]
sub esi, edx
mov dword [0x48cf54], esi
jmp 0x4012ed
mov edx, dword [0x48b1e0]
imul edx, edx, 0x3bc4ec00
xor edx, 0xb13f
mov si, word [0x49572c]
and esi, edx
mov word [0x49572c], si
mov edx, dword [esp + ecx*4 - 0x18]
mov esi, edx
rol esi, 0x19
mov edi, edx
rol edi, 0xe
shr edx, 3
xor edx, esi
xor edx, edi
add dword [esp + ecx*4 + 0x24], edx
mov edx, dword [0x4859bc]
and edx, 0x4859277c
cmp edx, 0x372b3766
ja 0x401337
mov edx, dword [0x48d2f8]
mov esi, 0xa96ed448
sub esi, edx
mov dx, word [0x4911ba]
xor edx, esi
mov word [0x4911ba], dx
mov edx, dword [esp + ecx*4 - 0x1c]
add dword [esp + ecx*4 + 0x24], edx
mov dx, word [0x49529a]
xor dword [0x490638], 0xe3e01573
mov edx, dword [0x486c30]
lea esi, [edx - 1]
mov dword [0x486c30], esi
imul edx, edx, 0xf72086a5
mov dword [0x488338], edx
mov edx, dword [esp + 0x10]
mov esi, dword [esp + 0x18]
mov edi, edx
mov ebp, edx
mov ebx, dword [esp + 0x14]
xor ebx, esi
and ebx, edx
rol edx, 0x1a
rol edi, 0x15
rol ebp, 7
xor ebp, edi
xor ebp, edx
xor ebx, esi
mov edx, dword [eax + ecx*4]
add edx, dword [esp + 0x1c]
add edx, ebp
add edx, dword [esp + ecx*4 + 0x24]
add edx, ebx
and dword [0x48627c], 0xc0ef7cdd
mov esi, dword [esp]
mov edi, dword [esp + 4]
mov ebx, esi
rol ebx, 0x13
mov ebp, esi
rol ebp, 0xa
xor ebp, ebx
mov ebx, edi
and ebx, esi
or edi, esi
rol esi, 0x1e
xor ebp, esi
and edi, dword [esp + 8]
or edi, ebx
mov esi, dword [0x48b624]
imul esi, esi, 0xecb0df80
mov dword [0x48b624], esi
add dword [esp + 0xc], edx
add edi, edx
add edi, ebp
or dword [0x489208], 0xddc81bfe
mov dword [esp + 0x1c], edi
mov dx, word [0x491ffa]
inc edx
mov word [0x491ffa], dx
movsx edx, dx
or dword [0x48d47c], edx
mov word [0x494d98], 0xe32e
mov dx, word [0x49229c]
or edx, 0x2c4e
mov word [0x49229c], dx
mov edx, 8
mov word [0x495d5e], 0x7ece
mov esi, dword [esp + edx*4 - 4]
mov dword [esp + edx*4], esi
mov esi, dword [0x48d904]
mov edi, dword [0x48a1d4]
or edi, esi
or edi, 0xa89a4e2e
dec edx
mov dword [0x48a1d4], edi
jne 0x40142d
mov edx, dword [0x48b13c]
add edx, 0x15ab4e2c
xor edx, 0xcc1b2309
and dword [0x48a47c], edx
mov edx, dword [esp + 0x20]
mov dword [esp], edx
mov edx, dword [0x48b914]
lea esi, [edx - 1]
mov dword [0x48b914], esi
mov esi, dword [0x486500]
xor esi, edx
xor esi, 0x1b69916d
cmp esi, 0xb2736a26
jg 0x4014b4
mov dx, word [0x495e80]
add edx, 0x7958
mov word [0x495e80], dx
jmp 0x4014e6
mov edx, dword [0x48d4c8]
imul edx, edx, 0x2b49797e
mov esi, dword [0x484ebc]
and esi, 0x695b1d05
cmp edx, esi
jne 0x4014dc
xor dword [0x48d400], 0x7fff5fff
jmp 0x4014e6
and dword [0x48778c], 0xa4575340
inc ecx
cmp ecx, 0x40
jne 0x4011e5
mov ecx, dword [0x48e4f4]
inc ecx
mov dword [0x48e4f4], ecx
mov dx, word [0x496896]
movsx edx, dx
imul edx, ecx
shl edx, 6
add edx, 0x7c15afcc
cmp edx, 0x22e0b85a
jg 0x40153b
mov ecx, dword [0x48f418]
add ecx, 0x29716504
mov edx, dword [0x48db9c]
and edx, ecx
and edx, 0x210a9a38
mov dword [0x48db9c], edx
push eax
push 0x100
call fcn.0041c522
add esp, 8
mov ax, word [0x4966fe]
or eax, 0xb37d
mov word [0x4966fe], ax
xor eax, eax
mov esi, dword [esp + 0x138]
mov cx, word [0x493404]
movsx ecx, cx
mov edx, dword [0x48e4a8]
dec edx
mov dword [0x48e4a8], edx
and edx, ecx
mov dword [0x487b24], edx
mov ecx, dword [esp + eax*4]
add dword [esi + eax*4 + 8], ecx
mov cx, word [0x491954]
movsx ecx, cx
sar ecx, 9
mov edx, dword [0x48a170]
neg ecx
lea ecx, [edx + ecx - 0x3f53b40]
mov dword [0x48a170], ecx
inc eax
cmp eax, 8
jne 0x401563
mov ax, word [0x49290e]
mov eax, dword [0x48e0e4]
lea ecx, [eax - 1]
mov dword [0x48e0e4], ecx
mov ecx, 0xe9c68b04
sub ecx, eax
add dword [0x4866cc], ecx
add esp, 0x124
pop esi
pop edi
pop ebx
pop ebp
ret