Function at 0x498007
Capabilities:
Encrypt data using chaskey

Disassembly:
mov dword [esp + 0xb4], ecx
shl edx, 0x1b
mov ebx, edx
mov edx, 0xcb5e9570
inc esi
add edi, ebx
neg edi
or ebx, 0xcb62873a
dec ebx
xchg edx, esi
sub ebx, edi
shr edi, 0x1b
xchg esi, edi
jmp 0x495958
add ecx, 0xc
or esi, ebx
neg esi
shr esi, 7
or edx, 0xcb6b6547
xor edi, ebx
shr edi, 0x15
or edi, ebx
jmp 0x495dd1
mov dword [esp + 0xb4], ecx
and edi, esi
shl esi, 7
xor ebx, edx
xor esi, ebx
sub ebx, 0xcb9d2ee0
add edx, edi
mov ebx, edi
xor edx, edi
add edi, ebx
or edi, edx
add edx, ebx
jmp 0x496807
mov ecx, dword [esp + 0xb4]
dec edx
mov edi, ebx
mov edx, edi
and esi, edx
rol edx, 0xe
xor edi, 0xcbb02de2
xchg esi, edx
or edi, 0xcbb1c267
ror edx, 5
add edi, esi
mov esi, edx
xchg edx, edi
jmp 0x496594
add ecx, 0x18
xchg ebx, esi
xchg esi, edx
shr ebx, 0x1f
add edx, 0xcbbbce19
ror ebx, 0xb
inc edx
rol esi, 4
sub edx, edi
and esi, ebx
ror edi, 0x16
mov esi, edi
add edi, 0xcbd15f6a
add ebx, esi
jmp 0x496f57
mov dword [esp + 0x4c], ecx
add ebx, edx
xchg ebx, edx
add edi, ebx
xor ebx, 0xcc658424
add edi, esi
jmp 0x494f99
mov ecx, dword [esp + 0xb4]
add esi, 0xcc9ec8b6
xchg edx, esi
or edi, 0xcc9fa7ef
xchg edi, esi
or ebx, 0xcca9b6cf
dec esi
and edi, 0xccd59001
and edi, 0xccd6007d
jmp 0x497fdf
xor eax, eax
add edx, 0xcd5fefb7
and edi, esi
add edx, ebx
and edx, 0xcd613cf2
or esi, edx
sub esi, ebx
add esi, ebx
jmp 0x497e08
mov ecx, dword [ecx]
add edx, esi
neg edx
add ebx, 0xcd6a8d45
xchg ebx, edx
and edx, ebx
mov edx, edi
xchg ebx, edi
rol edi, 7
jmp 0x496d2b
mov dword [esp + 0xac], ecx
not ebx
add esi, edx
and edi, esi
sub edx, esi
dec ebx
add edi, ebx
xor ebx, edi
add esi, edx
jmp 0x495174
mov ecx, dword [ecx]
sub edx, esi
not esi
shr esi, 0x1d
inc edi
or esi, 0xcdd763bb
jmp 0x497ce6
mov ecx, 0x30
xchg edi, ebx
inc esi
xchg ebx, edx
add esi, ebx
xchg ebx, edi
or esi, edi
mov ebx, edx
add edx, esi
mov edx, esi
or edx, ebx
add edi, edx
bswap edx
shr edx, 9
shr edx, 0x1b
mov edi, ebx
jmp 0x4964d4
add dword [esp + 0xb4], 0x20
sub edx, esi
xchg esi, edx
add edi, edx
and edi, edx
mov esi, edi
add esi, 0xce8c3e58
sub edx, esi
add edx, esi
neg edx
mov edx, edi
dec edi
or edi, esi
sub ebx, edi
jmp 0x494975
push ecx
and edi, esi
and edi, edx
shr edi, 4
bswap ebx
bswap edx
not edi
mov edi, esi
and ebx, 0xcebff836
and edx, 0xcec06928
sub edx, ebx
jmp 0x494d80
inc dword [esp + 0xa8]
sub edx, ebx
mov edi, ebx
and edx, edi
sub edi, edx
add esi, ebx
sub ebx, esi
mov esi, edi
rol ebx, 0x1b
xchg edx, esi
bswap edx
jmp 0x497bb5
mov dword [esp + 0xa8], 0
not edx
dec edx
xor edi, ebx
xchg edx, edi
add ebx, esi
add esi, ebx
and esi, edx
mov esi, ebx
add ebx, edx
dec ebx
xchg edx, ebx
jmp 0x49697e
mov ecx, dword [esp + 0xa8]
add edi, edx
rol ebx, 0x1b
mov ebx, 0xcf7ac643
xor ebx, edx
shr edi, 0x19
and esi, edx
xor edx, esi
xor edx, esi
or edi, esi
add edi, 0xcf7dfa3e
and edx, 0xcf7e6a0f
mov edx, esi
and esi, ebx
jmp 0x495b3b
inc ecx
bswap ebx
xor edx, ebx
or esi, edi
and ebx, edx
shl esi, 0x18
or edi, edx
ror edx, 0xa
ror ebx, 6
shr esi, 0x1d
mov edx, edi
sub edx, esi
xchg edi, edx
or ebx, edx
or esi, 0xd1c99987
jmp 0x49621d
mov ecx, dword [esp + 0xac]
mov edx, esi
bswap esi
and edx, 0xd1d07321
or edi, ebx
sub esi, edx
xchg edx, edi
sub edi, edx
mov edx, edi
xor esi, ebx
sub esi, ebx
jmp 0x495650
mov ecx, dword [ecx]
neg ebx
not edx
or edi, ebx
add esi, ebx
sub esi, edx
dec edi
mov ebx, 0xd1da2c29
xchg esi, ebx
jmp 0x4959a3
add ecx, dword [esp + 0x6c]
ror edx, 0x1d
inc edx
ror edx, 0x16
or ebx, edx
add esi, 0xd26ed42d
xor esi, edx
shr esi, 0x1f
dec edi
rol edx, 0x1d
and ebx, edi
jmp 0x4964a9
mov ecx, dword [ecx]
xor edx, 0xd2a099cf
bswap edi
sub ebx, 0xd2a179b3
sub edi, ebx
and ebx, 0xd2a2846a
xor ebx, esi
xor edx, esi
sub ebx, 0xd2a42ee7
not ebx
mov ebx, edi
jmp 0x4948c7
mov ecx, dword [esp + 0x6c]
add edx, esi
xchg edi, edx
shl edx, 0x1d
not edx
and ebx, edx
rol ebx, 0x1c
mov edi, 0xd2a9468f
shr edx, 0x12
dec ebx
jmp 0x496f17
add ecx, dword [esp + 0x6c]
or edx, 0xd2ac9a57
and edi, 0xd2acd8b4
sub edi, edx
or ebx, esi
neg edx
and edx, esi
mov edx, 0xd2ae3a9f
xchg esi, edi
bswap esi
and esi, ebx
shl ebx, 0xe
jmp 0x495151
mul ecx
shl edi, 8
add edi, 0xd2e3ffd5
xor ebx, esi
xchg edi, edx
or edx, ebx
mov ebx, edx
jmp 0x496198
mov ecx, dword [esp + 0xb4]
sub ebx, edx
xchg edx, ebx
add esi, edi
and ebx, 0xd348ede1
neg ebx
and edx, edi
or edi, ebx
add ebx, edx
xchg edx, edi
dec esi
mov edi, ebx
xor esi, edi
sub esi, edx
jmp 0x496070
mov ecx, dword [ecx]
rol ebx, 0x17
and ebx, edi
sub edx, esi
and ebx, edi
shr edi, 0xf
and edi, edx
xor edx, esi
xor esi, edi
xor ebx, 0xd3683ee5
sub edi, ebx
add edi, 0xd3693786
jmp 0x49492c
pop ecx
shr esi, 8
or ebx, edx
add edi, esi
jmp 0x49628f
mov ecx, dword [ecx]
shl edx, 0x1a
mov esi, edi
mov edi, 0xd38b1e33
add edx, edi
mov esi, ebx
jmp 0x497b33
mov eax, 2
xor edi, ebx
sub esi, ebx
shl esi, 0x1a
add esi, edx
add edi, 0xd4221de9
mov esi, edi
add esi, ebx
jmp 0x495288
mov ecx, dword [esp + 0xac]
bswap ebx
mov ebx, edi
neg ebx
or edi, esi
mov esi, edx
mov edx, ebx
and edx, edi
xchg edx, esi
and edx, edi
or edi, esi
or edx, edi
mov edi, ebx
jmp 0x4961ed
mov ecx, dword [ecx]
or esi, edx
neg ebx
xchg esi, edx
sub edx, ebx
rol esi, 0xd
not edi
xor edi, 0xd4591f03
xor edi, edx
add edx, edi
and esi, 0xd45a6b81
jmp 0x497c56
mov dword [esp + 0xa8], eax
xor esi, edi
or edx, edi
add esi, 0xd488b663
sub ebx, 0xd4893b4a
sub esi, 0xd489aef5
or esi, 0xd48a4d60
bswap esi
inc esi
xchg ebx, edi
jmp 0x4962b8
add ecx, dword [esp + 0xa8]
xor esi, edi
and edx, ebx
or ebx, edi
and edx, 0xd4929641
shr esi, 0x19
shl edi, 5
neg esi
add esi, edi
and edx, ebx
xor edx, edi
sub edi, edx
mov esi, ebx
or edx, edi
or edx, esi
bswap ebx
jmp 0x49653d
cmp byte [ecx], 0
jmp 0x497a28
mov ecx, dword [ecx]
mov esi, 0xd4bfd3cf
and ebx, 0xd4c04486
and edx, ebx
xor edx, 0xd4c1472d
mov edi, edx
or esi, 0xd4c4375c
and edx, edi
add edi, edx
mov esi, ebx
nop
mov edi, esi
jmp 0x4949a2
cmp eax, dword [esp + 0x4c]
jmp 0x496654
sub dword [esp + 0xb4], 8
xchg ebx, esi
sub edx, 0xd4cf53ad
mov edx, ebx
xchg ebx, edx
mov esi, 0xd4d0d8dd
mov edi, esi
xor edx, edi
xchg edx, esi
or esi, 0xd4d2a82b
not edx
mov esi, edi
inc esi
mov edx, 0xd4d461b5
or edx, ebx
or esi, edx
shr edi, 9
jmp 0x497472
mov dword [esp + 0x6c], ecx
inc edi
mov edi, esi
ror esi, 0x1d
shr edi, 0x1c
mov edi, 0xd4d82c3c
sub esi, ebx
inc edx
add ebx, esi
and edx, esi
shl edx, 0x1f
jmp 0x4973ac
mul ecx
mov edi, 0xd539055e
mov ebx, esi
add edx, ebx
or esi, ebx
add edx, edi
neg edx
or edx, esi
bswap esi
xchg esi, edx
sub edx, 0xd549a634
and ebx, edi
or edi, edx
mov edx, esi
sub edx, ebx
neg edx
jmp 0x49774b
mov dword [esp + 0xac], ecx
xchg edi, edx
or edi, edx
ror edx, 0x1a
xor esi, edx
sub esi, edi
xor edx, esi
dec esi
and edi, esi
add esi, 0xd5bf5f5f
not edi
shl ebx, 0xa
nop
and esi, edi
inc esi
jmp 0x495f3a
mov ecx, dword fs:[ecx]
rol edx, 0x14
inc ebx
add ebx, 0xd5c31d0c
and esi, 0xd5c38a4f
mov edi, esi
mov edx, esi
add esi, 0xd5c4d4f8
add edi, ebx
dec esi
xchg edx, esi
jmp 0x4948f2
mov eax, 4
add edx, edi
mov esi, edi
mov edx, 0xd5d1a8a1
or ebx, esi
bswap ebx
not ebx
xor edi, esi
xor edx, ebx
xchg edi, esi
jmp 0x496926
mov ecx, dword [ecx]
ror ebx, 0x14
add esi, 0xd5f4f9d2
jmp 0x4973f4
mov ecx, dword [esp + 0x6c]
and edi, esi
mov edi, ebx
and esi, edi
xor ebx, edx
jmp 0x496e7b
jne 0x495174
and edx, 0xd628ef39
xchg ebx, edi
shr edi, 0x1f
mov edx, esi
bswap esi
add esi, edx
neg ebx
and esi, edx
mov edi, edx
mov esi, ebx
or esi, 0xd630efc6
inc edx
xor esi, ebx
ror edx, 6
jmp 0x497ef1
add dword [esp + 0xb4], 0x78
or edi, 0xd6919f48
add edi, edx
inc edi
xor esi, ebx
add esi, edi
add esi, 0xd69af9e9
mov edx, esi
and ebx, edx
shl ebx, 0x19
or esi, 0xd69cc393
mov ebx, 0xd69d3066
xor edi, ebx
xchg esi, edi
jmp 0x496640
movzx ecx, word [ecx]
xor edi, esi
add edi, 0xd6e2613c
add edx, 0xd6e2ce2f
xchg edx, esi
jmp 0x4963d4
add esp, 0x140
xchg edx, esi
xchg ebx, edx
xor edi, 0xd6ecc444
or esi, edi
add esi, edi
shl edx, 0x1e
shr ebx, 0x1c
jmp 0x497b14
mov dword [esp + 0xac], 0
mov edi, ebx
sub edi, edx
dec edx
xor ebx, esi
not ebx
and edx, esi
or esi, 0xd700a0e3
jmp 0x497526
rol eax, 8
neg edi
ror edx, 2
mov edi, 0xd78d929b
and esi, 0xd78e3032
xor esi, edi
and esi, ebx
xor ebx, 0xd792e2b0
shr ebx, 0xa
and edi, edx
and esi, ebx
jmp 0x495602
add ecx, dword [esp + 0x6c]
rol ebx, 0x1d
shr edi, 0xb
sub edi, edx
xchg edi, esi
sub ebx, esi
neg esi
sub edx, esi
shr edx, 8
not ebx
mov edx, ebx
add edi, esi
jmp 0x4975c3
add ecx, dword [esp + 0xb4]
sub edi, ebx
shl edi, 0x15
mov edx, ebx
xor edx, ebx
or ebx, edi
xchg edi, ebx
or ebx, edi
xchg edx, esi
xchg edi, edx
not esi
shr esi, 0x1d
xchg edi, ebx
jmp 0x49592d
add dword [esp + 0xb4], ecx
add ebx, edx
or edx, esi
rol ebx, 0x14
sub edx, ebx
and edx, esi
mov edx, edi
xor edx, esi
shl edx, 0x19
add ebx, edi
jmp 0x4950ce
mov ecx, dword [ecx]
xchg edi, ebx
xchg ebx, edi
mov ebx, esi
shr edi, 0x16
jmp 0x4962f3
mov dword [esp + 0xb4], 0
bswap ebx
shl edi, 0x12
shr edx, 2
neg edx
or edi, ebx
or ebx, edi
xchg esi, edx
or esi, 0xd90af0d0
jmp 0x494b26
add ecx, 0x3c
or edx, edi
and ebx, edi
sub edx, 0xd94f761c
shl edi, 0xc
jmp 0x495d23
mov ecx, dword [esp + 0x6c]
and edi, edx
sub edi, esi
not esi
xor edi, edx
bswap esi
ror edx, 0x13
dec edx
shr edx, 2
xchg edx, edi
jmp 0x4972ff
add ecx, dword [esp + 0x6c]
nop
and edx, 0xd9677a84
mov esi, ebx
xchg esi, edx
add edx, 0xd968d07e
add edi, 0xd9703cd6
or ebx, edx
mov esi, 0xd977d19b
sub ebx, edx
shl edi, 8
jmp 0x494e3a
mov ecx, dword [esp + 0xb4]
sub edi, edx
mov edi, 0xd98905f0
inc edx
or edi, esi
add ebx, 0xd98a8165
bswap edx
and ebx, 0xd992521c
mov esi, edx
sub edx, esi
sub edx, esi
xchg ebx, esi
and edi, edx
jmp 0x494db4
mov dword [esp + 0x6c], 0
or ebx, edi
or edi, edx
ror edi, 0x15
sub ebx, 0xd9a7b42a
add edi, ebx
mov edi, esi
xor ebx, 0xd9a86b82
not edi
mov esi, edx
jmp 0x49712d
mov dword [esp + 0xb4], ecx
mov edx, 0xda2b99d4
xchg esi, edi
xor edi, ebx
mov esi, 0xda338a61
xchg edx, edi
or ebx, 0xda34623d
mov edi, 0xda34ce73
add ebx, edx
xor ebx, 0xda35bd12
ror esi, 0x11
and esi, ebx
mov edi, 0xda3a834e
xor edx, esi
sub edx, 0xda3b6778
inc ebx
jmp 0x49604c
add dword [esp + 0xb4], eax
not edi
mov edx, edi
ror ebx, 3
inc ebx
mov edx, ebx
dec ebx
rol edi, 3
or esi, edi
xor edi, edx
neg edx
xor edx, ebx
jmp 0x495cc9
jne 0x497e08
xor esi, edi
shl edx, 3
or edx, ebx
add esi, edx
and edx, 0xdb1edd65
mov edi, esi
or ebx, esi
add edx, 0xdb204fcd
sub edi, edx
sub edi, 0xdb212b12
jmp 0x495d71
ret
add ecx, 0xc
shr esi, 0xa
shr edx, 9
mov esi, ebx
or edi, ebx
jmp 0x494ee5
add dword [esp + 0xac], 4
xor esi, edi
sub edx, esi
ror ebx, 0xb
rol edx, 0xa
or esi, ebx
add ebx, 0xdb709884
or esi, edi
or esi, 0xdb71864a
sub ebx, esi
xchg edi, esi
ror ebx, 0xc
shl esi, 2
jmp 0x49562c
add ecx, dword [esp + 0x6c]
sub ebx, esi
and ebx, 0xdb8867fb
sub ebx, edx
xchg edx, edi
or edx, esi
xor esi, edx
mov edx, esi
neg ebx
xchg esi, ebx
xor esi, edx
xchg esi, edx
xor edx, 0xdb8b1433
and edx, esi
not esi
jmp 0x49695f
mov ecx, dword [ecx]
inc edi
shl esi, 3
and ebx, edx
add edi, 0xdbc35a8b
mov edx, esi
xor ebx, edi
jmp 0x496264
xor al, byte [ecx]
neg edx
rol edx, 0x16
sub edx, edi
dec edx
sub edx, 0xdbeb4070
and edi, 0xdbeb81c6
not edx
sub edx, 0xdbebfd82
sub esi, ebx
or ebx, edi
jmp 0x496aef
add dword [esp + 0xb4], 4
add edi, ebx
xchg edx, esi
and edx, ebx
xor edx, ebx
and edi, edx
or edx, 0xdc155845
mov esi, 0xdc1594be
and esi, edi
jmp 0x494c12
mov ecx, dword [ecx]
or edi, 0xdc306fdd
xchg ebx, edi
sub edi, edx
and esi, 0xdc3125d8
inc esi
or edi, esi
add ebx, edx
add edx, edi
mov edi, ebx
sub edx, edi
add edi, 0xdc32cf36
jmp 0x495808
sub esp, 0x140
xchg edi, ebx
xchg esi, edi
rol edi, 7
mov ebx, edx
not edx
add edi, edx
and esi, 0xdc348d0f
jmp 0x4951c2