Function at 0x477f37
Capabilities:
Encrypt data using chaskey

Disassembly:
pop edx
or ecx, 0xae29ffa6
and edi, 0xae2a1ea0
bswap esi
and ebx, ecx
jmp 0x47594c
mov edx, dword [edx]
xor edi, esi
ror edi, 0x1d
shl ebx, 0x13
add esi, edi
and edi, ecx
or ecx, edi
mov ebx, edi
and esi, ebx
mov esi, 0xae2d3188
mov esi, edi
xchg edi, ecx
rol esi, 0x19
jmp 0x47668d
xor eax, eax
xor edi, esi
add ebx, 0xae3039be
xor esi, ecx
and edi, ecx
add esi, 0xae3086a8
or ebx, esi
or esi, ebx
xor ecx, esi
xor esi, ebx
rol esi, 0xc
mov edi, ecx
add esi, ebx
jmp 0x477aff
mov edx, dword [edx]
mov edi, ebx
ror ecx, 8
shr edi, 0x11
or esi, ecx
and esi, ebx
mov edi, esi
ror ebx, 0x14
and esi, ebx
jmp 0x477296
cmp eax, dword [esp + 0x100]
jmp 0x476798
add dword [esp + 0xcc], edx
add ecx, esi
sub edi, ecx
xor esi, ecx
or ecx, edi
jmp 0x4759b1
add dword [esp + 0xcc], 0x20
xor ecx, 0xae3c3c00
mov ebx, ecx
rol edi, 3
and ecx, edi
jmp 0x477f60
add dword [esp + 0xcc], 0x78
mov ebx, esi
xor ecx, ebx
add edi, ecx
or ebx, ecx
mov ecx, 0xae3edd52
sub ebx, 0xae3efc06
jmp 0x47765b
mov edx, dword [edx]
mov edi, 0xae4035cc
sub edi, esi
mov edi, esi
sub ecx, esi
xchg edi, ebx
xor ecx, esi
xor esi, ebx
rol esi, 0xe
mov edi, ecx
or ebx, 0xae411e6c
jmp 0x47627b
add edx, dword [esp + 0xd0]
shl ebx, 0x12
add esi, edi
shr ebx, 0xd
bswap esi
and ebx, ecx
shl ebx, 0x17
sub ecx, esi
mov ecx, esi
jmp 0x47629e
mov edx, dword [esp + 0x88]
add ecx, ebx
inc ebx
shr ebx, 8
bswap ecx
rol ebx, 1
or esi, ecx
jmp 0x4771a7
mov edx, 0x30
sub ecx, 0xae51c858
xchg ebx, esi
shl ecx, 0x11
xchg ecx, esi
xchg ebx, esi
xor ebx, ecx
add ebx, ecx
xor ebx, 0xae5293fe
rol esi, 0xd
xor ecx, 0xae52c9ce
rol edi, 0x1d
add ecx, 0xae52feb2
jmp 0x476fe6
mov edx, dword [esp + 0xcc]
mov esi, edi
mov edi, ecx
or esi, ecx
sub ecx, ebx
mov edi, ebx
xor ebx, edi
jmp 0x47587a
mov edx, dword [edx]
sub ebx, 0xae56e3e0
or ebx, esi
mov esi, ebx
or ecx, esi
shr esi, 0x1d
or edi, esi
sub ecx, ebx
mov ecx, ebx
neg edi
dec edi
neg ebx
ror ecx, 0x1c
jmp 0x477448
add edx, 0xc
sub ecx, 0xae582612
add edi, 0xae5841be
xor ecx, ebx
shr edi, 0x15
and esi, 0xae58907c
xchg esi, ebx
xchg esi, ebx
sub esi, ecx
mov ebx, 0xae59355e
add ebx, edi
xor ecx, 0xae59698c
and esi, edi
xor edi, esi
add ebx, 0xae59b64a
jmp 0x476c44
add esp, 0x118
sub ebx, esi
mov edi, ebx
bswap edi
xchg ecx, ebx
jmp 0x4777d2
mov edx, dword [esp + 0xcc]
nop
mov ebx, 0xae6780b2
mov ecx, edi
or ebx, edi
shl ecx, 0x13
xchg ecx, esi
add esi, ecx
mov esi, edi
jmp 0x476ff9
mov dword [esp + 0xcc], edx
or ebx, 0xae6e2efc
nop
sub ebx, esi
mov ebx, ecx
neg ecx
add esi, ecx
jmp 0x475a07
mov dword [esp + 0x5c], 0
ror esi, 0x1b
or edi, esi
rol edi, 0x12
xor ebx, esi
shr ecx, 0xe
or ecx, esi
jmp 0x4760f2
mov dword [esp + 0xd0], 0
neg esi
mov esi, 0xae7bc14a
mov esi, ecx
or ecx, edi
jmp 0x4767e4
inc dword [esp + 0x88]
ror esi, 0x1c
add ebx, esi
xchg esi, ebx
or ecx, 0xae7d514e
rol edi, 0x1d
inc ebx
shl ebx, 7
add esi, ecx
sub ebx, edi
and ecx, ebx
not esi
xor esi, edi
jmp 0x4776bd
mov edx, dword [edx]
shl ebx, 1
mov ebx, ecx
mov esi, 0xae8238a0
sub ebx, esi
mov ebx, esi
neg ecx
shr ecx, 0x11
sub edi, esi
rol ecx, 0x10
and esi, 0xae831b9e
jmp 0x476a78
mov dword [esp + 0xcc], edx
and edi, ebx
shr edi, 1
mov esi, ecx
shl edi, 8
xchg ebx, edi
mov ecx, ebx
mov edi, esi
xor edi, ebx
or esi, ecx
shr esi, 0x13
jmp 0x477b4a
mov dword [esp + 0x5c], edx
shl esi, 5
and edi, 0xae873a2a
rol ecx, 0xd
mov edi, ebx
or esi, ecx
or ecx, 0xae87a122
mov edi, 0xae87bc4e
xchg edi, ebx
bswap ecx
sub ecx, 0xae88111e
or edi, ebx
and esi, edi
sub esi, edi
not ecx
jmp 0x476136
mov edx, dword [esp + 0xcc]
xor ebx, ecx
neg ecx
xor edi, esi
shr edi, 2
and edi, ebx
or ebx, esi
bswap edi
shl edi, 0x1f
mov ecx, ebx
xchg ecx, ebx
xchg ecx, ebx
neg edi
add edi, ebx
sub esi, 0xae8d25fe
jmp 0x475d28
jne 0x477aff
and ebx, esi
mov ecx, edi
jmp 0x475747
mul edx
or edi, ebx
add ebx, ecx
xor ebx, 0xae9d9792
xor esi, ebx
xchg esi, edi
or ecx, 0xae9de7d6
jmp 0x477eb7
inc edx
mov ecx, esi
add edi, ebx
mov ebx, edi
mov edi, ebx
rol esi, 0x1d
xor esi, 0xaea2c7ec
jmp 0x47720f
mov edx, dword [edx]
or ebx, ecx
add edi, esi
xchg ecx, ebx
mov edi, 0xaea3399c
and edi, ecx
or ebx, edi
jmp 0x477743
add edx, dword [esp + 0x88]
inc edi
mov edi, ebx
and esi, 0xaea523c6
sub edi, ebx
xchg esi, edi
mov ecx, esi
add ecx, 0xaea58d14
shl edi, 0x1c
jmp 0x477321
jne 0x476136
bswap esi
and ebx, ecx
xchg ebx, edi
xchg edi, esi
add ecx, edi
shl ecx, 0x1a
xchg ebx, esi
mov esi, 0xaeab9242
jmp 0x476d13
mov dword [esp + 0xcc], 0
xor ecx, edi
add edi, ecx
xchg ecx, esi
shr ebx, 4
jmp 0x476b89
mov edx, dword [edx]
xor edi, ecx
or esi, edi
xor edi, esi
bswap ecx
sub esi, ecx
rol esi, 2
sub edi, 0xaeb06afa
or edi, esi
sub ebx, edi
mov ebx, edi
jmp 0x475b48
add edx, dword [esp + 0xd0]
inc edi
or ecx, 0xaecb7aa4
add esi, ecx
mov edi, ecx
or ecx, 0xaecbc4de
add esi, ebx
mov ebx, ecx
neg ecx
or edi, 0xaecc2d5c
shr esi, 0xc
sub edi, ecx
mov edi, 0xaecc7b1e
jmp 0x477c4e
mov dword [esp + 0x100], edx
or ebx, edi
and esi, 0xaed2ec9e
or esi, ebx
or esi, 0xaed31f4e
xor edi, ecx
ror esi, 0xb
and edi, ecx
not ecx
sub edi, 0xaed3a692
rol esi, 0x16
jmp 0x475c89
mov edx, dword [esp + 0x5c]
or ebx, ecx
sub ebx, edi
sub esi, ebx
inc esi
ror ebx, 0x1c
add esi, 0xaed4659a
add ebx, ecx
or ecx, ebx
add esi, edi
xor ecx, 0xaed4ccf8
sub ecx, 0xaed4e652
sub ebx, esi
jmp 0x4761f2
mov edx, dword [edx]
not esi
sub edi, 0xaed7a580
sub ecx, ebx
and ecx, edi
xor edi, ebx
add edi, ebx
sub esi, ebx
inc ebx
or ebx, ecx
xchg ebx, ecx
bswap esi
and edi, ecx
add ecx, esi
sub ebx, edi
jmp 0x47577f
mov dword [esp + 0x5c], edx
not ecx
and edi, 0xaed9f77e
neg ecx
dec edi
rol ebx, 7
sub edi, 0xaeda6336
sub ebx, edi
bswap ebx
jmp 0x476d36
sub dword [esp + 0xcc], 8
xor ecx, edi
sub ecx, ebx
add esi, edi
inc ebx
jmp 0x476357
add dword [esp + 0xcc], 4
rol esi, 7
add ebx, esi
xchg edi, esi
xchg ecx, ebx
rol ecx, 0xd
xor ebx, esi
add ebx, ecx
or edi, 0xaedea00e
jmp 0x475e3e
mov eax, 2
and edi, 0xaedec490
add ecx, edi
xchg esi, edi
mov esi, edi
rol edi, 0xa
xor edi, 0xaedf4750
neg edi
sub esi, edi
shl esi, 0x14
xchg edi, ebx
sub ebx, esi
or ebx, ecx
jmp 0x475be7
mov edx, dword [esp + 0x5c]
sub esi, ecx
sub edi, esi
mov edi, esi
ror edi, 2
not esi
sub ecx, esi
sub esi, edi
and ecx, 0xaee397a0
add ecx, ebx
and esi, edi
add edi, ebx
ror esi, 0x1c
jmp 0x4766cc
mov edx, dword [edx]
ror edi, 0x15
shl esi, 4
inc ebx
add esi, ecx
mov esi, 0xaee6ce16
and ebx, edi
jmp 0x477a2a
add edx, 0x3c
sub esi, edi
xor ebx, ecx
add esi, 0xaeeb0034
add ecx, 0xaeeb1bc2
dec esi
not ecx
and ebx, esi
sub edi, esi
jmp 0x477702
mov edx, dword fs:[edx]
or ecx, edi
add edi, ebx
mov edi, 0xaef1ec48
mov edi, ebx
jmp 0x47705f
mov edx, dword [edx]
xor ecx, edi
shl esi, 0x17
sub esi, ebx
or ecx, edi
or ebx, edi
mov ebx, esi
jmp 0x477ddd
add edx, 0xc
add edi, ecx
or ebx, ecx
add esi, ebx
mov ebx, 0xaef579a0
and ecx, 0xaef5931a
add ebx, esi
or edi, 0xaef5ca82
or edi, esi
mov esi, edi
and esi, 0xaef615d2
add ecx, esi
dec ebx
jmp 0x4774dc
movzx edx, word [edx]
or esi, ebx
add edi, ebx
xor ecx, 0xaef69dec
xor esi, edi
jmp 0x4765b6
mov dword [esp + 0xcc], edx
or edi, 0xaef9c3e6
or ebx, 0xaef9dd58
xor esi, edi
shr ecx, 0x1d
jmp 0x476dc3
mul edx
sub ebx, edi
or edi, ebx
inc edi
neg esi
inc esi
shr ecx, 0x12
inc edi
sub esi, ebx
jmp 0x477c95
cmp byte [edx], 0
jmp 0x476493
add edx, dword [esp + 0xd0]
and esi, edi
and ecx, edi
jmp 0x475dbf
mov eax, 4
or edi, ebx
sub ebx, esi
or edi, ecx
add ecx, ebx
rol edi, 0xc
or ecx, 0xaf08a4c6
or ebx, 0xaf08beb8
and ecx, 0xaf08d878
jmp 0x47708d
add edx, dword [esp + 0xd0]
or ecx, edi
or ebx, 0xaf110ec8
add ecx, edi
sub edi, 0xaf1140f4
sub ecx, ebx
bswap ecx
and esi, edi
add ebx, edi
mov esi, ebx
mov ecx, edi
jmp 0x47710a
add edx, dword [esp + 0xcc]
and edi, esi
and esi, edi
jmp 0x475a52
mov edx, dword [edx]
add ebx, ecx
mov ecx, esi
inc ecx
or ebx, esi
mov esi, 0xaf150dbc
sub edi, ecx
add ebx, 0xaf1545c2
mov edi, ecx
ror ecx, 0xa
and edi, ebx
mov ecx, edi
add ebx, esi
jmp 0x475d4c
mov edx, dword [esp + 0xd0]
add ecx, edi
nop
xor ebx, esi
xor ebx, ecx
not ebx
shr edi, 0x15
mov esi, ecx
shl ebx, 8
or edi, ebx
and ecx, edi
jmp 0x477470
add dword [esp + 0x5c], 4
xor edi, ecx
or esi, edi
xor esi, ebx
or ecx, edi
mov ebx, edi
and ecx, edi
xor esi, edi
or esi, ebx
or edi, ecx
xchg esi, ecx
jmp 0x476bb7
mov edx, dword [edx]
xor ecx, ebx
and ecx, edi
neg ecx
or edi, ebx
ror ebx, 6
sub ebx, edi
add edi, ebx
xchg ecx, esi
jmp 0x475f1d
add edx, 0x18
sub esi, ebx
rol ecx, 0x14
mov edi, 0xaf2c075e
xchg esi, edi
jmp 0x476e47
ret
rol eax, 8
mov ebx, esi
neg ecx
sub esi, ecx
shl edi, 0x11
inc esi
and ecx, edi
and edi, 0xaf804018
or esi, edi
jmp 0x476676
mov dword [esp + 0xd0], edx
and ebx, ecx
and ecx, 0xaf810864
sub edi, ecx
add esi, ecx
xor ecx, 0xaf81536e
ror ebx, 0x13
add ecx, ebx
xchg edi, ebx
jmp 0x477e04
xor al, byte [edx]
mov ebx, 0xaf86dc9c
neg ebx
inc ebx
neg esi
and esi, ebx
xor ecx, esi
xor esi, edi
add esi, ebx
and edi, ecx
shl ecx, 6
and esi, ebx
ror esi, 0xa
neg ebx
sub ebx, ecx
jmp 0x4779f8
mov edx, dword [esp + 0xd0]
xchg ecx, esi
xor ecx, 0xaf894800
sub ecx, edi
sub ebx, edi
mov edi, esi
or ecx, 0xaf89b0e4
add esi, ecx
add ecx, 0xaf89e178
xor ecx, ebx
xor esi, ebx
jmp 0x475958
push edx
dec ebx
or edi, esi
xchg ecx, esi
xchg ecx, ebx
shr ecx, 0x18
xor ebx, ecx
add ebx, ecx
sub esi, edi
jmp 0x475805
mov dword [esp + 0x88], eax
add edi, esi
sub edi, ebx
neg ebx
or ecx, ebx
and ecx, esi
shr ebx, 4
not esi
or edi, ecx
inc edi
add edi, ecx
jmp 0x476cd3
add edx, dword [esp + 0xd0]
and ebx, ecx
shl esi, 1
inc ecx
mov ebx, edi
xor esi, ebx
add esi, ebx
mov edi, 0xaf9ce2e4
xor edi, ebx
mov edi, esi
xchg ecx, ebx
sub ebx, esi
mov edi, esi
jmp 0x476c89
mov edx, dword [esp + 0xd0]
xor esi, ebx
add esi, ebx
and ebx, edi
rol esi, 7
not ebx
dec esi
sub ebx, 0xaf9e218e
add edi, ecx
add ebx, esi
or edi, 0xaf9e6a20
jmp 0x476ef8
mov dword [esp + 0x88], 0
xchg esi, edi
bswap edi
sub edi, ebx
xor ebx, esi
jmp 0x475fb5
add dword [esp + 0xcc], eax
and ecx, esi
xor ecx, ebx
rol ecx, 0x1d
sub esi, ebx
or ecx, edi
add edi, esi
or ecx, ebx
ror edi, 0x19
and edi, esi
inc edi
jmp 0x475cec
sub esp, 0x118
xor edi, 0xafa66f1a
and ecx, esi
shr ecx, 0x1b
not edi
shr esi, 3
and edi, ecx
add ecx, esi
sub esi, 0xafa72656
xchg ecx, edi
and edi, ebx
jmp 0x477e2c
mov edx, dword [esp + 0xcc]
mov esi, ebx
and ecx, 0xafa79242
add ecx, ebx
or esi, ebx
not ecx
and ebx, esi
jmp 0x47686c