Function at 0x54a25f
Capabilities:
Encrypt data using chaskey

Disassembly:
cmp eax, dword [esp + 0x38]
jmp 0x54a8d1
mov dword [esp], 0
rol ebx, 0x12
xor ecx, ebx
sub ecx, edx
xor ebx, esi
or ebx, ecx
or ecx, esi
jmp 0x54aff1
mov dword [esp], edi
and esi, edx
rol ecx, 0x1c
xchg esi, edx
bswap edx
mov ebx, ecx
xchg ebx, edx
add ebx, ecx
and ebx, esi
xor edx, ebx
shl esi, 0x14
jmp 0x549cdd
inc dword [esp + 0x108]
xor ecx, 0x57f11f7d
xor ecx, ebx
mov edx, ecx
shr ebx, 0x1f
add ebx, edx
not esi
and esi, ebx
or ebx, edx
sub ebx, ecx
xor ebx, 0x57f216bd
xor ebx, esi
ror edx, 0x12
jmp 0x54c6ec
add dword [esp + 0xc0], 4
add esi, ecx
bswap esi
add edx, ebx
xchg edx, ecx
jmp 0x549af4
add edi, dword [esp]
or ecx, 0x580f9231
and esi, ebx
nop
or ecx, 0x580fe535
mov ecx, ebx
not esi
not ebx
shr ebx, 0xf
inc ebx
mov ecx, esi
and edx, ecx
mov esi, 0x5810c401
jmp 0x54cc28
mov edi, dword [esp + 0xc0]
xchg ecx, esi
add ecx, edx
xor ecx, 0x58134dcb
shr ebx, 0x13
mov ecx, edx
and edx, ebx
sub edx, esi
xchg esi, ebx
bswap ebx
and ecx, 0x58140f23
and ecx, esi
xchg esi, ecx
neg ebx
not ecx
jmp 0x54c930
mov edi, dword [esp + 0xc0]
xor ecx, 0x5814a5ff
dec esi
mov ecx, esi
mov esi, ebx
xchg ebx, ecx
xchg ebx, ecx
mov edx, 0x58154bad
not edx
jmp 0x54b992
mov edi, dword [edi]
dec esi
dec ebx
xchg ebx, edx
xor ecx, ebx
rol edx, 4
sub ebx, edx
shl esi, 0xc
shr ecx, 0x1a
neg ecx
xor ebx, esi
jmp 0x54a953
add dword [esp + 0xc0], eax
and ecx, edx
mov ebx, 0x58182757
xor esi, ebx
and edx, ebx
mov ebx, edx
mov ecx, esi
sub edx, ebx
neg edx
or edx, esi
shl esi, 0x14
jmp 0x54a5bf
mul edi
or edx, ecx
shl edx, 0x1a
mov esi, edx
and edx, esi
mov esi, ebx
sub ecx, edx
add edx, esi
sub esi, ebx
jmp 0x54a56f
mov edi, dword [esp]
add ecx, esi
or ecx, edx
xor esi, 0x582603bd
xor edx, esi
xchg ebx, esi
xor edx, ebx
ror ecx, 0x12
rol edx, 0x12
xor ecx, esi
or ecx, ebx
mov edx, esi
or edx, ebx
shl ecx, 5
sub edx, esi
jmp 0x54bd0c
mov edi, dword [esp]
dec ecx
neg esi
sub ebx, edx
or esi, edx
shr ecx, 8
shr esi, 0x18
sub ecx, 0x58290c6b
bswap ecx
sub ebx, edx
shl esi, 0x14
jmp 0x54aa69
mov edi, dword fs:[edi]
add esi, ecx
ror edx, 0x16
sub edx, 0x5829c1d3
xor ebx, 0x5829dee9
mov ebx, esi
xor edx, ebx
not ebx
mov ecx, 0x582a4f35
mov esi, 0x582a6b29
add esi, edx
xor esi, edx
and esi, ecx
jmp 0x54b185
xor al, byte [edi]
mov esi, ebx
sub ecx, esi
xor ecx, 0x582e8f71
and esi, edx
sub ebx, 0x582ed0ff
and esi, ecx
mov edx, esi
xchg esi, ebx
jmp 0x54b5cd
pop edi
bswap esi
bswap esi
shr ecx, 0xe
mov edx, esi
rol esi, 0x12
or ecx, 0x58470e11
and ebx, edx
ror edx, 0x16
or ecx, ebx
xor ecx, edx
or ebx, 0x584802b7
and ebx, ecx
xor esi, edx
mov ecx, edx
jmp 0x5493f8
mov edi, dword [edi]
or ecx, 0x58506fa1
sub ecx, esi
dec esi
shr ebx, 0xa
sub edx, ecx
xchg ecx, edx
jmp 0x54c457
xor eax, eax
or ebx, 0x58574f9b
inc ecx
and esi, 0x5857b3db
and ebx, edx
not ebx
sub edx, 0x58584b33
jmp 0x549de2
add edi, dword [esp]
add edx, 0x585ca14d
sub ecx, 0x585cd25f
rol esi, 7
shl edx, 0x14
mov ebx, 0x585d6ebb
xchg ecx, ebx
bswap ebx
xchg edx, ecx
and ebx, esi
xor edx, esi
jmp 0x54b3ac
sub esp, 0x134
add ecx, ebx
sub ebx, edx
or ebx, ecx
inc ecx
xor ebx, edx
shl edx, 0xa
rol ebx, 0x1a
xor ebx, edx
shr ebx, 1
xor esi, ecx
not edx
mov ebx, 0x58770165
xor esi, ecx
mov ecx, ebx
jmp 0x54bfd6
mov dword [esp + 0xdc], 0
mov edx, esi
or ecx, ebx
and esi, edx
mov esi, edx
sub esi, ecx
neg ebx
sub ebx, ecx
rol edx, 0xa
sub edx, ebx
bswap esi
xor esi, ebx
add edx, 0x5887dbab
jmp 0x5494c4
mov edi, dword [esp]
and ecx, edx
add esi, ebx
xchg esi, ebx
sub ecx, ebx
not edx
or ebx, esi
xchg ecx, esi
xchg ebx, edx
jmp 0x54c817
sub dword [esp + 0xc0], 8
sub edx, 0x589e0975
and ecx, 0x589e3aef
dec ecx
or edx, esi
sub esi, 0x589ed3ab
not ebx
sub edx, 0x589f3781
sub edx, ebx
jmp 0x54ba63
mov dword [esp + 0x108], eax
or ebx, esi
not esi
xor edx, ebx
sub ebx, 0x58a23d1f
xor edx, ecx
ror esi, 4
sub ebx, 0x58a2d7af
shr ecx, 0x1d
jmp 0x54a524
mov edi, dword [edi]
and ecx, edx
add esi, ebx
xor edx, 0x58a3aaab
sub edx, esi
and esi, ebx
inc esi
jmp 0x54bb20
mov edi, dword [esp + 0xc0]
mov esi, ebx
mov ecx, esi
shr ebx, 0x13
xchg ebx, esi
add esi, ecx
inc edx
xor esi, 0x58a68f0d
xor ecx, ebx
mov ebx, edx
sub edx, ebx
jmp 0x54b5f6
mov dword [esp + 0xdc], edi
or esi, ecx
add ecx, esi
rol ebx, 0x19
xchg ecx, ebx
sub ecx, 0x58a816a3
sub ebx, 0x58a84701
sub edx, ecx
and edx, 0x58a8ae19
rol edx, 0xa
xchg edx, ecx
jmp 0x54969c
mov edi, dword [edi]
mov ebx, esi
shl ecx, 0xb
xor edx, ecx
sub edx, 0x58a9e321
sub ebx, edx
or ecx, 0x58aa43d9
add edx, ecx
bswap esi
and ebx, edx
xchg ecx, ebx
jmp 0x54a928
inc edi
and edx, ecx
xor edx, esi
xor ecx, 0x58b3ec9b
sub ecx, edx
xor edx, ebx
and ecx, ebx
dec ecx
mov ecx, esi
xchg edx, esi
xchg ecx, edx
mov ebx, esi
mov ebx, esi
jmp 0x54c3d4
jne 0x54969c
dec ecx
mov ecx, esi
shr ebx, 0x1f
dec esi
xor ebx, esi
and esi, ecx
or ebx, esi
xor ecx, ebx
shl edx, 7
add esi, ecx
bswap esi
mov ebx, edx
jmp 0x549929
mov dword [esp + 0xc0], edi
rol edx, 0x1c
inc edx
rol ecx, 0x12
sub esi, 0x58d6e4c5
add edx, esi
dec ebx
inc esi
add ebx, ecx
xchg ebx, edx
xor esi, 0x58d80a2b
mov ebx, esi
neg ecx
jmp 0x549d23
add edi, dword [esp]
nop
shr edx, 4
add edx, esi
inc ebx
mov ecx, edx
not ecx
neg edx
add esi, 0x58da01d9
or edx, esi
add ecx, ebx
add ebx, edx
shr esi, 1
and esi, ecx
mov esi, 0x58db1ff9
jmp 0x54ac08
add dword [esp + 0xc0], edi
not esi
add esi, ecx
add esi, edx
mov ecx, esi
xor esi, ecx
or esi, 0x58e9d453
mov ebx, ecx
mov edx, ebx
jmp 0x54b7a6
mov edi, dword [esp + 0xdc]
or ecx, ebx
rol ebx, 0x1b
sub edx, 0x58ed2929
add edx, ecx
add esi, ecx
sub esi, edx
or edx, 0x58edebed
not ecx
and ebx, 0x58ee4ff1
xchg edx, esi
neg esi
shl ecx, 2
jmp 0x54bd8a
jne 0x549de2
not edx
or ecx, esi
xor edx, ecx
ror esi, 0x1e
xchg ebx, esi
mov esi, ebx
xchg esi, edx
shl ecx, 0x18
jmp 0x549f12
mov edi, dword [esp + 0x108]
xchg edx, esi
mov esi, edx
xor ecx, 0x58fd1373
xor ebx, ecx
and ebx, edx
nop
sub esi, 0x58fddc95
add ecx, esi
or ecx, edx
xor edx, ebx
and esi, 0x58fe9623
add ecx, esi
jmp 0x549c3e
mov dword [esp + 0xc0], edi
shl edx, 4
ror esi, 4
sub ebx, 0x58ff70eb
sub ecx, edx
or ecx, edx
xor ebx, 0x58fffdf3
add esi, ebx
xchg esi, ebx
mov ebx, 0x5900899f
sub ecx, esi
jmp 0x54aabb
mov edi, dword [edi]
not ecx
xchg ebx, esi
or ebx, ecx
add edx, ebx
mov esi, 0x5921dfff
xor ecx, edx
or edx, 0x59223f67
add ecx, 0x592270d9
mov edx, esi
mov ecx, edx
dec edx
rol ebx, 0x19
xchg esi, edx
neg ebx
xor ebx, esi
neg esi
jmp 0x54c01a
mov dword [esp + 0xc0], 0
ror ebx, 0x11
and ebx, 0x5936d025
add ebx, 0x5937019f
xor esi, 0x5937327d
sub esi, edx
add ecx, esi
mov edx, ebx
or edx, ebx
add esi, ebx
sub esi, ecx
mov edx, ecx
mov esi, 0x5938a519
jmp 0x54cda1
mov edi, dword [edi]
and ecx, ebx
sub ecx, edx
shr edx, 0x1e
mov esi, ebx
xor edx, ecx
xor edx, ebx
add esi, 0x59450ed9
or ebx, ecx
xchg edx, esi
mov edx, ebx
shr ecx, 0x1d
sub edx, ecx
and edx, esi
xor edx, esi
jmp 0x54ba2c
add edi, 0xc
and esi, ebx
ror edx, 6
dec edx
or ecx, ebx
or esi, ebx
xor ebx, ecx
jmp 0x54a595
mov edi, dword [esp + 0xdc]
sub edx, ebx
mov esi, ebx
mov ecx, edx
xchg ecx, edx
xor ecx, 0x594c7a77
ror esi, 8
mov edx, esi
add ebx, 0x594d0969
nop
mov esi, ecx
or ebx, 0x594d9913
add edx, ebx
jmp 0x54b29b
mov edi, dword [edi]
or esi, ebx
not edx
sub ebx, 0x595b06bd
or esi, edx
dec ebx
sub ecx, esi
mov edx, esi
add ebx, 0x595bf1d9
xor ecx, esi
xchg ebx, ecx
jmp 0x54a09e
mov eax, 2
xchg esi, edx
and esi, edx
xor ecx, 0x59659c57
mov edx, ebx
not esi
xchg esi, edx
or edx, ecx
neg ecx
jmp 0x54abd9
push edi
rol ebx, 7
mov edx, ebx
xchg esi, ecx
xor edx, 0x596b5a3b
jmp 0x54a03d
ret
rol eax, 8
add ecx, edx
or ebx, 0x5988243f
and ebx, 0x59885591
rol esi, 0x14
and esi, ebx
sub ebx, ecx
and ebx, 0x59891adb
add ebx, 0x59894a87
jmp 0x54a6ca
mov edi, dword [edi]
and esi, edx
add ebx, 0x5989bacd
add ecx, 0x5989ead3
shr ecx, 0x11
not edx
sub esi, 0x598a878f
not ecx
bswap ecx
sub ebx, esi
or edx, ecx
or esi, edx
xor ecx, 0x598ba77b
jmp 0x54bddc
add dword [esp + 0xc0], 0x20
add edx, ecx
neg edx
mov ecx, ebx
add ebx, 0x59a241cd
or edx, ecx
xor esi, ebx
or esi, ecx
xor esi, edx
xchg ecx, ebx
mov ecx, esi
or ebx, ecx
rol ebx, 0x16
not edx
or ecx, esi
xchg ebx, edx
shr ebx, 0x1d
jmp 0x549ac3
mov edi, dword [edi]
or ecx, edx
xor ecx, esi
or edx, ebx
and esi, edx
sub ebx, edx
sub esi, 0x59bd5825
sub ebx, esi
rol esi, 0xd
or edx, ebx
shl esi, 0xe
jmp 0x549a4f
add edi, 0x18
ror ebx, 6
sub esi, ebx
or ecx, ebx
bswap ecx
bswap ecx
rol ebx, 0xe
xor edx, ebx
or edx, ecx
inc ecx
xchg edx, ecx
jmp 0x54bffb
mov edi, dword [esp + 0xc0]
and edx, esi
or esi, ecx
add ebx, 0x59c959b5
add ecx, edx
xor esi, edx
sub ebx, 0x59c9eebd
sub ebx, esi
add esi, ebx
jmp 0x549b40
add edi, 0xc
mov ebx, edx
sub edx, esi
add ebx, edx
sub ebx, edx
add ebx, esi
add ecx, 0x59d3acab
xchg esi, ecx
and esi, 0x59d40c4f
or ecx, edx
mov esi, 0x59d46ac3
jmp 0x54ae86
mov eax, 4
mov ecx, 0x5c5680a1
or ecx, edx
or ebx, ecx
or esi, ebx
xor ebx, edx
ror ecx, 0x1c
jmp 0x54c47d
add edi, 0x3c
xchg ecx, esi
and esi, 0x5c5ad505
xchg edx, esi
shr ebx, 0x11
sub ebx, ecx
xor esi, ebx
inc ebx
mov ebx, ecx
jmp 0x549fc2
add edi, dword [esp + 0x108]
or ecx, esi
sub esi, 0x5c5ed9b5
or edx, ebx
add ebx, edx
and ecx, edx
xor ecx, 0x5c5f4149
inc ebx
xor ecx, ebx
and edx, ebx
mov ebx, edx
jmp 0x54bc8c
add edi, dword [esp]
xchg edx, ecx
xor ecx, 0x5c6151bd
or ecx, esi
xor edx, ecx
add esi, ecx
and ebx, esi
shr esi, 0xa
ror edx, 0xa
and esi, 0x5c621053
xchg esi, edx
bswap ebx
rol ecx, 0x1e
xchg ebx, edx
or ecx, ebx
jmp 0x54c338
add dword [esp + 0xc0], 0x78
not ebx
mov esi, edx
mov ecx, ebx
and esi, ecx
sub esi, ebx
inc ebx
mov ecx, 0x5c635f83
sub ebx, ecx
bswap esi
not edx
jmp 0x54a47d
mov dword [esp + 0x108], 0
add edx, 0x5c71b259
bswap ecx
neg ebx
xor ebx, esi
sub edx, ecx
mov edx, ecx
sub edx, ecx
ror edx, 0x1f
jmp 0x54a380
mov edi, dword [edi]
bswap edx
neg esi
and edx, ecx
ror esi, 6
or ebx, 0x5c730c5f
dec ebx
xchg ebx, edx
not esi
and ecx, ebx
sub ecx, esi
jmp 0x5494f9
mov edi, dword [edi]
add ecx, 0x5c73b779
add ecx, 0x5c73d389
add edx, ebx
xchg edx, ecx
not ecx
or ebx, 0x5c744333
xchg edx, ecx
xor esi, ecx
jmp 0x54b101
mov edi, 0x30
mov edx, ecx
mov esi, 0x5c87cbd5
dec ebx
add edx, ebx
add edx, ecx
mov edx, ebx
mov ecx, ebx
not ecx
jmp 0x549d49
add esp, 0x134
dec ebx
sub ecx, 0x5c90e3b5
add edx, esi
shr esi, 0xf
xor esi, edx
dec esi
or ebx, 0x5c91b34d
dec ebx
jmp 0x54b57c
cmp byte [edi], 0
jmp 0x54abbc
mov dword [esp + 0xc0], edi
dec edx
mov esi, edx
bswap esi
add ecx, esi
neg ecx
add ecx, edx
ror ecx, 6
add ebx, esi
xchg ecx, ebx
dec ecx
mov esi, 0x5ca075af
xchg edx, esi
jmp 0x54be0f
movzx edi, word [edi]
xor ebx, ecx
and edx, esi
or ecx, esi
mov edx, ecx
mov edx, ebx
sub ebx, 0x5d87cb97
inc ecx
or ebx, 0x5d8813a9
xchg ecx, ebx
mov edx, 0x5d885785
jmp 0x54c5aa
add edi, dword [esp]
and edx, 0x5d888949
ror ebx, 0x1f
ror ebx, 0x17
mov edx, ebx
add esi, ecx
xchg ecx, esi
mov ebx, edx
xor edx, esi
mov ebx, ecx
and edx, ecx
mov edx, esi
ror esi, 1
bswap edx
add edx, 0x5ddc369f
jmp 0x54a5e3
mul edi
neg ebx
or ecx, esi
mov ebx, esi
add ecx, 0x5de44a1f
jmp 0x549b5c
add dword [esp + 0xdc], 4
ror ebx, 7
sub ebx, ecx
bswap edx
ror edx, 0x16
add ebx, ecx
add ecx, edx
or edx, esi
xor esi, ecx
sub esi, edx
or esi, edx
and ebx, 0x5deeb8eb
sub esi, ecx
xchg edx, ecx
sub ebx, ecx
inc ecx
sub esi, 0x5def3e19
jmp 0x54b199
add edi, dword [esp + 0xc0]
xor esi, edx
bswap ebx
sub ecx, esi
not esi
or ebx, esi
rol ecx, 9
xchg esi, ebx
inc edx
xchg ebx, esi
xchg ecx, esi
xchg ecx, esi
inc esi
neg ecx
xor edx, 0x5df8cd6d
jmp 0x54a611
mov edi, dword [edi]
and ebx, esi
bswap ecx
ror esi, 0xa
or esi, edx
xor esi, 0x5e02a17d
or ebx, ecx
sub edx, 0x5e02ee9f
xor ebx, esi
and ebx, ecx
xchg edx, ebx
add edx, 0x5e037123
add ebx, ecx
jmp 0x54c4a3
mov dword [esp + 0xdc], edi
xchg ebx, ecx
not ebx
sub esi, ecx
inc ecx
jmp 0x54b347
mov dword [esp + 0x38], edi
mov ebx, edx
and edx, esi
sub edx, ecx
ror edx, 0x13
xor edx, ebx
mov ecx, esi
not ebx
add edx, 0x5e28bd7b
xor esi, edx
add ebx, ecx
add ecx, edx
and edx, ecx
jmp 0x54c243