Function at 0x416af0
Capabilities:
Hash data using murmur3

Disassembly:
push ebx
push edi
push esi
sub esp, 0x148
mov eax, dword [esp + 0x15c]
mov ecx, dword [esp + 0x158]
mov dword [esp + 0x144], eax
mov dword [esp + 0x140], ecx
mov eax, dword [0x499cac]
or eax, 0xaadb03b4
mov dword [0x499cac], eax
mov dx, word [0x4936f4]
mov ax, dx
imul eax, eax, 0xe538eee2
mov dx, word [0x494d64]
mov cx, dx
lea eax, [eax + ecx - 0x72954bab]
mov dx, ax
mov word [0x494d64], dx
mov word [0x48e9e8], 0xa3f4
mov eax, dword [0x4a01b8]
and eax, 0xfbb3feff
mov dword [0x4a01b8], eax
mov dword [esp + 0x10], 0
cmp dword [esp + 0x10], 0x10
je 0x416c11
mov eax, dword [0x4a2630]
shl eax, 2
mov cx, word [0x48d07c]
mov dx, cx
xor edx, eax
mov cx, dx
mov word [0x48d07c], cx
mov eax, dword [0x4a21cc]
add eax, 0xdab1fcdc
mov dword [0x4a21cc], eax
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x144]
movzx esi, byte [edx + eax*4]
shl esi, 0x18
movzx edi, byte [edx + eax*4 + 1]
shl edi, 0x10
or esi, edi
movzx edi, byte [edx + eax*4 + 2]
shl edi, 8
or esi, edi
movzx edx, byte [edx + eax*4 + 3]
or esi, edx
mov dword [esp + eax*4 + 0x38], esi
mov eax, dword [0x498304]
and eax, 0xaf7af2db
mov dword [0x498304], eax
mov eax, dword [0x497024]
mov dword [0x4a4e28], eax
mov eax, dword [0x4a1c14]
dec eax
mov dword [0x4a1c14], eax
mov dword [0x4a116c], eax
mov eax, dword [esp + 0x10]
add eax, 1
mov dword [esp + 0x10], eax
jmp 0x416b6f
mov dword [0x4a14d8], 0xd3b23f56
mov eax, dword [esp + 0x140]
add eax, 8
mov ecx, 9
lea edi, [esp + 0x14]
mov esi, eax
rep movsd dword es:[edi], dword [esi]
mov eax, dword [0x4a185c]
mov ecx, 0xd84945f2
sub ecx, eax
mov eax, dword [0x4a2fec]
sub eax, ecx
mov dword [0x4a2fec], eax
mov eax, esp
mov dword [eax + 4], 0x100
mov dword [eax], 0x3d05
call fcn.00428730
mov dword [esp + 8], eax
mov dx, word [0x491cae]
mov ax, dx
add eax, 0x2093045
mov dx, ax
mov word [0x491cae], dx
mov dword [esp + 0x10], 0
cmp dword [esp + 0x10], 0x40
je 0x417006
mov eax, dword [0x49bef8]
or eax, 0x3818
mov cx, word [0x4944ae]
mov dx, cx
add edx, eax
mov cx, dx
mov word [0x4944ae], cx
cmp dword [esp + 0x10], 0xf
jle 0x416d84
mov eax, dword [0x4a0250]
sar eax, 8
or eax, 0xb2598573
mov ecx, dword [0x4a51ec]
xor ecx, eax
mov dword [0x4a51ec], ecx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + eax*4 + 0x30]
mov edx, ecx
rol edx, 0xf
mov esi, ecx
rol esi, 0xd
xor edx, esi
shr ecx, 0xa
xor edx, ecx
mov dword [esp + eax*4 + 0x38], edx
mov eax, dword [0x495f70]
add eax, 0x1e334710
mov dword [0x495f70], eax
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + eax*4 + 0x1c]
mov edx, dword [esp + eax*4 + 0x38]
add edx, ecx
mov dword [esp + eax*4 + 0x38], edx
mov dword [0x49f108], 0x5747d35a
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 eax, dword [0x49e118]
not eax
mov ecx, dword [0x49e2cc]
or eax, ecx
or eax, 0x38391d14
mov dword [0x49e2cc], eax
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 di, word [0x493862]
mov ax, di
imul eax, eax, 0xd28dc78e
mov di, ax
mov word [0x493862], di
mov ax, word [0x494d44]
mov cx, ax
add ecx, 0xa3ac865f
mov ax, cx
mov word [0x494d44], ax
mov dword [0x4a2fc4], 0xe854b74
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x24]
mov esi, dword [esp + 0x28]
mov edi, edx
rol edi, 0x1a
mov ebx, edx
rol ebx, 0x15
xor edi, ebx
mov ebx, edx
rol ebx, 7
xor edi, ebx
add ecx, edi
mov edi, dword [esp + 0x2c]
xor esi, edi
and edx, esi
xor edi, edx
add ecx, edi
mov edx, dword [esp + 0x10]
mov esi, dword [esp + 8]
mov esi, dword [esi + edx*4]
add ecx, esi
mov edx, dword [esp + edx*4 + 0x38]
add ecx, edx
mov dword [esp + 0x13c], ecx
mov ecx, dword [0x49fcac]
xor ecx, 0x5010900
mov dword [0x49fcac], ecx
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov esi, ecx
rol esi, 0x1e
mov edi, ecx
rol edi, 0x13
xor esi, edi
mov edi, ecx
rol edi, 0xa
xor esi, edi
mov edi, ecx
and edi, edx
mov ebx, dword [esp + 0x1c]
or ecx, edx
and ebx, ecx
or edi, ebx
add esi, edi
mov dword [esp + 0x138], esi
mov ax, word [0x491cbc]
mov cx, ax
xor ecx, 0xc220
mov ax, cx
mov word [0x491cbc], ax
mov ecx, dword [esp + 0x13c]
mov edx, dword [esp + 0x20]
add edx, ecx
mov dword [esp + 0x20], edx
mov ecx, dword [0x4a0a6c]
xor ecx, 0xb34d5d02
mov edx, dword [0x4a0b10]
mov esi, edx
inc esi
mov dword [0x4a0b10], esi
cmp ecx, edx
je 0x416e8c
mov eax, dword [0x499070]
and eax, 0x2527b047
mov dword [0x499070], eax
mov eax, 0x4e4e667c
mov ecx, dword [esp + 0x13c]
mov edx, dword [esp + 0x138]
add ecx, edx
mov dword [esp + 0x30], ecx
mov ecx, dword [0x496e80]
xor ecx, 0x4c552527
cmp eax, ecx
jne 0x416ed6
mov eax, dword [0x498dc8]
mov ecx, 0xde7a51b2
sub ecx, eax
mov eax, dword [0x49be54]
sub eax, ecx
mov dword [0x49be54], eax
jmp 0x416eee
mov ax, word [0x48e45a]
mov cx, ax
and ecx, 0x8fbb
mov ax, cx
mov word [0x48e45a], ax
mov ax, word [0x49184c]
mov cx, ax
imul ecx, ecx, 0x622ec7a
mov ax, cx
mov word [0x49184c], ax
mov ecx, dword [0x4a2b80]
and ecx, 0x55f111b8
mov dword [0x4a2b80], ecx
mov dword [esp + 0xc], 8
cmp dword [esp + 0xc], 0
je 0x416f65
mov eax, dword [0x4963dc]
and eax, 0x8d5a3372
mov dword [0x4963dc], eax
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + eax*4 + 0x10]
mov dword [esp + eax*4 + 0x14], ecx
mov eax, dword [0x49f138]
and eax, 0xd65b47aa
mov dword [0x49f138], eax
mov eax, dword [esp + 0xc]
add eax, 0xffffffff
mov dword [esp + 0xc], eax
jmp 0x416f20
mov eax, 0x67769a76
mov ecx, dword [0x4a2468]
mov edx, ecx
dec edx
mov dword [0x4a2468], edx
mov edx, dword [0x497aa8]
and ecx, edx
and ecx, 0xf48d9c97
mov edx, dword [0x4a028c]
xor edx, ecx
mov dword [0x4a028c], edx
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x14], ecx
mov ecx, dword [0x49e4b0]
dec ecx
mov dword [0x49e4b0], ecx
cmp eax, ecx
je 0x416fe1
mov eax, 0x99e1d808
mov ecx, dword [0x498d68]
dec ecx
mov dword [0x498d68], ecx
sub ecx, 0xb66c3c6c
cmp eax, ecx
jg 0x416fdc
mov dword [0x4971e4], 0x7ee3336b
jmp 0x416ff1
mov eax, dword [0x4a5394]
imul eax, eax, 0x8c26eea3
mov dword [0x4a5394], eax
jmp 0x416ff6
mov eax, dword [esp + 0x10]
add eax, 1
mov dword [esp + 0x10], eax
jmp 0x416c83
mov eax, dword [0x4a514c]
mov ecx, eax
inc ecx
mov dword [0x4a514c], ecx
mov ecx, 0x61c314cb
sub ecx, eax
or ecx, 0x22ecf09b
mov eax, dword [0x496a24]
add eax, ecx
mov dword [0x496a24], eax
mov eax, dword [esp + 8]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0x100
call fcn.00419110
mov eax, dword [0x498de0]
xor eax, 0x9b17
mov dx, word [0x48f1d4]
mov cx, dx
add ecx, eax
mov dx, cx
mov word [0x48f1d4], dx
mov dword [esp + 0x10], 0
cmp dword [esp + 0x10], 8
je 0x4170d8
mov eax, dword [0x4a3d24]
mov ecx, dword [0x4a3600]
mov edx, 0x75464762
sub edx, ecx
and eax, edx
mov ecx, dword [0x49f5f0]
sub ecx, eax
mov dword [0x49f5f0], ecx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + eax*4 + 0x14]
mov edx, dword [esp + 0x140]
mov esi, dword [edx + eax*4 + 8]
add esi, ecx
mov dword [edx + eax*4 + 8], esi
mov eax, dword [0x4a1d8c]
xor eax, 0x20220612
mov ecx, dword [0x49c2b8]
imul ecx, eax
mov dword [0x49c2b8], ecx
mov eax, dword [esp + 0x10]
add eax, 1
mov dword [esp + 0x10], eax
jmp 0x417069
mov eax, dword [0x49845c]
or eax, 0x3b38a5d0
mov dword [0x49845c], eax
add esp, 0x148
pop esi
pop edi
pop ebx
ret