Function at 0x4784f2
Capabilities:
Encrypt data using chaskey

Disassembly:
mov ebx, dword [esp + 0x40]
bswap edx
xchg esi, edi
mov ecx, edi
xor ecx, edx
and ecx, edi
sub esi, edi
mov ecx, edi
and edx, esi
xor ecx, 0x1e93b31f
and edx, ecx
mov edx, ecx
or edx, edi
jmp 0x477cf5
mov ebx, dword [ebx]
add edi, edx
sub edx, esi
add ecx, 0x1e977f7d
add ecx, esi
not edi
or esi, ecx
nop
and edx, edi
ror edx, 0x10
jmp 0x4783fc
inc ebx
add ecx, edx
mov edi, ecx
xor esi, ecx
xor ecx, 0x1e9b8560
xchg ecx, edx
or edx, edi
sub esi, edx
mov esi, 0x1e9c5153
xor edx, 0x1e9c8294
add esi, edi
or ecx, esi
sub edi, ecx
shr edi, 0x17
add edx, ecx
jmp 0x477e28
add ebx, dword [esp + 0x64]
or edi, edx
xor ecx, 0x1ea80c24
xchg ecx, edi
mov edx, ecx
or ecx, 0x1ea8a861
sub edi, 0x1ea8da4d
sub edx, esi
mov esi, edx
or ecx, esi
sub edi, esi
xchg esi, ecx
jmp 0x476546
mov ebx, dword [esp + 0x40]
mov ecx, esi
xor esi, 0x1eaa3a7b
and ecx, edx
and edx, 0x1eaa9bee
shl ecx, 0xe
shl ecx, 0xa
sub ecx, edi
xor esi, edi
sub ecx, edi
ror ecx, 0x13
and edi, edx
and edi, esi
jmp 0x47564c
cmp eax, dword [esp + 0x58]
jmp 0x4759aa
mul ebx
add edi, esi
mov esi, ecx
xor esi, ecx
add edi, esi
jmp 0x4780ce
mov ebx, dword [ebx]
or edi, 0x1eb76921
mov ecx, 0x1eb79aa5
sub esi, edx
xchg edi, ecx
mov esi, ecx
and esi, edx
inc esi
or ecx, 0x1eb8c7ac
add esi, 0x1eb8f96b
jmp 0x47719f
mov dword [esp + 0x58], ebx
xor edi, edx
xchg edx, esi
and esi, ecx
bswap esi
inc ecx
bswap ecx
add edx, esi
sub edi, edx
xor ecx, edi
and ecx, esi
jmp 0x4758a1
add ebx, dword [esp + 0x40]
add esi, 0x1ed5d638
xor ecx, edx
sub esi, edi
mov esi, 0x1ed672ab
and esi, edi
jmp 0x4763f4
mov ebx, 0x30
add esi, ecx
add ecx, edi
bswap ecx
bswap edx
and edx, 0x1ed91e42
mov ecx, 0x1ed950e2
xor esi, 0x1ed98348
xor edx, ecx
nop
and edi, esi
rol esi, 0x14
sub esi, edi
or esi, 0x1edab72c
jmp 0x475d6e
jne 0x477a02
xchg esi, edx
mov edi, ecx
not esi
mov edx, edi
xor ecx, edi
bswap edi
sub esi, edx
and ecx, edx
or ecx, edx
and ecx, edx
or edi, esi
xchg edx, ecx
sub esi, edi
jmp 0x476f02
mov dword [esp + 0x40], ebx
mov edx, 0x1ef5cb6a
ror esi, 0xb
shl ecx, 8
or edi, esi
neg edx
or edi, edx
or esi, ecx
xor edx, edi
xor edx, ecx
jmp 0x476ead
add dword [esp + 0x40], eax
and esi, edx
xchg ecx, esi
add ecx, edi
add ecx, edx
xor edx, ecx
bswap edx
mov edx, esi
rol edi, 0xe
bswap edi
and edi, edx
jmp 0x475d85
add ebx, dword [esp + 0x64]
or edx, 0x1f076bac
sub esi, edi
ror edi, 0x1a
neg edi
xchg esi, edx
mov edi, ecx
xchg edx, esi
sub esi, edx
inc edi
jmp 0x477fd4
mov ebx, dword fs:[ebx]
add ecx, edx
add edx, 0x1f21bdbc
or edi, ecx
and edx, edi
sub edx, edi
dec edi
jmp 0x477e62
mov ebx, dword [esp + 0x40]
xor edx, esi
ror esi, 0x1e
dec esi
neg edi
or edx, edi
shl edx, 0x1e
shl ecx, 0x16
and edi, ecx
or edi, ecx
and edi, edx
jmp 0x4770a7
add dword [esp + 0x40], ebx
and edi, edx
xchg edx, edi
xchg edx, esi
shr edx, 0xe
dec ecx
xor ecx, esi
ror ecx, 9
inc edi
shr ecx, 0x11
jmp 0x477677
mov dword [esp + 0x28], 0
mov esi, edx
add ecx, edi
inc edx
mov edx, edi
xor edi, esi
mov edx, esi
mov esi, edx
xor esi, 0x1f40b039
sub edi, 0x1f40e20e
sub edi, ecx
mov edi, ecx
add esi, ecx
or edx, esi
xor edi, ecx
sub ecx, edx
jmp 0x4785b6
add ebx, dword [esp + 0x28]
mov ecx, edx
shl ecx, 0x12
mov edx, ecx
mov ecx, 0x1f46e5ea
sub esi, edi
sub esi, ecx
inc edx
neg ecx
or edx, edi
sub esi, ecx
or esi, 0x1f484749
xor esi, ecx
jmp 0x476528
mov ebx, dword [esp + 0x40]
and ecx, edx
sub esi, edx
and ecx, esi
add esi, ecx
shr edi, 0x14
or esi, edx
xchg edi, ecx
inc edx
jmp 0x477529
mov ebx, dword [esp + 0x64]
sub esi, ecx
and ecx, 0x1f5ed1a6
xchg esi, edx
add esi, 0x1f5f4051
sub edx, 0x1f5f718f
xor esi, edi
add ecx, 0x1f5fd452
sub esi, edx
or ecx, esi
shr edx, 0x1e
jmp 0x47586f
add ebx, 0x3c
inc edi
xor edi, 0x1f61cbee
and edx, 0x1f61fc91
jmp 0x476cea
mov dword [esp + 0x64], 0
or esi, edi
ror edi, 0x1b
xor ecx, 0x1f659f1b
neg edx
add edi, ecx
sub edx, edi
add edi, ecx
xchg edi, edx
inc esi
jmp 0x476fbf
mov ebx, dword [ebx]
or ecx, edi
add edx, ecx
mov edx, ecx
xor edi, esi
or edi, esi
add edi, ecx
bswap ecx
or edi, 0x1f8f16e9
bswap edx
jmp 0x475a68
mov eax, 2
xor edi, 0x1f9552f3
neg edi
or ecx, esi
xor edi, ecx
nop
xchg esi, ecx
mov ecx, edx
sub esi, 0x1f96b3a5
and ecx, esi
xor edx, 0x1f971459
not edx
inc edx
jmp 0x476ff6
mov eax, 4
sub edi, ecx
add edx, esi
sub edi, ecx
shr edi, 0xa
or ecx, 0x1f9fa579
rol edi, 6
sub edi, edx
jmp 0x477185
add esp, 0x88
and edi, 0x1fa04ad9
mov edi, edx
or esi, 0x1fa0b57c
add edx, ecx
jmp 0x47816c
mov ebx, dword [ebx]
xor esi, 0x1fa123f5
or esi, ecx
neg ecx
xchg esi, edi
inc edx
jmp 0x476f27
mov ebx, dword [esp + 4]
xor ecx, edi
sub edi, ecx
sub esi, edx
and ecx, esi
and edx, esi
jmp 0x475fd0
mov ebx, dword [esp + 4]
xchg esi, ecx
xchg ecx, edx
mov esi, edi
and ecx, esi
xor ecx, edi
ror edi, 0xb
shr edx, 0x1b
or edx, edi
inc edi
bswap ecx
ror esi, 0x13
rol edi, 9
or edi, ecx
mov esi, ecx
jmp 0x47698a
mov ebx, dword [ebx]
xor edx, 0x1fc3ac4e
rol edi, 8
xor ecx, 0x1fc40ff6
bswap edi
and esi, ecx
bswap edx
and esi, ecx
or edi, 0x1fc53fc7
dec ecx
xor edx, 0x1fc5a56c
not edx
shl ecx, 0xd
xor ecx, 0x1fc63d40
add edx, esi
jmp 0x476810
mov ebx, dword [ebx]
and edi, esi
add ecx, 0x1fc8dfff
rol edx, 6
mov edi, 0x1fc942a6
mov ecx, edx
rol edx, 0x18
shr edx, 7
sub ecx, edi
xor ecx, edx
xchg esi, edi
and ecx, esi
nop
or edi, ecx
dec edi
jmp 0x476561
mov ebx, dword [ebx]
and esi, ecx
or esi, edx
shr ecx, 7
ror edx, 0x14
add esi, edi
or edx, ecx
sub ecx, edi
add edx, ecx
xchg ecx, edi
xchg ecx, edx
inc edx
sub ecx, 0x1fec9eaa
jmp 0x476d4d
xor eax, eax
sub edi, ecx
mov ecx, esi
xchg edx, edi
jmp 0x477927
mov ebx, dword [ebx]
dec ecx
xor edi, edx
bswap ecx
sub ecx, esi
or esi, 0x201d7d7a
jmp 0x4773cc
add ebx, dword [esp + 0x64]
mov esi, 0x2021fba0
mov edi, esi
add esi, edi
ror esi, 7
shl ecx, 8
and ecx, edi
not edx
xor esi, ecx
jmp 0x477321
rol eax, 8
add edx, esi
and edi, edx
not ecx
and edi, ecx
and edx, 0x202fa27d
xor edi, esi
xor esi, edi
jmp 0x47543e
mov dword [esp + 0x64], ebx
xor edi, 0x20304e41
xor edi, ecx
and edi, ecx
rol edi, 0xe
add edx, 0x20310f9d
mov edi, edx
or esi, 0x203179b1
and ecx, edx
shr ecx, 0x18
xor edx, ecx
mov edx, 0x20323c46
mov ecx, edi
jmp 0x47713b
mov ebx, dword [esp + 0x64]
bswap edi
or edx, edi
mov edx, edi
add ecx, edx
add edx, edi
rol ecx, 0x12
add edi, edx
xor ecx, edi
not edi
xchg edx, edi
add edx, esi
xchg edx, esi
nop
jmp 0x475e19
add dword [esp + 0x40], 4
sub edx, edi
bswap ecx
neg edi
mov edi, edx
or ecx, edx
sub esi, edx
and esi, 0x203ad08f
mov esi, edx
mov ecx, edx
xor esi, ecx
jmp 0x4753b0
add ebx, 0x18
sub ecx, edi
mov edx, edi
add esi, edx
sub edx, esi
xor edi, ecx
jmp 0x47854e
mov dword [esp + 0x40], 0
ror ecx, 0xf
and ecx, edx
and edx, ecx
not edx
sub edi, 0x20448fcd
or edx, 0x2044c0d5
or edx, esi
neg edi
and edx, esi
and esi, 0x20458e67
and esi, 0x2045bf1e
jmp 0x475850
mov ebx, dword [esp + 0x28]
xor esi, edi
neg ecx
or edi, esi
mov edx, esi
sub edi, edx
mov edi, 0x2046fb83
and edi, esi
xor edx, esi
and edx, 0x20478d61
jmp 0x47562f
mov ebx, dword [ebx]
add edx, esi
xchg edi, ecx
not esi
dec edi
inc esi
shr edi, 0xb
shr edx, 0x14
xchg edi, ecx
xor esi, 0x205140ec
jmp 0x47551d
sub dword [esp + 0x40], 8
mov edi, 0x2051a49d
or edi, esi
or edi, edx
shl esi, 0xc
neg edi
dec esi
shr esi, 0x10
and esi, 0x205308a1
jmp 0x47554b
mov ebx, dword [esp + 0x64]
and esi, ecx
sub esi, 0x20585fd3
not edi
xor ecx, 0x2058c3c9
and esi, ecx
inc edi
rol edx, 9
jmp 0x4761a0
movzx ebx, word [ebx]
xchg edi, esi
shr edx, 0xf
neg ecx
rol edi, 0x1f
xchg esi, ecx
sub edi, 0x205ceb5a
jmp 0x47721e
add ebx, dword [esp + 0x64]
inc edx
inc edx
rol esi, 0x13
add ecx, esi
sub esi, edi
inc edi
jmp 0x477271
mul ebx
xor esi, edi
mov ecx, esi
and edi, 0x20645c6a
add edi, edx
or edx, edi
or ecx, edi
add ecx, esi
neg edx
jmp 0x475ad5
mov dword [esp + 0x40], ebx
xor edi, ecx
xor edx, edi
ror edx, 0x11
ror edi, 0x1e
add edx, ecx
shl esi, 0xb
and edx, ecx
or ecx, 0x2069c049
xor edi, esi
and edx, esi
bswap edi
jmp 0x4766ab
pop ebx
or esi, 0x20704a66
bswap esi
and esi, ecx
mov edi, esi
xchg edi, esi
inc edx
jmp 0x4755ae
push ebx
xor edi, edx
mov ecx, edx
add edi, ecx
sub ecx, esi
and edx, ecx
sub esi, edx
bswap esi
neg edi
add edx, esi
xor esi, edi
or ecx, edx
jmp 0x476aae
mov dword [esp + 0x40], ebx
xchg ecx, esi
and esi, 0x207c876e
xchg esi, edi
add edi, ecx
dec edx
xchg ecx, edi
add ecx, 0x207d7c02
and ecx, esi
and ecx, edx
add esi, edx
dec esi
not ecx
sub edi, esi
jmp 0x477657
mov ebx, dword [ebx]
add esi, ecx
mov esi, ecx
mov edx, 0x20954416
or edi, esi
mov edx, ecx
bswap ecx
xor edi, esi
xchg esi, edi
xor edx, 0x20967230
xor ecx, 0x2096a3b8
shl edx, 0x14
mov edi, edx
jmp 0x477b76
add dword [esp + 0x40], 0x78
mov edx, ecx
or esi, edi
ror edx, 0xb
xor edi, edx
add edx, esi
sub esi, ecx
xor ecx, edi
xor edi, edx
mov esi, edx
jmp 0x476161
add dword [esp + 0x40], 0x20
sub esi, ecx
mov edi, edx
inc ecx
xor edi, 0x20a99c5c
xchg edx, edi
xor esi, edi
rol edx, 5
rol esi, 9
ror esi, 0x12
add edx, ecx
mov edx, ecx
jmp 0x47601d
xor al, byte [ebx]
add esi, edi
add ecx, 0x20d6bf5e
xor edi, edx
rol ecx, 4
xor edi, ecx
ror edi, 0xb
or edi, edx
or esi, edx
jmp 0x476e43
inc dword [esp + 0x28]
rol edi, 0x10
sub esi, edx
or ecx, edi
neg edi
sub esi, edx
sub esi, edx
and ecx, 0x20e44800
and edi, 0x20e479cf
jmp 0x477caa
mov dword [esp + 4], ebx
ror edi, 0x13
mov ecx, edx
add ecx, 0x20f5a720
bswap edi
jmp 0x477a02
add ebx, dword [esp + 0x64]
inc edx
add ecx, edi
or esi, edi
shr edx, 0x10
add esi, ecx
add ecx, edx
mov edi, edx
and ecx, edx
xchg esi, edx
or edx, edi
jmp 0x477b5d
add dword [esp + 4], 4
or esi, 0x210b876c
bswap edi
add ecx, edx
sub ecx, edi
xchg edi, esi
and ecx, edi
xor esi, edx
and ecx, 0x210ce4e5
or edx, edi
not edi
add ecx, edi
sub edx, 0x210da754
sub ecx, edx
xchg esi, ecx
jmp 0x4766c1
mov ebx, dword [ebx]
xchg edx, esi
and edi, 0x210fb937
or edx, esi
and ecx, esi
add esi, ecx
xor edx, ecx
xor ecx, 0x2110b2c9
ror edi, 0x10
bswap ecx
sub esi, ecx
add edx, 0x21117893
and edx, ecx
jmp 0x475ba5
cmp byte [ebx], 0
jmp 0x478533
add ebx, 0xc
xor edx, esi
or edi, 0x21255639
mov ecx, esi
rol ecx, 0xb
shr esi, 6
shl edi, 2
inc edi
shl edx, 0x19
jmp 0x475407
mov dword [esp + 4], ebx
xor ecx, 0x213adee3
add edx, ecx
add esi, ecx
xor edx, ecx
or ecx, esi
inc esi
and edx, 0x213bffb4
inc edi
add edi, ecx
mov edi, ecx
or edx, edi
sub edx, esi
neg edx
mov esi, edi
jmp 0x47647a
mov dword [esp + 0x28], eax
mov edi, 0x21493c4d
or esi, 0x21496d3e
neg edi
xchg edi, ecx
sub edx, esi
mov edi, edx
and edx, 0x214a6afb
xor ecx, 0x214a9c7b
mov edi, ecx
rol esi, 7
xor ecx, 0x214b2d4f
shr edx, 0x15
jmp 0x4770c4
ret
add ebx, 0xc
inc edx
sub edi, esi
add ecx, esi
sub edx, 0x217bd26d
shr esi, 0x1a
inc edx
xor edi, esi
sub edx, 0x217d74d8
or edi, esi
shl edx, 0xf
not edx
jmp 0x4767b2
sub esp, 0x88
add esi, edi
sub edi, edx
xchg edi, esi
mov esi, 0x218c8884
add esi, ecx
sub esi, edi
xchg edx, edi
add edi, edx
neg esi
or edi, esi
jmp 0x475f5d
jne 0x477927
or ecx, esi
and edi, esi
nop
or ecx, edi
xor ecx, edi
add esi, edx
shr edi, 2
not edx
jmp 0x47730c
mov ebx, dword [ebx]
rol ecx, 3
shr esi, 0x10
or edx, esi
add edx, edi
ror edi, 0xe
sub edi, edx
bswap ecx
add esi, 0x21928ba1
xor ecx, 0x2192bdd5
jmp 0x476e5d
mov dword [esp + 4], 0
shr edx, 0x15
mov esi, edi
bswap edx
xchg edi, esi
neg ecx
mov edi, edx
rol edx, 0xa
shr edx, 0x11
xchg edi, edx
dec edi
xor ecx, esi
inc esi
jmp 0x4761de