Function at 0x409f60
Capabilities:
Hash data using murmur3

Disassembly:
push ebx
push edi
push esi
sub esp, 0x150
mov eax, dword [esp + 0x164]
mov ecx, dword [esp + 0x160]
mov dword [esp + 0x14c], eax
mov dword [esp + 0x148], ecx
mov eax, dword [0x49422c]
xor eax, 0x7dd573b0
mov dword [0x49422c], eax
mov eax, dword [0x494988]
add eax, 0x79621c57
mov dword [0x494988], eax
mov dx, word [0x49758e]
mov ax, dx
xor eax, 0xa3a1
mov dx, ax
mov word [0x49758e], dx
mov dx, word [0x497570]
mov ax, dx
add eax, 0x100821
mov dx, ax
mov word [0x497570], dx
mov dword [esp + 0x18], 0
cmp dword [esp + 0x18], 0x10
je 0x40a142
mov word [0x498f82], 0x83bc
mov eax, dword [0x496b60]
mov ecx, eax
inc ecx
mov dword [0x496b60], ecx
mov ecx, dword [0x494704]
xor ecx, 0xad3bdfb7
or eax, ecx
cmp eax, 0x29231eb7
jg 0x40a069
mov eax, dword [0x494378]
mov ecx, eax
inc ecx
mov dword [0x494378], ecx
and eax, 0xf67956c5
mov dx, word [0x4999f6]
movsx ecx, dx
shl ecx, 8
and ecx, 0x2f4c5f59
or ecx, 0x356f5188
cmp eax, ecx
jg 0x40a064
mov ax, word [0x498852]
mov cx, ax
add ecx, 0xa7026a9d
mov ax, cx
mov word [0x498852], ax
jmp 0x40a0ca
mov eax, 0xa88cb8da
mov ecx, dword [0x495704]
mov edx, ecx
dec edx
mov dword [0x495704], edx
or ecx, 0xb64007a0
cmp eax, ecx
jl 0x40a0c5
mov eax, 0x1766b248
mov ecx, dword [0x493550]
inc ecx
mov dword [0x493550], ecx
mov edx, dword [0x493b2c]
shl edx, 8
imul edx, edx, 0xf1cb55c7
add ecx, edx
cmp eax, ecx
je 0x40a0bb
jmp 0x40a0c0
jmp 0x40a0c0
jmp 0x40a0c5
jmp 0x40a0ca
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14c]
movzx edx, byte [ecx + eax*4]
shl edx, 0x18
movzx esi, byte [ecx + eax*4 + 1]
shl esi, 0x10
or edx, esi
movzx esi, byte [ecx + eax*4 + 2]
shl esi, 8
or edx, esi
movzx ecx, byte [ecx + eax*4 + 3]
or edx, ecx
mov dword [esp + eax*4 + 0x40], edx
mov eax, dword [0x49355c]
add eax, 0xd33af3cb
mov dword [0x49355c], eax
mov eax, dword [0x494904]
xor eax, 0xd3e799e0
mov dword [0x494904], eax
mov di, word [0x498498]
mov ax, di
and eax, 0x6ada
mov di, ax
mov word [0x498498], di
mov eax, dword [esp + 0x18]
add eax, 1
mov dword [esp + 0x18], eax
jmp 0x409fdd
mov eax, 0x9d2513
mov ecx, dword [0x496834]
and ecx, 0xcb8c
mov dx, cx
mov word [0x49889c], dx
mov ecx, dword [esp + 0x148]
add ecx, 8
mov esi, 9
lea edi, [esp + 0x1c]
mov dword [esp + 0xc], ecx
mov ecx, esi
mov esi, dword [esp + 0xc]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x496708]
imul ecx, ecx, 0xfbee637
mov dword [0x496708], ecx
mov ecx, esp
mov dword [ecx + 4], 0x100
mov dword [ecx], 0x3bd6
mov dword [esp + 8], eax
call fcn.0044bdb0
mov dword [esp + 0x10], eax
mov dx, word [0x499510]
mov ax, dx
inc eax
mov dx, ax
mov word [0x499510], dx
movsx eax, dx
and eax, 0x1a46be5
mov ecx, dword [esp + 8]
cmp ecx, eax
jg 0x40a1e7
mov eax, dword [0x496d4c]
and eax, 0xad78267f
mov dword [0x496d4c], eax
jmp 0x40a210
mov eax, dword [0x4966cc]
mov ecx, eax
dec ecx
mov dword [0x4966cc], ecx
or eax, 0xd8b7
mov dx, word [0x498aa2]
mov cx, dx
xor ecx, eax
mov dx, cx
mov word [0x498aa2], dx
mov dword [esp + 0x18], 0
cmp dword [esp + 0x18], 0x40
je 0x40a607
mov eax, 0x6460a2b4
mov cx, word [0x4997f8]
mov dx, cx
dec edx
mov si, dx
mov word [0x4997f8], si
movsx edx, cx
imul edx, edx, 0xd413eaf7
cmp eax, edx
jle 0x40a266
mov ax, word [0x499278]
mov cx, ax
imul ecx, ecx, 0xf6c51a8d
mov ax, cx
mov word [0x499278], ax
cmp dword [esp + 0x18], 0xf
jle 0x40a348
mov eax, dword [0x495ef8]
imul eax, eax, 0x746cf91d
mov dword [0x495ef8], eax
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + eax*4 + 0x38]
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 + 0x40], edx
mov di, word [0x497872]
mov ax, di
add eax, 0x97ff5da
mov di, ax
mov word [0x497872], di
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + eax*4 + 0x24]
mov edx, dword [esp + eax*4 + 0x40]
add edx, ecx
mov dword [esp + eax*4 + 0x40], edx
mov eax, dword [0x494be0]
xor eax, 0x9ffeb7fe
mov dword [0x494be0], eax
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + eax*4 + 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 + 0x40]
add ecx, edx
mov dword [esp + eax*4 + 0x40], ecx
mov eax, dword [0x49347c]
add eax, 0xe93ce168
mov di, word [0x4992fa]
mov cx, di
and ecx, eax
mov di, cx
mov word [0x4992fa], di
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + eax*4]
mov edx, dword [esp + eax*4 + 0x40]
add edx, ecx
mov dword [esp + eax*4 + 0x40], edx
mov eax, dword [0x496510]
mov ecx, eax
dec ecx
mov dword [0x496510], ecx
mov ecx, dword [0x4969b0]
add ecx, eax
mov dword [0x4969b0], ecx
mov eax, 0x6a59a120
mov ecx, dword [0x494508]
and ecx, 0x96c6e5f2
mov dword [0x494508], ecx
mov ecx, dword [0x496068]
inc ecx
mov dword [0x496068], ecx
mov dx, word [0x499088]
movsx esi, dx
add ecx, esi
cmp eax, ecx
jl 0x40a3b3
mov eax, dword [0x497100]
mov ecx, eax
inc ecx
mov dword [0x497100], ecx
add eax, 0x1da6853e
or eax, 0x367f
mov dx, word [0x499516]
mov cx, dx
add ecx, eax
mov dx, cx
mov word [0x499516], dx
jmp 0x40a3c3
mov eax, dword [0x494da8]
imul eax, eax, 0xfa367dbd
mov dword [0x494da8], eax
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x30]
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 + 0x34]
xor edx, esi
and ecx, edx
xor esi, ecx
add eax, esi
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
mov edx, dword [edx + ecx*4]
add eax, edx
mov ecx, dword [esp + ecx*4 + 0x40]
add eax, ecx
mov dword [esp + 0x144], eax
mov eax, dword [0x494fe0]
add eax, 0x51b6f7b8
mov dword [0x494fe0], eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
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 + 0x24]
or eax, ecx
and edi, eax
or esi, edi
add edx, esi
mov dword [esp + 0x140], edx
mov eax, dword [0x494298]
add eax, 0xc252e30e
mov dword [0x494298], eax
mov eax, dword [esp + 0x144]
mov ecx, dword [esp + 0x28]
add ecx, eax
mov dword [esp + 0x28], ecx
mov eax, dword [0x491f70]
dec eax
mov dword [0x491f70], eax
xor eax, 0x40434145
or eax, 0xb20c38a8
mov ecx, dword [0x492b50]
add ecx, eax
mov dword [0x492b50], ecx
mov eax, dword [esp + 0x144]
mov ecx, dword [esp + 0x140]
add eax, ecx
mov dword [esp + 0x38], eax
mov bx, word [0x498154]
mov ax, bx
and eax, 0x53b0
mov bx, ax
mov word [0x498154], bx
mov bx, word [0x4976e8]
mov ax, bx
add eax, 0xc0d6a0bc
mov bx, word [0x49813c]
mov cx, bx
or ecx, eax
mov bx, cx
mov word [0x49813c], bx
mov eax, dword [0x496120]
mov ecx, eax
inc ecx
mov dword [0x496120], ecx
mov ecx, dword [0x4952a0]
lea eax, [eax + ecx + 0x121da1f4]
mov dword [0x4952a0], eax
mov dword [esp + 0x14], 8
cmp dword [esp + 0x14], 0
je 0x40a597
mov eax, dword [0x4940a0]
imul eax, eax, 0x993d99dc
xor eax, 0xb6cd0c9e
mov ecx, dword [0x4940e4]
and ecx, eax
mov dword [0x4940e4], ecx
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + eax*4 + 0x18]
mov dword [esp + eax*4 + 0x1c], ecx
mov eax, dword [0x494a50]
inc eax
mov dword [0x494a50], eax
xor eax, 0x4010049
mov dx, word [0x4972de]
mov cx, dx
inc ecx
mov si, cx
mov word [0x4972de], si
movsx ecx, dx
xor ecx, 0xe59d727c
cmp eax, ecx
jle 0x40a582
mov eax, dword [0x496e88]
xor eax, 0x23ccf170
mov dword [0x496e88], eax
jmp 0x40a587
mov eax, dword [esp + 0x14]
add eax, 0xffffffff
mov dword [esp + 0x14], eax
jmp 0x40a508
mov eax, 0xdc341b53
mov ecx, dword [0x496190]
and ecx, 0x8d9ddb3e
mov dword [0x496190], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x1c], ecx
mov dx, word [0x4976ea]
mov cx, dx
inc ecx
mov si, cx
mov word [0x4976ea], si
movsx ecx, dx
cmp eax, ecx
jne 0x40a5f2
mov eax, dword [0x496d48]
mov ecx, eax
dec ecx
mov dword [0x496d48], ecx
mov ecx, dword [0x495a84]
or ecx, eax
mov dword [0x495a84], ecx
jmp 0x40a5f7
mov eax, dword [esp + 0x18]
add eax, 1
mov dword [esp + 0x18], eax
jmp 0x40a218
mov eax, dword [0x4957f4]
inc eax
mov dword [0x4957f4], eax
or eax, 0x83280152
mov ecx, dword [0x494ad8]
mov edx, ecx
dec edx
mov dword [0x494ad8], edx
cmp eax, ecx
jl 0x40a67d
mov eax, 0xa80d9e78
mov cx, word [0x498642]
movsx edx, cx
mov esi, dword [0x492a54]
sub edx, esi
cmp eax, edx
jne 0x40a678
mov ax, word [0x4973fa]
mov cx, ax
inc ecx
mov ax, cx
mov word [0x4973fa], ax
movsx ecx, ax
or ecx, 0x23cd60f7
mov edx, dword [0x491d8c]
imul edx, ecx
mov dword [0x491d8c], edx
jmp 0x40a67d
mov eax, dword [esp + 0x10]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0x100
call fcn.004019a0
mov eax, dword [0x496534]
xor eax, 0xf243aacd
mov dword [0x496534], eax
mov dword [esp + 0x18], 0
cmp dword [esp + 0x18], 8
je 0x40a71f
mov eax, 0xe02ffd56
mov ecx, dword [0x4920ac]
mov edx, ecx
dec edx
mov dword [0x4920ac], edx
cmp eax, ecx
jne 0x40a6e7
mov ax, word [0x497eaa]
mov cx, ax
add ecx, 0x6c6dfcea
mov ax, cx
mov word [0x497eaa], ax
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + eax*4 + 0x1c]
mov edx, dword [esp + 0x148]
mov esi, dword [edx + eax*4 + 8]
add esi, ecx
mov dword [edx + eax*4 + 8], esi
mov eax, dword [0x495ae4]
add eax, 0x194385bd
mov dword [0x495ae4], eax
mov eax, dword [esp + 0x18]
add eax, 1
mov dword [esp + 0x18], eax
jmp 0x40a6a8
mov eax, dword [0x495db0]
mov ecx, 0xcfdbf4a9
sub ecx, eax
mov eax, dword [0x4934e4]
xor eax, ecx
mov dword [0x4934e4], eax
add esp, 0x150
pop esi
pop edi
pop ebx
ret