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

Disassembly:
mov ecx, dword [esp + 0x50]
shr edx, 0x1f
and edx, esi
xchg ebx, esi
inc ebx
or edx, esi
xchg edi, esi
and edx, 0xa30b4910
xor esi, ebx
jmp 0x495a53
add ecx, 0xc
and edx, esi
shl edx, 0x18
or ebx, 0xa3129eb0
or edi, edx
mov edx, ebx
or ebx, esi
ror edx, 0x13
and esi, edi
mov ebx, 0xa316d913
ror edi, 0xa
and edx, edi
sub edi, 0xa31836f3
add ebx, 0xa318a578
add edi, ebx
and edx, edi
mov esi, edi
jmp 0x497c3f
mov ecx, dword [ecx]
or esi, ebx
bswap ebx
neg ebx
mov ebx, edx
sub edx, esi
shr esi, 2
sub esi, edx
jmp 0x494989
mov dword [esp + 0x50], ecx
add ebx, 0xa323c6c2
nop
rol esi, 0xe
xor ebx, edi
not edi
and ebx, edi
xor edx, ebx
add ebx, edi
add ebx, edi
xchg esi, edx
not ebx
xor edi, 0xa328ef4d
sub edx, 0xa3296095
neg esi
not edx
jmp 0x497a06
mov dword [esp + 0x154], ecx
xor edx, ebx
mov ebx, 0xa32baa96
xchg esi, ebx
jmp 0x497b10
mov ecx, dword fs:[ecx]
add edx, ebx
xchg ebx, edx
xor edx, edi
xor edi, 0xa3442d10
xchg ebx, esi
xor edi, 0xa345140f
mov edi, esi
inc ebx
xchg edx, edi
sub edi, 0xa346ee71
mov esi, edi
add edi, esi
add edi, esi
xor esi, edx
and ebx, esi
jmp 0x497879
jne 0x494b7d
sub esi, ebx
neg ebx
xor ebx, edx
xchg ebx, esi
and edi, 0xa39a62a9
mov ebx, edi
mov ebx, edi
and ebx, edx
jmp 0x495e2c
movzx ecx, word [ecx]
add edi, ebx
sub edi, 0xa3a69262
add esi, edi
xor edx, esi
mov edx, ebx
neg edi
shl ebx, 0xc
jmp 0x494e8f
add dword [esp + 0x50], 4
inc edi
bswap esi
sub edx, edi
mov edx, esi
sub edi, edx
ror edx, 8
xchg edx, edi
not ebx
shr esi, 0x14
sub edx, 0xa3ada0c5
inc edi
jmp 0x496c57
mov dword [esp + 0x50], 0
dec edi
and edi, ebx
ror esi, 0x1b
mov edx, edi
and ebx, esi
xor ebx, esi
rol edi, 0x15
jmp 0x49443c
xor eax, eax
add esi, edi
mov edi, edx
dec ebx
sub ebx, 0xa3cac409
add edx, esi
jmp 0x494b7d
ret
mov dword [esp + 0x80], ecx
xor edi, edx
ror esi, 8
mov edi, ebx
rol edx, 0xe
inc edx
add esi, 0xa3e0d783
mov edx, 0xa3e1437d
add esi, ebx
or edx, esi
jmp 0x495687
mov dword [esp + 0x50], ecx
add ebx, esi
mov edx, ebx
mov esi, edi
shl edi, 0x1b
xor ebx, esi
inc ebx
jmp 0x494c11
sub esp, 0x16c
mov esi, edi
or edi, ebx
and ebx, edx
add esi, ebx
dec ebx
jmp 0x497962
mov ecx, dword [ecx]
add edx, ebx
mov ebx, edi
xchg ebx, edx
or edx, ebx
mov edi, esi
and ebx, edi
xchg edi, esi
and esi, ebx
sub edx, ebx
xor edx, esi
shr esi, 2
jmp 0x4959f6
xor al, byte [ecx]
or edi, 0xa41f0cbe
or ebx, edi
sub edx, esi
dec ebx
sub ebx, 0xa420f39b
mov edx, ebx
sub esi, edi
nop
jmp 0x4963fc
add ecx, dword [esp + 0x80]
xor esi, 0xa42c073a
shr edi, 0x12
not ebx
and ebx, 0xa42d8d1b
not edx
xchg edx, esi
mov esi, 0xa43093ee
and ebx, 0xa43115aa
sub edi, ebx
jmp 0x495b1a
mov ecx, dword [esp + 0x80]
xchg ebx, edx
bswap esi
or ebx, edx
sub edi, 0xa433debf
bswap edi
dec esi
nop
shr edx, 9
add ebx, esi
xor edi, edx
xor esi, edi
jmp 0x496013
add dword [esp + 0x50], 0x20
and edi, esi
xor edi, ebx
ror edx, 5
add edx, esi
and edx, 0xa4646d42
shr esi, 4
add edi, 0xa465584a
or edx, 0xa465c8a0
mov edx, edi
or esi, edi
jmp 0x49735f
mul ecx
add edx, 0xa48691d3
bswap ebx
and edx, ebx
xor edi, esi
sub esi, edi
shl edx, 3
inc ebx
shr esi, 0x19
and edx, 0xa48a7b46
shl ebx, 0x18
add esi, ebx
and esi, ebx
jmp 0x496869
inc dword [esp + 0x24]
inc edi
and esi, 0xa497808e
and edi, edx
and esi, ebx
xchg edi, edx
jmp 0x49500d
add dword [esp + 0x11c], 4
not edi
sub esi, 0xa4a55f57
mov esi, ebx
xchg edx, esi
xchg edx, edi
mov esi, edi
add edx, esi
jmp 0x497938
add ecx, dword [esp + 0x80]
xchg ebx, edx
shr edi, 0x10
sub esi, ebx
or edx, ebx
xchg edx, esi
bswap edi
xor edx, edi
jmp 0x496e3c
add dword [esp + 0x50], 0x78
rol ebx, 2
mov esi, edx
xor esi, 0xa4bd1be4
add edx, ebx
shr edx, 6
add edx, 0xa4bdd73b
add ebx, edx
xchg ebx, edx
xchg ebx, edx
and esi, edx
mov edi, edx
jmp 0x497a92
sub dword [esp + 0x50], 8
or ebx, 0xa4d3fdc6
or ebx, edi
sub edx, edi
inc esi
jmp 0x49434d
mov ecx, dword [ecx]
sub edi, esi
xor edx, 0xa53a5236
or edi, 0xa53ac4a8
not edi
add ebx, edi
add edi, 0xa53c3925
sub edi, edx
or esi, 0xa53d62d6
bswap edx
xchg ebx, edx
jmp 0x494a0e
mov ecx, dword [esp + 0x24]
neg ebx
rol esi, 7
and ebx, esi
add edi, esi
xchg edx, esi
rol edx, 0x1a
add ebx, 0xa54d6602
xchg edi, edx
rol edx, 0x1d
sub ebx, edx
bswap edx
jmp 0x49661b
mov eax, 4
xor esi, edi
inc esi
and edi, ebx
and edx, esi
ror edi, 0x12
add edi, ebx
or ebx, 0xa55a89c9
jmp 0x4947db
mov ecx, dword [esp + 0x80]
rol edx, 6
inc edx
mov ebx, esi
add edx, esi
not edx
not edi
or edi, edx
or edi, esi
add edi, 0xa56d12f7
dec ebx
dec edi
jmp 0x49762a
mov dword [esp + 0x80], 0
and edx, edi
shl ebx, 0xa
inc ebx
sub edx, esi
mov ebx, edi
or edx, edi
dec ebx
ror ebx, 0x1e
add edi, ebx
jmp 0x49489c
mov ecx, dword [ecx]
sub ebx, esi
xor esi, edi
dec ebx
sub edi, edx
shr edx, 8
mov ebx, 0xa5c62fd6
jmp 0x494be3
add ecx, dword [esp + 0x80]
add edx, 0xa5de9805
shr edx, 1
or edx, esi
neg edx
sub esi, ebx
sub ebx, edx
mov esi, edx
shr ebx, 0x1e
or esi, 0xa5e2792d
mov ebx, esi
xchg edx, ebx
add ebx, 0xa5e3dd4e
not edi
and edx, 0xa5e4c3e3
add edx, 0xa5e53570
jmp 0x49755f
mov ecx, dword [ecx]
xchg edx, ebx
inc edi
or ebx, edi
sub edx, ebx
sub edx, ebx
sub edi, esi
or esi, edx
xor edx, edi
xchg esi, ebx
xchg edi, edx
and esi, ebx
add edx, 0xa5ed9285
sub edi, 0xa5ee0ef2
shr ebx, 1
jmp 0x495d5f
add esp, 0x16c
and edi, edx
xor edi, 0xa6041e10
mov esi, edx
jmp 0x4948f7
inc ecx
shl esi, 0x15
mov esi, edi
and esi, ebx
xor ebx, edx
and ebx, edi
sub edi, ebx
add edi, ebx
inc edi
sub edi, ebx
and edx, 0xa6094819
jmp 0x495b8b
cmp byte [ecx], 0
jmp 0x49477d
add ecx, dword [esp + 0x80]
mov esi, 0xa654931e
shr edx, 0xc
add esi, 0xa65590cf
add edi, 0xa6560296
xchg edx, esi
shr edx, 3
xchg ebx, edi
add ebx, esi
jmp 0x494406
pop ecx
or edi, edx
xor ebx, 0xa675ed3d
sub edi, esi
bswap esi
shl edx, 0x12
ror ebx, 4
or ebx, edi
add edx, esi
mov edi, ebx
add ebx, esi
jmp 0x496b71
add dword [esp + 0x50], ecx
or ebx, esi
not edi
inc edx
or edi, edx
and edx, edi
sub ebx, esi
jmp 0x494d80
mov ecx, dword [ecx]
not ebx
or esi, edx
neg ebx
neg ebx
add edi, esi
xor edi, esi
inc ebx
mov esi, 0xa6cea05e
xor ebx, edx
jmp 0x496aed
mov ecx, dword [ecx]
sub edx, edi
bswap esi
add ebx, edi
add ebx, esi
add ebx, edx
and ebx, esi
mov esi, edi
and esi, ebx
or esi, ebx
nop
and edx, 0xa70feaaf
xchg esi, edx
and edx, edi
xchg ebx, esi
sub esi, edi
jmp 0x49438b
mov ecx, dword [ecx]
shl edx, 3
sub ebx, edx
not edx
sub edx, 0xa7387a27
mov esi, 0xa738f065
jmp 0x495047
rol eax, 8
or edx, edi
dec edi
xor ebx, edx
xchg esi, ebx
xor esi, edi
inc esi
inc ebx
or edx, ebx
bswap ebx
neg edx
xor esi, edx
mov edx, edi
mov edx, esi
rol edx, 5
shr ebx, 0x13
jmp 0x495b2f
mov dword [esp + 0x11c], 0
mov edx, edi
and edx, edi
xchg edx, edi
mov ebx, 0xa74ae911
add edi, 0xa74e54b5
jmp 0x49592b
mul ecx
xchg edx, esi
and edx, esi
not esi
neg edx
add ebx, edi
mov edi, ebx
jmp 0x497180
mov ecx, dword [ecx]
xchg edi, edx
rol edx, 4
and esi, edi
xor ebx, edx
xor ebx, edi
mov edi, 0xa7a7a0ae
mov edx, esi
bswap edx
jmp 0x4977dc
add dword [esp + 0x50], eax
add esi, 0xa7d99a17
sub edi, edx
dec edi
and ebx, 0xa7db0dad
jmp 0x4973ca
add ecx, dword [esp + 0x50]
and edi, 0xa7f54ea6
bswap esi
mov ebx, esi
xchg edx, ebx
bswap ebx
xchg edi, esi
or edx, ebx
or esi, edi
jmp 0x495526
mov ecx, dword [ecx]
inc esi
or edx, 0xa8308c04
not edx
xchg edx, esi
rol edi, 0x1e
and esi, 0xa8327130
shr edi, 0x1e
sub edx, esi
and ebx, edx
or edx, edi
inc edi
or edx, esi
rol esi, 0xd
jmp 0x497348
mov ecx, dword [ecx]
and edi, esi
and ebx, 0xa83b6be6
sub edi, ebx
add edi, esi
xor edx, ebx
rol edx, 6
sub ebx, esi
sub esi, 0xa83e0f68
xchg ebx, edi
and edi, esi
and edi, esi
and edx, esi
add edx, 0xa840570c
jmp 0x496f4b
cmp eax, dword [esp + 0x154]
jmp 0x497c17
mov ecx, dword [esp + 0x50]
sub esi, edx
or ebx, edi
shl edx, 0x17
rol esi, 0x1d
not ebx
xchg ebx, edx
add esi, 0xa8624b08
mov edi, edx
dec esi
jmp 0x4963ad
mov dword [esp + 0x11c], ecx
and edx, 0xa8a5181a
and esi, ebx
and esi, ebx
xor ebx, edx
neg edi
bswap edx
nop
or esi, ebx
add esi, edx
add edx, ebx
xchg esi, ebx
add esi, edx
sub esi, ebx
jmp 0x4978c3
mov dword [esp + 0x50], ecx
sub edx, 0xa8ca08f6
sub edx, edi
sub esi, ebx
add edx, ebx
add edx, edi
mov edi, esi
or edi, 0xa8ccea9c
dec edi
xor ebx, edi
neg edx
sub edi, ebx
add edi, edx
shr edx, 0x1b
xor esi, 0xa8d04373
jmp 0x495144
mov dword [esp + 0x24], eax
xchg edi, edx
sub esi, 0xa926df18
xchg ebx, edi
xor edx, edi
ror esi, 0x1a
or ebx, 0xa928bff6
add edi, 0xa9293525
xor edx, esi
jmp 0x49526e
add ecx, 0x18
or edx, 0xa9d76702
xor esi, edx
sub edx, ebx
mov edi, 0xa9d909e7
jmp 0x4943c5
mov ecx, dword [esp + 0x50]
mov ebx, edx
inc esi
add edi, edx
xor esi, 0xa9db3fbb
or edi, edx
sub esi, edi
or ebx, esi
jmp 0x494afc
mov ecx, dword [esp + 0x50]
mov edi, edx
add ebx, edi
rol edx, 0x17
xor edx, edi
rol edi, 0xc
xchg edi, esi
sub edx, esi
mov edx, 0xa9ededaf
or ebx, 0xa9ee612a
nop
jmp 0x49594d
mov dword [esp + 0x11c], ecx
add edi, edx
xchg edx, ebx
sub edx, esi
or esi, edi
not esi
mov esi, edi
ror ebx, 0xa
xchg esi, edx
xor edi, edx
sub edx, ebx
add edi, ebx
sub esi, edi
jmp 0x494f47
push ecx
rol edi, 0x10
xor esi, ebx
inc edi
add ebx, edi
xor esi, 0xaa2e2487
mov ebx, 0xaa2ea6a8
jmp 0x4948e3
add ecx, 0x3c
rol edx, 0x19
xor ebx, edi
mov ebx, edx
bswap edi
add esi, ebx
xor edi, esi
jmp 0x496b43
add ecx, dword [esp + 0x80]
xor edi, edx
or edi, esi
xor edi, edx
neg edi
or ebx, edx
xor edx, esi
jmp 0x49759a
add ecx, 0xc
xor ebx, esi
not esi
bswap ebx
xor edi, esi
and ebx, esi
dec ebx
neg edx
xchg ebx, edi
xor esi, 0xaa94981b
shl edi, 5
dec ebx
sub edx, ebx
jmp 0x49627f
mov eax, 2
bswap edi
xor esi, edx
inc edx
rol esi, 0xa
bswap ebx
add ebx, 0xaa9df5fc
and edx, ebx
xor edx, 0xaa9ed01a
mov ebx, edx
sub edi, edx
dec edx
sub ebx, 0xaaa0d4a2
xor esi, ebx
jmp 0x495590
mov ecx, dword [esp + 0x11c]
mov ebx, esi
or edx, 0xaaadc29c
xor ebx, esi
not edx
xor edi, edx
xor esi, edi
xchg esi, ebx
mov edx, edi
xchg edx, esi
add edi, edx
bswap esi
add edi, esi
mov edx, edi
jmp 0x4966cb
mov dword [esp + 0x24], 0
and ebx, edi
and edi, 0xaab439e2
and edi, esi
mov edi, ebx
shl ebx, 1
xchg edi, esi
or edx, edi
sub esi, ebx
xchg ebx, edx
jmp 0x496421
add ecx, dword [esp + 0x24]
xor ebx, edx
xor edx, esi
add edi, ebx
mov edx, ebx
sub esi, edi
or ebx, edx
or edx, esi
and ebx, esi
neg edi
inc esi
jmp 0x4955f9
mov ecx, dword [esp + 0x11c]
shr ebx, 3
sub edi, 0xaacdbd49
sub ebx, esi
and esi, 0xaacebb3c
xor edx, esi
inc ebx
neg edi
and edx, edi
add edi, 0xaad0eb50
or ebx, 0xaad15972
jmp 0x4979e7
mov ecx, dword [esp + 0x80]
or esi, edi
xchg edx, esi
or edi, 0xaae051e5
xchg edx, ebx
mov esi, edx
neg edi
xor esi, ebx
add edx, 0xaae2a56b
sub edi, edx
neg edx
not ebx
and ebx, edx
jmp 0x49693f
mov ecx, 0x30
mov edx, esi
xor ebx, edx
mov esi, edi
shr ebx, 1
add ebx, edx
sub edi, edx
jmp 0x494514
jne 0x494f47
xor edx, 0xab12c44c
shr edx, 9
xor esi, 0xab13a323
and esi, 0xab1410d8
add ebx, edi
add edi, ebx
mov ebx, edi
not ebx
jmp 0x4947f6
mov ecx, dword [ecx]
shl ebx, 0x1e
inc edx
mov edx, 0xab175322
sub ebx, 0xab17c0c1
sub esi, edx
or edi, esi
sub edx, edi
add edi, edx
sub ebx, edi
ror ebx, 0x1c
jmp 0x4960a4