Function at 0x4796d0
Capabilities:
Encrypt data using chaskey

Disassembly:
add dword [esp + 0x2c], ebx
and esi, edi
and ecx, esi
mov edi, edx
shl edx, 0x19
and ecx, edx
xor edi, ecx
add edi, edx
sub ecx, edi
jmp 0x475d38
mov ebx, dword [esp + 0x2c]
inc edi
nop
and esi, ecx
not edi
xor edx, edi
xor ecx, 0xf7f6de91
shr esi, 0x15
add edx, 0xf7f7119f
rol esi, 0x18
bswap edi
xor edi, 0xf7f75f59
add edi, edx
jmp 0x47882e
add dword [esp + 0x2c], 0x20
dec esi
sub edx, esi
mov esi, 0xf7f7cad3
sub esi, ecx
neg esi
sub edx, ecx
xchg esi, edx
and edx, edi
shr edi, 0x16
xchg edx, edi
or edx, edi
and edi, ecx
mov esi, edi
bswap ecx
jmp 0x476a61
xor eax, eax
xchg edi, ecx
shr edx, 0x1a
and edi, esi
ror edx, 0xc
neg ecx
sub edi, edx
inc esi
bswap esi
shr edi, 0x19
add edx, 0xf7fea387
or edx, edi
shl esi, 0x1e
bswap edi
add ecx, edx
jmp 0x47686e
mov ebx, dword [esp + 0xa0]
sub esi, edi
sub esi, ecx
mov esi, 0xf8016f7d
or ecx, edi
add edi, ecx
and edx, edi
jmp 0x47809a
add ebx, 0xc
and edi, ecx
add edx, esi
or ecx, 0xf806c2dd
mov ecx, 0xf8071dbf
and edi, esi
ror esi, 0x18
dec esi
and edx, 0xf80783f7
or esi, edi
and esi, 0xf807b9c7
or edi, edx
and edx, edi
xchg esi, ecx
xchg edi, edx
xchg ecx, edi
rol edi, 0x16
jmp 0x476c91
mov dword [esp + 0x6c], eax
or ecx, edx
mov edi, esi
add edi, 0xf80a13db
rol esi, 2
rol edx, 0x16
inc edx
or edx, esi
xchg edi, ecx
xor ecx, esi
rol esi, 0xd
jmp 0x47833e
mov ebx, dword [ebx]
xor esi, 0xf80f506d
or edi, 0xf80f6ad3
and esi, edi
neg edx
rol ecx, 0x19
xchg esi, ecx
shr ecx, 0x12
and edi, 0xf810065f
jmp 0x4762d4
add ebx, dword [esp + 0xb8]
xor edi, 0xf8148155
inc esi
xor ecx, 0xf814c1a7
add ecx, 0xf814e11b
sub esi, 0xf815065b
shl edx, 0x1e
jmp 0x477dc8
mov ebx, dword [ebx]
neg esi
mov edi, ecx
and esi, ecx
sub edi, edx
or edi, esi
or edx, 0xf818cdd9
rol ecx, 0x19
sub edi, ecx
or edx, ecx
or esi, 0xf8193467
jmp 0x478ed9
mov ebx, dword [esp + 0x2c]
bswap edx
xor edx, ecx
xor ecx, esi
sub edi, esi
or edx, esi
add edi, esi
shl edi, 0x13
xor esi, edi
jmp 0x477ea3
mov ebx, dword [esp + 0xb8]
shl edi, 0x16
sub edx, esi
sub esi, 0xf8222c43
mov ecx, esi
not esi
or edx, 0xf82277e9
not esi
shr edi, 8
xchg edx, ecx
and edi, edx
xor ecx, 0xf822f95f
sub esi, edx
sub edx, edi
sub edi, 0xf8234381
jmp 0x475c54
add ebx, dword [esp + 0xb8]
xor edi, ecx
add ecx, edi
dec edx
sub edx, ecx
jmp 0x478567
add ebx, dword [esp + 0xb8]
shl ecx, 0x11
and ecx, edx
sub edi, esi
shl ecx, 8
xchg edx, edi
dec ecx
neg ecx
mov esi, edi
dec edi
dec edi
dec esi
mov edi, edx
jmp 0x4789cd
mov ebx, dword [ebx]
nop
shl ecx, 1
xor edx, esi
and esi, edi
sub edi, esi
rol ecx, 0x14
bswap esi
or edi, ecx
jmp 0x476281
mov ebx, dword fs:[ebx]
sub ecx, edx
bswap ecx
xor ecx, edi
or esi, edx
and edx, 0xf83b8c2d
or edi, ecx
neg edx
or esi, ecx
inc edi
sub ecx, 0xf83c0f93
sub edi, esi
add edi, 0xf83c41c9
xchg esi, edx
xor edx, ecx
jmp 0x475ecd
mul ebx
neg edi
xor ecx, esi
neg ecx
sub ecx, 0xf83e9a93
mov edi, ecx
add edx, 0xf83ece47
rol esi, 0x1c
or edx, esi
sub ecx, edx
inc ecx
jmp 0x475f35
mov dword [esp + 0x2c], ebx
sub ecx, 0xf8436f9b
nop
add edx, 0xf843a3a5
rol esi, 0xc
bswap edi
and edx, edi
mov edx, edi
and ecx, edi
shr edx, 0x1e
ror edx, 0xc
and edi, 0xf8446fbd
or ecx, edi
jmp 0x477809
add ebx, dword [esp + 0x2c]
shl edx, 0xa
add edx, esi
or ecx, 0xf84d3a79
or esi, 0xf84d54ef
mov esi, edx
mov edi, 0xf84d8845
and esi, ecx
add edi, edx
jmp 0x4785f8
xor al, byte [ebx]
xchg ecx, edi
add esi, ecx
add esi, edi
sub ecx, 0xf85f22bf
dec ecx
and ecx, 0xf85f5aa9
mov ecx, esi
or edx, esi
xchg esi, ecx
xor edi, esi
jmp 0x478a47
add ebx, dword [esp + 0xb8]
xor esi, edi
shl ecx, 0x17
sub edx, ecx
mov ecx, edx
xor esi, ecx
xchg edx, esi
mov esi, edi
rol esi, 0xd
and ecx, edi
add edi, esi
jmp 0x477d07
mov ebx, dword [esp + 0x2c]
add edi, esi
sub edi, 0xf8712fb3
sub esi, edx
or edi, edx
xor edx, edi
shr edi, 0x1a
rol edx, 9
and esi, edi
shr ecx, 2
sub esi, edx
jmp 0x475fe8
mov ebx, dword [ebx]
xchg edi, edx
add esi, 0xf8770fa9
dec ecx
neg edx
sub esi, 0xf8776033
sub esi, ecx
jmp 0x476a19
mov dword [esp + 0xb8], ebx
rol esi, 9
xchg edi, edx
inc esi
rol edi, 0x18
mov ecx, esi
sub ecx, 0xf8781435
xor esi, edi
xchg esi, edi
mov edi, esi
add edi, 0xf8787a91
jmp 0x477d64
mov ebx, dword [ebx]
inc edi
not edi
and edx, 0xf8803db1
neg edi
shr edx, 5
xor edx, esi
mov edx, ecx
xor esi, edi
not edx
xchg edi, ecx
dec esi
add ecx, 0xf881216f
or edx, edi
xor edi, ecx
jmp 0x477080
mul ebx
rol ecx, 0xb
sub ecx, esi
rol esi, 0x15
dec edx
dec esi
xor ecx, 0xf8987961
jmp 0x4774a7
add ebx, 0xc
xchg edi, edx
shl edx, 0x1e
xor esi, edi
and ecx, edx
neg edi
shr edx, 0x1d
mov esi, ecx
add esi, edx
jmp 0x47714d
pop ebx
or ecx, edx
or ecx, edi
shl ecx, 5
not edi
and edi, edx
and ecx, edx
xor ecx, 0xf8a6eb35
xchg edx, ecx
xor edi, ecx
mov esi, edi
jmp 0x477f8a
mov ebx, dword [ebx]
and ecx, esi
sub edx, esi
sub esi, 0xf8a7c0d7
mov edi, edx
add esi, 0xf8a80ebb
and esi, 0xf8a8275d
mov edx, esi
and edx, ecx
add ecx, edx
shl edi, 0x18
or ecx, 0xf8a8a2bf
bswap esi
jmp 0x476110
add dword [esp + 0xa0], 4
add ecx, edx
mov edx, 0xf8ad7713
inc ecx
xchg edx, edi
neg esi
xor edx, 0xf8ade16d
or edi, esi
bswap esi
jmp 0x477297
mov ebx, dword [esp + 0xa0]
and esi, ecx
xchg edi, ecx
add ecx, edx
xchg edi, edx
add edi, esi
or esi, edi
jmp 0x47639a
mov ebx, dword [esp + 0x6c]
add ecx, edx
and ecx, esi
and edx, ecx
mov edx, esi
xor ecx, esi
shl edi, 3
add esi, edi
neg ecx
or esi, edx
mov edi, 0xf8bafd7d
jmp 0x476417
add dword [esp + 0x2c], eax
or edx, esi
add edi, 0xf8c09447
ror ecx, 0x1a
and esi, 0xf8c0c719
mov edx, ecx
and ecx, edx
xor edi, ecx
or edx, edi
sub ecx, edi
sub ecx, 0xf8c15b41
and edi, edx
ror edx, 0x17
jmp 0x475d08
mov dword [esp + 0xb8], 0
xchg edi, esi
inc esi
shr edi, 0xd
xchg esi, ecx
xchg edi, edx
rol edx, 0xc
not edx
add ecx, esi
xchg ecx, edx
xchg edx, esi
neg edi
shl edi, 8
jmp 0x4776cf
mov dword [esp + 0x2c], 0
rol esi, 0x1f
add edx, 0xf8d83ca7
mov ecx, 0xf8d855b9
neg esi
and ecx, esi
mov edx, edi
and edi, edx
ror ecx, 0x11
dec ecx
neg ecx
jmp 0x47916c
add dword [esp + 0x2c], 0x78
add esi, ecx
or esi, 0xf8e1a561
sub ecx, esi
xchg esi, edi
sub edx, ecx
inc edi
or edx, edi
and edi, ecx
rol edi, 1
xor ecx, edx
jmp 0x4781d6
mov ebx, dword [ebx]
shl ecx, 0xc
and ecx, edx
sub edi, esi
shl ecx, 0x17
sub edx, 0xf8e482eb
shl edi, 0xe
and edx, ecx
xor edi, esi
xor esi, edi
mov edx, edi
and ecx, edi
add esi, edi
mov edx, edi
add esi, ecx
jmp 0x4764c7
mov dword [esp + 0xa0], 0
add edi, 0xf8f55c19
sub edi, esi
sub ecx, edx
not ecx
sub esi, ecx
dec esi
mov edi, edx
not ecx
or edi, edx
xchg edi, esi
not edi
not esi
jmp 0x477666
mov ebx, dword [esp + 0x2c]
add edi, esi
xor esi, edx
add esi, 0xf8fc37c1
sub edi, edx
or edi, esi
xchg ecx, edi
not edi
rol ecx, 0x17
xor edx, edi
ror edx, 0x13
xchg edx, esi
inc edx
or edi, esi
dec edi
dec esi
add esi, ecx
jmp 0x476b48
mov dword [esp + 0x2c], ebx
or edx, ecx
add edi, edx
sub edi, esi
sub edi, ecx
sub esi, edx
dec esi
neg esi
rol edi, 0x17
jmp 0x47622d
mov eax, 2
xor esi, ecx
mov edi, esi
and ecx, edx
and ecx, edi
sub esi, ecx
dec edx
mov ecx, edx
add edx, 0xf903b79b
and ecx, esi
mov edi, edx
jmp 0x4773de
mov dword [esp + 0x2c], ebx
rol edi, 8
xchg edi, edx
and esi, ecx
sub edi, edx
ror edi, 0xd
xchg ecx, edi
rol edi, 0x14
dec ecx
and edx, 0xf9073157
or edi, ecx
jmp 0x475e24
mov ebx, dword [esp + 0xb8]
mov edi, edx
add esi, 0xf909d5eb
xchg esi, edx
mov ecx, edi
jmp 0x477e55
add esp, 0x10c
add edi, 0xf90c4367
xchg esi, edx
xor edx, ecx
sub edi, 0xf90c8e35
add esi, edx
xor edx, ecx
sub edx, esi
sub ecx, edi
and ecx, edx
xor esi, edi
mov edx, edi
and esi, 0xf90d53b9
sub edx, edi
sub esi, 0xf90d8543
and edi, 0xf90d9fdb
mov edi, esi
jmp 0x4784e4
add ebx, 0x3c
shr edx, 9
add ecx, edx
sub esi, edi
sub esi, ecx
xchg edx, esi
not edx
bswap edx
sub esi, ecx
rol edi, 6
rol edi, 0xb
and edx, 0xf91125e7
or esi, edi
dec edx
or esi, ecx
jmp 0x47786e
mov ebx, dword [ebx]
sub esi, edi
sub esi, ecx
or esi, edx
and edx, 0xf9131657
and edi, 0xf91330c5
xor esi, 0xf9134907
add edi, ecx
add edx, ecx
add esi, edx
or edi, 0xf913ac75
jmp 0x4780e4
cmp eax, dword [esp + 0x18]
jmp 0x478e66
add ebx, dword [esp + 0x6c]
mov edi, 0xf923132b
bswap edx
xor edx, 0xf9234703
add edi, ecx
sub ecx, edx
add edx, 0xf923b76f
shl ecx, 6
sub edx, 0xf923ea1f
add edx, esi
or ecx, esi
add ecx, 0xf92451a1
sub ecx, edx
jmp 0x478ec1
add ebx, dword [esp + 0xb8]
mov edx, 0xf925624b
mov edx, ecx
xchg edi, esi
and ecx, esi
xor edi, ecx
xor edx, edi
shr edx, 3
and edx, esi
shr esi, 1
add ecx, 0xf9269f1f
bswap edx
or edx, 0xf926f2f3
jmp 0x47898c
inc ebx
dec edx
sub edx, ecx
mov edx, 0xf92801d1
mov edi, esi
add edi, 0xf92831e3
ror ecx, 0x10
add esi, ecx
add ecx, edx
and edi, ecx
neg ecx
nop
sub edi, ecx
bswap edx
xor edx, ecx
jmp 0x478367
mov ebx, dword [esp + 0xb8]
mov ecx, edi
and esi, edx
rol edx, 7
mov ecx, 0xf92cad87
dec esi
dec edx
dec esi
add esi, ecx
not ecx
xor esi, 0xf92d4a81
add ecx, esi
sub esi, 0xf92d7a11
shr ecx, 0xa
add esi, edx
jmp 0x47660b
sub dword [esp + 0x2c], 8
or edx, 0xf9372abd
sub ecx, edx
not edx
add edi, 0xf9377973
sub edi, esi
sub edi, ecx
sub esi, edx
add ecx, 0xf937dbbb
jmp 0x477ba1
cmp byte [ebx], 0
jmp 0x478a98
ret
push ebx
or esi, 0xf94800ff
and ecx, 0xf94819bb
and edi, 0xf9483207
add edx, 0xf9484b19
add edx, ecx
and edx, esi
rol ecx, 0x1f
add edi, esi
jmp 0x475dbd
mov ebx, dword [ebx]
or edi, esi
and esi, ecx
and esi, edi
xor ecx, edx
not edi
shl edx, 0x19
mov ecx, 0xf94cbac3
ror esi, 5
dec edi
add ecx, 0xf94d0ba3
not esi
bswap esi
xor edx, esi
ror edx, 4
xchg edx, esi
xor esi, ecx
jmp 0x477c30
mov ebx, 0x30
xor esi, 0xf953206b
rol ecx, 0x1d
add edi, esi
mov esi, edi
inc ecx
or esi, 0xf9539b7f
sub ecx, esi
xchg esi, edi
mov edi, 0xf953e939
bswap edx
xor edx, ecx
sub edx, esi
jmp 0x4763b2
add dword [esp + 0x2c], 4
xor edx, edi
shr esi, 0xf
add ecx, 0xf95bd4ed
and esi, edx
shl edx, 3
mov esi, edi
dec edx
mov edi, ecx
jmp 0x476210
mov ebx, dword [ebx]
shr edi, 0x1d
xchg esi, ecx
and ecx, edi
sub esi, ecx
mov esi, 0xf95fac77
or ecx, edi
add ecx, 0xf95fdd2f
xor edi, 0xf95ff769
add ecx, edi
and esi, 0xf96028d7
jmp 0x476095
movzx ebx, word [ebx]
shl edx, 1
xchg esi, edi
ror edx, 0x1e
mov esi, 0xf961e7bd
xchg ecx, edi
nop
add edi, 0xf962386b
sub edi, esi
jmp 0x476f86
mov dword [esp + 0xa0], ebx
rol edi, 0xa
and edx, 0xf96a3527
shr ecx, 4
add esi, edx
or edi, esi
dec edi
or ecx, 0xf96ab279
or esi, 0xf96accef
sub ecx, esi
or edi, esi
neg edi
sub edi, 0xf96b35c5
add esi, edx
or esi, 0xf96b657f
add ecx, edi
or esi, ecx
jmp 0x477c99
mov dword [esp + 0xa0], ebx
sub edi, 0xf96bb635
xchg ecx, esi
not ecx
dec edi
sub edx, edi
sub edx, ecx
sub ecx, esi
xchg edi, ecx
xor edi, ecx
add edi, edx
xor esi, edx
sub esi, ecx
sub edx, esi
nop
xchg ecx, edi
inc esi
jmp 0x4795c0
rol eax, 8
not esi
or edi, esi
dec edi
add esi, edx
or edi, esi
or edx, 0xf97066f9
add esi, 0xf9707f6f
shl edx, 0x1d
sub esi, 0xf970b78d
mov esi, edx
jmp 0x47812f
jne 0x47686e
add esi, ecx
or edi, edx
mov edi, edx
or ecx, edi
xor esi, 0xf973203f
add edx, 0xf9733aad
jmp 0x47712e
jne 0x4795c0
add edx, ecx
mov ecx, esi
xchg esi, ecx
xor ecx, edx
or edx, ecx
xchg esi, ecx
rol edi, 0x10
and edx, 0xf9953e9f
and esi, 0xf9955ca5
add esi, edi
sub ecx, 0xf9958c35
and edi, ecx
jmp 0x4787bc
mov eax, 4
and ecx, esi
ror ecx, 4
xchg esi, edx
ror esi, 0x1c
or esi, edi
mov ecx, edx
jmp 0x478888
mov ebx, dword [ebx]
mov edx, 0xf998057f
sub edx, edi
or esi, ecx
inc edi
bswap edx
sub esi, ecx
rol edi, 0x11
xchg edi, edx
xchg edi, esi
shl edx, 0xe
and ecx, 0xf99907bd
and edi, esi
and ecx, edi
shr edx, 6
jmp 0x479395
mov dword [esp + 0x18], ebx
mov ecx, edi
and esi, edx
inc esi
sub ecx, edx
inc ecx
ror edi, 0x1b
or edi, ecx
sub edx, edi
neg edx
sub ecx, 0xf9ac4489
mov esi, edx
mov edi, 0xf9ac744d
or edx, ecx
and esi, ecx
rol edx, 9
inc edx
jmp 0x4786c3
add ebx, 0x18
and edi, ecx
and ecx, edx
and ecx, edi
and edi, 0xf9bbf035
xor esi, 0xf9bc0a77
add edi, ecx
jmp 0x47966e
inc dword [esp + 0x6c]
mov edx, edi
sub edi, 0xf9cdfc03
xor ecx, 0xf9ce1a33
mov edi, esi
jmp 0x477223
mov dword [esp + 0x6c], 0
mov edi, esi
and ecx, 0xf9cf664d
mov esi, 0xf9cf9d39
mov edx, esi
inc edi
not esi
sub esi, edi
sub esi, ecx
jmp 0x477abc
mov ebx, dword [ebx]
add esi, edx
shr esi, 0x11
sub esi, edx
shl edi, 0x1e
shl edi, 4
rol edi, 0x18
not esi
mov edx, esi
mov esi, ecx
mov esi, 0xf9d519a5
shr edi, 0x1c
add edx, 0xf9d54c55
jmp 0x476b62
sub esp, 0x10c
xor esi, 0xf9d6e1bd
xor edx, esi
mov edi, ecx
shr ecx, 0x18
mov edi, esi
not edx
xor ecx, 0xf9d77b43
dec edi
add edx, edi
sub edi, 0xf9d7c9b1
jmp 0x4795f5