Function at 0x46a24c
Capabilities:
Encrypt data using chaskey

Disassembly:
mov dword [esp + 0x88], 0
not ecx
or ecx, edx
and ecx, esi
or esi, edx
bswap ebx
or edx, esi
not edx
mov esi, ebx
shr esi, 0x12
rol ecx, 5
or ebx, 0xe5621077
mov edx, ecx
sub ebx, ecx
and ecx, edx
dec ebx
jmp 0x46941b
mov dword [esp + 0x3c], edi
add esi, 0xe5635499
dec esi
mov esi, ebx
inc esi
and ecx, 0xe5646ab1
bswap edx
or ecx, edx
ror esi, 0xc
xor ebx, ecx
sub ecx, 0xe56675df
add ebx, edx
sub ebx, ecx
jmp 0x469484
mov edi, 0x30
or esi, edx
add ecx, edx
xchg ecx, esi
and ecx, ebx
not edx
or ebx, esi
not ebx
or ecx, ebx
jmp 0x4696d9
mov edi, dword [edi]
add ecx, ebx
add esi, ecx
inc edx
add esi, edx
inc esi
inc esi
mov ecx, 0xe57aa877
dec ecx
shr esi, 1
sub edx, ebx
jmp 0x46a685
sub dword [esp + 0x88], 8
xchg ecx, edx
xor ecx, ebx
dec esi
xor esi, 0xe57f582f
add ebx, 0xe57f96e6
and ebx, esi
add esi, ebx
jmp 0x46afb2
mov edi, dword [esp + 0x50]
bswap edx
add ecx, ebx
add ecx, 0xe5885517
xor esi, ecx
sub esi, ecx
or esi, edx
neg ecx
or ecx, edx
shr ecx, 0xa
or edx, 0xe58a1529
sub ebx, esi
and edx, ebx
xor ebx, 0xe58ac8f0
shr ebx, 0x1c
jmp 0x46a5d1
cmp byte [edi], 0
jmp 0x46a5ef
mov edi, dword fs:[edi]
sub ebx, 0xe59691af
and esi, ecx
neg esi
sub ebx, ecx
or esi, 0xe59863ba
xor ecx, 0xe598dfbd
sub esi, 0xe5995012
or ebx, esi
add edx, ecx
and ecx, ebx
xor edx, ebx
and edx, esi
and ebx, edx
jmp 0x4699c0
add dword [esp + 0xac], 4
add esi, edx
not ecx
xor ebx, 0xe5ab0c6b
or ebx, ecx
inc ebx
sub edx, ecx
or ebx, esi
and ebx, 0xe5ac3fd3
neg esi
shr ecx, 5
xor ebx, 0xe5ad0a8d
inc esi
or esi, ebx
jmp 0x469bd1
mov dword [esp + 0xac], edi
add ebx, esi
sub esi, ebx
or edx, ebx
xor esi, ecx
sub edx, esi
xor ebx, ecx
and esi, edx
jmp 0x46b1e6
mov edi, dword [esp + 0x50]
xchg esi, ecx
shr ebx, 1
or esi, ebx
ror esi, 0x11
dec esi
or esi, edx
rol edx, 0xb
rol ebx, 0x1a
xor ebx, ecx
jmp 0x46a82c
add dword [esp + 0x88], 4
sub ebx, edx
add ebx, 0xe5bde78c
mov ecx, ebx
and edx, 0xe5be5ebe
and edx, esi
and esi, ebx
or ecx, edx
mov edx, ecx
and ebx, ecx
sub edx, ecx
add ecx, edx
xchg esi, ebx
jmp 0x46b3d0
add edi, 0xc
add esi, ebx
xor edx, ecx
or ebx, 0xe5d351dd
mov edx, ebx
and ecx, ebx
and ecx, ebx
xor esi, 0xe5d455d3
xchg esi, ecx
xor ecx, esi
mov ebx, edx
dec edx
neg ebx
jmp 0x469c58
add dword [esp + 0x88], edi
mov edx, ebx
and ebx, ecx
or ecx, esi
add esi, edx
and edx, esi
add ecx, esi
add edx, ebx
not esi
or ecx, edx
or ebx, 0xe5d84947
mov ecx, ebx
shl ebx, 0xa
xchg esi, edx
jmp 0x469bae
mov edi, dword [esp + 0xac]
and ecx, ebx
sub ebx, 0xe5dfde31
dec ebx
sub ecx, ebx
add esi, 0xe5e09881
ror ecx, 0xc
xchg ebx, esi
jmp 0x46bb53
mov edi, dword [edi]
mov esi, ebx
add ebx, 0xe5eb0fc7
xchg ebx, edx
sub ebx, edx
mov ebx, esi
and ecx, esi
mov ecx, 0xe5ec4f59
xchg esi, edx
mov esi, 0xe5ecca07
mov esi, 0xe5ed083b
xor ecx, ebx
shr esi, 0x19
jmp 0x46b1c6
add dword [esp + 0x88], 0x20
and ecx, 0xe5f6e147
not ebx
mov esi, ecx
dec ebx
sub edx, ecx
add ecx, ebx
or ecx, edx
rol ebx, 0xc
xor ebx, ecx
jmp 0x46ab3f
mov edi, dword [esp + 0xac]
add ecx, 0xe5f92ec4
or edx, ebx
dec edx
sub esi, edx
shr ecx, 3
or edx, ecx
inc ebx
bswap esi
rol edx, 0x15
xor ecx, edx
mov edx, ebx
sub esi, ecx
mov ebx, 0xe5fc25a3
xchg esi, ebx
jmp 0x46af10
mov edi, dword [edi]
and esi, ecx
xor ebx, esi
sub esi, ebx
mov ecx, edx
and esi, ecx
and esi, ebx
sub ecx, edx
and ebx, ecx
add esi, ebx
or edx, ebx
mov esi, edx
jmp 0x469d78
add edi, 0xc
add edx, ecx
sub esi, 0xe61798fa
sub ecx, edx
add edx, ecx
sub ecx, esi
add edx, ecx
xchg ecx, ebx
sub edx, 0xe619195b
rol ecx, 0xc
inc edx
jmp 0x469fd8
ret
mov edi, dword [edi]
not edx
xchg edx, esi
or esi, ebx
and esi, ecx
jmp 0x46a1cd
mov dword [esp + 0x88], edi
or edx, ecx
xor ecx, ebx
mov ebx, edx
mov esi, 0xe6569feb
add ebx, ecx
mov edx, ecx
sub ecx, ebx
mov esi, 0xe657a07c
xchg ebx, edx
and esi, ecx
add edx, 0xe658cf07
sub ecx, ebx
jmp 0x46b8f3
mul edi
xchg edx, ecx
ror esi, 0xd
or ebx, ecx
sub ecx, ebx
and ecx, esi
neg esi
jmp 0x46af2d
push edi
xchg esi, edx
sub esi, 0xe6603e0a
sub esi, 0xe6607f59
shl ebx, 4
mov edx, ebx
add ebx, 0xe66189b3
sub ecx, ebx
jmp 0x46a64b
mov dword [esp + 0x88], edi
sub esi, ebx
rol esi, 6
or ebx, 0xe662b4c1
not edx
or edx, ecx
sub edx, 0xe6638191
or ecx, edx
and edx, ecx
neg ecx
mov ecx, ebx
add ebx, esi
jmp 0x469a6c
mov edi, dword [edi]
inc ebx
xchg esi, ebx
xchg ecx, ebx
not ecx
bswap edx
sub ebx, 0xe6741434
bswap edx
add ebx, edx
mov edx, ebx
mov edx, ecx
or edx, ebx
jmp 0x46a211
mov edi, dword [edi]
sub edx, ebx
xor edx, ecx
sub edx, ebx
xchg ecx, edx
or edx, ebx
xor ebx, ecx
shr esi, 0x14
sub ebx, ecx
ror ecx, 0x1c
jmp 0x46b6c5
sub esp, 0xd0
xor ebx, edx
add edx, ecx
dec esi
ror edx, 3
xchg ebx, ecx
shl edx, 0x1f
and ecx, edx
jmp 0x46b138
xor al, byte [edi]
xchg ebx, ecx
neg esi
mov edx, ecx
or esi, edx
sub ecx, 0xe692a853
shr ebx, 8
add ebx, esi
shl ecx, 0x1c
or ebx, esi
and esi, ecx
xor esi, ebx
xor ebx, esi
jmp 0x46b0e0
mov edi, dword [edi]
add ecx, 0xe6a0a543
and edx, ebx
or ecx, 0xe6a11e22
xchg esi, ebx
or edx, 0xe6a1ad30
xchg esi, ebx
and edx, ecx
sub edx, ebx
add ecx, esi
add ecx, 0xe6a2dc60
jmp 0x46a40d
mov dword [esp + 0x50], edi
and ecx, esi
mov esi, edx
not ecx
or esi, ecx
and edx, 0xe6a73312
add ebx, edx
and ebx, ecx
mov ecx, ebx
mov ebx, edx
and esi, ebx
or ebx, edx
sub edx, 0xe6a8e81d
mov edx, ecx
mov ebx, edx
jmp 0x46960e
add edi, 0x3c
or ebx, 0xe6c7bb1e
mov ecx, 0xe6c809f2
xchg edx, esi
xchg edx, ebx
or ebx, 0xe6c8c2c7
dec edx
jmp 0x46953e
jne 0x46a2dd
sub edx, ecx
and edx, ecx
or edx, ecx
mov esi, ebx
xor ecx, ebx
shr esi, 0x1c
jmp 0x46a8f9
xor eax, eax
rol ebx, 0x10
and ecx, 0xe6d02c71
and ecx, 0xe6d06c35
rol ecx, 0xd
jmp 0x46a2dd
mov dword [esp + 0x88], edi
shr ecx, 0x10
xchg ecx, esi
add esi, ecx
and ebx, ecx
sub ecx, ebx
bswap ecx
nop
mov edx, esi
mov ecx, 0xe6d52081
xor edx, ebx
or ebx, 0xe6d59c56
xchg ebx, ecx
mov edx, ebx
sub edx, esi
jmp 0x46b156
mov edi, dword [edi]
and ebx, ecx
dec ecx
or edx, 0xe6e1174b
xchg ebx, ecx
xor ecx, 0xe6e19580
add ecx, edx
xchg edx, ecx
add edx, ecx
shr ecx, 0xc
shr esi, 0xe
add ebx, ecx
shl esi, 0x19
shl esi, 0x18
add ebx, edx
and ebx, 0xe6e414ad
jmp 0x46ac36
mov dword [esp + 0x50], 0
neg esi
sub ecx, edx
inc ebx
or ecx, esi
mov ebx, esi
inc esi
jmp 0x4693e8
add edi, dword [esp + 0x88]
or edx, esi
xchg ebx, esi
or ecx, esi
dec esi
xor ebx, ecx
jmp 0x46ab0e
pop edi
add ebx, esi
mov esi, edx
mov ebx, esi
mov edx, 0xe7076c25
neg ebx
dec edx
shr edx, 0x1e
or ebx, 0xe7087bd4
xor ecx, edx
mov ecx, 0xe7091c6b
and edx, 0xe709bf5c
mov ebx, ecx
jmp 0x46b2b9
mov edi, dword [esp + 0x2c]
xor ecx, ebx
mov edx, ebx
and ebx, edx
or edx, 0xe72c4736
or ecx, edx
not edx
mov ebx, ecx
and ebx, esi
or ecx, 0xe72d8868
shr esi, 0xd
or esi, ecx
jmp 0x46bb79
mov edi, dword [edi]
or ecx, edx
and esi, ecx
sub edx, esi
xchg esi, ecx
sub ebx, ecx
jmp 0x46a06b
mov dword [esp + 0xac], 0
xchg edx, ecx
dec esi
not ebx
mov ebx, esi
shr esi, 7
add esi, 0xe7320c48
jmp 0x46a7e0
mov edi, dword [esp + 0x88]
add edx, ebx
or ecx, ebx
rol ecx, 7
bswap edx
shr edx, 0x13
bswap ecx
sub edx, 0xe733d420
or ebx, ecx
add edx, ecx
sub ecx, edx
jmp 0x46a72b
mov edi, dword [edi]
add ebx, edx
mov esi, ebx
xor edx, 0xe7400b48
bswap edx
shr ebx, 0x18
sub ebx, ecx
neg esi
mov esi, ecx
xchg ecx, ebx
dec ebx
jmp 0x46b33c
mov edi, dword [edi]
mov esi, edx
xor esi, ecx
add ebx, 0xe74a6171
sub ebx, esi
dec ecx
or ecx, esi
add esi, edx
sub edx, ebx
add edx, esi
xor ecx, ebx
jmp 0x46b5ab
add edi, dword [esp + 0x50]
or esi, 0xe74dc875
or esi, ebx
or ebx, ecx
mov ebx, edx
or ecx, esi
mov ebx, edx
shl esi, 0x19
shr ebx, 6
xchg edx, esi
xchg ebx, edx
ror ecx, 7
and ebx, ecx
jmp 0x46ad6f
mov dword [esp + 0xac], edi
not esi
bswap ecx
and ebx, esi
and ecx, 0xe765f034
xor edx, ecx
jmp 0x46ae85
add esp, 0xd0
ror ecx, 3
xor ecx, esi
dec ecx
mov ebx, edx
or edx, esi
xor ecx, 0xe77e5e8b
shr ecx, 0x14
and ecx, esi
sub esi, ecx
mov ebx, esi
jmp 0x469e98
inc dword [esp + 0x2c]
inc esi
or ecx, ebx
xor ecx, ebx
shr esi, 0xc
or edx, esi
sub esi, ebx
xchg esi, ecx
or ecx, ebx
jmp 0x4697d8
mov edi, dword [edi]
add edx, ebx
ror esi, 0x1f
neg ecx
not edx
ror ebx, 0xa
not edx
or ebx, 0xe79486cd
or ebx, ecx
jmp 0x46afe1
add dword [esp + 0x88], eax
sub ecx, 0xe7952f1a
dec ebx
mov esi, 0xe795d064
shr ebx, 0x14
xchg esi, ebx
sub esi, edx
jmp 0x46b57a
mov edi, dword [esp + 0x88]
and edx, ecx
xor edx, ecx
not ecx
xchg ebx, edx
mov edx, esi
jmp 0x46abbb
add edi, dword [esp + 0x50]
and ebx, 0xe7a91d27
xchg esi, ebx
jmp 0x46a0e7
jne 0x46ae85
sub ecx, edx
or ecx, 0xe7aa1875
shl ebx, 0x11
add ecx, 0xe7aad2f7
xchg ebx, ecx
jmp 0x4698e9
mov eax, 4
neg ebx
mov ebx, esi
mov ebx, edx
xchg edx, ecx
xor esi, 0xe7b11738
xchg ebx, edx
neg edx
jmp 0x46b3f6
rol eax, 8
shr ecx, 0x11
dec ecx
dec esi
add edx, ebx
or ecx, esi
shl esi, 0x13
dec ebx
mov ebx, esi
and ecx, 0xe7bfaf82
sub esi, ebx
sub esi, edx
and esi, ecx
sub ebx, esi
or esi, ebx
jmp 0x46b107
inc edi
and edx, ebx
xchg ebx, ecx
xor ebx, esi
mov edx, esi
and esi, 0xe7c22219
mov esi, 0xe7c26089
add ebx, 0xe7c2b105
xor edx, ecx
and edx, ebx
add edx, 0xe7c3669d
and edx, 0xe7c3a77d
bswap edx
jmp 0x469667
mov dword [esp + 0x2c], 0
xor esi, 0xe7c43b68
sub ecx, ebx
and edx, ecx
sub esi, edx
or ecx, ebx
jmp 0x46ab1f
add dword [esp + 0x88], 0x78
mov ecx, 0xe7c5900d
or ecx, 0xe7c5d047
xor esi, ebx
add ebx, 0xe7c65dac
or ecx, 0xe7c69bf0
and ebx, esi
bswap ecx
jmp 0x46985b
add edi, dword [esp + 0x50]
xchg ecx, ebx
mov ecx, 0xe7ccc9dc
mov edx, ebx
xor ebx, ecx
ror esi, 0xb
add esi, ebx
sub ecx, ebx
sub esi, edx
jmp 0x469841
mov eax, 2
mov ecx, 0xe7cf776c
rol edx, 9
shl ecx, 0x1a
xchg edx, ecx
and ecx, ebx
xchg edx, ecx
not esi
mov esi, ebx
and edx, 0xe7d19521
xchg edx, ecx
mov edx, 0xe7d210a8
ror edx, 8
jmp 0x46aae3
cmp eax, dword [esp + 0x3c]
jmp 0x46aff5
mov dword [esp + 0x2c], eax
xchg ecx, ebx
mov edx, esi
mov ecx, edx
shl esi, 0x18
or esi, 0xe7e114c7
jmp 0x469582
add edi, dword [esp + 0x50]
or esi, ecx
neg esi
bswap ebx
xchg edx, esi
xor esi, ecx
jmp 0x46a108
mov edi, dword [esp + 0x88]
bswap esi
mov esi, 0xe7f4a090
ror edx, 1
dec ecx
mov ebx, edx
and ecx, esi
sub ecx, edx
add ebx, 0xe7f62087
dec esi
xor esi, ebx
jmp 0x469afa
movzx edi, word [edi]
xchg ecx, esi
ror ebx, 0x18
neg ebx
rol edx, 9
sub edx, ecx
xchg ebx, esi
xor edx, esi
add ebx, ecx
bswap ebx
ror edx, 0x1c
add ebx, ecx
sub ecx, esi
add ecx, esi
and ebx, esi
add ebx, esi
xchg ecx, ebx
jmp 0x46a0b8
mov edi, dword [esp + 0x88]
sub ecx, ebx
neg ecx
or ebx, edx
or esi, edx
xor ecx, 0xe82fd5fb
or esi, ecx
bswap ebx
mov ebx, 0xe83147fb
ror esi, 4
or ecx, ebx
xor ecx, edx
ror ecx, 7
xor ecx, ebx
xor esi, ecx
jmp 0x46ac18
add edi, dword [esp + 0x50]
add ecx, esi
and edx, 0xe83553cb
add ebx, edx
neg edx
xchg esi, ecx
and edx, ecx
rol edx, 0xe
add esi, ecx
jmp 0x46ae55
add edi, 0x18
xor esi, ebx
mov esi, ebx
sub edx, ebx
bswap esi
sub edx, ebx
or esi, 0xe860920a
xor esi, ebx
jmp 0x46a3bc
mov edi, dword [esp + 0x50]
or esi, 0xe8b50a4f
inc ebx
inc edx
and ebx, esi
add ebx, ecx
add ebx, esi
xor ecx, edx
inc edx
add esi, ecx
ror ebx, 0xf
xchg edx, esi
nop
shr esi, 0xd
jmp 0x4699e7
add edi, dword [esp + 0x2c]
mov esi, ecx
xor ecx, esi
shl esi, 5
and edx, ecx
or ecx, esi
xchg edx, ecx
xchg esi, ecx
and esi, 0xe910229e
mov ecx, 0xe910988c
jmp 0x46b03d
mul edi
add esi, edx
mov esi, ebx
sub esi, ecx
inc esi
sub edx, ebx
sub edx, 0xe913da3f
jmp 0x46b2c5