Function at 0x477704
Capabilities:
Encrypt data using chaskey

Disassembly:
mov edx, dword [edx]
sub ecx, ebx
neg esi
ror esi, 0x15
xchg ecx, ebx
or esi, edi
neg edi
inc esi
sub esi, 0xd35b6d61
or ecx, esi
jmp 0x475e4b
mov dword [esp + 0x54], 0
xor ebx, esi
sub edi, ebx
sub ebx, esi
sub ecx, ebx
ror edi, 0x1f
and edi, ecx
and esi, ecx
ror edi, 0x1d
not esi
shr edi, 0x1d
mov esi, edi
rol esi, 0xf
jmp 0x47594b
mov eax, 4
xchg ebx, esi
xchg ebx, esi
or ebx, edi
add ebx, 0xd3955592
ror ecx, 9
jmp 0x47610f
add dword [esp + 0x54], 0x20
shr edi, 0x1f
add esi, edi
inc edi
xor esi, edi
xor edi, ecx
shl ecx, 7
sub esi, ebx
bswap esi
jmp 0x4761d0
mov edx, dword [edx]
add esi, ebx
not edi
or ebx, 0xd3ba0dc4
mov ecx, 0xd3ba6c7a
neg ebx
add edi, esi
inc ebx
jmp 0x4772fa
mov edx, dword [edx]
neg edi
or ebx, ecx
or esi, ecx
neg ebx
not ebx
xchg esi, edi
xor edi, 0xd3c61516
bswap esi
and ebx, 0xd3c6ef19
add edi, ebx
add ecx, esi
inc ebx
xchg esi, ecx
jmp 0x475adc
mov edx, dword [esp + 0x54]
shr edi, 7
add esi, ecx
xor esi, ecx
or edi, 0xd3cf9007
sub ebx, esi
and ebx, ecx
not esi
add edi, ebx
shl ebx, 0x14
sub ecx, edi
inc edi
and ebx, ecx
jmp 0x4769e9
mov eax, 2
dec ebx
or esi, edi
and edi, 0xd3d78a58
or esi, edi
sub esi, ebx
and edi, 0xd3e419d7
jmp 0x475b4c
mov dword [esp + 0x88], 0
mov ebx, esi
mov ecx, edi
add esi, ecx
dec edi
add esi, edi
xchg edi, ecx
dec ecx
and esi, ebx
jmp 0x476276
inc dword [esp + 0x88]
xor ebx, 0xd4348136
xchg edi, ecx
dec ebx
xor esi, edi
rol ebx, 0x10
add esi, 0xd43b0af7
neg ecx
or esi, ecx
mov ebx, 0xd43c3a21
add edi, esi
jmp 0x476451
mov edx, dword [edx]
shl ebx, 0x1f
xchg ebx, ecx
mov ecx, 0xd443579a
add ecx, ebx
shr edi, 0xc
xor esi, edi
sub edi, 0xd444f9de
jmp 0x476ae3
mul edx
inc edi
sub ecx, ebx
sub edi, ebx
nop
and edi, 0xd44c3e44
or ecx, esi
xchg esi, ecx
sub edi, ecx
jmp 0x475e00
mov edx, dword [esp + 0x94]
add edi, ecx
xchg ebx, ecx
xor edi, 0xd44ea7ad
jmp 0x476efe
cmp eax, dword [esp + 0x84]
jmp 0x477524
mov dword [esp + 0x84], edx
add ecx, edi
xchg edi, esi
xchg edi, ebx
rol ebx, 7
or ebx, esi
jmp 0x476a74
mov edx, dword [edx]
sub ecx, esi
mov edi, ebx
or ecx, esi
and ebx, 0xd47cefa9
sub esi, ecx
inc esi
and edi, 0xd47e32a6
jmp 0x4769d5
xor eax, eax
xchg ecx, ebx
bswap esi
shr esi, 0x1a
or edi, ebx
rol ecx, 0x1d
neg ebx
inc ecx
xchg ebx, edi
jmp 0x475b68
add edx, 0xc
or edi, esi
or ebx, 0xd49e3cb6
and esi, edi
add ecx, 0xd49f0196
sub ecx, esi
add ecx, ebx
ror esi, 1
xchg esi, ebx
and edi, esi
rol edi, 0x1d
add ebx, esi
jmp 0x476655
mov dword [esp + 0x58], edx
or ecx, 0xd4a919e5
rol edi, 0x1c
xor esi, ebx
xor esi, 0xd4aa6a15
add ebx, esi
shl esi, 0x19
or ecx, ebx
jmp 0x475863
mov edx, dword [esp + 0x88]
or ecx, edi
xchg esi, ebx
add edi, ebx
xor ecx, edi
and esi, ebx
add edi, ebx
or ebx, edi
not ebx
jmp 0x476814
xor al, byte [edx]
mov edi, 0xd4bb7dac
dec edi
mov esi, edi
and esi, ecx
add ebx, esi
sub esi, edi
mov esi, edi
jmp 0x476966
add dword [esp + 0x54], edx
ror ecx, 0x19
add esi, ecx
and edi, ecx
bswap ecx
or ecx, ebx
xchg edi, ecx
mov edi, ecx
and esi, 0xd4c14a5b
ror ebx, 6
jmp 0x47549c
mov edx, dword [esp + 0x94]
and esi, ebx
ror ebx, 7
mov esi, ebx
xor edi, ecx
xchg ecx, esi
bswap esi
xor ecx, esi
jmp 0x476e12
mov edx, dword [esp + 0x58]
add esi, ebx
add edi, esi
add esi, ebx
and esi, ecx
and esi, ebx
mov ebx, 0xd4c764ea
xor edi, ebx
or ecx, 0xd4c82e02
mov edi, ecx
not edi
mov ecx, 0xd4c9a4d9
bswap ebx
bswap ecx
shl ecx, 0x12
xchg ebx, edi
or esi, 0xd4cbbdc3
jmp 0x476059
mov edx, dword [edx]
mov edi, esi
sub ebx, esi
add ebx, 0xd500b3ae
add esi, ecx
ror ebx, 7
bswap esi
inc esi
or edi, 0xd502bf47
mov ecx, edi
jmp 0x475fdc
add dword [esp + 0x54], eax
or esi, edi
and esi, ebx
sub esi, ebx
mov edi, esi
shl ebx, 0x10
neg edi
rol ebx, 0x18
shl edi, 0xe
or edi, ebx
jmp 0x47561f
mov dword [esp + 0x54], edx
sub ecx, ebx
ror edi, 6
add ecx, ebx
add esi, 0xd5383aef
or edi, 0xd538a130
or ebx, ecx
inc ebx
or esi, ecx
or ecx, esi
jmp 0x4764d3
add edx, 0x18
xchg esi, edi
dec edi
and edi, ebx
sub ecx, ebx
sub ecx, esi
or edi, 0xd5948104
add edi, ecx
sub ebx, edi
add esi, 0xd595cd86
xchg esi, ebx
or esi, ebx
jmp 0x47559b
mov edx, dword [esp + 0x54]
or ebx, 0xd5b5a5b2
mov ebx, 0xd5b60915
or ebx, ecx
xor ecx, ebx
jmp 0x4758c3
add edx, dword [esp + 0x88]
xor ebx, 0xd5be234c
or esi, ebx
mov ecx, ebx
sub ebx, edi
sub edi, 0xd5bfaaa1
and edi, 0xd5c0118b
and ecx, ebx
sub esi, ecx
add ecx, 0xd5c14dcf
xor edi, 0xd5c1b077
mov ecx, ebx
or edi, 0xd5cd324e
and edi, esi
add ebx, edi
jmp 0x475483
movzx edx, word [edx]
and ebx, edi
add ebx, esi
mov ebx, esi
and esi, ebx
xchg esi, ecx
and ecx, esi
mov esi, edi
xor ecx, edi
and ecx, 0xd5e51852
add ebx, esi
xor edi, esi
jmp 0x4758f9
mov edx, dword [esp + 0x54]
or ebx, 0xd60bec4e
xchg edi, ebx
xor edi, esi
mov ebx, ecx
add esi, ebx
sub ebx, esi
jmp 0x4769b8
mov dword [esp + 0x58], 0
and esi, ebx
add ebx, esi
and edi, ebx
not ebx
ror edi, 0x1a
jmp 0x476ca0
add esp, 0xac
shr esi, 0x17
inc esi
or edi, esi
xchg ecx, edi
or edi, 0xd632bc08
bswap ebx
shr ecx, 7
add edi, 0xd6341c2f
jmp 0x476f5f
add edx, 0xc
and ebx, ecx
inc esi
xchg ebx, edi
neg ebx
xor ebx, 0xd66b0d8f
add esi, 0xd66b7074
bswap edi
or esi, edi
xchg edi, ebx
neg edi
dec esi
and esi, edi
or ebx, ecx
bswap ebx
jmp 0x4755d7
add dword [esp + 0x58], 4
bswap ebx
rol ebx, 0x10
not edi
xchg ebx, edi
mov esi, ebx
ror edi, 0xf
xchg edi, ecx
and ecx, 0xd6770201
shr edi, 0x13
and ebx, esi
bswap edi
jmp 0x4775cc
mov dword [esp + 0x88], eax
not esi
shr ebx, 0x15
neg ecx
add edi, ebx
xor esi, 0xd67a9b92
ror edi, 0xc
and ecx, 0xd67b6695
jmp 0x476673
mov edx, dword [esp + 0x94]
xor edi, ecx
bswap ebx
not edi
add esi, ecx
xchg esi, ecx
or ebx, esi
and esi, edi
or esi, 0xd6843a11
xchg esi, ebx
and ebx, 0xd685057f
or ecx, edi
and ecx, edi
jmp 0x475b7f
mov edx, dword [edx]
or ebx, esi
or edi, esi
xor ecx, 0xd6e37804
mov ecx, 0xd6e3e1e2
and ebx, ecx
add ecx, edi
xor ebx, ecx
not ecx
jmp 0x477087
sub dword [esp + 0x54], 8
mov ebx, edi
xor ecx, esi
mov edi, ebx
dec ecx
mov ebx, esi
bswap edi
and edi, ebx
mov edi, 0xd6e8fac5
or ecx, esi
or esi, 0xd6e9c00f
jmp 0x476a41
add edx, dword [esp + 0x94]
not ebx
ror ebx, 4
xor edi, 0xd70163f4
ror ecx, 0x12
xchg esi, edi
and edi, ebx
mov ebx, esi
jmp 0x476c11
add dword [esp + 0x54], 0x78
or ecx, esi
xchg edi, esi
and ebx, ecx
xor ecx, ebx
xor esi, ebx
xor ecx, 0xd705743b
and ecx, ebx
mov ebx, 0xd70659ae
or edi, 0xd706bd51
xor esi, edi
shl esi, 5
jmp 0x475912
mul edx
sub esi, 0xd72d656a
xor esi, 0xd72dc772
rol edi, 0x1a
dec ebx
and ebx, esi
or ebx, 0xd72f5cac
xor esi, ebx
add ebx, ecx
or ecx, esi
xor ecx, esi
xor edi, 0xd7318f06
sub edi, esi
jmp 0x47647b
add edx, dword [esp + 0x94]
and esi, ecx
inc esi
ror edi, 0x16
xor ecx, edi
xor edi, ecx
and ecx, ebx
add esi, edi
xor ebx, edi
shr esi, 0x1e
sub ebx, ecx
add esi, ebx
or edi, ebx
jmp 0x4762be
pop edx
sub ebx, 0xd74dd869
xor ebx, 0xd74e387b
dec ecx
sub ebx, ecx
xor esi, ebx
xchg edi, esi
mov ecx, ebx
not edi
jmp 0x47593f
rol eax, 8
mov esi, edi
mov ecx, ebx
add edi, esi
sub ecx, ebx
inc edi
mov ecx, ebx
shl esi, 0x1a
mov ecx, edi
xchg ebx, ecx
add ebx, edi
xor edi, ecx
sub esi, 0xd7772679
jmp 0x47730d
mov edx, dword fs:[edx]
or edi, 0xd777aad6
sub edi, 0xd77812e2
xchg edi, ecx
mov ecx, ebx
xchg ebx, edi
rol ebx, 0x1f
shr ebx, 0x11
xchg esi, ebx
and esi, ebx
shr esi, 0x19
inc edi
and esi, 0xd77c46fb
jmp 0x476427
mov edx, dword [edx]
xor edi, ecx
and ecx, ebx
and ecx, 0xd77d9622
add ebx, 0xd77dfcaf
not esi
mov ebx, edi
and edi, ecx
jmp 0x477113
mov dword [esp + 0x54], edx
nop
dec edi
xchg edi, ebx
add esi, ecx
xchg ecx, esi
jmp 0x476704
mov edx, dword [edx]
add esi, 0xd7856a50
and ebx, 0xd785e590
sub ebx, esi
rol ecx, 0x18
rol ebx, 0x15
and ebx, edi
mov esi, ebx
xchg ecx, esi
and esi, 0xd788f63e
jmp 0x476889
mov edx, dword [esp + 0x54]
add ecx, edi
xor esi, ecx
not esi
xor esi, edi
sub esi, ecx
sub ebx, esi
jmp 0x476ece
mov edx, 0x30
or esi, ebx
xchg ecx, esi
inc ebx
bswap esi
sub ebx, ecx
sub ecx, edi
sub ecx, edi
and ecx, 0xd7ab2d2e
xor edi, ecx
and ecx, esi
jmp 0x47698a
mov edx, dword [edx]
and ecx, esi
add ebx, ecx
mov esi, edi
jmp 0x4766e4
add edx, dword [esp + 0x94]
and edi, 0xd7c1fd82
add ecx, ebx
ror esi, 9
jmp 0x477498
jne 0x475b68
nop
shl ecx, 0x1b
shr ebx, 0x13
xchg edi, ecx
sub edi, ecx
xor ecx, edi
sub ecx, edi
mov ecx, 0xd7d2fe9d
or ecx, 0xd7d37c4f
xor ecx, edi
shl edi, 4
or esi, ebx
xor ecx, ebx
rol edi, 0xb
jmp 0x4768ae
push edx
xor ebx, edi
xor edi, esi
add esi, ebx
xchg ecx, edi
sub esi, 0xd801dbf5
mov esi, 0xd8023e2b
add ecx, edi
mov ecx, ebx
and ecx, 0xd8037c37
shr edi, 3
jmp 0x475a47
mov dword [esp + 0x94], 0
add ecx, esi
sub ebx, esi
and esi, edi
xor ebx, edi
not ecx
and ecx, esi
xor esi, edi
xor ecx, esi
bswap edi
sub ebx, esi
jmp 0x475457
mov dword [esp + 0x54], edx
xor ebx, ecx
xor ecx, ebx
sub esi, edi
xor esi, edi
xchg edi, ebx
xor ecx, edi
sub ecx, 0xd846785c
or esi, ebx
jmp 0x475bbe
add edx, 0x3c
neg ecx
xchg esi, ecx
and ebx, ecx
sub edi, 0xd8770432
and ecx, ebx
xor ecx, edi
rol edi, 2
or esi, edi
rol ebx, 0x1e
jmp 0x475a2b
mov edx, dword [edx]
not ecx
xor ebx, esi
xchg edi, ecx
bswap edi
mov edi, ebx
inc esi
sub esi, ecx
sub ecx, esi
jmp 0x4770c1
add edx, dword [esp + 0x54]
neg ecx
dec ebx
or ebx, ecx
and edi, 0xd8a2c374
and ecx, edi
mov edi, ebx
or ebx, esi
or ebx, ecx
xchg ebx, edi
jmp 0x4753ae
add dword [esp + 0x54], 4
neg ebx
xor ebx, edi
xchg edi, esi
add ebx, 0xd8a6a6ae
add ebx, ecx
add esi, ebx
or ecx, edi
sub ebx, esi
ror edi, 4
xchg ecx, ebx
jmp 0x476001
ret
mov edx, dword [edx]
sub edi, 0xd8eaa5a6
not ebx
bswap ebx
ror ebx, 0x14
jmp 0x475d09
add edx, dword [esp + 0x94]
xor ebx, ecx
sub ebx, edi
xor ebx, ecx
and esi, edi
mov esi, ebx
jmp 0x476d18
add edx, dword [esp + 0x94]
shl ebx, 0x15
mov ecx, ebx
and esi, ebx
inc esi
xor esi, 0xd8ff5731
or ecx, ebx
xchg ecx, edi
sub ebx, 0xd9008cfb
mov edi, ebx
sub edi, 0xd9014ba1
jmp 0x475b1d
mov dword [esp + 0x94], edx
bswap esi
shl esi, 0xd
bswap esi
jmp 0x475ba3
inc edx
and edi, ecx
mov esi, ecx
bswap esi
xchg edi, esi
or edi, ecx
mov esi, ebx
ror esi, 0x19
bswap ebx
sub esi, 0xd94bda5d
xor esi, ebx
jmp 0x47744b
cmp byte [edx], 0
jmp 0x476afa
mov dword [esp + 0x58], edx
sub edi, ecx
sub ebx, ecx
mov edi, esi
dec ebx
xchg edi, esi
mov esi, 0xd9928b74
jmp 0x47565f
jne 0x475863
sub ecx, edi
mov ebx, esi
nop
xor ecx, edi
add edi, ebx
inc ecx
and edi, 0xd9afc847
mov esi, ecx
add esi, ebx
nop
neg ecx
mov ecx, ebx
bswap ebx
xor edi, 0xd9b6cfae
add ebx, edi
mov ecx, ebx
jmp 0x476f1f
mov edx, dword [esp + 0x58]
inc edi
neg edi
inc edi
sub esi, ecx
shr esi, 0x1e
dec esi
mov esi, ecx
bswap ebx
xor esi, edi
and esi, ecx
add ebx, esi
jmp 0x476ad6
sub esp, 0xac
or ecx, edi
sub esi, edi
sub ecx, esi
or ebx, 0xda2477ce
xor ecx, 0xda25182f
or esi, ebx
neg edi
or ecx, edi
jmp 0x4756c4