Function at 0x4c419f
Capabilities:
Encrypt data using chaskey

Disassembly:
mov eax, 2
neg edi
sub ebx, edx
add ecx, edx
ror edx, 0x18
jmp 0x4c2d67
cmp eax, dword [esp + 0x58]
jmp 0x4c1040
inc esi
xor ecx, ebx
rol edx, 2
bswap ecx
mov ecx, edi
and edi, edx
rol edx, 6
jmp 0x4c1bfe
add esp, 0x100
add ecx, edi
sub ebx, edi
or ebx, 0x6ee8a768
add ecx, ebx
xchg ebx, edx
sub edi, ebx
xchg edx, ebx
shr ecx, 8
jmp 0x4c1c56
mov esi, dword [esp + 0xd8]
mov ecx, 0x6eea2ac2
mov ecx, edi
bswap ebx
add ecx, 0x6eeadb58
sub ebx, 0x6eeb16fe
xor ecx, 0x6eeb52e8
xchg edi, ecx
dec ecx
jmp 0x4c1469
add esi, dword [esp + 0xd8]
xor ebx, edi
add ecx, edi
xor edi, ebx
sub ebx, edi
add edx, 0x6eef0ec8
or ebx, 0x6eef5914
xchg ebx, edx
add ebx, edx
jmp 0x4c3af9
mov esi, dword fs:[esi]
mov ebx, edi
add ecx, ebx
xor ebx, ecx
add edi, ecx
jmp 0x4c1bda
mov dword [esp + 0x28], eax
xor edi, ebx
mov edx, 0x6f01b01e
or ecx, 0x6f01ebf2
or edx, ecx
or edi, ecx
and edi, 0x6f02aad6
jmp 0x4c312a
mov esi, dword [esi]
shl edx, 0x16
xor ebx, edi
add edi, ecx
sub ebx, ecx
and edi, edx
not edx
mov edi, ebx
shl ecx, 0x14
and ecx, edi
mov edi, 0x6f0bbe7e
or ebx, 0x6f0bf9ac
sub edi, ebx
sub ebx, ecx
shl ebx, 0xf
jmp 0x4c30a0
mov dword [esp + 0xd8], 0
neg edi
xor ebx, ecx
add edx, edi
or ebx, 0x6f203c66
sub edi, edx
xor ebx, 0x6f20ae96
dec ebx
add edi, edx
and edi, ebx
dec ebx
jmp 0x4c153d
add esi, dword [esp + 0x28]
sub edx, ecx
rol edi, 0xc
xor edi, ecx
xor ecx, ebx
mov ecx, ebx
or ebx, edx
and ecx, edi
mov ebx, ecx
jmp 0x4c41c3
mov esi, dword [esp + 0xd8]
or edx, edi
sub ebx, edx
add edx, ebx
mov edi, ebx
sub edx, 0x6f30c58a
mov ecx, edi
xchg edx, ecx
not edx
jmp 0x4c31d6
add dword [esp + 0x2c], 0x20
or ebx, edi
sub ecx, 0x6f38923e
and ebx, 0x6f38cb90
sub edi, ebx
sub ecx, ebx
rol edi, 0x14
xor ecx, ebx
xchg ecx, edi
not ebx
add edx, ebx
jmp 0x4c3762
mov dword [esp + 0xac], 0
inc ebx
sub ebx, ecx
jmp 0x4c0d50
jne 0x4c370c
bswap edi
and edx, 0x6f4f0b68
shl edx, 3
neg edi
mov ebx, 0x6f4fbe16
dec ebx
not edi
rol edx, 0x14
and edi, ecx
shl ecx, 1
and edi, 0x6f51339a
mov ebx, 0x6f516f40
jmp 0x4c2be0
mov esi, dword [esi]
shr edi, 0x1b
or ecx, 0x6f5c273a
add ecx, 0x6f5c62dc
add ecx, edx
add ebx, edx
or edx, 0x6f5d1f38
sub ecx, edi
and ecx, 0x6f5d9494
and ebx, edi
xchg edi, edx
jmp 0x4c33a5
add esi, 0x18
shl edx, 6
shl ebx, 0x16
xor edx, ebx
mov edx, ebx
mov ecx, edx
not edi
and ecx, edi
or edi, 0x6f62a2b0
jmp 0x4c0c17
mov dword [esp + 0xac], esi
xor edx, edi
add edi, ecx
rol ebx, 0xf
add ebx, edx
rol edx, 0x15
and edx, edi
xor ebx, edi
add edi, ecx
inc edx
sub ecx, edx
jmp 0x4c370c
mov esi, dword [esi]
or edx, ebx
xchg ebx, edi
xor edx, ecx
mov ebx, edx
jmp 0x4c0a82
mov esi, 0x30
xor edx, 0x6f915abe
and ecx, 0x6f91a3b2
bswap edx
or ecx, 0x6f9217ba
shl edi, 0x1a
xchg ecx, edx
dec edi
or edx, 0x6f92ffb4
jmp 0x4c0b5c
add esi, dword [esp + 0x2c]
sub edx, ebx
add edx, 0x6f965992
shr ecx, 0x15
mov edi, edx
xor edx, edi
sub edi, 0x6f974d2c
xchg edi, ecx
bswap edi
jmp 0x4c16c2
mov dword [esp + 0x2c], 0
xor ebx, ecx
or edi, ecx
mov ecx, ebx
or edx, 0x6fa55f44
and ebx, edx
shl edi, 1
ror edi, 2
bswap ebx
neg edx
shl ecx, 0x10
jmp 0x4c1898
mov dword [esp + 0x2c], esi
shr edi, 0x1a
and edx, ecx
mov edi, edx
and edi, ecx
dec ecx
xor ebx, ecx
bswap edi
mov ecx, edx
and edx, edi
add ebx, 0x6fb8b458
jmp 0x4c199b
mov esi, dword [esi]
mov edi, ecx
shl edi, 2
or ebx, edx
inc edx
xor edi, ebx
or ebx, ecx
shr edi, 0x11
mov edi, 0x6fbe1646
mov ebx, ecx
add ecx, edx
jmp 0x4c1665
mov esi, dword [esi]
add edi, edx
sub edi, ebx
add edi, ebx
or ecx, edi
mov ebx, 0x6fd36582
or edx, ebx
and ecx, edi
xor edx, ecx
jmp 0x4c2aca
add esi, dword [esp + 0xd8]
rol edx, 0x1b
and ebx, ecx
rol edi, 9
sub ebx, ecx
xchg ecx, ebx
mov edx, ebx
mov edi, 0x6fd60fc0
not ebx
jmp 0x4c0a12
mov dword [esp + 0x58], esi
add edx, edi
shr edx, 0x13
or edi, ecx
shl edx, 0x1e
xchg edx, ecx
or edx, ebx
xchg ebx, edi
and ebx, edx
jmp 0x4c1413
add dword [esp + 0x2c], esi
xchg ecx, ebx
sub ecx, ebx
or edi, 0x6fde76a4
or ecx, edx
and edi, edx
xchg edi, edx
sub ebx, 0x6fdf7060
or ecx, ebx
jmp 0x4c0ef8
add esi, dword [esp + 0xd8]
shl edi, 0xa
add ecx, 0x6fe65bd2
add edx, 0x6fe69744
mov edi, ecx
jmp 0x4c11f1
mov esi, dword [esi]
xor edx, ebx
add edx, edi
add ecx, ebx
sub edx, ebx
jmp 0x4c194f
mov esi, dword [esp + 0xd8]
sub ecx, edx
shl edx, 0x18
add ebx, 0x6feb317a
xor edi, 0x6feb6c82
add ebx, ecx
sub ebx, edx
xor ecx, 0x6fec2ab8
ror ecx, 0x1d
jmp 0x4c18d8
add esi, 0xc
and ecx, 0x7010337e
or edi, ebx
sub ecx, edx
shr ebx, 8
jmp 0x4c1fbd
cmp byte [esi], 0
jmp 0x4c2d1d
ret
mov esi, dword [esi]
and edx, edi
and ecx, edx
xchg edi, edx
shr ebx, 0xe
xor ebx, ecx
mov edx, ecx
not edx
shl ecx, 0xa
inc ecx
or ecx, edi
sub edx, ebx
add ebx, edx
jmp 0x4c1f7d
add esi, dword [esp + 0xd8]
add edi, ecx
add ebx, 0x70541a36
or edi, 0x7054566a
sub edx, edi
or ebx, ecx
and ecx, ebx
jmp 0x4c39f9
mov esi, dword [esi]
rol edi, 9
sub edx, ecx
inc ebx
add ebx, edx
sub ebx, edi
shr ebx, 0x1f
add edx, 0x705cf4e6
or edx, 0x705d40a2
or edi, edx
rol ecx, 0x15
and edi, edx
sub ebx, 0x705e2c32
and edx, ecx
and edi, edx
jmp 0x4c2d05
xor eax, eax
neg edx
sub ecx, edx
and edx, edi
xor edx, 0x707501fc
mov edi, edx
and edi, 0x70757e76
rol edx, 4
sub edx, 0x70760fd4
sub ecx, edi
not edx
ror ecx, 0xc
sub edi, ebx
mov ebx, edi
and edx, ecx
jmp 0x4c26a6
mul esi
xor ebx, ecx
add edx, ebx
sub edx, 0x70c3a7a2
or edx, ecx
ror ecx, 2
or ecx, edi
sub edx, ebx
or ebx, 0x70c4c3e8
jmp 0x4c0b95
xor al, byte [esi]
xor edi, ecx
rol edi, 9
xchg edi, ecx
sub edx, ecx
or ecx, edi
not ecx
and ebx, edx
sub ecx, edi
nop
or ecx, edi
jmp 0x4c2925
mov esi, dword [esi]
neg edx
inc ebx
and edx, ebx
or ebx, ecx
jmp 0x4c3ba1
rol eax, 8
rol ebx, 0x18
xor edx, ecx
jmp 0x4c08fc
mov esi, dword [esi]
neg ecx
nop
or ebx, edx
shr ebx, 0x16
jmp 0x4c1154
pop esi
sub ebx, ecx
neg edx
shr edi, 4
sub edi, ebx
nop
add ebx, ecx
shr edi, 0x1d
sub edi, edx
add ecx, ebx
sub ebx, ecx
jmp 0x4c08d4
add dword [esp + 0x2c], 4
or edx, ecx
neg ecx
bswap ebx
or ecx, 0x7131ecc8
xchg ecx, edi
xchg edi, ebx
jmp 0x4c2ed2
add esi, 0xc
sub edi, edx
sub edx, ecx
xchg edi, edx
xor ebx, 0x714509ce
xchg ecx, edi
or ebx, edi
jmp 0x4c2f10
jne 0x4c26a6
shl ebx, 0xd
not ecx
and ebx, edx
rol edx, 0x16
mov edi, ecx
sub edi, ebx
xor edi, 0x71472f9a
xchg edx, edi
or edi, 0x7147a36c
or edx, ebx
jmp 0x4c2ad9
mov esi, dword [esp + 0x28]
and ecx, edx
or edi, ecx
neg edx
sub edi, 0x714ad402
rol edi, 0x1f
shr edx, 4
xchg ecx, edi
xor ebx, edx
and edi, edx
mov ebx, edx
jmp 0x4c25a8
mov esi, dword [esp + 0x2c]
sub ebx, ecx
or edx, 0x7163cf7e
sub edx, ecx
mov ebx, ecx
or ebx, ecx
and edi, 0x7164af6e
bswap ebx
rol edi, 7
jmp 0x4c13ab
mov esi, dword [esi]
and edx, 0x71683a70
and edx, 0x716885fe
or ecx, edx
rol edi, 0x19
mov edi, ebx
inc ebx
mov ecx, edi
bswap edx
jmp 0x4c181d
mov esi, dword [esp + 0x2c]
sub edx, ebx
mov ebx, edi
jmp 0x4c271b
mov dword [esp + 0x2c], esi
xor ebx, edx
add ecx, ebx
xchg edi, ebx
sub ecx, edx
and edi, ebx
dec edx
add ebx, ecx
sub ecx, edi
jmp 0x4c3085
mov esi, dword [esp + 0xac]
xor edi, edx
and edi, ecx
or edx, ebx
xchg ebx, edi
or edx, ecx
mov edi, ebx
dec ebx
and ebx, ecx
jmp 0x4c0db9
mov dword [esp + 0xd8], esi
sub ecx, ebx
add edx, ebx
not ebx
add edx, ebx
not ebx
or ecx, 0x71829072
add ebx, edi
or edx, ecx
jmp 0x4c0e59
movzx esi, word [esi]
add ebx, ecx
bswap edx
xor edi, 0x7189a780
xor edx, ebx
jmp 0x4c3c9e
sub dword [esp + 0x2c], 8
add edx, 0x718a3364
sub ecx, 0x718a6f78
add ecx, edx
shl edx, 0xe
sub edx, 0x718b2e80
or ebx, 0x718b6ad2
mov ecx, 0x718ba59e
rol edx, 0x12
xor ecx, edx
shl edi, 0x17
jmp 0x4c2f2f
add esi, 0x3c
xor edx, ecx
and ecx, edi
sub ecx, ebx
sub edi, edx
add ecx, ebx
not ecx
jmp 0x4c1109
mov esi, dword [esp + 0x2c]
shl ecx, 0xc
inc ecx
or ebx, edx
shl edx, 6
ror ebx, 0x13
add edx, edi
mov edi, ebx
add ebx, edi
xor edi, edx
xor edx, ebx
jmp 0x4c3d58
add dword [esp + 0x2c], 0x78
bswap edi
or edx, 0x71adb0e0
and ebx, edx
xchg ebx, edi
shr edi, 1
xchg edx, edi
dec ecx
xor edi, ecx
xor ecx, edi
neg edx
or edi, 0x71afc3d4
add edx, 0x71affd18
xor ebx, edx
neg ebx
jmp 0x4c0a32
mov dword [esp + 0x2c], esi
xchg ecx, edx
add ecx, edx
neg edx
shr edi, 1
xchg edx, ebx
xchg edx, ecx
and edi, ebx
mov edx, 0x71b5beec
jmp 0x4c3343
add dword [esp + 0x2c], eax
and ecx, 0x71b88fee
xchg ebx, edx
add ecx, ebx
add ebx, edx
sub ecx, edx
add edi, ebx
xchg ecx, edi
rol edi, 0xf
jmp 0x4c3235
inc dword [esp + 0x28]
and ecx, edx
xchg edx, ecx
bswap edx
xchg edi, ecx
neg edi
add ecx, ebx
and ecx, edx
and edi, 0x71f16084
add edx, ebx
sub edi, ebx
or edx, ecx
and ebx, 0x71f24966
jmp 0x4c3871
mov esi, dword [esp + 0x2c]
or edi, 0x71f50c98
shl edx, 0xc
shl edx, 0x15
and edx, 0x71f5d01e
neg ebx
xchg ebx, ecx
jmp 0x4c196c
mov esi, dword [esp + 0xac]
mov ecx, 0x71f7b600
sub ecx, edi
shr edi, 0x10
and ebx, edx
shr edi, 0x18
add ecx, edi
or edx, ebx
ror edi, 6
mov ebx, 0x71f99b04
sub edi, 0x71f9d756
add edx, edi
bswap ebx
jmp 0x4c1d66
add dword [esp + 0xac], 4
xchg edx, ebx
mov edx, ebx
xor ebx, edi
or ecx, edx
mov edi, 0x7207f568
mov ebx, edx
sub ebx, edi
ror edi, 0xc
jmp 0x4c379a
push esi
not ecx
inc edx
sub edx, edi
shr edx, 0x1b
mov edx, edi
rol edi, 0x12
rol ebx, 0x15
inc edx
jmp 0x4c2118
mov dword [esp + 0xac], esi
add ebx, edi
add ecx, edx
xor ebx, 0x72335a02
not ebx
jmp 0x4c0817
add esi, dword [esp + 0xd8]
sub ecx, edi
rol ecx, 1
or ecx, edi
mov ebx, 0x723d42e2
mov edx, edi
xor ebx, 0x723dc6cc
jmp 0x4c2f94
mov dword [esp + 0x28], 0
not edx
shr edi, 0x1c
xchg edi, ecx
mov edx, ebx
neg ecx
xor ecx, edi
mov ecx, edi
bswap edx
xor ecx, edi
rol ebx, 5
shr edi, 0x17
sub edi, ebx
jmp 0x4c0f40
mul esi
xchg ecx, edx
or ecx, 0x7255f496
nop
xor edx, edi
xor ebx, edi
dec edx
sub edi, ebx
and edi, 0x72576e86
bswap edx
or edx, ecx
jmp 0x4c33e9
mov esi, dword [esi]
inc ecx
add ecx, edi
add ebx, ecx
sub edi, ecx
neg ebx
shl edi, 0x15
xchg edi, ecx
mov edi, edx
inc edi
sub edi, 0x726548ca
sub edx, 0x726588d0
xor ecx, 0x7265c8b2
xchg ebx, edx
not ecx
jmp 0x4c1837
sub esp, 0x100
shr ecx, 0xb
xor ecx, 0x72b95116
and ecx, 0x72b98d50
and ebx, edi
or ebx, 0x72ba0188
xchg ebx, edi
jmp 0x4c3c47
mov eax, 4
xor edx, 0x72ba9ec4
or ebx, edx
jmp 0x4c3116