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

Disassembly:
add esp, 0xc8
xchg edi, edx
add edi, edx
mov ebx, 0xaeeb9b60
mov ecx, edx
add edx, ebx
add ebx, ecx
bswap ebx
mov ebx, 0xaeed98b6
mov edx, 0xaeee014e
neg ecx
jmp 0x4776af
mov esi, dword [esp + 0x64]
add ebx, edx
xor edi, 0xaf416616
shr ecx, 0x19
bswap ebx
sub ecx, edi
or edx, edi
xchg edx, ebx
mov edx, edi
mov ecx, edi
or ecx, ebx
or ecx, ebx
nop
jmp 0x476135
mov esi, dword [esp + 0x24]
bswap edi
rol ecx, 9
or ecx, ebx
xor edx, 0xaf5c0f14
jmp 0x4772ad
movzx esi, word [esi]
rol ebx, 0x11
xor ebx, 0xaf60f846
mov ecx, edi
ror edi, 0x1b
mov edi, edx
mov edx, ecx
and edi, 0xaf622ae2
and edx, edi
jmp 0x475c3e
add dword [esp + 0xb0], eax
or edi, ebx
xchg ebx, edx
not ebx
xchg ecx, edx
or ebx, ecx
and ebx, edi
or ecx, edi
and edx, ecx
jmp 0x47870a
mov esi, dword [esp + 0xb0]
add edx, ebx
mov edx, ebx
mov edi, edx
add ecx, ebx
and ebx, edx
neg ecx
not edx
and ebx, edx
jmp 0x477ebd
mul esi
or edi, 0xaf7d9360
xchg ebx, ecx
or edi, ecx
and ecx, 0xaf7e4d90
xor edx, 0xaf7e8d18
and edi, ecx
mov edx, ecx
rol ecx, 0xa
add edx, ecx
not edx
add ecx, edi
sub ecx, edi
jmp 0x475b20
mov dword [esp + 0xb0], esi
inc ebx
add ebx, ecx
add edi, ecx
inc ebx
sub edx, 0xaf81a75a
rol ebx, 0xc
shr ebx, 0xb
sub edx, edi
add edx, ecx
add ebx, ecx
jmp 0x475ecd
mov eax, 4
or edx, ecx
add ebx, edi
jmp 0x475ac2
mov esi, dword [esi]
xor edi, 0xaf8795a0
xor ecx, edi
jmp 0x475c6a
mov dword [esp + 0x24], esi
xchg edi, ecx
and edx, 0xaf94170e
add edi, ecx
xor ebx, edi
xor edi, ecx
and edi, edx
and edi, 0xaf954b66
mov edi, 0xaf959afa
and ebx, edx
mov edi, 0xaf9617c0
nop
shr edx, 0x1f
jmp 0x47665f
add dword [esp + 0xb0], 0x78
mov ebx, ecx
neg edx
mov ecx, 0xafaf5332
mov ecx, edi
ror ecx, 4
xor ecx, edi
jmp 0x4780ee
mov esi, dword [esi]
or edx, edi
add ecx, edx
dec edi
rol ebx, 0xe
jmp 0x476d4c
add esi, dword [esp + 0x64]
mov edi, ebx
shr edi, 7
ror edx, 2
shl ebx, 0xe
inc ebx
sub edi, 0xafb7ba82
add edx, ebx
shr ebx, 0x11
jmp 0x475d6e
add esi, dword [esp + 0x64]
add ecx, ebx
mov edx, 0xafbe3316
add ebx, ecx
xchg edi, edx
bswap edx
dec ebx
xor ebx, 0xafbf6e9c
inc ebx
jmp 0x4777d4
add esi, 0x3c
dec ecx
sub edi, ebx
shr edi, 1
sub edi, edx
or ecx, edi
sub edx, ebx
jmp 0x475ccc
add dword [esp + 0xb0], 0x20
shr edx, 0x1f
xor ebx, edi
ror ebx, 0x1b
add ebx, 0xafe33db0
mov ebx, edi
xor edx, ebx
shl edx, 9
nop
jmp 0x4786c2
add esi, 0x18
sub ecx, edi
bswap edi
sub edx, ebx
add ecx, ebx
or edx, ecx
sub edi, edx
not edi
xchg ecx, ebx
jmp 0x475f13
add esi, dword [esp + 0x78]
and edx, 0xb019b9e4
shl edi, 5
neg edi
rol edx, 0xd
xor ecx, edx
not ebx
bswap edi
not ebx
or ecx, edx
or ebx, ecx
sub ebx, 0xb01c407a
mov edx, ecx
jmp 0x475c8e
add dword [esp + 0x24], 4
add ebx, edi
shr ecx, 0x19
bswap ebx
xchg edi, ecx
dec edi
sub edi, ecx
jmp 0x475a6e
cmp byte [esi], 0
jmp 0x477845
mov esi, dword [esp + 0xb0]
not edi
inc edx
mov ecx, edx
xor ecx, edx
bswap ecx
add edx, 0xb038f9e8
bswap edi
rol edi, 0x1a
jmp 0x477d11
mov esi, dword [esi]
xchg edi, ebx
not ecx
add ecx, ebx
bswap edi
xor ebx, edi
nop
sub edx, 0xb03b6e70
and ecx, 0xb03badc2
or ecx, ebx
add ebx, edx
jmp 0x475f35
inc dword [esp + 0x78]
neg edi
sub ecx, edi
and ebx, ecx
add ecx, 0xb03d38ea
add edi, edx
or ebx, 0xb03dc5dc
mov edi, 0xb03e05f0
mov ecx, edi
xchg edi, ecx
and ebx, ecx
mov ecx, 0xb03efd34
xor ecx, edi
jmp 0x4765aa
mov esi, dword [esi]
sub edx, ebx
bswap edx
ror edi, 1
sub edi, ecx
jmp 0x477d71
mov dword [esp + 0x24], esi
add ebx, 0xb0977e78
sub ecx, ebx
or edi, ecx
sub edi, ebx
inc ecx
shr ebx, 0x13
add ebx, ecx
mov ebx, ecx
jmp 0x476e3d
mov dword [esp + 0xb0], esi
and edi, edx
nop
xor ebx, edx
sub ecx, ebx
jmp 0x47848d
jne 0x47665f
sub edi, edx
sub edx, 0xb0b65900
and edx, ecx
add edi, ecx
jmp 0x4776ca
inc esi
neg ecx
xchg ebx, ecx
add edi, ebx
and ebx, 0xb0b96b44
sub ebx, edi
and edi, ebx
or ecx, edx
xchg edi, ebx
jmp 0x476615
mov dword [esp + 0x64], esi
shl ebx, 0xa
xchg edi, edx
sub ebx, edi
mov edx, edi
xchg edx, edi
or ebx, edi
jmp 0x475913
add esi, dword [esp + 0x64]
xor ecx, edi
or ecx, 0xb0d7d644
or ecx, edx
xor ebx, 0xb0d8c482
mov ebx, 0xb0d93fce
mov ecx, 0xb0d9bfcc
shl edi, 0x1a
dec ebx
add ecx, ebx
sub edi, 0xb0db9422
jmp 0x476b41
mov esi, 0x30
and edx, edi
mov ecx, ebx
add ecx, edi
and ecx, edx
or edi, ebx
dec ecx
jmp 0x4786e2
mov eax, 2
xchg edx, ebx
bswap edi
jmp 0x478086
rol eax, 8
add edx, ebx
or ebx, edi
xchg ecx, ebx
and ebx, edx
mov ecx, 0xb110ec80
or ebx, edx
xor ebx, edi
xor edi, ebx
nop
inc edi
jmp 0x476cc8
mov dword [esp + 0x78], eax
or ecx, edx
mov ebx, edx
mov ebx, edx
inc ecx
and ecx, edx
and ecx, edx
and edi, ebx
and edx, 0xb124fc5e
jmp 0x477aa4
mov esi, dword [esp + 0x24]
or edi, ebx
add edx, ecx
shl edi, 0xc
or edx, 0xb12b5ad8
inc edx
sub ebx, edi
xchg edi, ecx
xchg edx, edi
bswap edi
and edi, ecx
jmp 0x476495
add esi, dword [esp + 0xb0]
add edx, 0xb146cf80
ror edi, 2
shl edx, 4
xchg edi, ebx
jmp 0x4775b8
mov esi, dword [esi]
mov edi, ebx
nop
and edi, edx
mov edi, 0xb151be4a
inc edx
and ebx, edi
jmp 0x475fb6
pop esi
xchg edi, ecx
sub ecx, edx
xor ebx, ecx
and ecx, edi
xchg ebx, ecx
bswap ecx
mov edi, ecx
or ebx, edx
or edx, ebx
and ecx, edi
jmp 0x477f4f
add esi, dword [esp + 0x64]
ror ebx, 0x15
neg ebx
add edi, ecx
sub ebx, ecx
xor ecx, 0xb17ece38
inc ecx
add ecx, edi
mov ebx, edx
jmp 0x478781
mul esi
not edi
xchg edx, ecx
add edx, 0xb18056fa
and ecx, ebx
or edx, ecx
mov ecx, edx
and edx, ebx
mov edi, 0xb18191ac
sub edi, 0xb181d032
mov edi, edx
jmp 0x47706c
mov esi, dword [esi]
xchg ebx, edi
add edx, ebx
xor edi, ecx
not ecx
shl ecx, 0x17
xchg ecx, ebx
shl edx, 8
add edi, ecx
mov ebx, edx
not edx
jmp 0x476c20
ret
add dword [esp + 0xb0], 4
or edx, ecx
and ebx, edx
sub ebx, edi
mov edi, ebx
jmp 0x47661d
push esi
add edi, 0xb1aeff16
xor ebx, 0xb1af3d0e
or ecx, 0xb1af7b26
and edx, ecx
and ebx, edx
mov edi, edx
and edx, 0xb1b06b46
xchg ecx, edx
jmp 0x477a49
jne 0x4782fb
add edi, ebx
not edi
neg ecx
xchg edi, ecx
xchg edx, ebx
and ebx, ecx
sub edi, ecx
not ebx
xor ecx, edx
and ecx, ebx
jmp 0x477448
mov dword [esp + 0xb0], 0
sub ebx, edx
sub ecx, edi
or ecx, 0xb1c76d62
add edx, 0xb1c7bc22
not ecx
add edx, ebx
or ebx, 0xb1c8732e
and edx, ecx
shr ecx, 3
neg edx
jmp 0x47876b
add esi, 0xc
mov edx, ecx
neg edi
and edx, 0xb1d057e6
xor edi, ecx
and edx, ecx
and ecx, 0xb1d1104c
sub ebx, ecx
mov edi, ebx
and edi, ebx
and edx, ecx
sub ecx, edx
and edi, ebx
shr ecx, 0x1a
mov edx, 0xb1d307d2
jmp 0x478500
mov esi, dword [esi]
xor edx, edi
add ecx, 0xb1d63eb4
neg edi
sub ecx, edi
add edx, edi
and edi, edx
add ebx, 0xb1d77ed8
or edx, ecx
sub ecx, edx
mov edx, ecx
jmp 0x47644f
xor eax, eax
and ecx, 0xb1dde5ac
shr edx, 7
dec ecx
add ebx, edx
mov edx, ecx
sub edi, 0xb1df2cbc
jmp 0x4782fb
mov dword [esp + 0x78], 0
sub ecx, edx
mov edx, ecx
xor edi, edx
ror edi, 0x10
xchg ecx, ebx
and edi, ebx
add edi, 0xb1e101e8
xor ebx, edi
add ebx, 0xb1e17e0a
and edx, ecx
jmp 0x477e68
sub dword [esp + 0xb0], 8
xchg ecx, ebx
mov ebx, edi
mov edx, ecx
xor edi, 0xb1e370a2
xor edi, 0xb1e3b016
dec ecx
bswap ebx
and edi, edx
jmp 0x475bfc
mov esi, dword [esi]
not ebx
inc edi
sub ecx, ebx
and ecx, 0xb1e59f5a
sub ebx, edi
dec edx
xor edi, ebx
and ebx, edi
jmp 0x47798f
mov esi, dword [esi]
not ebx
mov edi, ebx
sub ecx, ebx
mov ecx, edx
jmp 0x476dbc
add esi, dword [esp + 0x64]
rol edx, 0x10
xchg edi, ebx
mov ebx, 0xb3d70022
xor ebx, edx
add ebx, ecx
xor ebx, ecx
add edx, 0xb3d7f99a
neg ecx
xchg ecx, edi
xor edi, ecx
shl ecx, 0x15
sub edi, edx
jmp 0x475498
mov dword [esp + 0x24], 0
add edi, ecx
add ebx, edx
and ecx, ebx
and edi, ecx
sub ebx, edi
sub edx, edi
or ecx, ebx
rol ebx, 0x1a
jmp 0x478623
mov esi, dword [esi]
xchg ecx, edx
and ebx, edi
dec edx
xor edx, ebx
shr ecx, 6
or edi, ebx
jmp 0x47750a
cmp eax, dword [esp + 0x44]
jmp 0x476cb1
add esi, 0xc
xor edi, ebx
add edi, ebx
mov ecx, edx
xchg ecx, ebx
jmp 0x477ac8
add dword [esp + 0xb0], esi
sub ecx, 0xb40fab40
xor edi, edx
jmp 0x4761ba
mov esi, dword [esp + 0x78]
inc ecx
ror edx, 0xd
mov edx, edi
sub ebx, ecx
mov ecx, ebx
mov ecx, ebx
ror ecx, 0xe
ror edx, 0xc
jmp 0x47752a
mov esi, dword [esp + 0x64]
and edi, ebx
neg edi
jmp 0x47720f
xor al, byte [esi]
mov edi, 0xb4b83a1c
or ebx, 0xb4b8a710
inc edi
mov ebx, ecx
rol ebx, 4
mov ebx, ecx
nop
xor edx, 0xb4ba5bea
mov edi, edx
dec ebx
dec ecx
add edi, ebx
xchg ecx, ebx
rol edi, 6
jmp 0x476fde
mov esi, dword [esp + 0x64]
dec ebx
and ebx, ecx
add ebx, 0xb4db42ae
add edx, edi
xor edi, 0xb4dbcf1a
rol ecx, 0x16
shl ebx, 0x16
and edx, edi
mov edi, edx
xor ecx, edi
jmp 0x478072
mov esi, dword [esi]
xchg ebx, edi
or edi, edx
mov edi, ecx
and edx, ecx
xor ebx, edx
dec edx
or edi, edx
not ecx
jmp 0x478829
mov dword [esp + 0x64], 0
sub edi, ebx
or ecx, 0xb4f7ff48
or edi, 0xb4f83eb6
bswap edx
xor ebx, 0xb4f8cf54
mov ecx, ebx
add ecx, edi
inc ebx
jmp 0x477916
mov esi, dword [esp + 0xb0]
xchg edx, edi
xor ecx, 0xb502faac
mov edi, 0xb50339d0
or ebx, ecx
shr edi, 0xc
sub edi, ebx
jmp 0x47663d
mov esi, dword fs:[esi]
or edi, 0xb5045810
xor ebx, ecx
add edi, ecx
inc edx
jmp 0x47803b
mov esi, dword [esp + 0xb0]
or ebx, edx
mov edx, ecx
add edi, edx
shl ecx, 1
xchg edx, edi
neg ebx
or ecx, ebx
bswap ebx
jmp 0x476788
mov dword [esp + 0x44], esi
neg ebx
inc ebx
inc edi
or ebx, 0xb50ec8ce
jmp 0x476e28
mov dword [esp + 0xb0], esi
shl ecx, 7
add ecx, 0xb50f5de2
not edx
mov edi, 0xb50fddea
and ebx, ecx
rol ebx, 3
nop
sub ebx, 0xb510ead8
jmp 0x4770ae
sub esp, 0xc8
xchg edx, ecx
ror edx, 9
jmp 0x477a64
mov esi, dword [esi]
mov edx, ebx
xor edx, ebx
or ecx, edx
mov edi, 0xb51b7cd8
mov edx, 0xb51bbbc8
ror edi, 9
jmp 0x4779dd