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

Disassembly:
mov ebx, dword [esp]
xchg edx, edi
or esi, 0xa86d2953
dec edi
mov edi, esi
and edi, esi
dec esi
xor esi, edx
shl edx, 0x14
shr edx, 0xf
shr edx, 0xa
xor edx, 0xa870d43c
mov edx, ecx
jmp 0x46c456
jne 0x46bf07
dec edi
add ecx, 0xa8782740
and edi, edx
ror edi, 0x1f
neg esi
or ecx, 0xa879ba86
jmp 0x46d239
xor al, byte [ebx]
sub edi, edx
not ecx
xor ecx, edi
or edx, edi
or esi, edi
mov edi, 0xa8855bcf
jmp 0x46e452
mov ebx, dword [ebx]
xor edi, ecx
add edi, 0xa88fa104
sub edi, 0xa89002fd
sub edi, edx
xor ecx, edx
inc edx
or edx, 0xa8947990
and edi, edx
or esi, edx
jmp 0x46d8bb
mov ebx, 0x30
not edi
nop
add edi, ecx
not edi
neg ecx
xchg esi, ecx
not edi
shl edi, 0x12
or edi, ecx
jmp 0x46c033
mov ebx, dword fs:[ebx]
and esi, ecx
ror edx, 0x12
xor edx, 0xa8ace076
xor edx, 0xa8ad4155
xor edx, 0xa8ada79d
and esi, edx
shr esi, 9
or edi, ecx
sub edi, edx
sub edx, edi
jmp 0x46da36
add dword [esp + 0x58], ebx
and edx, ecx
add ecx, edi
and ecx, esi
inc edi
add esi, edi
dec edi
mov edi, 0xa8bb62d9
mov esi, edi
and ecx, esi
rol esi, 0xd
or edi, esi
or edx, 0xa8bc8f8d
shr ecx, 7
mov ecx, esi
jmp 0x46cc42
cmp eax, dword [esp + 0x4c]
jmp 0x46d792
mov ebx, dword [ebx]
and esi, ecx
add edx, 0xa8d16837
or edx, edi
xor esi, edi
mov esi, edx
or ecx, esi
rol edx, 0x19
and ecx, esi
shr edx, 0xf
or esi, edx
jmp 0x46c833
mov ebx, dword [ebx]
rol ecx, 0x12
ror esi, 0x1f
add esi, edi
not ecx
and ecx, edx
bswap esi
jmp 0x46dc4b
mov ebx, dword [ebx]
neg edi
or ecx, edx
jmp 0x46c4ac
mov eax, 2
xchg ecx, edi
inc ecx
add edi, ecx
mov edi, edx
sub edi, esi
nop
sub edx, esi
rol esi, 0x1e
sub edi, 0xa8ed52c4
xchg esi, edi
jmp 0x46c707
inc ebx
xor ecx, 0xa8ee38b7
sub esi, edx
dec esi
shr edi, 8
dec ecx
and esi, 0xa8f052c4
add edx, ecx
and ecx, edi
add edi, ecx
mov esi, 0xa8f1ddbc
sub esi, ecx
jmp 0x46d590
add ebx, dword [esp]
sub ecx, edi
bswap ecx
and ecx, edx
add esi, edi
shl edi, 0x16
not esi
or esi, edi
add esi, 0xa8f59d23
or ecx, 0xa8f60281
and ecx, 0xa8f665b0
jmp 0x46d137
add dword [esp + 0x58], 0x78
bswap esi
shr ecx, 0x1f
rol edi, 0xd
ror edx, 0x1e
mov esi, edx
jmp 0x46dd5a
add ebx, 0x3c
sub edi, ecx
mov edx, 0xa914ab4a
or ecx, 0xa9150c89
xchg esi, ecx
xor esi, 0xa915d85f
xchg edi, ecx
inc ecx
bswap esi
mov edi, esi
or esi, ecx
xor edx, esi
xor edi, ecx
rol esi, 7
jmp 0x46c1f3
add ebx, dword [esp]
add ecx, 0xa91f258c
xor ecx, edi
and edi, esi
xchg edi, ecx
xchg edi, esi
add edi, 0xa92121bb
rol esi, 0x1c
xchg edi, esi
add edi, esi
xchg edi, esi
inc ecx
or edx, ecx
and ecx, esi
sub edx, edi
jmp 0x46e682
mov dword [esp + 0x58], ebx
sub edx, ecx
mov ecx, edx
mov edx, ecx
rol esi, 0xf
add ecx, esi
and edx, esi
xchg edi, esi
and edx, edi
ror esi, 2
add esi, ecx
add edi, ecx
rol esi, 0x14
add edx, 0xa95b761a
jmp 0x46d9a2
mov ebx, dword [esp + 0x9c]
sub edx, 0xa96473b4
xchg edx, esi
shl edi, 6
add ecx, edi
add ecx, edi
and edi, 0xa9665bd8
ror edi, 1
sub edi, esi
sub ecx, edi
jmp 0x46d267
add dword [esp + 0x58], eax
rol edx, 0x19
xor esi, 0xa9710589
or edx, edi
or esi, edi
or edx, 0xa97231ef
add ecx, esi
sub ecx, esi
nop
shr edx, 0x13
jmp 0x46cf03
mov dword [esp + 0x58], ebx
add edx, edi
mov esi, edi
xchg esi, edx
bswap edi
add edi, esi
neg ecx
and edi, esi
and edi, edx
xor edi, edx
or esi, ecx
xchg edx, esi
or edi, edx
ror edi, 6
xchg ecx, edx
jmp 0x46c414
mov dword [esp + 0x28], ebx
sub edi, 0xa9941e3d
and esi, ecx
and edi, esi
nop
mov edi, esi
xchg edx, ecx
or edx, 0xa9975bfc
add edx, 0xa997b8c4
sub edx, 0xa9983aa7
jmp 0x46ce0e
mov ebx, dword [ebx]
and edi, 0xa998c1e0
or edx, edi
sub esi, edx
xchg esi, ecx
ror edx, 0x13
xor edi, esi
xchg esi, edi
xchg edi, ecx
jmp 0x46e243
add esp, 0xcc
xor edi, 0xa9a5ee8e
xor edi, esi
sub esi, 0xa9a6bca1
shr edx, 4
rol esi, 0x11
xor edx, esi
or edi, edx
sub ecx, esi
sub esi, edi
sub edx, esi
add edx, 0xa9a9f288
and edx, 0xa9aa5546
jmp 0x46cd5f
mov dword [esp], 0
inc esi
sub ecx, edi
xchg edx, ecx
jmp 0x46cad3
mov dword [esp + 0x58], 0
ror ecx, 0xd
and edx, edi
mov edi, 0xa9d35f7e
xchg edx, esi
shr esi, 0x17
rol ecx, 0x1e
jmp 0x46d1c1
mov ebx, dword [ebx]
xor edx, esi
mov esi, 0xa9dac566
mov esi, 0xa9db36e3
add edi, 0xa9db9bc0
jmp 0x46c69f
mov ebx, dword [ebx]
inc esi
bswap ecx
not ecx
xor esi, 0xa9e27e83
and esi, 0xa9e2ef45
sub edi, ecx
add edi, edx
shl edx, 0x1f
and edx, edi
and ecx, edi
xchg esi, edx
dec esi
or esi, ecx
add esi, 0xa9e6dbcf
jmp 0x46bf67
movzx ebx, word [ebx]
and ecx, esi
xor edi, 0xa9f23025
dec esi
xor edx, esi
or edx, 0xa9f3698d
neg ecx
and esi, 0xa9f42f49
or edi, 0xa9f4946b
jmp 0x46dc31
add dword [esp + 0x58], 0x20
dec ecx
and edx, ecx
shr ecx, 7
sub edx, 0xa9fb13dc
add ecx, edx
add ecx, edi
inc ecx
rol esi, 0xd
shl ecx, 0x1c
xor ecx, 0xa9fd7d5c
shr edx, 0x1e
and ecx, esi
neg edx
sub edx, 0xa9ff089d
jmp 0x46d8f9
add dword [esp + 0x28], 4
or esi, 0xaa0968b4
xchg esi, edx
xor edi, edx
neg edx
add ecx, esi
and edi, ecx
sub edi, esi
jmp 0x46dd8c
mov ebx, dword [esp + 0x58]
mov edi, ecx
add edx, esi
and esi, edx
add edx, esi
xor esi, 0xaa141a3f
xchg edx, esi
inc ecx
xchg edx, ecx
mov esi, edi
xor edx, edi
jmp 0x46c8b2
ret
mov dword [esp + 0x9c], 0
mov esi, edx
or ecx, 0xaa26aee6
sub edx, esi
xor ecx, edx
ror edx, 0x17
xchg edx, edi
jmp 0x46cece
inc dword [esp + 0x9c]
shl edi, 0x15
sub ecx, 0xaa2dd2df
sub edx, edi
xor esi, edx
not esi
and ecx, edi
and edi, esi
xchg ecx, esi
or edx, esi
jmp 0x46ccc8
mov ebx, dword [ebx]
xchg esi, ecx
shr esi, 0x19
dec esi
sub edx, 0xaa3669a9
or edx, esi
neg edx
not edx
dec edx
dec esi
add ecx, esi
shr esi, 0xf
xor ecx, edx
shr esi, 0x1f
jmp 0x46d429
mov dword [esp + 0x28], 0
shl esi, 0xc
sub ecx, esi
not edx
shr ecx, 0x15
dec esi
shr edi, 1
sub esi, ecx
ror edi, 0xe
not ecx
neg edi
sub edi, edx
add esi, 0xaa493de0
xor ecx, esi
or edx, esi
xor ecx, edi
jmp 0x46ca88
mov ebx, dword [esp + 0x58]
xor edx, ecx
sub ecx, edi
not esi
add edx, 0xaa4bff15
mov esi, ecx
xor ecx, 0xaa4cd1c7
or edi, 0xaa4d3469
or ecx, edi
xor esi, 0xaa4e0105
and esi, edx
jmp 0x46d7c3
mov dword [esp + 0x58], ebx
and ecx, edi
xor edi, esi
xor edi, 0xaa8ad7a3
dec ecx
dec edx
jmp 0x46e307
add ebx, dword [esp]
shl edi, 0x1e
add ecx, 0xaa8dad9a
dec edi
add edx, 0xaa8ede0e
xor edi, ecx
or ecx, edx
and edx, 0xaa901283
sub ecx, esi
jmp 0x46c926
mov dword [esp + 0x4c], ebx
bswap esi
neg edi
sub esi, edx
mov edi, edx
and esi, 0xaa9b7b5a
shr ecx, 0x19
not edx
inc edx
mov edx, ecx
neg ecx
ror ecx, 0xe
and edx, 0xaa9e50bb
jmp 0x46bfa1
pop ebx
sub esi, 0xaaa68985
xchg ecx, edx
xchg edi, edx
add esi, edi
not ecx
neg edi
xor ecx, edx
mov edi, ecx
jmp 0x46c12f
mul ebx
or edx, edi
shl esi, 3
xor edx, esi
mov esi, edx
mov edi, 0xaaae1f01
mov esi, 0xaaae8f49
add edx, ecx
inc ecx
and edi, esi
and edi, 0xaab02bae
mov ecx, 0xaab08fcc
jmp 0x46dde3
mov ebx, dword [esp + 0x58]
sub ecx, esi
xor ecx, esi
not edi
shl edi, 0x1a
xor edx, ecx
sub ecx, 0xaac7fd49
not esi
xchg edx, ecx
xor esi, edx
sub edi, esi
xchg ecx, esi
jmp 0x46d97c
mov ebx, dword [ebx]
rol edi, 0xc
bswap edx
and ecx, edi
or edx, esi
and edi, esi
or esi, 0xaad82d5f
sub edx, edi
jmp 0x46cb68
add ebx, dword [esp]
sub edx, 0xaadfb1f0
sub edi, ecx
add ecx, 0xaae08bcd
mov edi, 0xaae0ef4e
dec edx
xchg edi, ecx
shr edx, 2
xor esi, edx
mov edi, edx
jmp 0x46c885
add ebx, dword [esp + 0x58]
xor edx, edi
inc edx
xor edi, esi
sub ecx, esi
xor edi, 0xaaf7b0c4
or edx, esi
and ecx, 0xaaf88e21
xor esi, edi
and edi, edx
mov ecx, esi
inc edi
dec esi
xor ecx, edi
jmp 0x46cb1d
add dword [esp + 0x58], 4
neg ecx
shl edi, 0x1c
bswap ecx
add edi, 0xab031635
and ecx, esi
rol edi, 0xe
neg esi
sub esi, ecx
dec edx
inc ecx
rol esi, 0xc
not edi
sub ecx, edi
and ecx, 0xab07118c
jmp 0x46cd22
cmp byte [ebx], 0
jmp 0x46bec5
sub dword [esp + 0x58], 8
add edi, 0xab2f013a
xor ecx, esi
or esi, 0xab2fc4e9
xchg esi, ecx
and ecx, edi
add ecx, esi
jmp 0x46d348
jne 0x46ce0e
sub edi, ecx
or edi, esi
and esi, edi
or edx, 0xab4419c3
and edi, edx
rol edx, 0x11
not ecx
and edx, ecx
sub edi, edx
xchg ecx, edi
shr edi, 0xf
xor edi, 0xab476db0
sub esi, edx
sub edi, edx
jmp 0x46d55e
mov ebx, dword [ebx]
ror edx, 0x14
bswap edi
neg esi
xchg edx, ecx
dec esi
jmp 0x46d14f
add ebx, 0x18
sub ecx, esi
xor edi, edx
mov edx, edi
bswap ecx
mov ecx, esi
mov edi, edx
sub edx, edi
jmp 0x46e0bb
mov dword [esp + 0x28], ebx
xor ecx, 0xab6c12a9
sub ecx, edi
xor edi, edx
sub edx, 0xab6d47e4
shl edx, 6
mov edi, 0xab6e27c3
sub ecx, edx
mov ecx, edx
jmp 0x46c2fc
mov ebx, dword [esp + 0x58]
or esi, edx
or edx, edi
and edi, ecx
or ecx, 0xab716cfb
mov esi, edx
ror esi, 0x12
xor edx, 0xab72d858
and ecx, esi
and edx, 0xab73df49
jmp 0x46ce53
mov ebx, dword [ebx]
sub edi, 0xab7e027e
xor esi, 0xab7e8420
xor ecx, edi
xchg edi, esi
or edx, 0xab80176c
neg edi
or edi, ecx
dec edi
and edi, edx
mov ecx, edx
jmp 0x46c343
mov ebx, dword [esp]
bswap ecx
xor edi, esi
xor edi, esi
ror ecx, 0x11
xor edx, esi
xor edx, 0xab853bf9
jmp 0x46c0a3
add ebx, 0xc
bswap edi
add esi, edx
or edx, ecx
sub esi, 0xab8fcb60
mov esi, edx
xor ecx, edx
add edx, esi
inc esi
jmp 0x46c241
mov eax, 4
inc esi
not edi
and ecx, 0xab9318d5
inc esi
neg esi
and esi, edx
and edi, ecx
inc edx
xchg edi, edx
jmp 0x46cbf2
mul ebx
xchg edi, edx
xchg edx, esi
or ecx, edx
shr esi, 0x1d
xchg esi, ecx
xchg esi, ecx
bswap ecx
sub esi, edx
sub edi, esi
jmp 0x46c77e
add ebx, 0xc
add esi, ecx
sub ecx, edi
add edx, esi
and esi, edi
and ecx, 0xabc6de66
and edi, ecx
mov edx, esi
sub esi, edx
or esi, edi
xchg esi, ecx
sub ecx, edi
xor ecx, 0xabc879d0
shl edx, 0x1d
and ecx, esi
add edi, 0xabc927eb
jmp 0x46d3c5
mov ebx, dword [esp]
shl esi, 5
xor edx, esi
nop
xor ecx, edx
rol edx, 6
shr ecx, 0x16
add edi, esi
xchg ecx, esi
mov edx, ecx
sub esi, edx
xchg esi, edx
or edx, esi
neg ecx
and edx, 0xabe65bcf
or edi, esi
sub ecx, edi
jmp 0x46d4f4
mov ebx, dword [esp + 0x28]
neg esi
or edx, esi
or edx, esi
or ecx, 0xabe9b53c
add edi, 0xabea1ac9
and edi, edx
jmp 0x46c2f1
mov dword [esp + 0x9c], eax
and edi, esi
xor edx, ecx
and ecx, 0xabf253a4
xchg ecx, edx
shl esi, 0x14
add edi, ecx
sub edx, 0xabf41e0a
or edi, 0xabf48000
sub ecx, edi
xor esi, ecx
jmp 0x46d6c6
mov ebx, dword [ebx]
sub edi, esi
xchg ecx, edx
mov edx, esi
xchg esi, edi
or edx, edi
jmp 0x46e52f
xor eax, eax
or ecx, esi
xchg ecx, edi
and ecx, esi
or edx, 0xacbbb2b6
xor edi, edx
ror edi, 0x1b
or edx, esi
shr edi, 1
and edi, 0xacbce2d7
xor edx, esi
add edx, esi
jmp 0x46bf07
sub esp, 0xcc
sub ecx, 0xacc39019
inc ecx
xor esi, edi
xchg esi, ecx
dec ecx
xor edx, 0xacc59b0a
and edi, 0xacc5fa01
xchg esi, edx
sub esi, edi
sub edx, edi
neg edi
or ecx, esi
jmp 0x46cdca
add ebx, dword [esp]
or edx, ecx
and ecx, 0xacd548ce
shl edi, 0x17
add edx, esi
dec edx
add esi, 0xacd6d8ca
bswap esi
or esi, edx
or esi, edx
xchg edx, edi
or ecx, edx
or ecx, edi
ror esi, 0x1b
jmp 0x46d8d1
mov ebx, dword [esp + 0x28]
xchg edi, esi
or edi, ecx
mov esi, 0xacec1708
xchg edi, ecx
or edx, ecx
xor ecx, edx
shr edx, 0x1c
and edx, esi
jmp 0x46e40b
add ebx, dword [esp + 0x9c]
or edx, ecx
dec edx
and edx, ecx
sub edi, ecx
mov edx, 0xad0436d1
or edi, 0xad04abdc
xchg edx, edi
sub ecx, edi
add ecx, esi
and esi, edx
xchg edi, ecx
add edi, ecx
or ecx, edx
xor esi, 0xad07c970
xor edx, edi
jmp 0x46da66
rol eax, 8
shr edx, 1
and ecx, edi
xor edi, ecx
or edx, ecx
add edx, edi
sub edi, edx
ror edi, 0x1a
xchg edx, edi
xchg edx, edi
xchg ecx, esi
add esi, 0xad0ed025
mov esi, edi
or edx, edi
jmp 0x46c31d
mov dword [esp], ebx
or edi, 0xad218b6d
xchg esi, ecx
add esi, edx
nop
dec ecx
dec edx
ror edi, 8
sub edx, esi
sub ecx, esi
jmp 0x46be50
push ebx
shr ecx, 0xf
rol esi, 0xe
and esi, ecx
nop
and ecx, 0xad493f18
mov edi, ecx
nop
and edx, 0xad4a7794
and edx, ecx
mov edx, ecx
or esi, edx
and ecx, edi
jmp 0x46e13b