Function at 0x46c327
Capabilities:
Encrypt data using chaskey

Disassembly:
sub dword [esp + 0x20], 8
sub edi, ecx
or edx, 0xbf9e17c7
neg esi
sub edx, edi
add esi, edi
jmp 0x46ed78
mov dword [esp + 0x20], ebx
shr ecx, 0xd
or ecx, edx
xor esi, 0xbfaa0c61
add ecx, 0xbfaa4703
not edi
xor edi, esi
not ecx
or esi, edx
rol edi, 4
sub edx, ecx
jmp 0x46ef83
add ebx, dword [esp + 0x10]
xor edx, 0xbfc29c1b
sub esi, edx
inc edi
add edi, edx
sub edi, ecx
sub esi, edx
or edx, edi
and esi, edi
xchg esi, ecx
sub esi, ecx
xor edi, ecx
and ecx, edi
jmp 0x46e428
push ebx
mov edx, 0xbfc56cbb
shr esi, 2
jmp 0x46bd1b
mov ebx, dword [esp + 0x20]
mov ecx, edx
neg ecx
sub ecx, edi
inc esi
jmp 0x46e971
mov dword [esp + 0xd8], ebx
rol edx, 5
not edi
sub esi, edx
mov edi, esi
mov edi, esi
mov edx, esi
mov edi, 0xbfdcca2f
jmp 0x46cfc5
inc dword [esp + 0xe0]
xchg edx, edi
xor edi, ecx
xchg ecx, esi
and edx, ecx
jmp 0x46cad4
add ebx, dword [esp + 0xe0]
mov ecx, edi
xchg esi, edx
and edx, 0xbfdfccd3
and esi, 0xbfe006db
or edx, edi
xor esi, ecx
mov edx, 0xbfe0ae81
or ecx, 0xbfe0e8a8
or edi, edx
sub ecx, esi
jmp 0x46d1c0
mov dword [esp + 0x20], ebx
xchg ecx, edx
add esi, edi
and edi, esi
xor edi, ecx
and edi, 0xbff84229
mov ecx, 0xbff88995
mov ecx, edx
xchg ecx, edx
mov ecx, esi
jmp 0x46e52f
mov ebx, dword [esp + 0xe0]
xchg edi, edx
sub esi, 0xc00f30dc
or edi, esi
dec edi
mov edi, edx
add edi, ecx
xchg ecx, esi
add ecx, 0xc0108de6
jmp 0x46cd87
xor eax, eax
ror ecx, 0xd
xor ecx, edx
sub ecx, edx
and edi, edx
sub ecx, edx
and ecx, edi
rol esi, 0x16
xchg ecx, edi
mov esi, 0xc01b4483
or edi, 0xc01bfc33
shl edi, 1
add esi, edx
or esi, edi
shl edi, 3
jmp 0x46cf18
mov dword [esp + 0xd4], 0
mov ecx, 0xc03a7c29
mov esi, edi
add esi, ecx
and ecx, 0xc03c8587
xchg ecx, esi
and esi, edi
or edi, esi
or edx, edi
xor esi, edx
and esi, 0xc040e3d5
sub edi, edx
xchg edx, ecx
xor edx, edi
and edx, edi
xor edx, ecx
or edi, esi
jmp 0x46d8db
mov ebx, dword [ebx]
dec esi
and ecx, 0xc06dee15
xchg edi, ecx
or ecx, 0xc06e6deb
and edx, ecx
not ecx
jmp 0x46c15b
mov dword [esp + 0xe0], eax
rol edx, 0xa
shl esi, 0x1e
shr edi, 0x1f
ror edx, 8
or edx, 0xc093b5e0
jmp 0x46b66f
add ebx, dword [esp + 0x10]
or esi, edi
and edi, ecx
xor edi, 0xc096ddea
shl esi, 0x16
mov edx, ecx
xor edi, ecx
mov esi, 0xc097bf2f
rol edx, 0x16
mov edi, 0xc0983cc9
xor ecx, esi
jmp 0x46d3c2
add ebx, dword [esp + 0x10]
shl ecx, 0x12
and edx, edi
add edi, edx
xor edi, 0xc099c334
mov esi, edx
rol edx, 0xc
or esi, edx
and ecx, esi
mov edi, esi
and esi, ecx
bswap ecx
jmp 0x46b878
sub esp, 0xe4
mov edx, ecx
dec edx
xor edx, edi
ror esi, 0xa
xchg esi, edi
or edi, esi
xchg esi, edx
nop
or ecx, edx
and edx, 0xc0bd71f5
xor edx, esi
jmp 0x46c7fa
rol eax, 8
neg edx
or edx, esi
mov edi, ecx
sub edi, 0xc0d33f0b
sub edi, ecx
dec edx
neg edi
or esi, 0xc0d430f8
dec edx
or edx, 0xc0d4a6e3
jmp 0x46f01d
add dword [esp + 0x20], ebx
ror esi, 0x1b
xor edx, edi
mov ecx, esi
dec esi
xchg esi, edi
bswap edi
sub edx, esi
or edx, 0xc1019e89
add edx, esi
jmp 0x46e81d
add dword [esp + 0x20], 4
sub edi, edx
neg edi
and ecx, edi
xor ecx, 0xc1055da7
neg edx
xor edx, esi
xchg ecx, esi
dec edi
mov ecx, edx
and edx, edi
sub ecx, 0xc109fb67
jmp 0x46b994
add ebx, dword [esp + 0x10]
xchg edi, edx
or esi, edx
mov esi, ecx
dec edi
jmp 0x46eb22
cmp byte [ebx], 0
jmp 0x46e447
mov dword [esp + 0xe0], 0
add edi, esi
mov edi, edx
and esi, 0xc1440935
sub edx, edi
or edx, ecx
or edx, 0xc144babb
not edi
add edx, ecx
ror edx, 0x14
shl edi, 0x19
mov edx, esi
jmp 0x46bdc7
mov ebx, dword [esp + 0x20]
shl ecx, 0xd
xor esi, 0xc176f3a7
xor ecx, esi
jmp 0x46d529
add dword [esp + 0xd4], 4
and edi, esi
add ecx, esi
and edx, edi
ror ecx, 0x13
and edx, 0xc17fb81b
or edx, edi
xchg esi, edx
xor edx, esi
sub esi, edi
or edi, ecx
sub esi, edi
jmp 0x46eda9
cmp eax, dword [esp + 0xd8]
jmp 0x46cc29
mov ebx, dword [ebx]
xchg ecx, esi
xchg ecx, edi
or esi, ecx
dec esi
or edi, ecx
sub esi, 0xc2eed5e6
mov edx, edi
and ecx, esi
xor edx, ecx
sub ecx, edx
mov ecx, esi
xchg esi, ecx
dec edi
inc ecx
or esi, 0xc2f27044
shl edx, 0x1e
jmp 0x46dbe2
jne 0x46b9c5
nop
mov edi, 0xc2f7049b
sub edi, 0xc2f76c01
or ecx, edx
mov edi, ecx
bswap edi
jmp 0x46c5ed
mov ebx, dword [esp + 0x10]
xchg ecx, edi
sub edi, 0xc300def6
add edi, edx
mov ecx, edi
or esi, ecx
sub ecx, edi
xchg edx, esi
xor ecx, 0xc3032b58
neg esi
jmp 0x46f03e
add ebx, 0xc
mov esi, ecx
sub ecx, 0xc30475e0
xchg ecx, edx
sub ecx, edx
and esi, 0xc305aaf2
mov edx, 0xc306178f
or esi, 0xc3067ff3
mov ecx, edi
jmp 0x46e91b
add ebx, 0x18
sub edi, esi
xor esi, ecx
ror esi, 0xa
nop
add esi, ecx
sub ecx, esi
or edi, ecx
xor edi, esi
xor esi, ecx
neg ecx
jmp 0x46d90b
mul ebx
mov ecx, edi
xchg edx, ecx
xor edi, edx
or ecx, esi
xor edi, edx
inc ecx
sub ecx, edx
jmp 0x46c0ef
mov ebx, dword [esp + 0xd4]
and edx, edi
add esi, 0xc32a3ca1
add esi, ecx
mov esi, 0xc32b0649
add ecx, edx
xor ecx, 0xc32bcbf9
sub esi, edx
add edx, edi
shl ecx, 0x1d
inc esi
and edx, 0xc32dbd49
mov edx, edi
mov edi, edx
jmp 0x46b9f6
xor al, byte [ebx]
mov ecx, esi
xchg edx, edi
and esi, ecx
xor ecx, edx
xor ecx, edi
and esi, 0xc34e743d
dec ecx
add esi, 0xc34f47be
sub ecx, edi
xchg edi, ecx
and ecx, edx
neg esi
jmp 0x46c46c
mov ebx, 0x30
not esi
xchg edi, edx
and edi, 0xc35f04b8
add edi, ecx
xor esi, ecx
mov esi, edi
mov edi, 0xc35fef32
dec edx
add edx, edi
jmp 0x46d7de
mov dword [esp + 0x20], ebx
ror ecx, 0xe
or esi, edx
shr ecx, 0x10
and ecx, edx
xor edi, ecx
sub edi, 0xc366a522
mov edi, 0xc3672026
and esi, edi
and esi, edi
and ecx, edx
mov ecx, edi
jmp 0x46cddf
mov eax, 4
sub edi, 0xc383e413
sub edi, esi
jmp 0x46e238
mov eax, 2
mov edi, 0xc388b9c9
and edi, 0xc388f3ef
sub ecx, esi
dec edx
xchg esi, edi
xchg esi, ecx
and ecx, esi
xor edx, esi
and edx, edi
or esi, ecx
xor edi, esi
sub esi, edx
dec edi
not ecx
jmp 0x46bca2
mov ebx, dword [esp + 0x20]
add esi, ecx
add edx, ecx
xchg esi, edi
and ecx, 0xc3b32391
sub esi, edx
and edi, ecx
xor edx, edi
xor esi, edx
xor edi, ecx
jmp 0x46dc9b
add esp, 0xe4
not esi
add edx, ecx
add edi, esi
xchg esi, edi
mov edx, ecx
and ecx, 0xc3b7509a
xor edx, ecx
neg ecx
mov ecx, edi
dec edx
jmp 0x46d5c8
add dword [esp + 0x20], eax
mov edx, esi
sub esi, 0xc3bb2261
bswap edx
shr ecx, 0x15
xor esi, edx
or edi, esi
shr edx, 4
sub edi, 0xc3bc8630
neg esi
jmp 0x46ca85
mov ebx, dword [ebx]
xor ecx, edx
xor esi, edi
jmp 0x46c12f
ret
mov ebx, dword [ebx]
add edx, edi
or ecx, edx
xchg edx, esi
xor edx, edi
sub esi, ecx
add esi, edi
jmp 0x46b6fa
mov ebx, dword fs:[ebx]
xchg edx, edi
mov esi, 0xc40ae944
bswap esi
and edi, 0xc40b6912
jmp 0x46dce1
mov dword [esp + 0x10], 0
bswap esi
bswap esi
jmp 0x46da81
mov ebx, dword [ebx]
shl edx, 0xe
add edx, 0xc421deaa
shr edx, 0x1f
xchg esi, ecx
not ecx
shl esi, 0x10
xor edi, edx
and edx, esi
sub edi, esi
jmp 0x46ed45
mov dword [esp + 0x20], 0
and edi, 0xc4430ceb
not ecx
mov edi, ecx
add ecx, esi
or edi, edx
xor edx, edi
xchg esi, edi
or ecx, edx
jmp 0x46b9a7
add ebx, dword [esp + 0x10]
neg edi
add ecx, esi
sub edx, esi
jmp 0x46d016
mov ebx, dword [ebx]
bswap esi
or esi, ecx
ror edx, 9
or ecx, edx
or esi, ecx
or edx, edi
xchg edx, edi
xor ecx, 0xc47ead3f
or edi, 0xc47f0cc3
ror ecx, 0x10
jmp 0x46b851
add ebx, 0xc
sub edx, ecx
add ecx, edi
mov ecx, esi
ror edi, 6
xor esi, 0xc4825d95
jmp 0x46e50f
add ebx, 0x3c
shr edx, 2
shl ecx, 0x19
or esi, 0xc4b2b4fc
or ecx, edi
sub edx, ecx
and ecx, esi
or edi, 0xc4b43ba4
add ecx, 0xc4b4a393
mov ecx, edi
sub edi, esi
inc edx
jmp 0x46d76a
mov ebx, dword [ebx]
and ecx, edi
sub ecx, edi
or ecx, esi
sub ecx, edx
xor esi, 0xc4d99c8e
or esi, edi
or edx, 0xc4da5b35
shl edi, 7
jmp 0x46e49f
movzx ebx, word [ebx]
sub edi, ecx
xor edi, edx
xor esi, 0xc509f27f
and esi, edx
shl ecx, 6
xor esi, 0xc50b57b9
and ecx, edx
sub ecx, 0xc50c3103
mov edx, 0xc50c9053
sub edi, ecx
shr edi, 0x1d
or ecx, esi
jmp 0x46edcf
mov dword [esp + 0xd4], ebx
shr edx, 0x1d
mov edi, esi
sub ecx, esi
ror edx, 5
xor edx, edi
sub ecx, edi
rol edx, 0x19
and edx, esi
jmp 0x46b9c5
jne 0x46cf18
shl esi, 0xe
or esi, edx
add esi, ecx
xchg esi, edi
mov edi, esi
xor edi, 0xc54900ed
and edx, ecx
sub esi, 0xc549cf95
xor edi, ecx
sub esi, edx
neg edx
mov ecx, esi
jmp 0x46e550
mov ebx, dword [ebx]
inc ecx
xchg edi, edx
add edi, esi
jmp 0x46cd26
mov ebx, dword [ebx]
mov edi, 0xc55db13f
or edi, edx
and edi, edx
and edx, esi
sub edi, edx
add edx, 0xc55f87c3
xchg esi, ecx
xor edx, ecx
add esi, edi
jmp 0x46ccb2
mov ebx, dword [esp + 0x10]
neg edx
and edx, ecx
or edx, ecx
neg edx
shr ecx, 0x1d
and edi, 0xc5642aee
mov esi, ecx
xchg edi, edx
jmp 0x46c5cb
pop ebx
bswap edi
add edx, ecx
neg edx
add esi, 0xc56679b7
or edi, edx
and edi, esi
xchg esi, edi
shr esi, 0x1f
add ecx, edi
xor edi, 0xc568b636
sub edx, edi
or edx, edi
mov edx, 0xc569d1de
or edx, ecx
xor edi, esi
jmp 0x46cafc
add dword [esp + 0x20], 0x20
neg esi
sub edi, ecx
and ecx, edx
or esi, edx
shr esi, 0x1a
add edx, edi
add ecx, 0xc59d93dd
jmp 0x46d384
mov ebx, dword [ebx]
and edx, edi
or edx, ecx
and esi, ecx
and esi, edx
nop
xchg ecx, edx
mov esi, edx
and edi, 0xc5ad9ce5
jmp 0x46e087
mov ebx, dword [ebx]
add edx, ecx
neg ecx
sub esi, 0xc5b22dc2
jmp 0x46c704
mov ebx, dword [ebx]
or edi, 0xc5b27759
and ecx, edx
and edx, 0xc5b2e748
xor ecx, 0xc5b321f5
sub edi, esi
mov esi, 0xc5b390a3
or ecx, 0xc5b3caae
and edi, ecx
shr esi, 0xb
xor esi, ecx
xchg edi, ecx
jmp 0x46bb61
mov dword [esp + 0xd4], ebx
and edi, 0xc5df27e2
or ecx, esi
xor edi, 0xc5e01e39
inc edi
mov esi, 0xc5e12031
mov ecx, edx
dec esi
or edi, ecx
sub esi, 0xc5e3ca56
xor edx, edi
and ecx, esi
jmp 0x46d212
mov dword [esp + 0x10], ebx
xor ecx, edi
neg edi
or esi, ecx
sub esi, edx
and edi, ecx
rol edx, 0xf
jmp 0x46ed5e
mov ebx, dword [esp + 0x10]
add ecx, 0xc61edca5
or edx, ecx
xchg esi, ecx
xor edi, ecx
add ecx, esi
jmp 0x46df20
mov ebx, dword [esp + 0x20]
not ecx
shl ecx, 4
xor edi, ecx
add edi, 0xc622222a
rol esi, 0xe
neg edi
and edi, 0xc62363d2
xor esi, 0xc623c2ce
shl ecx, 0xc
dec edx
add edx, esi
dec esi
jmp 0x46cbcf
mov ebx, dword [esp + 0xd4]
ror edx, 0x1f
add esi, edx
add edi, ecx
mov edi, esi
or esi, edi
rol ecx, 5
sub esi, ecx
or ecx, esi
and edx, edi
or ecx, esi
sub ecx, edi
xchg esi, ecx
jmp 0x46bf21
mul ebx
dec ecx
xchg edi, esi
shl esi, 0x10
mov edx, esi
or esi, edx
xor esi, edx
neg ecx
add ecx, edi
sub edi, ecx
or esi, edx
ror edx, 0x1a
jmp 0x46d404
add dword [esp + 0x20], 0x78
and ecx, 0xc658ba8a
shr edx, 2
xchg ecx, esi
shl esi, 0x1b
sub edx, ecx
sub edx, edi
and esi, 0xc65b134a
add edi, ecx
mov edx, 0xc65bcc47
jmp 0x46cc8c
inc ebx
or ecx, edx
sub ecx, edi
and edx, 0xc6679a25
rol edi, 0x1b
xor esi, 0xc6681b03
xor esi, 0xc668529a
and edi, esi
jmp 0x46c765
add ebx, dword [esp + 0x20]
sub esi, edi
or esi, edx
mov esi, ecx
xor esi, ecx
not edx
ror edx, 0x11
and edx, 0xc66a2f33
xor edi, 0xc66a6644
ror ecx, 0x16
or esi, 0xc66ad8a4
jmp 0x46e982