Function at 0xa23747
Capabilities:
Encrypt data using chaskey

Disassembly:
add esp, 0xd4
and ebx, edx
shr esi, 0x1c
shr ebx, 0x1b
mov esi, 0x4a686e7d
xor esi, 0x4a6892b1
xchg ecx, edx
and edx, ecx
mov esi, 0x4a68e54d
jmp 0xa232ba
mov edi, dword [edi]
and edx, ecx
sub esi, ebx
or esi, ebx
shr ebx, 0xd
or ebx, 0x4a6979cf
and ebx, ecx
jmp 0xa220b6
mov edi, dword [edi]
shl esi, 0xd
or esi, edx
sub ecx, edx
rol esi, 8
inc edx
and ecx, ebx
or ecx, ebx
mov esi, 0x4a70b9c5
or edx, 0x4a70d941
mov ecx, edx
mov esi, 0x4a710d7d
inc esi
xchg esi, ebx
xor ecx, ebx
add ebx, ecx
and ecx, 0x4a7192f5
jmp 0xa22ce9
add edi, dword [esp + 0x30]
xor edx, 0x4a749371
or edx, ebx
or esi, ecx
not esi
mov edx, ecx
ror ebx, 4
jmp 0xa226ec
mov dword [esp + 0x5c], edi
mov esi, ecx
xor ebx, 0x4a755ce5
xchg edx, ebx
sub ebx, edx
xor ecx, esi
xor ebx, 0x4a760cc5
mov esi, ebx
mov esi, ecx
add esi, 0x4a765ea1
and esi, edx
jmp 0xa222ca
cmp byte [edi], 0
jmp 0xa23851
mov edi, 0x30
neg esi
not ecx
bswap ebx
shl ecx, 0xb
mov ecx, 0x4a8208fb
mov ebx, esi
sub edx, ecx
sub ebx, edx
xchg edx, ecx
add esi, ebx
neg esi
sub edx, 0x4a82c64b
jmp 0xa23d01
inc dword [esp + 0x30]
mov esi, ebx
mov ebx, esi
and edx, esi
not ebx
jmp 0xa2246d
pop edi
dec ecx
sub esi, ecx
ror edx, 9
sub ebx, ecx
inc ecx
mov edx, ebx
and esi, 0x4a8c7daf
or esi, ecx
or ecx, esi
xor esi, 0x4a8cdf4b
rol ebx, 0xd
xor ebx, 0x4a8d289b
xchg ebx, edx
or ecx, esi
jmp 0xa2317c
inc edi
sub esi, edx
inc edx
xchg edx, ebx
and edx, 0x4a8dd8fb
and ecx, 0x4a8df521
and ebx, 0x4a8e11ed
mov esi, ebx
inc ecx
dec esi
and esi, 0x4a8e83c9
jmp 0xa221a5
add dword [esp + 0xa0], 4
mov ecx, edx
sub esi, edx
and esi, 0x4a902ffd
and ecx, esi
xchg edx, ebx
inc ebx
shl edx, 8
rol ecx, 7
sub esi, ebx
xor esi, ebx
jmp 0xa23d34
mov dword [esp + 0x30], 0
inc ebx
rol esi, 0xd
mov esi, edx
xchg edx, esi
xor ecx, edx
xchg esi, edx
sub ebx, ecx
or edx, esi
mov esi, ecx
and ecx, edx
add edx, ebx
sub edx, ecx
jmp 0xa22c76
sub dword [esp + 0x7c], 8
or edx, ebx
mov esi, edx
rol esi, 0xb
inc edx
ror ecx, 0xb
bswap edx
xor ecx, 0x4a930461
sub esi, edx
mov esi, edx
inc esi
add edx, 0x4a937169
mov edx, ecx
jmp 0xa22529
mov edi, dword [esp + 0x7c]
add ebx, 0x4a95b4dd
xchg ebx, edx
add ecx, esi
xchg ecx, ebx
xor ebx, edx
mov ebx, 0x4a96381b
dec ebx
and edx, ecx
xor edx, esi
xchg ebx, ecx
inc ebx
dec esi
jmp 0xa22a94
mov edi, dword [esp]
xor edx, esi
shl esi, 0xc
ror ebx, 0x1a
add esi, ecx
mov ecx, ebx
add ebx, edx
and esi, ecx
xchg ecx, esi
jmp 0xa24232
add edi, dword [esp]
ror ecx, 3
or ebx, 0x4a99bcc1
mov ebx, 0x4a99d9bb
and ecx, esi
dec ecx
xchg edx, ecx
dec esi
add ecx, ebx
xor ecx, esi
add ebx, 0x4a9a9929
xor esi, edx
xchg ecx, ebx
jmp 0xa233f4
mov eax, 4
xchg ecx, ebx
and ecx, 0x4aa41e49
or ecx, edx
or ebx, 0x4aa45535
mov ebx, esi
and edx, 0x4aa4889f
and edx, 0x4aa4a8b7
mov ebx, esi
jmp 0xa23ec5
mov dword [esp + 0xa0], edi
or edx, ecx
mov esi, ebx
sub ecx, edx
or ecx, 0x4aa9de9b
or esi, 0x4aa9fac1
mov esi, 0x4aaa17bb
and edx, esi
or ecx, esi
xchg ecx, ebx
not ebx
jmp 0xa22318
xor eax, eax
xchg edx, ecx
sub edx, 0x4aaac0f1
not ecx
or ebx, 0x4aaaffd3
sub ebx, edx
or ebx, edx
jmp 0xa24148
mov edi, dword [esp + 0x7c]
mov ebx, esi
rol edx, 0x18
inc ebx
add ebx, 0x4aabac6f
jmp 0xa23d63
mov edi, dword [esp]
mov ebx, 0x4aad90e9
or ebx, ecx
rol edx, 0x13
or ebx, ecx
xchg ebx, ecx
bswap edx
jmp 0xa22de2
mov dword [esp], edi
inc edx
add ecx, 0x4aaedfe5
add esi, edx
xchg ebx, edx
or ecx, ebx
and esi, ebx
neg ebx
dec edx
xchg esi, ecx
sub edx, ebx
add ecx, ebx
bswap edx
xor ebx, esi
mov esi, edx
jmp 0xa22586
add edi, 0xc
xchg edx, ecx
rol edx, 0x1f
add edx, ecx
xchg edx, esi
and esi, 0x4ab1e649
add esi, 0x4ab202f7
nop
sub edx, esi
jmp 0xa22dbd
mov edi, dword [edi]
sub ebx, edx
sub ecx, esi
ror ebx, 8
xchg edx, ebx
xchg esi, ecx
and ecx, esi
xor esi, ecx
sub esi, edx
inc edx
add edx, ebx
jmp 0xa21fee
mov dword [esp + 0x7c], edi
or edx, ecx
xchg ecx, esi
mov esi, edx
and ebx, 0x4abdcc37
jmp 0xa2281a
mov edi, dword [edi]
not edx
mov edx, ecx
add edx, esi
and edx, esi
sub esi, ecx
mov esi, ecx
add ecx, esi
not esi
mov ebx, edx
mov ebx, esi
jmp 0xa231eb
add edi, dword [esp]
shl ecx, 0xc
xor ebx, esi
add ecx, ebx
xor edx, 0x4ac2ae99
not esi
xor ecx, edx
mov ecx, esi
shr ecx, 0x16
shr ecx, 1
and ebx, edx
rol ebx, 0x12
or edx, esi
and ebx, esi
or esi, edx
jmp 0xa21fc7
mov dword [esp], 0
xchg edx, ecx
sub esi, ecx
or edx, esi
neg edx
or ebx, esi
ror esi, 0x1c
shr esi, 4
and ecx, esi
and edx, ecx
or ecx, edx
jmp 0xa24b5f
mov dword [esp + 0xa0], 0
xchg edx, esi
xchg ecx, esi
ror edx, 0x1b
mov esi, edx
mov ecx, edx
xor esi, 0x4ad33dad
sub ecx, ebx
rol edx, 0x16
jmp 0xa22b7c
add edi, 0x18
xchg ecx, ebx
xor edx, ecx
add ecx, esi
dec ebx
add edx, ebx
or esi, ecx
mov esi, edx
neg ecx
dec ecx
and edx, esi
jmp 0xa22d03
mov edi, dword [edi]
xchg esi, ecx
mov edx, ecx
xor esi, edx
ror edx, 5
xor ebx, esi
and edx, ebx
dec ecx
mov ecx, 0x4ad7ec4b
shr ecx, 1
sub ebx, edx
or ebx, edx
add edx, ecx
add edx, esi
sub ecx, 0x4ad88e53
xchg esi, edx
sub ecx, edx
jmp 0xa22846
mov edi, dword [edi]
mov ecx, edx
add ecx, ebx
ror ecx, 6
xor esi, 0x4adf1489
xor ecx, ebx
add ebx, edx
add esi, ecx
ror edx, 0x18
and ecx, esi
xor edx, ebx
mov edx, ecx
or ecx, esi
jmp 0xa2455a
add dword [esp + 0x7c], edi
or ecx, 0x4ae01aa5
xor ebx, 0x4ae03ec3
mov ebx, ecx
sub ebx, edx
xchg edx, ecx
shl esi, 0x15
jmp 0xa22f60
mov edi, dword [esp + 0x30]
sub ecx, 0x4ae42595
mov edx, ecx
add ecx, edx
and ebx, esi
add edx, ecx
add esi, ebx
jmp 0xa22ef0
mul edi
add esi, ebx
xchg edx, ecx
nop
or esi, edx
add ebx, ecx
sub edx, ebx
ror ecx, 3
add ebx, edx
jmp 0xa240ef
add dword [esp + 0x7c], 0x20
and esi, ebx
mov esi, ecx
add edx, ecx
mov ebx, edx
not ecx
add ecx, 0x4aed9e93
neg esi
xor ecx, 0x4aeddd41
add esi, ecx
add edx, esi
dec esi
mov ecx, edx
or ebx, 0x4aee5e6b
xor edx, ecx
jmp 0xa24a7f
add edi, dword [esp]
add esi, edx
not edx
bswap ecx
xchg edx, ebx
and ecx, esi
xor esi, ebx
mov ecx, 0x4af58fd7
mov ebx, esi
jmp 0xa22793
mov dword [esp + 0x7c], edi
shl esi, 0x10
or esi, edx
or edx, esi
mov esi, ecx
or edx, ecx
neg edx
or ecx, esi
xor edx, ecx
jmp 0xa24125
mov edi, dword [edi]
or edx, ecx
xchg edx, ebx
xor edx, esi
mov esi, ebx
add edx, 0x4afbae79
add edx, 0x4afbcad3
add edx, ecx
or esi, edx
bswap ecx
bswap ecx
rol edx, 2
add edx, ecx
jmp 0xa234fa
cmp eax, dword [esp + 0x5c]
jmp 0xa23985
add edi, dword [esp]
xchg edx, ebx
or ebx, ecx
mov ebx, esi
or edx, esi
xor ecx, esi
and ecx, edx
sub edx, ebx
and edx, ecx
not esi
or esi, edx
shr edx, 5
ror ecx, 0x1d
add esi, ecx
sub esi, edx
jmp 0xa230cd
ret
push edi
neg ecx
and ecx, ebx
sub esi, 0x4b18ba61
or ecx, ebx
sub ecx, edx
rol esi, 0x15
and edx, 0x4b192a29
mov esi, edx
jmp 0xa227be
mul edi
and ebx, ecx
sub edx, ebx
add esi, ecx
not ecx
add esi, edx
rol ecx, 0x1f
sub ecx, esi
or esi, ecx
and esi, edx
bswap esi
sub edx, ecx
or ecx, edx
rol edx, 0x18
xor ecx, ebx
jmp 0xa24d2d
mov edi, dword [edi]
or edx, esi
ror edx, 0xd
or esi, edx
bswap edx
and ebx, ecx
inc edx
sub edx, 0x4b1d1a73
xchg ecx, esi
rol ebx, 0x14
sub ecx, edx
xchg edx, ebx
or esi, ebx
shl ebx, 1
bswap esi
jmp 0xa23034
mov dword [esp + 0x7c], edi
sub esi, ebx
or ecx, ebx
shr esi, 8
add esi, ebx
mov ecx, ebx
xchg ecx, ebx
ror ebx, 0x18
xchg ecx, ebx
rol ecx, 6
xor ebx, esi
jmp 0xa235c7
add dword [esp + 0x7c], 0x78
not ebx
mov ebx, edx
mov edx, esi
sub ebx, esi
sub ecx, edx
mov edx, ecx
shr esi, 0xa
xor edx, ecx
jmp 0xa23daa
sub esp, 0xd4
sub edx, esi
and ebx, ecx
mov edx, 0x4b372b1f
mov esi, 0x4b3744f5
bswap ecx
xchg ebx, ecx
bswap edx
sub esi, edx
add ebx, esi
xchg ebx, edx
xor edx, 0x4b38005d
mov edx, 0x4b381a1d
jmp 0xa22493
add edi, dword [esp + 0x7c]
or ecx, esi
or ebx, 0x4b3a4d25
mov ecx, 0x4b3a6649
xor esi, ecx
shr ecx, 7
dec ecx
jmp 0xa23b02
jne 0xa24148
add esi, 0x4b3ee385
and ebx, 0x4b3efd73
sub esi, ebx
xchg ebx, edx
mov edx, ecx
xor ebx, 0x4b43d541
sub edx, ebx
xor ebx, 0x4b440947
jmp 0xa223f3
jne 0xa22318
or ecx, ebx
neg edx
and ecx, edx
shl ebx, 0x15
dec ecx
xor ecx, esi
mov edx, 0x4b4e15af
xchg esi, ebx
sub ebx, 0x4b4e495b
xchg ecx, ebx
add edx, ebx
xor ebx, ecx
shr ecx, 0x1c
sub esi, ecx
jmp 0xa241b6
mov edi, dword [esp + 0x7c]
and ecx, esi
or edx, ecx
not esi
add esi, ebx
dec ecx
or esi, ecx
rol edx, 0xa
xchg ecx, edx
sub edx, esi
and edx, ecx
or esi, ebx
or esi, ecx
xchg esi, edx
xchg edx, ecx
jmp 0xa24508
mov edi, dword [edi]
and edx, ebx
add ebx, ecx
mov edx, ecx
and ecx, 0x4b5a3de1
or edx, ecx
or ebx, ecx
xchg esi, edx
dec ebx
or ebx, esi
shr esi, 0xc
and edx, ebx
add ebx, ecx
jmp 0xa22a0b
add edi, dword [esp]
sub esi, ecx
inc ecx
add ebx, 0x4b6c3871
xchg ecx, edx
ror esi, 0x11
mov edx, ecx
mov edx, esi
add ecx, esi
add ecx, edx
sub ecx, esi
or esi, ecx
or edx, ebx
jmp 0xa242da
mov edi, dword fs:[edi]
sub esi, 0x4b6d4a2b
or ecx, ebx
add esi, ebx
and esi, ebx
mov edx, esi
mov esi, ecx
jmp 0xa228a1
mov edi, dword [esp + 0xa0]
xor ebx, ecx
xchg ecx, ebx
xor esi, 0x4b6f0e15
sub ecx, ebx
rol edx, 0x15
xor esi, edx
and esi, ecx
inc edx
mov ebx, ecx
or ebx, ecx
neg ebx
mov esi, 0x4b700485
sub edx, ecx
sub ecx, ebx
jmp 0xa2498b
mov edi, dword [edi]
neg edx
sub esi, ecx
inc ecx
mov esi, ebx
add edx, 0x4b70ca19
dec edx
add esi, ebx
mov ecx, ebx
not esi
xor ebx, 0x4b7156d7
sub ebx, 0x4b71731d
sub edx, esi
sub ecx, 0x4b71a91b
sub esi, 0x4b71c515
jmp 0xa22aaf
mov edi, dword [esp]
rol esi, 0x12
and edx, 0x4b728433
not edx
xchg edx, ecx
xor ecx, esi
xchg ecx, ebx
jmp 0xa237bd
movzx edi, word [edi]
and ebx, esi
xchg esi, ebx
rol ebx, 5
add esi, 0x4b7b0285
add edx, ecx
sub ebx, 0x4b7b3987
add ecx, esi
add ecx, 0x4b7b6d69
add edx, ebx
or esi, 0x4b7ba471
mov esi, 0x4b7bc0eb
bswap ebx
bswap esi
rol ecx, 0x19
jmp 0xa2343d
mov dword [esp + 0x30], eax
or ebx, esi
or ecx, 0x4b9456f3
xor ebx, ecx
shl ebx, 7
mov ecx, esi
xor ecx, ebx
shl esi, 9
sub ebx, 0x4b94f277
mov ebx, edx
xor esi, ecx
inc edx
shr edx, 0x17
xchg ebx, ecx
and ebx, edx
inc ebx
ror ebx, 9
jmp 0xa224bb
mov edi, dword [esp + 0xa0]
not esi
shr esi, 8
sub ecx, ebx
xor ebx, 0x4b963fe3
shr ecx, 0x1e
xor ecx, esi
ror ecx, 7
xchg ecx, esi
jmp 0xa22147
xor al, byte [edi]
not ebx
or ebx, esi
dec edx
or ebx, ecx
or esi, ebx
add edx, ebx
and ecx, esi
mov esi, edx
xor esi, ebx
inc ecx
jmp 0xa24161
rol eax, 8
or ecx, ebx
and edx, 0x4b97f79d
xchg edx, esi
mov ecx, esi
mov edx, esi
and esi, ecx
or edx, ecx
or ebx, 0x4b988cbb
dec esi
mov esi, 0x4b98c665
mov esi, ebx
bswap ecx
and edx, ecx
xor edx, ecx
jmp 0xa22421
add dword [esp + 0x7c], 4
xor edx, ecx
and esi, ebx
rol ebx, 0x1f
mov esi, edx
shr edx, 0x10
neg ecx
shr ebx, 0xe
add edx, ebx
xor esi, edx
bswap esi
jmp 0xa23ada
add edi, 0x3c
and ebx, 0x4b9dfb29
add ebx, ecx
sub ebx, 0x4b9e2c23
add ecx, esi
shl ecx, 0x13
and edx, esi
xor edx, esi
add ebx, ecx
xchg edx, ecx
xor ebx, 0x4b9ee567
add edx, ecx
or esi, edx
jmp 0xa230ea
mov dword [esp + 0xa0], edi
or ecx, 0x4ba2e81d
or esi, ecx
add ecx, edx
and edx, ebx
dec ecx
xor ecx, ebx
or ecx, edx
xchg esi, ecx
jmp 0xa2443d
mov eax, 2
not ecx
or ecx, 0x4baf2f31
sub ebx, ecx
and edx, ebx
bswap ecx
sub ecx, esi
jmp 0xa22e44
mov edi, dword [edi]
shr edx, 0x11
shl ebx, 3
or ebx, ecx
sub ecx, edx
xor ebx, edx
sub ebx, esi
xchg edx, ebx
shr ecx, 7
sub ebx, ecx
shr esi, 0xa
sub ecx, ebx
inc esi
mov esi, edx
xchg edx, esi
or edx, esi
and ebx, esi
jmp 0xa23cd9
add edi, 0xc
shr ebx, 0x12
sub ebx, ecx
inc edx
add edx, 0x4bb8c761
xchg ebx, edx
mov edx, ebx
add edx, 0x4bb91b61
ror edx, 0x18
jmp 0xa228c1
mov edi, dword [edi]
xchg ecx, edx
shr ecx, 0x15
sub ebx, edx
and edx, ecx
ror esi, 0x17
or edx, 0x4bda6327
dec ebx
add esi, ebx
jmp 0xa225a4
mov edi, dword [esp + 0x7c]
xor ecx, 0x4be3991f
and esi, 0x4be3bd27
add ebx, ecx
sub esi, ecx
not ebx
mov ebx, esi
and edx, ebx
add ebx, edx
and ecx, 0x4be4ad39
sub ecx, ebx
sub edx, esi
mov edx, ebx
ror ecx, 0x14
or ebx, 0x4be53363
jmp 0xa23462
mov dword [esp + 0x7c], 0
add edx, esi
or ecx, esi
mov esi, edx
rol ecx, 0xe
xor esi, 0x4beb5741
ror ecx, 4
and esi, 0x4beb9833
and esi, 0x4bebbb81
mov ebx, esi
sub ebx, ecx
and edx, 0x4bec1c47
xor ecx, 0x4bec3c7f
jmp 0xa22164
add dword [esp + 0x7c], eax
mov ebx, edx
sub edx, esi
sub edx, 0x4bff1235
xor ecx, esi
and edx, ecx
sub ebx, esi
jmp 0xa227d9