Function at 0xa24656
Capabilities:
Encrypt data using chaskey

Disassembly:
mul edx
or ebx, ecx
or edi, esi
sub edi, ebx
and esi, 0x404b00ad
rol ebx, 0x1f
mov ebx, ecx
add esi, edi
mov edi, esi
dec edi
jmp 0xa23afa
mov edx, dword [esp + 0x70]
xor edi, 0x407555dc
xchg ecx, esi
dec ecx
and ecx, ebx
xor esi, 0x4076a63e
xchg ecx, edi
or esi, edi
and ebx, esi
mov ecx, 0x40780d7b
jmp 0xa24120
mov dword [esp + 0x70], 0
add esi, 0x408110b7
mov ebx, ecx
neg edi
add esi, ebx
sub edi, ecx
xor ecx, edi
add ecx, 0x40831c0f
jmp 0xa23a37
mov edx, dword [esp + 0xb8]
xchg ebx, esi
or ebx, edi
sub ecx, esi
neg esi
mov ebx, ecx
mov ecx, edi
or esi, ebx
not ecx
mov ebx, esi
or ebx, ecx
xchg edi, ebx
shl esi, 0x1a
sub edi, esi
jmp 0xa24e82
cmp eax, dword [esp + 0xd8]
jmp 0xa23917
mov dword [esp + 0xb8], edx
sub edi, ecx
dec ebx
ror esi, 7
sub edi, 0x40fa89d9
mov ebx, 0x40fadce3
add edi, 0x40fb32f9
dec ebx
jmp 0xa24eb1
add edx, 0x3c
add ebx, esi
mov ebx, edi
shl ecx, 0x15
or esi, 0x40fd0d26
xchg esi, ecx
bswap ebx
xchg ecx, edi
mov ebx, ecx
add ecx, edi
jmp 0xa23ddf
add dword [esp + 0xb8], 4
neg ebx
not ecx
or ebx, 0x4105cdd7
and ecx, esi
not ecx
mov esi, ecx
bswap edi
xor edi, 0x41078ba6
or ebx, esi
add ecx, edi
dec edi
or ebx, 0x41092e39
sub edi, ecx
jmp 0xa2457d
mul edx
and ebx, esi
xchg ebx, ecx
sub edi, 0x4111b4c6
sub ecx, 0x41120a07
mov ebx, ecx
rol esi, 3
and esi, edi
sub ecx, esi
mov ebx, 0x4113dd26
or ebx, ecx
add edi, ebx
jmp 0xa23b87
movzx edx, word [edx]
rol edi, 3
bswap ebx
mov ebx, 0x412a264d
xchg edi, esi
shl ecx, 3
or ebx, ecx
add ebx, 0x412c76ed
sub esi, edi
not esi
jmp 0xa22781
xor al, byte [edx]
and ebx, ecx
xchg esi, ecx
mov esi, 0x41317c1c
and edi, ebx
and ecx, ebx
inc ecx
inc esi
add ecx, 0x4133a170
and ebx, esi
sub esi, ecx
add ebx, ecx
xor edi, ebx
xor edi, ecx
jmp 0xa24025
mov edx, dword [esp + 0x70]
add ecx, esi
mov esi, edi
neg esi
or esi, ecx
bswap edi
sub edi, 0x4140f420
jmp 0xa228d8
mov edx, dword [edx]
xor esi, ecx
sub ecx, edi
and ebx, edi
sub ebx, 0x4143a89c
xchg ebx, ecx
jmp 0xa240b8
add edx, dword [esp + 0xcc]
and ecx, esi
inc ebx
sub edi, ecx
xor ecx, edi
mov ecx, ebx
mov ecx, esi
jmp 0xa23c80
mov edx, dword [edx]
add ecx, esi
add edi, esi
add esi, edi
mov esi, 0x416b8f22
inc esi
sub ecx, esi
jmp 0xa23121
mov edx, dword [edx]
xor edi, ebx
xchg ecx, esi
mov ebx, edi
xor esi, edi
mov ecx, edi
add esi, ebx
and ebx, esi
or edi, esi
mov ecx, esi
xchg ecx, edi
or esi, ecx
dec esi
and ecx, 0x4181218d
jmp 0xa244b2
mov edx, dword [esp + 0x70]
xor ebx, ecx
mov ebx, esi
add esi, ecx
or edi, ebx
xor esi, edi
sub esi, edi
jmp 0xa23b50
mov edx, dword [edx]
xor esi, edi
and edi, 0x41b0287c
xchg ebx, edi
rol esi, 0x1a
rol ebx, 0x15
jmp 0xa2290f
mov dword [esp + 0xcc], 0
inc ebx
xor ebx, esi
xor edi, esi
bswap esi
sub ecx, ebx
add ebx, 0x41d9f7e3
inc esi
neg ecx
sub ecx, 0x41dabf3c
xchg ecx, ebx
xchg edi, ebx
jmp 0xa22275
mov edx, dword [esp + 0xcc]
xchg esi, ebx
add esi, 0x41dfe656
or ecx, 0x41e0255d
and ebx, 0x41e06135
xor ebx, 0x41e09dad
rol ebx, 0x1a
bswap esi
sub edi, ebx
and edi, ebx
jmp 0xa24329
jne 0xa22872
and esi, 0x41f461cf
add esi, 0x41f49c0a
mov ecx, ebx
xchg esi, ecx
xor ebx, ecx
and ebx, ecx
and ebx, edi
jmp 0xa244cb
mov edx, dword [esp + 0xcc]
xchg edi, esi
add ecx, esi
mov edi, ecx
xor esi, 0x420291a2
add esi, ecx
and ecx, esi
mov ecx, edi
mov edi, ebx
or esi, edi
or ecx, esi
jmp 0xa24495
add edx, dword [esp + 0xcc]
inc esi
xchg esi, ebx
xor ecx, ebx
or esi, edi
xchg esi, ecx
mov ebx, edi
xchg ecx, ebx
xchg ebx, ecx
jmp 0xa24ed5
mov dword [esp + 0x70], edx
add ebx, ecx
mov ecx, ebx
neg ecx
xor ebx, edi
add esi, edi
neg ebx
ror esi, 0x12
not esi
jmp 0xa224d3
mov eax, 2
add ecx, edi
add ecx, 0x422ee0ad
xor ebx, esi
xchg edi, esi
mov ebx, 0x422fde89
mov ebx, ecx
add esi, ecx
shl esi, 7
not ebx
rol edi, 4
jmp 0xa24bb7
xor eax, eax
xor ecx, edi
sub ebx, edi
xchg ecx, esi
dec edi
sub esi, 0x4238b8bc
jmp 0xa22872
mov edx, dword [edx]
xor ebx, ecx
add esi, 0x424160cb
xchg ebx, ecx
xor edi, esi
bswap esi
xchg ecx, ebx
neg edi
neg ecx
mov esi, 0x42431c1e
jmp 0xa239ab
add dword [esp + 0x70], 4
xor ecx, 0x42472681
add ebx, ecx
xchg ebx, ecx
or ecx, edi
sub edi, ecx
jmp 0xa22bd2
inc edx
neg ecx
mov ecx, 0x42792f1a
not ecx
or edi, esi
shl ecx, 0x19
add edi, ecx
not ebx
and edi, ebx
xor ecx, 0x427ae67b
jmp 0xa2401d
mov dword [esp + 0x70], edx
bswap edi
ror ecx, 0x10
and esi, ecx
or ecx, esi
xchg ecx, ebx
xor edi, 0x428162f6
rol ecx, 0x1a
add edi, ebx
add ebx, 0x42822846
dec ecx
xor edi, esi
and ecx, 0x4282e0ca
or ecx, esi
rol edi, 0xb
xchg ecx, edi
jmp 0xa23858
add dword [esp + 0x70], 0x78
shl ecx, 0x10
add edi, 0x42a67a23
sub esi, ecx
and ecx, esi
or ecx, 0x42a73355
sub ecx, 0x42a77e28
xchg esi, ecx
mov ecx, esi
sub ecx, esi
shl ecx, 0x14
jmp 0xa22e80
mov edx, dword [esp + 0x70]
or ecx, ebx
mov edi, ebx
sub esi, ebx
or ebx, esi
xor esi, edi
add esi, ecx
add ebx, ecx
add esi, 0x42ab5d65
or esi, 0x42ab98ef
sub esi, 0x42abd607
jmp 0xa22c7a
jne 0xa24eb1
ror esi, 0x1b
sub ecx, ebx
xor esi, ebx
xor ebx, esi
sub ecx, ebx
neg esi
sub ebx, esi
add edi, esi
mov esi, edi
jmp 0xa23397
mov dword [esp + 0x70], edx
neg edi
rol esi, 5
rol ecx, 0xd
xor ecx, esi
mov ecx, 0x42b9c10c
sub ecx, ebx
xor esi, edi
xor ecx, 0x42ba7416
jmp 0xa23078
add edx, 0xc
or ecx, esi
and ecx, ebx
xor ebx, ecx
rol edi, 0x14
bswap esi
add ebx, 0x42bfedfc
inc esi
jmp 0xa2516d
mov dword [esp + 0xd8], edx
or ecx, 0x42c798f5
xchg ecx, ebx
mov edi, ebx
xor esi, ebx
and edi, esi
rol esi, 0x11
mov ebx, ecx
sub ebx, ecx
and ecx, ebx
mov edi, ecx
add ecx, edi
jmp 0xa24007
mov dword [esp + 0xc4], eax
shr ecx, 0xe
rol edi, 0x1b
add edi, ebx
and edi, ebx
mov esi, 0x42d6afbf
sub edi, ecx
add ecx, 0x42d73b22
bswap edi
add esi, 0x42d7b9e3
add ecx, ebx
jmp 0xa23d52
mov edx, dword [edx]
bswap edi
mov ecx, esi
sub edi, ebx
add esi, ecx
shr edi, 0x10
xchg ebx, ecx
jmp 0xa24b42
add dword [esp + 0x70], eax
sub esi, 0x42e0861a
bswap edi
not esi
and edi, esi
sub ebx, edi
mov esi, 0x42e1d1c7
ror ecx, 0xa
dec ecx
jmp 0xa23893
mov eax, 4
sub ebx, ecx
dec esi
not esi
xchg edi, esi
and ecx, ebx
dec ecx
add esi, edi
jmp 0xa2282f
add esp, 0x104
neg ebx
and ebx, esi
or ecx, esi
or edi, ecx
add edi, esi
and ebx, ecx
add ebx, esi
mov ebx, esi
add esi, edi
xchg edi, esi
add edi, esi
mov esi, ecx
inc ecx
jmp 0xa23cda
ret
sub dword [esp + 0x70], 8
neg ecx
add ecx, edi
and esi, 0x4303d9fb
sub ecx, esi
mov ebx, 0x430451f3
neg esi
xor ecx, ebx
mov ebx, ecx
add esi, ecx
jmp 0xa221fd
mov dword [esp + 0xb8], edx
or ebx, ecx
or edi, ebx
neg edi
xchg edi, ecx
add ecx, ebx
or ebx, esi
mov edi, esi
and esi, 0x4308778e
jmp 0xa23284
mov edx, dword [edx]
mov edi, ebx
sub ebx, edi
xchg ebx, ecx
mov edi, ebx
add ecx, esi
xchg ebx, edi
and edi, esi
add edi, ecx
and ebx, edi
mov ebx, 0x43116825
jmp 0xa23666
mov edx, 0x30
dec edi
or ecx, 0x433927c8
ror esi, 0x1c
xchg ebx, edi
jmp 0xa245af
cmp byte [edx], 0
jmp 0xa22fcf
rol eax, 8
add esi, ebx
mov ecx, ebx
or esi, 0x433a99f6
xor ebx, edi
ror esi, 0x13
jmp 0xa235fc
add edx, dword [esp + 0xcc]
and esi, edi
mov esi, edi
add ecx, ebx
and ebx, edi
shr edi, 0x13
add ecx, ebx
xor ecx, 0x4346cd67
jmp 0xa2268a
mov edx, dword [edx]
bswap esi
not ecx
rol ebx, 0x15
mov esi, ebx
add ecx, ebx
jmp 0xa2454d
add edx, dword [esp + 0x70]
shr ecx, 3
add esi, ecx
add ecx, ebx
or ebx, ecx
or ecx, edi
or edi, 0x4378d3f9
jmp 0xa24b01
add dword [esp + 0x70], edx
or ebx, ecx
inc edi
shr ecx, 0xf
and esi, ebx
mov ebx, 0x439cdddd
or ecx, edi
mov ebx, ecx
jmp 0xa24fc1
add edx, 0x18
sub esi, ecx
and edi, ebx
mov esi, edi
add edi, ebx
xchg esi, edi
dec esi
and ecx, ebx
neg ebx
add edi, esi
jmp 0xa24565
pop edx
sub ecx, ebx
mov edi, ecx
sub esi, ebx
shr esi, 0xc
not esi
sub esi, ebx
add edi, ecx
xor esi, 0x43a1bd86
jmp 0xa2256f
add edx, dword [esp + 0xcc]
xchg esi, ebx
xor esi, 0x43aa18f4
mov ebx, ecx
mov ebx, esi
jmp 0xa231bf
mov edx, dword [edx]
sub edi, 0x43ae052a
mov esi, 0x43ae4387
add ebx, edi
or ecx, edi
mov ebx, esi
jmp 0xa247df
mov edx, dword [esp + 0xb8]
mov edi, ecx
sub ebx, ecx
shl esi, 0x15
xor ecx, ebx
add ecx, ebx
xchg esi, ebx
and ebx, 0x43b0d368
and esi, edi
and esi, edi
add ebx, 0x43b19b8d
mov edi, ebx
or esi, ebx
and ecx, esi
dec edi
add edi, esi
jmp 0xa22a17
mov edx, dword fs:[edx]
ror esi, 2
sub ebx, edi
not edi
xor esi, edi
mov ebx, 0x43b43557
jmp 0xa246ae
sub esp, 0x104
xor ecx, esi
and edi, ebx
shr esi, 3
add esi, ebx
xchg ebx, ecx
mov ecx, 0x43c38da7
sub esi, ebx
neg ecx
or esi, edi
not edi
and esi, edi
and ebx, edi
xchg ecx, esi
add ecx, edi
or edi, ebx
jmp 0xa24e1c
add edx, 0xc
add ebx, 0x43c8d1be
shr ecx, 0x13
xor edi, 0x43c94dc9
sub edi, 0x43c99893
xor ecx, edi
and esi, ebx
inc esi
sub ebx, edi
jmp 0xa23354
mov dword [esp + 0xcc], edx
xchg ebx, esi
add ecx, esi
add edi, ecx
and ebx, edi
and esi, ebx
mov ebx, esi
mov esi, 0x43e36d67
and ecx, esi
jmp 0xa24bdd
mov edx, dword [edx]
add ecx, ebx
sub ecx, 0x43fd7a9f
inc ebx
add edi, esi
mov ecx, edi
or ebx, 0x44006787
sub ecx, esi
xor esi, ecx
xor esi, edi
xchg ecx, ebx
and edi, esi
mov esi, ecx
jmp 0xa22ab0
mov edx, dword [edx]
shl ebx, 0x1f
mov ecx, esi
mov edi, ecx
sub esi, ebx
add edi, 0x442eb1d3
mov ecx, ebx
add ecx, 0x442f3bb0
jmp 0xa23953
add edx, dword [esp + 0xcc]
and ecx, 0x44316662
and ecx, esi
sub ecx, edi
and edi, ebx
or ecx, edi
mov ebx, 0x44329b4a
add ecx, ebx
and esi, ebx
add edi, ebx
mov ebx, edi
xchg ecx, ebx
and edi, ebx
jmp 0xa23d8a
mov edx, dword [esp + 0xc4]
xor ecx, edi
not esi
and edi, 0x443bee94
add esi, 0x443c69e8
add esi, ebx
sub esi, ecx
xchg ebx, ecx
xor esi, ecx
sub edi, ebx
jmp 0xa2206c
mov edx, dword [esp + 0xcc]
inc ecx
shr ecx, 0x1b
rol edi, 2
and edi, ecx
add ebx, esi
shr edi, 0x13
add ebx, 0x4441719a
ror ecx, 6
sub ecx, esi
bswap esi
inc ebx
shr ebx, 0x11
xor esi, ecx
sub ebx, 0x44433a15
add ecx, ebx
jmp 0xa226ae
mov dword [esp + 0xc4], 0
mov ebx, edi
xchg esi, ecx
xor esi, ecx
inc ecx
inc esi
and ebx, edi
mov ebx, 0x44720ebc
nop
sub ecx, 0x44728e0b
jmp 0xa2512c
add edx, dword [esp + 0xc4]
sub esi, ebx
xor edi, esi
sub ebx, esi
ror ebx, 0x1d
and ebx, edi
add esi, edi
xor ebx, ecx
jmp 0xa23c48
inc dword [esp + 0xc4]
sub ebx, ecx
shl ecx, 0x1c
ror esi, 1
dec ebx
mov edi, ebx
or ebx, esi
xchg ebx, esi
shl edi, 0x16
xchg ebx, ecx
neg ecx
xchg ecx, ebx
jmp 0xa2270f
push edx
add ebx, 0x447f04bf
and ebx, 0x447f4590
xor ebx, 0x447f8430
or ebx, esi
and ecx, ebx
shl edi, 0xf
shr ecx, 0x1b
add ebx, edi
and esi, ebx
not ecx
ror ebx, 0xd
shr esi, 2
mov edi, ebx
or ecx, esi
rol esi, 0x1b
jmp 0xa232d7
add dword [esp + 0x70], 0x20
or ebx, esi
and ecx, ebx
neg esi
mov ebx, ecx
jmp 0xa228bc
mov dword [esp + 0xb8], 0
sub edi, ebx
add ebx, ecx
and esi, ecx
or edi, ecx
xor ecx, edi
ror esi, 2
bswap ebx
mov ecx, 0x44b40671
mov edi, ebx
mov ebx, edi
or esi, ebx
jmp 0xa22e17
mov edx, dword [edx]
xchg esi, ecx
sub ecx, 0x44bc2a09
mov ecx, 0x44bc727a
sub esi, ebx
jmp 0xa248d4