Function at 0x498ba9
Capabilities:
Encrypt data using chaskey

Disassembly:
cmp eax, dword [esp + 0x10]
jmp 0x49b6b2
mov ebx, dword [ebx]
shl esi, 0x12
add ecx, esi
xchg ecx, edi
add edx, esi
or edi, 0x7d0a12e7
or esi, 0x7d0a9397
ror edi, 0x18
and edx, esi
xchg esi, edx
jmp 0x4998cc
mov ebx, dword [esp + 0x138]
xchg esi, ecx
mov ecx, edi
mov esi, ecx
dec edx
and edi, ecx
sub ecx, edi
and edx, esi
xchg ecx, edx
shr esi, 0x12
add esi, edi
jmp 0x49abbe
jne 0x49b432
and ecx, esi
bswap edx
not edi
add edi, 0x7d47a478
mov edi, ecx
ror edx, 2
xchg edi, esi
not edx
or esi, 0x7d49a950
and esi, edx
xchg esi, edx
sub edi, esi
jmp 0x498cee
mov dword [esp + 0xec], 0
and edi, edx
shr edx, 0x1b
mov edi, 0x7d5b725a
and edx, edi
shr esi, 7
xor edx, 0x7d5cb506
xchg edx, edi
bswap edx
xor edi, ecx
sub esi, ecx
xor edx, ecx
or esi, edi
jmp 0x499c61
mov ebx, dword [ebx]
or edi, edx
sub ecx, edx
mov edx, edi
shr edi, 7
neg esi
or esi, ecx
or esi, ecx
jmp 0x49b554
mov ebx, dword fs:[ebx]
and edx, ecx
add edi, esi
xor ecx, edx
neg edi
xchg ecx, edi
and ecx, edx
mov esi, ecx
neg edx
and esi, ecx
inc esi
sub edx, esi
xor esi, ecx
xor ecx, edi
bswap esi
jmp 0x49b1a5
mov dword [esp + 0xd8], ebx
xor ecx, edi
xor esi, ecx
bswap edi
xchg edi, ecx
mov ecx, edi
or esi, edx
mov edi, ecx
jmp 0x499b13
mov dword [esp + 0xec], ebx
mov edx, esi
mov edi, edx
add ecx, edx
add edi, ecx
or edi, edx
add esi, edx
add esi, edi
bswap ecx
and edi, 0x7de5b30f
sub edi, esi
mov esi, edi
or esi, 0x7de71b1e
jmp 0x498ff1
mov ebx, dword [ebx]
mov edx, ecx
and esi, edx
mov edx, edi
neg edx
add esi, edi
mov ecx, 0x7df0f43f
shr esi, 2
xor edi, ecx
and edi, 0x7df22e36
mov esi, edi
xor esi, edx
or edx, 0x7df33e8f
or edi, 0x7df39a94
sub esi, 0x7df40518
sub esi, 0x7df46073
add edi, 0x7df4bf13
jmp 0x49a45b
inc ebx
shr esi, 7
neg esi
sub edi, esi
bswap edx
or ecx, esi
and edx, edi
add edx, edi
or ecx, edx
and edi, ecx
xor esi, ecx
or ecx, esi
and edi, esi
jmp 0x49aba5
mov dword [esp + 0x158], eax
shr ecx, 0x19
or edi, ecx
and edi, esi
dec edx
and ecx, 0x7e5762a1
jmp 0x498e4d
sub esp, 0x164
shl esi, 0x13
or ecx, edi
or edx, esi
mov edi, ecx
and edi, esi
xchg edx, esi
sub edi, edx
or esi, ecx
sub ecx, 0x7e5b8605
or ecx, esi
sub edi, 0x7e5c7806
xchg ecx, esi
jmp 0x499981
add ebx, dword [esp + 0x138]
and edi, edx
rol ecx, 0x15
dec edx
and edi, ecx
inc edx
add esi, edi
xor esi, edi
xchg ecx, edx
inc ecx
ror ecx, 6
jmp 0x49a311
pop ebx
add edx, esi
sub edx, edi
xchg esi, ecx
bswap ecx
sub edx, 0x7e8e0f50
jmp 0x4982a0
xor eax, eax
or edi, ecx
and esi, ecx
and edi, 0x7eb21a18
xor esi, edi
mov esi, edx
xor edx, ecx
xchg edi, ecx
shr edx, 1
jmp 0x49b432
add dword [esp + 0xd8], 4
sub esi, edi
sub edi, ecx
xor edi, edx
xor esi, edi
mov esi, ecx
or ecx, edx
or edi, edx
or ecx, 0x7eb84a2d
add edx, 0x7eb8c179
xor edi, edx
and ecx, edx
jmp 0x49af23
sub dword [esp + 0xd8], 8
mov ecx, edx
sub edi, edx
or edi, esi
mov ecx, esi
shl edi, 7
mov edi, ecx
mov edi, 0x7ec77aa8
xor ecx, edi
or ecx, edx
inc ecx
or edi, esi
jmp 0x498f86
mov ebx, dword [esp + 0xd8]
add edx, 0x7efff451
and ecx, esi
and edx, esi
mov edx, edi
xor edx, edi
xor edi, edx
and edi, edx
jmp 0x49af57
mov eax, 2
inc esi
sub edi, edx
not ecx
xor ecx, edx
or edi, edx
sub esi, edi
add edx, edi
xchg edi, esi
jmp 0x49b81b
add ebx, 0x18
shl ecx, 0x19
sub edx, esi
or edi, esi
add esi, ecx
mov edi, edx
jmp 0x49b26e
mov ebx, dword [ebx]
sub edi, edx
mov edx, esi
and ecx, edx
xchg esi, edx
or edx, esi
or ecx, edx
nop
jmp 0x49a748
add ebx, dword [esp + 0x138]
sub ecx, esi
mov esi, 0x7f4f3a4b
bswap edi
and esi, edx
dec ecx
and edx, edi
mov edx, ecx
xchg ecx, edx
xor edx, 0x7f52135e
jmp 0x49888b
mov eax, 4
xchg edx, esi
shl edx, 4
mov edx, ecx
neg ecx
shr esi, 0x1b
not ecx
mov esi, 0x880ec923
jmp 0x4996bb
mul ebx
add esi, ecx
xor esi, 0x88262456
xchg edi, esi
and edx, ecx
mov ecx, 0x8826aba0
sub edx, edi
sub esi, ecx
rol edx, 7
add esi, edi
inc esi
xor esi, edi
and esi, 0x8827eada
mov edi, edx
jmp 0x499e2d
movzx ebx, word [ebx]
neg ecx
bswap ecx
shl ecx, 5
mov esi, edx
and esi, 0x88290c43
mov ecx, edi
jmp 0x49968f
mov ebx, dword [ebx]
add edx, esi
add edi, ecx
or edi, 0x882ba362
add esi, edx
nop
inc ecx
ror esi, 0xe
or esi, 0x882d50e0
or esi, ecx
add edi, ecx
jmp 0x498bf8
add dword [esp + 0xd8], ebx
xchg esi, edx
xor esi, ecx
add ecx, edi
mov edi, edx
shr ecx, 0x1d
xor ecx, esi
xchg esi, edx
rol ecx, 0xd
add esi, edi
inc edx
xchg esi, edx
jmp 0x49b7c0
mul ebx
shl edi, 0x17
xor ecx, edi
and edx, esi
or esi, edx
and ecx, edx
mov edx, 0x8851a3fe
ror esi, 0xf
and ecx, esi
shl esi, 0x15
xor edi, edx
bswap ecx
mov edi, edx
jmp 0x498b8f
add ebx, 0xc
ror edi, 0x1c
shl edx, 0xe
or edi, ecx
xor ecx, 0x885a751d
and edi, 0x885aa047
mov ecx, edi
neg ecx
sub edi, edx
neg ecx
jmp 0x49a3fc
mov dword [esp + 0x158], 0
and edx, esi
add esi, 0x886359be
mov esi, edx
add edi, ecx
neg ecx
or ecx, esi
add esi, ecx
bswap esi
shl esi, 0x1e
and esi, edx
neg edx
jmp 0x4984f3
mov ebx, dword [esp + 0xec]
rol edi, 0x1b
sub edi, esi
add edi, edx
and edx, 0x8889bbef
sub esi, 0x888a1995
and ecx, 0x888a805a
sub edx, edi
sub esi, edi
and ecx, edi
jmp 0x49b160
mov dword [esp + 0x138], 0
xor esi, ecx
not edi
not edx
mov edx, ecx
xor esi, 0x88b7ac65
and edx, edi
xor ecx, edi
inc edx
or edi, edx
xor edx, edi
xchg edx, edi
add ecx, edx
sub ecx, edx
jmp 0x49a5fc
add dword [esp + 0xd8], eax
sub edx, ecx
sub esi, edx
sub esi, 0x88fa4152
shr edx, 4
dec esi
inc edx
rol edi, 4
and edx, 0x88fc38ac
and edx, 0x88fc999c
and edx, 0x88fcf272
add esi, edx
mov esi, 0x88fdb5cd
sub edx, ecx
and edx, ecx
jmp 0x49b149
mov dword [esp + 0x138], ebx
or ecx, 0x893b2a0b
sub edi, ecx
sub esi, ecx
mov edi, esi
jmp 0x49a269
mov ebx, 0x30
xor edi, ecx
or edi, esi
mov esi, edi
shr ecx, 0x1b
dec edi
not esi
sub edx, edi
xor edx, edi
jmp 0x4986cc
mov ebx, dword [esp + 0x138]
shr ecx, 0x17
and edi, edx
sub edi, esi
xchg edx, edi
xor esi, edx
xor edi, esi
xchg edi, ecx
sub esi, 0x899ae232
not edi
and edi, edx
jmp 0x49afcf
add esp, 0x164
xchg edx, esi
xor ecx, edx
xor esi, edi
xchg esi, edi
neg ecx
xchg edx, edi
add esi, 0x89b3506b
mov edx, 0x89b3b007
and ecx, edi
xchg edi, esi
mov edx, edi
xor ecx, esi
xchg esi, edi
jmp 0x49bc14
mov ebx, dword [ebx]
xchg esi, ecx
ror ecx, 0x18
add edx, 0x89cf0811
inc esi
sub esi, 0x89cfb6d7
or edi, 0x89d00ba9
bswap edi
mov edx, ecx
and edi, edx
and edi, 0x89d1865c
and edx, esi
jmp 0x49911d
mov dword [esp + 0xd8], ebx
and esi, edi
inc edx
and ecx, 0x89d88435
shl edi, 5
sub ecx, esi
and ecx, edi
rol edx, 8
xchg edx, edi
xchg edx, edi
jmp 0x49a69b
mov ebx, dword [ebx]
xor edi, esi
dec edi
ror edi, 0x1f
neg edi
and esi, 0x89fc6c6f
xor ecx, esi
mov edi, esi
jmp 0x49b63d
mov dword [esp + 0xd8], 0
not edx
xor esi, 0x8a12d5f3
xchg esi, ecx
add edi, 0x8a138572
shl edx, 0xd
and ecx, 0x8a143333
xchg esi, edx
or ecx, edx
shl edx, 8
jmp 0x49ad93
mov ebx, dword [esp + 0x138]
xor ecx, esi
inc edx
and ecx, edi
and edi, esi
xchg esi, edx
mov edi, esi
sub edx, esi
sub edx, esi
jmp 0x49983c
mov ebx, dword [ebx]
shr edx, 0x1a
and edi, ecx
add edi, ecx
xchg edx, esi
inc ecx
jmp 0x4990d7
add ebx, dword [esp + 0x138]
sub edi, edx
and esi, edx
or ecx, edi
xchg esi, ecx
sub edi, ecx
bswap ecx
xchg ecx, edx
mov edi, 0x8a7e48cf
ror edi, 0x12
shl edx, 1
add edx, esi
sub edi, 0x8a7fa022
shr edx, 0x16
xchg ecx, edx
jmp 0x49b4c0
cmp byte [ebx], 0
jmp 0x498444
add ebx, dword [esp + 0xd8]
xor edi, edx
mov edx, 0x8b08cb51
xchg esi, edi
rol ecx, 0x1c
xchg ecx, edi
and ecx, edi
xor edx, 0x8b0aad15
jmp 0x4988dc
add ebx, dword [esp + 0x138]
or edx, edi
sub ecx, 0x8b120e3b
or edx, 0x8b127bdd
mov edi, esi
shl esi, 0x18
bswap esi
xor edi, edx
ror edi, 0x1e
not edx
mov edi, 0x8b153871
jmp 0x49871c
mov dword [esp + 0x10], ebx
bswap esi
add esi, edx
or edi, edx
ror edi, 6
and edi, ecx
jmp 0x49a1af
mov ebx, dword [esp + 0xd8]
or ecx, 0x8b8e4c19
or ecx, esi
xor ecx, esi
sub edx, edi
mov edx, esi
xor esi, edi
xchg esi, edi
and ecx, edx
jmp 0x49bb04
mov ebx, dword [ebx]
xor esi, 0x8b933b77
add edx, ecx
mov edi, 0x8b940bab
inc ecx
add ecx, edi
and esi, edi
rol edi, 0xd
not ecx
shr esi, 0x10
bswap edi
rol esi, 0x1c
xor edx, edi
or edi, edx
xchg ecx, edx
jmp 0x49abfc
add ebx, 0x3c
or esi, edi
add edi, esi
shr edi, 0xb
rol esi, 0xb
shl edx, 0x11
sub esi, edi
jmp 0x498560
inc dword [esp + 0x158]
sub ecx, edx
sub esi, 0x8bd47985
xor ecx, edi
dec ecx
neg edx
ror esi, 8
add edx, edi
jmp 0x49b2be
mov ebx, dword [esp + 0xd8]
add edx, esi
rol edi, 9
add edi, esi
xchg edi, esi
sub ecx, edi
jmp 0x4996ef
add ebx, dword [esp + 0x158]
xor edx, 0x8bda4c7a
xchg esi, edx
add ecx, edi
xor edx, ecx
sub edx, edi
and ecx, edx
mov edi, edx
add edx, ecx
xor edx, esi
jmp 0x499614
add ebx, 0xc
or edx, esi
neg ecx
not edi
xchg edx, esi
or edx, edi
xor edx, 0x8be829a2
jmp 0x4982ac
mov ebx, dword [esp + 0xec]
mov ecx, edi
ror edx, 0xe
and ecx, edx
sub edx, 0x8bed9432
xchg esi, edx
add esi, edi
or ecx, 0x8bee9d6f
and edx, esi
and ecx, esi
xor edx, edi
bswap ecx
and esi, edx
mov edx, esi
xor edi, edx
rol edx, 0x18
jmp 0x49a549
add dword [esp + 0xd8], 0x78
and edx, ecx
ror edi, 1
and edi, esi
jmp 0x498393
mov ebx, dword [ebx]
xor edi, ecx
xchg edi, edx
xchg esi, edx
xchg edi, edx
nop
xor esi, edi
jmp 0x499fe5
add dword [esp + 0xec], 4
mov esi, edi
sub edx, edi
add esi, ecx
or ecx, 0x8c067d2a
jmp 0x49b1d8
mov ebx, dword [esp + 0xd8]
not ecx
mov esi, edx
rol ecx, 0xa
sub ecx, esi
and esi, edx
sub edi, edx
mov esi, ecx
jmp 0x49b965
xor al, byte [ebx]
and edi, ecx
xchg edi, edx
and esi, ecx
or edx, 0x8c2ef646
ror esi, 0x19
rol edi, 0x1b
inc esi
add ecx, esi
rol esi, 1
add edi, esi
mov edx, esi
or ecx, 0x8c3064da
ror edx, 7
inc esi
ror edi, 0x1f
rol edi, 0x12
jmp 0x49b5e1
mov dword [esp + 0xec], ebx
or esi, edx
neg esi
rol edx, 0x17
add esi, edi
xchg edi, esi
mov edi, esi
xor ecx, 0x8c3ad703
sub edi, ecx
and esi, edx
mov esi, edx
xor ecx, esi
rol edi, 0xb
or ecx, edi
jmp 0x49b114
mov dword [esp + 0xd8], ebx
add esi, 0x8c4c306c
xor edi, esi
xor edi, ecx
mov edi, edx
mov edi, 0x8c4d8f8a
add edx, ecx
mov edi, 0x8c4e3183
and edi, ecx
jmp 0x49b23e
rol eax, 8
add edx, 0x8c8c9a7f
bswap ecx
neg esi
mov ecx, edi
dec ecx
neg ecx
add edi, ecx
shr edi, 0x14
bswap edx
mov ecx, edx
and edi, edx
xchg edx, ecx
jmp 0x498a42
add ebx, dword [esp + 0x138]
add esi, edi
xor ecx, esi
shr esi, 0x1e
sub esi, ecx
sub ecx, edx
bswap edi
and esi, edx
mov edx, esi
add edx, edi
xor edi, ecx
jmp 0x49b79a
jne 0x49b114
sub ecx, edi
add edx, edi
mov edx, edi
xor edi, esi
mov ecx, edi
inc edx
add ecx, edx
or esi, ecx
dec ecx
add esi, 0x8caff82d
dec edi
jmp 0x498ddf
push ebx
dec edx
shl edi, 4
neg edx
xor esi, ecx
or edi, 0x8ccd47e2
and edi, ecx
xor ecx, edi
sub edx, ecx
mov esi, ecx
sub ecx, 0x8ccf5212
ror esi, 0x11
nop
jmp 0x498dc3
add dword [esp + 0xd8], 0x20
mov edx, edi
or ecx, 0x8cd1436c
inc edx
add edx, 0x8cd22b4c
jmp 0x49b317
mov ebx, dword [esp + 0x158]
shr edx, 0x18
xchg edi, esi
ror ecx, 0x1a
xor esi, edx
mov ecx, 0x8ce151a7
xchg esi, edx
and esi, ecx
jmp 0x49985f
mov ebx, dword [ebx]
not edi
sub esi, 0x8d109741
or edi, 0x8d11210e
xor edx, esi
mov edi, 0x8d11fa3e
sub edi, edx
add edi, edx
not edi
jmp 0x49a7a8
mov ebx, dword [ebx]
or ecx, 0x8d49b41c
xchg edx, edi
shl edi, 0xf
neg edi
add edx, esi
mov ecx, esi
or ecx, esi
and edi, esi
or esi, edx
add edx, 0x8d4d3fee
jmp 0x499131
ret