Function at 0x450080
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 [0x49b8a0]
mov ecx, dword [0x497de0]
dec ecx
mov dword [0x497de0], ecx
imul eax, ecx
cmp eax, 0x54101f48
je 0x45010f
mov eax, dword [0x49dc2c]
xor eax, 0xffffffff
xor eax, 0x1f302e25
cmp eax, 0xc17f6b25
jge 0x4500fb
mov ax, word [0x4a2bcc]
mov cx, ax
imul ecx, ecx, 0x69b2e6c3
mov ax, cx
mov word [0x4a2bcc], ax
jmp 0x45010a
mov eax, dword [0x49b74c]
add eax, 0xfbf9f8ea
mov dword [0x49b74c], eax
jmp 0x45010f
mov eax, 0x40805b0
mov ecx, dword [0x49df20]
add ecx, 0x30ef562b
mov dword [0x49df20], ecx
mov ecx, dword [0x49e1c4]
add ecx, 0xa21b89
mov dword [0x49e1c4], ecx
mov ecx, dword [0x49c6e8]
or ecx, 0xa5f1a1a4
cmp eax, ecx
je 0x45017a
mov ax, word [0x4a4c22]
movsx ecx, ax
mov ax, word [0x4a2d8e]
movsx edx, ax
imul edx, edx, 0x4df6715d
sub ecx, edx
mov edx, dword [0x4a0074]
imul edx, ecx
mov dword [0x4a0074], edx
jmp 0x450189
mov eax, dword [0x499244]
add eax, 0x692ff3ef
mov dword [0x499244], eax
mov dword [esp + 0x10], 0
cmp dword [esp + 0x10], 0x10
je 0x450270
mov eax, dword [0x49b89c]
and eax, 0x842783d0
or eax, 0xe90dd13e
cmp eax, 0xdc6c9cbd
jg 0x4501c6
mov eax, dword [0x49e3bc]
dec eax
mov dword [0x49e3bc], eax
mov dword [0x49d690], eax
mov ax, word [0x4a775e]
mov cx, ax
inc ecx
mov dx, cx
mov word [0x4a775e], dx
movsx ecx, ax
mov esi, dword [0x4a1270]
and esi, ecx
mov dword [0x4a1270], esi
mov ecx, dword [esp + 0x10]
mov esi, dword [esp + 0x144]
movzx edi, byte [esi + ecx*4]
shl edi, 0x18
movzx ebx, byte [esi + ecx*4 + 1]
shl ebx, 0x10
or edi, ebx
movzx ebx, byte [esi + ecx*4 + 2]
shl ebx, 8
or edi, ebx
movzx esi, byte [esi + ecx*4 + 3]
or edi, esi
mov dword [esp + ecx*4 + 0x38], edi
mov ecx, dword [0x49a6ec]
imul ecx, ecx, 0x386b4883
mov dword [0x49a6ec], ecx
mov ecx, dword [0x498a68]
xor ecx, 0xc7f4b20f
mov dword [0x498a68], ecx
mov ax, word [0x4a3cea]
movsx ecx, ax
shl ecx, 3
xor ecx, 0x1ab40005
mov esi, dword [0x4a0d5c]
add esi, ecx
mov dword [0x4a0d5c], esi
mov eax, dword [esp + 0x10]
add eax, 1
mov dword [esp + 0x10], eax
jmp 0x450191
mov eax, dword [0x49b07c]
mov ecx, eax
inc ecx
mov dword [0x49b07c], ecx
mov ecx, dword [0x49f338]
imul ecx, eax
shl ecx, 4
mov eax, dword [0x498514]
or eax, ecx
mov dword [0x498514], 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 dx, word [0x4a53f4]
mov ax, dx
mov ecx, eax
inc ecx
mov dx, cx
mov word [0x4a53f4], dx
mov dx, word [0x4a6b1a]
mov cx, dx
or eax, ecx
or eax, 0xf650
mov dx, ax
mov word [0x4a6b1a], dx
mov eax, esp
mov dword [eax + 4], 0x100
mov dword [eax], 0x2e4d
call fcn.004136b0
mov dword [esp + 8], eax
mov eax, dword [0x49f22c]
or eax, 0x60f43701
mov dword [0x49f22c], eax
mov dword [esp + 0x10], 0
cmp dword [esp + 0x10], 0x40
je 0x450793
mov eax, 0xcf649075
mov ecx, dword [0x4a0f9c]
xor ecx, 0x54b4924c
cmp eax, ecx
je 0x450355
mov ax, word [0x4a6bae]
movsx ecx, ax
mov edx, 0x606188cd
sub edx, ecx
mov ecx, dword [0x49fef8]
or ecx, edx
mov dword [0x49fef8], ecx
jmp 0x450364
mov eax, dword [0x49f900]
and eax, 0xfffdf5cd
mov dword [0x49f900], eax
cmp dword [esp + 0x10], 0xf
jle 0x4504e7
mov eax, 0x3323bd83
mov ecx, dword [0x49c1a8]
imul ecx, ecx, 0xe484ab6a
mov dword [0x49c1a8], ecx
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + ecx*4 + 0x30]
mov esi, edx
rol esi, 0xf
mov edi, edx
rol edi, 0xd
xor esi, edi
shr edx, 0xa
xor esi, edx
mov dword [esp + ecx*4 + 0x38], esi
mov bx, word [0x4a48cc]
mov cx, bx
xor ecx, 0xacd5
mov bx, cx
mov word [0x4a48cc], bx
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + ecx*4 + 0x1c]
mov esi, dword [esp + ecx*4 + 0x38]
add esi, edx
mov dword [esp + ecx*4 + 0x38], esi
mov bx, word [0x4a66f0]
movsx ecx, bx
mov edx, dword [0x49c964]
not edx
imul ecx, edx
or ecx, 0x4bb5b18f
mov edx, dword [0x4a2898]
xor edx, ecx
mov dword [0x4a2898], edx
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + ecx*4 - 4]
mov esi, edx
rol esi, 0x19
mov edi, edx
rol edi, 0xe
xor esi, edi
shr edx, 3
xor esi, edx
mov edx, dword [esp + ecx*4 + 0x38]
add edx, esi
mov dword [esp + ecx*4 + 0x38], edx
mov ecx, dword [0x49ca5c]
mov edx, ecx
dec edx
mov dword [0x49ca5c], edx
and ecx, 0x50de6952
xor ecx, 0x7322293b
cmp eax, ecx
je 0x4504c6
mov eax, dword [0x49b5f0]
add eax, 0xe5ae5f36
mov ecx, dword [0x4a25cc]
mov edx, ecx
inc edx
mov dword [0x4a25cc], edx
and eax, ecx
mov ecx, dword [0x49a4d0]
dec ecx
mov dword [0x49a4d0], ecx
xor ecx, 0x277d025a
cmp eax, ecx
jne 0x45049a
mov eax, dword [0x49e918]
mov ecx, eax
inc ecx
mov dword [0x49e918], ecx
and eax, 0xb03502
mov ecx, dword [0x4a1718]
or ecx, eax
mov dword [0x4a1718], ecx
jmp 0x4504c1
mov eax, dword [0x49d470]
mov ecx, eax
dec ecx
mov dword [0x49d470], ecx
imul eax, eax, 0xe607b08d
add eax, 0xa52207f0
mov ecx, dword [0x49f3b4]
sub ecx, eax
mov dword [0x49f3b4], ecx
jmp 0x4504c6
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 [0x49a3d4]
add eax, 0x7d6e3680
mov dword [0x49a3d4], eax
mov eax, 0xffeffbfe
mov ecx, dword [0x49fd38]
cmp eax, ecx
jne 0x450504
mov dword [0x49db48], 0xec3a8557
mov ax, word [0x4a6fb8]
mov cx, ax
dec ecx
mov ax, cx
mov word [0x4a6fb8], ax
movsx ecx, ax
add ecx, 0xe68966e7
sub ecx, 0xb41b95ef
cmp ecx, 0x8d533dc
jl 0x450572
mov ax, word [0x4a5c4a]
movsx ecx, ax
add ecx, 0x70e96cd3
mov edx, dword [0x49cc18]
shl edx, 7
and edx, 0x7e4b1f0b
or edx, 0xeff4d14c
cmp ecx, edx
jle 0x45056d
mov eax, dword [0x4a220c]
add eax, 0x39ecfb5
mov dword [0x4a220c], eax
jmp 0x450582
mov eax, dword [0x4994f4]
imul eax, eax, 0xfeb3afff
mov dword [0x4994f4], eax
mov eax, 0xf484dddf
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 [0x49c388]
xor ecx, 0x8eea6fee
mov dword [0x49c388], 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 bp, word [0x4a6592]
movsx ecx, bp
shl ecx, 3
mov edx, dword [0x49d4dc]
xor edx, 0xffffffff
and ecx, edx
cmp eax, ecx
je 0x45064a
mov eax, dword [0x49f414]
and eax, 0x9f5f1bb8
mov ecx, dword [0x49e714]
add ecx, eax
mov dword [0x49e714], ecx
mov eax, dword [esp + 0x13c]
mov ecx, dword [esp + 0x20]
add ecx, eax
mov dword [esp + 0x20], ecx
mov eax, dword [0x49ef08]
mov ecx, eax
inc ecx
mov dword [0x49ef08], ecx
add eax, 0xce5a7624
cmp eax, 0xac7364ad
jg 0x450694
mov eax, dword [0x49e334]
mov cx, word [0x4a6774]
mov dx, cx
xor edx, eax
mov cx, dx
mov word [0x4a6774], cx
mov eax, dword [esp + 0x13c]
mov ecx, dword [esp + 0x138]
add eax, ecx
mov dword [esp + 0x30], eax
mov dword [0x49cd60], 0xa026ed93
mov dx, word [0x4a4002]
movsx eax, dx
mov ecx, dword [0x49b3dc]
sub ecx, eax
mov dword [0x49b3dc], ecx
mov eax, dword [0x49eb90]
or eax, 0x10a71609
and eax, 0x57b7ff5d
mov ecx, dword [0x499f58]
sub ecx, eax
mov dword [0x499f58], ecx
mov dword [esp + 0xc], 8
cmp dword [esp + 0xc], 0
je 0x450753
mov ax, word [0x4a5e02]
movsx ecx, ax
not ecx
and ecx, 0xa8b30338
mov edx, dword [0x4a0fec]
xor ecx, edx
xor ecx, 0x1815df12
mov dword [0x4a0fec], ecx
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + ecx*4 + 0x10]
mov dword [esp + ecx*4 + 0x14], edx
mov ax, word [0x4a3254]
mov cx, ax
imul ecx, ecx, 0x1a988388
mov ax, cx
mov word [0x4a3254], ax
mov eax, dword [esp + 0xc]
add eax, 0xffffffff
mov dword [esp + 0xc], eax
jmp 0x4506ef
mov eax, dword [0x49a144]
add eax, 0xe1d3e941
mov dword [0x49a144], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x14], eax
mov eax, dword [0x49f864]
mov ecx, 0xadfd31cd
sub ecx, eax
mov eax, dword [0x49bfbc]
imul eax, ecx
mov dword [0x49bfbc], eax
mov eax, dword [esp + 0x10]
add eax, 1
mov dword [esp + 0x10], eax
jmp 0x45030e
mov ax, word [0x4a4382]
mov cx, ax
mov edx, 0xf1273197
sub edx, ecx
mov ecx, dword [0x499cf4]
mov esi, ecx
dec esi
mov dword [0x499cf4], esi
lea ecx, [edx + ecx - 1]
mov ax, word [0x4a6b50]
mov dx, ax
xor edx, ecx
mov ax, dx
mov word [0x4a6b50], ax
mov ecx, dword [esp + 8]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0x100
call fcn.0041ef40
mov dword [0x498714], 0xe0d18162
mov dword [esp + 0x10], 0
cmp dword [esp + 0x10], 8
je 0x450872
mov eax, 0x707165c1
mov ecx, dword [0x4a0308]
add ecx, 0x3103134d
mov dword [0x4a0308], 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 bx, word [0x4a383a]
movsx ecx, bx
shl ecx, 9
add ecx, 0x75c53eee
cmp eax, ecx
jge 0x45085d
mov eax, dword [0x4a1ca8]
mov ecx, dword [0x49c37c]
and eax, ecx
and eax, 0x38e8eb1c
mov dword [0x49c37c], eax
jmp 0x450862
mov eax, dword [esp + 0x10]
add eax, 1
mov dword [esp + 0x10], eax
jmp 0x4507f0
mov ax, word [0x4a2e76]
movsx ecx, ax
mov edx, dword [0x498910]
add edx, 0x8690f980
xor ecx, edx
mov edx, dword [0x49b90c]
and edx, ecx
mov dword [0x49b90c], edx
add esp, 0x148
pop esi
pop edi
pop ebx
pop ebp
ret