Function at 0x417200
Capabilities:
Hash data using murmur3

Disassembly:
push edi
push esi
sub esp, 0x148
mov eax, dword [esp + 0x158]
mov ecx, dword [esp + 0x154]
mov edx, 0xd22aae3
mov dword [esp + 0x144], eax
mov dword [esp + 0x140], ecx
mov si, word [0x49df7e]
movsx eax, si
shl eax, 9
cmp edx, eax
je 0x4172a1
mov eax, dword [0x4980b8]
shl eax, 8
add eax, 0xac32c79a
mov ecx, dword [0x495ad0]
mov edx, ecx
inc edx
mov dword [0x495ad0], edx
add ecx, 0xed935d77
cmp eax, ecx
je 0x41729c
mov eax, dword [0x494058]
mov ecx, eax
inc ecx
mov dword [0x494058], ecx
add eax, 0x876bfc47
mov dx, word [0x49db40]
movsx ecx, dx
sub eax, ecx
cmp eax, 0x4b4d7bde
jne 0x417297
jmp 0x417297
jmp 0x41729c
jmp 0x4172a1
mov eax, dword [0x498ef0]
not eax
mov cx, word [0x49e2de]
mov dx, cx
and edx, eax
mov cx, dx
mov word [0x49e2de], cx
mov word [0x49e4e4], 0x2e0a
mov cx, word [0x49e036]
movsx eax, cx
mov edx, dword [0x4991c0]
dec edx
mov dword [0x4991c0], edx
imul eax, edx
and eax, 0xac377460
mov edx, dword [0x494f00]
add edx, eax
mov dword [0x494f00], edx
mov dword [esp + 0x10], 0
cmp dword [esp + 0x10], 0x10
je 0x4173fe
mov eax, dword [0x4972e4]
and eax, 0xa1bb8ef
mov dword [0x4972e4], eax
mov eax, dword [0x49903c]
add eax, 0x607c7f04
mov dword [0x49903c], eax
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 di, word [0x49cfcc]
movsx eax, di
add eax, 0x94a056f3
mov ecx, dword [0x4987d4]
sub eax, ecx
mov ecx, dword [0x494ba4]
imul ecx, eax
mov dword [0x494ba4], ecx
mov eax, dword [0x499350]
mov ecx, dword [0x4987ac]
xor ecx, eax
mov dword [0x4987ac], ecx
mov eax, dword [0x49a52c]
mov ecx, eax
inc ecx
mov dword [0x49a52c], ecx
add eax, 0x4b724132
and eax, 0x3467d01
mov ecx, dword [0x4970a4]
mov edx, dword [0x494f18]
mov esi, edx
inc esi
mov dword [0x494f18], esi
mov esi, dword [0x495c90]
xor esi, 0xffffffff
imul edx, esi
and ecx, edx
cmp eax, ecx
jge 0x4173e9
mov eax, dword [0x4953c0]
mov ecx, dword [0x497420]
and eax, ecx
and eax, 0x319c955b
mov dword [0x497420], eax
jmp 0x4173ee
mov eax, dword [esp + 0x10]
add eax, 1
mov dword [esp + 0x10], eax
jmp 0x4172fc
mov eax, dword [0x4980d4]
imul eax, eax, 0xb45ebddb
mov dword [0x4980d4], eax
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 [0x499970]
add eax, 0xa13d4b58
mov dword [0x499970], eax
mov eax, esp
mov dword [eax + 4], 0x100
mov dword [eax], 0x43f1
call fcn.004179d0
mov dword [esp + 8], eax
mov eax, dword [0x497a3c]
add eax, 0x7fdd373f
mov dword [0x497a3c], eax
mov dword [esp + 0x10], 0
cmp dword [esp + 0x10], 0x40
je 0x4177e5
mov eax, dword [0x49ab30]
mov ecx, eax
inc ecx
mov dword [0x49ab30], ecx
imul eax, eax, 0xf7250189
mov ecx, dword [0x496834]
sub ecx, eax
mov dword [0x496834], ecx
cmp dword [esp + 0x10], 0xf
jle 0x417561
mov eax, dword [0x49a504]
or eax, 0x7bc1e7a8
mov dword [0x49a504], eax
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 [0x499d78]
mov ecx, eax
inc ecx
mov dword [0x499d78], ecx
mov ecx, dword [0x4962f0]
xor ecx, eax
mov dword [0x4962f0], ecx
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 eax, dword [0x4955a4]
add eax, 0x88a35990
mov dword [0x4955a4], eax
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 [0x49cef2]
mov ax, di
xor eax, 0x9830
mov di, ax
mov word [0x49cef2], di
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 [0x497fb4]
add eax, 0x354f9f74
mov dword [0x497fb4], eax
mov eax, dword [0x4957c0]
mov ecx, eax
dec ecx
mov dword [0x4957c0], ecx
and eax, 0x42905c92
xor eax, 0x9503990f
mov ecx, dword [0x498810]
sub ecx, eax
mov dword [0x498810], ecx
mov eax, dword [0x49ab0c]
mov ecx, dword [0x497dcc]
xor ecx, eax
mov dword [0x497dcc], ecx
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
mov esi, ecx
rol esi, 0x1a
mov edi, ecx
rol edi, 0x15
xor esi, edi
mov edi, ecx
rol edi, 7
xor esi, edi
add eax, esi
mov esi, dword [esp + 0x2c]
xor edx, esi
and ecx, edx
xor esi, ecx
add eax, esi
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 8]
mov edx, dword [edx + ecx*4]
add eax, edx
mov ecx, dword [esp + ecx*4 + 0x38]
add eax, ecx
mov dword [esp + 0x13c], eax
mov word [0x49dd4e], 0xefd6
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, eax
rol edx, 0x1e
mov esi, eax
rol esi, 0x13
xor edx, esi
mov esi, eax
rol esi, 0xa
xor edx, esi
mov esi, eax
and esi, ecx
mov edi, dword [esp + 0x1c]
or eax, ecx
and edi, eax
or esi, edi
add edx, esi
mov dword [esp + 0x138], edx
mov eax, dword [0x4994c4]
add eax, 0xa97d0235
mov dword [0x4994c4], eax
mov eax, dword [esp + 0x13c]
mov ecx, dword [esp + 0x20]
add ecx, eax
mov dword [esp + 0x20], ecx
mov eax, dword [0x499284]
or eax, 0xe9620da5
mov ecx, dword [0x4958c4]
imul ecx, eax
mov dword [0x4958c4], ecx
mov eax, dword [esp + 0x13c]
mov ecx, dword [esp + 0x138]
add eax, ecx
mov dword [esp + 0x30], eax
mov eax, dword [0x49afb4]
imul eax, eax, 0xdffaa048
mov dword [0x49afb4], eax
mov eax, dword [0x498048]
add eax, 0xed93c163
mov dword [0x498048], eax
mov eax, dword [0x499244]
sar eax, 0xa
mov ecx, dword [0x49922c]
mov edx, ecx
dec edx
mov dword [0x49922c], edx
imul eax, ecx
mov ecx, dword [0x498f8c]
add ecx, eax
mov dword [0x498f8c], ecx
mov dword [esp + 0xc], 8
cmp dword [esp + 0xc], 0
je 0x41774f
mov eax, 0xab101f47
mov cx, word [0x49defa]
movsx edx, cx
shl edx, 6
cmp eax, edx
je 0x417729
mov eax, dword [0x49865c]
inc eax
mov dword [0x49865c], eax
sub eax, 0x3a654881
cmp eax, 0x9b17251e
jl 0x417724
mov eax, 0x804841dc
mov ecx, dword [0x4946d0]
shl ecx, 4
add ecx, 0xa2ef39fc
add ecx, 0x829b0d89
cmp eax, ecx
jl 0x41771f
jmp 0x41771f
jmp 0x417724
jmp 0x417729
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + eax*4 + 0x10]
mov dword [esp + eax*4 + 0x14], ecx
mov eax, dword [0x499c5c]
mov dword [0x498ec8], eax
mov eax, dword [esp + 0xc]
add eax, 0xffffffff
mov dword [esp + 0xc], eax
jmp 0x4176b8
mov eax, 0x147eddd7
mov ecx, dword [0x495a94]
mov edx, ecx
dec edx
mov dword [0x495a94], edx
mov edx, dword [0x498cb8]
mov esi, edx
inc esi
mov dword [0x498cb8], esi
add ecx, edx
and ecx, 0x5be44c2
cmp eax, ecx
jle 0x4177b4
mov ax, word [0x49dd66]
mov cx, ax
inc ecx
mov dx, cx
mov word [0x49dd66], dx
movsx ecx, ax
imul ecx, ecx, 0xfee74b3b
and ecx, 0x1ee4232d
mov esi, dword [0x494980]
imul esi, ecx
mov dword [0x494980], esi
mov eax, dword [esp + 0x34]
mov dword [esp + 0x14], eax
mov cx, word [0x49c404]
mov ax, cx
add eax, 0x9eaf52d2
mov cx, ax
mov word [0x49c404], cx
mov eax, dword [esp + 0x10]
add eax, 1
mov dword [esp + 0x10], eax
jmp 0x417463
mov eax, dword [0x49ab58]
shl eax, 9
mov ecx, dword [0x49652c]
shl ecx, 2
mov dx, word [0x49d674]
movsx esi, dx
xor esi, 0xffffffff
sub ecx, esi
sub ecx, 0x4f410be7
cmp eax, ecx
jne 0x417828
mov eax, dword [0x4977f0]
imul eax, eax, 0xe9280218
mov dword [0x4977f0], eax
jmp 0x417866
mov ax, word [0x49dd1a]
movsx ecx, ax
sar ecx, 1
add ecx, 0x35ce7a4a
cmp ecx, 0x98b39d0d
jg 0x417861
mov eax, dword [0x49728c]
sar eax, 7
xor eax, 0x23feb2f
mov ecx, dword [0x498db4]
sub ecx, eax
mov dword [0x498db4], ecx
jmp 0x417866
mov eax, dword [esp + 8]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0x100
call fcn.004412d0
mov eax, dword [0x498b64]
and eax, 0xd6119d4c
mov dword [0x498b64], eax
mov dword [esp + 0x10], 0
cmp dword [esp + 0x10], 8
je 0x4178e3
mov eax, dword [0x49655c]
or eax, 0x7c0ff6bd
mov dword [0x49655c], eax
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 [0x4950b4]
xor eax, 0x40480068
mov dword [0x4950b4], eax
mov eax, dword [esp + 0x10]
add eax, 1
mov dword [esp + 0x10], eax
jmp 0x417891
mov eax, dword [0x495380]
mov ecx, dword [0x493d54]
add ecx, 0xb03d16f8
and eax, ecx
mov dx, word [0x49bc88]
mov cx, dx
and ecx, eax
mov dx, cx
mov word [0x49bc88], dx
add esp, 0x148
pop esi
pop edi
ret