Function at 0x4020a0
Capabilities:
Hash data using murmur3

Disassembly:
push ebx
push edi
push esi
sub esp, 0x148
mov eax, dword [esp + 0x15c]
mov ecx, dword [esp + 0x158]
mov edx, 0xddfcd1f2
mov dword [esp + 0x144], eax
mov dword [esp + 0x140], ecx
mov eax, dword [0x49f60c]
sar eax, 0xa
mov ecx, dword [0x49f900]
and eax, ecx
cmp edx, eax
jne 0x402106
mov eax, dword [0x49ee84]
shr eax, 2
add eax, 0xe04d0994
mov ecx, dword [0x49df0c]
or eax, ecx
or eax, 0xd69d1ac5
mov dword [0x49df0c], eax
jmp 0x402115
mov eax, dword [0x49f2b0]
or eax, 0x9deec3bf
mov dword [0x49f2b0], eax
mov eax, dword [0x49e77c]
mov dword [0x49f4b4], eax
mov eax, dword [0x49e3b8]
mov ecx, dword [0x49f9a4]
lea eax, [eax + ecx + 0x3847b27a]
mov dword [0x49f9a4], eax
mov eax, dword [0x49f758]
add eax, 0xabe961e1
mov ecx, dword [0x49ec68]
sub ecx, eax
mov dword [0x49ec68], ecx
mov dword [esp + 0x10], 0
cmp dword [esp + 0x10], 0x10
je 0x4022a6
mov ax, word [0x4a07de]
mov cx, ax
xor ecx, 0xf9ee
mov ax, cx
mov word [0x4a07de], ax
mov dword [0x49f278], 0x7820040
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x144]
movzx esi, byte [edx + ecx*4]
shl esi, 0x18
movzx edi, byte [edx + ecx*4 + 1]
shl edi, 0x10
or esi, edi
movzx edi, byte [edx + ecx*4 + 2]
shl edi, 8
or esi, edi
movzx edx, byte [edx + ecx*4 + 3]
or esi, edx
mov dword [esp + ecx*4 + 0x38], esi
mov ecx, dword [0x49e628]
not ecx
add ecx, 0xbe07e7f1
or ecx, 0x950472e1
mov edx, dword [0x49e978]
dec edx
mov dword [0x49e978], edx
mov ax, word [0x49fe3a]
mov si, ax
dec esi
mov bx, si
mov word [0x49fe3a], bx
movsx esi, ax
add esi, 0x6ba1bdc
and edx, esi
cmp ecx, edx
jle 0x40222b
mov ax, word [0x49fb4c]
mov cx, ax
inc ecx
mov ax, cx
mov word [0x49fb4c], ax
movsx ecx, ax
and ecx, 0x8321de96
mov edx, dword [0x49e5bc]
sub edx, ecx
mov dword [0x49e5bc], edx
jmp 0x40224c
mov eax, dword [0x49e994]
imul eax, eax, 0x9331cb56
mov cx, word [0x49fd72]
mov dx, cx
sub edx, eax
mov cx, dx
mov word [0x49fd72], cx
mov eax, dword [0x49e9f4]
mov ecx, eax
dec ecx
mov dword [0x49e9f4], ecx
add eax, 0x1a4c76f8
mov ecx, dword [0x49f36c]
xor eax, ecx
xor eax, 0x9aa4d398
mov dword [0x49f36c], eax
mov dx, word [0x49fff0]
mov ax, dx
mov dx, word [0x49fbe4]
mov cx, dx
and eax, ecx
and eax, 0x68c7
mov dx, ax
mov word [0x49fbe4], dx
mov eax, dword [esp + 0x10]
add eax, 1
mov dword [esp + 0x10], eax
jmp 0x402156
mov eax, dword [0x49df38]
or eax, 0xa2d96447
mov dword [0x49df38], eax
mov eax, dword [esp + 0x140]
mov ecx, dword [eax + 0x28]
mov dword [esp + 0x34], ecx
movsd xmm0, qword [eax + 0x20]
movsd qword [esp + 0x2c], xmm0
movsd xmm0, qword [eax + 0x18]
movsd qword [esp + 0x24], xmm0
movsd xmm0, qword [eax + 8]
movsd xmm1, qword [eax + 0x10]
movsd qword [esp + 0x1c], xmm1
movsd qword [esp + 0x14], xmm0
mov eax, dword [0x49f480]
not eax
mov ecx, dword [0x49e6dc]
lea eax, [eax + ecx + 0x425f92f8]
mov dword [0x49e6dc], eax
mov eax, esp
mov dword [eax + 4], 0x100
mov dword [eax], 0xb080
call fcn.00448630
mov dword [esp + 8], eax
mov eax, dword [0x49f570]
add eax, 0x96511d6a
mov dword [0x49f570], eax
mov dword [esp + 0x10], 0
cmp dword [esp + 0x10], 0x40
je 0x402793
mov eax, dword [0x49f7a8]
imul eax, eax, 0x3367e8a8
add eax, 0x24795250
mov ecx, dword [0x49e540]
cmp eax, ecx
jle 0x402378
mov ax, word [0x4a0192]
mov cx, ax
add ecx, 0xa782a2c5
mov ax, cx
mov word [0x4a0192], ax
cmp dword [esp + 0x10], 0xf
jle 0x402480
mov eax, 0xb29b1ecc
mov ecx, dword [0x49dedc]
mov edx, dword [0x49f0ec]
xor edx, ecx
xor edx, 0x204749bc
mov ecx, dword [0x49dd00]
imul ecx, edx
mov dword [0x49dd00], 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 ecx, dword [0x49df60]
mov edx, ecx
dec edx
mov dword [0x49df60], edx
mov edx, 0x2d5d1470
sub edx, ecx
and edx, 0x4a84297d
mov dword [0x49f170], edx
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 [0x49e314]
add ecx, 0x5a048bd3
mov dword [0x49e314], 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 ecx, dword [0x49ddf8]
and ecx, 0x95803f24
mov dword [0x49ddf8], ecx
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 [0x49ddb8]
cmp eax, ecx
jle 0x40247b
mov ax, word [0x49fde4]
mov cx, ax
and ecx, 0x72ea
mov ax, cx
mov word [0x49fde4], ax
jmp 0x402480
mov eax, 0x20010100
mov ecx, dword [0x49f1c0]
mov edx, dword [0x49ea50]
and ecx, edx
and ecx, 0x96b3dac2
mov dword [0x49ea50], ecx
mov ecx, dword [0x49f208]
cmp eax, ecx
jne 0x4024e1
mov eax, 0x65b864f1
mov ecx, dword [0x49eb30]
mov edx, ecx
inc edx
mov dword [0x49eb30], edx
cmp eax, ecx
jle 0x4024dc
mov eax, dword [0x49e074]
mov ecx, dword [0x49f190]
and ecx, eax
mov dword [0x49f190], ecx
jmp 0x4024e1
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 dword [0x49ddbc], 0xe7dbdde2
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 [0x49ec84]
mov ecx, eax
dec ecx
mov dword [0x49ec84], ecx
imul eax, eax, 0x8369f519
mov ecx, dword [0x49f600]
mov edx, ecx
dec edx
mov dword [0x49f600], edx
and ecx, 0x261dd502
cmp eax, ecx
jg 0x4025f4
mov eax, 0x317e7a12
mov ecx, dword [0x49e2e0]
mov edx, ecx
dec edx
mov dword [0x49e2e0], edx
mov edx, dword [0x49e6b8]
mov esi, edx
dec esi
mov dword [0x49e6b8], esi
imul edx, edx, 0x4e72a159
or ecx, edx
cmp eax, ecx
jl 0x4025ef
mov eax, dword [0x49e7ec]
sar eax, 7
and eax, 0x3b23a89
cmp eax, 0x498521
jne 0x4025e5
jmp 0x4025ea
jmp 0x4025ea
jmp 0x4025ef
jmp 0x4025f4
mov eax, dword [esp + 0x13c]
mov ecx, dword [esp + 0x20]
add ecx, eax
mov dword [esp + 0x20], ecx
mov eax, dword [0x49f658]
xor eax, 0x4c800c0c
mov dx, word [0x4a008a]
movsx ecx, dx
sar ecx, 8
mov esi, dword [0x49e040]
dec esi
mov dword [0x49e040], esi
imul ecx, esi
cmp eax, ecx
jne 0x402651
mov ax, word [0x4a034e]
mov cx, ax
xor ecx, 0x4e9b
mov ax, cx
mov word [0x4a034e], ax
jmp 0x402660
mov eax, dword [0x49f000]
add eax, 0xac4d5ab
mov dword [0x49f000], eax
mov eax, dword [esp + 0x13c]
mov ecx, dword [esp + 0x138]
add eax, ecx
mov dword [esp + 0x30], eax
mov dx, word [0x4a027c]
mov ax, dx
inc eax
mov si, ax
mov word [0x4a027c], si
movsx eax, dx
mov ecx, dword [0x49f868]
sar ecx, 8
add eax, ecx
mov ecx, dword [0x49de68]
and ecx, eax
mov dword [0x49de68], ecx
mov eax, dword [0x49ef7c]
or eax, 0x3fba4a5d
mov dword [0x49ef7c], eax
mov word [0x4a0252], 0x1927
mov dword [esp + 0xc], 8
cmp dword [esp + 0xc], 0
je 0x40270a
mov eax, dword [0x49df70]
and eax, 0x3d480fb1
mov dword [0x49df70], eax
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + eax*4 + 0x10]
mov dword [esp + eax*4 + 0x14], ecx
mov eax, dword [0x49f2b0]
add eax, 0x7ca1be08
mov dword [0x49f2b0], eax
mov eax, dword [esp + 0xc]
add eax, 0xffffffff
mov dword [esp + 0xc], eax
jmp 0x4026c5
mov eax, 0xa70c1f49
mov cx, word [0x4a0944]
mov dx, cx
dec edx
mov cx, dx
mov word [0x4a0944], cx
movsx edx, cx
add edx, 0xbf75b2d
cmp eax, edx
jne 0x402749
mov eax, dword [0x49efbc]
add eax, 0xf8de2e4e
mov dword [0x49efbc], eax
jmp 0x402753
mov dword [0x49f724], 0x3e27de40
mov eax, dword [esp + 0x34]
mov dword [esp + 0x14], eax
mov eax, dword [0x49e1a4]
add eax, 0x90a79a9a
mov ecx, dword [0x49e8b0]
inc ecx
mov dword [0x49e8b0], ecx
or eax, ecx
mov ecx, dword [0x49e6e4]
imul ecx, eax
mov dword [0x49e6e4], ecx
mov eax, dword [esp + 0x10]
add eax, 1
mov dword [esp + 0x10], eax
jmp 0x402337
mov eax, dword [0x49e0a0]
add eax, 0x399349a5
mov dword [0x49e0a0], eax
mov eax, dword [esp + 8]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0x100
call fcn.0041ee00
mov eax, dword [0x49e854]
dec eax
mov dword [0x49e854], eax
mov ecx, dword [0x49ec54]
mov edx, ecx
inc edx
mov dword [0x49ec54], edx
mov edx, dword [0x49f2e4]
imul ecx, edx
xor eax, ecx
mov ecx, dword [0x49f850]
inc ecx
mov dword [0x49f850], ecx
cmp eax, ecx
je 0x4027fa
mov dword [0x49dfdc], 0x5a0e7d35
mov dword [esp + 0x10], 0
cmp dword [esp + 0x10], 8
je 0x402871
mov eax, 0x77e2af08
mov ecx, dword [0x49f364]
cmp eax, ecx
jne 0x40282f
mov eax, dword [0x49f718]
and eax, 0xbddd54ec
mov dword [0x49f718], 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 di, word [0x4a044c]
mov ax, di
add eax, 0x6ab13e0d
mov di, ax
mov word [0x4a044c], di
mov eax, dword [esp + 0x10]
add eax, 1
mov dword [esp + 0x10], eax
jmp 0x402802
mov eax, dword [0x49db50]
inc eax
mov dword [0x49db50], eax
mov cx, word [0x4a0488]
mov dx, cx
and edx, eax
mov cx, dx
mov word [0x4a0488], cx
add esp, 0x148
pop esi
pop edi
pop ebx
ret