Function at 0x478c53
Capabilities:
Encrypt data using chaskey

Disassembly:
mov edx, dword [edx]
mov edi, ecx
rol esi, 6
mov edi, ebx
shr edi, 0xf
add ecx, esi
jmp 0x477cc7
mov edx, dword [edx]
xor ecx, edi
neg edi
ror ecx, 5
xor esi, ebx
shl ebx, 0x13
mov esi, ecx
inc ecx
and edi, 0x60846c61
xchg ebx, edi
xor esi, edi
jmp 0x477bff
cmp eax, dword [esp + 0xd8]
jmp 0x476ef8
mov dword [esp + 0xa8], edx
not edi
and ecx, esi
or ecx, 0x609181c9
not ecx
sub edi, esi
mov esi, edi
add edi, ebx
and ebx, edi
or ecx, ebx
jmp 0x477eef
mov edx, dword [edx]
and ecx, edi
shr edi, 0xd
mov esi, ebx
xchg edi, ecx
xor ebx, esi
and esi, ebx
sub ebx, esi
or esi, edi
jmp 0x47610b
mov dword [esp + 0xa8], 0
or esi, ebx
rol ecx, 8
xor ebx, esi
shr ebx, 6
shr edi, 5
xor edi, 0x609eba9f
xchg esi, ebx
shl edi, 0x12
mov ecx, esi
jmp 0x475f4e
add dword [esp + 0xdc], 4
and ebx, 0x60abe144
mov ebx, esi
xchg ecx, esi
jmp 0x476602
mov dword [esp + 0xcc], edx
sub ecx, esi
nop
dec edi
add esi, ecx
xor esi, 0x60ba0f52
mov edi, esi
mov esi, edi
xor ebx, edi
and ebx, esi
nop
jmp 0x475cf3
xor al, byte [edx]
add edi, 0x60c27415
add ebx, edi
or ebx, esi
or esi, ebx
mov ecx, ebx
or ecx, esi
xchg esi, ebx
xchg esi, ebx
mov edi, esi
or edi, esi
xchg esi, ecx
add edi, 0x60c51e56
jmp 0x478b26
add edx, dword [esp + 0xa8]
xchg edi, ebx
dec ecx
xchg edi, ecx
xchg ecx, ebx
or esi, ecx
jmp 0x4777b0
add dword [esp + 0xcc], eax
and ebx, 0x60e2a241
or ecx, ebx
add ecx, 0x60e31d74
xor ecx, 0x60e35c33
add edi, ecx
sub ecx, ebx
add ecx, ebx
xchg ebx, ecx
and edi, ecx
mov esi, 0x60e4d92f
jmp 0x477ac3
mov edx, dword [esp + 0xa8]
sub esi, 0x60ed3ce0
add ebx, 0x60ed79e6
or esi, ecx
not esi
or edi, esi
xor edi, ecx
or edi, ecx
or ecx, ebx
and edi, 0x60ef2fe1
add edi, 0x60ef6cc3
sub ebx, edi
jmp 0x477be0
add dword [esp + 0xcc], 0x78
neg edi
sub ebx, 0x60f54511
bswap esi
and ecx, esi
shl ebx, 0x16
jmp 0x4785e9
mov edx, dword [edx]
shr ebx, 0x10
shl ebx, 0x17
xor ebx, esi
and esi, edi
xor esi, 0x6104fe75
neg edi
add ecx, 0x610592eb
and ebx, 0x6105d010
sub esi, 0x61060f3b
inc esi
rol esi, 0x1e
or ecx, ebx
jmp 0x4757e5
mov edx, dword [esp + 0xcc]
mov ecx, edi
and esi, edi
and edi, ebx
shr ebx, 0x11
or edi, ecx
or ecx, ebx
xor esi, edi
xchg ecx, ebx
sub ecx, ebx
jmp 0x4782fc
mov dword [esp + 0xcc], 0
sub esi, 0x6114fcd2
rol edi, 0xe
bswap ecx
and ebx, ecx
rol ecx, 0x1f
or ebx, 0x61164671
inc ecx
ror ebx, 4
xor ecx, esi
xchg esi, ebx
and edi, 0x611781c3
mov ecx, esi
jmp 0x4761f5
add edx, dword [esp + 0xa8]
inc ecx
xor edi, ecx
and esi, 0x6134cd0e
mov ecx, esi
xor esi, ecx
add esi, ecx
jmp 0x477ae5
mov dword [esp + 0xd8], edx
sub ecx, 0x61438692
bswap esi
shl ebx, 0x1f
or ebx, edi
sub esi, ebx
or ecx, esi
jmp 0x476f30
mov dword [esp + 0xcc], edx
or edi, ecx
ror esi, 0x12
shr ebx, 0xb
or ecx, ebx
xor ebx, ecx
xor ebx, esi
xchg esi, edi
ror ecx, 0x1e
and esi, ebx
and ebx, esi
jmp 0x475d6f
add edx, 0xc
neg esi
or ecx, 0x617fcc09
jmp 0x475720
mov edx, dword [esp + 0xdc]
nop
sub ecx, ebx
mov esi, ebx
and edi, ecx
mov ecx, 0x618c0370
or ebx, ecx
rol edi, 0x11
mov edi, esi
jmp 0x475867
mov edx, dword [edx]
sub edi, 0x618d1647
xchg edi, ecx
xor ecx, esi
xchg ebx, esi
or edi, esi
or esi, edi
or ebx, 0x618f43ef
or ebx, esi
and ebx, 0x618fcded
xchg ecx, ebx
shl esi, 0x1e
neg esi
sub edi, ecx
and ecx, esi
jmp 0x47655e
xor eax, eax
sub ebx, ecx
add ecx, edi
and ecx, 0x6191d339
mov edi, ecx
xor esi, edi
or ecx, edi
xchg ecx, ebx
or ebx, 0x619315d6
neg esi
or edi, 0x6193932e
inc ecx
neg ebx
jmp 0x475ac0
mov edx, dword [esp + 0xd4]
or esi, 0x6194681b
add edi, ebx
and esi, edi
ror edi, 6
add ebx, edi
neg esi
sub ebx, esi
sub edi, esi
or edi, ebx
mov ebx, edi
and ebx, esi
bswap esi
sub esi, edi
jmp 0x478bd5
mov edx, dword [edx]
and esi, 0x6197aba1
or edi, 0x6197f9b1
or ecx, esi
xor esi, 0x619874f8
or ebx, 0x6198b246
mov edi, ebx
dec edi
dec ecx
shr esi, 0x1c
jmp 0x475a3d
inc edx
add ecx, ebx
xor ecx, esi
dec ecx
or ecx, edi
xchg ebx, ecx
xor esi, ebx
xchg ecx, ebx
not edi
and edi, ebx
jmp 0x476bdc
pop edx
and esi, ebx
add edi, 0x61dd4e69
dec esi
and ecx, edi
sub edi, ecx
shr ebx, 5
jmp 0x475766
cmp byte [edx], 0
jmp 0x4787a6
add dword [esp + 0xcc], 0x20
mov ecx, 0x62276f74
mov esi, 0x6227aea1
add esi, 0x6227ecc1
or edi, ebx
and esi, 0x62286701
dec esi
mov ebx, 0x6228e563
neg esi
rol esi, 5
sub ecx, edi
shr ebx, 0x1d
mov edi, 0x622a3007
sub esi, ecx
jmp 0x475ef0
jne 0x47789a
shl esi, 0x13
not esi
ror ecx, 0x10
add edi, 0x623c05af
not ebx
dec esi
or edi, ecx
and ecx, ebx
mov esi, 0x623d3bc7
shl ebx, 9
jmp 0x478855
add edx, dword [esp + 0xa8]
mov ecx, esi
add ecx, edi
jmp 0x4788e6
mov edx, 0x30
sub esi, ebx
dec edi
xor ebx, 0x623ef7da
or esi, ecx
mov ecx, esi
xchg esi, edi
and ebx, edi
neg ecx
jmp 0x477271
mov dword [esp + 0xd4], eax
mov ebx, 0x62407dac
xor ecx, 0x6240bb4d
inc esi
and edi, ebx
sub edi, esi
mov ecx, edi
xor ebx, edi
xchg edi, esi
mov ecx, esi
inc esi
xor edi, esi
jmp 0x4774d5
mov eax, 2
sub edi, ebx
xor esi, edi
mov ebx, 0x6246df00
neg esi
mov ecx, 0x62475db0
sub esi, ecx
sub esi, edi
xor ebx, ecx
add ecx, esi
xor esi, ebx
or esi, 0x6248da70
or ebx, 0x624919f0
mov ebx, ecx
jmp 0x47667b
movzx edx, word [edx]
add ecx, edi
xor esi, ebx
sub ecx, edi
or ecx, 0x624a5fbf
or edi, ebx
xchg edi, ecx
shl edi, 0xd
xor ebx, esi
sub esi, 0x624ba36a
sub edi, ecx
jmp 0x477986
mov edx, dword [esp + 0xcc]
sub esi, edi
xchg ebx, esi
xchg esi, ecx
and esi, ecx
add ebx, ecx
add ecx, 0x625176b6
xor esi, ecx
jmp 0x477e97
mov edx, dword fs:[edx]
or edi, ecx
rol ebx, 0x19
not ebx
xor esi, edi
jmp 0x4773e6
add edx, dword [esp + 0xa8]
sub esi, 0x62860ce1
xchg esi, edi
sub ecx, 0x62868802
and edi, 0x6286c673
or esi, 0x62870599
xor ecx, esi
nop
shl esi, 4
nop
xchg edi, ecx
or edi, ebx
mov ebx, 0x6288c8b0
rol esi, 6
jmp 0x478940
mov dword [esp + 0xdc], edx
and ebx, 0x628f1f4e
xchg esi, ecx
or esi, ecx
sub ebx, ecx
or ecx, edi
sub ecx, 0x629050d6
mov edi, 0x62909ed9
neg edi
sub ebx, ecx
jmp 0x476f95
ret
add edx, 0xc
ror edi, 0x12
and esi, edi
add edi, 0x6295b9a3
neg ebx
add ecx, 0x6296378e
add edi, ecx
mov ebx, esi
mov ecx, 0x6296fdf9
or ecx, esi
and esi, 0x62977830
jmp 0x476621
sub dword [esp + 0xcc], 8
xchg ebx, edi
or edi, 0x62a72b77
shr edi, 0x17
not ecx
not esi
xchg edi, ecx
or edi, ecx
or ecx, edi
dec ecx
jmp 0x477646
mov edx, dword [esp + 0xcc]
add ebx, ecx
neg ecx
inc esi
xor esi, ebx
xor edi, esi
sub ebx, edi
bswap ecx
xor esi, ebx
jmp 0x477717
mov edx, dword [edx]
or edi, 0x62d08cdf
add ecx, 0x62d0c930
mov ecx, 0x62d10629
dec esi
or edi, esi
or ecx, edi
sub ebx, edi
jmp 0x475b92
mov dword [esp + 0xcc], edx
xor ecx, esi
xor ecx, 0x62dc59af
and ebx, ecx
shl edi, 0xa
mov esi, edi
xchg esi, ebx
jmp 0x4780d1
inc dword [esp + 0xd4]
mov esi, ebx
neg edi
add ebx, ecx
xor ecx, 0x62eddad3
xchg ecx, edi
not edi
sub ebx, ecx
sub ecx, 0x62eecd90
ror ebx, 6
xchg edi, ecx
sub edi, ecx
dec ecx
or esi, edi
xor ecx, edi
sub esi, ebx
jmp 0x475971
mul edx
mov edi, esi
sub ecx, 0x62ff5e05
and esi, ecx
and ebx, ecx
add edi, ebx
or ebx, edi
shl ecx, 0x1f
and edi, ecx
jmp 0x475c66
add edx, dword [esp + 0xd4]
xor ebx, 0x63041f1f
mov ebx, ecx
sub ebx, edi
xchg ebx, ecx
add esi, ebx
shr edi, 0x1b
xor ecx, 0x6305852c
xchg edi, ebx
jmp 0x477a94
mov eax, 4
xor edi, esi
xor ebx, edi
and ebx, edi
and ecx, 0x6313460b
or ebx, edi
mov ecx, 0x6313beee
mov esi, ebx
and ecx, 0x6314446e
xor esi, edi
mov edi, ecx
sub ecx, 0x6314f755
jmp 0x476fc7
mov edx, dword [esp + 0xcc]
sub ecx, esi
sub esi, 0x6315865a
xchg edi, ecx
mov ecx, edi
mov ebx, edi
xchg edi, ecx
add esi, 0x6316bfe5
jmp 0x478d88
push edx
and edi, esi
and ecx, edi
and esi, edi
sub edi, ebx
bswap edi
jmp 0x476651
add dword [esp + 0xcc], edx
or edi, ebx
add esi, ebx
and ebx, edi
ror esi, 0x14
bswap ecx
or edi, ecx
xor ebx, esi
mov edi, ebx
xor ebx, edi
jmp 0x476dd5
mov edx, dword [edx]
mov esi, ebx
xchg ebx, esi
bswap esi
add edi, esi
inc edi
add ebx, edi
xchg ebx, edi
shl esi, 1
jmp 0x47570d
add edx, 0x18
or esi, 0x633a4d35
xchg esi, edi
rol ebx, 0x11
bswap edi
mov esi, 0x633b471f
xor edi, ebx
sub ebx, edi
xor esi, edi
shr edi, 0x1c
or ebx, esi
jmp 0x475e4e
mov edx, dword [edx]
sub esi, ecx
and ebx, 0x635cf3fc
dec esi
jmp 0x477fee
mov edx, dword [esp + 0xa8]
xor ebx, edi
sub esi, ebx
and ebx, 0x6363df08
xor esi, ecx
dec esi
add edi, 0x636496e8
xor esi, edi
sub esi, ecx
rol ecx, 4
add esi, ecx
dec edi
mov esi, ebx
and ebx, edi
xchg ebx, edi
and ecx, esi
add ecx, ebx
jmp 0x47837f
add edx, dword [esp + 0xa8]
xchg ebx, ecx
add esi, 0x637594b8
and ecx, esi
neg ecx
xchg ecx, edi
mov ebx, ecx
xchg ebx, edi
mov edi, ebx
xor ebx, ecx
jmp 0x477390
mov edx, dword [esp + 0xdc]
xor ebx, esi
and edi, esi
xor edi, ebx
mov esi, ebx
sub esi, edi
jmp 0x4779c9
mov edx, dword [edx]
sub ecx, ebx
xchg ebx, ecx
xor esi, edi
bswap esi
xchg esi, ecx
xor ecx, ebx
or ecx, edi
mov esi, ebx
xor ecx, ebx
jmp 0x477304
add edx, 0x3c
mov edi, ebx
xor edi, esi
shl edi, 7
rol esi, 0x11
sub edi, 0x63b12e02
ror esi, 0x14
xchg ecx, ebx
or ecx, edi
jmp 0x47855a
mov edx, dword [edx]
sub ecx, esi
or ecx, ebx
mov ecx, esi
and esi, 0x63ce6867
inc esi
xchg ecx, ebx
ror ebx, 0x11
or edi, esi
sub ecx, esi
and edi, ebx
and ebx, 0x63cff97c
and ebx, esi
mov ebx, edi
add ecx, 0x63d09cc5
jmp 0x476263
mov edx, dword [esp + 0xa8]
xchg ebx, esi
or esi, 0x63d8d441
or ecx, esi
mov ecx, 0x63d94de4
and esi, ebx
shl esi, 7
xchg edi, ecx
sub edi, ebx
and edi, esi
shr ebx, 0xa
xchg ecx, edi
jmp 0x478899
jne 0x475ac0
dec ebx
sub ecx, edi
bswap esi
and ecx, edi
jmp 0x4769f9
add dword [esp + 0xcc], 4
and esi, 0x640de661
shl edi, 5
or ecx, esi
sub ebx, 0x640ea1f3
add edi, esi
or edi, 0x640f1cbd
mov ecx, ebx
mov ebx, ecx
add ebx, ecx
sub edi, 0x64101c64
sub edi, ecx
neg ecx
shl ebx, 0xe
sub edi, ecx
shr esi, 0xa
and edi, 0x64119408
jmp 0x47701c
add edx, dword [esp + 0xcc]
sub ebx, edi
xor edi, 0x6412369d
shl ebx, 0x19
jmp 0x4766a6
add esp, 0xe0
xor ecx, esi
and edi, 0x6416c197
neg esi
shr ecx, 7
not edi
sub esi, ebx
nop
mov ebx, ecx
xor edi, 0x6418868e
or esi, ebx
add edi, esi
nop
xchg edi, ecx
and edi, esi
shr ecx, 0x14
jmp 0x4773d7
mov dword [esp + 0xdc], edx
shr esi, 0xf
xor edi, ecx
and ecx, edi
xchg ecx, edi
add edi, ebx
jmp 0x47789a
rol eax, 8
neg ecx
mov ecx, esi
mov ecx, edi
sub ebx, esi
xor ecx, esi
mov esi, ecx
and ecx, edi
or ebx, ecx
add edi, ebx
inc edi
xchg ecx, ebx
xor ecx, 0x644389dc
jmp 0x476998
mul edx
add edi, 0x644e152f
xchg ebx, edi
add ebx, ecx
and ecx, esi
ror esi, 0xa
xor ecx, esi
bswap edi
mov edi, ebx
mov ecx, esi
jmp 0x476f4d
sub esp, 0xe0
shr esi, 0x19
xchg ebx, ecx
inc ecx
or esi, edi
ror ecx, 0x15
neg esi
bswap ebx
xor ecx, ebx
shl ecx, 0xe
or ebx, 0x6459646f
shl ebx, 0xb
rol ebx, 0x1a
xor ecx, ebx
jmp 0x478e0b
mov edx, dword [edx]
mov ebx, ecx
neg esi
ror ecx, 0x1f
xor ebx, ecx
xor ebx, esi
mov ecx, 0x646e6a19
sub edi, ecx
add ecx, esi
sub edi, esi
xchg ebx, edi
sub ecx, edi
xchg ecx, ebx
add edi, ebx
jmp 0x476f20
mov dword [esp + 0xd4], 0
shl ecx, 0x19
and edi, esi
neg ecx
add edi, ecx
or esi, edi
or ebx, esi
jmp 0x478e87
mov dword [esp + 0xdc], 0
xchg ecx, esi
rol esi, 0x17
add esi, 0x64807b61
or ebx, edi
ror esi, 0x18
mov esi, 0x648142f2
dec ecx
mov ebx, 0x6481bc8d
xor esi, ecx
not ebx
or ebx, esi
jmp 0x4758a5