Function at 0x4095a0
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 [0x48b844]
shl eax, 2
or eax, 0xf7677430
mov dword [0x48b4a4], eax
mov eax, dword [0x484f3c]
or eax, 0xf5698bea
mov dword [0x484f3c], eax
mov eax, dword [0x48dab4]
mov dx, word [0x48249a]
movsx ecx, dx
sar ecx, 4
imul eax, ecx
imul eax, eax, 0xc2096983
mov ecx, dword [0x4851c4]
xor ecx, eax
mov dword [0x4851c4], ecx
mov eax, dword [0x48e928]
and eax, 0xaefff9d3
mov dword [0x48e928], eax
mov dword [esp + 0x10], 0
cmp dword [esp + 0x10], 0x10
je 0x40972c
mov eax, 0xe3876900
mov ecx, dword [0x488f98]
add ecx, 0xe8474534
mov dx, word [0x483efc]
mov si, dx
imul esi, ecx
mov dx, si
mov word [0x483efc], dx
mov ecx, dword [0x485450]
inc ecx
mov dword [0x485450], ecx
and ecx, 0x576ce4b8
mov esi, dword [0x485e74]
xor esi, ecx
mov dword [0x485e74], 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 [0x486e40]
add ecx, 0x19d85ab5
mov dword [0x486e40], ecx
mov ecx, dword [0x48cdd8]
add ecx, 0x3803ed45
xor ecx, 0x36781a7c
cmp eax, ecx
jl 0x4096f0
mov ax, word [0x480cae]
mov cx, ax
and ecx, 0x100c
mov ax, cx
mov word [0x480cae], ax
mov eax, dword [0x48d6f4]
not eax
mov ecx, dword [0x48575c]
mov edx, ecx
dec edx
mov dword [0x48575c], edx
imul eax, ecx
and eax, 0x81585c0c
mov ecx, dword [0x48e350]
xor ecx, eax
mov dword [0x48e350], ecx
mov eax, dword [esp + 0x10]
add eax, 1
mov dword [esp + 0x10], eax
jmp 0x409627
mov eax, dword [0x487c44]
mov ecx, eax
inc ecx
mov dword [0x487c44], ecx
mov ecx, dword [0x48dafc]
or ecx, eax
mov dword [0x48dafc], ecx
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 [0x48da64]
or eax, 0x1fd3
mov dx, word [0x484088]
mov cx, dx
and ecx, eax
mov dx, cx
mov word [0x484088], dx
mov eax, esp
mov dword [eax + 4], 0x100
mov dword [eax], 0x1834
call fcn.00449170
mov dword [esp + 8], eax
mov eax, dword [0x48e44c]
or eax, 0x940ccf5d
mov dword [0x48e44c], eax
mov dword [esp + 0x10], 0
cmp dword [esp + 0x10], 0x40
je 0x409be4
mov eax, dword [0x48d29c]
add eax, 0xcbff7ff2
mov dword [0x48d29c], eax
cmp dword [esp + 0x10], 0xf
jle 0x40990c
mov eax, dword [0x48aa54]
add eax, 0x9a3dd5b1
sub eax, 0x9bc9cbde
cmp eax, 0x669679fc
jne 0x4097fc
mov eax, dword [0x4861e0]
add eax, 0xf9beecff
mov dword [0x4861e0], eax
mov eax, 0xb0450b8d
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 ecx, dword [0x485cd0]
mov edx, dword [0x48a730]
and ecx, edx
mov bx, word [0x48119a]
mov dx, bx
imul edx, ecx
mov bx, dx
mov word [0x48119a], 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 ecx, dword [0x4873c4]
add ecx, 0x8322078a
mov dword [0x4873c4], ecx
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 bx, word [0x4824ea]
mov cx, bx
or ecx, 0x3705
mov bx, cx
mov word [0x4824ea], bx
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + ecx*4 - 8]
mov esi, dword [esp + ecx*4 + 0x38]
add esi, edx
mov dword [esp + ecx*4 + 0x38], esi
mov ecx, dword [0x48e934]
not ecx
mov edx, dword [0x48b380]
inc edx
mov dword [0x48b380], edx
imul edx, edx, 0x6ccb66b0
and ecx, edx
cmp eax, ecx
jg 0x4098ef
mov eax, dword [0x48a7ac]
add eax, 0x2894b100
mov dword [0x48a7ac], eax
jmp 0x409907
mov ax, word [0x481b34]
mov cx, ax
and ecx, 0xd91
mov ax, cx
mov word [0x481b34], ax
jmp 0x40990c
mov eax, 0xc684d8c9
mov ecx, dword [0x48a3ec]
add ecx, 0xb113bfc2
mov edx, dword [0x487a94]
sub edx, ecx
mov dword [0x487a94], edx
mov si, word [0x483f16]
movsx ecx, si
shr ecx, 2
mov si, word [0x47fa8e]
mov dx, si
and ecx, edx
and ecx, 0xe1af
mov si, cx
mov word [0x47fa8e], si
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x24]
mov edi, dword [esp + 0x28]
mov ebx, edx
rol ebx, 0x1a
mov ebp, edx
rol ebp, 0x15
xor ebx, ebp
mov ebp, edx
rol ebp, 7
xor ebx, ebp
add ecx, ebx
mov ebx, dword [esp + 0x2c]
xor edi, ebx
and edx, edi
xor ebx, edx
add ecx, ebx
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 8]
mov edi, dword [edi + edx*4]
add ecx, edi
mov edx, dword [esp + edx*4 + 0x38]
add ecx, edx
mov dword [esp + 0x13c], ecx
mov si, word [0x4848e0]
mov cx, si
dec ecx
mov di, cx
mov word [0x4848e0], di
movsx ecx, si
cmp eax, ecx
jl 0x409a02
mov eax, dword [0x4854f8]
mov ecx, eax
dec ecx
mov dword [0x4854f8], ecx
imul eax, eax, 0x3d7ede20
mov ecx, dword [0x4851b8]
sar ecx, 2
cmp eax, ecx
je 0x4099fd
mov eax, dword [0x489e6c]
imul eax, eax, 0xc3b0e7a5
mov ecx, dword [0x48c93c]
and eax, ecx
and eax, 0x5d69efcc
mov dword [0x48c93c], eax
jmp 0x409a02
mov eax, 0xde1179b7
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 ecx, dword [0x48c98c]
imul ecx, ecx, 0x7b7a0f6d
mov dword [0x48c98c], ecx
mov ecx, dword [esp + 0x13c]
mov edx, dword [esp + 0x20]
add edx, ecx
mov dword [esp + 0x20], edx
mov ecx, dword [0x486d1c]
shl ecx, 9
mov edx, dword [0x48e164]
add ecx, edx
and ecx, 0x7c19c32
mov edx, dword [0x486cf4]
add edx, ecx
mov dword [0x486cf4], edx
mov ecx, dword [esp + 0x13c]
mov edx, dword [esp + 0x138]
add ecx, edx
mov dword [esp + 0x30], ecx
mov ecx, dword [0x48e144]
mov edx, ecx
inc edx
mov dword [0x48e144], edx
xor ecx, 0xd4185a1a
cmp eax, ecx
jl 0x409acf
mov eax, dword [0x488eec]
mov ecx, eax
dec ecx
mov dword [0x488eec], ecx
add eax, 0x59926be7
xor eax, 0xbaa1b508
mov dword [0x488924], eax
mov eax, 0x7d285aa6
mov cx, word [0x482d48]
mov dx, cx
dec edx
mov cx, dx
mov word [0x482d48], cx
movsx edx, cx
add edx, 0x779055b9
mov esi, dword [0x48ca18]
imul esi, edx
mov dword [0x48ca18], esi
mov edx, dword [0x485764]
mov esi, edx
inc esi
mov dword [0x485764], esi
mov esi, dword [0x488acc]
sar esi, 1
imul edx, esi
cmp eax, edx
jle 0x409b2e
mov dword [0x48cf94], 0xe7df3fb3
mov dword [esp + 0xc], 8
cmp dword [esp + 0xc], 0
je 0x409ba2
mov eax, dword [0x486d5c]
xor eax, 0x2a48e332
cmp eax, 0xfbfedfee
jge 0x409b6d
mov eax, dword [0x48a058]
mov ecx, dword [0x48e9b4]
xor eax, ecx
xor eax, 0x35edba4c
mov dword [0x48e9b4], eax
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + eax*4 + 0x10]
mov dword [esp + eax*4 + 0x14], ecx
mov dx, word [0x483a2e]
mov ax, dx
add eax, 0x9ca82582
mov dx, ax
mov word [0x483a2e], dx
mov eax, dword [esp + 0xc]
add eax, 0xffffffff
mov dword [esp + 0xc], eax
jmp 0x409b36
mov ax, word [0x481a8e]
mov cx, ax
add ecx, 0x4200464
mov ax, cx
mov word [0x481a8e], ax
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x14], ecx
mov ecx, dword [0x48c220]
add ecx, 0xb4514ced
mov dword [0x48c220], ecx
mov eax, dword [esp + 0x10]
add eax, 1
mov dword [esp + 0x10], eax
jmp 0x4097ae
mov eax, dword [0x48c9f0]
and eax, 0xb5fd7f43
mov dword [0x48c9f0], eax
mov eax, dword [esp + 8]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0x100
call fcn.0044fa10
mov eax, dword [0x488a48]
not eax
or eax, 0x4158300a
mov ecx, dword [0x48dc68]
imul ecx, eax
mov dword [0x48dc68], ecx
mov dword [esp + 0x10], 0
cmp dword [esp + 0x10], 8
je 0x409c98
mov eax, dword [0x486264]
sar eax, 2
add eax, 0x1b3d2456
mov ecx, dword [0x48bac0]
dec ecx
mov dword [0x48bac0], ecx
sub eax, ecx
mov ecx, dword [0x489c9c]
imul ecx, eax
mov dword [0x489c9c], 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 [0x48c5d0]
xor eax, 0x330407bb
mov dword [0x48c5d0], eax
mov eax, dword [esp + 0x10]
add eax, 1
mov dword [esp + 0x10], eax
jmp 0x409c2a
mov ax, word [0x4840c2]
movsx ecx, ax
shl ecx, 3
and ecx, 0x6c5e6ae0
mov edx, dword [0x485984]
sub edx, ecx
mov dword [0x485984], edx
add esp, 0x148
pop esi
pop edi
pop ebx
pop ebp
ret