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

Disassembly:
add dword [esp + 0xe4], 0x20
dec ebx
add ebx, 0x512b1535
xchg ecx, edi
neg ebx
sub edi, edx
or edi, 0x5135df27
xor edx, ecx
and ecx, ebx
add edx, ecx
or ebx, edx
add ecx, ebx
sub edx, ecx
add edx, 0x514295a3
jmp 0x477c30
add dword [esp + 0xd4], 4
or ecx, ebx
shr ecx, 5
mov edi, ecx
sub edx, edi
add ebx, 0x5150a8c6
add edi, ecx
shr ebx, 0x14
xchg ecx, edi
jmp 0x47799f
add esi, dword [esp + 0x24]
or edi, 0x51f8657a
mov edi, ecx
and ebx, 0x51fc7513
xchg edx, ecx
sub edi, ebx
mov ecx, 0x52021671
or edx, ebx
mov edx, edi
xchg edi, ebx
xor edi, ecx
dec ebx
or ecx, 0x52410bd0
inc edx
jmp 0x475d9e
mul esi
or edx, ecx
dec ecx
add ecx, 0x53606b8a
sub edx, ecx
xchg edx, ebx
and ebx, edx
and ebx, edi
jmp 0x4771e1
mov esi, dword [esi]
inc ecx
or ebx, 0x53839dd4
sub edi, edx
or edi, ecx
shl ecx, 0x1a
sub edx, ebx
shr ecx, 0x15
rol edi, 0xb
add ebx, 0x5390cf43
xor edx, ebx
sub ecx, 0x53948a50
mov edi, edx
bswap ecx
jmp 0x476464
mov esi, dword [esi]
add ecx, 0x539a758c
not edi
bswap ecx
mov edi, ecx
xchg ebx, edx
add edi, edx
xor ecx, ebx
jmp 0x4757d8
mov dword [esp + 0xf0], eax
sub edi, edx
and ecx, edi
xor edi, edx
mov ebx, edx
dec ecx
or ecx, ebx
inc ecx
xor ebx, edi
add ebx, 0x55f9c611
mov edx, ebx
or edx, edi
jmp 0x478d43
push esi
and edi, edx
inc ebx
xchg ebx, ecx
and ebx, ecx
sub edi, ebx
or edi, ecx
sub ebx, 0x561d55ed
jmp 0x475f98
add esi, dword [esp + 0x24]
mov ebx, edi
mov ecx, edi
sub edi, ecx
and edi, edx
jmp 0x4779f3
xor eax, eax
rol edi, 5
mov edx, edi
sub edx, ecx
sub edx, edi
rol edx, 0x1a
sub ebx, edx
not edi
xchg edx, ebx
mov ecx, 0x572fa4cc
jmp 0x47737a
mov dword [esp + 0x24], 0
xchg edx, ecx
sub ecx, ebx
mov edx, ecx
sub ebx, edx
sub edi, edx
jmp 0x47870b
add dword [esp + 0xe4], esi
or edx, ecx
xor ecx, ebx
sub ebx, ecx
shl ebx, 0x17
bswap edx
and edi, ecx
xchg edx, ebx
and edx, 0x57b1587b
mov edx, 0x57b3344b
not ebx
xor ebx, edx
sub ebx, edx
xor ebx, edi
jmp 0x4756c2
add dword [esp + 0xe4], 4
xchg edi, edx
and ebx, edi
add ebx, edx
add ebx, edi
and ebx, ecx
sub ebx, 0x58720a88
add edi, edx
shl edx, 0xe
add ebx, ecx
jmp 0x477c53
inc esi
ror ebx, 0x14
sub ebx, edi
or ecx, edi
or edx, ebx
add ebx, edx
add ecx, 0x58a3f7dc
and edi, 0x58a5d300
shl ebx, 0x11
xor edx, edi
neg ecx
or ecx, edx
xchg ecx, edi
sub ebx, edx
jmp 0x478011
rol eax, 8
bswap ecx
inc ecx
and edi, edx
or edx, edi
mov edx, ecx
add ecx, edi
add edx, ecx
jmp 0x47626c
mov esi, dword [esi]
rol edx, 0x14
mov ebx, 0x59cb54a3
or ebx, edi
and ecx, edi
xchg edx, ecx
bswap ebx
neg edx
and ebx, ecx
xchg edi, edx
and edi, 0x59da794b
jmp 0x4786e5
add esi, dword [esp + 0x24]
and edi, ebx
and edi, ebx
xor ebx, edi
and ecx, edi
xchg edi, ebx
add edx, 0x5a551ad8
xor ebx, edi
add edi, 0x5a5f2e3f
shl ebx, 0xa
xor edi, edx
ror edx, 6
jmp 0x477032
cmp eax, dword [esp + 0xd8]
jmp 0x4785e0
mul esi
xchg ebx, edx
not ecx
mov edx, ecx
neg edi
xchg edx, edi
neg edx
or edx, ebx
shl ebx, 7
dec ebx
jmp 0x475d51
add esi, 0x18
shr edx, 0x10
xchg edx, edi
and edx, 0x5d86c2e8
neg edi
add edx, ebx
sub ecx, edi
not ecx
mov ecx, edi
sub ecx, 0x5d956130
xor edi, ecx
neg edx
xor edx, ebx
xor ecx, edx
jmp 0x478105
mov esi, dword [esp + 0x24]
shr ebx, 0xc
sub ebx, ecx
mov edx, 0x5dcb62d6
shl ebx, 0x1c
mov edx, 0x5dcfa2cc
sub edi, edx
sub ecx, 0x5dd4b101
or edx, ecx
mov ecx, 0x5dd9ee96
and edx, ecx
jmp 0x478a6d
add esi, 0xc
and ecx, 0x5f10a4f7
dec edi
xchg edi, ebx
add edx, 0x5f1652d8
xor ecx, edx
and edx, edi
neg ecx
mov edi, ecx
add edi, ebx
mov ecx, edi
mov edi, edx
sub edx, ecx
jmp 0x475936
mov esi, dword [esi]
sub edx, ecx
add ebx, edx
ror edi, 1
dec edi
and edi, 0x5f3f380e
xor edi, 0x5f414942
rol edi, 0x17
and ecx, edx
xchg ebx, edi
jmp 0x477c14
mov esi, dword [esi]
and ebx, edi
xor edi, ecx
or ecx, edi
or edx, 0x5fa62e41
not ebx
or ebx, ecx
and ecx, edi
dec edx
shr ebx, 0x10
sub edx, edi
bswap ebx
xchg edi, ecx
or ebx, edx
jmp 0x477be6
ret
mov esi, dword [esp + 0xf0]
neg ecx
or edi, ebx
mov edx, ebx
xchg ebx, edx
sub edi, ecx
mov ecx, edi
sub edx, 0x608e9133
sub edi, ecx
and ebx, ecx
sub ebx, ecx
xor ebx, edi
jmp 0x4767dd
mov esi, dword fs:[esi]
xor ebx, ecx
and ecx, edx
or edx, ecx
add edi, edx
or ecx, 0x618dc3ef
add edx, 0x618f9477
or edi, ebx
rol edx, 0x12
or edi, 0x61953767
jmp 0x478280
mov esi, dword [esp + 0xe4]
add ebx, edi
and edx, edi
neg edx
and ecx, ebx
or edx, ebx
xor edi, ebx
rol edx, 5
xchg ebx, edx
and edi, ecx
or edi, 0x625e0698
mov edi, ebx
sub edx, edi
add edx, ebx
and edx, ebx
jmp 0x477828
add esi, dword [esp + 0xf0]
xchg edx, edi
xchg edi, ebx
shr edx, 0xb
neg edx
jmp 0x477638
mov eax, 2
mov ebx, 0x6336545a
xor edi, 0x63382f88
sub ecx, edi
or ecx, edx
or ebx, ecx
add edx, ebx
and edi, edx
jmp 0x476a18
mov esi, dword [esi]
mov ebx, edi
add edi, ecx
add ebx, edi
add edx, ebx
neg edx
xor ebx, ecx
mov edi, edx
sub ebx, ecx
or edx, ebx
and edi, edx
or ecx, edx
mov edx, 0x63b043c0
not edx
jmp 0x4773b1
inc dword [esp + 0xf0]
or ecx, 0x63b46b72
or edi, edx
shl ebx, 0xb
xchg edx, edi
shl edi, 0x1a
xor edx, edi
mov edi, edx
mov edx, edi
or edx, 0x66d6c694
ror edi, 0x1e
xor edx, edi
xor ebx, ecx
jmp 0x4756f4
mov dword [esp + 0xf0], 0
add ecx, 0x67300608
mov ebx, edi
sub edi, 0x6733c3ff
and ebx, 0x6735ab53
ror edi, 0x16
or ebx, 0x673a49cf
xchg edi, ebx
add ebx, edi
xor ebx, edx
neg edx
neg edi
and ebx, ecx
jmp 0x477eab
mov esi, dword [esp + 0xd4]
xchg ebx, edx
xchg ecx, edi
xchg ebx, edi
not ecx
and edx, edi
neg edx
xor ecx, ebx
shl edx, 0x11
and ecx, edx
sub ecx, ebx
xchg edi, ecx
sub ecx, ebx
shr edx, 0xf
sub edx, 0x73cc45b2
dec edi
mov edi, ecx
jmp 0x476c10
mov esi, dword [esi]
and ecx, ebx
sub edx, 0x73efae74
add ebx, 0x73f18e73
xchg ecx, edx
xor ebx, edx
add ecx, ebx
xor edi, ebx
mov edx, edi
mov ecx, edx
ror ecx, 0x11
jmp 0x476895
mov dword [esp + 0xd4], esi
xor edi, ecx
xchg edi, ecx
xor edx, 0x74debd23
rol ecx, 0x14
inc ebx
sub edx, edi
xor ecx, 0x74e6f576
sub ecx, 0x74e8d9d8
jmp 0x476d0e
add dword [esp + 0xe4], eax
or ecx, ebx
add edx, ebx
inc ebx
or ebx, edx
xor ebx, edx
or edi, ebx
shl ecx, 0xa
jmp 0x477e62
xor al, byte [esi]
xchg ebx, edx
or ebx, edx
add ebx, 0x76a8e4ab
mov ecx, ebx
or ecx, edx
jmp 0x4763fb
add esi, dword [esp + 0x24]
or edx, ebx
add ecx, edx
add ecx, edi
or edi, edx
bswap ecx
sub ebx, edx
inc ecx
mov edx, ebx
xchg ecx, ebx
jmp 0x4774b1
add esp, 0xfc
xor ebx, 0x774b10c2
inc edi
inc ebx
ror ebx, 0x15
mov ecx, ebx
sub ebx, ecx
mov ebx, ecx
mov ecx, edx
add ecx, edi
xor edi, edx
dec edx
xor ebx, edi
sub edi, ebx
mov edx, edi
jmp 0x476988
add esi, dword [esp + 0x24]
inc ecx
or ebx, 0x776780cc
not edx
sub edx, 0x776c32c0
or edx, 0x776e0caf
add edi, edx
xor ebx, 0x7771c1f7
shr ebx, 0xa
jmp 0x478bb8
mov dword [esp + 0xd8], esi
and edi, ebx
dec edi
sub ecx, 0x784148b5
xor edi, edx
xor edi, ecx
add ebx, edi
or ecx, edx
xchg ebx, ecx
xor ebx, ecx
xor edx, ebx
xor edi, ebx
jmp 0x478b46
mov eax, 4
xchg ebx, edx
sub edi, ebx
and ebx, edi
and ecx, ebx
or edi, 0x79b8ef88
xor ebx, edx
jmp 0x478176
jne 0x47737a
shr ebx, 1
or ebx, ecx
sub edx, edi
add ebx, ecx
shl ebx, 0xe
jmp 0x478d35
mov esi, dword [esi]
and edx, edi
xor edx, ebx
mov ebx, ecx
or edx, ebx
mov edi, ecx
and edi, 0x7aefcc66
dec ebx
add ebx, 0x7af3929b
jmp 0x4774da
mov esi, dword [esp + 0xd4]
sub ebx, edx
inc ecx
mov edi, edx
sub ebx, ecx
or edi, 0x7da50e33
and edi, ecx
add edi, ecx
jmp 0x475965
mov dword [esp + 0xd4], esi
xchg edx, ebx
and ebx, ecx
dec ecx
and ebx, 0x7f48d6a4
xor ebx, ecx
sub edx, edi
jmp 0x476ccb
mov dword [esp + 0xe4], esi
add ebx, edx
xor edx, edi
and ebx, edx
and ebx, ecx
sub edx, ecx
mov edx, edi
or ecx, 0x84b4bee2
add edi, ebx
inc edx
ror edx, 0x1a
xor ecx, edx
bswap ebx
shl edx, 1
rol ebx, 8
jmp 0x47829e
mov dword [esp + 0xe4], esi
dec ebx
ror edx, 0x17
add ecx, 0x84e4b7e7
xor edi, ebx
xchg edx, ebx
neg edx
jmp 0x47832a
mov esi, dword [esp + 0xe4]
and ebx, edi
inc ecx
sub ebx, 0x84f082c9
mov edx, ecx
bswap ebx
mov ebx, edi
or ecx, edx
and ecx, edx
or edi, edx
mov edx, ebx
jmp 0x47883c
mov esi, dword [esp + 0xe4]
mov edx, ecx
or ecx, edx
add ebx, 0x87f6deb7
sub edx, 0x87f8bbaf
rol edx, 0x1d
and edi, ecx
jmp 0x4785ba
mov esi, dword [esp + 0xe4]
xor edi, edx
sub ecx, edi
xchg edi, edx
or ebx, ecx
neg edx
neg edi
sub edx, edi
or edx, edi
jmp 0x476cea
mov dword [esp + 0xd4], 0
and edi, ecx
or edx, edi
mov ecx, 0x8be2f229
or edx, ecx
inc ecx
xor edi, ebx
add ebx, edi
mov ecx, edi
jmp 0x47600e
cmp byte [esi], 0
jmp 0x4776a7
mov esi, dword [esi]
xor ebx, edx
shr ecx, 6
or ebx, edi
rol edx, 3
sub ebx, edx
xor ebx, edi
bswap edi
add edi, 0x8e9de0ff
sub ebx, 0x8e9fc0a0
xchg ecx, edx
mov edi, ebx
jmp 0x478b7c
movzx esi, word [esi]
xchg edi, ebx
or edx, edi
bswap edi
jmp 0x4758f1
add esi, 0xc
mov edx, ebx
or ecx, ebx
add ebx, edx
add ecx, edx
and edx, 0x8f851652
dec edi
inc ecx
add ebx, 0x8f930cc3
jmp 0x476e75
mov esi, dword [esp + 0x24]
xor ebx, ecx
xchg ecx, edi
sub edi, edx
or edi, edx
jmp 0x476079
add dword [esp + 0xe4], 0x78
add ebx, edx
sub edx, ebx
rol edi, 1
rol ecx, 0x1c
not edx
and ecx, edx
dec edi
ror edx, 0x19
not ecx
jmp 0x478489
mov esi, dword [esp + 0x24]
neg ebx
add ebx, edx
xor edx, ebx
shr ecx, 0x14
xchg edx, edi
jmp 0x478b20
mov esi, dword [esi]
xor ecx, edi
neg edx
mov ecx, edx
add ecx, ebx
add edx, 0x919a0a91
rol edi, 3
or edx, 0x919e938d
add ecx, 0x91a076ef
and ebx, ecx
jmp 0x475db5
jne 0x476d0e
sub edx, ebx
or ecx, 0x91a6c389
mov edi, 0x91a89142
add ebx, ecx
add ebx, edx
xchg edx, ebx
jmp 0x47620b
mov esi, dword [esi]
mov ebx, edi
shl ebx, 4
xchg ebx, edi
and ebx, ecx
xor ecx, edi
dec edx
xor ebx, edx
mov ecx, edi
sub ebx, edx
jmp 0x4767f6
mov dword [esp + 0xe4], 0
mov ecx, edi
inc ecx
and edi, ecx
sub edx, ebx
sub ecx, edi
shr edx, 9
add ebx, edi
add ebx, ecx
jmp 0x477574
mov esi, dword [esi]
shr ebx, 4
sub edx, ecx
bswap ebx
xor ecx, edx
add ebx, edx
and edx, edi
sub ecx, ebx
or edx, ecx
ror ebx, 5
jmp 0x476530
add esi, 0x3c
rol edi, 0xd
xchg ecx, edx
or ecx, 0x9f45aa82
and edx, 0x9f4789cd
rol edx, 0x1c
or edi, ecx
and edi, edx
sub ebx, edx
xchg edx, ecx
or ebx, ecx
add ecx, ebx
jmp 0x4768da
add esi, dword [esp + 0xe4]
sub ecx, edx
inc edx
sub edi, 0x9fba14a7
mov ecx, 0x9fbf9567
and ebx, 0x9fc16d73
or ecx, 0x9fc34f8c
jmp 0x476924
mov esi, 0x30
xchg edx, ecx
not ecx
not edi
sub edx, edi
jmp 0x476a65
mov dword [esp + 0x24], esi
or ebx, ecx
xchg edi, ecx
xor ecx, edi
or edx, 0x9fecddd4
mov edx, ebx
xchg edx, ebx
jmp 0x476845
mov dword [esp + 0xe4], esi
shl edi, 9
xor ebx, edi
and edx, ebx
xor ecx, edi
add edi, ebx
dec ecx
mov edx, ecx
and edi, ebx
dec ebx
xchg ecx, edi
xchg ebx, edi
shr ebx, 0x1a
sub edi, edx
jmp 0x476e0a
pop esi
xor ebx, edi
and edi, 0xa2a4d510
jmp 0x4767b5
sub dword [esp + 0xe4], 8
neg ecx
sub edi, edx
rol ebx, 5
add edi, 0xa2ac8af5
or ecx, edx
mov ebx, edi
add ebx, ecx
sub ecx, ebx
sub edi, edx
jmp 0x476b7b
sub esp, 0xfc
xor ebx, edx
and ebx, ecx
jmp 0x476dac