Function at 0x4953c5
Capabilities:
Encrypt data using chaskey

Disassembly:
add edx, 0xc
mov esi, edi
mov edi, ebx
mov edi, esi
and ecx, ebx
add edi, ebx
and ecx, edi
or edi, ecx
or ebx, ecx
add esi, 0x9f896f89
bswap edi
xor edi, ecx
and ebx, edi
mov esi, edi
jmp 0x49707d
mov dword [esp + 0x78], edx
xor edi, 0x9f975a7c
mov edi, esi
and ecx, ebx
not ebx
xor esi, ebx
xor ecx, edi
sub ecx, esi
neg esi
xchg esi, edi
sub esi, ecx
add ecx, esi
jmp 0x49475f
pop edx
mov esi, ecx
sub esi, ebx
add esi, edi
add ebx, edi
or edi, 0x9fa4ebc8
add edi, 0x9faec39d
add esi, ebx
not ebx
neg edi
sub ebx, 0x9fb0d86d
xor esi, 0x9fb150fb
xchg esi, ecx
jmp 0x49669b
inc dword [esp + 0x38]
add edi, esi
and ecx, 0xa00805cb
sub ebx, edi
bswap edi
inc ecx
or edi, esi
or ebx, esi
rol esi, 8
jmp 0x496913
add edx, dword [esp + 0x54]
xor esi, ebx
mov ecx, ebx
xor ebx, 0xa013198f
or ebx, edi
xor ecx, edi
bswap ecx
sub edi, esi
rol esi, 4
jmp 0x49746c
add edx, dword [esp + 0x7c]
shr esi, 0xe
sub ecx, 0xa02ff6ec
xor ebx, ecx
sub esi, ebx
bswap esi
jmp 0x495f0e
mov edx, dword [esp + 0x54]
xor ebx, edi
sub edi, ecx
and ecx, edi
shl ebx, 0x1d
add edi, 0xa04bd941
add ecx, esi
add ebx, ecx
mov ecx, 0xa04d3a24
inc edi
neg esi
add esi, ebx
or ebx, 0xa04f6920
add ebx, 0xa0500299
jmp 0x496b45
add dword [esp + 0x54], 0x78
mov esi, ecx
shr esi, 2
or ecx, esi
jmp 0x4953ea
mov dword [esp + 0x54], 0
mov esi, ecx
and esi, ecx
inc ecx
xor edi, esi
sub ecx, edi
xchg edi, ebx
inc ecx
and edi, ebx
not ecx
mov ecx, ebx
jmp 0x494baa
mov edx, dword [edx]
add ebx, esi
shr esi, 6
bswap esi
sub ebx, 0xa0aa37dc
add esi, ebx
add edi, ebx
or edi, esi
jmp 0x495263
mov dword [esp + 8], edx
and esi, ebx
sub ecx, 0xa0b925ed
xor ecx, 0xa0b9a682
sub ebx, 0xa0ba1f7b
or ebx, 0xa0ba996f
dec esi
xchg esi, ecx
or edi, ecx
or ecx, 0xa0bcc98c
and esi, edi
jmp 0x494d9e
add edx, 0x3c
xor esi, edi
nop
add ebx, esi
dec edi
add ecx, 0xa0d3406c
and esi, ecx
dec ebx
or ebx, edi
jmp 0x49550b
mov eax, 4
and ebx, edi
xor ecx, edi
mov ebx, esi
and esi, ecx
add ecx, edi
ror ecx, 0x18
or ebx, ecx
jmp 0x494d7e
movzx edx, word [edx]
add ebx, ecx
sub edi, ecx
neg ebx
xchg ebx, edi
or esi, 0xa11084c1
add ebx, ecx
or edi, ecx
xchg ecx, ebx
xchg ebx, edi
mov ecx, ebx
jmp 0x495017
mov edx, 0x30
and esi, ecx
shr esi, 0x16
or ecx, edi
dec esi
inc ecx
mov ecx, edi
jmp 0x49520b
mov dword [esp + 0x38], eax
or ecx, ebx
mov ecx, edi
add ecx, ebx
sub ebx, 0xa12f4836
shr edi, 0x1d
xor esi, 0xa1304b10
xchg ecx, edi
or edi, ebx
add ecx, edi
jmp 0x496bc9
mov edx, dword [esp + 0x7c]
bswap esi
shr ebx, 0x1f
shr ebx, 9
shr edi, 0x15
or esi, ebx
and ebx, esi
and esi, edi
and esi, ecx
sub ecx, edi
jmp 0x495f78
mov edx, dword [edx]
neg edi
and esi, edi
and esi, edi
mov edi, 0xa14c6b5f
inc esi
add edi, ebx
xchg esi, ecx
xor edi, ecx
or ebx, edi
jmp 0x49733a
inc edx
sub edi, esi
and esi, ecx
add edi, ecx
jmp 0x496ebe
mul edx
sub ebx, edi
add esi, 0xa17d37c4
rol ebx, 0x18
and ebx, edi
xchg ebx, esi
shl ebx, 4
sub edi, ebx
xor ebx, ecx
shr ecx, 0x16
and edi, 0xa181b11c
sub edi, ebx
shl ecx, 0x1f
or edi, esi
rol esi, 2
jmp 0x4971e5
xor eax, eax
add edi, ebx
add edi, 0xa185aabd
add ebx, ecx
or esi, ebx
and ebx, ecx
mov esi, edi
or ebx, edi
inc ecx
or esi, edi
xchg esi, edi
xor ecx, 0xa18a4a23
jmp 0x496637
mov edx, dword fs:[edx]
and esi, 0xa1b3a9c5
sub ecx, ebx
inc edi
xor ebx, esi
shr ecx, 0xb
xchg ecx, esi
mov ecx, 0xa1b6dbc4
xchg edi, ebx
mov ebx, edi
sub ebx, 0xa1b88ea4
jmp 0x495329
mov dword [esp + 0x7c], edx
add ecx, ebx
mov ebx, edi
shl edi, 0x1e
bswap ecx
sub ecx, edi
add esi, edi
or esi, edi
mov edi, esi
sub ecx, ebx
sub ecx, ebx
inc ebx
sub ebx, ecx
jmp 0x4964b7
add edx, 0xc
neg ebx
add ebx, edi
or edi, esi
sub esi, 0xa1e304fa
add ecx, edi
mov esi, 0xa1e3ea0a
xchg edi, esi
jmp 0x496ec6
mov dword [esp + 0x7c], 0
xchg esi, edi
xor ecx, 0xa1e56a0f
dec edi
inc ebx
ror edi, 0x1b
bswap edi
not edi
add edi, ebx
sub ebx, edi
xchg ecx, esi
neg edi
shl ebx, 0x14
bswap ebx
xchg ebx, edi
jmp 0x494a8c
mov edx, dword [esp + 0x54]
and ecx, edi
xor esi, ecx
xchg esi, ebx
ror ecx, 0xf
mov ebx, 0xa1f6e53c
or esi, edi
or edi, 0xa1f7dfe3
or edi, esi
sub esi, ebx
jmp 0x496098
sub esp, 0x90
dec edi
mov edi, ebx
dec esi
mov ecx, edi
xchg ebx, ecx
xchg esi, ecx
dec edi
add esi, ebx
xor esi, 0xa1fd62f5
inc ecx
or ebx, 0xa1fe682e
jmp 0x496592
mov edx, dword [esp + 0x7c]
xor ebx, edi
xchg esi, edi
neg ebx
and ecx, ebx
or ebx, edi
shl esi, 0xe
add ecx, edi
jmp 0x4947b3
mov edx, dword [edx]
sub edi, ebx
add ecx, esi
mov esi, ebx
xor ecx, 0xa22d5aa4
shr esi, 0x17
jmp 0x496547
ret
add esp, 0x90
add edi, esi
sub ebx, 0xa2805c1c
or ebx, esi
and ecx, esi
xor esi, ebx
add esi, ecx
sub ebx, edi
sub edi, ecx
jmp 0x495567
mov edx, dword [esp + 0x38]
mov esi, ebx
bswap edi
not edi
xor ecx, edi
xchg ebx, esi
sub ecx, edi
xchg edi, ebx
mov esi, edi
xor ebx, esi
xor ebx, ecx
jmp 0x496fb3
add edx, 0x18
add edi, 0xa2c899ad
xor esi, edi
dec edi
not esi
jmp 0x494b38
push edx
add edi, ebx
mov edi, ecx
ror ebx, 0x1c
xor esi, edi
xchg esi, ebx
xor ecx, esi
add ecx, esi
jmp 0x495047
mov edx, dword [edx]
not ebx
xor esi, 0xa2e1635f
sub edi, ecx
sub ecx, 0xa2e1e6ab
and ebx, ecx
sub esi, ecx
shl edi, 0x12
and ebx, esi
mov ebx, ecx
xchg esi, edi
mov ebx, esi
jmp 0x495eee
mov edx, dword [esp + 0x78]
inc edi
bswap ecx
add ecx, edi
xchg ecx, esi
xor edi, 0xa2e4fa8c
mov esi, ebx
and ecx, edi
or ecx, 0xa2e5e64a
add ecx, esi
and ebx, esi
or esi, 0xa2e69a34
neg esi
add ebx, edi
jmp 0x4964d9
jne 0x496637
xor esi, edi
inc esi
not ecx
sub ebx, esi
sub ebx, esi
not edi
and ebx, 0xa2ed7b5e
jmp 0x4945d3
mov edx, dword [esp + 0x78]
sub edi, ebx
not ecx
add esi, edi
neg ebx
sub edi, esi
or ebx, 0xa30863b6
or ebx, 0xa308b756
add edi, 0xa3090bb1
xor ecx, ebx
or ebx, esi
jmp 0x4972ce
add dword [esp + 0x54], 0x20
xchg esi, ecx
xor ebx, 0xa32313f4
and esi, 0xa3238ee6
mov esi, ebx
and ebx, esi
rol edi, 0xd
jmp 0x4961b4
mov edx, dword [edx]
xor esi, ebx
ror ecx, 0x12
add ecx, 0xa3483bd5
or esi, 0xa34879cf
or esi, 0xa348b4b9
and ecx, ebx
jmp 0x495a7c
mov dword [esp + 0x78], edx
shr ebx, 0x1d
or ecx, edi
dec esi
or esi, ebx
shr ebx, 0x1b
add ecx, edi
or esi, 0xa34ae62d
neg ecx
dec ecx
ror ebx, 3
xor ecx, edi
jmp 0x496127
add dword [esp + 0x54], edx
mov esi, edi
shl esi, 0x1d
xor edi, ebx
and esi, ecx
mov esi, ecx
add esi, edi
and ecx, edi
ror esi, 5
mov esi, 0xa354b0e2
neg ebx
sub ecx, esi
and ebx, 0xa3556adf
xor edi, 0xa35c6069
add ebx, 0xa35cb20e
xor edi, 0xa35cf30f
sub edi, ecx
jmp 0x495ded
mov edx, dword [edx]
bswap ecx
and ebx, 0xa37ce7ba
and ecx, edi
dec edi
and esi, edi
xchg edi, esi
add ecx, ebx
xchg esi, ebx
xor ebx, ecx
not esi
neg edi
not esi
xor ebx, esi
jmp 0x494876
mov eax, 2
inc ecx
mov esi, 0xa38e4122
mov edi, esi
and esi, edi
and esi, edi
ror esi, 0x15
and ebx, 0xa3976db4
and edi, ecx
not esi
add ebx, esi
xor edi, ebx
jmp 0x495a5c
mov edx, dword [esp + 0x54]
or esi, ecx
sub edi, ebx
xchg ebx, ecx
xchg esi, ecx
xor ecx, esi
xchg edi, esi
mov edi, esi
neg ecx
bswap ecx
xor ebx, 0xa3ac128b
rol ebx, 0x19
add ebx, ecx
inc ebx
and esi, 0xa3bed054
jmp 0x496980
add dword [esp + 0x54], 4
sub ecx, ebx
add esi, ecx
xchg ecx, edi
shr edi, 7
add esi, 0xa3fb0942
sub esi, ecx
xor ecx, ebx
or ecx, 0xa3fc7db4
inc ebx
xchg esi, edi
sub edi, ebx
jmp 0x49539f
mov dword [esp + 0x54], edx
mov edi, esi
and ecx, 0xa3ff1176
bswap edi
or ecx, esi
dec ecx
sub ebx, esi
mov esi, 0xa4017b1b
jmp 0x495ce9
add edx, dword [esp + 0x7c]
neg ecx
or edi, ecx
mov ebx, 0xa4450be0
mov edi, ebx
sub ecx, edi
add ebx, edi
sub ebx, esi
dec ecx
mov ecx, edi
neg edi
mov ecx, esi
xor esi, edi
and ebx, 0xa447b2bc
add edi, ebx
xor ecx, esi
jmp 0x495b4e
mov edx, dword [esp + 0x7c]
not ecx
or edi, ecx
shl edi, 9
and esi, ecx
rol ecx, 8
shr esi, 0x1c
and esi, edi
shl ecx, 0x19
neg esi
jmp 0x494c01
mov edx, dword [edx]
sub edi, 0xa4607007
xor ebx, 0xa460b0ed
xchg edi, ecx
xor ecx, esi
and edi, ebx
dec ecx
mov edi, 0xa461eef1
dec ebx
sub esi, ecx
ror edi, 0x1e
or ecx, ebx
jmp 0x496429
mov dword [esp + 0x54], edx
sub esi, edi
and ecx, edi
mov ecx, ebx
xchg ecx, edi
sub ecx, esi
or esi, ecx
xor edi, 0xa47a262e
mov esi, ecx
xor ecx, esi
bswap ecx
and ecx, ebx
sub esi, edi
jmp 0x494a31
mov dword [esp + 0x38], 0
and esi, 0xa481b0f8
bswap esi
xchg edi, esi
jmp 0x4968e6
xor al, byte [edx]
not esi
bswap ecx
neg ecx
xor edi, ebx
xor ebx, 0xa49c06ea
shl ebx, 0x11
shl edi, 9
and ecx, ebx
mov ecx, esi
jmp 0x496e6b
cmp eax, dword [esp + 8]
jmp 0x497646
mov dword [esp + 0x78], 0
mov ecx, 0xa5269e5e
or ecx, ebx
sub ecx, 0xa527740a
xchg ebx, edi
xchg ebx, esi
xor ebx, ecx
or esi, ebx
or ecx, edi
and esi, 0xa52a4efb
jmp 0x495346
add dword [esp + 0x78], 4
add edi, esi
ror edi, 0xd
or esi, ebx
xchg ebx, edi
xchg edi, ecx
xor ecx, 0xa52cfd12
rol edi, 0x17
rol esi, 0xd
jmp 0x495b89
mov edx, dword [edx]
sub ebx, 0xa53f2c22
add ebx, esi
add ebx, edi
dec edi
shr edi, 9
add ebx, esi
add esi, ebx
xor ebx, 0xa5410549
or edi, esi
dec edi
sub ecx, edi
dec esi
sub ecx, esi
ror ebx, 4
jmp 0x496b88
mov edx, dword [edx]
and ecx, esi
neg ebx
add ecx, esi
neg esi
add esi, edi
bswap esi
sub ebx, 0xa57817e9
mov esi, edi
xor ecx, esi
or ecx, 0xa5798e63
and ebx, edi
not edi
or ecx, esi
neg ecx
and esi, edi
jmp 0x496cf0
add edx, dword [esp + 0x7c]
not edi
xor ecx, edi
jmp 0x494588
sub dword [esp + 0x54], 8
dec edi
xchg ecx, ebx
add edi, 0xa581e8b9
shr esi, 0xe
or esi, 0xa58bfb8d
or edi, 0xa58c3b40
mov ebx, esi
or ebx, ecx
shl ecx, 8
xor edi, 0xa58d398a
shr edi, 0x1d
shl ecx, 7
xor ebx, esi
ror esi, 0x1f
and ecx, esi
jmp 0x49493e
add edx, dword [esp + 0x7c]
neg edi
add edi, ecx
and ebx, edi
shr ebx, 0x19
xchg esi, ebx
and edi, ecx
or esi, ecx
xor ecx, edi
or ecx, 0xa5a1622d
xchg edi, ecx
mov edi, ecx
sub edi, esi
xor ecx, 0xa5a257da
jmp 0x496304
rol eax, 8
ror ecx, 0x13
and edi, esi
and edi, ecx
ror esi, 0x1c
ror ecx, 0xc
inc ecx
mov esi, 0xa5cd6619
and esi, ecx
neg esi
sub edi, ebx
add edi, ebx
xor esi, edi
ror ecx, 0x12
shr ecx, 0xc
and ecx, ebx
jmp 0x494fe2
cmp byte [edx], 0
jmp 0x495bed
mov edx, dword [edx]
xchg ecx, ebx
xchg edi, ebx
shl ecx, 0x1d
add ebx, edi
mov esi, 0xa5d379c4
not ebx
and edi, 0xa5d3f469
xchg ebx, ecx
neg esi
mov ebx, esi
shl ecx, 0xa
add ecx, ebx
jmp 0x494517
mul edx
add ebx, 0xa5f7db6c
add ebx, ecx
and edi, esi
add ecx, edi
not esi
xchg ecx, esi
add esi, ebx
jmp 0x494e49
mov edx, dword [edx]
nop
rol ecx, 0x14
shr edi, 0x17
inc ebx
xor edi, esi
or edi, ebx
xor ebx, 0xa65f547a
sub esi, edi
xchg esi, edi
mov ebx, 0xa6602d5a
sub esi, ecx
shl esi, 6
rol edi, 5
jmp 0x495b63
add dword [esp + 0x54], eax
rol ecx, 4
xchg esi, edi
and ecx, edi
add ecx, ebx
add esi, ebx
sub esi, edi
sub ecx, ebx
mov ebx, ecx
rol ebx, 6
inc ecx
mov esi, 0xa68a41fb
or edi, ebx
jmp 0x4974d8
add edx, dword [esp + 0x38]
sub ebx, 0xa6a36578
rol ecx, 7
xor ecx, edi
not edi
add ebx, esi
xor edi, 0xa6a4a109
jmp 0x494d50
add edx, dword [esp + 0x7c]
and ecx, edi
and ebx, ecx
shr ecx, 7
add esi, ecx
shl esi, 0x14
and edi, ecx
jmp 0x4957f3
mov edx, dword [edx]
and ecx, esi
add ecx, edi
mov edi, 0xa70f5d9c
and edi, esi
xor edi, ebx
add ebx, 0xa7103247
inc esi
dec esi
and edi, ebx
or edi, esi
add ecx, edi
rol ecx, 0x15
jmp 0x4977dd
mov edx, dword [esp + 0x54]
add edi, ecx
xor esi, 0xa72292d3
bswap ecx
add ecx, edi
bswap edi
mov edi, ebx
and esi, ecx
bswap ebx
or esi, ecx
rol ecx, 0x1b
mov ecx, esi
and ecx, ebx
shl ecx, 0x1b
jmp 0x494f04
jne 0x49475f
add esi, edi
mov edi, esi
and esi, ecx
xor ecx, esi
bswap edi
inc edi
sub ecx, ebx
sub ecx, ebx
add ebx, ecx
sub esi, 0xa75353ad
or esi, 0xa7539114
jmp 0x4962d9
mov dword [esp + 0x54], edx
rol ecx, 1
and esi, edi
sub esi, ecx
shr esi, 0x1d
add ebx, 0xa77bd553
add ebx, 0xa77c13a2
jmp 0x494e8d