Function at 0x46da2b
Capabilities:
Encrypt data using chaskey

Disassembly:
add edx, 0x3c
xchg ebx, esi
inc edi
sub esi, ebx
add ebx, esi
xor esi, ebx
ror ecx, 0x1c
jmp 0x46cfb7
mov edx, dword [esp + 0x2c]
sub ebx, 0x238eabc9
mov ebx, 0x238ecc41
xchg edi, ebx
or ecx, edi
add edi, ecx
mov ecx, edi
mov esi, edi
or ecx, 0x238f8551
add edi, esi
xchg esi, edi
jmp 0x46abe1
inc dword [esp + 0x64]
mov ebx, esi
and ecx, 0x23af886b
not ecx
add esi, ebx
bswap ebx
neg esi
and ecx, edi
sub ecx, ebx
jmp 0x46d335
add edx, dword [esp + 0xdc]
and ebx, 0x23b60df7
and esi, ebx
dec edi
and edi, ebx
xchg ecx, edi
add edi, 0x23b6ad09
add esi, 0x23b6d441
add edi, ecx
ror edi, 0x1a
and ecx, edi
xchg esi, edi
xor esi, ecx
and esi, ecx
or ecx, ebx
jmp 0x46b24d
mov edx, dword [esp + 0xf8]
sub ecx, edi
and esi, ecx
or ecx, 0x23b8ec43
xchg ecx, edi
and ecx, edi
and ecx, esi
jmp 0x46a973
mov edx, dword [edx]
xor edi, 0x23bd0105
and ecx, esi
xor ecx, ebx
or edi, 0x23bd60df
and esi, edi
nop
add esi, 0x23bdc5ef
xor ecx, ebx
jmp 0x46c36e
add edx, dword [esp + 0x64]
add ecx, esi
add edi, ebx
inc edi
add esi, ebx
xor esi, ebx
xor edi, 0x23c5fc29
not edi
bswap ebx
nop
sub esi, ebx
dec ebx
xor edi, 0x23cb81e9
jmp 0x46cbe0
mov edx, dword [edx]
nop
xor edi, esi
add esi, 0x23d12359
mov edi, esi
add edi, ecx
and esi, ebx
neg esi
shr edi, 0x1e
add edi, 0x23d1ea0d
dec ecx
or ebx, esi
add edi, esi
jmp 0x46d2f3
movzx edx, word [edx]
and ebx, ecx
add esi, 0x23d4d365
add ebx, edi
add ebx, esi
sub ebx, ecx
ror esi, 9
add ebx, ecx
add esi, edi
ror esi, 0x16
or esi, 0x23d6bc73
bswap esi
inc ebx
jmp 0x46bd56
jne 0x46bee3
xchg esi, ecx
xor ebx, ecx
xchg edi, ebx
and ecx, esi
not ecx
mov edi, esi
jmp 0x46c52e
inc edx
add edi, ebx
neg esi
mov ecx, edi
xchg esi, ebx
neg ecx
mov ecx, esi
add ebx, esi
sub ecx, ebx
sub edi, 0x23dfd2e7
sub ecx, ebx
jmp 0x46c6db
mov edx, dword [edx]
mov edi, ecx
add esi, edi
neg esi
not ecx
xchg edi, ecx
or esi, ebx
sub esi, edi
inc ebx
jmp 0x46d315
mov edx, dword [edx]
or ecx, 0x23ec093d
xchg ecx, edi
shl esi, 7
xor esi, ecx
nop
neg ecx
sub ecx, esi
xor ecx, ebx
add esi, ebx
sub ecx, edi
add ebx, ecx
dec ebx
add esi, 0x23eebbf3
mov ebx, esi
jmp 0x46cb76
mov dword [esp + 0xf8], edx
add esi, ecx
and esi, ebx
xor edi, esi
xor esi, edi
sub edi, esi
xor esi, 0x23f2a019
rol ebx, 0x11
xchg ebx, edi
or ebx, ecx
xchg edi, ecx
jmp 0x46d864
add esp, 0xfc
sub ebx, edi
dec ecx
xor esi, edi
sub esi, ebx
add ebx, esi
or ebx, esi
or ecx, esi
xchg esi, edi
neg ebx
xchg esi, ecx
jmp 0x46a4b8
ret
mov edx, dword [edx]
xor ecx, ebx
rol esi, 0x15
add ecx, ebx
add ecx, ebx
sub esi, ecx
not ebx
and ecx, esi
inc esi
and esi, ecx
add esi, edi
add esi, ecx
dec edi
jmp 0x46c1a6
mov edx, dword [esp + 0x2c]
neg ebx
or esi, edi
mov ecx, 0x252a33e5
ror edi, 0x1e
or ebx, 0x252a7337
mov edi, ebx
shr edi, 0x1a
inc ebx
ror edi, 0x1c
inc esi
sub ecx, edi
xor ecx, esi
jmp 0x46cad4
mov edx, dword [edx]
and ecx, esi
mov ecx, 0x252ba039
shr ecx, 0x15
and ebx, 0x252be35d
sub edi, esi
nop
or ebx, esi
shr ecx, 0x18
xor ebx, esi
and ebx, edi
jmp 0x469e91
jne 0x469de1
sub ebx, ecx
or ecx, 0x253a18cb
add ebx, 0x253a3d59
shl esi, 0x10
jmp 0x46b2a8
add dword [esp + 0x2c], 0x78
sub esi, ecx
and ecx, ebx
xor esi, ecx
or edi, ebx
or edi, ebx
mov ecx, esi
jmp 0x46b268
mov dword [esp + 0xdc], 0
xchg esi, ecx
xor ebx, 0x25564067
add edi, 0x2556600f
or ebx, esi
not edi
shr esi, 0xd
shr ebx, 0x1c
xor ebx, 0x255706bb
not ecx
mov ecx, 0x25574f93
add edi, esi
inc ebx
or edi, ebx
sub esi, edi
jmp 0x46b69e
mov dword [esp + 0x64], 0
xor edi, esi
or ebx, ecx
or esi, 0x255f049f
xor ecx, ebx
and ecx, esi
ror edi, 5
xor esi, edi
bswap esi
sub ecx, esi
sub esi, ecx
jmp 0x46b453
mov dword [esp + 0x2c], edx
xor ebx, esi
mov ecx, 0x256cdd21
add edi, esi
xchg edi, esi
neg edi
mov edi, esi
jmp 0x46b4bd
mov edx, dword [esp + 0xdc]
and edi, esi
and ebx, ecx
and edi, esi
or ecx, esi
dec edi
xchg edi, ecx
shr ecx, 0x10
or ecx, esi
jmp 0x46d5a1
add dword [esp + 0x2c], 4
and esi, ecx
add ebx, ecx
or esi, 0x25706d2b
inc esi
bswap edi
xchg ebx, edi
mov edi, ecx
sub ecx, edi
jmp 0x46abb5
add dword [esp + 0x2c], eax
sub edi, ecx
sub esi, ecx
dec ecx
add esi, ebx
xchg ebx, esi
or ecx, 0x25744fbb
inc esi
xchg ebx, esi
jmp 0x46c950
mov dword [esp + 0xf8], 0
mov ecx, 0x257f734b
sub ecx, esi
add ecx, edi
ror edi, 0x1f
and edi, 0x257ff829
not esi
jmp 0x46afee
mov edx, dword [esp + 0xf8]
xor ebx, ecx
or ebx, edi
shl edi, 0x11
dec ebx
neg ecx
mov ecx, ebx
mov ebx, ecx
nop
mov ecx, ebx
or ebx, edi
jmp 0x46a03b
mov edx, dword [esp + 0xdc]
mov ebx, edi
or ebx, esi
mov edi, 0x258486dd
add edi, ecx
or ebx, edi
rol ecx, 0xa
mov ebx, ecx
or edi, ebx
dec esi
and esi, edi
jmp 0x46c079
mov dword [esp + 0xf8], edx
or edi, ecx
xor ecx, edi
mov edi, 0x2585c861
xchg edi, ecx
add ebx, edi
shl esi, 0xb
and ecx, esi
inc ebx
and edi, esi
and ecx, ebx
jmp 0x469de1
mov dword [esp + 0x2c], 0
mov edi, esi
and edi, ebx
xchg ecx, edi
xor ebx, 0x25955533
inc esi
inc ebx
and edi, ebx
or edi, 0x2595de35
and ebx, edi
inc edi
jmp 0x46c628
mov edx, dword [esp + 0x2c]
xor esi, 0x25a44c3d
shl ecx, 5
and ecx, ebx
xor esi, edi
xchg ecx, ebx
not ecx
and ecx, edi
sub edi, esi
add esi, ebx
inc edi
jmp 0x46c843
add edx, dword [esp + 0xdc]
add edi, ebx
sub esi, edi
mov ecx, ebx
mov ebx, 0x25a808bd
inc ecx
mov esi, edi
neg edi
neg ecx
jmp 0x46a353
mov dword [esp + 0x2c], edx
sub esi, ecx
xor ebx, 0x25c10d09
mov ebx, ecx
dec edi
or ecx, esi
inc ecx
and ecx, ebx
not ecx
shr ebx, 8
xor ebx, 0x25c21395
xchg edi, ecx
not edi
jmp 0x46ae7a
cmp eax, dword [esp + 0xf0]
jmp 0x46ad0a
mul edx
mov ebx, esi
bswap edi
or esi, ecx
nop
or edi, ecx
dec edi
ror edi, 0x18
and esi, ecx
neg ebx
and ebx, esi
xchg ecx, esi
sub ecx, esi
jmp 0x46b314
add dword [esp + 0x2c], 0x20
add ecx, 0x25daa8dd
xor ebx, edi
not ebx
dec esi
mov ebx, edi
or edi, ebx
sub edi, esi
mov edi, ebx
jmp 0x46b826
xor al, byte [edx]
xor esi, ebx
shr ecx, 5
mov esi, 0x25e65665
add ecx, ebx
or esi, edi
xor esi, ebx
ror ecx, 0x1e
add ecx, edi
add ebx, esi
add esi, ebx
jmp 0x46ccf9
mov edx, dword fs:[edx]
mov ebx, esi
and esi, 0x25e7774b
add ecx, esi
mov ebx, edi
jmp 0x46c4ed
mov edx, dword [esp + 0xdc]
shr edi, 2
xor ecx, 0x25e9d5dd
and ebx, edi
add esi, ebx
and ecx, esi
add ebx, edi
sub ebx, esi
xor esi, edi
or esi, ecx
sub edi, 0x25eacfe5
sub ecx, ebx
and esi, 0x25eb0dbd
xor ecx, edi
inc edi
jmp 0x469baa
add dword [esp + 0x2c], edx
add ecx, edi
add edi, ecx
xchg esi, ecx
sub esi, ebx
ror esi, 0x11
mov ecx, edi
jmp 0x46bd93
add edx, dword [esp + 0xdc]
add edi, ecx
neg ecx
add ecx, esi
add edi, ebx
jmp 0x46c794
mov edx, dword [esp + 0x64]
or esi, edi
xor ebx, 0x260fc55d
or ecx, 0x260feb91
xor esi, 0x26100c97
jmp 0x46d719
mov dword [esp + 0xdc], edx
bswap ecx
sub ecx, ebx
xor ebx, edi
xor ecx, edi
or esi, ecx
mov ecx, edi
add esi, 0x2612c6d5
shr edi, 0x19
bswap edi
neg esi
rol ecx, 3
add edi, ecx
xor edi, ecx
and edi, esi
jmp 0x46bf4c
add edx, 0xc
add ecx, esi
mov ebx, edi
nop
dec ebx
xchg esi, ecx
or ecx, edi
add esi, 0x2624786f
xchg edi, ebx
sub edi, esi
mov ecx, edi
jmp 0x46a30c
pop edx
mov ecx, edi
or ecx, esi
xor edi, 0x2626d8c3
add ecx, esi
and esi, edi
or esi, ecx
mov ebx, edi
and ebx, ecx
or edi, ecx
nop
jmp 0x46bb73
mov dword [esp + 0xf0], edx
add edi, ecx
rol ecx, 0x1b
xor edi, 0x2633e78f
mov ecx, edi
inc edi
inc ecx
shl esi, 8
mov esi, ecx
ror ecx, 0x11
not esi
and esi, ecx
not edi
jmp 0x46c8a8
cmp byte [edx], 0
jmp 0x46a1c9
sub dword [esp + 0x2c], 8
xchg edi, ecx
mov esi, ebx
xchg ebx, esi
sub ecx, edi
jmp 0x469bbe
push edx
add esi, ebx
mov esi, ecx
mov esi, ebx
xor ebx, ecx
add edi, ecx
shr ebx, 0x1c
ror esi, 0x18
sub ebx, esi
jmp 0x46d812
add edx, dword [esp + 0xdc]
xor esi, 0x264a4351
xor ebx, ecx
xchg edi, ebx
bswap esi
ror ecx, 0x16
and esi, 0x264ae41b
rol ebx, 0x1f
xor esi, 0x264b2539
or edi, ebx
sub edi, ecx
add ecx, edi
sub ecx, esi
jmp 0x46a3f3
mov edx, dword [edx]
mov esi, 0x264ceda9
xor edi, ecx
sub esi, ebx
shl ecx, 0x11
neg ecx
or ecx, edi
or esi, ecx
sub ebx, ecx
xchg ebx, esi
inc edi
sub edi, 0x264e32b7
and ecx, 0x264e522b
dec edi
add esi, edi
jmp 0x46d702
mov edx, 0x30
neg esi
mov edi, 0x265109fb
shl ecx, 0xd
mov edi, esi
or ecx, 0x26516e0d
and esi, edi
shl edi, 0x11
mov ebx, 0x2651ce03
dec edi
and esi, ebx
jmp 0x46bf03
mov edx, dword [esp + 0x2c]
and ecx, ebx
add ebx, esi
and ebx, 0x265913a1
xor ecx, ebx
or ecx, 0x26595889
xor ecx, esi
xchg ebx, edi
mov edi, ecx
jmp 0x46d8ca
mov edx, dword [edx]
add esi, 0x2668ac1f
rol esi, 0x19
xor esi, ebx
and ebx, esi
xchg esi, ebx
mov ebx, 0x26694fa9
add ecx, esi
sub ecx, ebx
jmp 0x46b878
add edx, 0xc
sub esi, edi
shl edi, 0x15
sub edi, ecx
xchg ebx, esi
ror esi, 0x15
mov edi, 0x266f7d95
add ecx, esi
add edi, ebx
neg ebx
mov ecx, 0x266ffb95
jmp 0x46d05f
mov eax, 4
bswap esi
not edi
xchg ebx, esi
or edi, ebx
rol edi, 5
mov esi, edi
mov esi, ecx
sub ebx, ecx
add esi, ecx
or esi, 0x2675aa7f
sub esi, 0x2675cc43
or esi, ebx
mov ecx, esi
add ebx, edi
jmp 0x46a159
add edx, 0x18
dec esi
not esi
not ebx
shl ebx, 0x1a
xchg ebx, edi
rol ecx, 4
sub ebx, 0x26801e53
nop
jmp 0x469f5b
rol eax, 8
mov esi, edi
and esi, ebx
and edi, esi
or ecx, 0x2680c6d1
mov edi, ecx
mov esi, ecx
ror ebx, 0x1e
or ecx, edi
mov esi, edi
xchg ebx, edi
sub ecx, esi
and ebx, ecx
jmp 0x46a1fd
mov edx, dword [edx]
add ecx, edi
sub ecx, esi
rol esi, 0x12
sub ebx, ecx
add edi, ebx
xchg ebx, ecx
neg edi
or ecx, edi
sub ecx, edi
neg esi
jmp 0x46bb27
mov edx, dword [edx]
xor edi, esi
sub ecx, 0x26a6bf5b
dec ecx
xchg ecx, ebx
sub ebx, esi
bswap esi
jmp 0x46a0f2
mov dword [esp + 0x64], eax
and ecx, 0x26b0c769
inc ebx
xor edi, ebx
neg ecx
shl ebx, 0xa
rol ecx, 7
shl ecx, 8
and esi, ebx
add ecx, esi
xchg esi, ecx
jmp 0x46c77f
mov edx, dword [edx]
or edi, ebx
sub edi, esi
mov edi, ebx
bswap ebx
bswap esi
add ebx, 0x26c164c3
shr ecx, 0x15
shr esi, 0x10
mov edi, esi
rol ecx, 0x1a
jmp 0x46ccdd
mov dword [esp + 0x2c], edx
xor edi, 0x26c213a1
xchg ebx, esi
mov esi, edi
xor ebx, edi
xchg esi, ecx
sub ebx, esi
xchg ecx, esi
sub ecx, esi
jmp 0x46b4dc
add dword [esp + 0xf8], 4
and ebx, esi
shr edi, 0x1d
xor ecx, ebx
mov edi, esi
xor ecx, edi
and ebx, ecx
xor ebx, edi
inc ecx
inc ebx
xchg esi, ecx
and esi, ebx
or edi, ecx
jmp 0x469edf
add edx, dword [esp + 0x2c]
and ecx, 0x26dad497
bswap edi
xor ecx, esi
or esi, ebx
mov ebx, esi
add ebx, 0x26db7117
add ecx, edi
xor edi, 0x26dbaf47
not ecx
and edi, esi
jmp 0x46a21b
add edx, dword [esp + 0xdc]
and ecx, esi
and esi, ecx
xchg edi, esi
dec ecx
sub edi, ebx
xor ebx, ecx
jmp 0x46b4ff
mul edx
add ebx, 0x26e7fc43
add ecx, edi
xor edi, esi
xor edi, 0x26e85a9b
mov edi, ebx
add ebx, edi
or ebx, esi
and ebx, edi
jmp 0x46d16f
xor eax, eax
not ebx
and esi, ecx
add esi, edi
add esi, ecx
sub esi, ebx
shr edi, 6
xor ebx, edi
dec ebx
not esi
inc ebx
xor ecx, esi
neg esi
xor edi, esi
mov ebx, ecx
jmp 0x46bee3
mov eax, 2
or edi, 0x26f54f4d
add ebx, ecx
xor ecx, ebx
add edi, ecx
mov esi, edi
and ebx, 0x26f5e593
xchg ecx, esi
and edi, 0x26f6253f
or ecx, esi
add ecx, 0x26f66b75
xchg ebx, edi
or esi, 0x26f6acc5
jmp 0x46c31f
mov edx, dword [edx]
shr ecx, 0x11
and ebx, 0x26f8920f
and edi, 0x26f8b25b
or esi, 0x26f8d351
shr esi, 0xd
xor esi, 0x26f91bd9
not esi
or esi, ebx
or ecx, 0x26f97d25
neg esi
jmp 0x46c7f2
sub esp, 0xfc
shr esi, 0x12
shr ebx, 0xe
xor esi, ebx
and ebx, esi
mov ecx, 0x2706ff13
sub ecx, esi
or edi, 0x27073e13
mov ecx, 0x27075f63
sub edi, ebx
and edi, esi
xchg esi, ecx
add ecx, 0x2707e02b
or esi, 0x27080121
add ebx, 0x2708224b
jmp 0x46b0df