Function at 0x4a35b5
Capabilities:
Encrypt data using chaskey

Disassembly:
mov esi, dword [esi]
sub edx, ebx
add edi, 0x9abb3f16
add edx, 0x9abb7911
or edi, ecx
sub edi, edx
add ecx, 0x9abe44c7
rol ecx, 3
mov edx, ebx
shr edx, 2
and edx, 0x9ac01399
mov edi, edx
or ebx, 0x9ac0b381
jmp 0x4a1e14
ret
add esi, dword [esp + 0x128]
sub ebx, 0x9acb335b
and ecx, ebx
neg edi
and ebx, ecx
or ecx, edx
neg edi
and ecx, edx
neg edx
mov edi, ebx
xor ecx, edi
neg ebx
bswap ebx
shl ecx, 0x17
jmp 0x4a1dbc
mov esi, dword [esi]
sub ebx, ecx
rol ecx, 6
xchg ebx, ecx
jmp 0x4a071a
mov dword [esp + 0x128], esi
shr ebx, 7
ror ecx, 0xc
or edx, edi
sub ecx, ebx
rol edx, 0x1c
mov ecx, ebx
and ebx, 0x9ad8f3f1
sub edi, ecx
add edi, ecx
add ebx, edx
neg ebx
jmp 0x4a0a8c
inc dword [esp + 0x44]
sub ebx, edx
bswap ecx
shl edx, 0x16
dec ebx
mov edi, edx
mov edi, 0x9ae9c7d3
xchg ecx, edi
jmp 0x4a2982
add dword [esp + 0x134], 0x78
mov ecx, 0x9b0a7f62
shr edx, 5
sub edi, ecx
xchg edx, edi
xor edi, edx
xchg edi, ebx
shl ebx, 9
jmp 0x4a061e
mov esi, dword [esp + 0x128]
xor ecx, edx
or edi, edx
mov edx, ecx
xchg ebx, edi
mov edx, ecx
add ecx, edi
ror ebx, 0xd
or ebx, 0x9b316a45
sub ecx, 0x9b31e8b9
jmp 0x4a1619
add esi, dword [esp + 0x128]
mov ecx, ebx
sub ecx, edi
add ecx, ebx
add ecx, edx
and ecx, ebx
xor edx, edi
xor ecx, edx
inc edx
mov ebx, 0x9b3920f6
shr ebx, 9
sub ebx, edi
add ecx, edi
and ebx, edi
jmp 0x4a2e29
mov esi, dword [esi]
ror ebx, 0x18
sub edi, 0x9b51aaae
sub edi, ecx
mov edi, ecx
inc edi
ror ecx, 0x1e
sub edi, edx
xchg edx, edi
mov ebx, 0x9b54a42a
xor ebx, 0x9b551b9f
or edx, 0x9b558196
jmp 0x4a315d
add esi, 0xc
xor edi, ecx
or ecx, edi
shl ebx, 0xd
mov ebx, edx
sub edi, ebx
xor edx, ecx
mov ebx, edx
and ecx, edi
jmp 0x4a34ae
mov dword [esp + 0x134], esi
add edx, ebx
or edi, 0x9b798a63
xchg ebx, edx
add ecx, ebx
xor edx, 0x9b7aeb83
or edi, edx
jmp 0x4a191e
mov dword [esp + 0x134], 0
mov edi, edx
xor ebx, edi
mov edi, edx
dec edx
inc ebx
xor edx, ebx
inc ebx
bswap edi
or edx, ebx
jmp 0x4a1645
mov dword [esp + 0x4c], 0
xchg ecx, edx
add ecx, ebx
sub ebx, edx
add ebx, edx
or edx, edi
add edi, 0x9bcf3d56
mov ebx, ecx
or ecx, ebx
xchg edx, ebx
add edx, ecx
xchg ebx, edx
dec edi
or edx, 0x9bd297f7
xor edx, ecx
xchg edi, edx
xor edx, 0x9bd3ef7b
jmp 0x4a29ef
mov esi, dword [esp + 0x128]
mov ecx, edx
shr ebx, 0xf
inc ebx
not ecx
neg edx
sub ecx, edi
xchg ecx, edi
mov ecx, edx
or ebx, 0x9bec89e8
or edi, ebx
and edx, 0x9bed6d83
inc ecx
inc edi
and ebx, 0x9beebdf9
mov ecx, edx
jmp 0x4a1137
add dword [esp + 0x134], esi
ror ecx, 7
and edi, edx
xor ecx, 0x9bf370c3
neg ecx
add edi, ebx
xor ecx, ebx
or ecx, edi
or ecx, 0x9bf5bad5
bswap ecx
jmp 0x4a1bb4
mov dword [esp + 0x44], eax
or edx, 0x9c7de1e8
dec edx
or edi, 0x9c7ecc6b
sub edi, edx
shl ebx, 0x14
bswap edx
and ebx, edx
mov edx, edi
dec ebx
or edi, ebx
and edi, 0x9c825ebf
xchg edx, ecx
jmp 0x4a1c04
mov esi, dword [esi]
mov ecx, ebx
rol ecx, 0x11
or edx, edi
xchg edx, ebx
xor ecx, 0x9ca0f040
xor edx, ebx
sub edx, 0x9ca1d1a5
mov edi, ebx
or edx, 0x9ca2ad01
xor ebx, edi
and edx, edi
ror edx, 0x1c
jmp 0x4a205e
add esi, 0x3c
not edi
inc ecx
inc edi
add ecx, edi
mov edx, 0x9cc2dd3c
bswap ebx
add edi, 0x9cc3df2e
and edi, edx
add edx, edi
jmp 0x4a136d
mov dword [esp + 0x4c], esi
xchg edx, ecx
xchg edi, ecx
shl ecx, 0xa
xor ebx, ecx
mov ecx, ebx
xchg ebx, edi
xor edi, ecx
or ebx, edx
mov ebx, edx
neg ecx
add ebx, ecx
jmp 0x4a0286
mov esi, dword [esi]
sub ecx, ebx
not ebx
sub edx, 0x9d172610
xor edx, edi
inc edx
inc edi
and edi, ebx
xchg edi, edx
sub edi, 0x9d19c68b
xor ebx, edi
not edi
jmp 0x4a1c9a
mov esi, dword fs:[esi]
add ebx, 0x9d223418
and edi, ecx
add edi, 0x9d2322f2
xor edx, edi
shr edx, 0x14
add ebx, 0x9d249219
jmp 0x4a085d
mov esi, dword [esi]
sub edi, ebx
shl ecx, 0xb
sub edx, ecx
xchg ebx, ecx
or edi, 0x9d26f60a
jmp 0x4a065e
mov eax, 2
neg edi
sub ebx, 0x9d64669b
or edx, 0x9d64d816
xor edi, ecx
mov edx, 0x9d65c2a8
xchg edx, ebx
add ecx, edi
xor ecx, ebx
jmp 0x4a2a9e
add esi, dword [esp + 0x134]
sub edx, edi
shl edi, 0x1f
add edi, 0x9d730b21
add ebx, ecx
rol edx, 0x1f
or ebx, 0x9d74a75b
ror ecx, 5
mov edx, edi
shl ebx, 0x15
mov edx, ecx
jmp 0x4a2d45
mov dword [esp + 0xd8], esi
dec edi
not ebx
add ecx, ebx
add ecx, 0x9d7850db
sub ecx, edx
xor edi, ebx
and ebx, edi
add ebx, edi
jmp 0x4a2847
xor al, byte [esi]
and ecx, edx
mov edi, ebx
add edx, 0x9dabfb82
xor ebx, edi
and ebx, edi
neg edx
add edi, ebx
jmp 0x4a26f3
mov esi, dword [esp + 0x128]
and ecx, edx
mov ecx, edx
sub ecx, ebx
xchg ecx, edi
shl edx, 6
dec ebx
add ebx, edi
mov ecx, 0x9df11e78
xor edx, ebx
sub ecx, edx
bswap ebx
add edx, ebx
jmp 0x4a0ad6
mul esi
or edi, edx
shl ecx, 0x12
add ecx, 0x9e437399
and edx, 0x9e43e2d8
and edx, 0x9e445ab9
jmp 0x4a2d12
add dword [esp + 0x134], 0x20
or edx, ecx
or ebx, 0x9e4a84dc
sub edx, ecx
or edi, 0x9e4b8230
xor ecx, edi
xor ecx, ebx
jmp 0x4a355e
sub dword [esp + 0x134], 8
shr ecx, 6
sub ecx, edx
and ebx, 0x9e536281
xor edx, ebx
xor edi, ebx
jmp 0x4a2606
mov dword [esp + 0x134], esi
xor ecx, edi
and edi, 0x9e62ae59
xor edi, 0x9e631e80
xor edx, ecx
shl ebx, 8
xchg edi, edx
and ecx, edx
or ecx, ebx
mov edx, edi
add ebx, edx
mov ecx, ebx
or edi, edx
xor edi, 0x9e677f26
and ebx, ecx
neg edi
jmp 0x4a048c
movzx esi, word [esi]
add edi, ecx
not ebx
sub ebx, edi
sub ecx, ebx
or edi, edx
xor edi, ebx
sub edx, ebx
and edx, 0x9e7d80a6
bswap edx
xor edx, 0x9e7e591a
or edi, ebx
jmp 0x4a1b62
push esi
bswap ecx
and edi, ebx
xchg edi, edx
jmp 0x4a25d3
add esi, dword [esp + 0x128]
xor ecx, 0x9e97193a
or ecx, edi
ror ecx, 4
xchg edx, ebx
and ecx, edx
neg ebx
and ecx, edi
neg ecx
ror edi, 1
sub edx, ebx
bswap ecx
add ebx, 0x9e9cb8c9
mov edx, ebx
xchg ebx, ecx
jmp 0x4a23ff
jne 0x4a17bb
xor ebx, 0x9ebd2fe5
and edi, ebx
sub edi, edx
shl edi, 0xd
sub ebx, edi
jmp 0x4a1ffa
pop esi
xchg ecx, edi
xor edi, 0x9ed8e91a
jmp 0x4a2711
mov eax, 4
shr ecx, 0x17
xor edx, ebx
add ecx, edi
xor ebx, edi
sub ebx, 0x9ee210c6
and ebx, edx
add edx, ebx
and ebx, 0x9ee398d1
and edi, ebx
mov edx, 0x9ee483b4
jmp 0x4a1d50
add esi, dword [esp + 0x128]
mov ecx, edi
mov edx, ebx
mov edi, 0x9ee5eee9
and ebx, edx
and ebx, edi
not edx
dec ebx
shr edx, 8
and ebx, 0x9ee8a848
sub edi, edx
shr ecx, 0x1a
xor edx, ebx
and edi, ecx
jmp 0x4a123b
add esi, 0xc
and ebx, edi
add ecx, ebx
xor ebx, 0x9eee9342
rol edx, 0xb
add ebx, edi
add ebx, ecx
sub edi, ebx
jmp 0x4a0110
add dword [esp + 0x134], 4
mov ebx, ecx
shl edi, 0x12
shl edx, 0xe
sub ebx, edi
xchg ecx, ebx
ror ebx, 3
and ecx, edx
neg ecx
shl edi, 0x12
not edi
add ecx, edx
not edi
xchg ecx, edi
jmp 0x4a2b23
mov esi, dword [esp + 0x4c]
or edi, ecx
and ecx, 0x9f2c44a9
shr edi, 0x1a
neg edi
and edi, ebx
and edi, ebx
xor edx, ebx
and ebx, ecx
mov ecx, 0x9f2f6744
sub edi, 0x9f2fdb4a
and ebx, edi
shr edx, 0x18
neg edx
xor edx, ebx
jmp 0x4a243a
jne 0x4a0286
inc edi
xor ebx, 0x9f329585
and ebx, edx
or ecx, ebx
mov edi, ecx
shr edi, 0x18
and edx, ebx
shr edi, 0x1e
mov ecx, ebx
bswap ecx
jmp 0x4a2113
mov dword [esp + 0x134], esi
shl ebx, 7
add edx, edi
and ecx, edx
add edi, edx
ror ebx, 0x11
mov edi, ecx
mov edi, edx
mov edi, ecx
xor edx, ebx
shr ebx, 0x1f
mov edx, 0x9f67cf04
and ebx, ecx
mov edi, 0x9f68abb9
or edx, 0x9f692395
or edx, 0x9f699752
jmp 0x4a3751
mov esi, dword [esi]
xchg edi, ecx
sub ecx, edi
neg edi
mov ebx, edx
or edx, ebx
mov ecx, edi
mov ebx, 0x9f6d0b2d
inc ebx
or edx, edi
and ebx, 0x9f6e6311
shl edi, 0x17
jmp 0x4a00e5
mov dword [esp + 0x4c], esi
not edi
add ebx, edx
inc edi
add edi, 0x9f8e05ba
jmp 0x4a15a6
xor eax, eax
add ecx, ebx
or ebx, edi
not edi
and edi, edx
xor edx, ecx
jmp 0x4a17bb
mov esi, dword [esp + 0x134]
bswap ecx
rol edi, 0xb
neg edi
or edx, edi
add edi, edx
mov ecx, ebx
rol ebx, 0x1e
mov ebx, edx
and edx, ebx
jmp 0x4a002f
mul esi
mov ecx, 0x9fa72563
and ebx, 0x9fa79caf
dec ecx
and ecx, 0x9fa89baa
bswap ebx
xchg ebx, edi
xchg ecx, ebx
sub edi, ebx
rol ecx, 0x12
xchg edx, edi
xchg edx, ebx
jmp 0x4a0f36
rol eax, 8
or ebx, 0x9fd49c8c
xor edx, ebx
add ebx, edx
mov edi, 0x9fd62661
add edx, ecx
shr ecx, 0xb
xchg ecx, edi
jmp 0x4a352a
cmp eax, dword [esp + 0xd8]
jmp 0x4a2276
add esi, 0x18
ror edi, 1
mov ecx, 0x9fff2074
xor ebx, 0x9fff918d
xchg edi, ebx
or edi, ebx
sub ecx, edi
and ecx, 0xa0016223
shl ebx, 0x1e
or edx, ebx
inc edx
add edx, ebx
or edi, ebx
xchg ebx, ecx
and ebx, ecx
and edi, 0xa004ffa9
jmp 0x4a3954
mov esi, 0x30
sub ebx, edi
and edi, ebx
rol edi, 0x1e
sub ecx, 0xa011376a
add ecx, edx
add edx, edi
sub ebx, ecx
add ebx, ecx
ror ebx, 0x1d
xor edi, ecx
sub edi, ecx
or edx, ecx
jmp 0x4a13c4
add dword [esp + 0x4c], 4
inc ecx
and edi, 0xa03a20a7
xor edi, edx
xchg ebx, edi
xor ebx, ecx
and edi, edx
bswap ecx
and edx, edi
and ebx, ecx
jmp 0x4a2241
mov esi, dword [esi]
dec edx
mov edx, ebx
dec edx
mov ecx, 0xa03fa4ee
jmp 0x4a387d
mov dword [esp + 0x128], 0
mov edi, edx
xor edx, ecx
and ebx, edx
and edi, edx
xchg ebx, ecx
xchg edi, ebx
shr ebx, 7
mov ebx, ecx
jmp 0x4a094c
mov esi, dword [esp + 0x44]
add edi, ecx
sub ecx, 0xa05ceb7e
xchg edi, ecx
bswap edi
and ecx, 0xa05e3db5
xor edi, edx
jmp 0x4a2626
mov esi, dword [esp + 0x134]
mov edi, edx
and edi, ebx
and edx, ebx
and edx, 0xa06c471d
or ecx, edi
xchg edi, ebx
xor edi, ecx
mov ebx, edi
xor ecx, ebx
sub ebx, edx
jmp 0x4a29a4
add esi, dword [esp + 0x44]
dec edi
xor ecx, edx
xchg edx, ebx
or ebx, 0xa08ade20
add edx, ecx
neg ecx
xor ecx, edi
mov edi, edx
xor ecx, edi
rol ebx, 5
add edi, ecx
add edi, ecx
jmp 0x4a2034
add dword [esp + 0x134], eax
shr ecx, 0x1e
shr edi, 0x15
ror ecx, 5
xor edi, 0xa0aa35af
not ebx
and edi, ebx
rol edi, 0x1b
xor edx, ebx
add edx, ebx
rol edi, 0x1f
and ebx, 0xa0ad6278
mov ebx, edx
xchg edi, ecx
jmp 0x4a377a
mov esi, dword [esi]
and ecx, edx
xor edx, 0xa0af4109
add ecx, ebx
dec edi
neg ebx
xor edi, edx
xchg edx, ecx
xor ebx, edx
xchg ecx, edx
jmp 0x4a0876
add esp, 0x144
shr edx, 0x1a
inc ecx
shr ecx, 0x1a
inc edi
rol ecx, 0x1b
xor edi, ecx
neg edi
and edx, edi
and edx, ebx
add ecx, edx
ror ebx, 4
xchg edi, edx
or edi, edx
jmp 0x4a00b3
mov esi, dword [esi]
or ecx, edi
mov ebx, edx
xor edi, 0xa13aedf1
and edx, ebx
and ebx, ecx
shl edi, 0xe
mov ebx, 0xa13cbb12
or edx, edi
add edi, ebx
or edi, ebx
dec edi
ror edi, 0xd
and ecx, edx
xchg edi, ebx
ror edi, 0xb
jmp 0x4a27bd
mov esi, dword [esi]
and edi, edx
mov edi, edx
neg ebx
rol ecx, 0xa
add edx, ebx
xchg edi, edx
ror ecx, 0x15
neg ecx
and edx, ebx
jmp 0x4a20a4
inc esi
and edx, ecx
inc edi
or edx, 0xa1bd9748
add ebx, ecx
add edx, ebx
bswap ecx
or edx, ebx
xchg edi, edx
and ebx, ecx
sub ecx, 0xa1c0f2e3
not ebx
ror ebx, 0xc
or ebx, 0xa1c25306
add edx, 0xa1c2c6a1
and edi, edx
jmp 0x4a394c
mov esi, dword [esp + 0x134]
xor ebx, 0xa1c3bf04
xchg ecx, edi
jmp 0x4a1045
sub esp, 0x144
dec ebx
add ecx, edi
or edx, ebx
rol ebx, 6
add edi, ebx
and edx, 0xa1cf78b2
add ebx, ecx
sub ebx, 0xa1d06191
and edx, 0xa1d0dfd6
rol ecx, 0x1b
jmp 0x4a3714
mov dword [esp + 0x44], 0
sub ecx, edx
sub edx, edi
sub edx, ecx
xchg ebx, edi
and ebx, edx
jmp 0x4a09d3
mov esi, dword [esp + 0x4c]
mov edx, ebx
add ecx, edi
and ebx, ecx
and ecx, edx
sub edx, 0xa224f398
sub edx, ecx
xor ebx, edx
xor ebx, ecx
xor edi, ebx
xor ebx, edi
mov edx, 0xa227eb3f
jmp 0x4a2c2e
mov esi, dword [esp + 0x134]
or ebx, ecx
rol edx, 8
xor ecx, edx
shl ecx, 7
xor ebx, 0xa22a36b7
or edi, ecx
xchg edx, edi
jmp 0x4a13e5
add esi, dword [esp + 0x128]
or ebx, ecx
mov ecx, ebx
mov edx, 0xa24add3c
xor ecx, ebx
add edx, 0xa24bc561
inc edi
add edx, 0xa24ca097
ror ecx, 0x1c
bswap edi
jmp 0x4a254d
cmp byte [esi], 0
jmp 0x4a1f29
mov esi, dword [esi]
add edi, 0xa2642bdf
sub edx, edi
rol edx, 0xe
xor edx, ebx
rol ecx, 0xf
and ecx, 0xa26685dc
mov ecx, edi
inc ebx
xchg ecx, ebx
jmp 0x4a019a