Function at 0x5a0bfc
Capabilities:
Encrypt data using chaskey

Disassembly:
sub esp, 0xf8
or edx, 0xc7c475d
ror ecx, 0xe
neg ebx
xchg edi, ebx
xor ebx, edx
add edi, edx
rol edx, 0xb
and edx, edi
mov ecx, 0xc9876f1
xchg edx, ebx
jmp 0x5a43cb
mov esi, dword [esi]
or ebx, edx
xor ecx, edx
or edx, ecx
shl edi, 0xe
xor edx, edi
and edi, 0xe7d8f77
add edx, ebx
add ebx, ecx
dec edi
or edi, ebx
sub edi, edx
add ebx, edx
jmp 0x5a4408
add esi, 0xc
or edi, 0xe8b336d
neg edx
and edx, ecx
xchg ebx, ecx
sub ecx, edx
dec ebx
sub edx, ecx
not edi
or edi, ebx
and edi, edx
add edi, 0xe8f89c0
xor edi, edx
ror edi, 0x16
nop
jmp 0x5a2ced
add dword [esp + 0xe4], esi
shr edx, 1
or edx, edi
xor ecx, 0xe9284ac
mov ebx, ecx
and ecx, ebx
xchg ecx, edi
xchg ecx, ebx
sub ebx, 0xe93bc29
sub edx, ecx
jmp 0x5a2bac
jne 0x5a2ab3
inc ecx
neg edx
bswap edx
add ebx, edx
bswap ecx
xchg ecx, edx
inc edi
rol edx, 6
mov edi, ebx
mov ebx, edi
add edx, edi
xor ecx, ebx
mov ecx, edx
sub ebx, ecx
and edi, ebx
jmp 0x5a15c6
rol eax, 8
shl ecx, 0x12
and ecx, edx
mov edi, edx
inc ecx
xchg ebx, edx
or edi, ecx
sub ecx, edi
jmp 0x5a1682
add dword [esp + 0xa4], 4
dec edx
xchg ecx, edi
rol edi, 1
xor edx, 0xf0c3782
nop
xor ebx, edx
or edx, ebx
xchg ecx, edi
jmp 0x5a1f49
pop esi
add ebx, edx
not edx
xchg edx, ebx
xor ebx, 0xf1778ec
sub edi, ebx
not ebx
sub edx, 0xf18bf02
and edx, edi
or edi, ecx
or edi, ebx
xchg ecx, edx
dec edx
sub ecx, ebx
jmp 0x5a1e3a
mov dword [esp + 0xe4], 0
mov edx, ecx
dec edi
xor edx, 0xf226bdd
shl edx, 0x11
sub ebx, ecx
or ebx, edx
and edi, edx
mov edx, ecx
not edi
jmp 0x5a159a
mov dword [esp + 0x40], esi
and ebx, edx
or edi, ebx
or ebx, edi
dec ebx
add ecx, edx
mov edx, ecx
or edx, ecx
sub edx, ebx
and ecx, edx
inc ecx
xor edi, edx
ror edx, 0x15
mov ecx, 0xf35ba58
add ecx, edi
jmp 0x5a349f
mov eax, 2
xor ecx, edx
xchg edi, ecx
sub edx, edi
xor ecx, edx
xchg edi, edx
add edx, 0xf520d09
inc ebx
xor edi, ecx
xor edi, 0xf5a4c01
and ecx, 0xf5ac05c
and edi, 0xf5b35b6
jmp 0x5a1a6a
mov dword [esp + 0xf4], esi
not ebx
sub ecx, 0xf8785ff
ror edx, 0x19
add ebx, 0xf887595
or edx, 0xf88e298
mov ecx, edi
bswap ecx
xor ecx, ebx
shl ebx, 0xe
jmp 0x5a1d8f
add dword [esp + 0xe4], 4
xor edx, edi
shr edi, 7
ror edx, 0xe
or ebx, 0xf8caf2d
or edx, ebx
or ebx, edx
add ebx, edi
xchg edx, ecx
add ecx, edi
rol ebx, 0x14
or edx, 0xf968272
jmp 0x5a3305
add esi, dword [esp + 0x40]
inc edx
or edi, ebx
dec ebx
xor ebx, edx
dec ebx
xor ecx, ebx
and ebx, edx
xor edi, 0xf9a2cb9
bswap edi
mov edx, ebx
jmp 0x5a20df
inc esi
xor edx, ebx
or edi, 0xfac4140
or ecx, edx
nop
or ebx, edi
or edi, edx
and ebx, edi
xor edx, edi
or ebx, edx
xchg ecx, edx
sub edx, ecx
dec ebx
jmp 0x5a3526
mov esi, dword [esp + 0xe4]
add ecx, edx
add edx, edi
and ebx, edx
and ebx, edx
ror ebx, 7
xor ebx, edx
mov edx, edi
jmp 0x5a239f
mov esi, dword [esp + 0xe4]
sub edi, 0xff3eea6
xchg ecx, ebx
and ecx, edx
not edx
xor edx, ecx
and ecx, ebx
and ebx, ecx
xor ebx, edx
dec edx
neg edx
inc edx
xchg ebx, edi
neg ebx
add ecx, edx
jmp 0x5a3a04
movzx esi, word [esi]
sub ebx, edi
and ebx, edx
sub edi, edx
or edx, edi
xor edi, ecx
bswap ebx
xor ecx, edi
jmp 0x5a366f
mov esi, dword [esp + 0xe4]
xor edx, ebx
sub edx, ebx
rol edx, 3
xor ebx, ecx
shl ebx, 0xd
xchg ebx, edx
xor ebx, edx
jmp 0x5a1e6b
mov esi, dword [esp + 0x7c]
rol edi, 7
mov ecx, edx
xor edi, edx
shr ecx, 0xe
ror edi, 2
bswap edi
sub ebx, ecx
and ecx, edx
xchg edx, ebx
jmp 0x5a1c17
mul esi
and edi, 0x114369b6
mov ebx, edi
not edi
sub edx, ecx
or ecx, 0x1145722d
or ecx, ebx
sub edx, edi
sub edi, 0x1146fb3f
jmp 0x5a3f6c
mov esi, 0x30
xor ebx, edx
mov edi, ebx
or edi, ebx
xchg ebx, edi
xor ecx, ebx
inc edi
mov edi, 0x11b2a1d3
rol edi, 0x12
xchg ecx, ebx
mov edx, edi
jmp 0x5a23d9
cmp eax, dword [esp + 0xf4]
jmp 0x5a118c
mov esi, dword [esi]
inc ecx
xor edx, ebx
shr edi, 0x1e
mov edx, 0x1214ec96
or ebx, edx
dec edx
and ecx, ebx
add ecx, edx
xchg edi, ecx
jmp 0x5a15f4
mov esi, dword [esp + 0xa4]
xchg edx, ecx
or edx, ebx
rol ecx, 1
jmp 0x5a2265
push esi
mov edi, 0x12a7e79a
inc ebx
add ecx, edi
or edx, 0x12a95b63
sub ebx, edx
mov ebx, edx
and edi, edx
sub ecx, 0x12ab6859
xchg edi, ecx
and ecx, edi
mov edi, ebx
add ecx, edi
jmp 0x5a22cb
mov dword [esp + 0xe4], esi
not ecx
xchg edi, ecx
xor edi, edx
rol ecx, 0x1f
mov edi, ebx
add edi, ebx
sub edx, ebx
and edx, edi
sub edx, 0x132fcf9a
or edx, edi
xor ecx, ebx
or edi, edx
jmp 0x5a37a1
add esi, dword [esp + 0x40]
and edx, 0x134d3ac9
sub edi, ebx
dec edx
xchg edx, ebx
or ebx, ecx
or ebx, ecx
mov edx, ebx
add edi, ebx
bswap ebx
and edx, ebx
or ecx, edi
or ebx, edi
add ecx, edx
mov edx, 0x1353df94
jmp 0x5a3b5f
mov esi, dword [esi]
inc edi
sub ecx, edx
bswap ecx
or edi, ecx
ror edi, 0xf
jmp 0x5a36ba
mov dword [esp + 0xa4], esi
add edx, ecx
nop
dec edi
xchg ebx, ecx
mov ebx, edx
shr ecx, 8
xchg edx, ecx
jmp 0x5a2ab3
xor eax, eax
ror ecx, 0x10
neg edx
and edi, 0x13d59e4d
rol edx, 0x1d
xor ecx, ebx
and ecx, edx
xchg ebx, edi
add ebx, edx
mov edx, ebx
rol edx, 6
or ebx, 0x13d9942c
rol edi, 0xa
ror ebx, 0xd
jmp 0x5a3c25
mov esi, dword [esi]
add ecx, 0x14051dc6
xchg ebx, edx
mov edi, edx
and edi, 0x140d34f4
mov edx, ecx
ror ebx, 0x1e
jmp 0x5a2133
mov esi, dword fs:[esi]
bswap ecx
xor ecx, edx
xor edi, 0x14211dcb
add ebx, ecx
xor edi, 0x14220d43
ror edx, 0x10
add ecx, ebx
jmp 0x5a2700
add dword [esp + 0xe4], 0x78
neg ecx
dec edx
or edi, ecx
jmp 0x5a29b9
mov esi, dword [esi]
sub edx, 0x14fc209b
and edx, ecx
inc edx
bswap ebx
mov edi, ebx
xchg ebx, edi
sub edi, ebx
jmp 0x5a3700
add esi, 0xc
sub edi, 0x1519baf1
sub ecx, edx
and ecx, edi
xor edi, ecx
mov edi, 0x151eb598
add ebx, edi
add ecx, edx
sub edx, ecx
and edx, ecx
jmp 0x5a2a3b
mov esi, dword [esp + 0x40]
ror edx, 0xc
and ebx, edi
xor edx, ecx
mov ebx, edx
sub ebx, edx
add ecx, ebx
shr ebx, 9
xchg ebx, edx
or edx, edi
add edi, ebx
xor edx, edi
or ecx, 0x15f67eaa
sub edx, 0x15f6ead2
jmp 0x5a3832
add esi, 0x3c
xor edx, ebx
xchg ebx, ecx
or edi, edx
bswap edi
sub edi, 0x15ff0de1
sub ecx, ebx
neg edx
xor ecx, edi
or ebx, 0x1600d2dc
mov ecx, ebx
neg edi
or edi, edx
xor ebx, ecx
jmp 0x5a2620
mov esi, dword [esi]
and ecx, 0x16032fec
add ebx, ecx
sub edx, ebx
and edx, edi
rol ebx, 0x17
add ecx, edx
and edi, ebx
sub ebx, ecx
add ebx, 0x1616306b
shr ebx, 0x1f
xchg ebx, edx
or edx, ecx
xor ecx, edi
neg ecx
add edx, edi
jmp 0x5a1005
inc dword [esp + 0x7c]
add edi, ecx
dec ecx
ror edi, 0x14
and ecx, ebx
dec ecx
mov ecx, ebx
neg ecx
sub edx, ecx
or edx, edi
sub edi, 0x162aefbf
bswap edi
not ebx
and ecx, edx
add edi, edx
rol ecx, 0xe
mov edx, edi
jmp 0x5a12e7
add dword [esp + 0xe4], 0x20
add edi, ecx
xor edx, ebx
xchg ebx, edx
mov edi, ebx
add edi, 0x16807878
and edx, ecx
add ebx, edx
xor edi, 0x16817618
bswap ebx
jmp 0x5a174b
add esi, dword [esp + 0x7c]
not edi
or edi, 0x168d7e1e
add ecx, edi
add ebx, edx
or ecx, edi
and ebx, 0x168f3aef
jmp 0x5a405e
mov esi, dword [esi]
or ebx, 0x16bbcb94
and ebx, 0x16bc3ad0
add edx, 0x16bcab56
bswap ecx
and edi, ebx
and edx, ebx
xchg ecx, edi
add edx, ebx
xor ecx, edi
dec ecx
xor ebx, edx
not edi
inc ecx
inc ecx
jmp 0x5a0f68
mov dword [esp + 0xa4], 0
xchg edi, ebx
xchg edx, ecx
jmp 0x5a39c8
add esi, 0x18
add edx, 0x1789d68a
xor ebx, edi
and ebx, edx
xor edx, ecx
shr edi, 0x18
and edi, ecx
or edi, edx
ror edi, 0x17
rol ebx, 0x14
jmp 0x5a33e8
mov esi, dword [esp + 0x40]
add ebx, edx
mov ecx, ebx
sub edx, edi
xor ecx, edi
sub ecx, edi
and edx, ebx
shl ecx, 0xb
shr edi, 0x17
or edi, edx
sub edx, edi
sub ebx, edi
xor edi, ebx
dec edi
jmp 0x5a1030
mov esi, dword [esp + 0xe4]
dec edi
and edx, 0x181e963d
shl ebx, 0x14
xchg edi, edx
xor edx, ecx
add ebx, edx
jmp 0x5a3d79
add dword [esp + 0xe4], eax
xor ebx, 0x18235ac1
sub edx, edi
sub ebx, ecx
xor edi, 0x1824b670
or ecx, 0x182525dd
xor ecx, edx
not ecx
add ebx, edi
sub edi, ecx
not edx
jmp 0x5a1730
mov esi, dword [esi]
shl edi, 8
xchg ecx, edi
inc edi
xor ebx, edi
sub edi, ecx
not ebx
mov edi, ecx
shr edx, 0x19
shl edx, 7
or edi, ecx
ror ebx, 0xc
add ecx, 0x187727d8
jmp 0x5a13da
mov esi, dword [esp + 0x40]
shr ebx, 8
bswap ebx
bswap ebx
and ebx, 0x188eaefd
xor edi, ecx
jmp 0x5a2a11
cmp byte [esi], 0
jmp 0x5a358a
jne 0x5a3c25
neg edx
not ebx
bswap ecx
and ecx, ebx
xchg edx, edi
mov edi, ebx
bswap ecx
rol ecx, 2
xchg edx, ecx
shr edi, 4
xor edx, ebx
shr edi, 0x18
or edi, ebx
jmp 0x5a1349
mul esi
sub ecx, edi
sub ebx, edx
add edx, ecx
shl edx, 8
jmp 0x5a3338
add esi, dword [esp + 0x40]
shl ecx, 0x17
mov ebx, ecx
mov edx, 0x1911cc50
mov edi, ebx
xor ecx, edi
mov edx, edi
shr edi, 0x18
xor edx, 0x1912fb72
sub ebx, ecx
ror ecx, 0xa
jmp 0x5a1fa2
mov dword [esp + 0xe4], esi
add edi, ebx
bswap ebx
xor ecx, edi
neg ebx
xor edx, ecx
and edi, 0x1918a216
and ecx, edi
and ecx, ebx
neg edi
and edi, edx
or edx, edi
jmp 0x5a25c1
sub dword [esp + 0xe4], 8
xchg edx, ecx
bswap edx
neg ecx
mov ebx, edi
xchg edi, edx
shl edx, 5
bswap edi
add edi, 0x1945e6b7
or edx, 0x1946280e
jmp 0x5a1886
mov esi, dword [esp + 0xa4]
sub ebx, edi
xor ecx, ebx
rol edx, 0x13
xor ecx, ebx
mov ecx, 0x1947776b
shl edx, 0x1b
xor ecx, 0x1947fcdf
dec ebx
inc edi
and edi, edx
jmp 0x5a2c12
add esi, dword [esp + 0xe4]
and edi, edx
sub edi, edx
inc ebx
xor edi, ecx
and edx, 0x1989664c
xchg edi, ebx
mov edi, ebx
xor edx, edi
jmp 0x5a43e8
ret
mov dword [esp + 0x40], 0
or edi, 0x19c896e3
xor edx, 0x19d09fec
rol ecx, 0x1c
neg edi
xchg ebx, edi
dec ecx
mov edi, edx
xor ecx, ebx
neg ebx
jmp 0x5a139e
mov esi, dword [esi]
xor ecx, ebx
and ecx, 0x19d6e01e
xor edi, 0x19d7630b
xor edx, 0x19d7d432
sub edx, ecx
xor edi, ebx
add ecx, 0x19d92263
xor edx, ebx
mov edx, ebx
inc ebx
jmp 0x5a3ad2
mov dword [esp + 0xe4], esi
or edx, ecx
xchg ebx, edx
and edx, 0x19f1c8fa
sub ecx, edx
rol edx, 5
and ebx, edx
xor edi, ebx
mov edi, edx
and ecx, ebx
mov edx, edi
bswap ecx
xchg ecx, edx
jmp 0x5a32bd
add esi, dword [esp + 0x40]
mov ecx, 0x19ff9b5b
add ecx, ebx
add ecx, 0x1a0086fa
dec ecx
xchg edi, ebx
or ebx, ecx
dec edi
jmp 0x5a22b2
add esp, 0xf8
add ecx, 0x1a18c9c8
shr ecx, 0x13
mov edx, ebx
mov ecx, ebx
add ecx, ebx
xchg ecx, edx
xchg edi, edx
xor edi, ebx
bswap edi
bswap edx
jmp 0x5a3851
xor al, byte [esi]
inc ecx
add edx, ecx
ror ecx, 6
xor ebx, ecx
xor edx, ecx
not ebx
sub ecx, edi
add edi, 0x1a44c425
add edi, ebx
jmp 0x5a12d1
mov esi, dword [esi]
add ecx, edx
and edi, ebx
rol ebx, 0xd
or ecx, edi
sub ebx, 0x1aa8b39f
or ecx, 0x1aa92016
xor ecx, 0x1aa9a9dc
mov ebx, edx
sub ebx, 0x1aaac110
jmp 0x5a3e44
add esi, dword [esp + 0x40]
sub edx, 0x1ac94687
add edi, ebx
shl ecx, 0x12
neg ebx
bswap ebx
add ecx, edx
sub edi, edx
mov edx, ecx
bswap ebx
sub edx, ebx
xor ebx, edi
jmp 0x5a3efc
mov dword [esp + 0xa4], esi
xchg ebx, edx
sub edi, ecx
not ebx
neg edi
or ebx, ecx
shr ebx, 9
xchg edx, ebx
xchg ebx, ecx
xor ebx, edx
xchg edi, edx
sub ebx, edx
sub edx, ebx
inc ecx
neg ebx
sub ebx, edi
jmp 0x5a1481
mov dword [esp + 0x7c], eax
sub ecx, ebx
mov edx, ecx
mov edi, edx
not ebx
shl edx, 0xa
jmp 0x5a3779
mov eax, 4
not ecx
and edx, 0x1b64c560
add ebx, edi
mov ecx, edx
sub ecx, 0x1b657bf6
mov ecx, edi
neg edx
xor edi, edx
add ecx, edi
and edi, 0x1b8237b4
xchg ecx, ebx
or ebx, 0x1b82cfc2
neg edx
bswap edx
mov ecx, ebx
and ebx, edi
jmp 0x5a1785
mov dword [esp + 0x7c], 0
add ebx, edx
xor ecx, ebx
xchg ebx, ecx
inc edx
shr edx, 0x1a
shl ebx, 0x1f
jmp 0x5a2ffb
mov esi, dword [esi]
xor ecx, edi
and ebx, ecx
shl ebx, 4
dec edx
nop
xchg edi, ebx
sub edx, 0x1c3f616e
inc ecx
xor edx, ebx
bswap edi
ror edi, 0xe
jmp 0x5a3a50
mov esi, dword [esi]
rol edx, 0x18
and edx, edi
mov edi, 0x1c429a96
sub edx, ecx
mov edi, ecx
bswap ecx
mov edx, ebx
mov edx, ebx
add edi, ebx
add ebx, edx
jmp 0x5a30d4