Function at 0x495871
Capabilities:
Encrypt data using chaskey
Resolve function by parsing pe exports

Disassembly:
mov esi, dword [esi]
and ebx, ecx
or edx, edi
or ebx, 0x1226a708
and ecx, ebx
sub ebx, 0x1227aec5
add edx, ebx
add edx, 0x12283dc7
rol ebx, 0x13
or ecx, edi
jmp 0x4966bb
mov esi, dword [esi]
or edx, ebx
add ebx, edx
sub ecx, edx
mov edx, ecx
jmp 0x495180
mov dword [esp + 0x28], esi
xchg edi, edx
xor ebx, ecx
shr edi, 0x15
xor edi, edx
and edi, ebx
and ebx, 0x1265210b
jmp 0x494bec
mov dword [esp + 0x58], 0
xchg edx, ecx
mov ebx, 0x126cb308
shl edi, 0x10
or edi, 0x126d5d7e
sub edi, ecx
jmp 0x494ee6
add esp, 0x98
mov edi, edx
add edi, ebx
xchg edi, ecx
and edi, ebx
xchg edx, ebx
mov edi, ecx
sub ecx, edx
bswap ebx
mov ebx, edx
xor ecx, 0x127778c1
add ecx, 0x127803cf
xchg ebx, edx
inc edi
inc ebx
mov edx, 0x12791149
jmp 0x495f41
mov eax, 2
xor edi, ebx
xor edx, edi
xor ebx, ecx
sub ebx, 0x127a69e9
xor edi, ebx
sub ecx, edx
sub ecx, edx
add ecx, 0x127b6b08
shl edx, 0x15
xor ecx, edx
jmp 0x494c07
mov esi, dword [esi]
xor ecx, edx
neg edi
sub edi, ecx
mov ecx, edx
or edi, ecx
mov edi, ecx
or edi, edx
mov edx, edi
inc ecx
dec ecx
jmp 0x4946fb
add esi, dword [esp + 0x58]
add ebx, edx
or edx, ebx
and ebx, edx
mov ebx, ecx
jmp 0x4947e0
mov dword [esp + 0x24], esi
bswap ecx
xchg ebx, edx
shr ecx, 0xa
and edi, edx
or edi, 0x12941379
shl edx, 0xf
sub ebx, ecx
jmp 0x494812
mov eax, 4
inc ebx
shl edx, 0xd
neg ebx
xor edx, edi
bswap edx
or edi, edx
xor edi, 0x12c40560
xor edi, ecx
inc edx
neg edi
or edi, 0x12c52b1a
rol edx, 0x11
jmp 0x496f36
mov esi, dword [esp + 0x58]
not edi
xchg ecx, edx
or ebx, 0x12d0986a
add edx, ecx
neg edi
sub ebx, edx
jmp 0x495bda
sub dword [esp + 0x48], 8
bswap edi
inc ebx
and edi, ebx
and ecx, edx
jmp 0x496609
mov esi, 0x30
mov ebx, edx
xor edx, 0x12d6c811
sub ebx, ecx
nop
or edx, ebx
xor edi, ecx
xchg edx, ecx
jmp 0x495a08
mov esi, dword [esp + 0xc]
ror ebx, 8
and ebx, 0x12d8d724
and edi, ebx
and edx, 0x12d96919
mov edi, ecx
and ecx, ebx
rol ebx, 0x1e
add ebx, edi
jmp 0x496240
add esi, 0xc
mov ebx, edx
dec edi
sub edi, ecx
or ecx, 0x12dbbf11
ror edx, 4
or ecx, edx
xchg edi, ebx
bswap edx
xchg edi, ebx
xchg edi, ecx
jmp 0x497197
add esi, dword [esp + 0x58]
mov ecx, ebx
mov ebx, 0x12e3d8b8
sub ebx, ecx
mov edx, ecx
or edx, ecx
shr ebx, 0x11
not edi
and ecx, edx
dec edx
xchg edx, ebx
add edx, 0x12e7df98
rol ebx, 0x1a
xchg edi, ebx
jmp 0x495c63
mov esi, dword [esp + 0x24]
or ebx, edx
sub ecx, edx
mov ebx, ecx
inc ecx
mov edi, 0x12f4f9b6
and ecx, ebx
or ecx, ebx
bswap edx
neg edx
or ebx, edx
add ecx, 0x12f8c179
add ecx, ebx
add edi, 0x12f9d641
shr ebx, 0xe
sub edx, edi
jmp 0x495781
rol eax, 8
mov ecx, ebx
not edx
sub edx, ecx
shl ebx, 0x13
or edx, ecx
nop
dec edx
and edi, 0x132d95d9
mov edi, 0x132e2781
or ecx, 0x132e9c33
sub ecx, 0x132f1000
xor ecx, 0x132fb553
jmp 0x496de0
mov dword [esp + 0x48], 0
rol edi, 6
xor edx, 0x1337fc33
mov ecx, edx
or edi, ecx
xchg ebx, edi
shr edi, 0xb
and ebx, edi
shl edx, 0x14
bswap edx
jmp 0x494729
mov esi, dword [esi]
or ecx, edx
and edi, ecx
sub ecx, 0x13698430
xchg ebx, edi
and ecx, edx
nop
xor ecx, ebx
inc ebx
xchg edi, ebx
jmp 0x4948f4
add dword [esp + 0x48], 0x20
add edi, edx
shr ebx, 0x15
add edi, ecx
bswap edi
ror edi, 0xf
bswap edi
and edi, ebx
nop
dec edi
mov edi, 0x1380259c
jmp 0x4963bd
add esi, dword [esp + 0x58]
neg edx
sub ecx, edx
sub edi, 0x138157e2
xchg edx, ecx
sub edx, ebx
add edx, ecx
sub edx, ecx
mov ebx, edx
sub edi, ebx
add ebx, edi
jmp 0x494916
add esi, 0x18
xchg edi, ebx
xor edx, ebx
add edi, edx
sub ecx, 0x1388a543
bswap ebx
sub edi, 0x13894d5e
xchg edi, ebx
mov ebx, ecx
bswap ebx
xchg ecx, edx
or ebx, ecx
and edi, ecx
rol edi, 0x1c
and ebx, edi
mov ebx, edi
jmp 0x4962a4
mov dword [esp + 0xc], 0
neg ecx
xor edi, ebx
neg edi
xchg ebx, edx
xor edi, ecx
jmp 0x495c9a
add dword [esp + 0x48], eax
and edx, edi
or edx, 0x13dd70cb
add edi, edx
shl edx, 3
xor ecx, 0x13df0e3e
mov ecx, ebx
jmp 0x496e2b
mov esi, dword [esi]
and edx, ecx
not edx
mov ebx, 0x13e1b623
shr edx, 0xf
add edx, 0x13e3241f
xchg ecx, ebx
jmp 0x49486d
mov dword [esp + 0x48], esi
and edi, ecx
and ecx, edi
mov edi, ebx
sub edi, edx
sub edx, ebx
xchg edi, ecx
shr edi, 2
mov edx, edi
add ecx, ebx
mov edi, edx
mov edi, ecx
neg ecx
jmp 0x496630
pop esi
not ecx
xchg edi, ecx
mov edi, ebx
not edi
or edx, 0x145e6da1
sub edx, ebx
jmp 0x49649d
add esi, dword [esp + 0xc]
or ecx, 0x14841d5c
shl edi, 0x10
inc edi
sub ecx, ebx
sub edx, edi
sub edx, edi
mov ecx, 0x148804e1
xchg ecx, edi
xchg ecx, edi
xchg ecx, ebx
not edx
xor edx, ecx
jmp 0x494b17
sub esp, 0x98
xor edx, 0x14b802a5
xchg ebx, edi
neg ecx
jmp 0x4952ab
add dword [esp + 0x48], esi
xor ebx, ecx
add edx, ecx
add edx, edi
add ebx, edi
sub ecx, 0x14c665e5
and ecx, 0x14c711be
rol edx, 8
sub ebx, ecx
add edx, 0x14c867f8
neg ecx
jmp 0x49510b
jne 0x495d54
not ecx
and edi, edx
or edi, ecx
add ecx, 0x14cb23b2
add edx, edi
jmp 0x496834
mov esi, dword fs:[esi]
xor ecx, 0x14f64618
xor edi, 0x14f6b79f
add edx, ecx
xor ecx, edi
sub edi, edx
add edi, ebx
mov edi, ebx
or ecx, edi
mov edx, edi
not edi
jmp 0x494c2d
mov esi, dword [esi]
rol ecx, 0x1f
rol ebx, 0x12
rol ebx, 0x15
or edx, ebx
sub ecx, edx
sub ecx, 0x1521f7e2
xor ecx, ebx
add ebx, edx
not edi
ror ebx, 6
xor edx, ebx
sub edx, 0x1525829e
xchg edi, edx
jmp 0x49512f
add esi, 0x3c
xor ebx, 0x15497f5e
sub edi, 0x154a4a51
and edi, ebx
and ecx, edx
neg edx
sub edx, 0x154c8aa7
xchg edx, edi
rol edi, 0xc
add edx, ecx
xchg ebx, edi
xchg ecx, edi
sub edx, 0x15506718
and ecx, 0x1550f1cf
xchg ebx, ecx
not ebx
jmp 0x494530
push esi
or ebx, 0x15617d0d
mov edi, ecx
add ebx, edx
sub edi, ebx
and ecx, edx
mov edi, ebx
ror edi, 0x16
ror ecx, 0x1a
and edx, ebx
jmp 0x495fb3
mov dword [esp + 0x24], 0
xchg ebx, ecx
sub edi, ebx
jmp 0x494784
add esi, dword [esp + 0x48]
mov ebx, edi
sub ebx, edx
dec ebx
mov edi, ecx
mov edx, ebx
rol ecx, 0x1a
xchg ecx, edi
sub ecx, edi
and ecx, edi
or edx, ecx
xor ebx, ecx
jmp 0x496b37
mov esi, dword [esp + 0x48]
mov ebx, 0x1585b132
dec edx
xor edi, 0x1586b94c
xchg ecx, ebx
sub edx, 0x1587bf3e
and edx, edi
and ecx, 0x1588ce21
jmp 0x495af6
inc dword [esp + 0xc]
and ebx, ecx
rol ebx, 0x12
add edi, ebx
and ebx, ecx
or edi, ecx
xchg edi, ecx
xchg ecx, edx
and edi, edx
and ecx, ebx
xor ebx, edi
ror ecx, 0x1c
jmp 0x496284
add dword [esp + 0x48], 0x78
ror edx, 0x13
or ebx, 0x158d880a
and edx, ebx
ror edx, 3
sub edi, ebx
or ebx, edi
xchg ebx, edi
rol edx, 0xf
xor edx, ebx
shl ecx, 8
sub edi, ebx
xor edi, 0x15902df3
xchg edx, edi
add edx, edi
or ecx, ebx
jmp 0x4968b9
add esi, 0xc
xchg ebx, ecx
or edi, ecx
add ecx, ebx
not ecx
or edi, ecx
and edx, ecx
not edi
sub ebx, 0x159318be
dec edi
jmp 0x4953f4
mov dword [esp + 0x24], esi
and ebx, ecx
add edx, edi
sub ecx, 0x15941e1e
mov ecx, edx
add ecx, edx
ror ebx, 0x1c
xor ecx, ebx
xor edx, 0x15955aaa
and ebx, 0x1595b1df
and edi, 0x15960588
xchg edx, ebx
jmp 0x495d54
ret
xor eax, eax
and edi, ecx
sub ebx, edx
xor edi, edx
or ebx, edi
add edx, ebx
xor ecx, edi
mov edi, 0x15cd2242
sub ebx, edx
rol edx, 5
shr edi, 0x16
mov edi, ecx
sub edi, 0x15ce8f09
bswap ecx
sub edi, ecx
or edx, ebx
and ebx, 0x15cf87ad
jmp 0x4967d9
mov esi, dword [esi]
mov edi, 0x15f84535
xor ebx, ecx
and ebx, 0x15f8cbb4
mov edi, 0x15f91c5d
sub ebx, ecx
jmp 0x496aab
mul esi
mov ecx, edi
add ecx, 0x16071d7f
or ecx, 0x16075b2d
and ecx, 0x1607acdf
and edx, edi
and ebx, 0x160846e6
and edi, 0x16089ac0
shl edx, 0x1a
and ecx, edx
mov ebx, edi
jmp 0x496eea
add dword [esp + 0x24], 4
add ecx, edi
add edx, edi
sub ebx, 0x160bab88
add edi, ebx
xor edx, edi
mov edx, 0x160c6131
jmp 0x49695a
mov esi, dword [esi]
xor edx, 0x160caf2f
or edi, 0x160cec82
or edi, edx
add edx, ebx
and edi, edx
or ecx, 0x160de971
xchg edx, ecx
or ebx, ecx
inc edx
jmp 0x496310
mov dword [esp + 0x58], esi
xchg edx, ebx
and edi, ebx
jmp 0x494b97
mov esi, dword [esp + 0x48]
mov edx, ebx
dec edi
and ebx, ecx
sub ecx, edx
mov ecx, edx
jmp 0x4966ef
cmp eax, dword [esp + 0x28]
jmp 0x4958f3
mov esi, dword [esi]
add edx, edi
shr edi, 0x18
add ecx, ebx
and ecx, edi
dec ecx
mov edi, ebx
jmp 0x494c8c
jne 0x4967d9
shl edx, 0xe
and ebx, ecx
or ebx, ecx
xor ecx, ebx
sub edi, 0x16524015
ror ebx, 0x1a
shr edi, 0x16
sub edx, ecx
jmp 0x49568e
mov esi, dword [esp + 0x48]
mov ebx, edi
ror edx, 5
add ebx, edx
sub ecx, 0x165617d1
not ebx
sub edx, ecx
and edi, edx
xor edi, 0x1657417f
and edx, edi
jmp 0x49619a
mov esi, dword [esp + 0x58]
mov edx, ecx
xchg edi, edx
or ebx, 0x16585816
mov edx, ebx
add edi, edx
mov edx, edi
sub ecx, ebx
bswap edx
mov edx, ebx
mov ecx, edx
and edi, ebx
and edx, 0x165ac697
sub ebx, 0x165b055b
not ecx
jmp 0x4958c6
mov dword [esp + 0x48], esi
add edi, ecx
sub ecx, edi
xor edi, 0x166316f1
add ecx, edi
mov ecx, edx
inc ebx
add edx, edi
shr edx, 0x10
mov ebx, 0x1664e268
xor ecx, edi
xor ecx, 0x16655e5f
sub ecx, ebx
xchg ebx, ecx
shr edx, 0xe
jmp 0x495d78
mov esi, dword [esi]
or edi, ebx
dec edi
or edx, ebx
shr ecx, 0x1b
or ebx, 0x16678855
ror edx, 0x1a
mov edi, ecx
xor ecx, 0x16684a3e
mov edx, 0x16688bf0
add ebx, edx
ror edx, 0x15
add edi, ecx
and ecx, 0x16697fb8
and ecx, 0x1669bd3d
jmp 0x496dc0
xor al, byte [esi]
sub edi, 0x16805ae9
sub edx, ebx
xor edx, edi
add edi, 0x16826871
xor edi, ebx
add ebx, edi
mov edi, ebx
add ebx, edi
inc ecx
jmp 0x494e8a
add dword [esp + 0x48], 4
xor edi, edx
and ebx, 0x16919e45
and edi, ecx
xchg edx, ecx
sub ecx, ebx
xchg ecx, edx
shr edi, 0xc
xchg ecx, ebx
rol edx, 9
or edx, edi
or edi, 0x1694c8c6
neg edi
add ebx, edi
mov ecx, edi
and ebx, edx
jmp 0x495d2c
mov esi, dword [esp + 0x58]
xchg edx, ebx
mov edx, 0x16a33640
or edx, ecx
not ebx
xor edx, ecx
neg edi
ror edi, 0x1e
mov ebx, edx
or edx, ecx
add ecx, ebx
neg ebx
add ebx, edx
add edx, 0x16a7a207
shr edx, 9
and edi, 0x16a83904
jmp 0x495cae
mov esi, dword [esp + 0x24]
add edi, ecx
mov edx, 0x16b30473
bswap edx
mov edx, ebx
xor ecx, edi
bswap ebx
and edx, edi
inc ebx
add edx, ecx
jmp 0x4965b4
add esi, dword [esp + 0x58]
sub ebx, edi
or edx, edi
xor edi, edx
jmp 0x496bae
mov esi, dword [esi]
add edx, 0x16dd47b8
or edi, edx
sub ecx, 0x16ddc0ea
or edx, 0x16ddfe73
add ebx, edi
or edx, 0x16dea734
mov ecx, edx
xchg ecx, edi
dec edx
xor edi, edx
or ecx, edx
xor edx, 0x16e020f5
sub edi, edx
mov edx, ecx
mov edi, edx
jmp 0x4955eb
mov dword [esp + 0x48], esi
shl edi, 6
xchg ebx, ecx
xor ecx, edi
and edx, ecx
dec ecx
add ebx, edx
shr ecx, 0xd
neg edx
xchg ebx, edi
xor ebx, 0x16e7d725
jmp 0x494d0c
cmp byte [esi], 0
jmp 0x4965c7
mul esi
add edi, edx
bswap edx
dec edi
sub edi, 0x1710ea1f
bswap edi
or ecx, edi
not edi
jmp 0x4953d3
add esi, dword [esp + 0x58]
add ebx, ecx
dec edi
and ebx, edi
shr edi, 0x18
add edi, ecx
xor ecx, edx
sub edi, ebx
add edx, 0x17412328
jmp 0x495dcc
inc esi
or edi, edx
or ecx, 0x1741dfa2
and edi, ebx
shr ebx, 0x11
sub ebx, edi
mov ecx, edx
mov edx, 0x17439bcc
xchg edi, ebx
rol edi, 0x1a
sub ebx, edi
jmp 0x496d41
mov esi, dword [esp + 0x48]
rol edx, 0x1e
mov ebx, edx
mov edx, ebx
inc ecx
or ebx, edx
sub edx, 0x17548e42
xchg edi, ebx
neg ebx
shl ebx, 1
ror ebx, 5
sub edi, 0x175602ef
ror edi, 0x1a
neg ebx
mov ebx, edx
mov ecx, edx
jmp 0x4950b8
mov dword [esp + 0xc], eax
mov edi, ecx
and edx, ebx
and edi, ebx
xchg edx, ebx
jmp 0x494bb3
movzx esi, word [esi]
rol ebx, 0xe
xor edx, edi
add ebx, ecx
not edi
neg ebx
add edx, 0x17846a6c
or edi, 0x1784ab7e
add ebx, ecx
add ebx, ecx
ror edx, 0x1f
jmp 0x496d8f
mov esi, dword [esi]
shl edx, 7
xor ebx, edx
sub edx, 0x17c35326
not ecx
xchg edx, ecx
bswap ecx
jmp 0x495daf