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

Disassembly:
mov eax, dword [0x45f3b8]
sub esp, 0x134
inc dword [0x45f3b8]
or eax, 0xd08b2101
cmp eax, 0xa2a68cd9
jge 0x4063cb
mov ecx, dword [0x45bb60]
imul eax, dword [0x45c570], 0xf89c35ee
shl ecx, 9
sub ecx, 0x1a42ac69
xor ecx, 0x7eaecbf
cmp ecx, eax
jg 0x4063cb
dec dword [0x45eb9c]
mov eax, dword [0x45dee8]
mov ecx, dword [0x45b7bc]
mov eax, dword [0x45c6a8]
add ecx, 0xd52c6582
dec dword [0x45c6a8]
xor eax, 0x81112100
cmp ecx, eax
jle 0x406409
cmp dword [0x45ebfc], 0x56621e14
jg 0x406403
or dword [0x460370], 0xa3a242c4
jmp 0x406409
dec dword [0x45ce08]
mov eax, dword [0x45f558]
mov edx, dword [esp + 0x13c]
imul eax, eax, 0x1eb1ef99
push ebp
push esi
xor esi, esi
sub dword [0x45fa9c], eax
or dword [0x45daa0], 0x9b375d7a
add edx, 2
jmp 0x406440
imul eax, dword [0x45fbe8], 0xacaad7d3
or eax, 0x57a8ab75
cmp eax, 0xa5838aa7
je 0x4064ab
dec word [0x459a90]
mov ax, word [0x459a90]
movsx ecx, word [0x45a6f0]
cwde
add ecx, eax
mov eax, dword [0x45d320]
dec word [0x45a6f0]
add eax, 0x64ab063d
cmp ecx, eax
jge 0x4064ab
dec dword [0x45d5f8]
mov eax, dword [0x45d5f8]
mov ecx, dword [0x45df24]
and ecx, eax
movzx eax, word [0x45910c]
and ecx, 0xb119af60
imul eax, ecx
mov word [0x45910c], ax
mov eax, dword [0x45eb44]
or eax, 0x73cfdfd7
cmp eax, 0x7fd48889
je 0x4064c6
add dword [0x45ebdc], 0x6dcb887c
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 eax, dword [0x45d0d4]
shl eax, 0xa
mov dword [esp + esi*4 + 0x3c], ecx
cmp eax, 0xe715e636
jl 0x406519
cmp dword [0x4606a0], 0xb4dcb22
jle 0x40650f
xor dword [0x45d6d4], 0x2b0ea027
jmp 0x406519
xor dword [0x45b7b8], 0xd04255d
mov eax, dword [0x45c694]
sub eax, 0x3ca789ff
xor eax, 0xd53f0c46
cmp eax, 0xacd2096d
je 0x40655c
mov eax, dword [0x45c874]
dec dword [0x45c874]
sub eax, 0x5d833038
cmp eax, 0x84e14004
jg 0x406552
xor dword [0x45f398], 0x84fefc1c
jmp 0x40655c
or dword [0x45d88c], 0xece5098c
add dword [0x45e158], 0x85e4ce0
inc esi
add edx, 4
cmp esi, 0x10
jne 0x406440
movsx eax, word [0x458aaa]
shl eax, 8
cmp eax, 0x4215953
jle 0x4065a3
mov eax, dword [0x45db38]
lea ecx, [eax*4 - 0x11ecfdf5]
mov eax, dword [0x45bf3c]
xor ecx, 0xe60c13
imul eax, ecx
mov dword [0x45bf3c], eax
mov ebp, dword [esp + 0x140]
add ebp, 8
push 0x100
push 0x1737
mov dword [esp + 0x40], ebp
movdqu xmm0, xmmword [ebp]
mov eax, dword [ebp + 0x20]
mov dword [esp + 0x3c], eax
movdqu xmmword [esp + 0x1c], xmm0
movdqu xmm0, xmmword [ebp + 0x10]
movdqu xmmword [esp + 0x2c], xmm0
dec dword [0x45d1f0]
mov eax, dword [0x45d1f0]
add eax, 0x3831be91
xor eax, 0x6040a296
or eax, dword [0x45d8bc]
mov dword [0x45d8bc], eax
call fcn.00401b80
mov ecx, dword [0x45bc74]
add esp, 8
xor ecx, 0xfbefff9f
mov dword [esp + 0xc], eax
or ecx, 0xdaaa2f9e
cmp dword [0x45f618], ecx
je 0x406634
movzx ecx, word [0x459e9c]
or ecx, 0x26b58d40
mov word [0x459e9c], cx
jmp 0x40664e
movsx ecx, word [0x45b416]
mov eax, dword [0x45e750]
and ecx, 0xf4762bd1
imul eax, ecx
mov dword [0x45e750], eax
push ebx
lea eax, [esp + 0x18]
push edi
xor edi, edi
lea ebx, [esp + 0x44]
sub eax, 4
mov dword [esp + 0x10], edi
sub ebx, 8
mov ebp, eax
jmp 0x406670
mov ax, word [0x459d06]
mov ecx, dword [0x45db30]
cwde
xor ecx, eax
mov word [0x459d06], cx
cmp edi, 0xf
jle 0x40674b
inc dword [0x460b64]
mov eax, dword [0x460b64]
mov ecx, dword [0x45e6ac]
imul ecx, dword [0x45cf80]
imul ecx, eax
mov dword [0x45cf80], ecx
mov ecx, dword [ebx]
mov esi, ecx
mov eax, ecx
rol esi, 0xf
rol eax, 0xd
xor esi, eax
shr ecx, 0xa
mov eax, dword [0x45f830]
xor esi, ecx
mov ecx, dword [0x45d9b4]
shl eax, 0xa
xor ecx, eax
mov dword [ebx + 8], esi
movsx eax, word [0x458b2c]
xor ecx, 0x32d82f7f
and eax, 0x579c2c9b
cmp ecx, eax
jg 0x4066f8
mov ax, word [0x45b0b0]
mov word [0x45a95c], ax
movsx ecx, word [0x45a726]
movzx eax, word [0x45a872]
shl ecx, 0xa
xor ecx, 0x84041412
imul eax, ecx
mov ecx, dword [ebx - 0x34]
mov edx, ecx
rol edx, 0xe
mov word [0x45a872], ax
mov eax, ecx
add dword [0x45c080], 0x713c347a
ror eax, 7
xor edx, eax
shr ecx, 3
xor edx, ecx
add edx, dword [ebx - 0x38]
add edx, dword [ebx - 0x14]
add edx, esi
mov dword [ebx + 8], edx
or dword [0x45fe68], 0x536e7e83
movsx eax, word [0x45a710]
sar eax, 6
xor eax, 0x89663de9
cmp eax, 0xf8bffc53
je 0x406795
mov eax, dword [0x45ec58]
shl eax, 5
cmp eax, 0x89a9e966
jge 0x4067e6
mov ecx, dword [0x45f3c0]
movzx eax, word [0x458cf6]
not ecx
sub ecx, 0x51c8bcd
or ecx, 0xefe6526a
xor eax, ecx
mov word [0x458cf6], ax
jmp 0x4067e6
mov eax, dword [0x45e214]
sar eax, 3
or eax, 0x69c0c997
cmp eax, 0x91de5542
jg 0x4067dc
inc dword [0x45dd20]
mov edx, 0x37eba285
mov eax, dword [0x45dd20]
inc dword [0x45f4e0]
mov ecx, dword [0x45f4e0]
imul ecx, eax
movzx eax, word [0x45968a]
sub edx, ecx
xor edx, eax
mov word [0x45968a], dx
jmp 0x4067e6
mov eax, dword [0x45c000]
mov eax, dword [0x45f560]
imul eax, dword [0x45d090], 0x6a21a582
mov edx, dword [esp + 0x2c]
mov esi, edx
mov ecx, dword [esp + 0x30]
xor ecx, dword [esp + 0x34]
ror esi, 0xb
and ecx, edx
xor ecx, dword [esp + 0x34]
mov dword [0x45d090], eax
mov eax, edx
rol eax, 7
xor esi, eax
mov eax, edx
ror eax, 6
xor esi, eax
mov eax, dword [esp + 0x14]
add esi, ecx
add esi, dword [eax + edi*4]
add esi, dword [ebx + 8]
add esi, dword [esp + 0x38]
mov eax, dword [0x45bbf4]
inc dword [0x45bbf4]
cmp eax, 0x882820c0
jge 0x40684b
mov ax, word [0x45b2f4]
cwde
sub dword [0x45ef28], eax
jmp 0x406862
mov eax, dword [0x45d09c]
imul eax, dword [0x45c270]
mov dword [0x45c270], eax
dec dword [0x45d09c]
mov edx, dword [esp + 0x1c]
mov edi, edx
ror edi, 0xd
mov eax, edx
rol eax, 0xa
xor edi, eax
mov eax, edx
ror eax, 2
xor edi, eax
mov eax, dword [esp + 0x20]
mov ecx, eax
and eax, edx
or ecx, edx
and ecx, dword [esp + 0x24]
add dword [0x45ef20], 0x1747dad3
or ecx, eax
mov eax, dword [0x45d378]
add edi, ecx
add dword [esp + 0x28], esi
add eax, 0x6141fdb7
inc dword [0x45d378]
xor eax, 0x9cda2219
cmp eax, 0x24c65a9c
jge 0x4068bf
xor dword [0x45c2ec], 0xcf931ace
lea eax, [edi + esi]
mov dword [esp + 0x38], eax
mov dword [0x45fa08], 0xda586ddd
movzx eax, word [0x45a768]
imul eax, eax, 0x50149300
mov word [0x45a768], ax
dec dword [0x45dc94]
mov eax, dword [0x45dc94]
cmp eax, 0x1e0225
je 0x406910
mov eax, dword [0x45e44c]
sub eax, 0x387bcc08
and eax, 0xe6629227
sub dword [0x45d2dc], eax
inc dword [0x45e44c]
mov edx, 8
jmp 0x406920
movsx eax, word [0x4594fe]
and eax, 0x121a442a
cmp eax, 0xb7aca4b4
jge 0x406953
mov eax, dword [0x45e904]
movsx ecx, word [0x459c64]
shl eax, 3
sub ecx, eax
mov eax, dword [0x45d9d8]
add eax, ecx
mov word [0x459c64], ax
jmp 0x406962
imul eax, dword [0x45c9cc], 0xd1ba8f21
mov dword [0x45c9cc], eax
mov eax, dword [ebp + edx*4]
mov dword [esp + edx*4 + 0x1c], eax
movzx eax, word [0x45ae66]
or eax, 0xf9e03db0
mov word [0x45ae66], ax
dec edx
jne 0x406920
imul eax, dword [0x45e2c0], 0x333a3d6f
add ebx, 4
mov edi, dword [esp + 0x10]
inc edi
mov dword [esp + 0x10], edi
mov dword [0x45e2c0], eax
mov eax, dword [esp + 0x3c]
movsx ecx, word [0x45a614]
mov dword [esp + 0x1c], eax
xor ecx, 0x87b584b0
movzx eax, word [0x458ea8]
or eax, ecx
mov word [0x458ea8], ax
cmp edi, 0x40
jne 0x406670
mov eax, dword [0x45c83c]
mov ebp, dword [esp + 0x40]
pop edi
pop ebx
lea eax, [eax*8 - 0x6702f443]
cmp eax, 0xe58337b0
jne 0x406a09
mov eax, dword [0x45df5c]
dec dword [0x45df5c]
or eax, 0x9a212302
cmp eax, 0xd2e241de
jle 0x406a09
movzx eax, word [0x459dde]
xor eax, 0xe1420f4a
mov word [0x459dde], ax
push dword [esp + 0xc]
push 0x100
call fcn.004232b0
imul eax, dword [0x4603e8], 0xdcf222ac
add esp, 8
xor ecx, ecx
mov dword [0x4603e8], eax
jmp 0x406a30
and dword [0x45bac8], 0x9880050
lea ebp, [ebp + 4]
mov eax, dword [esp + ecx*4 + 0x14]
inc ecx
add dword [ebp - 4], eax
or dword [0x460acc], 0x125c11bb
cmp ecx, 8
jne 0x406a30
movsx eax, word [0x45a2c4]
sar eax, 9
and eax, 0xffa76fff
or eax, 0xe5a124fb
pop esi
mov dword [0x45eb1c], eax
pop ebp
add esp, 0x134
ret