Function at 0x49ad7c
Capabilities:
Encrypt data using chaskey

Disassembly:
add dword [esp + 0x20], 0x20
or esi, ecx
or ecx, esi
xor edx, ebx
add esi, ecx
ror ebx, 2
and edx, esi
xor esi, ecx
xor ebx, edx
sub esi, ecx
jmp 0x49937d
jne 0x49a1b3
sub edx, esi
and esi, edx
or ebx, ecx
shl ecx, 0xa
shr ecx, 6
rol esi, 0x1a
add ecx, ebx
add ecx, esi
jmp 0x49aaa2
mov dword [esp + 0xec], edi
mov ecx, edx
or edx, ebx
neg esi
or ecx, esi
or ebx, esi
neg edx
or ebx, ecx
sub ebx, ecx
or edx, 0x3811c56b
add edx, ebx
mov ecx, esi
mov ecx, edx
rol esi, 7
sub ecx, ebx
jmp 0x49a328
movzx edi, word [edi]
rol ecx, 4
or ecx, edx
bswap ecx
neg esi
shl ecx, 1
xchg esi, ecx
neg edx
or edx, ecx
xchg ecx, edx
jmp 0x499ac1
mov edi, 0x30
xor edx, ebx
mov esi, edx
and ecx, ebx
inc esi
or edx, esi
not esi
sub ecx, esi
sub ebx, edx
neg edx
not ebx
jmp 0x49b378
add edi, dword [esp + 0xec]
or edx, esi
mov ebx, esi
xchg ecx, esi
add esi, ecx
and ebx, esi
xor esi, edx
xchg esi, edx
or edx, esi
xor esi, ecx
jmp 0x49993f
mov dword [esp + 0x80], eax
xchg ebx, edx
xor edx, 0x38562af3
shr edx, 7
ror edx, 6
xor edx, esi
dec esi
and esi, edx
xchg ecx, edx
add edx, ecx
or ebx, ecx
xor ebx, ecx
sub ebx, 0x3858bb49
xchg ebx, edx
jmp 0x499876
add edi, dword [esp + 0xec]
or ebx, ecx
and ecx, ebx
and ecx, ebx
or ebx, esi
xchg esi, ecx
nop
add edx, ecx
and ecx, esi
or ebx, ecx
jmp 0x49b7dc
add edi, dword [esp + 0xec]
sub edx, 0x386378b8
sub ecx, esi
or esi, 0x3863e0c6
mov ebx, ecx
mov edx, esi
add esi, ecx
and edx, esi
inc edx
or edx, ebx
xchg esi, ebx
neg edx
add ecx, ebx
jmp 0x499895
mov edi, dword [edi]
ror ecx, 0x16
xor edx, esi
add ebx, edx
shl edx, 0x13
mov ecx, edx
sub edx, 0x38731a43
dec edx
or ecx, ebx
mov edx, esi
sub esi, ecx
xor ecx, 0x38742739
or esi, edx
or esi, ebx
mov ebx, esi
jmp 0x49aea0
mov edi, dword [edi]
add edx, ebx
mov ecx, edx
ror ebx, 8
or ebx, esi
shl ecx, 0x15
add ecx, edx
neg esi
xchg ebx, edx
xchg ebx, edx
sub edx, esi
mov ecx, 0x387ace64
neg edx
xor edx, esi
jmp 0x498e09
mov edi, dword [esp + 0x80]
shl edx, 0x12
sub ebx, 0x38808cf0
shl ebx, 0xa
or esi, ebx
sub ebx, edx
mov edx, esi
xor esi, ecx
rol ebx, 0x14
ror esi, 0x17
mov edx, ecx
xchg esi, ecx
add ebx, esi
and ecx, ebx
and ecx, ebx
jmp 0x49b328
mov edi, dword [edi]
and edx, ecx
shl ecx, 0x18
and ebx, ecx
and edx, esi
add esi, ebx
mov edx, 0x388a8cff
jmp 0x49b5de
pop edi
xor ebx, ecx
or ebx, edx
add edx, esi
shr edx, 0x1a
dec edx
xor esi, ebx
mov ecx, esi
and edx, ebx
jmp 0x499dd0
mov dword [esp + 0x94], 0
sub ebx, ecx
shr ebx, 0x10
bswap ebx
add edx, ecx
mov ebx, esi
or esi, ebx
not ebx
or esi, 0x38985274
or esi, 0x38988601
not ebx
mov edx, ecx
or edx, esi
jmp 0x499a5a
mov edi, dword [esp + 0x94]
or ecx, ebx
not ecx
xor edx, ecx
or edx, 0x38a2fee4
add ecx, 0x38a335d8
jmp 0x49a302
add edi, dword [esp + 0xec]
shr esi, 0x1c
mov ecx, esi
sub esi, edx
sub ebx, ecx
neg esi
inc esi
jmp 0x499d1f
xor al, byte [edi]
shl esi, 7
mov ebx, edx
add edx, esi
xchg esi, ebx
and ebx, 0x38c94e19
add edx, esi
jmp 0x49b4e1
mov edi, dword [esp + 0x20]
mov ecx, edx
or ecx, esi
sub esi, ebx
xor ecx, 0x38cf8c57
sub ecx, edx
jmp 0x498f66
mov edi, dword [edi]
sub ebx, ecx
rol ebx, 0x12
sub edx, esi
or ecx, 0x38e4ddc0
xor ecx, esi
not edx
shr ecx, 0x1f
sub ebx, 0x38e684d6
xor ecx, ebx
xor esi, edx
jmp 0x49adc0
add edi, 0xc
xchg ebx, edx
and ebx, 0x39075d63
add esi, 0x3907d57e
not ecx
add ecx, edx
xchg ecx, esi
and edx, ebx
xor ebx, ecx
xchg edx, esi
jmp 0x499444
mov edi, dword [edi]
inc ebx
or edx, ecx
xor ebx, 0x391498d8
mov ebx, esi
and ecx, esi
xor edx, esi
rol ecx, 3
mov esi, 0x391696a9
or ecx, esi
shl edx, 0x1a
or esi, edx
jmp 0x498e63
mov edi, dword [edi]
or ebx, esi
or ecx, 0x394a6512
bswap ecx
jmp 0x498ca5
cmp byte [edi], 0
jmp 0x49ac2c
sub dword [esp + 0x20], 8
and ebx, ecx
and esi, edx
add edx, esi
neg ecx
xchg ecx, ebx
dec ebx
or edx, ecx
shl edx, 9
mov ecx, esi
jmp 0x49a558
push edi
and ecx, 0x39615e91
mov esi, 0x3961d8f2
and edx, 0x39624450
jmp 0x49a795
mov dword [esp + 0x20], edi
add ecx, esi
bswap edx
add edx, esi
ror ebx, 3
mov esi, ecx
xor ecx, 0x3976fb0f
not ecx
and esi, ebx
mov ebx, 0x3978228f
jmp 0x4991d8
mov edi, dword [esp + 0xec]
mov ecx, 0x39afaec5
add esi, edx
jmp 0x49b2d6
mov dword [esp + 0xec], 0
xchg edx, esi
or esi, edx
add ecx, edx
xchg esi, ecx
and ebx, edx
or ebx, esi
not edx
add edx, ecx
mov ecx, 0x39c7406f
add ecx, edx
rol ecx, 3
jmp 0x49a46a
mul edi
mov ecx, 0x39d6b125
or ecx, ebx
xchg edx, ecx
and edx, esi
shr ecx, 0x12
and edx, ecx
rol ecx, 0x1d
and esi, ebx
or ecx, edx
and esi, 0x39da6a32
nop
jmp 0x49b24c
mov edi, dword [esp + 0x20]
xchg ebx, esi
xor edx, esi
xor edx, esi
or esi, ecx
and esi, ebx
shl esi, 0x1f
shl ecx, 0xf
not edx
shl ebx, 0x10
add ecx, 0x3a29c6a2
mov esi, edx
shl ecx, 0xf
shr edx, 0x16
bswap ebx
jmp 0x49905c
mov edi, dword [edi]
neg ecx
add esi, ecx
xor edx, ebx
sub edx, 0x3a321313
sub ebx, esi
mov ecx, 0x3a32f45d
sub ecx, 0x3a335d06
sub ecx, edx
ror esi, 0x16
shr ebx, 5
rol esi, 0x1c
jmp 0x49accb
add esp, 0x110
and ebx, 0x3a3d478e
or edx, esi
xor ebx, ecx
shl ebx, 9
add esi, ebx
sub ebx, edx
jmp 0x49b4c3
mov edi, dword [edi]
mov edx, 0x3a46f8be
sub ebx, 0x3a48be03
mov edx, esi
add ecx, 0x3a4afe76
or ebx, esi
or esi, 0x3a4bc9b9
xchg ecx, ebx
dec ecx
and ebx, edx
dec ebx
shr esi, 0xa
rol ebx, 6
jmp 0x49b620
cmp eax, dword [esp + 0xd8]
jmp 0x498bd1
mov eax, 2
ror edx, 4
add esi, ebx
bswap esi
xor esi, ecx
mov ebx, edx
ror esi, 7
sub ecx, 0x3a6b01f0
shr edx, 0x1c
add ebx, 0x3a6bd4e6
mov ecx, esi
jmp 0x498fda
mov eax, 4
neg ebx
and esi, 0x3a73692d
xchg esi, ebx
or edx, ecx
shr ebx, 0x14
xor ebx, ecx
add esi, ecx
add ebx, 0x3a75edff
xor ebx, ecx
add ecx, esi
xchg ecx, ebx
sub ecx, esi
or esi, ecx
jmp 0x498c50
inc edi
mov esi, ecx
and ebx, edx
or ecx, esi
sub ebx, edx
xor esi, ecx
sub edx, ecx
add ebx, 0x3a8adb6b
add esi, ebx
xor ecx, esi
jmp 0x49986e
add edi, 0x3c
add edx, ebx
and edx, ebx
xor ebx, esi
and edx, ecx
bswap ebx
dec edx
xchg ebx, edx
sub ebx, ecx
jmp 0x499da2
mov dword [esp + 0x94], edi
and ecx, ebx
add edx, ebx
ror ecx, 0x10
not ebx
add edx, esi
mov ebx, 0x3a9cc2c8
mov ecx, esi
xor ebx, edx
jmp 0x499ed3
add dword [esp + 0x20], edi
sub ebx, ecx
xchg ecx, ebx
mov edx, ebx
or ebx, ecx
shr esi, 0x19
add ecx, edx
or ecx, edx
add ebx, edx
or ebx, 0x3aa7ecc3
jmp 0x498bb1
inc dword [esp + 0x80]
shr ebx, 4
and esi, edx
sub ecx, ebx
xor ebx, edx
xchg edx, ecx
ror esi, 0xc
xor edx, 0x3aaa3b39
xchg ecx, esi
ror ecx, 0x16
jmp 0x49ab29
mov edi, dword [esp + 0x20]
add ebx, ecx
xor ebx, esi
ror ecx, 0x17
mov ebx, edx
and ecx, ebx
shl esi, 3
add edx, esi
or ecx, 0x3abb43b0
inc ecx
neg edx
ror ecx, 0xc
and ebx, edx
rol edx, 6
add ebx, ecx
sub ecx, ebx
jmp 0x49a342
add edi, dword [esp + 0x80]
and ebx, ecx
and ecx, edx
add edx, 0x3ac135e5
xchg ebx, ecx
or esi, 0x3ac1fb1b
add esi, 0x3ac26029
xchg ebx, esi
jmp 0x499f34
mov edi, dword [esp + 0xec]
or esi, ebx
xor ebx, ecx
shl ecx, 5
or ecx, esi
xor ebx, esi
ror ecx, 0xf
jmp 0x49a068
mov edi, dword [edi]
bswap edx
mov edx, ecx
shr edx, 0xb
sub edx, ebx
sub ebx, esi
or ebx, ecx
jmp 0x49932b
mov dword [esp + 0x20], 0
or ebx, ecx
dec edx
xchg edx, ecx
and edx, ecx
jmp 0x49a76a
mov edi, dword [esp + 0x20]
or ebx, esi
add ecx, edx
mov esi, edx
dec ebx
add ecx, 0x3af54ac5
sub esi, edx
add edx, ebx
and ebx, 0x3af6725c
xchg edx, esi
rol ecx, 0xd
add edx, ebx
and edx, 0x3af7a363
jmp 0x4997a5
mov edi, dword [edi]
sub ecx, 0x3b0a7fb4
neg ebx
xor esi, edx
xor edx, ebx
xor ebx, ecx
jmp 0x49afff
mov dword [esp + 0xd8], edi
and esi, edx
sub ecx, ebx
shr edx, 6
inc ecx
xor esi, ecx
sub ebx, ecx
shl ebx, 0xc
dec ecx
xor ebx, 0x3b1b813a
and ebx, edx
dec ecx
sub ecx, 0x3b1c1c61
jmp 0x498c6c
xor eax, eax
or ecx, 0x3b1c67cd
xchg edx, ebx
mov esi, ecx
or ebx, edx
add edx, esi
xchg ebx, edx
xor esi, ecx
xor ecx, edx
jmp 0x499343
mov edi, dword [esp + 0xec]
xchg edx, ecx
and edx, esi
neg esi
sub ebx, 0x3b50e024
xchg ebx, edx
nop
add ebx, ecx
sub edx, ecx
mov ebx, edx
add ebx, esi
jmp 0x49a181
add dword [esp + 0x20], 4
shl ebx, 0xa
add ecx, edx
and esi, 0x3b62cb42
mov ebx, edx
shr ebx, 3
add edx, 0x3b6426c8
bswap ecx
xor esi, ebx
sub esi, ecx
jmp 0x499c3f
add dword [esp + 0x94], 4
add esi, 0x3b740209
or ecx, edx
mov ebx, edx
mov esi, 0x3b753e67
neg edx
jmp 0x49b40f
jne 0x499343
xchg ebx, edx
ror ecx, 0x1e
inc ebx
inc ebx
xchg esi, ebx
bswap ecx
xor ecx, ebx
shl esi, 2
xchg ebx, edx
xchg esi, ecx
neg esi
or ebx, esi
add edx, ecx
inc edx
sub ebx, 0x3bbaba71
jmp 0x4990bd
mov dword [esp + 0x20], edi
sub ecx, 0x3be6aad0
add edx, ecx
add ecx, esi
shr ecx, 0x16
xor esi, ebx
xchg ebx, ecx
jmp 0x49aa1f
sub esp, 0x110
xchg ebx, ecx
add ecx, 0x3c422cce
or ebx, esi
or ebx, esi
xor edx, esi
mov ecx, ebx
or ebx, ecx
xchg esi, ecx
and edx, esi
jmp 0x49b2af
add edi, 0xc
mov ebx, 0x3c491100
and esi, edx
shr ebx, 9
shl ecx, 7
inc edx
or edx, ebx
sub edx, 0x3c4a5811
sub ebx, edx
sub edx, ecx
ror esi, 1
not ebx
or ebx, 0x3c4fd40d
jmp 0x498f17
mov edi, dword [edi]
xor ecx, 0x3c604500
xor ecx, edx
and ebx, esi
add esi, ebx
xor ecx, edx
and edx, 0x3c6151f9
shl esi, 9
xor edx, 0x3c61b8ac
add esi, 0x3c61efea
or edx, ebx
jmp 0x49a6bf
add edi, 0x18
or edx, 0x3c74a0cd
sub ebx, esi
mov esi, edx
or esi, 0x3c753bd9
neg ecx
not edx
mov ecx, ebx
inc edx
mov ecx, esi
jmp 0x49b29e
add dword [esp + 0x20], 0x78
mov edx, ecx
add ebx, edx
inc esi
or edx, ecx
rol ecx, 0x15
xor edx, 0x3c86de15
and ecx, esi
jmp 0x499a18
add dword [esp + 0x20], eax
sub edx, ecx
sub ecx, esi
and ecx, ebx
or ebx, ecx
or ebx, esi
sub ebx, 0x3ca48f75
add esi, edx
or ebx, edx
or ecx, edx
and edx, 0x3ca5839b
jmp 0x49a299
mov edi, dword [edi]
add ebx, edx
mov esi, ebx
ror ebx, 7
mov esi, edx
inc esi
jmp 0x498c08
mov dword [esp + 0x80], 0
shr edx, 0xd
and esi, ebx
sub esi, 0x3caa1322
and edx, esi
and ebx, edx
shr ecx, 0xb
or ebx, esi
shr edx, 0xc
jmp 0x499126
add edi, dword [esp + 0x20]
xor ecx, esi
xor esi, ecx
add ebx, esi
or esi, edx
mov ecx, 0x3cac3f7f
add edx, 0x3cac720e
jmp 0x499c9c
mul edi
neg edx
and ecx, 0x3cb02993
neg edx
ror edx, 0x1a
neg esi
xor esi, 0x3cb101eb
neg ebx
sub ebx, edx
mov esi, ecx
xor esi, edx
add esi, ecx
bswap ecx
sub ebx, 0x3cb277bd
xchg esi, ecx
ror ecx, 2
jmp 0x498d9f
mov edi, dword fs:[edi]
shl ecx, 0x1e
xchg esi, edx
xor ebx, 0x3cb539fc
sub edx, 0x3cb56cc4
dec esi
dec edx
mov ecx, esi
jmp 0x499588
mov edi, dword [esp + 0x94]
xor ebx, esi
sub ebx, 0x3cbfea1f
shr ecx, 0x12
neg edx
mov ecx, edx
and ecx, edx
xor edx, esi
dec esi
neg ebx
mov ebx, 0x3cc1981c
ror ebx, 9
mov edx, ecx
jmp 0x499603
ret
rol eax, 8
sub edx, esi
ror esi, 6
shr ebx, 8
and esi, ebx
bswap esi
ror ecx, 0x19
sub esi, 0x3cce4197
sub ecx, edx
add ebx, ecx
jmp 0x49a027
add edi, dword [esp + 0xec]
ror esi, 0xf
ror esi, 6
shr ecx, 0xa
xor ecx, edx
and edx, esi
sub ebx, esi
and edx, ecx
xchg edx, esi
jmp 0x49a0ee
mov dword [esp + 0x20], edi
mov ebx, edx
rol edx, 0x1b
bswap edx
jmp 0x49b0c7
mov dword [esp + 0x94], edi
sub esi, 0x3d00e563
sub esi, ecx
mov ebx, ecx
mov ebx, esi
or edx, ecx
xor ecx, esi
dec ebx
xchg esi, ecx
jmp 0x49a1b3