Function at 0x40de40
Capabilities:
Hash data using murmur3

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x148
mov eax, dword [esp + 0x160]
mov ecx, dword [esp + 0x15c]
mov dword [esp + 0x144], eax
mov dword [esp + 0x140], ecx
mov eax, dword [0x4af678]
mov ecx, dword [0x4ad6b8]
mov edx, ecx
dec edx
mov dword [0x4ad6b8], edx
imul eax, ecx
mov ecx, dword [0x4adf44]
imul ecx, eax
mov dword [0x4adf44], ecx
mov eax, dword [0x4a7cc0]
not eax
add eax, 0xd347d14
mov si, word [0x4a4990]
mov cx, si
and ecx, eax
mov si, cx
mov word [0x4a4990], si
mov eax, dword [0x4a52cc]
or eax, 0x40d33aaa
mov dword [0x4a52cc], eax
mov eax, dword [0x4ac340]
mov ecx, eax
inc ecx
mov dword [0x4ac340], ecx
add eax, 0xb307e3fd
mov si, word [0x4a1bea]
mov cx, si
or ecx, eax
mov si, cx
mov word [0x4a1bea], si
mov dword [esp + 0x10], 0
cmp dword [esp + 0x10], 0x10
je 0x40dff2
mov eax, dword [0x4b0764]
add eax, 0xf96e2ad7
mov cx, word [0x49efa6]
mov dx, cx
dec edx
mov si, dx
mov word [0x49efa6], si
movsx edx, cx
or eax, edx
mov cx, word [0x4a174a]
movsx edx, cx
cmp eax, edx
jge 0x40df47
mov ax, word [0x49f75c]
mov cx, ax
add ecx, 0xb6acecd8
mov ax, cx
mov word [0x49f75c], ax
mov eax, 0x1313a7a3
mov ecx, dword [0x4aafa0]
cmp eax, ecx
jge 0x40df79
mov eax, dword [0x4a67e8]
imul eax, eax, 0x79b84e1d
and eax, 0x3cf9e506
mov ecx, dword [0x4b1374]
imul ecx, eax
mov dword [0x4b1374], ecx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x144]
movzx edx, byte [ecx + eax*4]
shl edx, 0x18
movzx esi, byte [ecx + eax*4 + 1]
shl esi, 0x10
or edx, esi
movzx esi, byte [ecx + eax*4 + 2]
shl esi, 8
or edx, esi
movzx ecx, byte [ecx + eax*4 + 3]
or edx, ecx
mov dword [esp + eax*4 + 0x38], edx
mov eax, dword [0x4af4c4]
add eax, 0x4c3452
mov dword [0x4af4c4], eax
mov eax, dword [0x4ab9f4]
xor eax, 0xeedfe5ff
mov dword [0x4ab9f4], eax
mov di, word [0x4a10d0]
mov ax, di
imul eax, eax, 0xf5464dcc
mov di, ax
mov word [0x4a10d0], di
mov eax, dword [esp + 0x10]
add eax, 1
mov dword [esp + 0x10], eax
jmp 0x40deee
mov eax, dword [0x4a7bdc]
shl eax, 7
mov ecx, dword [0x4afe94]
or eax, ecx
mov ecx, dword [0x4af5b0]
shl ecx, 3
or eax, ecx
mov dword [0x4ab640], eax
mov eax, dword [esp + 0x140]
mov ecx, dword [eax + 0x28]
mov dword [esp + 0x34], ecx
movsd xmm0, qword [eax + 0x20]
movsd qword [esp + 0x2c], xmm0
movsd xmm0, qword [eax + 0x18]
movsd qword [esp + 0x24], xmm0
movsd xmm0, qword [eax + 8]
movsd xmm1, qword [eax + 0x10]
movsd qword [esp + 0x1c], xmm1
movsd qword [esp + 0x14], xmm0
mov eax, dword [0x4ad620]
mov ecx, eax
inc ecx
mov dword [0x4ad620], ecx
mov dx, word [0x4a116a]
mov cx, dx
dec ecx
mov si, cx
mov word [0x4a116a], si
movsx ecx, dx
lea eax, [eax + ecx + 1]
mov ecx, dword [0x4ae5ec]
dec ecx
mov dword [0x4ae5ec], ecx
sub eax, ecx
mov dword [0x4aeb70], eax
mov eax, esp
mov dword [eax + 4], 0x100
mov dword [eax], 0x288b
call fcn.00444b60
mov dword [esp + 8], eax
mov dx, word [0x4a088c]
movsx eax, dx
not eax
mov ecx, dword [0x4b0a9c]
sar ecx, 4
imul eax, ecx
add eax, 0xdf762af1
mov ecx, dword [0x4aebf8]
xor ecx, eax
mov dword [0x4aebf8], ecx
mov dword [esp + 0x10], 0
cmp dword [esp + 0x10], 0x40
je 0x40e59a
mov eax, dword [0x4b1378]
cmp eax, 0x19100193
jg 0x40e108
mov ax, word [0x4a4382]
mov cx, ax
or ecx, 0xddc6
mov ax, cx
mov word [0x4a4382], ax
cmp dword [esp + 0x10], 0xf
jle 0x40e26d
mov eax, dword [0x4b1344]
mov ecx, eax
inc ecx
mov dword [0x4b1344], ecx
mov dx, word [0x4a0c40]
movsx ecx, dx
or eax, ecx
mov dword [0x4ab140], eax
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + eax*4 + 0x30]
mov esi, ecx
rol esi, 0xf
mov edi, ecx
rol edi, 0xd
xor esi, edi
shr ecx, 0xa
xor esi, ecx
mov dword [esp + eax*4 + 0x38], esi
mov eax, dword [0x4aaab8]
and eax, 0x3e0c68a2
mov dword [0x4aaab8], eax
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + eax*4 + 0x1c]
mov esi, dword [esp + eax*4 + 0x38]
add esi, ecx
mov dword [esp + eax*4 + 0x38], esi
mov eax, dword [0x4aec40]
dec eax
mov dword [0x4aec40], eax
sub eax, 0x3932ee3e
cmp eax, 0xfb0ca3a0
jg 0x40e19a
mov dword [0x4b20e0], 0xbc34efb3
jmp 0x40e1d2
mov eax, dword [0x4a73c8]
inc eax
mov dword [0x4a73c8], eax
mov ecx, dword [0x4af5c4]
imul ecx, ecx, 0x6ca38135
and eax, ecx
cmp eax, 0x64318016
jl 0x40e1cd
mov eax, dword [0x4aba4c]
or eax, 0xa1f033ef
mov dword [0x4aba4c], eax
jmp 0x40e1d2
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + eax*4 - 4]
mov edx, ecx
rol edx, 0x19
mov esi, ecx
rol esi, 0xe
xor edx, esi
shr ecx, 3
xor edx, ecx
mov ecx, dword [esp + eax*4 + 0x38]
add ecx, edx
mov dword [esp + eax*4 + 0x38], ecx
mov di, word [0x4a0384]
mov ax, di
inc eax
mov bx, ax
mov word [0x4a0384], bx
movsx eax, di
and eax, 0x78685008
mov ecx, dword [0x4ac058]
add ecx, 0x58fecaae
cmp eax, ecx
jge 0x40e24c
mov eax, dword [0x4afde4]
not eax
mov ecx, dword [0x4ac710]
not ecx
imul eax, ecx
imul eax, eax, 0x7eb487d5
mov ecx, dword [0x4ae65c]
add ecx, eax
mov dword [0x4ae65c], ecx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + eax*4 - 8]
mov edx, dword [esp + eax*4 + 0x38]
add edx, ecx
mov dword [esp + eax*4 + 0x38], edx
mov eax, dword [0x4a715c]
add eax, 0x170504c5
mov dword [0x4a715c], eax
mov eax, 0xc90409
mov ecx, dword [0x4aaafc]
mov edx, ecx
inc edx
mov dword [0x4aaafc], edx
add ecx, 0x582a9cc1
mov si, word [0x4a4356]
movsx edx, si
sub ecx, edx
cmp eax, ecx
jg 0x40e2b3
mov ax, word [0x49e5dc]
mov cx, ax
add ecx, 0x842531f6
mov ax, cx
mov word [0x49e5dc], ax
mov eax, 0xee3f9a6e
mov cx, word [0x49fff0]
mov dx, cx
dec edx
mov si, dx
mov word [0x49fff0], si
movsx edx, cx
imul edx, edx, 0xb0f3af95
mov dword [0x4ad6d0], edx
mov edx, dword [esp + 0x30]
mov edi, dword [esp + 0x24]
mov ebx, dword [esp + 0x28]
mov ebp, edi
rol ebp, 0x1a
mov esi, edi
rol esi, 0x15
xor ebp, esi
mov esi, edi
rol esi, 7
xor ebp, esi
add edx, ebp
mov esi, dword [esp + 0x2c]
xor ebx, esi
and edi, ebx
xor esi, edi
add edx, esi
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 8]
mov edi, dword [edi + esi*4]
add edx, edi
mov esi, dword [esp + esi*4 + 0x38]
add edx, esi
mov dword [esp + 0x13c], edx
mov edx, dword [0x4ae4cc]
imul edx, edx, 0x66d1f6d9
mov dword [0x4ae4cc], edx
mov edx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
mov edi, edx
rol edi, 0x1e
mov ebx, edx
rol ebx, 0x13
xor edi, ebx
mov ebx, edx
rol ebx, 0xa
xor edi, ebx
mov ebx, edx
and ebx, esi
mov ebp, dword [esp + 0x1c]
or edx, esi
and ebp, edx
or ebx, ebp
add edi, ebx
mov dword [esp + 0x138], edi
mov cx, word [0x49f758]
mov dx, cx
dec edx
mov cx, dx
mov word [0x49f758], cx
movsx edx, cx
imul edx, edx, 0x498842a1
mov esi, dword [0x4b1210]
xor esi, edx
mov dword [0x4b1210], esi
mov edx, dword [esp + 0x13c]
mov esi, dword [esp + 0x20]
add esi, edx
mov dword [esp + 0x20], esi
mov cx, word [0x49feec]
mov dx, cx
inc edx
mov cx, dx
mov word [0x49feec], cx
movsx edx, cx
add edx, 0x3cada155
and edx, 0x809227c0
mov cx, word [0x4a3778]
movsx esi, cx
sub eax, esi
xor eax, 0x9a0cce51
cmp edx, eax
jne 0x40e422
mov eax, dword [0x4ae8f8]
mov ecx, dword [0x4a79d0]
mov edx, ecx
inc edx
mov dword [0x4a79d0], edx
and ecx, 0xe717df8f
or eax, ecx
cmp eax, 0xa5791177
jg 0x40e41d
mov eax, dword [0x4a79d4]
sar eax, 1
mov ecx, dword [0x4a6f30]
and ecx, eax
mov dword [0x4a6f30], ecx
jmp 0x40e422
mov eax, dword [esp + 0x13c]
mov ecx, dword [esp + 0x138]
add eax, ecx
mov dword [esp + 0x30], eax
mov eax, dword [0x4a5098]
or eax, 0x58e5b49
mov dword [0x4a5098], eax
mov eax, dword [0x4abe44]
mov ecx, 0x16e6c931
sub ecx, eax
xor ecx, 0x20b1
mov dx, word [0x4a0b68]
mov ax, dx
and eax, ecx
mov dx, ax
mov word [0x4a0b68], dx
mov eax, dword [0x4ae294]
mov dx, word [0x4a03c8]
movsx ecx, dx
sar ecx, 4
imul eax, ecx
mov ecx, dword [0x4b0730]
sub eax, ecx
mov ecx, dword [0x4ad694]
or ecx, eax
mov dword [0x4ad694], ecx
mov dword [esp + 0xc], 8
cmp dword [esp + 0xc], 0
je 0x40e501
mov eax, dword [0x4ad0b8]
mov ecx, eax
inc ecx
mov dword [0x4ad0b8], ecx
xor eax, 0x4e7af628
mov ecx, dword [0x4a9034]
and ecx, eax
mov dword [0x4a9034], ecx
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + eax*4 + 0x10]
mov dword [esp + eax*4 + 0x14], ecx
mov dx, word [0x4a4986]
mov ax, dx
add eax, 0x8a7f7797
mov dx, ax
mov word [0x4a4986], dx
mov eax, dword [esp + 0xc]
add eax, 0xffffffff
mov dword [esp + 0xc], eax
jmp 0x40e4a0
mov eax, dword [0x4b1500]
imul eax, eax, 0x101dc412
mov dword [0x4b1500], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x14], eax
mov eax, dword [0x4a749c]
mov ecx, eax
dec ecx
mov dword [0x4a749c], ecx
mov ecx, dword [0x4a56ec]
mov edx, ecx
dec edx
mov dword [0x4a56ec], edx
imul eax, ecx
xor eax, 0x42663fe0
cmp eax, 0xd005018
jl 0x40e585
mov eax, 0x722a783e
mov ecx, dword [0x4a5300]
mov edx, ecx
dec edx
mov dword [0x4a5300], edx
imul ecx, ecx, 0x2ebedc33
add ecx, 0xc0817e6
cmp eax, ecx
jle 0x40e580
mov eax, dword [0x4b07bc]
add eax, 0x40421042
mov dword [0x4b07bc], eax
jmp 0x40e585
jmp 0x40e58a
mov eax, dword [esp + 0x10]
add eax, 1
mov dword [esp + 0x10], eax
jmp 0x40e0d5
mov eax, 0x5d01cd64
mov ecx, dword [0x4aab4c]
or ecx, 0x1bd4989d
mov edx, dword [0x4ae690]
inc edx
mov dword [0x4ae690], edx
or ecx, edx
cmp eax, ecx
jl 0x40e5e0
mov eax, dword [0x4a8994]
shl eax, 4
mov cx, word [0x49f418]
mov dx, cx
and edx, eax
mov cx, dx
mov word [0x49f418], cx
mov eax, dword [esp + 8]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0x100
call fcn.0044d6d0
mov eax, dword [0x4a8900]
and eax, 0xee14c0d2
mov dword [0x4a8900], eax
mov dword [esp + 0x10], 0
cmp dword [esp + 0x10], 8
je 0x40e6c6
mov eax, 0xc83177ce
mov ecx, dword [0x4afa70]
imul ecx, ecx, 0x94e94af7
mov dword [0x4afa70], ecx
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + ecx*4 + 0x14]
mov esi, dword [esp + 0x140]
mov edi, dword [esi + ecx*4 + 8]
add edi, edx
mov dword [esi + ecx*4 + 8], edi
mov ecx, dword [0x4ac4ac]
mov edx, ecx
dec edx
mov dword [0x4ac4ac], edx
mov edx, dword [0x4abde0]
add ecx, edx
cmp eax, ecx
jne 0x40e682
mov ax, word [0x4a37ae]
movsx ecx, ax
sar ecx, 7
xor ecx, 0x68876b6c
mov dword [0x4aafbc], ecx
jmp 0x40e6b1
mov eax, dword [0x4abfe4]
mov ecx, eax
inc ecx
mov dword [0x4abfe4], ecx
imul eax, eax, 0x9716a2c6
or eax, 0x2969
mov dx, word [0x4a1c9c]
mov cx, dx
xor ecx, eax
mov dx, cx
mov word [0x4a1c9c], dx
jmp 0x40e6b6
mov eax, dword [esp + 0x10]
add eax, 1
mov dword [esp + 0x10], eax
jmp 0x40e60b
mov eax, dword [0x4adbec]
imul eax, eax, 0xdc9a4480
mov dword [0x4adbec], eax
add esp, 0x148
pop esi
pop edi
pop ebx
pop ebp
ret