Function at 0x4154a0
Capabilities:
Encrypt data using chaskey
Hash data using murmur3

Disassembly:
push ebp
mov ebp, esp
movsx eax, word [0x44433c]
sub esp, 0x134
add eax, 0x1d68daee
cmp eax, 0xad9d0ca
jne 0x4154dc
movsx ecx, word [0x448708]
movzx eax, word [0x4435c4]
not ecx
or ecx, 0x6786776c
xor eax, ecx
mov word [0x4435c4], ax
jmp 0x4154ef
movzx eax, word [0x447e10]
imul eax, eax, 0xc2b2dbb0
mov word [0x447e10], ax
mov eax, dword [0x4359a8]
xor eax, 0xf4fac3f9
or eax, 0x708a8359
cmp eax, 0x38f00d8b
jg 0x415536
movsx ecx, word [0x449b46]
mov eax, dword [0x43f7b4]
shl ecx, 4
xor ecx, 0x8252ed47
lea eax, [eax*8 - 0x7079a34f]
cmp ecx, eax
jne 0x415531
mov eax, dword [0x43b630]
mov eax, dword [0x443480]
jmp 0x415536
mov eax, dword [0x441a6c]
mov eax, dword [0x440a44]
imul eax, dword [0x43961c]
mov dword [0x43961c], eax
dec dword [0x441ca8]
mov eax, dword [0x441ca8]
add eax, 0x87dc7f35
cmp eax, 0x1d9ded05
jle 0x415578
movsx eax, word [0x44a4da]
dec word [0x44a4da]
cmp eax, 0x6331a5a6
je 0x415578
mov eax, dword [0x441ba8]
mov edx, dword [ebp + 0xc]
push ebx
push esi
xor esi, esi
add edx, 2
jmp 0x415590
mov eax, dword [0x4351e0]
mov dword [0x43d898], eax
dec dword [0x4351e0]
mov eax, dword [0x43ea34]
mov ecx, dword [0x4404d0]
add eax, 0x41bdbf90
or ecx, eax
and dword [0x438f74], ecx
inc dword [0x43ea34]
movzx ecx, byte [edx - 2]
movzx eax, byte [edx - 1]
shl ecx, 8
or ecx, eax
movzx eax, byte [edx]
shl ecx, 8
or ecx, eax
movzx eax, byte [edx + 1]
shl ecx, 8
or ecx, eax
mov dword [ebp + esi*4 - 0x134], ecx
and dword [0x43dd04], 0x5f70c113
dec dword [0x43ffc4]
mov eax, dword [0x43ffc4]
and dword [0x43b92c], eax
movsx eax, word [0x4477b0]
shl eax, 5
xor eax, 0x71f9e793
cmp eax, 0xc6b88c8b
jl 0x41561e
xor dword [0x43acb4], 0xc08201e0
inc esi
add edx, 4
cmp esi, 0x10
jne 0x415590
mov eax, dword [0x43b9c0]
mov ecx, 0xa06e399e
mov ebx, dword [ebp + 8]
sub ecx, eax
and dword [0x442a0c], ecx
lea eax, [ebp - 0x34]
inc dword [0x43b9c0]
add ebx, 8
push 0x24
push ebx
push eax
mov dword [ebp - 0x10], ebx
call fcn.0040dea0
movsx ecx, word [0x44365c]
add esp, 0xc
mov eax, dword [0x43640c]
and ecx, 0x71b1ec
dec word [0x44365c]
shl eax, 2
cmp eax, ecx
jge 0x415687
or dword [0x442e1c], 0xe5bfbbff
jmp 0x415699
movzx eax, word [0x446e38]
add eax, 0x184da053
mov word [0x446e38], ax
push 0x100
push 0x23e5
call fcn.00419fd0
movsx edx, word [0x44572c]
add esp, 8
mov ecx, dword [0x441c9c]
add edx, 0x261b6f83
inc dword [0x441c9c]
or ecx, 0xaa222f3c
mov dword [ebp - 8], eax
cmp edx, ecx
jle 0x415720
movsx ecx, word [0x443f4a]
movsx edx, word [0x4478ac]
add ecx, 0xbdd6da8d
xor edx, ecx
movsx ecx, word [0x448e40]
mov eax, dword [0x4424c8]
xor ecx, 0x10bc523c
or eax, ecx
cmp eax, edx
jg 0x415720
movsx ecx, word [0x444720]
mov eax, dword [0x441634]
sar ecx, 8
and ecx, 0x559098e0
xor eax, ecx
xor eax, 0xaf84f47c
mov dword [0x441634], eax
xor esi, esi
lea eax, [ebp - 0x34]
push edi
sub eax, 4
mov dword [ebp + 8], esi
lea edi, [ebp - 0x134]
mov ebx, eax
sub edi, 8
lea edx, [esi - 0xd]
mov dword [ebp - 4], edi
lea ecx, [ecx]
mov eax, dword [0x435a08]
add eax, 0x2bc04b36
or dword [0x436e64], eax
dec dword [0x435a08]
cmp esi, 0xf
jle 0x415809
dec dword [0x43cf6c]
mov ecx, dword [0x43cf6c]
movsx eax, word [0x445010]
add ecx, 0xb3820095
or ecx, eax
cmp ecx, 0xef53273f
jne 0x415795
mov eax, dword [0x43616c]
and eax, 0x1f8ed7f
shl eax, 4
mov word [0x444d52], ax
mov esi, dword [edi]
or dword [0x4411e4], 0xdf12c6d2
mov eax, dword [0x4429a0]
or eax, dword [0x43a118]
mov ecx, dword [edi - 0x34]
mov edx, ecx
mov dword [0x43a118], eax
movzx eax, word [0x4438ba]
and eax, 0x85158e02
rol edx, 0xe
mov word [0x4438ba], ax
mov eax, ecx
ror eax, 7
xor edx, eax
shr ecx, 3
xor edx, ecx
mov eax, esi
mov ecx, esi
rol eax, 0xd
rol ecx, 0xf
xor ecx, eax
shr esi, 0xa
movzx eax, word [0x446202]
xor ecx, esi
mov esi, dword [ebp + 8]
add edx, ecx
add edx, dword [edi - 0x38]
add edx, dword [edi - 0x14]
mov dword [edi + 8], edx
mov edx, 0xfffffff3
cwde
xor dword [0x441708], eax
dec dword [0x43d490]
mov ecx, dword [0x43d490]
movsx eax, word [0x4492a8]
add ecx, 0x4235a8d8
or ecx, eax
cmp ecx, 0x5b3937be
jl 0x415833
mov word [0x44a342], dx
and dword [0x441e20], 0x319f12f0
mov edx, dword [ebp - 0x24]
mov edi, edx
mov ecx, dword [ebp - 0x20]
mov eax, edx
xor ecx, dword [ebp - 0x1c]
rol eax, 7
and ecx, edx
xor ecx, dword [ebp - 0x1c]
ror edi, 0xb
xor edi, eax
mov eax, edx
ror eax, 6
xor edi, eax
mov eax, dword [ebp - 8]
add edi, ecx
add edi, dword [eax + esi*4]
mov eax, dword [ebp - 4]
add edi, dword [eax + 8]
mov eax, dword [0x43bc14]
add edi, dword [ebp - 0x18]
sar eax, 4
cmp eax, 0xe209fe86
je 0x41589d
mov eax, dword [0x435b94]
mov ecx, dword [0x43c6c0]
sar eax, 1
imul ecx, eax
movzx eax, word [0x4445a4]
or eax, ecx
mov word [0x4445a4], ax
imul eax, dword [0x441494], 0x74f69454
mov ecx, 0x1d664be5
sub ecx, eax
xor dword [0x442800], ecx
imul eax, dword [0x437ad0], 0x743ac95f
mov edx, dword [ebp - 0x34]
mov esi, edx
add dword [ebp - 0x28], edi
ror esi, 0xd
mov dword [0x437ad0], eax
mov eax, edx
rol eax, 0xa
xor esi, eax
mov eax, edx
ror eax, 2
xor esi, eax
mov eax, dword [ebp - 0x30]
mov ecx, eax
add esi, edi
or ecx, edx
and eax, edx
and ecx, dword [ebp - 0x2c]
or ecx, eax
add ecx, esi
cmp dword [0x43a9ac], 0xe075f505
mov dword [ebp - 0x18], ecx
jg 0x415907
mov dword [0x4374d4], 0x2ffffefd
mov ax, word [0x4471e2]
movsx ecx, ax
mov eax, dword [0x440520]
sub ecx, eax
mov word [0x4471e2], cx
dec dword [0x4394a0]
mov eax, dword [0x4394a0]
movsx ecx, word [0x4463c2]
and ecx, 0x259f8762
or ecx, eax
cmp ecx, 0x72af2f37
jge 0x415961
mov eax, dword [0x43ec48]
mov ecx, dword [0x442234]
shl eax, 7
not ecx
and ecx, eax
movzx eax, word [0x448f04]
or eax, ecx
mov word [0x448f04], ax
mov edx, 8
jmp 0x415970
mov eax, dword [0x441588]
movzx ecx, word [0x4442e6]
not eax
imul eax, eax, 0x10b9088f
and ecx, eax
mov eax, dword [ebx + edx*4]
mov dword [ebp + edx*4 - 0x34], eax
mov word [0x4442e6], cx
movsx eax, word [0x444594]
sar eax, 7
cmp eax, 0x9c87409a
jg 0x4159b8
mov eax, dword [0x435a18]
sar eax, 5
or eax, 0xe7ffd67e
and dword [0x4409f0], eax
dec edx
jne 0x415970
movsx ecx, word [0x4485c6]
mov eax, dword [0x43a6cc]
shl eax, 9
shl ecx, 0xa
imul eax, ecx
add eax, 0x2cd8b7d4
cmp eax, 0x6e0320
jge 0x4159f5
mov ecx, dword [0x43da98]
mov eax, dword [0x43961c]
sar ecx, 6
imul eax, ecx
add dword [0x437b7c], eax
jmp 0x415a05
mov eax, dword [0x4415d0]
and eax, dword [0x4380b4]
mov dword [0x4415d0], eax
mov eax, dword [ebp - 0x14]
mov edx, 0xfffffff3
mov esi, dword [ebp + 8]
mov edi, dword [ebp - 4]
inc esi
mov dword [ebp - 0x34], eax
add edi, 4
movsx eax, word [0x449d6e]
add eax, 0x2b6c3f69
mov dword [ebp + 8], esi
mov dword [0x442a80], eax
mov dword [ebp - 4], edi
cmp esi, 0x40
jne 0x415740
mov eax, dword [0x437f90]
and eax, dword [0x43b988]
inc dword [0x437f90]
mov ebx, dword [ebp - 0x10]
pop edi
cmp eax, 0x549d4b53
jge 0x415a60
and dword [0x435810], 0xc29b0804
push dword [ebp - 8]
push 0x100
call fcn.00412120
mov eax, dword [0x43ed30]
add esp, 8
xor eax, 0xa6da7cc1
cmp eax, 0x1c01f44e
jl 0x415a93
movzx eax, word [0x444432]
sub eax, 0x440bf209
mov word [0x444432], ax
xor ecx, ecx
jmp 0x415aa0
mov eax, dword [0x440ea8]
lea ebx, [ebx + 4]
and eax, dword [0x43ac58]
mov dword [0x43ac58], eax
mov eax, dword [ebp + ecx*4 - 0x34]
inc ecx
add dword [ebx - 4], eax
and dword [0x43a8e0], 0x3cfe9fbd
cmp ecx, 8
jne 0x415aa0
inc dword [0x437c10]
mov eax, dword [0x437c10]
pop esi
pop ebx
cmp eax, 0xde93cd1b
jl 0x415ae8
xor dword [0x43b0c4], 0xfebeffdd
mov esp, ebp
pop ebp
ret