Function at 0x40d260
Capabilities:
Hash data using murmur3

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x150
mov eax, dword [esp + 0x168]
mov ecx, dword [esp + 0x164]
mov dword [esp + 0x14c], eax
mov dword [esp + 0x148], ecx
mov eax, dword [0x4a9df0]
mov ecx, eax
dec ecx
mov dword [0x4a9df0], ecx
xor eax, 0xe686be41
cmp eax, 0xfbca39e1
jge 0x40d2ee
mov eax, 0xbdfafd6d
mov cx, word [0x49b188]
mov dx, cx
dec edx
mov si, dx
mov word [0x49b188], si
movsx edx, cx
mov edi, dword [0x4aab88]
shl edi, 7
add edi, 0xfa27b872
and edx, edi
cmp eax, edx
jl 0x40d2e9
mov eax, dword [0x4a77ec]
and eax, 0x50cc676c
mov dword [0x4a77ec], eax
jmp 0x40d2ee
mov ax, word [0x49388c]
mov cx, ax
or ecx, 0x4342
mov ax, cx
mov word [0x49388c], ax
mov ecx, dword [0x4a5c34]
imul ecx, ecx, 0x6a36d9e3
mov dword [0x4a5c34], ecx
mov ecx, dword [0x4ad874]
inc ecx
mov dword [0x4ad874], ecx
mov edx, dword [0x4acbd0]
shl edx, 7
add edx, 0xc79de61e
and ecx, edx
mov edx, dword [0x4a8944]
xor edx, ecx
mov dword [0x4a8944], edx
mov dword [esp + 0x18], 0
cmp dword [esp + 0x18], 0x10
je 0x40d413
mov eax, 0xdfebf1ec
mov ecx, dword [0x4a0998]
xor ecx, 0xc0b57ab1
mov dword [0x4a0998], ecx
mov ecx, dword [0x4a9fe0]
mov edx, ecx
dec edx
mov dword [0x4a9fe0], edx
cmp eax, ecx
jle 0x40d38f
mov dword [0x49bee4], 0x2aa37aef
mov eax, 0xda79ec88
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14c]
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 + 0x40], esi
mov ecx, dword [0x4a827c]
cmp eax, ecx
jne 0x40d3e2
mov eax, dword [0x4abbac]
or eax, 0x81ca0428
mov dword [0x4abbac], eax
mov eax, dword [0x49c018]
add eax, 0xe883d428
mov dword [0x49c018], eax
mov eax, dword [0x4a41ec]
shl eax, 7
add eax, 0x37d5e9a3
mov dword [0x4a55ac], eax
mov eax, dword [esp + 0x18]
add eax, 1
mov dword [esp + 0x18], eax
jmp 0x40d34c
mov eax, dword [0x4af988]
inc eax
mov dword [0x4af988], eax
and eax, 0xb48190df
cmp eax, 0xa0850661
jge 0x40d43d
mov eax, dword [0x4a3a00]
add eax, 0x5adce4ff
mov dword [0x4a3a00], eax
mov eax, 0xe3c7fb4d
mov ecx, dword [esp + 0x148]
add ecx, 8
mov edx, 9
lea edi, [esp + 0x1c]
mov dword [esp + 0xc], ecx
mov ecx, edx
mov esi, dword [esp + 0xc]
rep movsd dword es:[edi], dword [esi]
mov bx, word [0x498e80]
mov cx, bx
and ecx, 0xb058
mov bx, cx
mov word [0x498e80], bx
mov ecx, esp
mov dword [ecx + 4], 0x100
mov dword [ecx], 0x143b
mov dword [esp + 8], eax
call fcn.00410180
mov dword [esp + 0x10], eax
mov eax, dword [0x4a5d7c]
mov ecx, dword [esp + 8]
cmp ecx, eax
jle 0x40d4c6
mov eax, dword [0x4aa418]
imul eax, eax, 0x490e1050
mov ecx, dword [0x4ae778]
add ecx, eax
mov dword [0x4ae778], ecx
jmp 0x40d4e9
mov eax, dword [0x4ac834]
shl eax, 8
mov cx, word [0x49a6c6]
mov dx, cx
xor eax, edx
xor eax, 0x9dcf
mov cx, ax
mov word [0x49a6c6], cx
mov dword [esp + 0x18], 0
cmp dword [esp + 0x18], 0x40
je 0x40d981
mov eax, dword [0x49d6b0]
add eax, 0x8249ef29
mov dword [0x49d6b0], eax
cmp dword [esp + 0x18], 0xf
jle 0x40d65b
mov eax, 0x3f4f0b07
mov ecx, dword [0x4a3de4]
dec ecx
mov dword [0x4a3de4], ecx
and ecx, 0x9a960805
mov edx, dword [0x4a2ea4]
or ecx, edx
mov dword [0x4a1d50], ecx
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + ecx*4 + 0x38]
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 + 0x40], esi
mov bx, word [0x498602]
mov cx, bx
inc ecx
mov bx, cx
mov word [0x498602], bx
movsx ecx, bx
cmp eax, ecx
je 0x40d588
mov dword [0x4a4864], 0xb6b7fb36
jmp 0x40d597
mov eax, dword [0x4aeb1c]
add eax, 0xb6e14a57
mov dword [0x4aeb1c], eax
mov eax, 0x5de88df
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + ecx*4 + 0x24]
mov esi, dword [esp + ecx*4 + 0x40]
add esi, edx
mov dword [esp + ecx*4 + 0x40], esi
mov ecx, dword [0x4a9630]
shl ecx, 0xa
sub ecx, 0x57263e2c
sub ecx, 0x800cfe66
cmp eax, ecx
jne 0x40d5ef
mov ax, word [0x49180a]
movsx ecx, ax
imul ecx, ecx, 0xee027d3c
mov edx, 0x204bb1dd
sub edx, ecx
mov ecx, dword [0x4aec24]
or ecx, edx
mov dword [0x4aec24], ecx
mov eax, 0x95dbd1ae
mov ecx, dword [esp + 0x18]
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 + 0x40]
add edx, esi
mov dword [esp + ecx*4 + 0x40], edx
mov ecx, dword [0x4a35c0]
dec ecx
mov dword [0x4a35c0], ecx
cmp eax, ecx
je 0x40d63b
mov eax, dword [0x4ac904]
add eax, 0x16bacc51
mov dword [0x4ac904], eax
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 [0x4aeaf8]
and eax, 0x404170
mov dword [0x4aeaf8], eax
mov eax, 0x77f37ee7
mov ecx, dword [0x4a3fe4]
sar ecx, 3
cmp eax, ecx
jle 0x40d68c
mov eax, dword [0x4aaae4]
shl eax, 8
xor eax, 0x48ba3bb0
mov ecx, dword [0x4a6330]
and ecx, eax
mov dword [0x4a6330], ecx
mov eax, 0x88a75169
mov ecx, dword [0x49f9f4]
imul ecx, ecx, 0xe13767b0
or ecx, 0x4a7f
mov dx, word [0x496d64]
mov si, dx
sub esi, ecx
mov dx, si
mov word [0x496d64], dx
mov ecx, dword [esp + 0x38]
mov esi, dword [esp + 0x2c]
mov edi, dword [esp + 0x30]
mov ebx, esi
rol ebx, 0x1a
mov ebp, esi
rol ebp, 0x15
xor ebx, ebp
mov ebp, esi
rol ebp, 7
xor ebx, ebp
add ecx, ebx
mov ebx, dword [esp + 0x34]
xor edi, ebx
and esi, edi
xor ebx, esi
add ecx, ebx
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x10]
mov edi, dword [edi + esi*4]
add ecx, edi
mov esi, dword [esp + esi*4 + 0x40]
add ecx, esi
mov dword [esp + 0x144], ecx
mov ecx, dword [0x4a3c7c]
or ecx, 0xf789a29e
cmp eax, ecx
jg 0x40d739
mov ax, word [0x49b472]
mov cx, ax
inc ecx
mov dx, cx
mov word [0x49b472], dx
movsx ecx, ax
mov esi, dword [0x4a94c8]
xor esi, ecx
mov dword [0x4a94c8], esi
mov eax, 0x67b6313c
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
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 + 0x24]
or ecx, edx
and ebx, ecx
or edi, ebx
add esi, edi
mov dword [esp + 0x140], esi
mov bp, word [0x494fd6]
mov cx, bp
inc ecx
mov si, cx
mov word [0x494fd6], si
movsx ecx, bp
mov edx, dword [0x4a3400]
lea ecx, [ecx + edx - 0x34b192c9]
mov dword [0x4a3400], ecx
mov ecx, dword [esp + 0x144]
mov edx, dword [esp + 0x28]
add edx, ecx
mov dword [esp + 0x28], edx
mov si, word [0x495968]
movsx ecx, si
add ecx, 0x29d771c4
mov edx, dword [0x4acc80]
imul edx, ecx
mov dword [0x4acc80], edx
mov ecx, dword [esp + 0x144]
mov edx, dword [esp + 0x140]
add ecx, edx
mov dword [esp + 0x38], ecx
mov ecx, dword [0x49d620]
xor ecx, 0xb79b
mov si, word [0x49205a]
mov dx, si
and edx, ecx
mov si, dx
mov word [0x49205a], si
mov si, word [0x498a48]
movsx ecx, si
cmp eax, ecx
jl 0x40d82f
mov eax, dword [0x4a343c]
sar eax, 5
imul eax, eax, 0xaa7811be
mov ecx, dword [0x49ffc4]
add ecx, eax
mov dword [0x49ffc4], ecx
mov ax, word [0x497ad0]
mov cx, ax
dec ecx
mov dx, cx
mov word [0x497ad0], dx
movsx ecx, ax
add ecx, 0x816fcefd
or ecx, 0x6199c86b
mov esi, dword [0x4ab690]
imul esi, ecx
mov dword [0x4ab690], esi
mov dword [esp + 0x14], 8
cmp dword [esp + 0x14], 0
je 0x40d8f3
mov eax, dword [0x49bd2c]
mov ecx, 0x4b2a3545
sub ecx, eax
xor ecx, 0x6eed092
mov eax, dword [0x4ab8a8]
mov edx, eax
dec edx
mov dword [0x4ab8a8], edx
add eax, 0x240c4652
cmp ecx, eax
jg 0x40d8c7
mov eax, dword [0x4ac920]
mov ecx, eax
dec ecx
mov dword [0x4ac920], ecx
imul eax, eax, 0x135c4d5d
mov ecx, dword [0x4ae068]
lea eax, [eax + ecx + 0x167d1af7]
mov dword [0x4ae068], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + eax*4 + 0x18]
mov dword [esp + eax*4 + 0x1c], ecx
mov eax, dword [0x4ae584]
imul eax, eax, 0x12008b8
mov dword [0x4ae584], eax
mov eax, dword [esp + 0x14]
add eax, 0xffffffff
mov dword [esp + 0x14], eax
jmp 0x40d869
mov eax, 0x2b351158
mov ecx, dword [0x4a171c]
mov edx, ecx
inc edx
mov dword [0x4a171c], edx
mov edx, dword [0x49d484]
mov esi, edx
inc esi
mov dword [0x49d484], esi
and edx, 0xe99c91bc
xor ecx, edx
cmp eax, ecx
jg 0x40d946
mov eax, dword [0x49f624]
add eax, 0x6593cfb1
mov cx, word [0x4972ea]
mov dx, cx
and edx, eax
mov cx, dx
mov word [0x4972ea], cx
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x1c], eax
mov eax, dword [0x4af998]
mov ecx, eax
dec ecx
mov dword [0x4af998], ecx
mov ecx, dword [0x49d894]
add eax, ecx
mov ecx, dword [0x4ac3f4]
and eax, ecx
mov dword [0x4aea4c], eax
mov eax, dword [esp + 0x18]
add eax, 1
mov dword [esp + 0x18], eax
jmp 0x40d4f1
mov eax, dword [0x4aaa8c]
and eax, 0xe0064204
mov dword [0x4aaa8c], eax
mov eax, dword [esp + 0x10]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0x100
call fcn.0044f050
mov eax, dword [0x4adb54]
or eax, 0x8835f054
mov ecx, dword [0x4a8244]
add ecx, eax
mov dword [0x4a8244], ecx
mov dword [esp + 0x18], 0
cmp dword [esp + 0x18], 8
je 0x40da86
mov eax, 0x429920a2
mov ecx, dword [0x4a6198]
imul ecx, ecx, 0x4bfe5f4
cmp eax, ecx
jge 0x40da40
mov ax, word [0x497280]
mov cx, ax
inc ecx
mov dx, cx
mov word [0x497280], dx
movsx ecx, ax
imul ecx, ecx, 0xfc46447
xor ecx, 0xcf512f97
cmp ecx, 0x54f8429c
jne 0x40da3b
mov eax, dword [0x4a802c]
and eax, 0x733b7346
cmp eax, 0x200624
jl 0x40da31
jmp 0x40da36
jmp 0x40da36
jmp 0x40da3b
jmp 0x40da40
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 [0x4aa6f8]
mov ecx, eax
inc ecx
mov dword [0x4aa6f8], ecx
add eax, 0x787b1c7
or eax, 0xf4b17647
mov dword [0x4a7cdc], eax
mov eax, dword [esp + 0x18]
add eax, 1
mov dword [esp + 0x18], eax
jmp 0x40d9c4
mov eax, 0x1b0d53bd
mov cx, word [0x49aaa4]
movsx edx, cx
cmp eax, edx
jne 0x40dad7
mov eax, dword [0x4a6d80]
mov ecx, eax
dec ecx
mov dword [0x4a6d80], ecx
mov ecx, dword [0x4af32c]
or eax, ecx
mov ecx, dword [0x4aaa2c]
dec ecx
mov dword [0x4aaa2c], ecx
cmp eax, ecx
jne 0x40dad2
mov dword [0x4a245c], 0x8bc6f94c
jmp 0x40dad7
add esp, 0x150
pop esi
pop edi
pop ebx
pop ebp
ret