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

Disassembly:
add edi, 0xc
not ebx
and esi, ebx
or ebx, 0x9f7d6f4c
mov ecx, 0x9f7da89f
mov ecx, 0x9f7df15f
add edx, ecx
and esi, ecx
shr esi, 8
jmp 0x46df3f
cmp byte [edi], 0
jmp 0x46db3e
add esp, 0x150
and ebx, ecx
xchg edx, ecx
xchg edx, ecx
sub esi, 0x9fc8469f
jmp 0x46d9bd
inc dword [esp + 0x80]
or esi, 0x9fcc78b1
rol esi, 0xf
sub ebx, esi
shl esi, 0x11
or ebx, ecx
add edx, esi
xor esi, 0x9fcddab8
ror ecx, 5
add ecx, esi
or ecx, 0x9fce89dc
sub edx, ebx
jmp 0x46e6a2
add dword [esp + 0x138], edi
mov ecx, ebx
xor esi, ecx
bswap esi
add esi, 0x9fe76ee5
add edx, ebx
ror esi, 9
xor edx, ebx
and ebx, 0x9fe85e4c
or ebx, esi
shl ebx, 2
jmp 0x46c9ef
mov eax, 2
sub esi, ebx
and ebx, 0x9ff4062a
and ebx, 0x9ff442c5
mov ecx, edx
rol edx, 0x14
sub ebx, ecx
sub ecx, ebx
or ebx, esi
add edx, 0x9ff5add0
sub ecx, esi
mov ecx, 0x9ff623dd
neg ebx
dec ecx
bswap ecx
ror ecx, 5
sub ebx, edx
jmp 0x46e9d7
mov edi, dword [esp + 0x10c]
inc ecx
sub edx, 0x9ff7db21
xchg esi, ecx
or edx, esi
mov ebx, ecx
sub ecx, edx
sub esi, ecx
jmp 0x46c456
mov edi, dword [esp + 0x138]
shl ebx, 0x1f
mov edx, ecx
xor esi, ecx
inc ebx
mov edx, ebx
or esi, ebx
jmp 0x46d8cc
mov edi, dword [esp + 0xb8]
bswap ebx
xchg ebx, ecx
not ebx
bswap esi
xor esi, ecx
sub esi, ebx
or ebx, ecx
mov ecx, 0xa0274727
add esi, edx
jmp 0x46cb25
rol eax, 8
and ecx, esi
xchg ebx, esi
xor edx, ebx
add ecx, edx
xor ecx, edx
xchg ebx, esi
or esi, ecx
sub edx, esi
not edx
or esi, 0xa0340305
sub esi, ebx
xor ebx, edx
add ecx, ebx
ror esi, 0xd
jmp 0x46ea66
add dword [esp + 0x138], 4
rol edx, 0x19
and edx, ecx
mov ecx, 0xa03b7df5
mov edx, ebx
sub ecx, ebx
mov ecx, esi
xor ecx, ebx
sub ecx, ebx
jmp 0x46e89c
mov edi, dword [edi]
xor ecx, ebx
xor edx, ecx
add edx, ecx
and esi, 0xa0444166
or ecx, edx
xchg ecx, ebx
mov edx, ebx
sub ecx, esi
jmp 0x46d910
mov dword [esp + 0xb8], edi
add edx, esi
mov esi, ebx
mov esi, 0xa04de588
or edx, 0xa04e2045
and esi, ecx
not ecx
or ebx, ecx
xchg ebx, edx
shr edx, 0x16
add ebx, 0xa04f8e43
jmp 0x46b9c7
add edi, dword [esp + 0x10c]
xor ecx, edx
or ecx, 0xa06545f5
jmp 0x46c11f
mov dword [esp + 0xb8], 0
bswap edx
xchg edx, esi
add ecx, edx
sub esi, edx
and ecx, esi
jmp 0x46d7d1
add edi, dword [esp + 0x10c]
and ebx, esi
dec esi
add esi, edx
mov ebx, esi
add ecx, 0xa06fdd1a
bswap esi
rol edx, 7
ror ecx, 0xf
and edx, esi
inc ebx
add ebx, ecx
add ecx, 0xa07188db
mov esi, 0xa071c4d7
jmp 0x46b982
add edi, 0xc
ror edx, 0xd
or edx, ecx
sub ecx, ebx
mov ecx, ebx
nop
xor ebx, ecx
add esi, edx
neg ebx
dec edx
add ecx, esi
not ecx
or ecx, ebx
inc ebx
add esi, edx
add esi, ecx
xor ecx, esi
jmp 0x46e4f4
mov dword [esp + 0xc8], edi
xchg ecx, esi
mov ecx, 0xa07d0437
add ecx, 0xa07d4a82
sub ecx, esi
mov edx, 0xa07dc0e7
sub ecx, edx
dec edx
dec esi
jmp 0x46cd5d
add edi, 0x3c
mov edx, ebx
neg edx
inc ecx
xor ebx, 0xa0863660
xchg edx, ecx
mov esi, 0xa086af07
bswap ebx
neg edx
jmp 0x46c0a0
mov edi, dword [edi]
neg esi
xchg esi, ecx
sub edx, ebx
sub edx, esi
xchg ecx, esi
and ebx, 0xa093a0a2
rol edx, 3
and ebx, ecx
and ebx, ecx
jmp 0x46c6c9
pop edi
xor esi, ebx
xchg ebx, edx
sub esi, ecx
or edx, esi
shr ecx, 0x1e
and esi, edx
add ebx, ecx
nop
sub edx, ebx
jmp 0x46e8b3
add edi, dword [esp + 0x10c]
add edx, esi
and edx, ebx
dec ecx
mov ebx, edx
inc esi
add edx, ecx
mov ebx, 0xa0b5b4a0
bswap edx
xchg ebx, esi
jmp 0x46db1a
mov edi, dword [esp + 0x138]
xchg ecx, ebx
mov edx, ebx
neg edx
inc esi
mov ebx, ecx
xchg ebx, esi
shr edx, 0xc
xor ecx, ebx
xor edx, ecx
mov ecx, 0xa0cc4201
jmp 0x46c51f
add dword [esp + 0x138], 0x20
and edx, esi
xchg ecx, esi
sub ebx, 0xa0ec34ab
jmp 0x46d46a
add edi, dword [esp + 0x80]
xchg esi, ebx
and edx, esi
mov ecx, edx
jmp 0x46e916
mov edi, 0x30
or ebx, ecx
or edx, ebx
neg ecx
add esi, ebx
sub esi, ebx
sub edx, ebx
dec esi
or esi, ecx
xor ecx, edx
mov ebx, edx
mov ebx, ecx
jmp 0x46d0c9
add edi, dword [esp + 0x10c]
sub ebx, esi
neg esi
add esi, 0xa13586dc
mov ecx, esi
jmp 0x46eb4e
mov edi, dword [edi]
add ebx, ecx
xchg esi, ebx
and ecx, ebx
jmp 0x46de0c
mul edi
mov ecx, ebx
add ebx, edx
and esi, edx
bswap edx
xor edx, esi
xor edx, esi
or ebx, edx
bswap edx
mov ebx, ecx
jmp 0x46d344
mov edi, dword fs:[edi]
xor ecx, 0xa1679084
or edx, 0xa167db52
inc ecx
dec ebx
mov ebx, ecx
shl ebx, 9
mov edx, 0xa16903c1
jmp 0x46b559
add edi, 0x18
mov edx, 0xa16ddcd8
shr edx, 0xd
add edx, 0xa16e577e
xchg esi, ebx
mov ecx, esi
or ecx, ebx
and edx, 0xa16f489b
ror edx, 0xc
xor esi, edx
rol esi, 0x18
add esi, 0xa1703bcb
jmp 0x46d668
mov edi, dword [edi]
mov edx, esi
xchg ecx, edx
sub ecx, 0xa170fb51
inc ecx
sub edx, esi
jmp 0x46d11c
mov dword [esp + 0x80], eax
bswap esi
bswap edx
add edx, esi
add edx, esi
mov esi, edx
dec ecx
shl ecx, 0xf
add esi, ecx
mov edx, 0xa3883133
add ecx, edx
mov ebx, esi
ror esi, 0xb
bswap ecx
jmp 0x46ddb7
mov edi, dword [edi]
and esi, ebx
dec ecx
or ebx, ecx
add ecx, ebx
not ebx
xor edx, 0xa39de93b
xor ebx, ecx
xor ecx, edx
mov ebx, 0xa39e908e
jmp 0x46c28f
mov edi, dword [esp + 0x138]
mov ebx, ecx
and esi, 0xa46fdb0b
sub ecx, edx
add esi, 0xa47059f3
xor ecx, ebx
jmp 0x46d3f9
mov edi, dword [edi]
xor edx, 0xa49b3be4
xor edx, esi
and ecx, esi
and edx, ecx
not ecx
or ebx, esi
xchg edx, ecx
shr ecx, 0xf
jmp 0x46e3c1
mov dword [esp + 0x10c], 0
add edx, 0xa4b454a8
mov edx, 0xa4b48e6f
nop
rol edx, 0x1e
and esi, 0xa4b974da
not ebx
jmp 0x46e9a5
jne 0x46b9c7
xchg edx, esi
xor edx, ecx
add ecx, 0xa4c49265
sub esi, edx
xor edx, ecx
mov esi, ecx
ror ebx, 0xf
or edx, ebx
not ebx
add edx, ecx
jmp 0x46c023
mov edi, dword [edi]
sub ebx, 0xa4c83f90
mov ecx, esi
xchg ebx, esi
add ebx, esi
sub edx, ecx
add edx, 0xa4c963cc
and ecx, 0xa4c99cf3
jmp 0x46c333
mov dword [esp + 0x138], edi
mov edx, 0xa4cc0f07
inc ebx
inc ecx
mov edx, ebx
sub edx, ecx
xchg ecx, edx
sub ecx, 0xa4cd7c41
mov esi, ebx
xor edx, ecx
and ecx, edx
xchg esi, ecx
ror edx, 0x19
jmp 0x46e4a4
ret
mov dword [esp + 0x138], edi
add ebx, ecx
or esi, ecx
mov ebx, 0xa4f59173
sub esi, ecx
xchg ebx, edx
add esi, edx
rol ebx, 9
and edx, esi
and edx, ecx
mov esi, ecx
jmp 0x46bef7
jne 0x46de52
or ecx, 0xa4f77550
or esi, ebx
or ecx, ebx
inc ecx
mov ecx, esi
xor ebx, 0xa4f89d32
and ecx, 0xa4f8d64c
jmp 0x46c6b1
xor eax, eax
xor ecx, ebx
xor edx, ebx
ror edx, 0x1d
dec esi
shr edx, 0x1d
sub ebx, edx
dec ecx
xchg ebx, esi
shl edx, 3
jmp 0x46de52
sub dword [esp + 0x138], 8
xor ebx, ecx
sub edx, esi
mov ebx, ecx
mov edx, esi
and ecx, ebx
mov edx, esi
add ebx, 0xa5220d43
sub edx, 0xa522466b
mov ecx, esi
mov esi, 0xa522c2c0
and esi, edx
or ecx, ebx
jmp 0x46c806
add edi, dword [esp + 0x10c]
dec esi
nop
or ecx, edx
mov esi, edx
xor esi, ecx
mov ecx, edx
or ecx, edx
xor esi, ebx
add edx, ecx
jmp 0x46ebf7
xor al, byte [edi]
xor esi, ecx
and edx, ecx
and ecx, ebx
xchg esi, ecx
or ebx, 0xa52ae8c3
inc ecx
xor esi, edx
bswap ebx
add ebx, ecx
jmp 0x46bfa7
sub esp, 0x150
neg edx
xchg edx, ebx
bswap edx
sub ecx, 0xa53547d9
xchg ebx, esi
xor ebx, ecx
sub ecx, ebx
or esi, ecx
mov edx, 0xa536702c
and edx, 0xa536ad62
jmp 0x46e605
mov edi, dword [edi]
xor esi, edx
bswap edx
inc ebx
jmp 0x46c364
mov edi, dword [edi]
not ebx
add ecx, ebx
shr ecx, 0x1f
or ecx, edx
sub esi, 0xa53bbf9f
xor ecx, 0xa53bf8bb
shl ecx, 0x1d
mov ecx, edx
or ecx, 0xa53cb068
bswap esi
or ecx, 0xa53d29b8
shr ecx, 0x18
bswap ebx
sub esi, 0xa53dda8b
jmp 0x46e948
movzx edi, word [edi]
and ebx, 0xa56a9a01
xchg ebx, esi
mov ecx, edx
sub ecx, 0xa56b4b5f
or ecx, edx
add ecx, esi
jmp 0x46eb2d
mov dword [esp + 0x10c], edi
mov esi, edx
shl esi, 5
xchg edx, esi
or esi, edx
add esi, 0xa5911e51
shl esi, 0x10
mov esi, ecx
jmp 0x46bc5f
mov edi, dword [esp + 0x10c]
sub ebx, 0xa596c6fe
shl edx, 0xb
mov esi, ecx
or ebx, esi
or ecx, 0xa597ad93
xor esi, 0xa597e694
and edx, ebx
bswap ecx
jmp 0x46bb5d
add dword [esp + 0x138], 0x78
sub esi, ebx
or edx, 0xa59e0ec6
add esi, 0xa59e4b52
bswap esi
and esi, 0xa59ecae1
xchg ecx, edx
rol edx, 5
sub edx, ebx
rol ebx, 0x12
jmp 0x46e637
mov edi, dword [edi]
and ecx, edx
mov ebx, esi
mov esi, ebx
jmp 0x46eb0f
add dword [esp + 0x138], eax
add ecx, esi
mov esi, ebx
jmp 0x46be3a
mov dword [esp + 0x80], 0
xor edx, esi
shl edx, 8
mov esi, 0xa5b37a88
xor ebx, esi
mov esi, edx
xchg ecx, esi
shl edx, 8
and ecx, edx
xchg ebx, esi
shr ecx, 0x13
xor esi, ecx
or ecx, edx
and ebx, edx
neg edx
jmp 0x46c30b
mov edi, dword [esp + 0x10c]
xchg esi, ecx
neg ecx
shr ecx, 0xb
sub esi, 0xa5b70f73
xor edx, ecx
rol ecx, 0x10
or esi, edx
sub edx, 0xa5b844d1
mov ebx, esi
jmp 0x46e8d8
add dword [esp + 0xb8], 4
neg esi
and ecx, ebx
xchg esi, edx
rol ecx, 0x1d
xor esi, 0xa5bd3787
xor ebx, 0xa5be0449
or esi, edx
sub esi, edx
add edx, ebx
or edx, ecx
add ecx, esi
shl esi, 0x10
shl edx, 0x1e
jmp 0x46e85b
mov edi, dword [esp + 0xb8]
xor ecx, esi
sub ebx, edx
rol esi, 0xb
and ecx, 0xa5dadee5
sub esi, edx
xor ecx, ebx
sub ebx, edx
not ebx
neg ecx
xor edx, ebx
xor ebx, ecx
mov esi, ecx
sub ecx, ebx
not esi
sub esi, ebx
jmp 0x46e8bf
mov edi, dword [esp + 0x138]
dec ecx
sub edx, 0xa5df4a9c
add esi, edx
mov esi, edx
jmp 0x46ce2e
cmp eax, dword [esp + 0xc8]
jmp 0x46d885
mov edi, dword [edi]
add ecx, 0xa5e01715
mov esi, edx
xor ebx, 0xa5e08d46
sub esi, ecx
sub edx, ebx
jmp 0x46cdec
add edi, dword [esp + 0x138]
xor edx, esi
ror edx, 0x1e
or edx, 0xa5e1d8ae
and ebx, edx
xor ebx, ecx
or edx, ebx
sub ecx, esi
mov ecx, esi
mov ecx, esi
mov ecx, ebx
jmp 0x46df4b
mov eax, 4
mov ecx, esi
mov ecx, 0xa5e5f14f
add esi, 0xa5e62d77
ror ecx, 0x1a
xor ecx, 0xa5e6a4d8
or ebx, 0xa5e6ed40
mov edx, 0xa5e726e2
mov esi, 0xa5e77269
xor esi, ebx
jmp 0x46e195
mov dword [esp + 0x138], edi
neg ecx
xor esi, edx
rol edx, 9
add ecx, ebx
shl ebx, 0x10
not edx
add edx, esi
shl esi, 9
not ebx
or ebx, edx
mov ebx, edx
or ebx, 0xa5eba4a5
add ecx, edx
dec edx
mov esi, edx
inc ebx
jmp 0x46e430
mov dword [esp + 0x138], 0
or ecx, 0xa5f06878
xor ebx, ecx
or esi, 0xa5f0de85
nop
xchg esi, ebx
neg edx
rol edx, 0x13
jmp 0x46c3c9
mov edi, dword [esp + 0x80]
neg edx
mov edx, 0xa5f307d1
mov ebx, edx
neg esi
sub esi, ecx
and esi, ebx
jmp 0x46cf5b
inc edi
sub edx, ecx
add esi, ebx
and ebx, esi
or esi, edx
and ecx, 0xa5fdb137
inc ebx
xor esi, 0xa5fe2899
xchg ecx, ebx
or edx, ecx
jmp 0x46b940
mov edi, dword [edi]
add edx, 0xa60830fd
mov ebx, ecx
add ebx, ecx
rol esi, 0xd
or esi, 0xa60925a2
and ebx, esi
or esi, ebx
jmp 0x46d14c
mul edi
xchg edx, esi
dec esi
mov esi, edx
sub edx, esi
sub ebx, 0xa60ad330
xor ebx, esi
xor ebx, 0xa60b4818
xchg esi, edx
not esi
inc edx
jmp 0x46e501
push edi
or ebx, ecx
xor ecx, esi
mov ecx, ebx
mov edx, ebx
shl esi, 2
add ecx, esi
sub ebx, ecx
not ebx
xor ebx, esi
or edx, 0xa60e6db5
xchg edx, esi
jmp 0x46dbb7
mov dword [esp + 0xb8], edi
mov ecx, esi
or ecx, ebx
xor edx, ecx
xor ecx, edx
xor ebx, 0xa61750eb
mov ebx, edx
neg ecx
xor ebx, ecx
xchg esi, ebx
add esi, ecx
sub ebx, edx
xchg ecx, esi
xchg ebx, esi
sub ecx, edx
or ebx, esi
jmp 0x46bc25