Function at 0x4ccac0
Capabilities:
Encrypt data using chaskey

Disassembly:
add esi, dword [esp + 0xb8]
rol ecx, 0x1a
add edi, edx
or ecx, 0x540c9258
add edx, edi
and edx, ecx
sub ecx, 0x540d4b16
xor ebx, edx
and ecx, 0x540e3a4c
jmp 0x4c945c
jne 0x4cb34a
and edi, ecx
neg edi
shl ecx, 0x14
add edx, ecx
add edi, edx
inc ebx
xor ecx, edi
and edx, 0x5459b390
xchg edi, edx
xchg edi, ecx
jmp 0x4cb1fc
add esp, 0x108
add edx, edi
xchg edx, ecx
xor ecx, ebx
sub edx, edi
xchg edx, ecx
sub edi, 0x5968ee60
shl ecx, 0x1e
inc ecx
add edi, edx
bswap edi
jmp 0x4ca610
mov esi, dword [esp + 0xa0]
xor edx, edi
or ecx, edx
xchg ebx, ecx
sub ecx, edi
sub edx, 0x59abb1db
or ecx, edi
xchg edi, ecx
sub ebx, edi
inc ecx
jmp 0x4c93c2
mov esi, dword [esi]
sub edx, 0x59ae7b1f
inc ebx
add edi, 0x59af3331
xor edx, 0x59af6d39
mov edi, ecx
mov ebx, ecx
dec edx
mov edi, edx
sub edx, ecx
jmp 0x4cc338
mov esi, dword [esi]
sub ecx, edx
add edi, edx
xchg edi, edx
and ecx, ebx
sub edi, ecx
add edx, ebx
rol ebx, 7
and edi, 0x5b565f69
or ecx, edx
or edi, ebx
and ebx, edi
shl ecx, 0x13
or edi, ebx
inc ecx
shr ebx, 9
neg edi
jmp 0x4ccefe
mov eax, 4
or ecx, ebx
nop
not ecx
nop
xor edx, ebx
rol edx, 5
xor ebx, edx
dec ecx
or ebx, edi
add edi, ebx
jmp 0x4cad19
mov dword [esp + 0x50], 0
xchg ebx, edi
rol ebx, 9
sub edi, ecx
add edi, 0x5b6a3f6b
shl ecx, 3
bswap edx
xchg ebx, ecx
shr ebx, 0xa
inc ecx
jmp 0x4ca366
mov esi, dword [esp + 0x60]
add ebx, edx
or ebx, 0x5b6c10b4
xor ecx, edi
add ecx, edx
mov edi, ebx
shr ebx, 4
or ebx, 0x5b6d4b57
add edx, edi
and edi, edx
jmp 0x4c97b3
mov dword [esp + 0xa0], esi
xor ecx, edx
or ecx, ebx
or edi, ecx
ror ecx, 0x1d
add ecx, edx
xchg edx, edi
not edx
xor edi, ebx
shl edi, 0x15
jmp 0x4c9786
add dword [esp + 0xa0], 0x78
xor ecx, edx
mov ebx, 0x5ba23cda
mov ebx, edx
or ecx, edi
add edi, ecx
xor ebx, 0x5ba32710
add edx, edi
inc edx
sub ebx, 0x5ba3cfab
mov ecx, ebx
or edx, edi
jmp 0x4cb0cc
add esi, 0x3c
or edx, ecx
mov ebx, ecx
not edx
sub edx, edi
or ecx, edi
xor ecx, 0x5ba5a63d
jmp 0x4ccd0a
mov dword [esp + 0xb8], eax
sub edx, edi
shl ebx, 0xc
sub edx, ebx
jmp 0x4c9ab9
sub dword [esp + 0xa0], 8
mov edi, ecx
inc edi
sub ecx, edx
shl edx, 0x15
mov ecx, edi
dec edi
add edi, ebx
neg ebx
jmp 0x4cc09e
mov esi, dword [esi]
mov ecx, 0x5bdd4b5f
mov ecx, edi
mov edi, ecx
xchg edx, ecx
shl ebx, 0x19
sub ebx, edx
neg edi
xor edx, edi
jmp 0x4cb71c
mov esi, dword [esi]
rol edi, 0xe
neg ebx
and edx, 0x5be8e50f
and edx, 0x5be91d66
jmp 0x4cc19c
mov esi, dword [esi]
nop
xor ebx, 0x5bf4206e
not ebx
or edx, ebx
xor edx, ecx
and ecx, ebx
and edi, ecx
sub edx, ecx
add ebx, edx
neg ebx
jmp 0x4c9e78
mov dword [esp + 0xa0], esi
or ebx, 0x5c165654
not ebx
xchg edx, ecx
bswap edx
jmp 0x4cc380
mov eax, 2
or ecx, ebx
dec ecx
mov edx, ecx
and ecx, 0x5c181133
xchg edi, ecx
xchg edx, ebx
add ebx, ecx
mov edx, 0x5c18ee6c
add edi, 0x5c1927f9
jmp 0x4cb9e2
cmp eax, dword [esp + 0x6c]
jmp 0x4c91f1
mul esi
xor edx, ecx
sub edi, 0x5c4ed59e
xchg edx, ebx
add ecx, edi
rol edx, 0x13
jmp 0x4cccd1
mov dword [esp + 0x60], esi
or ebx, edi
shr edi, 0x1d
xchg ebx, ecx
dec ecx
xchg ecx, edx
add ecx, edx
or ebx, edx
sub edx, ecx
sub edx, edi
mov ebx, ecx
sub ebx, edx
sub ebx, 0x5c55a71d
and ebx, edi
jmp 0x4c94d2
mov dword [esp + 0x60], 0
sub edi, 0x5c651e1f
sub ebx, edx
rol ebx, 0xb
rol edi, 0xe
neg edi
xchg ecx, ebx
xor ecx, edi
and ecx, edx
sub edx, edi
or edi, ebx
sub ecx, 0x5c675c7e
shl edi, 0x11
and ecx, 0x5c67ce85
jmp 0x4caa04
add dword [esp + 0xa0], 0x20
and edi, ecx
and edx, edi
sub edx, edi
dec edi
or ecx, edx
rol ecx, 0x10
or edx, ecx
or edx, ebx
nop
mov edi, ebx
jmp 0x4ca9e6
add esi, dword [esp + 0x60]
dec ebx
xor ecx, edx
inc ebx
nop
sub ebx, edi
xor ecx, ebx
jmp 0x4c928f
ret
mov esi, dword [esp + 0xa0]
add edi, ecx
nop
xor ebx, ecx
mov edi, ebx
xchg edx, edi
or edi, edx
inc ecx
and edi, 0x5cd65002
jmp 0x4cc99d
mov dword [esp + 0xa0], 0
sub edx, ebx
or edi, ebx
neg ecx
sub ecx, edi
xor edx, edi
add edi, ecx
xchg edi, edx
nop
add edi, edx
xchg edx, ebx
and ebx, ecx
or edx, 0x5cd90a8f
jmp 0x4cb541
rol eax, 8
add ecx, 0x5ce18c57
xor edi, 0x5ce1c535
xor ecx, 0x5ce1ffbd
add edx, ecx
or ecx, 0x5ce26ec7
shr edi, 0x16
xchg ebx, edi
jmp 0x4cc790
mov dword [esp + 0x50], esi
xchg edi, edx
add ebx, edx
add edx, ecx
mov edx, edi
and ecx, 0x5ce6ea61
and ecx, ebx
add edx, edi
mov ebx, edi
mov ebx, edi
sub edx, ecx
jmp 0x4c9e90
mov esi, dword [esi]
xchg ebx, ecx
sub ebx, 0x5cfbc3ca
and ebx, edi
xor edi, 0x5cfc3e06
neg edi
mov ecx, edi
and ebx, edi
sub edx, ecx
xchg ecx, edi
sub ebx, 0x5cfdc0ef
dec edi
jmp 0x4cc6eb
movzx esi, word [esi]
and ebx, edi
add ecx, edi
sub ecx, 0x5d109050
and ebx, ecx
sub ebx, 0x5d110bd3
not edi
sub ebx, edi
and ebx, edi
jmp 0x4ca1fe
mov dword [esp + 0x50], esi
mov ecx, edi
xchg edi, ecx
mov edi, 0x5d20215a
xchg edi, ebx
and ecx, ebx
and ebx, edi
inc ebx
jmp 0x4cb34a
mov esi, dword [esp + 0x60]
xchg ecx, edx
or ecx, ebx
mov ebx, 0x5d544120
sub ebx, ecx
add ecx, edi
xchg edi, edx
mov ebx, ecx
xor ecx, edi
jmp 0x4cb67b
add esi, dword [esp + 0x60]
mov ebx, edi
and ebx, edi
sub edi, edx
xor edx, ecx
sub ecx, edi
or edx, ebx
add ecx, 0x5d651c70
or ebx, ecx
xchg ebx, edi
mov edx, ecx
mov ebx, 0x5d660b8b
jmp 0x4cadea
add dword [esp + 0xa0], 4
ror edx, 0x1c
or edx, ebx
rol ebx, 0x19
or ecx, ebx
bswap edi
xchg edi, ebx
xchg edx, edi
sub edx, 0x5d6ab0e1
jmp 0x4c92d1
mov esi, dword [esp + 0x50]
bswap ebx
xchg ecx, edi
sub ecx, 0x5d6f75d4
mov edx, 0x5d6fb21b
xchg ebx, ecx
mov edx, 0x5d702be3
add ecx, edi
not edi
add edi, 0x5d70f2ae
xor edx, ebx
xor ecx, 0x5d716bc2
add ebx, edx
xor ebx, edx
or ecx, ebx
jmp 0x4cc657
inc dword [esp + 0xb8]
sub ebx, 0x5d7ffb80
or ecx, edx
nop
xor ebx, edi
rol ebx, 0x12
dec ebx
mov edi, edx
add ebx, edx
xchg edx, edi
xchg ecx, ebx
or ebx, edi
sub ecx, 0x5d826e09
add ecx, edi
xor edi, ebx
jmp 0x4cc5a2
mov dword [esp + 0x6c], esi
or ecx, ebx
add edx, ebx
and edx, edi
not edx
mov edi, edx
and edi, ebx
sub ecx, 0x5da246ea
dec edi
shr ecx, 0x10
jmp 0x4cb90e
push esi
add ebx, edi
ror edx, 0x1e
or edi, ecx
or edi, ebx
mov edx, edi
shl ebx, 0xd
and edx, edi
jmp 0x4cbc8a
add esi, dword [esp + 0xa0]
mov edx, 0x5db69953
add edi, edx
add edx, 0x5db71222
mov ecx, ebx
add edi, ecx
or edx, edi
rol edx, 0x1c
jmp 0x4c9c74
jne 0x4cb6f4
shr edi, 0x19
add ecx, edi
add ebx, 0x5dba86cc
dec edi
xchg ecx, edx
shr ebx, 0xc
add edi, edx
or ebx, 0x5dbbb65b
jmp 0x4cb934
xor al, byte [esi]
xor edi, 0x5dbde25e
mov edx, 0x5dbe20bc
mov edi, 0x5dbe5df3
and ebx, ecx
shr edi, 0x10
and edx, ecx
mov ebx, 0x5dbf5ef0
add edi, edx
inc edx
or edi, edx
jmp 0x4caab7
add esi, 0xc
xor edx, edi
rol ecx, 0x1b
xchg edi, ebx
mov ebx, 0x5dc11ce9
sub edi, edx
and ebx, 0x5dc195f1
or edi, ebx
sub edx, edi
or ecx, ebx
add ebx, edi
and edi, 0x5dc2d07d
xor ecx, 0x5dc30ee9
or ebx, ecx
xor ecx, edx
jmp 0x4c92f2
mov esi, 0x30
xor edx, ebx
sub ebx, edx
and ecx, edi
xor edx, edi
add edx, 0x5de44328
sub edi, 0x5de48104
mov ecx, edx
add ecx, 0x5de4f989
jmp 0x4cba27
pop esi
or edi, ebx
add ebx, 0x5de5880b
not edx
mov ecx, 0x5de61344
ror edi, 0x1c
shr ebx, 0x1a
and edx, ecx
add edx, 0x5de70762
and edi, ebx
mov ebx, 0x5de77fe9
jmp 0x4c9eec
add esi, dword [esp + 0x60]
or edx, ecx
or edi, ecx
or edx, edi
and edi, ebx
mov ecx, edx
shl ecx, 0xc
xor ebx, edi
and edx, 0x5def0b4c
xor ecx, edi
inc ebx
neg ebx
and edi, 0x5df0022c
xchg ecx, edx
jmp 0x4cb5f3
mov esi, dword [esp + 0xb8]
xor edx, 0x5df09231
mov edi, edx
add edx, ebx
sub edx, ecx
jmp 0x4cc2d5
mov esi, dword fs:[esi]
and ebx, ecx
and ebx, 0x5df4b374
mov edx, ecx
mov edx, edi
shr ebx, 0xa
sub edx, ecx
sub ebx, ecx
not edx
shr edi, 0x1f
ror edi, 0xb
jmp 0x4cbb9a
add esi, 0xc
or edx, ecx
shr edi, 4
or edx, 0x5e103536
mov edx, ecx
or edx, edi
not ecx
not ebx
dec edx
and edx, ecx
and ecx, edx
xor ecx, edi
shl edx, 7
jmp 0x4c9b39
xor eax, eax
or ecx, 0x5e219e03
and ebx, ecx
shl ecx, 0x13
shr ecx, 0x1a
mov ebx, edx
or edi, ecx
xchg ebx, edi
dec ecx
xor edx, ebx
sub edi, ebx
shr edx, 0xc
and edx, ecx
shl edx, 5
and ecx, edi
dec ebx
xchg ecx, edi
jmp 0x4cb6f4
mov dword [esp + 0xa0], esi
mov ebx, edi
xor edi, 0x5e25d99e
xor edx, 0x5e261673
rol edx, 0x1c
sub ecx, ebx
and edi, ebx
xchg ecx, edi
mov ebx, edi
jmp 0x4cbe7e
mov esi, dword [esp + 0x50]
bswap ecx
add ebx, edx
and ebx, 0x5e45067b
xchg ecx, edx
and ecx, edi
jmp 0x4c914a
mov esi, dword [esp + 0xa0]
xor ecx, 0x5e699973
add ebx, edi
xor ebx, edi
add ebx, 0x5e6a3f89
dec ecx
sub edx, ecx
xor edi, 0x5e6ae802
add edi, edx
and ebx, ecx
sub ecx, edi
rol ecx, 0xb
xor ecx, 0x5e6c0a36
and edi, 0x5e6c43ca
not edi
jmp 0x4c9bd3
mov esi, dword [esp + 0xa0]
add ecx, ebx
neg ecx
dec ecx
or edx, ecx
or ebx, edx
rol edx, 4
jmp 0x4cc63e
add esi, dword [esp + 0x60]
add edi, ecx
ror ebx, 0x19
not ecx
xor ebx, 0x5e7aaac3
neg edi
mov edi, 0x5e7b1cca
jmp 0x4cbcb7
add dword [esp + 0xa0], esi
xor ecx, ebx
mov ecx, 0x5e892664
xchg ecx, edi
ror ecx, 0x10
xchg ebx, edi
mov ecx, edx
ror edx, 7
sub edx, ebx
not edx
or ebx, edi
sub ebx, ecx
jmp 0x4ca457
mul esi
dec ebx
add edx, ebx
ror edi, 0x15
sub ecx, edi
mov edi, 0x5e8eff2e
not edi
xor edi, ebx
mov ecx, 0x5e8fa942
and ecx, 0x5e8fe2b5
inc ecx
jmp 0x4c9991
mov esi, dword [esi]
dec ebx
and edx, 0x5e951df8
add ecx, edi
xor edi, 0x5e959a35
or edi, 0x5e95d3c5
bswap ecx
sub ecx, 0x5e9644f0
sub ecx, edi
xchg ebx, ecx
jmp 0x4cac19
mov esi, dword [esp + 0x60]
and ecx, ebx
mov ecx, edi
or edx, ebx
sub edi, ecx
shr ecx, 0xc
or edi, ebx
or edi, ecx
neg edi
mov ecx, 0x5e9b5ab2
mov edx, edi
rol ebx, 0x14
xor edx, ecx
add ecx, 0x5e9c3893
jmp 0x4cc286
add dword [esp + 0x50], 4
sub ebx, 0x5ebdc1ab
sub ecx, edx
ror edx, 0x1b
sub ebx, edi
inc ebx
xchg edi, edx
xchg ebx, ecx
and ecx, edi
xor edi, ecx
and edi, ecx
add edi, edx
mov edi, 0x5ec03232
jmp 0x4cb24f
mov esi, dword [esi]
mov ecx, ebx
xor ecx, ebx
and ecx, ebx
xor edi, 0x5ec8555c
bswap ebx
sub ecx, ebx
add ebx, edi
jmp 0x4ca51d
mov esi, dword [esi]
shl ecx, 0x1c
rol ebx, 0x15
mov edx, 0x5ec9d0c6
inc ebx
add edi, edx
rol edi, 0x13
add edx, edi
xchg ebx, ecx
jmp 0x4cb9b4
add esi, 0x18
sub ecx, edx
mov ecx, edi
inc ebx
mov ecx, edx
add ecx, edi
add edx, 0x5ed43d65
shl edx, 0x19
xor ebx, edi
or ebx, 0x5ed4e633
sub edx, ebx
jmp 0x4cc815
inc esi
xor ebx, 0x5edde435
or edx, edi
dec edx
ror ebx, 0x16
add ebx, ecx
dec edx
xor ebx, edx
add edi, edx
jmp 0x4ccc84
mov esi, dword [esi]
add edi, edx
mov edi, 0x5ee6eb89
shr ecx, 7
xchg edi, ecx
shl ecx, 4
xchg ebx, edi
sub edi, ebx
shr ecx, 9
sub edx, ebx
shr ecx, 0x1f
or edx, 0x5ee8f5ae
jmp 0x4ca254
mov dword [esp + 0xb8], 0
xchg ecx, ebx
xchg edx, ebx
xor ecx, edx
sub edx, ebx
bswap edx
add ebx, ecx
and ebx, 0x5efdb630
bswap edx
add ecx, edi
mov edx, ebx
bswap ebx
xor ebx, edi
ror edx, 6
jmp 0x4c94aa
mov esi, dword [esi]
add ecx, 0x5eff51bf
add edi, ebx
or edi, ecx
dec edx
and ebx, ecx
or ecx, edi
xor ebx, edx
or ebx, edx
mov edx, edi
xchg ebx, ecx
jmp 0x4cb1af
sub esp, 0x108
dec ecx
xchg ebx, edx
or ebx, ecx
xor edx, ebx
add edx, ecx
or edx, ebx
sub edx, edi
sub edi, ebx
or edi, ecx
jmp 0x4cc96e
cmp byte [esi], 0
jmp 0x4cb6b6
add dword [esp + 0xa0], eax
sub ecx, edx
shl ecx, 4
bswap ebx
or ecx, ebx
or edi, 0x5f3599ca
jmp 0x4cc136
mov esi, dword [esi]
xor edx, ebx
or edi, ecx
jmp 0x4c9625
add esi, dword [esp + 0x60]
bswap ebx
and edx, 0x5f578a14
or edx, ecx
mov ecx, edi
xchg edi, edx
xor edx, edi
neg ebx
rol ebx, 7
or ebx, 0x5f591d03
jmp 0x4cab04