Function at 0x415b40
Capabilities:
Hash data using murmur3

Disassembly:
push ebx
push edi
push esi
sub esp, 0x14c
mov eax, dword [esp + 0x160]
mov ecx, dword [esp + 0x15c]
mov edx, 0x38f51f85
mov dword [esp + 0x148], eax
mov dword [esp + 0x144], ecx
mov eax, dword [0x49aefc]
mov ecx, dword [0x49f0e8]
shr ecx, 3
and eax, ecx
mov si, word [0x4b0b26]
mov cx, si
and ecx, eax
mov si, cx
mov word [0x4b0b26], si
mov si, word [0x4b1d7e]
movsx eax, si
mov ecx, dword [0x49fc0c]
add ecx, 0xdf81d7f0
xor eax, ecx
cmp edx, eax
jge 0x415c0c
mov eax, 0x5cf6a6c3
mov ecx, dword [0x4a7d80]
mov edx, ecx
dec edx
mov dword [0x4a7d80], edx
mov edx, dword [0x497a5c]
dec edx
mov dword [0x497a5c], edx
and ecx, edx
cmp eax, ecx
jl 0x415c07
mov eax, dword [0x49975c]
and eax, 0xdbc1ac2f
mov ecx, dword [0x49dd50]
or eax, ecx
cmp eax, 0xf4d8922c
jge 0x415bfd
jmp 0x415c02
jmp 0x415c02
jmp 0x415c07
jmp 0x415c46
mov eax, dword [0x49b844]
mov ecx, eax
inc ecx
mov dword [0x49b844], ecx
add eax, 0x2e8f9a86
mov ecx, dword [0x4a6f1c]
mov edx, dword [0x4a0fa8]
shl edx, 1
or ecx, edx
cmp eax, ecx
jl 0x415c41
mov word [0x4af0f6], 0x49f6
jmp 0x415c46
mov eax, dword [0x4a8278]
shl eax, 7
and eax, 0xa1909500
mov dword [0x4a6a58], eax
mov eax, dword [0x49800c]
xor eax, 0xf96d67fd
mov dword [0x49800c], eax
mov dword [esp + 0x14], 0
cmp dword [esp + 0x14], 0x10
je 0x415d2e
mov eax, dword [0x4a6064]
or eax, 0xfa0ed1c3
mov dword [0x4a6064], eax
mov cx, word [0x4b2cb4]
mov ax, cx
add eax, 0x225fd08f
xor eax, 0xb8f2
mov cx, word [0x4af6c8]
mov dx, cx
add edx, eax
mov cx, dx
mov word [0x4af6c8], cx
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x148]
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 + 0x3c], esi
mov eax, dword [0x4a74f0]
mov edx, dword [0x4a2e58]
xor eax, edx
mov edx, dword [0x4a99d4]
imul edx, eax
mov dword [0x4a99d4], edx
mov eax, dword [0x49e558]
add eax, 0xb44301d9
mov dword [0x49e558], eax
mov eax, dword [0x4a95e4]
add eax, 0x402205
mov dword [0x4a95e4], eax
mov eax, dword [esp + 0x14]
add eax, 1
mov dword [esp + 0x14], eax
jmp 0x415c6f
mov eax, dword [0x49b524]
add eax, 0x49d53083
mov dword [0x49b524], eax
mov eax, dword [esp + 0x144]
mov ecx, dword [eax + 0x28]
mov dword [esp + 0x38], ecx
movsd xmm0, qword [eax + 0x20]
movsd qword [esp + 0x30], xmm0
movsd xmm0, qword [eax + 0x18]
movsd qword [esp + 0x28], xmm0
movsd xmm0, qword [eax + 8]
movsd xmm1, qword [eax + 0x10]
movsd qword [esp + 0x20], xmm1
movsd qword [esp + 0x18], xmm0
mov dx, word [0x4b1aca]
movsx eax, dx
add eax, 0x780a3ef4
or eax, 0x11704bc7
mov ecx, dword [0x49e5d4]
and ecx, eax
mov dword [0x49e5d4], ecx
mov eax, esp
mov dword [eax + 4], 0x100
mov dword [eax], 0x1342
call fcn.00437eb0
mov dword [esp + 0xc], eax
mov dx, word [0x4b1f98]
mov ax, dx
xor eax, 0x1035
mov dx, ax
mov word [0x4b1f98], dx
mov dword [esp + 0x14], 0
cmp dword [esp + 0x14], 0x40
je 0x4160c7
mov ax, word [0x4b248a]
mov cx, ax
and ecx, 0x4459
mov ax, cx
mov word [0x4b248a], ax
cmp dword [esp + 0x14], 0xf
jle 0x415ec7
mov eax, dword [0x49e7fc]
inc eax
mov dword [0x49e7fc], eax
mov ecx, dword [0x49a7f0]
imul eax, ecx
mov dword [0x4a8804], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + eax*4 + 0x34]
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 + 0x3c], edx
mov eax, dword [0x49f2d0]
add eax, 0x9cfd0d40
mov dword [0x49f2d0], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + eax*4 + 0x20]
mov edx, dword [esp + eax*4 + 0x3c]
add edx, ecx
mov dword [esp + eax*4 + 0x3c], edx
mov eax, dword [0x4a67f4]
xor eax, 0xa0a22004
or eax, 0x4c4dc7d9
mov dword [0x4a5578], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + eax*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 + 0x3c]
add ecx, edx
mov dword [esp + eax*4 + 0x3c], ecx
mov eax, dword [0x4aa78c]
xor eax, 0xb7f45940
mov dword [0x4aa78c], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + eax*4 - 4]
mov edx, dword [esp + eax*4 + 0x3c]
add edx, ecx
mov dword [esp + eax*4 + 0x3c], edx
mov di, word [0x4b2006]
mov ax, di
or eax, 0xff82
mov di, ax
mov word [0x4b2006], di
mov dword [0x4a2a60], 0x700a81a3
mov eax, dword [0x49ca68]
or eax, 0xe307bcb3
mov dword [0x49ca68], eax
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
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 + 0x30]
xor edx, esi
and ecx, edx
xor esi, ecx
add eax, esi
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0xc]
mov edx, dword [edx + ecx*4]
add eax, edx
mov ecx, dword [esp + ecx*4 + 0x3c]
add eax, ecx
mov dword [esp + 0x140], eax
mov eax, dword [0x4a463c]
dec eax
mov dword [0x4a463c], eax
xor eax, 0xc9cca37a
mov dword [0x4a61b8], eax
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
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 + 0x20]
or eax, ecx
and edi, eax
or esi, edi
add edx, esi
mov dword [esp + 0x13c], edx
mov bx, word [0x4ac47e]
movsx eax, bx
or eax, 0xb76bd69
mov ecx, dword [0x4a0c70]
xor ecx, eax
mov dword [0x4a0c70], ecx
mov eax, dword [esp + 0x140]
mov ecx, dword [esp + 0x24]
add ecx, eax
mov dword [esp + 0x24], ecx
mov eax, dword [0x4a0ba0]
xor eax, 0xeb134b90
mov dword [0x4a0ba0], eax
mov eax, dword [esp + 0x140]
mov ecx, dword [esp + 0x13c]
add eax, ecx
mov dword [esp + 0x34], eax
mov word [0x4b1006], 0x94d0
mov eax, dword [0x49cc70]
imul eax, eax, 0xfe9305a6
mov dword [0x49cc70], eax
mov eax, dword [0x4a5990]
add eax, 0xf93da7ba
mov dword [0x4a5990], eax
mov dword [esp + 0x10], 8
cmp dword [esp + 0x10], 0
je 0x41602a
mov dword [0x499bd0], 0x2004c20
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + eax*4 + 0x14]
mov dword [esp + eax*4 + 0x18], ecx
mov dword [0x4a1fc8], 0x924d8e08
mov eax, dword [esp + 0x10]
add eax, 0xffffffff
mov dword [esp + 0x10], eax
jmp 0x415fef
mov ax, word [0x4b3af4]
movsx ecx, ax
mov edx, 0x10950358
sub edx, ecx
mov ax, word [0x4b0d86]
movsx ecx, ax
shl ecx, 4
add ecx, 0x11787a8a
xor ecx, 0xe00ef72c
cmp edx, ecx
jg 0x416086
mov eax, dword [0x49beec]
shl eax, 2
mov ecx, dword [0x49d6b4]
mov edx, ecx
dec edx
mov dword [0x49d6b4], edx
xor eax, ecx
or eax, 0x96dfea36
mov ecx, dword [0x4a2f78]
add ecx, eax
mov dword [0x4a2f78], ecx
mov eax, dword [esp + 0x38]
mov dword [esp + 0x18], eax
mov eax, dword [0x4a862c]
mov ecx, eax
dec ecx
mov dword [0x4a862c], ecx
or eax, 0x88d1
mov dx, word [0x4af076]
mov cx, dx
sub ecx, eax
mov dx, cx
mov word [0x4af076], dx
mov eax, dword [esp + 0x14]
add eax, 1
mov dword [esp + 0x14], eax
jmp 0x415dd2
mov eax, 0xcfd403bc
mov ecx, dword [0x4a4d58]
add ecx, 0x11ad067d
mov dword [0x4a4d58], ecx
mov ecx, dword [esp + 0xc]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0x100
mov dword [esp + 8], eax
call fcn.0044b770
mov eax, dword [0x4a67dc]
mov ecx, eax
dec ecx
mov dword [0x4a67dc], ecx
mov ecx, dword [esp + 8]
cmp ecx, eax
jg 0x41612e
mov eax, dword [0x4a7870]
and eax, 0xf192690b
xor eax, 0xeba8cc9
mov ecx, dword [0x4a5998]
imul ecx, eax
mov dword [0x4a5998], ecx
mov dword [esp + 0x14], 0
cmp dword [esp + 0x14], 8
je 0x4161c0
mov eax, 0xddff7691
mov cx, word [0x4b11e8]
mov dx, cx
mov esi, edx
dec esi
mov cx, si
mov word [0x4b11e8], cx
mov cx, word [0x4ab0a4]
mov si, cx
and esi, edx
mov cx, si
mov word [0x4ab0a4], cx
mov edx, dword [esp + 0x14]
mov esi, dword [esp + edx*4 + 0x18]
mov edi, dword [esp + 0x144]
mov ebx, dword [edi + edx*4 + 8]
add ebx, esi
mov dword [edi + edx*4 + 8], ebx
mov edx, dword [0x4a4be4]
cmp eax, edx
jge 0x4161ab
mov eax, dword [0x49d2a8]
not eax
add eax, 0xfb8d5e79
mov dword [0x4a1128], eax
jmp 0x4161b0
mov eax, dword [esp + 0x14]
add eax, 1
mov dword [esp + 0x14], eax
jmp 0x416136
mov ax, word [0x4aee90]
mov cx, ax
imul ecx, ecx, 0x86382084
mov ax, cx
mov word [0x4aee90], ax
add esp, 0x14c
pop esi
pop edi
pop ebx
ret