Function at 0x449190
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, 0x23fabcc
mov dword [esp + 0x144], eax
mov dword [esp + 0x140], ecx
mov eax, dword [0x4994f0]
mov ecx, dword [0x4977a4]
mov esi, ecx
dec esi
mov dword [0x4977a4], esi
and eax, ecx
cmp edx, eax
jne 0x449208
mov eax, 0x617b2463
mov ecx, dword [0x490794]
xor ecx, 0xffffffff
xor ecx, 0x230032ed
cmp eax, ecx
jle 0x449203
mov eax, dword [0x4909a4]
or eax, 0xaef4cae6
mov dword [0x4909a4], eax
jmp 0x449239
mov ax, word [0x48370e]
mov cx, ax
inc ecx
mov dx, cx
mov word [0x48370e], dx
movsx ecx, ax
add ecx, 0x67e4930d
and ecx, 0x5bd005fb
mov esi, dword [0x49875c]
xor esi, ecx
mov dword [0x49875c], esi
mov eax, 0xdd7df77e
mov ecx, dword [0x4938c4]
mov edx, ecx
inc edx
mov dword [0x4938c4], edx
mov edx, dword [0x4898d8]
add ecx, edx
or ecx, 0x4bfa6728
cmp eax, ecx
jge 0x44927a
mov eax, dword [0x48cfb4]
mov ecx, dword [0x48ec18]
and eax, ecx
and eax, 0xba96f705
mov dword [0x48ec18], eax
mov eax, 0x5834392f
mov cx, word [0x4815f0]
movsx edx, cx
or edx, 0x66b6456e
cmp eax, edx
je 0x4492ab
mov eax, dword [0x493040]
and eax, 0x9bd7deff
mov dword [0x493040], eax
jmp 0x4492da
mov eax, 0x98200200
mov ecx, dword [0x48cfb0]
dec ecx
mov dword [0x48cfb0], ecx
cmp eax, ecx
jl 0x4492d5
mov eax, dword [0x497dac]
imul eax, eax, 0xb4110922
mov dword [0x497dac], eax
jmp 0x4492da
mov eax, dword [0x495e00]
dec eax
mov dword [0x495e00], eax
or eax, 0xa2318217
mov ecx, dword [0x4993c8]
sub ecx, eax
mov dword [0x4993c8], ecx
mov dword [esp + 0x10], 0
cmp dword [esp + 0x10], 0x10
je 0x449406
mov eax, 0x2cccc991
mov ecx, dword [0x48ee2c]
or ecx, 0xcf864f01
mov dword [0x48ee2c], ecx
mov ecx, dword [0x49007c]
sar ecx, 5
mov edx, dword [0x497250]
shl edx, 1
or ecx, edx
cmp eax, ecx
jle 0x44934d
mov eax, dword [0x492ea8]
and eax, 0x88cb2084
mov dword [0x492ea8], eax
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x144]
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 + 0x38], edx
mov di, word [0x48309a]
mov ax, di
mov ecx, eax
inc ecx
mov di, cx
mov word [0x48309a], di
add eax, 0xe47186c8
or eax, 0x589f
mov di, word [0x483bae]
mov cx, di
imul ecx, eax
mov di, cx
mov word [0x483bae], di
mov eax, dword [0x48994c]
mov ecx, eax
inc ecx
mov dword [0x48994c], ecx
cmp eax, 0x90aad39e
jg 0x4493de
mov eax, dword [0x493864]
xor eax, 0x2ace87da
mov dword [0x493864], eax
mov ax, word [0x4846d2]
mov cx, ax
add ecx, 0x9a5d14dc
mov ax, cx
mov word [0x4846d2], ax
mov eax, dword [esp + 0x10]
add eax, 1
mov dword [esp + 0x10], eax
jmp 0x449300
mov ax, word [0x48468a]
mov cx, ax
inc ecx
mov dx, cx
mov word [0x48468a], dx
movsx ecx, ax
mov esi, 0xa16dc462
sub esi, ecx
and esi, 0x608b16fc
mov ax, word [0x481f40]
movsx ecx, ax
sar ecx, 0xa
cmp esi, ecx
jle 0x44946e
mov eax, 0xe01881a2
mov ecx, dword [0x496864]
mov edx, dword [0x48f3e8]
add ecx, edx
add ecx, 0x33fcce7e
cmp eax, ecx
jl 0x449469
mov dword [0x48c654], 0xa5df44b9
jmp 0x44946e
mov eax, dword [esp + 0x140]
add eax, 8
mov ecx, 9
lea edi, [esp + 0x14]
mov esi, eax
rep movsd dword es:[edi], dword [esi]
mov eax, dword [0x4947bc]
dec eax
mov dword [0x4947bc], eax
and eax, 0x6480
or eax, 0x137f
mov dx, word [0x484896]
mov cx, dx
xor ecx, eax
mov dx, cx
mov word [0x484896], dx
mov eax, esp
mov dword [eax + 4], 0x100
mov dword [eax], 0xd8
call fcn.0043cb40
mov dword [esp + 8], eax
mov dx, word [0x483d7e]
mov ax, dx
add eax, 0xf929ab57
mov dx, word [0x4818f6]
mov cx, dx
imul ecx, eax
mov dx, cx
mov word [0x4818f6], dx
mov dword [esp + 0x10], 0
cmp dword [esp + 0x10], 0x40
je 0x44988a
mov ax, word [0x483fb8]
mov cx, ax
add ecx, 0x3c08944d
mov ax, cx
mov word [0x483fb8], ax
cmp dword [esp + 0x10], 0xf
jle 0x449605
mov eax, dword [0x492310]
imul eax, eax, 0xb23b7685
mov ecx, dword [0x49123c]
or ecx, eax
mov dword [0x49123c], ecx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + eax*4 + 0x30]
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 + 0x38], edx
mov eax, dword [0x489440]
and eax, 0x7e5e3bc
mov dword [0x489440], eax
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + eax*4 + 0x1c]
mov edx, dword [esp + eax*4 + 0x38]
add edx, ecx
mov dword [esp + eax*4 + 0x38], edx
mov eax, dword [0x495e18]
mov ecx, eax
inc ecx
mov dword [0x495e18], ecx
and eax, 0x34d56c90
mov ecx, dword [0x48b864]
lea eax, [ecx + eax - 0x76d56cfa]
mov dword [0x48b864], eax
mov eax, dword [esp + 0x10]
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 + 0x38]
add ecx, edx
mov dword [esp + eax*4 + 0x38], ecx
mov eax, dword [0x49516c]
xor eax, 0x8f9a4a5d
mov ecx, dword [0x488c84]
or ecx, eax
mov dword [0x488c84], ecx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + eax*4 - 8]
mov edx, dword [esp + eax*4 + 0x38]
add edx, ecx
mov dword [esp + eax*4 + 0x38], edx
mov eax, dword [0x48caf4]
add eax, 0x153db452
mov ecx, dword [0x4931a8]
xor ecx, eax
mov dword [0x4931a8], ecx
mov eax, 0x644f1d03
mov ecx, dword [0x48b9c0]
or ecx, 0x227d5f39
mov dx, word [0x48422a]
mov si, dx
dec esi
mov dx, si
mov word [0x48422a], dx
movsx esi, dx
sub eax, esi
or eax, 0xc6582071
cmp ecx, eax
jne 0x44965e
mov ax, word [0x482fdc]
movsx ecx, ax
sar ecx, 2
mov edx, 0x1c141814
sub edx, ecx
mov ecx, dword [0x488d08]
and ecx, edx
mov dword [0x488d08], ecx
mov ax, word [0x481d10]
mov cx, ax
or ecx, 0x206
mov ax, cx
mov word [0x481d10], ax
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x24]
mov esi, dword [esp + 0x28]
mov edi, edx
rol edi, 0x1a
mov ebx, edx
rol ebx, 0x15
xor edi, ebx
mov ebx, edx
rol ebx, 7
xor edi, ebx
add ecx, edi
mov edi, dword [esp + 0x2c]
xor esi, edi
and edx, esi
xor edi, edx
add ecx, edi
mov edx, dword [esp + 0x10]
mov esi, dword [esp + 8]
mov esi, dword [esi + edx*4]
add ecx, esi
mov edx, dword [esp + edx*4 + 0x38]
add ecx, edx
mov dword [esp + 0x13c], ecx
mov ecx, dword [0x48dd94]
xor ecx, 0xb6e1d7f7
mov dword [0x48dd94], ecx
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
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 + 0x1c]
or ecx, edx
and ebx, ecx
or edi, ebx
add esi, edi
mov dword [esp + 0x138], esi
mov ecx, dword [0x48ece0]
and ecx, 0xb44a1f58
mov dword [0x48ece0], ecx
mov ecx, dword [esp + 0x13c]
mov edx, dword [esp + 0x20]
add edx, ecx
mov dword [esp + 0x20], edx
mov ecx, dword [0x48f3d8]
or ecx, 0x51092428
mov dword [0x48f3d8], ecx
mov ecx, dword [esp + 0x13c]
mov edx, dword [esp + 0x138]
add ecx, edx
mov dword [esp + 0x30], ecx
mov ecx, dword [0x49547c]
add ecx, 0xa319b3db
mov dword [0x49547c], ecx
mov ecx, dword [0x4991fc]
and ecx, 0xd114
mov ax, word [0x481be8]
mov dx, ax
xor ecx, edx
xor ecx, 0xe598
mov ax, cx
mov word [0x481be8], ax
mov ax, word [0x4832a6]
mov cx, ax
add ecx, 0x56123575
mov ax, cx
mov word [0x4832a6], ax
mov dword [esp + 0xc], 8
cmp dword [esp + 0xc], 0
je 0x44980e
mov word [0x47fc60], 0x4000
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + eax*4 + 0x10]
mov dword [esp + eax*4 + 0x14], ecx
mov eax, dword [0x498120]
not eax
mov ecx, dword [0x48acfc]
xor eax, ecx
or eax, 0xc4ce5f79
cmp eax, 0xad177c49
jle 0x4497f9
mov ax, word [0x485126]
mov cx, ax
xor ecx, 0x3609
mov ax, cx
mov word [0x485126], ax
jmp 0x4497fe
mov eax, dword [esp + 0xc]
add eax, 0xffffffff
mov dword [esp + 0xc], eax
jmp 0x4497a2
mov eax, 0xc96ff013
mov ecx, dword [0x491f28]
xor ecx, 0x104b5189
mov dword [0x491f28], ecx
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x14], ecx
mov ecx, dword [0x49036c]
mov edx, dword [0x48d9a4]
inc edx
mov dword [0x48d9a4], edx
imul ecx, edx
shl ecx, 2
mov edx, dword [0x48d5a4]
inc edx
mov dword [0x48d5a4], edx
add ecx, edx
cmp eax, ecx
jge 0x449875
mov ax, word [0x481590]
mov cx, ax
add ecx, 0x69006faa
mov ax, cx
mov word [0x481590], ax
jmp 0x44987a
mov eax, dword [esp + 0x10]
add eax, 1
mov dword [esp + 0x10], eax
jmp 0x4494f6
mov eax, 0x91315f0b
mov ecx, dword [0x48eb90]
imul ecx, ecx, 0xfc6e5c81
sub ecx, 0xff202bba
cmp eax, ecx
jne 0x4498b8
mov eax, dword [0x491fe8]
or eax, 0x78a80470
mov dword [0x491fe8], eax
mov eax, dword [esp + 8]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0x100
call fcn.00448880
mov eax, dword [0x492430]
or eax, 0xc5375334
mov ecx, dword [0x48cb68]
sub ecx, eax
mov dword [0x48cb68], ecx
mov dword [esp + 0x10], 0
cmp dword [esp + 0x10], 8
je 0x449962
mov eax, dword [0x4909fc]
mov ecx, dword [0x4977a8]
imul ecx, eax
mov dword [0x4977a8], ecx
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 eax, dword [0x494a38]
inc eax
mov dword [0x494a38], eax
mov ecx, dword [0x4914ec]
xor eax, ecx
or eax, 0x129d
mov di, word [0x47febc]
mov cx, di
add ecx, eax
mov di, cx
mov word [0x47febc], di
mov eax, dword [esp + 0x10]
add eax, 1
mov dword [esp + 0x10], eax
jmp 0x4498ec
mov ax, word [0x481ad8]
movsx ecx, ax
not ecx
mov edx, dword [0x48ae80]
imul edx, ecx
mov dword [0x48ae80], edx
add esp, 0x148
pop esi
pop edi
pop ebx
ret