Function at 0x40ca7f
Capabilities:
Hash data using murmur3

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x128
mov eax, dword [esp + 0x140]
mov edi, dword [esp + 0x13c]
mov dword [0x489b04], 0xa0dbdca0
mov cx, word [0x490458]
and ecx, 0x5a98
mov word [0x490458], cx
add dword [0x487888], 0x8413b2
mov cx, word [0x4908dc]
mov edx, 0x5882
sub edx, ecx
xor edx, 0x3bd8
mov cx, word [0x49161e]
sub ecx, edx
mov word [0x49161e], cx
xor ecx, ecx
mov edx, dword [0x488210]
cmp edx, 0xeaeb80c6
je 0x40cb14
mov dx, word [0x48ee0c]
lea esi, [edx - 1]
mov word [0x48ee0c], si
movsx edx, dx
mov esi, 0xe5881c9e
sub esi, edx
add dword [0x487494], esi
xor dword [0x48c678], 0x8ffa2c56
movzx edx, byte [eax + ecx*4]
shl edx, 0x18
movzx esi, byte [eax + ecx*4 + 1]
shl esi, 0x10
or esi, edx
movzx edx, byte [eax + ecx*4 + 2]
shl edx, 8
or edx, esi
movzx esi, byte [eax + ecx*4 + 3]
or esi, edx
mov dword [esp + ecx*4 + 0x28], esi
mov edx, dword [0x48d2fc]
shl edx, 8
add edx, 0x198bcb3b
xor edx, 0x8a0e0fa5
mov esi, dword [0x48db9c]
imul esi, edx
mov dword [0x48db9c], esi
mov dx, word [0x49126c]
movsx edx, dx
imul edx, edx, 0x66b28421
cmp edx, 0x597267e1
jl 0x40cb9b
mov edx, dword [0x487018]
lea esi, [edx + 1]
mov dword [0x487018], esi
imul edx, edx, 0x9ef5f93e
add dword [0x4890ec], edx
mov dx, word [0x4916be]
add edx, 0x7518
mov word [0x4916be], dx
inc ecx
cmp ecx, 0x10
jne 0x40cae5
and dword [0x488154], 0xbfdb77ef
lea esi, [edi + 8]
lea edi, [esp + 4]
mov ecx, 9
rep movsd dword es:[edi], dword [esi]
mov ax, word [0x48e61a]
lea ecx, [eax - 1]
mov word [0x48e61a], cx
cwde
mov ecx, dword [0x48835c]
add ecx, eax
xor ecx, 0xbefc1892
mov ax, word [0x48edd4]
cwde
add eax, 0xc0ee6f6b
xor eax, 0x3ba08266
cmp ecx, eax
jle 0x40cc29
mov eax, dword [0x488660]
or eax, 0x29f766a6
cmp eax, 0xa868e19
jg 0x40cc50
mov ax, word [0x48fd6c]
add eax, 0x20c8
mov word [0x48fd6c], ax
jmp 0x40cc50
mov ax, word [0x48fab6]
lea ecx, [eax + 1]
mov word [0x48fab6], cx
cwde
imul eax, eax, 0x21897f5d
cmp eax, 0xa77d7a6e
jg 0x40cc50
mov word [0x48e5fc], 0xbefb
push 0x100
push 0x132f
call fcn.00422ac4
add esp, 8
mov dword [esp], eax
mov cx, word [0x48f4fc]
lea edx, [ecx - 1]
mov word [0x48f4fc], dx
add ecx, 0x1841
mov dx, word [0x48eb48]
and edx, ecx
mov word [0x48eb48], dx
xor eax, eax
add dword [0x488ac4], 0x578626bc
cmp eax, 0xf
jle 0x40cd6c
mov edx, dword [0x48c570]
sar edx, 9
and edx, 0x8a4369ef
mov esi, dword [0x48def8]
add esi, 0xa1606144
cmp edx, esi
je 0x40ccca
xor dword [0x48ce24], 0xe2c257db
mov edx, dword [esp + eax*4 + 0x20]
mov esi, edx
rol esi, 0xf
mov edi, edx
rol edi, 0xd
shr edx, 0xa
xor edx, esi
xor edx, edi
mov dword [esp + eax*4 + 0x28], edx
mov edx, dword [0x4880f4]
shl edx, 0xa
add edx, 0x7dd0703a
mov esi, dword [0x4886e8]
imul esi, edx
mov dword [0x4886e8], esi
mov edx, dword [esp + eax*4 + 0xc]
add dword [esp + eax*4 + 0x28], edx
mov edx, dword [0x48720c]
mov esi, dword [0x489008]
not esi
imul esi, edx
add esi, 0xf060edf8
or dword [0x48dd40], esi
mov edx, dword [esp + eax*4 - 0x14]
mov esi, edx
rol esi, 0x19
mov edi, edx
rol edi, 0xe
shr edx, 3
xor edx, esi
xor edx, edi
add dword [esp + eax*4 + 0x28], edx
mov edx, dword [0x487a7c]
mov esi, dword [0x489a1c]
inc esi
mov dword [0x489a1c], esi
and esi, edx
add dword [0x48df00], esi
mov edx, dword [esp + eax*4 - 0x18]
add dword [esp + eax*4 + 0x28], edx
add dword [0x48704c], 0xa155c248
mov edx, dword [0x48da98]
lea esi, [edx - 1]
mov dword [0x48da98], esi
mov esi, dword [0x48748c]
lea edx, [edx + esi + 0x6dc120b4]
mov dword [0x48748c], edx
add dword [0x488848], 0xcfe8676b
mov edx, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov edi, edx
mov ebp, edx
mov ebx, dword [esp + 0x18]
xor ebx, esi
and ebx, edx
rol edx, 0x1a
rol edi, 0x15
rol ebp, 7
xor ebp, edi
xor ebp, edx
xor ebx, esi
mov ecx, dword [esp]
mov edx, dword [ecx + eax*4]
add edx, dword [esp + 0x20]
add edx, ebp
add edx, dword [esp + eax*4 + 0x28]
add edx, ebx
mov esi, dword [0x4898c8]
add esi, 0xb7a234cd
xor esi, 0x58a665f3
cmp esi, 0xb252bbd8
jg 0x40ce06
mov esi, dword [0x48b33c]
sar esi, 4
mov edi, dword [0x48bef0]
sub esi, edi
cmp esi, 0xbc0c0f28
jg 0x40ce06
mov esi, dword [0x48ca88]
mov edi, dword [esp + 4]
mov esi, dword [esp + 8]
mov ebx, edi
mov ebp, edi
mov ecx, esi
and ecx, edi
or esi, edi
rol edi, 0x1e
rol ebx, 0x13
rol ebp, 0xa
xor ebp, ebx
xor ebp, edi
and esi, dword [esp + 0xc]
or esi, ecx
mov ecx, dword [0x488e1c]
mov edi, dword [0x48c2ac]
add edi, 0xfb1c472a
xor edi, ecx
add dword [0x489b7c], edi
add dword [esp + 0x10], edx
mov ecx, dword [0x48760c]
or ecx, 0xf007d7bb
xor ecx, 0xff82844
or dword [0x487440], ecx
add esi, edx
add esi, ebp
mov dword [esp + 0x20], esi
xor dword [0x48cee8], 0x8fc8ce51
and dword [0x4891fc], 0xdffdd3eb
mov ecx, dword [0x48aff0]
imul ecx, ecx, 0x33bfc6b7
add ecx, 0x26294d1d
and dword [0x488c24], ecx
mov edx, 8
mov ecx, dword [0x4885b4]
shl ecx, 9
mov esi, dword [0x48d7a8]
lea ecx, [ecx + esi + 0x42263a20]
mov dword [0x48d7a8], ecx
mov ecx, dword [esp + edx*4]
mov dword [esp + edx*4 + 4], ecx
add dword [0x48b9f0], 0x5418285
dec edx
jne 0x40ce9a
mov ecx, dword [0x48dd40]
imul ecx, ecx, 0x446e3729
and ecx, 0x9e65
mov dx, word [0x4910da]
xor edx, ecx
mov word [0x4910da], dx
mov ecx, dword [esp + 0x24]
mov dword [esp + 4], ecx
mov cx, word [0x49107a]
inc eax
cmp eax, 0x40
jne 0x40cc8e
mov ax, word [0x48eb32]
xor eax, 0xfff7
mov word [0x48eb32], ax
push dword [esp]
push 0x100
call fcn.004228ac
add esp, 8
mov eax, dword [0x4875e4]
dec eax
mov dword [0x4875e4], eax
cmp eax, 0x2ba3d53e
jl 0x40cf51
mov eax, dword [0x48c474]
lea ecx, [eax + 1]
mov dword [0x48c474], ecx
xor eax, 0x6119a358
add dword [0x48d39c], eax
xor eax, eax
mov esi, dword [esp + 0x13c]
add dword [0x48ac3c], 0x97ff5eed
mov ecx, dword [esp + eax*4 + 4]
add dword [esi + eax*4 + 8], ecx
mov ecx, dword [0x48a634]
add ecx, 0x8b43
mov dx, word [0x48f9ee]
and edx, ecx
mov word [0x48f9ee], dx
inc eax
cmp eax, 8
jne 0x40cf5a
mov ax, word [0x48e672]
cwde
add eax, 0xaf8f198c
mov ecx, dword [0x489c60]
imul ecx, eax
mov dword [0x489c60], ecx
add esp, 0x128
pop esi
pop edi
pop ebx
pop ebp
ret