Function at 0x406340
Capabilities:
Hash data using murmur3

Disassembly:
push ebx
push edi
push esi
sub esp, 0x14c
mov eax, dword [esp + 0x160]
mov ecx, dword [esp + 0x15c]
mov edx, 0x9040284
mov dword [esp + 0x148], eax
mov dword [esp + 0x144], ecx
mov eax, dword [0x49631c]
add eax, 0x6de62503
cmp edx, eax
jl 0x4063b7
mov eax, dword [0x4943ac]
mov ecx, eax
inc ecx
mov dword [0x4943ac], ecx
or eax, 0x5dae0be2
cmp eax, 0x7dfeb77f
je 0x4063b2
mov ax, word [0x4995da]
mov cx, ax
and ecx, 0x7f83
mov ax, cx
mov word [0x4995da], ax
jmp 0x4063b7
mov eax, dword [0x496a44]
mov ecx, eax
inc ecx
mov dword [0x496a44], ecx
add eax, 0x42243114
xor eax, 0x6936d5e5
mov ecx, dword [0x496910]
add ecx, 0xa814cf98
cmp eax, ecx
jg 0x4063f3
mov eax, dword [0x491204]
imul eax, eax, 0xbcc2a5d4
mov dword [0x491204], eax
mov eax, dword [0x490c10]
mov ecx, eax
dec ecx
mov dword [0x490c10], ecx
mov ecx, dword [0x492ec8]
lea eax, [eax + ecx + 0x44ddb8f8]
mov dword [0x492ec8], eax
mov dx, word [0x49ca12]
mov ax, dx
dec eax
mov si, ax
mov word [0x49ca12], si
movsx eax, dx
or eax, 0x27e59a67
mov ecx, dword [0x494228]
sub ecx, eax
mov dword [0x494228], ecx
mov dword [esp + 0x14], 0
cmp dword [esp + 0x14], 0x10
je 0x4065d8
mov eax, dword [0x490884]
dec eax
mov dword [0x490884], eax
mov ecx, dword [0x494238]
imul ecx, ecx, 0xedf79d86
sub eax, ecx
cmp eax, 0x4fff6ffd
jl 0x406484
mov eax, dword [0x48acb8]
add eax, 0x3fb076a9
mov dword [0x48acb8], eax
mov eax, 0x2bd350fa
mov ecx, dword [0x48e3b4]
mov edx, ecx
dec edx
mov dword [0x48e3b4], edx
mov edx, dword [0x49299c]
xor edx, 0xffffffff
imul edx, edx, 0x107ee70c
and ecx, edx
cmp eax, ecx
jge 0x4064de
mov eax, dword [0x490824]
cmp eax, 0x94db70e1
jg 0x4064d9
mov ax, word [0x49aef2]
mov cx, ax
add ecx, 0xe3b76d1a
mov ax, cx
mov word [0x49aef2], ax
jmp 0x4064de
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x148]
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 + 0x3c], edx
mov eax, dword [0x4960fc]
inc eax
mov dword [0x4960fc], eax
or eax, 0xbd79bedc
mov ecx, dword [0x491cb8]
add ecx, eax
mov dword [0x491cb8], ecx
mov eax, dword [0x492644]
xor eax, 0x25d3127
mov dword [0x492644], eax
mov eax, dword [0x48cc30]
mov ecx, dword [0x490e60]
mov edx, ecx
dec edx
mov dword [0x490e60], edx
imul ecx, ecx, 0x31e4ea88
xor ecx, 0xc10c3d9d
cmp eax, ecx
jle 0x4065ab
mov eax, 0x90c494e8
mov cx, word [0x49aa38]
movsx edx, cx
sar edx, 4
mov esi, dword [0x48eb44]
inc esi
mov dword [0x48eb44], esi
xor edx, esi
cmp eax, edx
jne 0x4065a6
mov eax, dword [0x4931fc]
and eax, 0x28017ec9
mov ecx, dword [0x49053c]
imul ecx, eax
mov dword [0x49053c], ecx
jmp 0x4065c3
mov ax, word [0x49aa4e]
mov cx, ax
add ecx, 0xa0dc9211
mov ax, cx
mov word [0x49aa4e], ax
jmp 0x4065c8
mov eax, dword [esp + 0x14]
add eax, 1
mov dword [esp + 0x14], eax
jmp 0x406446
mov ax, word [0x49ac5e]
mov cx, ax
inc ecx
mov ax, cx
mov word [0x49ac5e], ax
xor ecx, 0x18cb
mov ax, cx
mov word [0x499eba], ax
mov ecx, dword [esp + 0x144]
add ecx, 8
mov edx, 9
lea edi, [esp + 0x18]
mov dword [esp + 8], ecx
mov ecx, edx
mov esi, dword [esp + 8]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x496b48]
or ecx, 0x7ce46b6e
mov dword [0x496b48], ecx
mov ecx, esp
mov dword [ecx + 4], 0x100
mov dword [ecx], 0x3503
call fcn.00440380
mov dword [esp + 0xc], eax
mov eax, dword [0x495a50]
shl eax, 6
mov ecx, 0x7b4b4e8e
sub ecx, eax
or ecx, 0xf05d
mov bx, word [0x499a0a]
mov ax, bx
add eax, ecx
mov bx, ax
mov word [0x499a0a], bx
mov dword [esp + 0x14], 0
cmp dword [esp + 0x14], 0x40
je 0x406bd3
mov eax, 0x6a8ec631
mov ecx, dword [0x490d6c]
and ecx, 0xf995cba6
and ecx, 0xd4da3cf1
cmp eax, ecx
jne 0x406734
mov eax, dword [0x48dee8]
add eax, eax
mov cx, word [0x49ce06]
mov dx, cx
inc edx
mov si, dx
mov word [0x49ce06], si
movsx edx, cx
imul edx, edx, 0x6a45f00a
or eax, edx
mov edx, dword [0x48b894]
mov edi, edx
inc edi
mov dword [0x48b894], edi
sub edx, 0xe379b9bb
add edx, 0x8036519b
cmp eax, edx
jne 0x40672f
mov eax, 0x27f1d456
mov cx, word [0x49a074]
mov dx, cx
inc edx
mov cx, dx
mov word [0x49a074], cx
movsx edx, cx
mov esi, dword [0x49550c]
shl esi, 7
add edx, esi
mov esi, dword [0x48ff60]
xor esi, 0xffffffff
or edx, esi
cmp eax, edx
jne 0x40672a
jmp 0x40672a
jmp 0x40672f
jmp 0x406734
cmp dword [esp + 0x14], 0xf
jle 0x406859
mov eax, 0x53ee3003
mov word [0x4974ac], 0x9fa8
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + ecx*4 + 0x34]
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 + 0x3c], esi
mov ecx, dword [0x490b9c]
mov edx, dword [0x48f41c]
imul ecx, edx
imul ecx, ecx, 0xb1921480
mov dword [0x48f41c], ecx
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + ecx*4 + 0x20]
mov esi, dword [esp + ecx*4 + 0x3c]
add esi, edx
mov dword [esp + ecx*4 + 0x3c], esi
mov ecx, dword [0x48f664]
shl ecx, 8
mov edx, dword [0x48dacc]
sub edx, ecx
mov dword [0x48dacc], edx
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + ecx*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 + 0x3c]
add edx, esi
mov dword [esp + ecx*4 + 0x3c], edx
mov ecx, dword [0x4966e8]
sub ecx, 0xd852952b
cmp eax, ecx
jge 0x4067fc
mov ax, word [0x49a6d4]
mov cx, ax
or ecx, 0x2dd
mov ax, cx
mov word [0x49a6d4], ax
mov eax, 0x5d68384d
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + ecx*4 - 4]
mov esi, dword [esp + ecx*4 + 0x3c]
add esi, edx
mov dword [esp + ecx*4 + 0x3c], esi
mov di, word [0x49c9b4]
movsx ecx, di
imul ecx, ecx, 0x70478192
cmp eax, ecx
jg 0x406854
mov eax, dword [0x490420]
mov ecx, eax
inc ecx
mov dword [0x490420], ecx
add eax, 0xdb98b8b
mov dx, word [0x4996ce]
mov cx, dx
or ecx, eax
mov dx, cx
mov word [0x4996ce], dx
jmp 0x406859
mov eax, 0x53603599
mov ecx, dword [0x493664]
mov edx, ecx
dec edx
mov dword [0x493664], edx
add ecx, 0xa83bb5ad
cmp eax, ecx
je 0x4068c0
mov eax, dword [0x4959e0]
mov ecx, dword [0x48ba04]
add ecx, 0xa862d2db
or ecx, 0x5f3e3fa0
cmp eax, ecx
jge 0x4068bb
mov eax, dword [0x490cf8]
mov ecx, eax
inc ecx
mov dword [0x490cf8], ecx
mov ecx, 0xd9872256
sub ecx, eax
mov eax, dword [0x494a64]
sub eax, ecx
mov dword [0x494a64], eax
jmp 0x4068c0
mov eax, dword [0x48dcec]
add eax, 0xd64d5f83
mov ecx, dword [0x48fd34]
mov edx, ecx
dec edx
mov dword [0x48fd34], edx
xor eax, ecx
mov si, word [0x4980c4]
mov cx, si
sub ecx, eax
mov si, cx
mov word [0x4980c4], si
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
mov edi, ecx
rol edi, 0x1a
mov ebx, ecx
rol ebx, 0x15
xor edi, ebx
mov ebx, ecx
rol ebx, 7
xor edi, ebx
add eax, edi
mov edi, dword [esp + 0x30]
xor edx, edi
and ecx, edx
xor edi, ecx
add eax, edi
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0xc]
mov edx, dword [edx + ecx*4]
add eax, edx
mov ecx, dword [esp + ecx*4 + 0x3c]
add eax, ecx
mov dword [esp + 0x140], eax
mov eax, dword [0x491874]
shl eax, 2
mov si, word [0x4980b2]
mov cx, si
and ecx, eax
mov si, cx
mov word [0x4980b2], si
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, eax
rol edx, 0x1e
mov edi, eax
rol edi, 0x13
xor edx, edi
mov edi, eax
rol edi, 0xa
xor edx, edi
mov edi, eax
and edi, ecx
mov ebx, dword [esp + 0x20]
or eax, ecx
and ebx, eax
or edi, ebx
add edx, edi
mov dword [esp + 0x13c], edx
mov eax, dword [0x495644]
add eax, 0x71c7f7d6
mov dword [0x495644], eax
mov eax, dword [esp + 0x140]
mov ecx, dword [esp + 0x24]
add ecx, eax
mov dword [esp + 0x24], ecx
mov eax, dword [0x492378]
inc eax
mov dword [0x492378], eax
xor eax, 0x480010
mov ecx, dword [0x48be88]
or ecx, eax
mov dword [0x48be88], ecx
mov eax, dword [esp + 0x140]
mov ecx, dword [esp + 0x13c]
add eax, ecx
mov dword [esp + 0x34], eax
mov eax, dword [0x49388c]
sar eax, 0xa
mov ecx, dword [0x4948d8]
mov edx, ecx
dec edx
mov dword [0x4948d8], edx
imul eax, ecx
xor eax, 0x6872a251
mov ecx, dword [0x48ba5c]
or ecx, eax
mov dword [0x48ba5c], ecx
mov eax, dword [0x49118c]
inc eax
mov dword [0x49118c], eax
or eax, 0x4bb9c39f
cmp eax, 0x9eba1400
jge 0x406a59
mov eax, 0xc420980
mov ecx, dword [0x48d408]
dec ecx
mov dword [0x48d408], ecx
cmp eax, ecx
jl 0x406a54
mov ax, word [0x49cc9e]
mov cx, ax
add ecx, 0x5abcba6f
mov ax, cx
mov word [0x49cc9e], ax
jmp 0x406a59
mov eax, dword [0x491400]
mov ecx, eax
inc ecx
mov dword [0x491400], ecx
add eax, 0xbae29a12
mov dx, ax
mov word [0x49789e], dx
mov dword [esp + 0x10], 8
cmp dword [esp + 0x10], 0
je 0x406b75
mov ax, word [0x49968e]
movsx ecx, ax
mov edx, dword [0x490718]
xor edx, ecx
mov dword [0x490718], edx
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + ecx*4 + 0x14]
mov dword [esp + ecx*4 + 0x18], edx
mov ax, word [0x49d224]
mov cx, ax
inc ecx
mov si, cx
mov word [0x49d224], si
movsx ecx, ax
or ecx, 0xca112a53
mov edx, dword [0x4941f0]
dec edx
mov dword [0x4941f0], edx
cmp ecx, edx
je 0x406b60
mov ax, word [0x49b3ba]
movsx ecx, ax
xor ecx, 0xb39b6afa
mov ax, word [0x49ac02]
mov dx, ax
dec edx
mov si, dx
mov word [0x49ac02], si
movsx edx, ax
xor edx, 0xa9a0ced6
cmp ecx, edx
jne 0x406b5b
mov eax, 0x6c432e45
mov cx, word [0x497d16]
mov dx, cx
inc edx
mov cx, dx
mov word [0x497d16], cx
movsx edx, cx
mov esi, dword [0x48ff2c]
mov edi, dword [0x495e84]
mov ebx, edi
dec ebx
mov dword [0x495e84], ebx
imul esi, edi
sub eax, esi
cmp edx, eax
je 0x406b56
jmp 0x406b56
jmp 0x406b5b
jmp 0x406b60
jmp 0x406b65
mov eax, dword [esp + 0x10]
add eax, 0xffffffff
mov dword [esp + 0x10], eax
jmp 0x406a7e
mov eax, dword [0x496834]
inc eax
mov dword [0x496834], eax
cmp eax, 0xb6fd1ce1
jle 0x406bab
mov eax, dword [0x490354]
xor eax, 0x548
mov cx, word [0x49a8b2]
mov dx, cx
add edx, eax
mov cx, dx
mov word [0x49a8b2], cx
mov eax, dword [esp + 0x38]
mov dword [esp + 0x18], eax
mov eax, dword [0x490b24]
imul eax, eax, 0x786c5c1b
mov dword [0x490b24], eax
mov eax, dword [esp + 0x14]
add eax, 1
mov dword [esp + 0x14], eax
jmp 0x406676
mov eax, dword [0x48b82c]
and eax, 0x53b57728
mov dword [0x48b82c], eax
mov eax, dword [esp + 0xc]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0x100
call fcn.00436780
mov dx, word [0x4976e6]
mov ax, dx
mov ecx, 0xffe13d93
sub ecx, eax
mov dx, word [0x49b8ae]
mov ax, dx
add eax, ecx
mov dx, ax
mov word [0x49b8ae], dx
mov dword [esp + 0x14], 0
cmp dword [esp + 0x14], 8
je 0x406c98
mov ax, word [0x49c122]
mov cx, ax
and ecx, 0x1235
mov ax, cx
mov word [0x49c122], ax
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + ecx*4 + 0x18]
mov esi, dword [esp + 0x144]
mov edi, dword [esi + ecx*4 + 8]
add edi, edx
mov dword [esi + ecx*4 + 8], edi
mov ecx, dword [0x48e04c]
mov ax, word [0x49c766]
mov dx, ax
not edx
and ecx, edx
mov ax, word [0x499578]
mov dx, ax
sub edx, ecx
mov ax, dx
mov word [0x499578], ax
mov eax, dword [esp + 0x14]
add eax, 1
mov dword [esp + 0x14], eax
jmp 0x406c25
mov eax, dword [0x48bc38]
and eax, 0x1639c1db
mov dword [0x48bc38], eax
add esp, 0x14c
pop esi
pop edi
pop ebx
ret