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

Disassembly:
add esi, 0xc
sub ecx, ebx
dec ecx
sub edi, ecx
inc ecx
add ecx, edx
add ecx, 0xffeaa358
jmp 0x46d34f
xor al, byte [esi]
mov edi, 0xfff82938
xchg ecx, edx
and ebx, ecx
ror ebx, 2
bswap edx
xor ecx, 0xfff8b9c8
jmp 0x46d2b3
inc dword [esp + 0xe8]
and ebx, 0xfffadc38
mov ebx, 0xfffaf848
xchg ecx, edx
bswap ecx
and ebx, edi
ror edx, 1
mov edi, ecx
sub edx, ecx
neg ecx
add ebx, edi
jmp 0x46e2aa
add dword [esp + 0x128], eax
xchg edx, ebx
not edi
and ecx, ebx
or edx, ecx
and edi, ebx
mov ecx, 0xfffc86f8
jmp 0x46ca3f
add esi, dword [esp + 0x3c]
or ecx, ebx
mov ecx, edi
or edx, ecx
xchg edi, ebx
neg ebx
xchg ecx, edi
nop
mov ecx, ebx
sub edi, ecx
xchg ecx, edi
jmp 0x46bfc4
add esp, 0x148
and edi, edx
ror ecx, 2
bswap edi
or edi, ecx
add edx, edi
jmp 0x46e26b
mov dword [esp + 0xe8], 0
or edx, 0x8c971
or edx, edi
xor edi, ecx
and ebx, edx
and ebx, edi
and ecx, edx
sub ebx, edi
xchg edx, ebx
jmp 0x46e0f0
mov dword [esp + 0x128], esi
and ebx, edx
sub edi, ebx
inc ebx
sub edi, ecx
dec edi
or ecx, 0x147a4d
xor edx, 0x149f3d
or ebx, ecx
xor ebx, edi
sub edi, edx
mov ebx, edx
add ecx, ebx
jmp 0x46cdd6
mov dword [esp + 0x3c], esi
shl edx, 3
add edi, edx
and edx, edi
dec edi
xor ebx, edi
add edi, edx
bswap ecx
mov edi, 0x16433d
xchg ecx, edx
xchg edx, edi
or edx, edi
sub ecx, edx
shl ebx, 9
bswap ecx
jmp 0x46deae
add esi, dword [esp + 0x3c]
and ebx, edx
add edx, ecx
mov ecx, edx
mov edi, ecx
add ebx, ecx
or edi, 0x178ee7
jmp 0x46d5a6
mov dword [esp + 0x128], esi
mov ecx, edx
xor edx, edi
mov ecx, edi
sub ecx, ebx
rol ecx, 7
sub ebx, edx
jmp 0x46d661
mov esi, dword [esp + 0x128]
mov edx, ecx
xor edi, edx
inc edx
shl ebx, 0x1c
shr edi, 0xa
add edx, edi
bswap edx
xor ebx, edi
sub edx, 0x1e5c13
and edi, ecx
mov ebx, ecx
add ebx, edx
neg ebx
sub edx, edi
jmp 0x46df20
add dword [esp + 0x128], 0x20
xor edx, ebx
mov ecx, ebx
add ebx, edi
neg ecx
add edi, ebx
bswap edi
and ecx, edx
inc ebx
xor edi, edx
or ecx, ebx
shr edi, 0x1d
mov ecx, ebx
jmp 0x46c042
pop esi
add edi, ebx
rol ecx, 0xd
inc ebx
sub edx, ecx
mov ebx, 0x2d6c9b
neg ecx
jmp 0x46d24e
add dword [esp + 0x128], esi
or edi, ecx
add edx, edi
xor edi, 0x33b29d
sub edx, ecx
mov ebx, edx
bswap edi
neg edx
dec ebx
jmp 0x46c127
xor eax, eax
and ecx, ebx
mov edi, ebx
add ecx, ebx
add ecx, edi
xchg ebx, edi
xchg edx, ecx
mov edi, 0x3a6975
xor ecx, ebx
mov edx, 0x3a9ec3
ror edx, 0x1a
and ecx, ebx
mov ecx, edx
jmp 0x46bbfa
add esi, 0x18
or edi, ecx
add ebx, ecx
sub ebx, edx
add ebx, 0x488991
shr edx, 1
or edi, ebx
mov edi, edx
add edi, ecx
or edx, ecx
shl edx, 9
xchg edx, ebx
xor ebx, ecx
jmp 0x46c77e
mov dword [esp + 0x18], esi
sub ecx, edi
mov ebx, edx
add edx, edi
add edx, 0x49d89d
jmp 0x46db23
mov esi, dword [esp + 0xe8]
xor edx, 0x49ff75
xor ecx, edx
nop
or edi, edx
add ebx, ecx
mov edx, ebx
mov edi, edx
and ebx, 0x4abdd9
mov ebx, 0x4ad6bf
add edx, edi
or edi, 0x4b0d57
mov ecx, edi
add ebx, 0x4b4103
xchg edi, edx
jmp 0x46ca1f
mov dword [esp + 0x18], esi
xor ecx, ebx
xchg ebx, ecx
dec edx
sub edi, edx
xchg ecx, edi
xor ebx, 0x4e9257
ror ebx, 7
and edi, 0x4eca59
mov ecx, ebx
nop
jmp 0x46bc5f
cmp byte [esi], 0
jmp 0x46d6e0
jne 0x46bc5f
sub ecx, edx
and edi, ebx
mov ecx, 0x4f5d51
mov ebx, edi
and edx, ecx
shl edi, 0x13
add ecx, edx
dec edx
neg ebx
xchg edi, edx
jmp 0x46cd78
mov esi, dword [esp + 0x3c]
inc edx
and edx, ecx
inc edi
add ecx, ebx
and ebx, edi
or ebx, 0x50c69f
sub edx, edi
or edi, ecx
neg ecx
shl edx, 0x10
sub edi, edx
mov ecx, edi
jmp 0x46c2d8
mov dword [esp + 0x128], esi
mov ebx, edi
xchg edx, edi
shl edx, 0x14
and ebx, edi
shl edi, 0x1c
xor edi, ebx
add edi, ecx
add ecx, edi
or edi, ebx
or ebx, edx
jmp 0x46c655
mov esi, dword [esi]
xchg ebx, ecx
xor ecx, edx
rol edi, 3
mov edx, ecx
jmp 0x46bf7a
add esi, 0x3c
xor ecx, edi
shr ebx, 0xb
sub edi, edx
xchg ecx, edi
inc edx
xor edx, ebx
xor ecx, 0x58edf7
sub edx, ebx
xchg edi, ecx
or ebx, edi
rol ebx, 0x11
ror edi, 0x19
jmp 0x46e1ad
mov esi, dword [esi]
or edi, 0x599965
add edi, 0x59b5f5
and edi, ecx
mov ebx, ecx
add ebx, edi
mov edx, 0x5a1ad3
mov ecx, ebx
mov edi, ebx
or edi, ebx
and edi, 0x5a86f1
xor ebx, 0x5aa2b9
ror edi, 0x12
and edi, 0x5ada7f
or ecx, 0x5af653
xor ebx, edi
and ebx, edx
jmp 0x46bf4e
inc esi
and ebx, 0x5c3f21
inc edi
add ecx, ebx
mov edi, ebx
not ebx
shl edx, 0x1f
or edx, ecx
mov edi, ebx
or ebx, edi
not ecx
shl edi, 0x1c
neg ecx
jmp 0x46c62b
mul esi
xor ecx, 0x6e9fdf
and ebx, edx
sub ecx, edi
not edi
dec edx
sub edx, ecx
add ecx, edx
rol edi, 0x1b
xchg edx, ebx
shr edx, 0x1b
jmp 0x46dbe9
mov esi, dword [esp + 0x128]
add edx, 0x6ff129
dec edx
and ebx, edi
or ecx, edx
add ebx, edx
ror edx, 0xc
mov ebx, edi
and ebx, ecx
jmp 0x46d600
mov dword [esp + 0x128], 0
xchg edx, ecx
and ecx, edx
xor edi, edx
add ecx, edx
shr ebx, 0xe
xchg ebx, ecx
xchg ecx, edx
add ecx, 0x79d0dd
jmp 0x46d0ed
add esi, dword [esp + 0x3c]
not ebx
ror edx, 0xb
neg ecx
or edi, 0x80acc3
not edx
add edx, edi
not ecx
add edx, ecx
xchg ecx, edx
rol ecx, 0x16
rol ebx, 0x1f
mov ecx, edx
add ecx, ebx
shr ecx, 0x1d
jmp 0x46c604
add esi, dword [esp + 0x3c]
dec edx
add edi, ebx
xchg edx, ecx
add ecx, edx
and edx, edi
xor ecx, edx
rol edx, 0x14
xchg ecx, edi
jmp 0x46bcfe
add dword [esp + 0x128], 4
add ebx, ecx
sub edx, edi
mov ebx, edi
and edx, ebx
add edx, 0x8b9715
shl ecx, 0x1c
jmp 0x46d49b
add dword [esp + 0x128], 0x78
shl edi, 3
sub ecx, ebx
and edx, ecx
or ecx, edx
xor ecx, edx
sub edx, 0x8eda5d
or ecx, ebx
and edx, ecx
xchg edx, edi
sub ecx, 0x8f4dbd
xor ecx, edi
shr ebx, 7
not edx
add edx, ecx
jmp 0x46cf36
mov esi, 0x30
mov edi, ebx
mov edi, edx
and edx, edi
mov ebx, 0x94c64d
xchg ecx, edi
add ecx, edx
neg edx
add ebx, edi
add edi, edx
mov ebx, ecx
or edi, ecx
shr ecx, 0x10
jmp 0x46dd2d
mov esi, dword [esp + 0x3c]
and edx, ebx
xchg ecx, edi
nop
shr edx, 0x1f
mov ebx, edi
xchg edi, ebx
and edi, edx
sub edx, 0x9ac37f
bswap edi
mov ebx, edi
shl ecx, 5
and edx, ebx
mov ebx, 0x9b4eef
not edi
add edx, edi
bswap edx
jmp 0x46d28b
mov esi, dword [esi]
bswap ecx
mov edi, ecx
and ecx, edi
mov edi, edx
mov edx, ebx
xor ebx, 0xa24c73
xchg edx, ecx
dec ecx
rol ecx, 0x1b
sub ebx, ecx
jmp 0x46c53b
mov esi, dword [esi]
sub ecx, edi
mov ebx, edx
or edi, edx
shr edx, 0x1d
and edi, ecx
or edx, ebx
shl ecx, 0xb
mov edx, ecx
xor ebx, edi
xchg edx, edi
jmp 0x46c67c
mov dword [esp + 0xb0], esi
not edx
or edi, ecx
mov edi, 0xa90035
and edx, ebx
rol ecx, 1
and edx, ecx
xchg edi, ebx
mov ebx, ecx
xor edx, ebx
xor ebx, 0xa9c103
jmp 0x46ce9b
cmp eax, dword [esp + 0xb0]
jmp 0x46c633
add esi, dword [esp + 0x128]
mov ecx, edx
xchg edx, ecx
or ebx, edx
add ebx, edi
sub edi, edx
or ecx, ebx
sub ebx, ecx
and ecx, edx
add edi, ecx
sub ecx, 0xb6380f
sub ebx, edi
and edx, ebx
jmp 0x46d03e
rol eax, 8
sub edx, ebx
and ecx, edx
shr ecx, 0x18
dec ecx
bswap edi
sub edx, ecx
ror edx, 0x18
shr ebx, 6
jmp 0x46c7da
mov esi, dword [esi]
xchg edx, edi
and edx, 0xbbbb21
or ebx, 0xbbd705
and ecx, edx
bswap ebx
mov edi, ebx
xchg ebx, edi
sub ebx, 0xbc5c35
or edi, 0xbc7fb1
sub ecx, 0xbc9b4f
sub ebx, edi
and edx, ebx
jmp 0x46d8d5
mov eax, 4
mov ebx, 0xbde709
add edx, ebx
mov ecx, ebx
bswap edx
xor ebx, edi
and edi, ecx
xchg edi, ecx
or ebx, edi
add edx, edi
rol ebx, 0xa
jmp 0x46d92e
mov esi, dword [esp + 0x128]
xor edi, edx
or edx, ecx
shl edx, 0xd
sub edi, ebx
xor edx, 0xc88e0d
shr ecx, 9
xor edx, edi
shr edi, 9
add edx, 0xc9020b
shl ebx, 5
shr edi, 0x11
add edx, 0xc95625
jmp 0x46d7ba
push esi
and ebx, edi
xchg ebx, edx
xchg ecx, edi
xchg edi, ebx
and ebx, edi
sub edx, edi
ror ecx, 0x1d
and edi, ebx
xor ebx, edi
or ecx, 0xd20ba3
or edx, 0xd22657
rol ecx, 0x1b
jmp 0x46c39a
mov esi, dword [esi]
and edi, 0xd3d739
dec edx
add ecx, edx
sub edi, 0xd428eb
ror ecx, 0x17
and edi, edx
and ecx, ebx
xor edi, ecx
or ecx, ebx
xor edx, 0xd4ce9d
ror edx, 5
sub ecx, edi
and ebx, 0xd5234b
inc edi
sub ebx, 0xd55ad5
sub ebx, edx
jmp 0x46ccee
mov esi, dword [esp + 0x18]
or ebx, ecx
or edi, ebx
xchg edx, ecx
and edi, 0xd7415b
dec edx
ror ebx, 2
add ecx, edi
xor ebx, 0xd7aeef
ror edx, 4
mov edx, edi
jmp 0x46dafd
jne 0x46bbfa
or ecx, ebx
xor edx, 0xdb1f13
or ebx, edi
xor ebx, edi
inc edx
and ecx, edi
shr edi, 0x1a
or edi, ebx
mov edi, ecx
bswap ebx
and edi, 0xdc19d9
and ecx, ebx
jmp 0x46c221
mov esi, dword [esi]
and ecx, edx
xchg edi, edx
or ecx, edx
not edx
shr edx, 0x17
mov ebx, edi
inc edi
sub ebx, 0xe2bbb9
sub ebx, 0xe2db0b
xchg ebx, ecx
xchg ebx, edx
shr edx, 0x13
add ecx, 0xe34863
xchg ebx, edi
not edx
xor ecx, 0xe39fb5
jmp 0x46dda4
add esi, 0xc
xchg edx, ecx
xchg edi, edx
xchg edi, edx
xchg edx, edi
mov ebx, ecx
bswap edx
xor edi, edx
xchg edx, edi
jmp 0x46dcc2
movzx esi, word [esi]
bswap edx
or ecx, 0xef3fdf
or ebx, edx
add edx, ecx
jmp 0x46e205
add esi, dword [esp + 0xe8]
shr edx, 0x15
and edi, edx
or edx, ecx
shl edx, 0x19
xchg edi, ebx
add edx, ecx
mov ecx, edx
mov ecx, 0xfedaed
neg edx
shl ecx, 0x11
jmp 0x46d3a5
mov eax, 2
bswap edx
or edx, ecx
shl edx, 4
mov ecx, 0xff8d1b
xchg edi, ecx
xor ecx, edx
sub ebx, edx
sub edx, edi
or ebx, 0x1001927
sub edi, 0x10034ef
jmp 0x46c579
mov dword [esp + 0xe8], eax
xor ecx, ebx
shl edx, 9
xor ecx, edi
mov edx, 0x1064607
mov ecx, ebx
sub ecx, 0x1067d05
and edi, ebx
add ecx, ebx
jmp 0x46e124
mov esi, dword [esp + 0x18]
mov ecx, edi
xchg edi, ecx
neg edi
sub edi, edx
rol ecx, 0xf
xchg ebx, edi
bswap edi
add edx, ecx
or ebx, ecx
and ecx, edx
xchg edi, edx
rol ebx, 0x16
jmp 0x46c748
mov esi, dword [esi]
xor edx, edi
shr edi, 4
and ebx, edi
xchg ebx, edx
shr edx, 9
add ecx, 0x10d11dd
jmp 0x46e41e
mov esi, dword fs:[esi]
and ebx, 0x10fef5f
xor edx, edi
shr edi, 6
add edx, edi
or ebx, edx
and ecx, edi
bswap ecx
mov ebx, edx
xor ecx, edi
xchg edi, ecx
xchg ebx, edi
bswap edi
jmp 0x46ba18
add esi, dword [esp + 0x3c]
xor edx, ecx
mov ecx, edx
sub ebx, edx
rol ebx, 7
jmp 0x46c561
mov dword [esp + 0x3c], 0
neg ebx
add edi, ebx
add edi, 0x115c4fb
xchg edx, edi
add ecx, edi
xor edi, ebx
and edx, ebx
shl ebx, 0x18
mov ecx, edx
sub ebx, edi
xor edx, ebx
xor ebx, 0x116bae9
jmp 0x46cb4d
mov esi, dword [esi]
or ecx, edi
rol ecx, 0x11
add ebx, 0x11b1bfb
sub ebx, edx
jmp 0x46bcdf
mov esi, dword [esp + 0x3c]
xor edi, ecx
add edi, ecx
add edi, edx
mov ebx, ecx
or edi, 0x11d1d15
sub ebx, ecx
jmp 0x46c758
mov esi, dword [esi]
rol ecx, 0x16
add ecx, 0x11ff0fb
or ecx, edx
xor ecx, edx
mov edi, ecx
xor edx, 0x1205a1f
mov edi, edx
or ecx, ebx
sub ebx, ecx
xor edi, edx
jmp 0x46cc30
mov dword [esp + 0x18], 0
mov edi, 0x12f3ff9
mov ecx, edx
rol edi, 0x1b
and ebx, ecx
jmp 0x46ddd6
sub dword [esp + 0x128], 8
shr ecx, 0x18
mov edi, ecx
xchg ecx, edi
nop
or ebx, 0x130dc0b
shr edx, 2
jmp 0x46e3f3
mov esi, dword [esi]
sub ebx, ecx
add ebx, edx
sub edi, ecx
or ecx, 0x135cf4d
not ebx
and edi, edx
mov ebx, edx
xchg ecx, edi
jmp 0x46bf24
mul esi
or ecx, edi
mov edx, ecx
add ebx, 0x138ffdb
xchg edi, edx
sub edi, ecx
xor edi, 0x139518d
xor ebx, edi
and edx, 0x1398ab7
mov ebx, ecx
xchg edx, edi
rol edi, 0x13
sub ebx, edi
jmp 0x46bc87
ret
sub esp, 0x148
ror ebx, 0x19
and edi, ebx
add edi, 0x13d29b3
xor ebx, edi
xchg edx, edi
not edx
xchg ebx, ecx
and ecx, ebx
jmp 0x46bdf4
add dword [esp + 0x18], 4
or edi, ebx
or ebx, edx
xor ecx, ebx
and ebx, edi
xchg ecx, edx
add ecx, ebx
add ecx, edi
add ecx, 0x13eaed5
sub ebx, edx
xchg edx, ebx
jmp 0x46dc5d
mov esi, dword [esp + 0x128]
and ecx, edi
mov ecx, edx
xor edx, 0x14a2273
mov edx, 0x14a457d
add edx, 0x14a618d
mov edx, ecx
mov edi, ebx
xchg ebx, edi
xor edx, edi
xchg edi, edx
jmp 0x46de74
mov esi, dword [esi]
sub ecx, edi
sub ebx, edi
or edx, ebx
and ebx, ecx
or edi, ebx
shr ebx, 0x1d
xor edx, edi
and ecx, edi
xchg ebx, edi
or ecx, edx
jmp 0x46d01f