Function at 0x46cd36
Capabilities:
Encrypt data using chaskey

Disassembly:
add esi, dword [esp]
sub ebx, edx
bswap ebx
sub ebx, 0xf2b114c2
xchg ecx, edx
and edx, ebx
add edi, ebx
ror edx, 0xf
shl edi, 0xb
bswap edx
sub ecx, edi
or ebx, ecx
jmp 0x46a3d1
add dword [esp], 0x20
add ecx, ebx
and ecx, edi
xor edi, ecx
or edi, ecx
add ebx, edx
xor edi, ebx
and ecx, ebx
dec edi
and ebx, 0xf2bdb4a5
not ecx
xchg ebx, ecx
bswap ebx
jmp 0x46beb2
mov dword [esp], esi
shl edi, 2
xchg ecx, edi
xor edi, 0xf2c01b1b
mov ecx, ebx
sub edi, ecx
shr edi, 0x13
add edi, ecx
and edx, 0xf2c1c644
shl edi, 7
shr edx, 0x1d
rol ecx, 7
shl ecx, 0xb
xchg ebx, edi
xor ebx, edx
sub ebx, 0xf2c4456f
jmp 0x46bd30
mov esi, dword [esi]
mov ebx, ecx
and ecx, ebx
ror edx, 0x13
or edx, 0xf2c91890
neg edi
jmp 0x46bbad
mov esi, dword [esi]
xor edx, 0xf30f3ba2
xor edx, 0xf30f937d
and edi, ebx
xchg ecx, ebx
and edi, 0xf3109268
sub edi, edx
shr ebx, 9
and ecx, 0xf311b19e
add edx, ecx
xor ebx, 0xf3125d20
shr ebx, 2
or ecx, edx
jmp 0x4699cf
mov esi, dword [esp]
or edi, 0xf31775b2
neg ecx
sub ebx, ecx
and ebx, 0xf3191151
shl ebx, 0x18
xchg edi, ebx
or ecx, 0xf31af77b
sub ebx, edx
and edx, edi
jmp 0x46cd89
mov dword [esp + 0x98], esi
shr ecx, 8
xchg edx, edi
dec ecx
and ecx, ebx
jmp 0x46b701
movzx esi, word [esi]
or edi, ecx
add edi, 0xf32ba727
mov edx, ecx
or ecx, edx
add edx, edi
sub edx, edi
add edi, edx
mov edx, edi
shr edx, 9
jmp 0x469ecf
mov esi, dword [esi]
xchg ebx, edi
sub ecx, ebx
shr edx, 5
add edi, edx
sub edi, edx
inc ebx
jmp 0x46c95d
add dword [esp], esi
and ecx, edx
sub edi, ecx
and edx, ebx
mov ecx, edi
sub edx, ecx
jmp 0x46967b
mov esi, dword [esi]
and edi, ebx
xchg edx, ebx
sub ecx, edx
bswap ebx
inc ecx
xchg ebx, edx
mov ecx, edx
and ecx, ebx
xchg edi, ebx
xor edx, ebx
sub ecx, ebx
mov ebx, ecx
jmp 0x46b40b
mov esi, dword [esi]
inc edi
xor edi, 0xf3506fc6
mov ebx, edx
add edx, edi
mov ebx, 0xf35232fa
sub edi, edx
mov edx, ecx
xor edx, 0xf3541715
xchg ebx, ecx
and ebx, edx
shl edi, 0xd
and edi, 0xf35672c7
jmp 0x46bcae
mov esi, dword [esp + 0x98]
ror edi, 0x1b
xor edi, ebx
xchg edx, ebx
shl ecx, 3
xor edx, edi
xchg ecx, ebx
shr edi, 7
xor ecx, ebx
and ecx, edi
add ecx, edx
mov edx, ecx
jmp 0x469634
mov dword [esp], esi
neg ebx
xchg edi, edx
shl ecx, 0x10
nop
bswap ecx
add ebx, 0xf3900f15
rol ebx, 1
mov edx, 0xf390bc1e
add ecx, ebx
jmp 0x46a522
mov dword [esp + 0xf8], 0
bswap ecx
add ecx, edi
sub edi, ecx
xor ecx, edi
neg ecx
or ebx, edx
jmp 0x46c04d
ret
mul esi
xchg ecx, edx
or ebx, edi
sub ebx, ecx
mov edx, edi
or edi, 0xf3cb8bc2
ror ecx, 0xf
sub ecx, 0xf3ccd941
or edx, edi
xchg ecx, edi
and ebx, edi
inc edi
or ecx, 0xf3d08203
dec edx
ror edi, 2
jmp 0x46c581
mov esi, dword [esi]
add edi, ebx
dec ecx
not edx
xor edx, ecx
neg ebx
sub ecx, edi
shl ecx, 0x10
jmp 0x46a6d7
mov esi, dword [esp + 0xa4]
add ecx, edi
xchg ebx, edi
xchg edx, ecx
shr ecx, 0xd
add ecx, ebx
inc edi
xchg ebx, edx
jmp 0x46b3c7
add dword [esp], 0x78
xor ecx, 0xf411e06b
sub edx, ecx
and ebx, ecx
add edx, ebx
xchg edx, ecx
xchg edi, ecx
sub ecx, edi
neg ecx
xor edi, ebx
xor ecx, 0xf4180c01
add edi, 0xf418bb4c
shl ebx, 0x1e
jmp 0x469c35
mov esi, dword [esi]
sub edx, ebx
xor edi, ebx
xchg ebx, ecx
jmp 0x469cd6
mov esi, dword [esp + 0x98]
ror edx, 0x12
mov ecx, edi
not edi
add ebx, 0xf4d6de1b
mov edi, ecx
add ecx, ebx
and edx, ebx
mov ebx, ecx
rol edi, 0x11
inc ebx
jmp 0x469a99
mov esi, dword [esp]
and edi, ecx
inc ebx
mov edi, 0xf50eec43
xor edx, edi
xor edx, edi
jmp 0x4696f5
mov esi, dword [esi]
shl edx, 0x11
add ecx, edi
jmp 0x469aaf
rol eax, 8
sub edx, ecx
xchg edx, edi
mov ebx, ecx
add edi, edx
jmp 0x46bc63
jne 0x46bd17
xchg edi, edx
xor ecx, edi
mov ebx, edx
xor edi, ecx
mov ecx, edx
or ebx, ecx
add ecx, edx
mov edx, edi
or edi, ebx
add edx, 0xf54897c3
jmp 0x46ba09
mov dword [esp], esi
and ebx, edi
add edi, ecx
bswap ecx
and ebx, edi
xor edx, 0xf57f51fd
add edx, 0xf57fa6f2
sub edx, ecx
add ebx, edx
and edi, ebx
add ebx, edi
jmp 0x46a044
add esi, dword [esp + 0x98]
bswap edx
xor ebx, edx
sub edi, 0xf59886a2
mov edx, ecx
mov edi, edx
or ecx, ebx
or ebx, ecx
jmp 0x46af7d
add esi, dword [esp + 0x98]
or edx, 0xf69c2499
sub edi, 0xf69cc4a4
inc ebx
sub ecx, ebx
shr edx, 0x16
xor ecx, 0xf6a1bae5
shr ecx, 0x18
and edi, 0xf6a2b60c
xchg edx, edi
or edx, 0xf6a3b507
xor edx, ebx
ror ebx, 0x19
add ebx, edi
sub edx, ebx
jmp 0x46ae08
push esi
dec edi
sub ecx, ebx
sub edx, ecx
sub edx, edi
and ebx, 0xf710cbaa
dec edi
mov edx, ecx
or ebx, 0xf711e38b
add ecx, ebx
or edx, ebx
add ebx, edx
jmp 0x46aeef
xor eax, eax
not ebx
sub edx, edi
sub ebx, ecx
add edi, ebx
add edx, ecx
xor ecx, edi
mov ecx, 0xf73e5d10
jmp 0x46bd17
mov dword [esp + 0xa4], esi
mov edi, ebx
inc ebx
sub edx, ebx
xor ecx, 0xf753e536
sub ebx, ecx
xchg edx, ecx
shr edi, 0x11
and ecx, 0xf75687dd
shr edx, 0xb
mov edi, edx
sub edx, 0xf758be37
jmp 0x46beca
jne 0x46beca
and edx, edi
xor edi, 0xf7bba271
rol edi, 7
and ebx, 0xf7bce847
and edi, ebx
and ecx, edx
xor ebx, 0xf7be151d
or edx, ecx
and ecx, 0xf7bec1a4
jmp 0x46b587
mov eax, 2
mov ebx, edi
ror edx, 0xe
sub edi, ecx
mov ebx, 0xf7c10890
xor edi, edx
mov edx, 0xf7c1ea39
not edx
shl ebx, 0x10
and edi, ebx
dec ecx
jmp 0x46b452
mov esi, dword [esi]
and ecx, ebx
and ebx, ecx
or ecx, 0xf80efea8
rol ebx, 0x1d
xor ecx, ebx
xor edi, ecx
mov ebx, edx
add ebx, 0xf810aac6
sub ebx, edx
ror ebx, 0xb
and ecx, ebx
or ebx, edi
sub ecx, ebx
xor ecx, 0xf812c259
jmp 0x46a965
add dword [esp + 0xa4], 4
xor ebx, edi
and edx, 0xf82168cf
xor edi, 0xf821c04c
mov edx, ebx
sub ebx, edx
bswap edi
add ecx, edi
jmp 0x469fc0
mov esi, dword [esi]
xor ecx, edx
sub ebx, edx
or ecx, 0xf828b9e5
dec ecx
shl ecx, 0x1e
neg ebx
add edi, ebx
jmp 0x46ab4e
add esi, 0x18
sub ebx, edx
xor edi, edx
mov edx, edi
dec edx
and ebx, ecx
rol edx, 3
add ecx, 0xf8330a5c
and edi, ebx
and ebx, edi
add edx, 0xf8674a6d
ror ebx, 0x1a
or ebx, edx
add ecx, 0xf86853a1
jmp 0x46992c
mov esi, dword [esp + 0xf8]
mov edx, edi
and edi, ecx
mov edi, ebx
add ecx, 0xf86bcfcf
sub ecx, edx
dec ecx
not ebx
sub ecx, ebx
dec edi
jmp 0x46cb6c
add dword [esp], 4
not edx
or edi, ecx
sub ecx, ebx
xor ebx, ecx
not ecx
sub ecx, edx
sub edx, ecx
xor ebx, edx
add edx, 0xf898201c
sub ebx, ecx
rol ecx, 0xe
xchg edx, ebx
xchg ecx, ebx
jmp 0x46c4ac
mov esi, dword [esp + 0x98]
sub ecx, edi
or ecx, edx
mov ecx, edi
neg ebx
ror ecx, 0x1b
mov edi, ebx
sub ebx, 0xf8fb2409
and ecx, 0xf8fc0cf0
shr ecx, 9
and edx, 0xf8fd092e
xchg edi, ebx
or edx, edi
or ecx, edi
and ecx, edx
jmp 0x46baae
cmp byte [esi], 0
jmp 0x46a818
pop esi
add ebx, edi
ror ebx, 0x12
mov ebx, 0xf94f2a3a
and ebx, 0xf94f8353
mov ecx, edi
and edi, 0xf9502da9
or edx, ebx
add ecx, 0xf950d867
add edi, ebx
add edx, 0xf9519b53
xchg ebx, edx
jmp 0x46c654
add esi, 0x3c
or ebx, edx
and ecx, edi
sub ecx, ebx
dec edx
bswap edi
add ecx, ebx
and ebx, edi
sub ecx, ebx
add edx, ecx
ror ecx, 0x17
and ebx, 0xf96576bb
jmp 0x46b2c4
add esi, dword [esp + 0x98]
add edi, ecx
xor ecx, ebx
or ecx, edx
sub edi, 0xf9863176
rol edi, 0xe
nop
mov edx, ecx
add edi, edx
ror ebx, 0x1a
sub ebx, ecx
jmp 0x46c2fa
inc esi
bswap ebx
dec edi
sub ecx, edi
add ebx, ecx
xchg ecx, ebx
add ecx, ebx
inc ebx
add ecx, ebx
jmp 0x46b760
add esi, dword [esp + 0x98]
xor ecx, edi
mov ecx, 0xf9ac46f0
inc ecx
xor edx, ecx
xor edi, 0xf9ae0d05
or edi, ecx
xchg ecx, ebx
xchg edi, edx
or edx, edi
rol ecx, 0xf
sub ebx, edi
jmp 0x46bcef
mov dword [esp + 0xa4], esi
sub ecx, ebx
add ecx, 0xf9b8ad2c
rol edi, 0x12
mov edi, edx
neg edi
sub edi, edx
mov ebx, 0xf9bb9fc2
and edx, 0xf9bc549d
jmp 0x46b1d8
xor al, byte [esi]
shl edi, 0xf
shr edx, 3
add ebx, 0xf9be7600
and ebx, 0xf9bf11c1
jmp 0x46a79b
mov esi, dword [esp + 0xa4]
xchg edi, ecx
and ebx, 0xf9c073bb
xor edi, ebx
and ebx, edi
xor edi, ebx
and ecx, edi
xchg edi, ecx
shl ebx, 0x1b
add ecx, edi
xor ecx, edi
sub edi, edx
mov edi, 0xf9c6937f
sub ebx, 0xf9c7286e
add ebx, edx
jmp 0x46bf0d
add esi, dword [esp + 0x98]
mov ecx, 0xf9d52aa8
shl ecx, 0x19
and ecx, ebx
or edi, edx
xchg edx, ecx
bswap edi
neg edx
ror ecx, 0x1f
nop
dec ecx
xor edx, ecx
xchg edi, ecx
sub edx, ebx
not ecx
jmp 0x4696a3
add esi, 0xc
sub ecx, ebx
bswap edi
bswap ecx
and ecx, edx
mov ecx, edx
or ebx, edi
xor edx, ebx
jmp 0x469a3d
mov esi, dword [esp]
mov ebx, 0xfa033c93
xchg ebx, edx
or edx, edi
nop
sub ebx, edx
jmp 0x46cac6
inc dword [esp + 0xf8]
add edx, 0xfa06c0c9
xor ecx, edx
sub ecx, edx
sub ecx, edx
xor edx, 0xfa094ea0
mov ebx, 0xfa09f1df
xor edi, ebx
not edx
jmp 0x46b37b
add esi, dword [esp + 0xf8]
xchg ecx, edx
neg edx
and ecx, ebx
dec ecx
sub edi, 0xfa12c4ee
rol ebx, 0x13
rol ecx, 0x18
mov ebx, edi
mov edi, ecx
sub ecx, 0xfa15ddb8
mov ebx, edi
jmp 0x46c201
mov dword [esp + 0xa4], 0
and ebx, ecx
add edi, ebx
xor ebx, 0xfa470f84
or ecx, ebx
add edi, edx
bswap ebx
add ecx, edx
add edi, ebx
sub ebx, 0xfa4aa40d
xor edi, ecx
jmp 0x46c76f
mov eax, 4
xor ecx, edi
xchg ebx, edi
shl edx, 5
or ecx, ebx
or edi, 0xfa893a06
xor edx, edi
or ecx, edi
jmp 0x469a0c
add esp, 0x144
and ebx, 0xfaaa3978
and ecx, 0xfaaacc6f
xchg edi, ebx
sub edi, edx
and edx, 0xfaad646d
and ebx, 0xfaae0e8a
mov edi, ebx
and edx, edi
or edi, 0xfab3dd9c
sub edx, ecx
neg edi
jmp 0x469db6
mov esi, dword [esp]
add edi, edx
neg edx
neg edx
xor ecx, ebx
mov ebx, edx
and ebx, 0xfaf88413
mov ecx, edx
or edx, edi
xor edx, ecx
or ecx, edi
jmp 0x469acd
mov dword [esp + 0xb8], esi
shl ecx, 0x1a
xchg edi, edx
add ecx, 0xfb07b3d0
neg edx
mov ebx, ecx
rol edx, 0xe
mov edi, ecx
and ebx, ecx
sub edx, ecx
jmp 0x46ccbd
add dword [esp], eax
and edx, ecx
or ebx, 0xfb173561
shr edx, 2
add edi, 0xfb17e512
add edx, edi
sub edx, edi
xchg ecx, edx
xchg ebx, edx
xor edi, ebx
bswap ecx
xor ebx, ecx
jmp 0x46a69c
cmp eax, dword [esp + 0xb8]
jmp 0x46b1aa
sub dword [esp], 8
mov ecx, edx
inc ecx
xor edx, 0xfb3f3866
sub ecx, edx
sub edx, edi
xor edi, ebx
sub edx, 0xfb420fd9
and edi, edx
xor ecx, ebx
sub ecx, ebx
jmp 0x46998e
mov esi, dword fs:[esi]
sub edx, ecx
add ebx, 0xfb5928d2
xor ecx, edi
sub ecx, edx
xchg edx, ecx
shl edx, 3
dec ecx
jmp 0x46be1a
mov dword [esp + 0x98], 0
sub ecx, edx
or ecx, ebx
add edx, edi
neg edi
add edx, 0xfb617cae
xor ecx, ebx
jmp 0x46cbdf
mov dword [esp + 0xf8], eax
xchg edi, ecx
not edi
sub ebx, ecx
or ebx, edi
and edx, ecx
shr edi, 0xf
or edi, edx
xor ebx, edi
bswap ebx
and ebx, edi
jmp 0x46c68b
add esi, 0xc
rol ebx, 0x1d
sub ebx, ecx
mov edi, ecx
or edi, ebx
and edi, ecx
neg edi
ror edx, 0xf
xchg edi, edx
and ecx, ebx
and edx, edi
xchg ebx, edx
and edi, ebx
and ebx, 0xfbb7a542
ror ecx, 2
or ebx, edx
shr edi, 0xb
jmp 0x469fab
mov esi, dword [esi]
xchg ecx, edi
shl ebx, 0x11
xor ebx, edi
add ebx, edi
add ecx, ebx
and ecx, 0xfbddf7bf
jmp 0x46aa23
mul esi
mov edi, edx
and ebx, edx
add edi, 0xfc0336da
mov edi, ecx
and ecx, edi
add edx, ecx
jmp 0x46c90d
mov dword [esp], 0
add edi, ebx
xor ecx, edi
rol ecx, 0xb
add ebx, edx
xchg edi, edx
sub ecx, edi
and edx, ecx
and edi, ecx
xchg ecx, edi
add ebx, edx
or ebx, 0xfc21044c
mov ebx, edx
jmp 0x46c50d
mov esi, 0x30
sub ebx, edx
xchg ebx, edx
or edx, ecx
and ecx, edx
add edi, ecx
and ecx, 0xfc3c4967
dec edi
xchg ebx, ecx
and ecx, 0xfc3d6223
not edi
jmp 0x46c731
sub esp, 0x144
and edi, 0xfc47555e
xor edx, edi
bswap edx
shr ecx, 0x15
add edi, ebx
or edi, edx
ror ebx, 0x1c
xchg ebx, edx
add ebx, edi
add ecx, edx
xor ecx, edx
jmp 0x469d8a
mov esi, dword [esi]
neg edx
xor edx, ebx
add edi, ebx
shl ecx, 1
sub ecx, 0xfc54effc
not edi
or ebx, edx
add ebx, edi
mov edi, ebx
inc edx
add edx, edi
xor ebx, edi
add edx, 0xfc57ac54
sub ecx, edx
jmp 0x46bdae