Function at 0x4c061c
Capabilities:
Encrypt data using chaskey

Disassembly:
mov ecx, dword [esp + 0x3c]
inc edi
add esi, ebx
xor edi, edx
xor ebx, esi
xor edi, ebx
xor esi, edi
inc esi
sub ebx, edx
xchg ebx, edx
sub edi, ebx
jmp 0x4c0862
mov dword [esp + 0xd8], 0
or esi, 0x4546bad0
mov esi, edx
and edi, ebx
neg edx
add esi, edi
shr edi, 0xb
jmp 0x4beefb
mov ecx, dword [ecx]
xchg ebx, edi
xor edi, esi
and ebx, edx
ror ebx, 0x1e
neg edx
or esi, edi
add edi, 0x4553f62c
xchg edx, esi
mov edi, ebx
jmp 0x4be3f3
mov dword [esp + 0x84], ecx
neg edi
xor edi, ebx
or edi, 0x455695c3
jmp 0x4c0a1b
mov dword [esp + 0x3c], 0
shr edx, 0x15
or edi, edx
mov edx, edi
xchg edx, edi
xor edi, esi
sub ebx, 0x45582284
shr edx, 0x10
and edx, 0x45589c73
jmp 0x4be1b9
add ecx, 0xc
mov ebx, esi
mov esi, edi
or edi, esi
xor ebx, edi
jmp 0x4c0406
mov ecx, dword fs:[ecx]
xchg ebx, edi
ror edx, 0x1e
sub esi, ebx
xchg ebx, edi
sub ebx, 0x4566fb8a
shl edi, 0x14
or esi, edi
jmp 0x4bf60d
mul ecx
and edi, esi
neg edx
add ebx, 0x456c89e9
neg esi
xor ebx, edi
sub edx, edi
or edx, 0x456d8a70
or esi, edx
add ebx, edi
xor edi, edx
mov edx, ebx
or esi, 0x456eb21a
inc edi
or esi, edi
jmp 0x4c011a
add dword [esp + 0x3c], eax
ror esi, 3
or ebx, edx
xor edi, esi
add esi, 0x45766495
nop
xor edx, edi
not esi
xor esi, edx
sub edx, 0x4577956e
or ebx, 0x4577d39b
jmp 0x4bf7b0
mov ecx, dword [esp + 0x74]
add edx, esi
bswap edx
add edi, edx
xor edi, ebx
add esi, edi
sub edx, 0x457df3b5
add ebx, 0x457e3081
jmp 0x4be59f
mov dword [esp + 0x3c], ecx
mov edi, 0x457e8063
shl esi, 7
sub edi, 0x457efbf6
and edx, 0x457f3884
inc esi
sub edi, esi
xchg edi, ebx
or esi, edx
not edi
sub esi, ebx
mov edx, esi
add edi, edx
bswap esi
jmp 0x4be3d1
mov dword [esp + 0x3c], ecx
add edx, 0x45990532
mov edi, esi
sub esi, ebx
sub esi, edx
xor ebx, edi
mov esi, ebx
or edx, edi
add esi, 0x459ab27d
xchg edx, esi
xor ebx, 0x459b2c1c
jmp 0x4bfcc2
xor al, byte [ecx]
xchg edx, esi
mov esi, ebx
and edi, edx
add esi, edx
xor edi, edx
and edx, 0x459cb5f7
and edi, 0x459cf225
jmp 0x4bf5e5
add dword [esp + 0x3c], ecx
and edi, esi
add esi, ebx
not esi
sub edx, esi
xchg ebx, esi
jmp 0x4bffc7
mov ecx, dword [ecx]
shl edi, 0x1f
xchg edi, edx
shl edx, 0x11
dec esi
shr esi, 0x1a
sub ebx, esi
not ebx
xor edx, edi
mov edx, ebx
xor ebx, 0x45af8fcc
jmp 0x4bf2a7
inc ecx
sub edi, esi
add edx, 0x45b01c52
sub ebx, edi
xor ebx, edx
sub edx, 0x45b0d0c4
xor ebx, edi
xchg edi, esi
jmp 0x4bfe76
sub dword [esp + 0x3c], 8
xchg edx, edi
add ebx, edx
xor edi, 0x45b9c41c
add edi, esi
nop
xchg esi, ebx
shr esi, 0x1f
add ebx, edx
add ebx, edi
rol edi, 5
or ebx, edx
and ebx, edi
jmp 0x4be038
add ecx, 0x3c
or edx, esi
add edx, 0x45c40af2
not edx
and ebx, edx
and edi, esi
or edx, 0x45c5a46f
or edx, ebx
mov edx, esi
inc edi
jmp 0x4c03f7
add ecx, dword [esp + 0xd8]
and edx, edi
add ebx, edi
xor esi, 0x45c7c73d
mov edi, esi
jmp 0x4c06c2
mov ecx, dword [esp + 0x74]
xchg edi, ebx
mov edx, edi
sub edi, edx
ror esi, 2
rol ebx, 0x14
add edx, ebx
shl ebx, 7
xor edi, edx
jmp 0x4c09da
mov ecx, dword [ecx]
xor ebx, edi
sub edx, ebx
and esi, edi
mov edi, esi
sub edi, edx
add esi, edx
and esi, edi
or ebx, 0x45ce40ec
and edx, ebx
ror edi, 0xa
add esi, ebx
jmp 0x4be990
add ecx, dword [esp + 0x74]
or edi, 0x45f0d1ce
mov edi, 0x45f11d67
sub ebx, edx
jmp 0x4c0710
pop ecx
shl edx, 0x18
shr edi, 3
mov ebx, edi
and edx, esi
or edx, edi
sub ebx, esi
neg edx
jmp 0x4c074f
add dword [esp], 4
inc edx
xchg esi, edx
bswap edi
dec edi
sub esi, ebx
mov ebx, edi
mov edi, ebx
or ebx, 0x4623510f
jmp 0x4bee4d
push ecx
or ebx, 0x4682d878
and edx, 0x46831628
xor edx, ebx
or esi, 0x46839193
xor edx, ebx
and ebx, 0x46840e26
mov esi, ebx
or edx, 0x468496ee
and edx, 0x4684d348
or edi, edx
jmp 0x4bf733
movzx ecx, word [ecx]
not esi
or ebx, edi
not edi
and ebx, esi
sub edx, ebx
add edi, esi
ror edi, 0x1f
jmp 0x4bfb38
mov ecx, dword [esp]
or edx, edi
mov edi, 0x46a14ef1
mov esi, edx
add edx, esi
ror edi, 0x16
rol edi, 6
shr edx, 9
add edi, edx
add ebx, edx
xchg esi, ebx
or esi, edi
or edx, ebx
ror ebx, 0x14
jmp 0x4bf803
mov dword [esp], 0
ror edx, 0x19
mov esi, ebx
and edx, 0x46aeb2f8
shr esi, 0xb
not ebx
or ebx, 0x46afd8d2
dec ebx
xor esi, ebx
and esi, edi
mov esi, 0x46b0c57e
jmp 0x4bfc6d
mov ecx, dword [ecx]
mov ebx, edi
bswap ebx
or edx, esi
bswap edi
mov ebx, esi
sub esi, ebx
xor esi, 0x46d50add
or edi, edx
inc esi
xor edx, ebx
xchg edi, edx
sub edi, 0x46d62027
and esi, ebx
jmp 0x4bfcb3
mov ecx, dword [ecx]
bswap edx
xchg esi, edx
and edi, esi
rol edi, 0x11
rol edi, 0x11
mov edi, ebx
ror esi, 0x16
xor ebx, edx
sub edx, ebx
or ebx, edx
jmp 0x4bf621
mov eax, 2
ror ebx, 0x16
or ebx, edi
mov ebx, esi
xor ebx, esi
xchg ebx, edx
shl edi, 2
xchg edx, ebx
or esi, ebx
bswap ebx
xor edi, edx
sub esi, ebx
jmp 0x4bf676
add ecx, dword [esp + 0x74]
sub edi, 0x46f29028
mov edi, ebx
xor esi, edi
add esi, 0x46f33558
sub edx, edi
mov edi, esi
add ebx, edx
jmp 0x4c075b
mov ecx, dword [esp + 0x3c]
and esi, ebx
sub ebx, esi
inc esi
shr edi, 0x12
or ebx, edx
rol edx, 0x1a
sub edi, edx
mov esi, edx
or esi, 0x471a3724
dec ebx
mov edi, ebx
xchg esi, edi
xchg edi, ebx
xor edx, 0x471b6554
or edx, edi
jmp 0x4be67f
rol eax, 8
sub ebx, esi
mov ebx, esi
xor ebx, edx
and ebx, edx
jmp 0x4be6a0
jne 0x4be582
xchg ebx, esi
and edx, edi
or ebx, 0x472cf113
ror ebx, 4
jmp 0x4bea5a
add ecx, 0xc
add edx, 0x472d7f61
or edi, edx
not edi
bswap edx
jmp 0x4c097f
mov dword [esp + 0x74], ecx
add edx, esi
mov edi, edx
shr edx, 0x11
or esi, 0x472f4a49
bswap ebx
or edi, ebx
xor ebx, esi
xchg edi, edx
shl esi, 2
or edi, ebx
not ebx
xor ebx, esi
or edi, edx
add edx, 0x4731b78d
mov edx, esi
jmp 0x4c01af
mov ecx, dword [esp + 0xd8]
add edi, esi
add ebx, edi
mov ebx, edx
inc edx
and edi, edx
ror edx, 5
rol edi, 0x1a
rol edx, 0x18
xor esi, edi
jmp 0x4be2d5
xor eax, eax
mov esi, edi
and ebx, edx
jmp 0x4be582
mov ecx, dword [esp + 0x3c]
sub edi, 0x474bcef4
or edx, esi
sub edx, edi
xchg ebx, edi
xchg edx, esi
mov edi, 0x474cf1ae
xor edi, ebx
and edx, esi
ror edi, 0x1f
shl edi, 0xd
shr ebx, 0xa
ror esi, 0x11
jmp 0x4be7c6
mov ecx, dword [ecx]
shl edx, 0xa
mov ebx, 0x47507a99
and edx, esi
shr edi, 0x17
dec edx
ror ebx, 0x16
add edx, edi
add esi, ebx
and edi, esi
xor ebx, esi
and ebx, 0x47527735
jmp 0x4c0503
mov ecx, dword [ecx]
or esi, edx
or edi, esi
neg edx
sub edx, 0x475c19eb
sub edi, 0x475c514a
xor edi, esi
jmp 0x4c056e
inc dword [esp + 0xd8]
ror esi, 0x1f
and edx, edi
rol edi, 0x1d
add edx, edi
mov ebx, edi
shl edi, 0x19
sub ebx, esi
jmp 0x4beb1d
mul ecx
or esi, edi
xor edx, 0x47893080
dec ebx
mov esi, edx
xchg edi, ebx
or edx, 0x478a21de
xchg esi, edx
and esi, 0x478a9a30
shr ebx, 0x1f
ror edx, 0xf
add esi, ebx
mov ebx, edi
and esi, ebx
xor ebx, 0x478c12b4
jmp 0x4be35d
mov dword [esp + 0x74], 0
mov edi, ebx
and ebx, esi
or edx, esi
xor esi, edx
sub ebx, edx
xchg edx, ebx
and edi, esi
not edx
or ebx, 0x47a06fce
jmp 0x4be1cf
mov ecx, dword [ecx]
and edx, 0x47a2d2f9
add esi, edi
jmp 0x4bfcf4
add dword [esp + 0x3c], 0x78
mov edx, esi
inc esi
xor edx, esi
add edi, ebx
xchg edi, esi
xchg ebx, edi
bswap ebx
xor edi, 0x47a523a8
mov edi, ebx
add ebx, esi
xor edx, esi
or edi, esi
or edx, edi
add edx, 0x47a686e9
and esi, ebx
jmp 0x4be78c
add ecx, 0x18
shl esi, 5
xchg ebx, edx
inc edx
add esi, edx
and ebx, edi
mov esi, ebx
and edx, ebx
or ebx, edx
inc edi
jmp 0x4bf1e6
ret
mov ecx, dword [esp]
dec ebx
and edi, ebx
xchg edx, esi
mov esi, ebx
add ebx, esi
or edx, 0x47b9e144
jmp 0x4be774
cmp byte [ecx], 0
jmp 0x4bf5f5
add dword [esp + 0x3c], 0x20
xchg ebx, edx
xor ebx, 0x47ddcd11
rol ebx, 0x1f
or esi, edi
shr esi, 0xe
or ebx, esi
xchg edx, ebx
xor edx, edi
xor esi, edi
add edx, esi
rol edi, 0x18
not edi
xor ebx, 0x47e07584
jmp 0x4c023e
add ecx, dword [esp + 0x74]
add edx, edi
or esi, 0x47ec887e
xor ebx, esi
jmp 0x4c02c6
mov dword [esp + 0xd8], eax
dec esi
sub edi, ebx
or edx, esi
and edi, edx
add edx, 0x47f39b12
and ebx, edi
xchg ebx, esi
inc ebx
jmp 0x4be708
mov ecx, dword [esp + 0x74]
neg ebx
add edx, esi
shr edi, 0x15
shr edx, 6
sub edx, 0x47fd56b7
inc edx
sub edi, edx
jmp 0x4be753
mov ecx, dword [esp + 0x3c]
xor edx, ebx
xor edi, 0x48082379
rol ebx, 0x18
mov ebx, esi
not ebx
jmp 0x4bf8a4
mov dword [esp + 0x3c], ecx
add edx, ebx
or edx, 0x48183bf8
xchg ebx, edx
and ebx, edi
jmp 0x4bfdeb
mov dword [esp], ecx
neg ebx
and esi, 0x481d2e03
xchg ebx, edi
sub edi, ebx
or ebx, edx
neg ebx
or edx, 0x481e6b51
jmp 0x4bf8bf
mov ecx, dword [ecx]
or edx, 0x482b8fea
bswap edi
jmp 0x4be556
mov ecx, dword [ecx]
add esi, edx
xchg esi, edx
add edx, ebx
mov esi, 0x482cdd63
xchg edi, edx
shl ebx, 0x13
add edx, ebx
or esi, 0x482ddf9f
xor edx, ebx
jmp 0x4bf0e4
jne 0x4bf8bf
rol edi, 6
or ebx, edi
shr esi, 0xa
dec edx
xor edi, 0x48396ef4
or edx, 0x4839ab32
or edi, ebx
xchg esi, edi
and ebx, esi
xor edx, ebx
xor ebx, edi
mov edi, 0x483b2190
xchg edx, ebx
inc edx
or ebx, edx
jmp 0x4c08d4
add ecx, dword [esp + 0x74]
add esi, edi
shl ebx, 0xb
xor ebx, 0x483ca0dd
neg esi
jmp 0x4bec8f
add ecx, dword [esp + 0x74]
xchg ebx, esi
or ebx, 0x48436e03
inc edi
xor edx, 0x4843ea7c
sub edx, esi
sub edi, esi
inc esi
xchg edx, edi
xor edi, esi
and edx, 0x4845d917
and ebx, edi
add edi, ebx
mov esi, ebx
shl ebx, 0x16
jmp 0x4c0319
sub esp, 0x148
sub edx, esi
mov esi, edx
add esi, edi
add ebx, 0x4850e6ca
add ebx, esi
xor edx, 0x485154ad
xchg esi, edi
and ebx, edx
and edi, ebx
add edi, esi
jmp 0x4be0d9
mov eax, 4
mov ebx, edx
xor edi, ebx
xor edx, ebx
shr edi, 0x1b
sub ebx, edx
sub edx, esi
xor edx, edi
xor esi, edx
xchg esi, edx
mov edx, esi
shr esi, 0x1d
or edx, edi
jmp 0x4bed1b
add esp, 0x148
or ebx, edi
shl esi, 0xa
and ebx, esi
xchg edx, ebx
sub ebx, edx
sub edx, edi
ror edx, 0xe
add edi, ebx
sub esi, 0x4862da76
sub ebx, esi
ror esi, 3
jmp 0x4bfddf
cmp eax, dword [esp + 0x84]
jmp 0x4c04cf
mov dword [esp], ecx
bswap esi
sub esi, edi
add edi, ebx
sub ebx, 0x4865f4b1
sub edi, 0x4866313b
not edi
and ebx, 0x4866ac53
mov ebx, esi
shl esi, 8
xor edx, ebx
or edx, esi
add esi, edx
xor edi, edx
xchg edi, esi
not ebx
jmp 0x4bf285
mov ecx, dword [ecx]
xchg edx, esi
xor ebx, 0x4877d938
or ebx, edx
xchg ebx, esi
add esi, edx
jmp 0x4c00b7
add dword [esp + 0x3c], 4
mov edx, edi
bswap esi
and edi, esi
xchg esi, edi
mov esi, 0x4cdb9ad0
or edx, 0x4cdc0eaf
xor edi, edx
mov ebx, edx
xor edi, 0x4cdd297a
add ebx, 0x4cdd893e
mov esi, edx
xor ebx, esi
jmp 0x4bf4e1
mov ecx, dword [ecx]
and edi, edx
sub ebx, 0x53a54507
or esi, 0x53a5c4c6
xor esi, ebx
mov edi, edx
mov edi, edx
mov edx, esi
shr edi, 0xe
jmp 0x4be222
add ecx, dword [esp + 0x3c]
or esi, edi
xor edx, ebx
xchg edx, ebx
and edx, ebx
inc edx
bswap ebx
rol ebx, 1
mov esi, edi
and ebx, 0x53ba855c
rol edx, 8
or edi, esi
jmp 0x4be19b
mov ecx, 0x30
shl edi, 0xc
mov edi, esi
sub edi, esi
xchg edi, esi
or edi, esi
not edi
xor edx, ebx
not esi
bswap edx
or edi, esi
jmp 0x4be282