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

Disassembly:
mov eax, 4
and ecx, edi
xor edi, ecx
sub ecx, edx
xor edx, 0x7f8f47ba
sub ecx, 0x7f8fb21c
add ebx, edx
sub edx, edi
xor ecx, 0x7f9e203b
dec ebx
or ebx, edx
add edi, 0x7f9f4cdb
jmp 0x47a351
sub esp, 0x17c
inc ecx
mov ecx, edi
sub edi, 0x7fa9c5a8
or edx, ecx
shl ebx, 0x17
add ecx, 0x7fab341c
inc ecx
add edi, ecx
mov edi, ebx
mov ebx, 0x7fad1caf
or ebx, edx
and ebx, 0x7faddf62
jmp 0x478f2a
mov esi, dword fs:[esi]
add edi, 0x7faf7eee
bswap ebx
neg ebx
and ebx, edi
xor ecx, edi
bswap ebx
shr ecx, 1
jmp 0x479cf7
mov esi, dword [esi]
and ebx, edx
and edx, 0x7fd0440a
mov ebx, edi
add ebx, edx
dec ecx
and edx, ecx
mov edx, ecx
mov edi, edx
sub edx, ebx
bswap edi
add ebx, edx
jmp 0x479a1f
mov dword [esp + 0xb8], 0
and edi, ebx
xchg edi, ebx
sub edx, edi
xchg ecx, edi
xor ecx, edx
and ecx, edi
xchg edi, edx
mov ecx, edx
jmp 0x479634
jne 0x479035
rol ecx, 0x16
not edi
add ebx, ecx
add edi, edx
inc edx
mov ebx, edx
sub edi, edx
sub ebx, edx
sub edx, 0x8001d28f
jmp 0x4795ac
pop esi
xchg edi, ecx
mov ecx, ebx
add edi, ebx
and edx, ebx
xchg edx, ebx
xchg edi, ebx
bswap ebx
not ebx
jmp 0x478e29
mov esi, dword [esp + 0x94]
ror edi, 0x16
and ebx, ecx
add ebx, edi
shl edi, 0x14
sub ecx, edi
or ecx, ebx
sub edi, ebx
xchg ecx, ebx
mov edi, edx
rol ecx, 0xe
or edi, 0x8013c35a
rol edx, 7
and edx, 0x80148aca
jmp 0x47a554
add dword [esp + 0x94], esi
mov edx, edi
not edx
or edx, ecx
add ecx, edi
add ebx, ecx
xor ecx, edi
sub ecx, edx
sub ebx, ecx
inc ebx
jmp 0x47aa19
mov esi, dword [esi]
xor ecx, ebx
mov edi, ebx
add edi, ecx
sub ebx, 0x80292f3e
inc ebx
xor edx, ebx
add edx, ecx
xchg ecx, edx
sub edi, ebx
xor ecx, edx
jmp 0x47a3ef
mov dword [esp + 0x24], eax
add ecx, edi
mov edx, 0x80851465
and ebx, 0x8085937b
or edx, ecx
xor edi, ebx
or edi, edx
not ebx
xchg ebx, ecx
or ecx, edx
and edi, 0x80889f83
jmp 0x47a27f
cmp eax, dword [esp + 0xb4]
jmp 0x478b3a
rol eax, 8
rol ecx, 0x1f
sub edi, 0x80b17288
and ecx, ebx
and ecx, edi
not edi
xchg edi, edx
sub ecx, edi
or ecx, edx
mov edx, ecx
shr ecx, 0x1c
sub edx, ebx
sub ebx, edi
mov ebx, edi
or edi, ebx
add ebx, ecx
add edi, ebx
jmp 0x47ab1d
mov esi, dword [esp + 0x94]
shl edx, 0x1f
xor ebx, edx
xchg ebx, edx
bswap edi
and ebx, edx
and edx, 0x80cb7175
not ecx
or edi, 0x80cc3820
or edi, ecx
or ecx, edi
jmp 0x4794f4
add dword [esp + 0x108], 4
rol ebx, 0x19
sub ecx, edi
xor edi, 0x811651b1
add ecx, ebx
shr ecx, 0x18
jmp 0x47926a
mov dword [esp + 0x24], 0
xchg ecx, edi
or edi, ecx
neg ecx
jmp 0x47939e
mov esi, dword [esp + 0xb8]
or ecx, 0x811efcb1
sub edx, edi
ror edi, 2
xor edx, edi
or ecx, edx
shl edx, 1
bswap ecx
add edx, ebx
dec edi
jmp 0x47a68a
add dword [esp + 0x94], 0x78
ror edx, 0x11
xor edx, ecx
mov edi, 0x8127daab
or ecx, edi
sub ebx, edi
sub ecx, 0x8129258f
xchg ecx, edi
rol ebx, 0x17
and ecx, 0x812cc635
mov edi, 0x812d2f1e
rol edx, 0x1a
jmp 0x479ddb
xor al, byte [esi]
mov edx, 0x813ad71e
sub ecx, ebx
not edi
sub ecx, edi
and edi, edx
mov ebx, ecx
and ecx, edi
sub edx, edi
xor edx, ebx
or edx, ecx
mov ecx, edx
jmp 0x478e35
inc dword [esp + 0x24]
add ebx, edx
or edi, edx
sub ebx, edi
add edi, 0x8144c35e
sub ecx, edx
ror ebx, 0x1d
or ecx, 0x8148deaa
xor edi, edx
sub ebx, edi
and edi, ebx
inc edi
xor edx, edi
sub edi, ecx
jmp 0x478ef5
mul esi
bswap edx
or edi, ebx
not ebx
or ecx, ebx
dec edi
or ebx, edx
sub edx, ebx
ror ecx, 0x11
inc edx
bswap ebx
and ecx, edi
not edx
and edi, ebx
bswap edx
xchg ecx, edi
jmp 0x4792ed
mov esi, dword [esi]
or ebx, ecx
sub ecx, edx
not edi
xchg ebx, edi
rol edx, 5
or edx, 0x81790ac6
mov edx, 0x817972c1
and edx, 0x8179f05b
jmp 0x479f13
xor eax, eax
sub ebx, edi
rol edx, 0x16
not edx
mov edi, edx
xchg ebx, edi
mov ecx, ebx
sub edi, 0x81813a0d
shr edi, 0x1d
and ebx, edx
xchg edi, ecx
jmp 0x478ff8
mov esi, dword [esp + 0x108]
xchg edi, edx
neg ecx
xor ebx, edx
bswap ecx
mov ecx, ebx
and edx, ebx
or edx, 0x81b122bb
add edi, ecx
and ebx, edx
xchg edi, edx
neg ebx
and ebx, 0x81b8baa9
rol ebx, 4
jmp 0x47abbc
add dword [esp + 0x94], eax
or ebx, ecx
xor edx, edi
mov ebx, edx
xor edi, ebx
rol edx, 1
shr ecx, 0x16
xchg ecx, edx
mov ebx, ecx
mov ecx, 0x81cc96d9
jmp 0x479445
add esi, 0x18
ror edi, 0x18
sub edx, 0x81cdb8ca
sub ecx, 0x81ce4333
add edx, edi
jmp 0x479594
mov dword [esp + 0xb4], esi
or ebx, ecx
or edi, edx
add edx, 0x81d6b205
neg ebx
shl edi, 0x15
add ebx, edi
bswap ebx
xchg edx, edi
mov edx, edi
xchg ecx, edi
xchg edi, ecx
or ebx, edx
add ebx, edi
jmp 0x479bd9
mov dword [esp + 0x108], 0
or edx, edi
shr edi, 7
xor edi, 0x81e2789e
or edx, 0x81e2e8e8
add ebx, edx
sub edi, edx
xor ecx, 0x81e415ad
jmp 0x478acf
add esi, dword [esp + 0xb8]
not ebx
and ecx, edi
add edx, ecx
sub edx, 0x81f1125d
bswap ecx
or edx, ebx
jmp 0x47970f
mov esi, dword [esp + 0x94]
add ecx, 0x81ff53aa
shr edi, 0x17
xchg ecx, edx
or ecx, edi
sub edi, 0x8201108f
mov edi, ebx
bswap edx
mov edi, edx
or ebx, edx
mov edx, ebx
mov edi, ebx
xor edx, 0x82040908
add ebx, 0x820471f4
bswap edi
jmp 0x47913d
mov esi, dword [esi]
sub edi, ecx
and ebx, 0x8213ada3
xchg ecx, edx
add edi, 0x82147640
bswap edx
inc ecx
add ecx, edx
shl edi, 0x16
xor edi, edx
inc ecx
xor ecx, ebx
jmp 0x47a065
mov esi, dword [esi]
sub ecx, ebx
bswap ebx
inc ebx
and ecx, 0x82286156
bswap ecx
xor edx, ecx
neg edi
jmp 0x47a613
add dword [esp + 0x94], 4
add ecx, edi
add ecx, ebx
or edx, edi
inc ecx
add ebx, edx
bswap edi
inc edx
or edx, edi
mov edx, ebx
xor ebx, 0x822e24f1
rol ecx, 0xd
xor edx, 0x822f05e9
jmp 0x478bbc
mov dword [esp + 0x94], 0
add edx, 0x823aa3ab
xor ecx, edx
or edi, ebx
neg edi
xor edx, ebx
xor edi, edx
shl edx, 1
add edx, ecx
and edx, ecx
ror edi, 8
shr edx, 0x19
jmp 0x47934d
push esi
add edx, 0x8270821b
xor edi, edx
add ecx, ebx
xchg ecx, edx
sub edi, edx
shr edi, 0xf
sub ebx, edi
xor ebx, edx
mov ecx, edx
bswap ebx
ror edx, 0x17
bswap edi
bswap ebx
add ecx, edx
jmp 0x47917c
mul esi
xor ecx, 0x82a9e2f5
xor ebx, ecx
ror ebx, 0x16
sub edx, ebx
or ebx, ecx
and ebx, ecx
or edi, 0x82ac878d
mov ecx, ebx
xor ecx, 0x82ad67dd
and ecx, ebx
rol edx, 0x12
and edx, edi
jmp 0x478d9a
mov dword [esp + 0x108], esi
dec ebx
and edi, edx
sub edx, ecx
shr ebx, 0x12
xchg edi, ebx
shr ecx, 0x10
mov ecx, edx
xor ebx, edx
xchg ecx, edx
inc edi
xor ebx, 0x82d1b469
and ecx, edi
add ecx, edi
xchg edi, edx
jmp 0x479a76
add esi, dword [esp + 0xb8]
not ebx
or edi, 0x8312f240
and edx, ecx
bswap edi
and edi, ecx
mov ecx, edx
and ebx, edi
sub edi, 0x8315874f
xchg ebx, ecx
or ecx, edi
add edx, edi
or ecx, ebx
jmp 0x479cd2
mov eax, 2
and ecx, ebx
xchg edi, ecx
shl ebx, 2
sub edi, 0x831e3b45
xor edx, edi
sub ebx, ecx
or edi, ecx
sub ecx, edx
jmp 0x47aa80
mov esi, dword [esi]
dec ecx
not ebx
and ecx, 0x837f56e4
jmp 0x479dbc
mov esi, 0x30
xor edx, edi
add edi, ecx
not edi
mov ecx, 0x8381154c
bswap ebx
not edi
jmp 0x4789f9
jne 0x478ff8
add ecx, 0x83aed28f
or edi, ecx
ror ecx, 6
add edi, 0x83b01e6e
and edi, 0x83b07f7f
xor edi, 0x83b0e546
or ebx, edx
and edi, ebx
bswap ecx
jmp 0x478b5b
mov dword [esp + 0x94], esi
not ecx
and edx, 0x83b9fdb3
add ebx, edx
or edx, ebx
and ebx, edi
sub edx, 0x83bbca36
mov edx, 0x83bc39f1
jmp 0x47aa5f
add esi, 0xc
add ebx, 0x83bcd65d
rol edi, 6
dec ebx
and ebx, 0x83be16eb
xchg edi, ecx
xchg ebx, edi
dec ebx
xor ecx, edi
xor ebx, edx
add edi, ecx
add ecx, edi
or edx, edi
jmp 0x479bc9
add esi, 0xc
add ecx, edx
and ebx, 0x83d66df8
dec edx
not ecx
or edx, edi
xor edi, 0x83d8079b
sub edx, edi
xor ebx, ecx
jmp 0x47a0b1
mov esi, dword [esp + 0xb8]
mov ebx, ecx
xor ecx, edx
xor edx, 0x83da1af3
or edi, ecx
sub edx, edi
or edi, edx
or ecx, edi
jmp 0x47a48b
add esi, dword [esp + 0xb8]
sub ecx, edx
xor edi, 0x842c9c39
and ecx, ebx
add ecx, edx
add ebx, edi
add ecx, 0x842e5142
xchg edi, ecx
xor edx, ecx
shl edi, 0xf
and edx, 0x84301f2b
and ebx, 0x843082fb
jmp 0x47a9a5
mov esi, dword [esp + 0xb8]
mov ecx, ebx
add edx, ecx
not edi
and edx, edi
xor ecx, 0x843a4bca
sub edx, ebx
sub edx, ebx
dec edx
and edx, ebx
inc edx
jmp 0x478c11
ret
add esi, dword [esp + 0xb8]
neg edx
sub edi, edx
or edi, edx
inc edi
or edx, 0x8464853e
sub edx, ecx
xor ecx, edx
add ecx, edx
and edi, edx
not ebx
sub edi, edx
jmp 0x47ab70
mov esi, dword [esi]
sub ecx, ebx
sub edi, ebx
neg ebx
sub edx, edi
sub ebx, 0x846e4caa
sub edx, ebx
ror edi, 0x1f
or ecx, edx
xor edi, ebx
jmp 0x478c86
cmp byte [esi], 0
jmp 0x479c69
sub dword [esp + 0x94], 8
and edi, ebx
xor ebx, edi
add ecx, edx
xor edx, ebx
or edx, edi
bswap edi
jmp 0x47ad4b
movzx esi, word [esi]
neg edx
or edi, edx
xor edx, 0x84e084c7
xor ebx, ecx
sub edx, ecx
add ecx, 0x84e1c0ac
neg edi
xchg edi, ecx
rol edx, 0x1b
add edi, edx
jmp 0x479088
mov esi, dword [esi]
mov ebx, edx
sub edi, edx
and ecx, edx
xchg edx, edi
xor ebx, 0x84f647ed
add edx, 0x84f6a8fa
xchg edi, ebx
jmp 0x479310
mov dword [esp + 0x94], esi
bswap ecx
or edi, 0x84fe0292
xor ebx, ecx
bswap edi
xchg edx, edi
jmp 0x479f83
add esi, dword [esp + 0x94]
dec ebx
xor edx, 0x85066e40
mov ebx, 0x8506e766
add edx, edi
or ecx, edx
bswap ebx
nop
jmp 0x47a9c6
mov esi, dword [esi]
and edx, ebx
xchg edi, ecx
and ecx, ebx
xor edi, ecx
add ecx, edx
nop
mov ebx, edx
sub edx, ecx
shr ecx, 0xc
and ebx, 0x8526b6aa
jmp 0x47acbd
mov dword [esp + 0xb8], esi
shl edx, 1
sub edi, ebx
mov edx, 0x853c83a0
not ebx
sub ecx, edx
shl ecx, 0xf
jmp 0x478f59
add esi, 0x3c
nop
mov edx, ebx
and edx, ecx
xor ebx, 0x854b1099
jmp 0x47a72b
mov esi, dword [esi]
shl ebx, 0x1e
add edx, ecx
mov edi, 0x855ff25a
add edi, edx
xor ecx, 0x8560cf19
add edx, ebx
jmp 0x47a891
add esi, dword [esp + 0x24]
sub edx, 0x85850f74
inc edx
xchg ecx, edi
add edx, ebx
sub ebx, edi
mov edi, ecx
sub edi, 0x85876433
ror ebx, 0x18
and edi, 0x8588490e
bswap ebx
jmp 0x478953
mov dword [esp + 0x94], esi
bswap edx
sub edx, 0x8589c4d3
sub edx, 0x858a2721
rol edx, 8
or ecx, 0x858afba2
or edx, ecx
mov edx, ecx
shl edx, 0xc
mov edx, ecx
sub ecx, edx
add edx, ecx
jmp 0x478f7c
add esp, 0x17c
and edx, 0x85adbfc7
inc ebx
mov ebx, edx
xor ecx, edi
add edi, ecx
or ecx, edx
add ebx, edx
add ebx, ecx
xor ecx, ebx
inc ecx
jmp 0x47a04b
mov esi, dword [esi]
dec ebx
shr edx, 2
add edx, edi
and ecx, edi
inc ecx
xor edx, ecx
neg edi
and edx, 0x85b51c8b
jmp 0x47a443
add dword [esp + 0x94], 0x20
bswap edi
xchg ebx, ecx
rol ecx, 0xb
or edi, ebx
rol ecx, 3
dec ebx
xchg ecx, edi
xor edx, ebx
sub edx, 0x85c0abfe
sub ebx, edi
xor ebx, ecx
jmp 0x478e63
mov esi, dword [esp + 0x108]
xor ecx, 0x85c517d3
xchg edx, edi
mov edx, ebx
or edx, 0x85cb5876
not ebx
neg ebx
inc ecx
jmp 0x47a865
mov esi, dword [esp + 0x24]
ror ebx, 0x12
add ecx, 0x85cdbcb9
not ecx
shl edi, 0xb
neg ebx
inc edi
dec edx
and edx, edi
shl ecx, 0xc
and ecx, edx
mov edx, 0x85d1d472
jmp 0x4797cd
inc esi
shl edi, 0xd
xchg ecx, edx
ror edx, 0xc
not ecx
neg ebx
rol ebx, 0x15
mov edx, edi
inc edi
and edi, 0x85e92f64
xor edx, ecx
shr ecx, 0x15
or edi, ecx
jmp 0x47a0cf
mov dword [esp + 0x108], esi
rol edi, 0xc
and ecx, 0x85f1c433
and ecx, edi
add edi, ecx
xchg ebx, ecx
mov edx, edi
mov edi, 0x85f408a2
xchg edx, edi
xor edi, 0x85f4d490
or edi, ecx
add ebx, edi
jmp 0x479035
mov esi, dword [esi]
add ecx, edx
or ebx, 0x85fa83f8
xor edx, ecx
bswap edx
xor edi, ebx
xchg ecx, edi
xchg ecx, edx
shr edi, 0x19
shl ebx, 0x1b
jmp 0x479429
add esi, dword [esp + 0xb8]
ror edx, 0x15
and edx, ecx
add ecx, ebx
jmp 0x4798c3
mov esi, dword [esp + 0x94]
shr ebx, 0xf
xchg edx, edi
and edi, ecx
or ecx, 0x86279482
xor edi, ecx
xor edi, ecx
jmp 0x478a41