Function at 0x49768f
Capabilities:
Encrypt data using chaskey

Disassembly:
add dword [esp + 0xa0], esi
and edx, 0x4a16ff84
not ebx
not edx
mov edx, 0x4a199c16
shl ecx, 6
xchg ecx, ebx
add edi, 0x4a1c43de
or ebx, ecx
sub ecx, edx
and ecx, edi
rol ebx, 0x11
xor ecx, edx
bswap ebx
or edi, 0x4a2203df
xor ebx, edx
jmp 0x496cb7
add dword [esp + 0x5c], 4
or edi, ebx
dec ebx
xor edx, 0x4a3209ac
sub ebx, ecx
xor edx, 0x4a335114
add edi, edx
ror edx, 0x1d
mov edx, 0x4a358a67
add ecx, 0x4a36367b
not ecx
not ebx
xchg edi, edx
jmp 0x49508f
mov esi, dword [esi]
and ebx, ecx
mov ebx, ecx
sub ecx, edx
add edi, ecx
sub ebx, 0x4a5b4203
jmp 0x494cdf
add esi, dword [esp + 0xd4]
bswap edi
xor edx, ecx
sub edx, edi
add edi, ebx
sub ecx, ebx
dec ecx
mov ebx, edi
add edi, edx
or ebx, edi
mov edi, 0x4ae28152
xchg ebx, ecx
xor edx, edi
jmp 0x494bb0
mov esi, dword [esi]
mov ebx, ecx
sub ecx, edi
and edi, ebx
xor ebx, edx
xchg edi, edx
xor edx, ebx
rol edi, 0xe
or ebx, edi
sub edi, ecx
jmp 0x494724
mov esi, dword fs:[esi]
or edi, edx
or ebx, ecx
sub ebx, edx
add ebx, edx
dec edx
add ecx, edi
or ecx, edx
dec edx
jmp 0x4959ac
mov esi, dword [esi]
or edi, ecx
or edi, ecx
xchg ebx, edi
xor edx, edi
and ecx, edi
neg ebx
add ecx, ebx
jmp 0x495bb1
mov dword [esp + 0x5c], esi
inc ebx
mov ecx, ebx
inc ebx
rol edi, 4
or ebx, ecx
sub ebx, edi
xor edi, ecx
neg edx
not edx
jmp 0x495ce8
mov esi, dword [esp + 0xa0]
and edx, edi
add edx, 0x4b7a3c6f
ror ebx, 0x17
ror ebx, 0x12
shl edi, 5
shr ebx, 0xd
xchg edi, ecx
mov ebx, ecx
or ebx, ecx
jmp 0x497347
mov esi, dword [esi]
xor edx, ecx
xor ecx, edi
add ebx, edx
or ecx, 0x4b830f0f
sub ebx, edi
rol edx, 0x12
shr ebx, 8
xor edi, 0x4b8631ca
or edi, 0x4b86daec
and edx, edi
xchg edx, ecx
dec edx
not edi
sub ecx, edx
not edx
jmp 0x49738b
add esi, dword [esp + 0xd4]
add ebx, ecx
xchg edi, ebx
inc ecx
and ebx, edi
sub ebx, edi
mov ebx, edx
sub edi, 0x4c0976c5
add ecx, 0x4c0a286e
sub edx, 0x4c0ac9a9
not ebx
and ecx, edx
jmp 0x4952d4
mov esi, dword [esp + 0xa0]
or edx, 0x4c2b85aa
inc edi
or ecx, edx
nop
bswap ebx
mov edi, ecx
or edi, edx
xchg edi, ebx
xchg edx, edi
or ebx, edi
and edx, ecx
nop
jmp 0x494c6a
add esi, dword [esp + 0xa0]
and edx, edi
not edx
and ebx, 0x4c33bd24
sub ecx, edi
and ebx, 0x4c34f28d
or ebx, edi
or ebx, ecx
mov ebx, edi
ror edx, 0x17
jmp 0x496986
mov esi, dword [esp + 0xd4]
or edx, edi
inc ecx
neg ebx
or ecx, edi
xor ecx, 0x4c439311
sub ebx, 0x4c44232f
neg ecx
sub ebx, 0x4c4550f3
mov ecx, ebx
or ecx, ebx
or edi, 0x4c471fd7
jmp 0x4940b0
mov dword [esp + 0xd0], esi
xor edi, ebx
dec ebx
xchg ebx, edi
and ebx, 0x4c5075ff
jmp 0x497641
push esi
and edx, edi
xchg edx, edi
xchg edi, ebx
sub ebx, edi
xchg ebx, edx
inc edx
or edi, ecx
dec ebx
add ebx, ecx
inc ebx
mov ecx, 0x4c5f6111
dec ebx
jmp 0x4961a9
mov esi, dword [esi]
dec edi
dec ebx
sub ebx, 0x4c61f1d6
xor edi, ebx
sub ebx, edx
xchg ecx, edx
and ebx, ecx
inc ebx
and edi, ecx
xor edx, 0x4c660a42
jmp 0x497228
mov dword [esp + 0xa0], esi
or edx, ecx
xchg edx, edi
not edi
dec edx
mov ecx, 0x4c692421
mov ecx, 0x4c69bc40
shl ebx, 9
xor ecx, 0x4c6ae95a
jmp 0x4975d0
mov esi, dword [esi]
or edx, 0x4c84ee13
mov ecx, ebx
and edx, ebx
and ecx, edx
rol edx, 5
and ecx, edx
not edi
or edx, ebx
mov edi, edx
jmp 0x4970a0
mov dword [esp + 0xa0], esi
xchg edi, edx
and edx, ecx
or ecx, edi
xor edi, 0x4ca32825
shl edi, 0xf
ror ecx, 0x1f
xor ebx, edx
xor edi, ecx
jmp 0x496e7d
sub dword [esp + 0xa0], 8
mov edx, ecx
dec ebx
inc edi
or ecx, edi
add ecx, 0x4cd0c441
sub edi, ecx
mov edx, edi
jmp 0x4946fe
mov dword [esp + 0x6c], 0
xor edi, 0x4cf7fe03
and ebx, edx
and ebx, 0x4cf93228
sub edx, ebx
inc ebx
xchg ecx, ebx
add edx, 0x4cfbd634
sub ebx, ecx
or edx, ebx
shl ebx, 7
add edi, edx
dec ebx
and ecx, 0x4cffd29b
or ebx, edx
jmp 0x4976cc
mov esi, dword [esi]
inc ecx
and ecx, edx
or ecx, 0x4d51cc10
nop
and ecx, edx
mov ebx, 0x4d53a4e2
jmp 0x49495b
mov esi, dword [esp + 0x5c]
mov edi, edx
or ebx, ecx
xor edi, edx
or ecx, edx
sub ebx, 0x4d577941
xor ebx, edi
ror ebx, 0x1b
xchg edi, ecx
jmp 0x4945e2
cmp byte [esi], 0
jmp 0x49606e
mov dword [esp + 0x5c], esi
bswap edi
and edi, ecx
inc ebx
xchg edi, edx
mov ebx, ecx
mov edx, ecx
xchg ebx, ecx
xor ecx, edx
neg ecx
jmp 0x495b2a
mov esi, dword [esp + 0xa0]
add edx, edi
shr edx, 0xd
shr edi, 0xc
or ebx, 0x4de5dd31
add edi, 0x4de66393
xor ecx, edx
inc edi
jmp 0x495077
add esi, 0xc
sub ecx, 0x4e7afac6
add ebx, edx
xor edx, 0x4e7c56fa
or ecx, ebx
mov ebx, edx
add ebx, ecx
or edi, ebx
or edx, edi
inc edi
xor ebx, edi
xchg ecx, edi
nop
mov edi, 0x4e829548
jmp 0x4958ce
pop esi
xchg edi, ebx
and edx, 0x4ec0608d
mov edi, edx
and ecx, 0x4ec1e551
mov edi, edx
not edi
bswap edi
neg edx
mov ebx, edi
neg ebx
dec ebx
mov edx, edi
mov ecx, 0x4ec982b8
jmp 0x495e7e
mov eax, 4
shr ebx, 5
or ebx, 0x4ee1d5ce
nop
and edi, edx
xchg edi, edx
neg ebx
xchg ecx, ebx
sub ecx, edx
jmp 0x49691c
mov esi, dword [esi]
xchg ecx, edi
xor edi, 0x4f080834
sub edi, 0x4f08d5ff
add edx, ebx
xchg ebx, ecx
and edi, 0x4f0b9b3a
rol edi, 0x12
add edi, ebx
and edi, ebx
sub ecx, edx
add edi, ecx
jmp 0x49457e
add esi, 0xc
add ecx, 0x4f390426
xchg ebx, edi
add edx, ebx
and ebx, edx
add edi, edx
inc edi
jmp 0x4960d5
xor al, byte [esi]
sub edi, ecx
bswap ecx
neg ebx
or edx, ebx
xor edi, edx
add ecx, edx
add edi, ebx
dec ecx
shr ebx, 0xc
xchg ecx, edx
mov ebx, edx
jmp 0x497552
mov eax, 2
mov ebx, edi
or ecx, ebx
dec ebx
dec ebx
add ecx, 0x4f8210ff
xor ebx, 0x4f82a105
sub ecx, ebx
add ecx, ebx
and ebx, ecx
jmp 0x4971b7
add esi, dword [esp + 0xd4]
and ebx, 0x4f95c139
neg ebx
sub ecx, edx
or edx, ebx
bswap edi
mov ebx, edi
and ebx, 0x4f990222
shl edx, 0x1f
shl ecx, 8
add edi, edx
not ecx
sub edi, ebx
jmp 0x494b73
inc dword [esp + 0x6c]
sub edx, ecx
sub edx, ecx
mov edx, 0x4fd04dbd
and edi, ebx
mov ebx, 0x4fd17cf8
neg ebx
or edx, ecx
ror edx, 2
sub ebx, 0x4fd3e596
add ebx, ecx
mov edi, 0x4fd506f1
or ecx, 0x4fd59b93
sub ebx, ecx
and ecx, ebx
jmp 0x494130
mov esi, dword [esi]
sub ebx, 0x4ffd8fb2
mov edi, ebx
mov edx, ebx
dec ecx
or ebx, edi
or edx, 0x500198c7
add ecx, ebx
xchg edi, ecx
rol edi, 0x12
sub edi, edx
jmp 0x4968c1
cmp eax, dword [esp + 0xd0]
jmp 0x496aa5
mov esi, dword [esp + 0xd4]
mov ecx, ebx
xor ecx, edx
xchg ebx, ecx
xchg edx, ecx
add ebx, edi
or edi, ecx
add edi, edx
mov edx, ebx
jmp 0x494a5f
jne 0x4959e9
and edx, ecx
mov edi, edx
not ebx
or ecx, ebx
and edx, edi
nop
add ecx, 0x5087a3fe
dec ebx
xchg edi, edx
neg edx
mov ebx, edx
jmp 0x495777
mov esi, dword [esi]
and ebx, edi
mov edx, ebx
jmp 0x495628
mul esi
and ecx, ebx
and edi, edx
or edx, ebx
not edx
neg edi
sub edx, edi
mov ebx, edi
add ecx, edx
shl edi, 0x11
jmp 0x497140
xor eax, eax
sub edi, edx
xor edx, edi
sub edi, ebx
xor edi, edx
ror edx, 0x14
bswap edi
shl ebx, 0x16
not ebx
not ebx
jmp 0x4959e9
mov dword [esp + 0x6c], eax
bswap edx
and ebx, edx
neg edi
ror ebx, 7
add edi, ebx
xchg edi, edx
sub ecx, ebx
jmp 0x494dc1
mov dword [esp + 0xd4], 0
or edx, ecx
inc edi
rol edi, 0x15
shr ebx, 0x1d
ror edi, 0x18
rol ebx, 0x1b
xor ebx, edi
sub ecx, 0x513db3bc
shl edi, 0x10
mov ecx, edx
bswap edi
jmp 0x4972e7
ret
mov esi, dword [esp + 0xa0]
mov edi, 0x51a2b439
or ebx, 0x51a35e84
xchg ecx, edx
mov ecx, ebx
mov ecx, 0x51a569c1
rol ecx, 0x1e
add edi, edx
neg edi
sub ebx, 0x51a7d25c
sub ebx, 0x51a88d64
jmp 0x494b90
add esi, 0x3c
rol ebx, 0xd
shr edx, 4
sub edx, 0x51ac1b61
bswap edx
or ecx, edi
mov ecx, 0x51aecc61
or ecx, 0x51af920e
sub edi, ecx
mov edx, 0x51b0f1f9
jmp 0x4941fc
add dword [esp + 0xa0], 4
not edi
dec edx
and edx, edi
xchg ebx, ecx
add edx, edi
xor edx, 0x52b49465
or ecx, edi
sub edx, ebx
mov ebx, 0x52b65761
and edi, 0x52b6e7a3
xor ebx, 0x52b777b3
xchg ecx, edi
ror edi, 0xa
ror edi, 0xd
sub ebx, edi
xchg ebx, edx
jmp 0x49532f
mov dword [esp + 0xd4], esi
xor edi, edx
inc ecx
or ebx, edx
add ebx, edi
mov ecx, ebx
sub edi, 0x52c27bd4
sub ecx, ebx
and ebx, edi
jmp 0x496fb4
movzx esi, word [esi]
xchg ebx, edx
xchg ecx, edi
xchg edx, edi
mov edx, ebx
xor edx, 0x52d11ebd
xor edx, ecx
xchg edi, ebx
add ebx, 0x52d348f2
xor ecx, edi
shr ebx, 1
rol ecx, 3
jmp 0x4960e0
mov esi, dword [esi]
mov ecx, edx
or ebx, edx
xor ebx, ecx
bswap edx
add edi, ecx
xor edx, 0x52e78ffa
mov edx, edi
sub edx, 0x52e8d638
or ebx, ecx
neg edx
xor edx, ebx
or edi, edx
shl edx, 0xa
or edx, edi
xchg ecx, edx
jmp 0x496a4b
mov dword [esp + 0xa0], esi
add ecx, edi
shr ecx, 0x19
xchg ebx, edi
and edx, edi
add ecx, ebx
or edi, ebx
sub ecx, edx
shl edi, 1
shl edi, 0x1c
bswap edx
inc edx
ror edx, 0x15
jmp 0x494ac5
jne 0x495ce8
not edx
xor ecx, edi
mov edx, 0x531b52e8
and edx, 0x531beb32
inc ecx
shr ebx, 0x14
sub ebx, edi
neg ebx
or edi, ebx
mov edi, 0x531fa602
jmp 0x49686d
add esi, dword [esp + 0x6c]
mov edx, edi
or ebx, ecx
ror ecx, 8
or edx, ebx
shl ebx, 0x1e
and ebx, edx
jmp 0x495810
add dword [esp + 0xa0], 0x20
or edx, 0x53727735
mov edx, 0x53731014
and ebx, edx
xor edx, ecx
sub ecx, edi
xor ebx, ecx
add ecx, 0x53760bdd
jmp 0x496616
mul esi
inc ebx
xchg ebx, ecx
sub edi, ecx
or ebx, edx
xchg edi, edx
or ecx, 0x54078e01
inc ebx
or ecx, edi
and edi, ebx
mov ecx, edx
xchg ebx, ecx
neg edi
jmp 0x4963b5
add dword [esp + 0xa0], 0x78
and edx, ebx
or ebx, 0x540c76d4
mov edx, edi
jmp 0x495eb4
mov esi, dword [esp + 0xd4]
ror edx, 7
shl edx, 0xf
sub ecx, 0x5446e800
add ebx, edx
and ecx, edi
xor edi, ebx
rol edx, 4
shr ebx, 0xc
and ecx, ebx
mov ebx, edi
add edx, ecx
mov edi, 0x544d16f0
shr ecx, 0x14
jmp 0x496657
inc esi
rol edi, 0xd
mov ecx, edx
sub ecx, 0x545b5d20
and ebx, edi
xor ebx, ecx
ror edi, 2
add edx, ecx
jmp 0x49529a
add esi, dword [esp + 0xd4]
and ebx, ecx
ror ecx, 0x17
shr edx, 0x15
and edx, 0x54744ebe
add edi, ecx
inc edx
jmp 0x49749b
add dword [esp + 0xa0], eax
xor edi, edx
shr edx, 0x1b
sub ebx, ecx
mov edi, ebx
dec ecx
shl ebx, 0xe
or edx, 0x5493551f
or ebx, ecx
and edi, ecx
or ecx, edi
or ecx, ebx
sub ebx, 0x54966848
jmp 0x494a3a
mov esi, dword [esp + 0x6c]
add edi, ebx
shr ebx, 0x14
sub ecx, 0x54a688dd
mov edi, 0x54a724d7
and edx, edi
jmp 0x496e5c
add esi, dword [esp + 0xd4]
and ebx, ecx
xor ebx, edx
sub ecx, ebx
jmp 0x494672
mov dword [esp + 0xa0], 0
xor ebx, edx
not edi
add ebx, ecx
or edx, ecx
sub edx, ebx
mov edx, 0x54dcfe5b
bswap edi
dec ecx
jmp 0x494b2d
mov esi, dword [esi]
neg edx
xor ebx, ecx
xchg edx, ebx
neg edx
not ebx
or edx, 0x54ead6f4
shr edi, 0x19
add ebx, edi
rol ecx, 7
xor ecx, ebx
add ecx, 0x54ee2150
xor ecx, 0x54eec4ac
jmp 0x49447a
add esi, 0x18
add edi, ecx
xchg ecx, edx
and ebx, 0x54f4a6cc
ror edi, 0x10
mov ebx, ecx
sub ecx, 0x54f6d891
xchg ebx, edx
xor ecx, ebx
xor edx, edi
shr edi, 8
neg ebx
jmp 0x495def
add esp, 0xdc
shr ecx, 0xa
mov ecx, edi
rol ebx, 0x18
xor ebx, edx
bswap edx
and edx, 0x5525f77b
add ecx, edx
neg edx
add edx, ecx
shr ecx, 0x1b
add ebx, ecx
xor edi, ebx
and edi, edx
jmp 0x496467
rol eax, 8
sub ebx, edx
neg ecx
add ebx, edx
mov edi, ebx
add edi, ebx
jmp 0x497028
mov esi, dword [esp + 0x5c]
and edi, ecx
sub ebx, edi
or edi, 0x555df240
or ecx, edx
and edi, ecx
sub edx, ecx
rol edx, 0x1d
add ecx, ebx
jmp 0x496c11
mov esi, 0x30
sub ebx, 0x5572452d
add edi, ebx
inc ecx
add edx, edi
neg edi
add ebx, edi
add ebx, ecx
rol edi, 0xe
rol edx, 0x1b
mov edi, edx
and edi, ecx
and edx, edi
jmp 0x494598
sub esp, 0xdc
xor ebx, edi
xor ebx, ecx
not ebx
add ebx, 0x5582db90
sub ebx, edx
add edi, ecx
or ecx, edx
and edi, edx
add edi, ebx
or edx, edi
and edi, ecx
mov edx, edi
bswap ebx
not ecx
add edx, ebx
jmp 0x494e87
mov dword [esp + 0x5c], 0
add edx, ebx
shl edi, 4
or edx, ecx
xchg ebx, ecx
xchg edi, ecx
add edi, 0x559014ae
or edx, ecx
sub edx, ebx
shr ebx, 0x1f
xor edx, edi
rol edx, 0x10
sub ebx, edx
and edx, 0x55943740
add ebx, edi
or edx, edi
jmp 0x4963d0