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

Disassembly:
cmp byte [edi], 0
jmp 0x46b7d1
add dword [esp + 0x2c], edi
bswap ebx
or edx, esi
neg ebx
ror ebx, 0x10
neg edx
xchg ebx, esi
add ebx, 0x2989eb79
add esi, ebx
add ecx, edx
ror ebx, 0xe
xor esi, ebx
jmp 0x46bbdf
mov eax, 2
or esi, ebx
mov ebx, esi
xor edx, esi
xor ecx, ebx
xor esi, 0x299dab22
neg ebx
shl ebx, 4
and ecx, ebx
sub edx, ebx
shl edx, 0x13
xchg esi, ebx
or esi, 0x299f7140
jmp 0x46b682
add edi, 0x18
xchg ebx, esi
xor esi, ecx
xchg ebx, esi
and edx, esi
mov esi, ecx
and edx, ecx
mov edx, esi
sub ebx, edx
neg esi
bswap edx
inc ebx
xchg edx, ecx
jmp 0x46dd67
add edi, dword [esp + 0x100]
dec ebx
inc ebx
sub esi, ecx
sub ecx, 0x29b44a72
or ecx, esi
mov ebx, edx
xor esi, edx
sub esi, edx
xchg ebx, esi
xchg edx, esi
and ecx, ebx
add esi, 0x29b64315
shr ecx, 0x15
xor edx, esi
jmp 0x46c51a
add edi, dword [esp + 0x100]
sub ebx, esi
and ecx, 0x29df30b4
xchg ecx, esi
shl edx, 4
mov ebx, esi
add ebx, esi
sub esi, edx
jmp 0x46dbc8
mov edi, dword [edi]
rol ecx, 0x1e
sub edx, ecx
xor edx, esi
xor edx, ebx
and ecx, esi
jmp 0x46b1eb
add edi, dword [esp + 0xbc]
add edx, 0x29e7778e
xchg esi, ebx
mov edx, ecx
xor esi, ebx
xor ebx, esi
sub ecx, 0x29e8ad3c
xchg edx, ebx
neg edx
xchg ecx, edx
mov ecx, esi
xor esi, ecx
or edx, ecx
and ecx, edx
or edx, esi
jmp 0x46cd3a
mov edi, dword [esp + 0x38]
mov ebx, ecx
xor esi, edx
or edx, 0x29f42e9a
shr esi, 0x1a
or esi, ecx
mov ebx, 0x29f4ea4e
xor edx, 0x29f528c6
xchg esi, ecx
or edx, esi
add ecx, 0x29f5f5dc
xor esi, ebx
xor ecx, ebx
mov ecx, 0x29f6ae71
xor edx, ebx
and ecx, esi
jmp 0x46b4bf
mov edi, 0x30
neg esi
mov ecx, 0x29fb6f03
xor ebx, esi
xor ecx, ebx
ror ecx, 0x12
xchg ecx, ebx
sub ebx, edx
shl ebx, 0x10
sub ecx, 0x29fd2ec5
jmp 0x46ce7a
jne 0x46b6a2
mov edx, 0x2a03d22c
ror esi, 0xa
neg ecx
sub ebx, edx
xor edx, ebx
and ecx, edx
and edx, ecx
jmp 0x46c670
mov edi, dword [esp + 0xbc]
and edx, 0x2a05af9f
inc ecx
ror edx, 0xd
sub edx, 0x2a066d00
mov edx, ecx
and edx, ecx
jmp 0x46c12f
inc dword [esp + 0xbc]
sub ecx, esi
or esi, ebx
and ecx, 0x2a07d43f
mov ecx, 0x2a081391
and edx, esi
shl ebx, 0xd
mov ebx, edx
jmp 0x46d809
mov edi, dword [edi]
or ecx, ebx
inc ecx
and esi, ecx
sub esi, edx
neg edx
not ebx
and edx, 0x2a142f09
sub ebx, ecx
or esi, ebx
shl esi, 8
xor esi, edx
jmp 0x46c532
mov edi, dword [esp + 0x2c]
add edx, 0x2a169926
or edx, ebx
and edx, 0x2a172478
ror edx, 2
xchg ebx, edx
or esi, ebx
and edx, ecx
mov esi, edx
not esi
or esi, ebx
jmp 0x46c49a
mov edi, dword [esp + 0x100]
add ebx, esi
not ebx
dec edx
and esi, 0x2a19f608
sub esi, ecx
and ebx, edx
jmp 0x46afd0
jne 0x46c804
xchg ecx, esi
inc esi
mov esi, ebx
shr esi, 5
xchg edx, esi
add edx, esi
inc ebx
add ecx, edx
xor ecx, 0x2a1ea1b2
mov esi, edx
jmp 0x46cbfc
add edi, dword [esp + 0x100]
xchg ecx, esi
xor edx, 0x2a1f7101
xor esi, ecx
add edx, ecx
sub edx, ebx
xchg edx, ebx
sub ebx, 0x2a20b5dd
jmp 0x46bf35
mov dword [esp + 0x90], edi
sub edx, ebx
add esi, edx
sub ecx, 0x2a374a52
inc esi
or ecx, 0x2a37db3f
xor edx, ecx
sub ecx, edx
or esi, ebx
or ecx, ebx
xor ecx, 0x2a390ab2
add ebx, edx
or esi, edx
jmp 0x46b5ea
mov edi, dword [edi]
neg esi
xor esi, edx
and ecx, edx
shr esi, 3
sub ebx, 0x2a4cb137
rol ebx, 7
xor edx, ebx
jmp 0x46b7f3
add edi, 0xc
or ecx, edx
mov ecx, ebx
sub esi, 0x2a62e79b
mov edx, ebx
add esi, ebx
shl ecx, 0xf
mov edx, ecx
xor ecx, edx
and esi, edx
and ecx, esi
mov esi, ecx
and ebx, 0x2a6517a2
not esi
jmp 0x46b743
add dword [esp + 0x2c], 0x20
add ebx, esi
sub ecx, edx
add edx, ecx
nop
xor edx, ebx
and esi, ecx
shr ecx, 0x11
xchg ebx, edx
inc edx
or ecx, edx
mov ecx, 0x2a681b24
and edx, esi
add esi, edx
xchg ecx, edx
jmp 0x46ddb2
mov dword [esp + 0x100], edi
xchg ebx, edx
sub ebx, esi
add ebx, ecx
mov ecx, 0x2a6f9d7f
add ebx, ecx
xor ebx, esi
sub edx, ecx
jmp 0x46cc40
add edi, dword [esp + 0x100]
or ecx, ebx
or ebx, 0x2a714aef
and ecx, 0x2a718b75
jmp 0x46c38e
add esp, 0x11c
add esi, edx
and ebx, ecx
and ecx, edx
neg edx
shr esi, 8
and edx, ebx
or ecx, esi
jmp 0x46d32f
movzx edi, word [edi]
sub ebx, ecx
or edx, 0x2aaf9678
xor ecx, esi
rol edx, 2
xchg edx, esi
or ebx, 0x2ab09ede
sub ebx, edx
jmp 0x46c09d
mov edi, dword [esp + 0x2c]
sub ecx, esi
mov ecx, 0x2abbc271
shr ecx, 0x19
add ebx, 0x2abc41bb
xor ebx, edx
add ecx, 0x2abccc7c
and edx, 0x2abd0a5f
jmp 0x46cb45
mov dword [esp + 0x2c], edi
shr esi, 1
xor edx, ecx
or edx, esi
mov ebx, ecx
jmp 0x46b79e
mul edi
mov edx, ebx
not ecx
dec ebx
mov edx, ebx
not edx
shr ecx, 0x1a
and edx, ecx
jmp 0x46d955
mul edi
and edx, ecx
xor esi, edx
xor ebx, ecx
xor ecx, esi
xor edx, ebx
nop
or ecx, esi
sub ecx, esi
xchg ecx, ebx
sub ebx, edx
sub ebx, ecx
sub esi, edx
or ebx, esi
shl ebx, 0x18
jmp 0x46c1c3
mov dword [esp + 0xbc], eax
xor ebx, 0x2afc1eb6
or esi, ebx
inc ebx
shr ebx, 0x1a
mov ebx, esi
dec ecx
or ebx, esi
rol ecx, 0xd
inc ebx
shl ebx, 0x11
jmp 0x46c7de
mov edi, dword [esp + 0x2c]
add ecx, esi
shr esi, 0x18
ror esi, 0x1f
rol edx, 0x1a
and ebx, 0x2b14bae8
inc ebx
xchg esi, ebx
xor edx, 0x2b158741
jmp 0x46ba68
mov edi, dword [edi]
add esi, edx
or esi, ebx
add edx, esi
not ecx
not ecx
mov esi, ecx
xor ecx, esi
xor edx, 0x2b1a3654
xor edx, ebx
and ebx, ecx
or edx, 0x2b1aef77
jmp 0x46c8ba
mov dword [esp + 0x2c], edi
sub ecx, ebx
xchg ebx, edx
and ebx, edx
or esi, 0x2b23b0dc
jmp 0x46b56f
mov edi, dword [edi]
or edx, 0x2b358740
rol edx, 8
add esi, ebx
xor esi, edx
and ecx, ebx
rol ecx, 0x10
xor esi, edx
or esi, 0x2b374f28
and esi, 0x2b378c88
shl esi, 0x16
or ebx, edx
add edx, 0x2b384d95
jmp 0x46b434
add edi, dword [esp + 0x2c]
or esi, ebx
neg esi
shr ebx, 0x17
shl ebx, 4
mov ebx, ecx
xchg esi, ebx
xor edx, ebx
neg edx
dec ebx
and ecx, 0x2b3d8f66
sub edx, ecx
xchg ecx, edx
bswap esi
jmp 0x46d1f2
push edi
sub ecx, esi
mov edx, 0x2b3ef0fe
mov esi, 0x2b3f3129
add edx, ebx
xor ecx, esi
dec ebx
dec ebx
jmp 0x46dada
add edi, 0xc
or edx, 0x2b40825f
mov ecx, esi
ror ecx, 1
mov ecx, 0x2b414e68
add edx, ebx
sub ebx, ecx
or esi, ecx
shl ecx, 0xe
jmp 0x46c752
inc edi
bswap ecx
shr ebx, 0x1f
mov edx, ecx
add edx, 0x2b71ae53
mov ecx, esi
xchg ecx, esi
sub esi, edx
not esi
and esi, ecx
mov ecx, ebx
sub esi, ebx
and ebx, ecx
jmp 0x46af8f
add dword [esp + 0x2c], 4
xor ecx, esi
mov ecx, edx
and edx, ecx
xor esi, 0x2b74c469
add ebx, esi
mov ecx, edx
xor ebx, 0x2b757f9f
sub edx, 0x2b75ccaf
xor esi, ecx
sub edx, ecx
mov esi, ebx
and ecx, 0x2b76c2ba
jmp 0x46b775
mov edi, dword [edi]
neg esi
xor ecx, 0x2b86f81b
or edx, esi
or ecx, ebx
not ecx
xchg ecx, esi
add esi, ebx
shl ecx, 0x16
jmp 0x46c307
sub dword [esp + 0x2c], 8
dec esi
xor edx, 0x2b91d23a
and ebx, edx
xor esi, edx
shl ecx, 0xa
sub edx, 0x2b92cd6c
add edx, ecx
inc esi
and esi, ecx
jmp 0x46c007
xor al, byte [edi]
and esi, edx
dec ecx
sub esi, ebx
xor ebx, esi
rol ebx, 0xd
mov edx, 0x2b9520fb
sub ebx, esi
or edx, ebx
mov esi, edx
ror edx, 1
and ebx, edx
and esi, ecx
or esi, edx
jmp 0x46d009
mov edi, dword [esp + 0x38]
add edx, 0x2b9dc3f5
xchg ebx, edx
and edx, esi
xor edx, ebx
mov esi, ebx
add ebx, esi
jmp 0x46b491
mov edi, dword [edi]
and esi, ecx
rol ebx, 0x17
shr esi, 5
not esi
xchg ecx, esi
xchg edx, esi
and esi, ecx
dec ebx
nop
sub edx, ebx
sub ecx, ebx
jmp 0x46b172
mov dword [esp + 0x2c], 0
mov ebx, esi
neg esi
add ebx, ecx
neg esi
mov edx, ebx
sub edx, 0x2bbc3661
xor ecx, ebx
bswap ebx
mov ecx, esi
sub ebx, edx
neg esi
and ebx, 0x2bbdbd0e
sub ecx, edx
xor ebx, 0x2bbe3b57
xchg esi, edx
jmp 0x46b93d
mov edi, dword [edi]
and ecx, esi
dec edx
sub ebx, ecx
shr edx, 0x1a
xor edx, 0x2bdd2530
add esi, ecx
jmp 0x46bc71
pop edi
mov ecx, ebx
xor ecx, ebx
xchg ecx, esi
shr ecx, 0x15
and esi, ebx
and esi, ebx
or esi, ebx
mov edx, ebx
rol esi, 0xf
not ecx
inc esi
ror esi, 0x1d
add esi, ebx
jmp 0x46de40
mov edi, dword [esp + 0x100]
xchg esi, edx
xchg esi, ebx
inc ecx
xchg esi, ecx
sub edx, ecx
dec esi
jmp 0x46d700
mov eax, 4
add ebx, ecx
or ebx, 0x2c0590ed
or ecx, esi
sub ecx, edx
and ebx, edx
sub ecx, ebx
and edx, ecx
add ecx, edx
xor edx, ecx
xchg ebx, esi
xchg ecx, ebx
mov edx, 0x2c08af62
dec ecx
xchg edx, esi
jmp 0x46bf4f
mov dword [esp + 0xbc], 0
mov ecx, ebx
shl esi, 0x12
dec esi
or edx, ebx
add esi, ebx
shl ebx, 0x14
sub ebx, edx
dec ecx
ror edx, 0x1c
sub edx, 0x2c193987
or edx, 0x2c197637
or edx, ecx
xor ecx, ebx
jmp 0x46d6dd
mov edi, dword fs:[edi]
sub ecx, edx
shr ecx, 7
xor esi, ebx
shl ebx, 5
shr edx, 1
xor esi, ecx
mov ecx, 0x2c1e1bec
mov edx, ecx
jmp 0x46bbb4
mov edi, dword [edi]
xchg ebx, ecx
mov ecx, esi
dec ecx
mov ebx, ecx
and esi, ebx
not esi
shl esi, 0xe
mov esi, ecx
sub ebx, esi
or edx, ecx
shl ebx, 6
add esi, ecx
xor esi, ebx
and ecx, esi
jmp 0x46dd03
mov dword [esp + 0x2c], edi
ror edx, 0x1f
and ebx, edx
shl edx, 3
xor esi, ecx
and ebx, edx
sub edx, esi
rol ecx, 4
sub esi, edx
shl ecx, 0xf
and esi, ecx
jmp 0x46d46d
rol eax, 8
add esi, edx
add ebx, 0x2c3aa132
sub esi, ecx
mov esi, ebx
xor ebx, esi
sub ebx, 0x2c3b93bf
dec esi
dec edx
jmp 0x46c64d
mov edi, dword [edi]
add edx, esi
bswap ebx
mov ecx, 0x2c5bb14c
xor edx, esi
xor ebx, ecx
mov esi, 0x2c5c69d4
mov ecx, esi
mov ebx, 0x2c5ce0c2
inc esi
and ebx, ecx
add esi, ebx
or edx, ecx
or edx, esi
and ecx, 0x2c5e6171
mov esi, 0x2c5e9f66
jmp 0x46c069
ret
add dword [esp + 0x2c], 0x78
xchg edx, esi
rol edx, 0x1c
xchg ebx, ecx
xor edx, ebx
neg esi
xchg edx, esi
or ebx, edx
shl edx, 0x1f
jmp 0x46d563
mov edi, dword [esp + 0x100]
sub esi, ecx
sub edx, ebx
ror edx, 8
xor ecx, esi
xor ebx, ecx
add ecx, 0x2cb87a23
jmp 0x46c4ef
mov dword [esp + 0x38], edi
and esi, 0x2cc858d3
shl ebx, 1
inc esi
xor ebx, 0x2cc99c08
sub edx, esi
xor edx, ebx
add ecx, ebx
jmp 0x46b6a2
mov dword [esp + 0x38], 0
add esi, ecx
rol esi, 0x11
and ebx, ecx
xor ebx, esi
or esi, ebx
not ebx
xor esi, ebx
sub ecx, edx
mov esi, ebx
jmp 0x46dc14
add edi, 0x3c
bswap ecx
or ebx, esi
add edx, ecx
add edx, esi
bswap esi
dec ecx
xchg ebx, edx
sub ebx, esi
mov ebx, edx
dec ebx
and edx, ebx
bswap esi
neg edx
jmp 0x46db53
add dword [esp + 0x38], 4
shr ebx, 0xf
mov ecx, 0x2cf8f9e0
add ecx, ebx
xchg ecx, esi
shr ebx, 7
dec ebx
or esi, edx
add edx, ecx
xchg ecx, esi
or edx, 0x2cfaefac
jmp 0x46c87c
add dword [esp + 0x2c], eax
xchg ebx, esi
sub ecx, ebx
xor edx, 0x2d1111de
xor edx, ecx
rol esi, 0x1d
mov ecx, ebx
or edx, ecx
and ebx, esi
xchg ecx, edx
add ebx, esi
jmp 0x46c2c1
xor eax, eax
not ebx
sub ecx, edx
add esi, 0x2d2d2e17
mov ecx, ebx
mov edx, ebx
and ecx, edx
shl esi, 3
mov ebx, 0x2d2e62f8
sub ecx, esi
rol ecx, 0x1d
xchg ecx, ebx
neg ecx
ror ecx, 4
jmp 0x46c804
mov edi, dword [edi]
sub edx, ecx
and esi, ecx
or ebx, edx
and edx, 0x2d361d09
add edx, ecx
neg esi
xor ecx, esi
and ecx, 0x2d371d27
and ecx, esi
add ebx, esi
bswap ecx
and esi, ecx
jmp 0x46cfae
mov dword [esp + 0x38], edi
inc edx
or ecx, esi
xchg esi, ebx
or esi, 0x2d3e560c
inc ecx
or edx, 0x2d3ee0bb
or esi, ecx
xor ecx, esi
jmp 0x46b0e1
mov dword [esp + 0x100], 0
not edx
and esi, edx
xchg ecx, esi
jmp 0x46c992
add edi, dword [esp + 0x100]
not edx
inc edx
shr edx, 0x16
mov esi, 0x2d55adf5
rol esi, 1
jmp 0x46d609
mov edi, dword [edi]
or ecx, ebx
xor ecx, esi
shr ebx, 0xc
and edx, esi
jmp 0x46bc54
mov edi, dword [esp + 0x2c]
add ecx, edx
rol edx, 0x14
mov edx, ebx
mov ecx, ebx
xchg ebx, edx
neg edx
sub ecx, ebx
jmp 0x46cf8a
cmp eax, dword [esp + 0x90]
jmp 0x46b665
sub esp, 0x11c
dec ecx
and esi, 0x2d6f6d9e
and edx, ecx
add ebx, 0x2d6ff633
sub ebx, ecx
sub ebx, 0x2d707255
jmp 0x46ce2c