Function at 0x49a277
Capabilities:
Encrypt data using chaskey

Disassembly:
add edi, dword [esp + 0xc]
xor ebx, ecx
mov ecx, edx
dec edx
xor edx, esi
and ebx, edx
and edx, ecx
shr edx, 0x10
not edx
and esi, ebx
ror edx, 0x1b
jmp 0x49ad0b
mov dword [esp + 0xc], 0
bswap ecx
xor ecx, ebx
mov edx, ebx
mov ecx, esi
xor edx, ecx
and esi, ebx
and esi, edx
and ecx, edx
dec ecx
mov esi, edx
jmp 0x49a7cd
mov edi, 0x30
or edx, esi
mov ecx, 0x8677d8f3
xchg edx, ecx
and esi, ecx
mov ebx, edx
sub esi, ecx
shl ebx, 8
inc esi
jmp 0x49a2a9
mov edi, dword [edi]
and edx, ebx
and edx, 0x86d07e89
or edx, ecx
nop
mov ebx, esi
add esi, ebx
jmp 0x4993bf
add edi, 0xc
xor esi, ecx
neg ebx
mov ebx, ecx
or ebx, esi
xor ecx, esi
rol esi, 0x16
ror ebx, 0xc
shl ebx, 0x14
neg edx
or esi, ecx
or esi, ecx
dec ecx
xchg edx, ebx
add esi, 0x8725301f
sub esi, edx
xor esi, ecx
jmp 0x4995c8
mov edi, dword [esp + 0xc]
or ebx, 0x8725d72f
sub ecx, 0x8726098b
or edx, esi
shr edx, 0x16
and esi, 0x8726abe3
and ebx, esi
and ebx, edx
bswap ecx
not edx
and ecx, 0x8727a3f7
jmp 0x49b00f
mov edi, dword [edi]
sub ecx, esi
mov ecx, 0x877d401b
add edx, ebx
mov edx, ebx
shl ebx, 0xa
add ecx, ebx
jmp 0x49b62a
mov dword [esp + 0xc8], 0
rol ebx, 0x15
ror esi, 0xf
neg edx
or ecx, 0x87ab45c7
xchg ecx, ebx
not ebx
or ecx, ebx
add ebx, 0x87acbe47
xchg esi, ebx
mov edx, esi
or esi, ebx
add edx, ecx
xchg edx, ecx
and ecx, 0x87b046f7
jmp 0x49b23a
mov edi, dword [edi]
xchg esi, ebx
sub ebx, esi
and ecx, ebx
add ecx, edx
mov ebx, edx
xchg edx, ecx
sub esi, ecx
add ebx, esi
sub ecx, ebx
add edx, 0x87f93997
and edx, 0x87f9b627
xor edx, ebx
jmp 0x498c5e
mov edi, dword [edi]
xor ecx, esi
sub ecx, edx
or edx, ecx
and ecx, 0x88054c05
bswap edx
and ebx, esi
xchg ecx, esi
xchg ecx, esi
add ecx, edx
add ecx, 0x8808360f
xor edx, ebx
xchg edx, ecx
jmp 0x499ace
add edi, 0x18
xor edx, ecx
xchg ecx, edx
xchg ecx, ebx
inc ebx
xchg ebx, edx
shr edx, 0x1a
sub ecx, edx
and esi, ecx
add edx, 0x884417c1
xchg esi, ebx
add ecx, esi
or esi, ecx
inc ecx
rol ecx, 0x1a
mov ebx, 0x8846e19f
add esi, edx
jmp 0x499efd
mov edi, dword [edi]
xor esi, ecx
xchg esi, ecx
add ebx, ecx
xchg esi, ebx
rol ebx, 0x1c
or esi, ebx
and edx, ebx
xor edx, 0x88d44f2b
mov esi, ecx
xor ecx, 0x88d546fd
sub ebx, 0x88d5c0b9
inc esi
sub ebx, ecx
xor ebx, edx
dec ebx
and edx, ebx
jmp 0x49a135
mov dword [esp + 0xc], edi
shl esi, 0xc
inc edx
or ecx, edx
sub edx, 0x89215eaf
xor edx, 0x8921d9f7
xor esi, edx
not edx
inc esi
xchg ebx, ecx
or ecx, 0x8924247f
xchg edx, ebx
sub ebx, edx
jmp 0x49a2f3
sub esp, 0x12c
bswap ecx
ror ecx, 0x19
shr ebx, 0xb
ror ecx, 4
xor ecx, ebx
xor esi, 0x89528085
add esi, edx
not edx
bswap ebx
xor edx, ecx
bswap ebx
or esi, 0x89553bf3
neg esi
sub esi, ecx
jmp 0x499695
mov edi, dword fs:[edi]
xor esi, edx
add ecx, ebx
add edx, esi
xchg ecx, edx
and ecx, 0x89588967
mov ebx, ecx
shr ecx, 0x19
xchg ecx, ebx
and edx, ecx
add edx, ecx
neg ebx
inc ecx
jmp 0x49a718
mov edi, dword [esp + 0xc]
mov ecx, 0x89615a79
not ecx
xchg edx, ecx
and edx, esi
xor ecx, edx
shr esi, 0x1e
jmp 0x49b34d
add dword [esp + 0xd0], 0x78
or esi, edx
add esi, edx
not esi
ror esi, 0x1f
ror esi, 0x10
sub ecx, esi
and esi, ecx
and edx, ecx
mov edx, esi
mov esi, ebx
bswap esi
and ebx, esi
jmp 0x4993ed
add dword [esp + 0xd0], 0x20
xchg edx, esi
rol ebx, 0x17
add edx, ebx
bswap ecx
dec ecx
sub ebx, ecx
not edx
mov ecx, esi
xor ecx, 0x8986aa59
mov ecx, 0x8986fe97
neg esi
xchg esi, ecx
jmp 0x49abad
mov dword [esp + 0xd0], edi
xor ebx, edx
mov esi, ecx
sub ecx, edx
sub ebx, ecx
xor ebx, edx
and ebx, esi
sub ebx, 0x89e37a4b
dec edx
mov ecx, edx
neg ebx
add ebx, ecx
add ecx, esi
sub edx, ebx
add ebx, esi
jmp 0x49a30f
add edi, 0xc
xor edx, ebx
and ebx, edx
dec edx
xchg edx, ecx
sub ebx, esi
xor esi, 0x89fab2f3
neg ebx
rol edx, 0x16
jmp 0x49920d
mov edi, dword [edi]
and edx, ecx
and ecx, edx
mov edx, ecx
rol esi, 0x16
rol edx, 0x15
mov ecx, edx
sub ebx, 0x8a040de5
mov edx, ebx
and ecx, edx
not esi
jmp 0x49a797
mov dword [esp + 0xd0], edi
sub esi, ecx
or ecx, edx
shr ecx, 0x1e
inc ecx
shl esi, 0x1b
mov ebx, esi
mov ecx, ebx
and esi, edx
xor ebx, 0x8a0f3d81
or esi, ecx
or ecx, esi
rol ecx, 0x15
or esi, 0x8a110409
and ebx, edx
xchg ebx, edx
add edx, ecx
jmp 0x49b825
mov dword [esp + 0xd0], 0
xchg esi, edx
mov ebx, edx
add edx, ecx
or edx, esi
add ebx, 0x8a151ed7
xchg edx, ecx
add edx, ebx
mov ebx, 0x8a166739
or edx, esi
add esi, ecx
jmp 0x49ad56
add dword [esp + 0xd0], edi
xor esi, edx
or ebx, edx
add ebx, 0x8a3babff
and edx, 0x8a3c4c75
or ecx, edx
or ebx, 0x8a3d1afb
nop
ror esi, 7
and esi, 0x8a3e7883
xor ecx, esi
jmp 0x49a3f9
mov edi, dword [esp + 0xd0]
bswap esi
add ebx, ecx
ror ecx, 2
rol ebx, 0x19
xchg esi, edx
and esi, 0x8ac7c071
and esi, 0x8ac838dd
rol edx, 0x1f
or esi, 0x8ac93d4b
ror edx, 0x17
xchg esi, edx
inc ecx
sub edx, ebx
xor edx, ecx
jmp 0x4998b3
mov dword [esp + 0x64], edi
ror esi, 0x12
and edx, esi
sub ebx, ecx
add ecx, 0x8af93021
jmp 0x49983f
mov dword [esp + 0x90], edi
xor esi, 0x8afec935
sub edx, ebx
add edx, esi
xor esi, ecx
sub ebx, ecx
and edx, esi
and esi, ebx
sub esi, ecx
jmp 0x4990a7
mov edi, dword [edi]
or ebx, edx
and edx, ebx
or ecx, edx
mov ecx, edx
shr ebx, 0xe
xor edx, esi
sub ebx, esi
sub edx, 0x8b0b1591
add ecx, ebx
and ecx, edx
mov edx, esi
and edx, ebx
jmp 0x49a66f
add edi, dword [esp + 0xd0]
xchg ebx, ecx
ror edx, 0xb
or edx, ebx
dec ecx
and ecx, 0x8b5c4027
sub ebx, esi
xor ebx, esi
not edx
jmp 0x49a756
mov dword [esp + 0x64], 0
add esi, ebx
sub edx, 0x8ba3af85
and esi, edx
rol esi, 0x13
or edx, esi
xchg esi, edx
jmp 0x498c7f
add edi, 0x3c
or esi, edx
or ecx, edx
xor edx, esi
add edx, esi
mov ebx, 0x8bc83641
and ebx, 0x8bc88d75
xor esi, edx
shl ecx, 1
xor edx, 0x8bca346b
xor edx, ecx
bswap ecx
add ebx, esi
add ecx, 0x8bcbf69f
xor edx, 0x8bcc726d
jmp 0x49ada1
mov edi, dword [edi]
inc ecx
ror esi, 0x13
shl edx, 1
xchg ecx, edx
sub esi, 0x8c1fcc63
sub esi, ecx
sub ebx, ecx
mov edx, esi
jmp 0x49990c
mov edi, dword [esp + 0xc]
or ebx, edx
add ebx, ecx
xchg ecx, esi
and ebx, ecx
xchg edx, esi
inc ecx
bswap esi
xchg edx, esi
jmp 0x49a8f1