Function at 0x46bb8c
Capabilities:
Encrypt data using chaskey

Disassembly:
mov edx, dword [edx]
inc ecx
neg edi
or edi, esi
xor ebx, 0x88b72f27
xchg esi, ecx
rol ecx, 0xa
xor edi, ebx
xchg ecx, ebx
sub ecx, esi
jmp 0x46a21f
mov edx, dword [edx]
inc ecx
or ebx, edi
sub edi, esi
add ebx, ecx
jmp 0x469bc3
movzx edx, word [edx]
and esi, 0x88ea6d49
sub edi, 0x88eac2e5
nop
dec ebx
bswap ecx
add edi, ecx
mov edi, ecx
rol ecx, 0x14
dec ebx
or edi, ecx
inc ecx
jmp 0x46a204
cmp eax, dword [esp + 0xa4]
jmp 0x46b45d
mov eax, 2
and ecx, 0x891641bf
inc ebx
or esi, 0x8917606c
dec esi
shl esi, 0x18
add edi, 0x891a4b24
xchg ebx, edi
or ebx, 0x891baef6
mov edi, ecx
sub ebx, esi
sub esi, 0x891d161f
and esi, edi
jmp 0x46ba9b
cmp byte [edx], 0
jmp 0x46a7e9
mul edx
xor ecx, 0x894b0b0a
xchg ebx, esi
bswap ecx
and esi, ebx
xor ecx, ebx
add esi, ebx
mov edi, esi
and ecx, esi
sub ebx, 0x894dc652
or ebx, ecx
jmp 0x46b0d7
mov edx, dword [edx]
xchg ecx, edi
neg edi
sub ebx, esi
mov edi, 0x894fa7cf
and edi, ebx
jmp 0x46a8e3
mov edx, dword [edx]
not ecx
or edi, ebx
shl edi, 0x10
and ebx, esi
and ebx, esi
xor ebx, esi
not esi
sub edi, esi
neg edi
or ebx, edi
not edi
mov ecx, 0x8954319d
jmp 0x46b54a
rol eax, 8
mov edi, ecx
xchg edi, esi
sub ebx, edi
xchg ecx, ebx
and ecx, edi
and ecx, 0x89744dc9
xor esi, 0x8974a5b3
or esi, 0x8974fa8f
and edi, esi
inc ecx
add esi, ebx
or edi, 0x89766814
jmp 0x46b9e3
add edx, 0xc
and esi, ebx
add esi, 0x8984a03c
xor ecx, ebx
sub ebx, ecx
and ecx, edi
sub esi, 0x898722b8
bswap esi
jmp 0x469df8
mov edx, dword [edx]
and esi, 0x89cf4be4
mov ebx, edi
inc edi
sub esi, ecx
sub ecx, 0x89d1a366
mov ecx, ebx
or ecx, esi
sub edi, ebx
and ecx, ebx
or esi, edi
jmp 0x469ab2
add edx, 0xc
ror ebx, 8
dec esi
mov ecx, edi
xor ecx, esi
shl edi, 0x1e
mov ecx, edi
mov edi, ecx
neg ecx
and esi, ebx
xor esi, 0x89d90925
jmp 0x46969e
mov edx, dword [esp + 0xc4]
mov ebx, edi
sub edi, ecx
mov ebx, esi
shr esi, 7
xchg edi, ecx
or esi, ebx
neg ebx
add ecx, ebx
and edi, ecx
add edi, ebx
or ebx, 0x89dce22e
ror ebx, 0x1c
and esi, edi
xor edi, ecx
jmp 0x46ad7a
mov dword [esp + 0x4c], 0
add edi, esi
and ebx, edi
sub ecx, 0x89f2b075
xor esi, ebx
and ecx, 0x89f35cce
sub ecx, esi
or ecx, ebx
or edi, 0x89f475a4
sub edi, 0x89f4caac
xchg edi, esi
jmp 0x46a293
add dword [esp + 0xc4], 4
dec edi
not ebx
ror ebx, 0x1c
or esi, 0x89ffb437
bswap esi
or edi, 0x8a00c0a6
xchg ebx, esi
xchg edi, esi
xchg edi, ecx
sub edi, ebx
xor ebx, 0x8a03ecbb
inc esi
xor ecx, esi
add esi, 0x8a05bd37
add ebx, edi
jmp 0x469e3b
mov dword [esp + 0xc4], edx
mov edi, ecx
sub ebx, esi
sub esi, edi
and edi, ecx
add esi, 0x8a1441f9
mov edi, esi
xchg ebx, edi
mov ecx, ebx
jmp 0x46a881
mov edx, dword [esp + 0xc4]
mov ebx, esi
xor ecx, 0x8a1bb246
add ecx, esi
or edi, esi
or esi, 0x8a1d929c
jmp 0x46a55f
push edx
neg ecx
xor ebx, 0x8a2943c6
xor esi, ecx
mov edi, ecx
bswap ecx
xor ecx, esi
jmp 0x46b3bf
inc dword [esp + 0x4c]
xor ecx, 0x8a3b4697
mov edi, esi
xor ecx, esi
and edi, esi
dec ecx
rol ebx, 5
xor esi, 0x8a3f00bf
jmp 0x46b9a7
mul edx
xchg edi, ebx
add ebx, edi
xchg edi, ecx
mov ebx, esi
or esi, 0x8a4b3fe8
or esi, ebx
and edi, ebx
xchg ebx, esi
jmp 0x46b6a8
mov dword [esp + 0x158], edx
and edi, ecx
mov esi, edi
xchg edi, ecx
dec ebx
and ebx, ecx
and edi, esi
or ebx, edi
jmp 0x46b79a
ret
mov dword [esp + 0xd4], 0
xchg edi, ebx
xchg ebx, esi
xor ecx, 0x8a624beb
shr ecx, 0x17
sub ecx, ebx
ror ebx, 0x18
mov edi, ebx
neg ecx
and ebx, edi
add ecx, edi
neg esi
jmp 0x46ad36
add edx, dword [esp + 0x158]
rol ebx, 0x1c
rol edi, 0x13
sub esi, edi
not ebx
sub ebx, esi
sub ebx, edi
add esi, edi
jmp 0x46b1d7
add dword [esp + 0xc4], 0x20
dec esi
or esi, ebx
add edi, 0x8aa6f94c
add edi, ecx
and esi, 0x8aa7b97a
ror esi, 0x16
xchg esi, edi
sub ecx, edi
mov esi, 0x8aa91095
jmp 0x46a812
mov edx, dword [edx]
or esi, edi
mov ebx, esi
shl esi, 7
dec ebx
and edi, ebx
mov edi, 0x8aab4836
inc ebx
jmp 0x46ae1b
add dword [esp + 0xc4], 0x78
xchg ebx, edi
xor ecx, ebx
xor ebx, 0x8ab02558
and esi, ecx
or ecx, edi
inc ebx
or esi, ebx
mov edi, 0x8ab1ce24
jmp 0x46ab8d
mov dword [esp + 0xc4], 0
bswap ebx
xchg ecx, ebx
and edi, esi
or ecx, ebx
add ecx, 0x8ad2f85c
or edi, esi
ror ecx, 6
sub edi, 0x8ad3fc9f
rol ebx, 0x1c
mov esi, edi
jmp 0x46af19
jne 0x46b1b6
rol ecx, 0x1f
not esi
and edi, ecx
mov edi, ebx
mov esi, 0x8ae9900d
or ecx, 0x8ae9e9be
sub edi, 0x8aea3ec8
mov ecx, esi
not edi
jmp 0x46adc2
mov edx, dword [esp + 0xc4]
ror edi, 0xf
or ebx, edi
xor ebx, 0x8aec209d
xor edi, ebx
jmp 0x46b754
mov edx, dword [esp + 0x158]
sub ecx, 0x8af5d2aa
xchg ebx, esi
add ecx, 0x8af6810a
or ebx, esi
inc ecx
mov ecx, ebx
rol ebx, 2
xor ecx, edi
and edi, ebx
sub ecx, edi
or edi, esi
jmp 0x46aebc
mov dword [esp + 0xc4], edx
xor ebx, esi
xor edi, 0x8b013de2
and ecx, esi
sub ebx, edi
jmp 0x46a59b
mov edx, dword [edx]
not ebx
mov ecx, 0x8b02c990
xchg ecx, ebx
and edi, ecx
mov esi, 0x8b03dea8
xchg ecx, edi
sub edi, ecx
inc ebx
and edi, ecx
xor ecx, 0x8b058c8d
xchg esi, edi
ror ecx, 0x13
jmp 0x46ab06
mov edx, dword [esp + 0xc4]
xchg ebx, ecx
sub ecx, ebx
xor ebx, edi
neg ebx
or edi, esi
add edi, ebx
inc esi
xor esi, ecx
sub esi, edi
bswap esi
ror edi, 6
xchg ebx, esi
or ebx, 0x8b153db7
add esi, 0x8b1592aa
jmp 0x46b7bb
add edx, dword [esp + 0x158]
xor ecx, edi
sub ecx, 0x8b386d2c
xchg ecx, edi
neg ecx
xor edi, ecx
xchg ebx, esi
shl edi, 0x1d
inc ebx
add edi, ebx
or ebx, esi
or ebx, 0x8b3b87e0
sub edi, ebx
mov edi, ebx
xor esi, ebx
and esi, ecx
jmp 0x46b690
add edx, dword [esp + 0x158]
sub ebx, ecx
xor ebx, esi
and ebx, esi
or esi, edi
or ebx, edi
add ebx, 0x8b40d26a
sub ebx, edi
or esi, ecx
xchg esi, edi
shr esi, 0x1c
and edi, 0x8b4299cd
shl esi, 9
jmp 0x46a0d8
mov edx, dword [esp + 0x158]
mov ebx, 0x8b4d04cd
or edi, esi
and ecx, esi
add edi, ecx
shl esi, 0x1d
add ecx, 0x8b4ec463
shl esi, 0xd
xor ebx, 0x8b4f72ed
rol ebx, 1
jmp 0x46acc2
add edx, dword [esp + 0xc4]
sub ecx, esi
and esi, ecx
xchg ebx, edi
shr esi, 0xa
bswap edi
sub ecx, esi
shl ecx, 0xe
jmp 0x46aee3
mov dword [esp + 0x158], 0
sub esi, ebx
and ebx, 0x8b75a734
inc ebx
and esi, ebx
mov ebx, ecx
shr ecx, 0xe
add esi, ecx
or ebx, edi
and ecx, ebx
jmp 0x46a700
mov edx, dword [edx]
rol ecx, 7
inc ecx
add ecx, 0x8b7bc668
shr ebx, 4
mov esi, ebx
xchg edi, esi
inc edi
bswap ecx
and ecx, ebx
xchg esi, ebx
or ebx, 0x8b7e8d14
sub ebx, ecx
jmp 0x46b975
pop edx
nop
bswap ebx
xor esi, ebx
add ebx, ecx
jmp 0x469732
add edx, dword [esp + 0x158]
add ebx, edi
add ebx, ecx
add ebx, 0x8b8ba4a3
neg ecx
shr esi, 8
bswap ebx
xor esi, 0x8b8d1c2b
rol edi, 0x19
jmp 0x46b92b
add dword [esp + 0xc4], edx
mov edi, ecx
and ebx, edi
not ebx
neg ecx
xor esi, ebx
neg ecx
dec ecx
add ecx, edi
and esi, ecx
mov ecx, esi
xor esi, 0x8b9eb742
and ecx, ebx
jmp 0x46a535
mov edx, dword [edx]
and ebx, ecx
or ecx, 0x8b9fd1c7
xchg esi, ecx
add ebx, ecx
mov edi, ebx
sub esi, 0x8ba12219
sub ecx, edi
or esi, 0x8ba1cf42
sub esi, edi
mov edi, ebx
and esi, ecx
mov esi, edi
mov esi, edi
mov esi, 0x8ba3dd17
shl esi, 0x1f
dec ecx
jmp 0x46a01a
mov dword [esp + 0xa4], edx
mov ebx, ecx
or ecx, 0x8ba552b1
sub edi, ecx
add edi, ecx
or ebx, edi
add ecx, 0x8ba6a58e
add edi, ebx
xor ecx, ebx
or ecx, 0x8ba7bb21
or esi, edi
sub edi, ebx
and ebx, 0x8ba8b87d
mov ebx, esi
jmp 0x46b39b
mov edx, dword [esp + 0xd4]
and ebx, esi
add ebx, 0x8ba9d299
sub edi, 0x8baa2bf6
xor ebx, 0x8baa80e9
sub edi, ecx
mov ebx, ecx
or ebx, edi
or edi, ecx
xchg ebx, esi
and ecx, esi
jmp 0x46a8fb
mov dword [esp + 0x4c], eax
add edi, ebx
sub ecx, edi
mov ebx, esi
add ecx, edi
jmp 0x46b535
xor al, byte [edx]
or ecx, ebx
sub edi, 0x8bea3886
xchg ecx, edi
sub ecx, edi
xchg esi, ebx
xchg ebx, edi
inc esi
bswap ecx
sub edi, ecx
rol esi, 0x14
mov edi, ecx
jmp 0x469b21
mov dword [esp + 0xd4], edx
inc edi
xchg ebx, ecx
xchg ecx, edi
xchg esi, ebx
add ebx, ecx
mov ebx, edi
and esi, edi
jmp 0x46a180
mov dword [esp + 0xd4], edx
inc ecx
xor esi, 0x8bfe8060
rol ecx, 4
not ebx
add edi, ecx
and ecx, 0x8bffdd41
ror edi, 0x1e
and esi, ecx
xchg esi, edi
mov ebx, ecx
xor ecx, esi
and esi, ecx
xor ebx, ecx
sub esi, 0x8c029d11
jmp 0x469885
mov edx, dword [esp + 0xd4]
sub edi, 0x8c06a5ab
xor esi, ecx
and ecx, 0x8c07502a
add esi, edi
rol ecx, 0x15
and ebx, esi
and esi, edi
mov ecx, 0x8c09100c
jmp 0x46b771
mov edx, 0x30
inc ecx
add ebx, 0x8c2001aa
xor ecx, ebx
mov edi, 0x8c20adbc
neg ebx
and edi, esi
shr ecx, 0x1d
or ebx, ecx
rol edi, 0xb
jmp 0x46b495
xor eax, eax
mov edi, esi
add ecx, esi
and edi, esi
neg edi
xor ebx, edi
jmp 0x46b1b6
jne 0x46a180
neg ebx
rol edi, 0x10
sub ebx, edi
xchg esi, ecx
xor esi, ecx
xchg esi, ebx
mov edi, esi
sub ecx, ebx
jmp 0x469f76
mov edx, dword fs:[edx]
and ebx, ecx
or esi, ecx
shr esi, 6
mov edi, esi
jmp 0x469e1a
add edx, 0x18
xor ebx, esi
or edi, 0x8c4b0ad6
sub esi, 0x8c4bcbfd
not ecx
jmp 0x46952e
sub dword [esp + 0xc4], 8
sub ebx, edi
xchg ebx, esi
sub ebx, ecx
add ebx, ecx
jmp 0x46a97d
mov edx, dword [edx]
xchg ecx, edi
ror edi, 0x14
add edi, 0x8c561482
inc edi
or edi, 0x8c56c40b
or edi, ebx
mov esi, 0x8c576e85
sub ebx, esi
or edi, ebx
jmp 0x46b4ea
mov dword [esp + 0xc4], edx
xchg ebx, esi
or ecx, esi
and ebx, esi
mov edi, ebx
inc esi
ror edi, 0x1b
jmp 0x46b2a1
add dword [esp + 0xc4], eax
xor edi, ebx
dec ecx
neg ecx
sub esi, ecx
add edi, ecx
xor esi, edi
bswap ecx
mov esi, edi
sub ebx, edi
ror ebx, 0x1a
sub edi, esi
xor ebx, 0x8c7c2b43
jmp 0x46a068
mov edx, dword [edx]
mov ebx, ecx
add edi, ecx
mov esi, ecx
xor ebx, ecx
or edi, 0x8c90443c
xor edi, 0x8c90b38e
and ecx, edi
jmp 0x46a4b9
add edx, dword [esp + 0x4c]
rol ecx, 0xf
or esi, edi
add ecx, 0x8c9226fc
xor ecx, 0x8c927f2d
and edi, esi
xchg edi, ebx
xchg ebx, ecx
and ebx, edi
xchg esi, ecx
neg edi
jmp 0x46bab7
mov edx, dword [esp + 0x158]
and ecx, edi
inc ecx
dec esi
shl ecx, 5
sub ebx, ecx
and ebx, 0x8c96cc0a
sub ebx, ecx
sub ecx, edi
xchg edi, ebx
jmp 0x46b823
mov edx, dword [edx]
xor edi, 0x8c984020
not edi
xchg ecx, ebx
or ebx, 0x8c994446
or ecx, edi
neg ecx
mov ebx, edi
not edi
bswap esi
shr esi, 0x1c
shl esi, 0x11
xor ecx, ebx
xchg esi, edi
xchg edi, ecx
sub ebx, edi
jmp 0x46aac0
add edx, 0x3c
not ebx
add ebx, esi
add ecx, esi
not ebx
mov ebx, esi
sub ecx, 0x8ca51b77
shl edi, 8
bswap esi
jmp 0x469a9e
add esp, 0x160
ror ecx, 0xe
xor esi, edi
xor esi, ebx
xchg edi, ebx
and esi, edi
sub ecx, edi
mov ebx, ecx
shr esi, 4
add ecx, ebx
or ecx, 0x8cc26887
mov esi, ecx
dec esi
xor edi, 0x8cc36aa1
sub esi, edi
add ecx, edi
jmp 0x46a238
add edx, dword [esp + 0x158]
shl ecx, 1
mov esi, edi
ror esi, 0x19
xchg ebx, edi
neg ecx
mov edi, ecx
xchg ebx, ecx
sub ecx, 0x8cc874c7
xchg ebx, ecx
xor edi, 0x8cc93b06
or ebx, ecx
or ecx, ebx
xor ecx, esi
add edi, ebx
jmp 0x46b24d
add dword [esp + 0xd4], 4
bswap edi
sub ebx, ecx
bswap edi
inc ecx
ror edi, 0x1a
jmp 0x46af4f
inc edx
sub esi, 0x8cd182b5
or esi, ecx
mov ecx, esi
xchg edi, ebx
xchg esi, edi
sub edi, esi
xor ecx, esi
xchg ecx, edi
sub edi, 0x8cd4446d
ror ebx, 0x14
and edi, ecx
jmp 0x4699d0
mov edx, dword [esp + 0x4c]
and ecx, ebx
sub edi, ecx
inc edi
or edi, esi
mov ebx, esi
inc edi
add ebx, 0x8ce7b4cf
jmp 0x469a7b
mov eax, 4
add ebx, ecx
not ecx
mov ebx, esi
and esi, edi
mov edi, esi
mov esi, edi
xchg esi, edi
not ebx
dec ecx
jmp 0x46970f
sub esp, 0x160
and esi, edi
sub ecx, esi
sub ecx, 0x8cff4bdf
or ecx, edi
sub ecx, esi
mov ecx, esi
mov edi, esi
xchg edi, ecx
add ebx, 0x8d015d6c
and ebx, esi
jmp 0x469ef2