Function at 0x97826a
Capabilities:
Encrypt data using chaskey

Disassembly:
mov eax, 2
or edx, ecx
add ecx, esi
inc edi
and edi, ecx
add edx, edi
xor ecx, edi
neg ecx
sub ecx, edx
or ecx, esi
and esi, ecx
jmp 0x975fc7
rol eax, 8
neg ecx
xor esi, 0xad6f906b
xor esi, 0xad6fb3ef
mov edx, esi
jmp 0x977f1f
add dword [esp + 0x74], ebx
xor ecx, edx
and edi, ecx
xor esi, edi
xchg esi, ecx
or esi, ecx
sub ecx, edi
jmp 0x977e6a
mov ebx, dword [esp + 0x10]
neg edi
shl esi, 0x15
sub edx, 0xad7579f1
shl edi, 0x1f
shl esi, 0xb
sub edx, 0xad75d0e5
xchg edi, edx
not ecx
dec esi
neg ecx
sub ecx, edx
shr edi, 0xe
jmp 0x975fb3
inc dword [esp + 0x7c]
and ecx, edx
sub edx, edi
xchg ecx, esi
or edi, esi
inc ecx
or ecx, edi
and edx, ecx
add esi, edi
sub esi, edi
or ecx, edi
xchg esi, edx
xor esi, 0xad82c29f
mov edx, esi
xor ecx, 0xad82f675
jmp 0x976c60
mov ebx, dword [esp + 0x74]
mov esi, edx
add ecx, edx
sub edx, ecx
xor esi, edx
mov edx, esi
shl edi, 0x10
jmp 0x97753b
add ebx, 0x3c
add esi, ecx
xor edx, ecx
sub ecx, edi
sub ecx, edi
xchg ecx, edx
and edx, edi
jmp 0x976493
mov ebx, dword [esp + 0x7c]
mov edi, ecx
add esi, 0xad8a1dc5
mov esi, edx
add ecx, edx
xor edx, edi
or esi, edi
xor ecx, esi
or esi, ecx
jmp 0x976981
mov ebx, dword [esp + 0x10]
and edx, esi
shr edi, 3
xchg edx, ecx
xor esi, edi
xchg esi, edi
and esi, 0xad8b6bf7
jmp 0x976bfa
pop ebx
sub ecx, edx
shr edi, 0x1f
xor esi, 0xad8cafcb
rol ecx, 0x12
sub edx, edi
ror ecx, 0x12
sub edi, edx
and edi, esi
and edi, 0xad8d7817
xor edi, esi
dec esi
and esi, 0xad8ddcad
jmp 0x977b9f
mov ebx, dword [esp + 0x10]
xor esi, ecx
shr esi, 0x13
mov edi, edx
and esi, edi
ror ecx, 0x1c
and esi, 0xad950665
xor edi, ecx
sub edi, esi
jmp 0x975c95
push ebx
mov esi, edi
or edi, 0xad96cb8b
xchg ecx, edx
add ecx, edx
and edx, 0xad971873
mov ecx, esi
or edx, ecx
add edi, 0xad976dd7
mov esi, edi
sub edi, ecx
jmp 0x976af7
add dword [esp + 0x74], eax
sub edi, esi
add edi, esi
mov edi, ecx
bswap esi
jmp 0x97813c
add dword [esp + 0x74], 4
ror edi, 0x11
mov edi, esi
sub ecx, edi
sub ecx, edi
inc edx
ror esi, 0x17
and edx, esi
add ecx, edx
and edx, 0xadb2be19
mov edi, edx
bswap edx
sub edx, edi
jmp 0x978056
mov ebx, dword [ebx]
mov esi, ecx
xor edi, edx
or edi, esi
shr esi, 0x13
xor edx, 0xadb5694b
and edx, edi
jmp 0x9766e7
mov ebx, dword [ebx]
rol edx, 0x1c
add ecx, edi
and edi, 0xadb5daf9
mov edx, ecx
mov ecx, 0xadb60e57
mov esi, 0xadb62b3d
add edx, 0xadb64b33
xchg esi, ecx
and ecx, edi
dec esi
jmp 0x977d49
mov dword [esp + 0x7c], eax
sub edx, ecx
and ecx, edx
dec ecx
mov esi, edi
not ecx
add esi, edi
rol ecx, 0xb
xor edi, 0xadc17f03
xchg ecx, edi
mov esi, edi
jmp 0x976cb0
jne 0x975ec8
or edx, esi
or edx, esi
add ecx, edi
and edi, edx
mov esi, edi
rol ecx, 0x1f
mov edx, esi
mov edx, 0xadc7eae9
jmp 0x976423
add ebx, dword [esp + 0x10]
add ecx, 0xadc80edf
mov edx, edi
mov esi, 0xadc842b5
or edx, 0xadc85eef
xor edi, 0xadc87afd
or edi, esi
dec edi
xor edi, edx
add edx, ecx
or ecx, 0xadc9041f
jmp 0x976135
add ebx, 0xc
or ecx, edx
add ecx, 0xadca9da3
mov edx, edi
and edi, esi
ror esi, 0x1a
add esi, edx
xor edx, esi
neg esi
rol edx, 0x1b
shl ecx, 5
jmp 0x977852
jne 0x97702f
add ecx, 0xadcbb0e9
add edi, edx
xor esi, edx
xor edx, 0xadcc00a3
shr edi, 0x14
or ecx, edx
mov esi, edi
add ecx, esi
add edx, esi
xor ecx, esi
bswap edi
inc ecx
jmp 0x97601e
mov ebx, dword [esp + 0x3c]
mov edx, ecx
sub edx, esi
xor esi, edi
xor edi, 0xadcdb43d
or edi, esi
xchg edx, ecx
and ecx, edx
shl edi, 0x1c
sub esi, 0xadce4087
dec edx
and ecx, edi
shr edx, 0x1f
jmp 0x97647b
mov ebx, dword [ebx]
add esi, 0xadd18ebb
and ecx, edx
mov esi, 0xadd1c5b9
xor esi, 0xadd1e1a5
or ecx, 0xadd20177
xor edx, esi
mov edi, ecx
add esi, 0xadd24e35
mov esi, edx
add esi, edi
jmp 0x977bf6
mul ebx
sub edi, 0xadd3c661
xor edi, edx
sub edi, edx
add esi, 0xadd41943
sub edi, ecx
or edi, edx
jmp 0x97624f
mov ebx, dword [ebx]
bswap edx
or esi, edi
mov ecx, edi
shl edx, 5
shl edx, 0xd
not edi
jmp 0x978121
add ebx, dword [esp + 0x7c]
sub edx, ecx
sub edx, ecx
or edx, esi
inc esi
add ecx, edx
inc esi
add edi, esi
shl esi, 0x1e
sub edx, 0xaddc5911
dec ecx
jmp 0x97710d
mul ebx
sub esi, edi
and edx, edi
xchg edi, ecx
xor edi, edx
sub ecx, esi
sub ecx, esi
not edx
or ecx, edi
bswap ecx
mov ecx, esi
rol esi, 7
mov esi, ecx
add esi, edx
ror edi, 5
jmp 0x9765eb
add dword [esp + 0x74], 0x78
xchg edi, esi
and edi, ecx
mov edx, 0xaddfb4e9
or ecx, 0xaddfd123
xor edx, ecx
add edx, edi
bswap ecx
mov ecx, esi
sub ecx, edi
and esi, edx
and ecx, edx
xor ecx, edx
jmp 0x975fe7
mov ebx, dword [ebx]
or esi, ecx
add edx, esi
mov ecx, edi
and ecx, edx
mov esi, 0xade27f41
add esi, edi
xor edx, edi
or esi, edi
sub edx, esi
sub ecx, edi
and esi, edx
sub edx, 0xade33a41
jmp 0x97765b
xor eax, eax
or esi, ecx
mov ecx, edx
inc ecx
or esi, 0xadea359f
bswap edx
sub edx, edi
and ecx, edi
dec esi
xor edi, ecx
shr edi, 0x1d
jmp 0x97702f
movzx ebx, word [ebx]
rol esi, 2
and ecx, 0xadeb1eb1
add edx, edi
bswap ecx
and edi, 0xadeb7111
xor edx, ecx
shl edi, 3
mov edx, 0xadebc2c3
xor edx, 0xadebe29d
dec edi
neg esi
sub edi, edx
and esi, ecx
or edx, esi
or edx, esi
add ecx, edi
jmp 0x976853
add ebx, dword [esp + 0x74]
sub esi, edx
xor edi, edx
rol ecx, 0x17
xor edi, 0xadf2fc63
and esi, edx
shl ecx, 0xa
and esi, edi
shl edi, 0x1b
rol esi, 0xa
and ecx, edx
xor ecx, edx
mov ecx, 0xadf3d8ef
sub edi, 0xadf3f4cb
sub esi, ecx
sub esi, 0xadf42a99
shr ecx, 0x18
jmp 0x976cfd
add dword [esp + 0x3c], 4
add edi, ecx
add edx, esi
or ecx, edx
and edx, edi
and esi, ecx
not esi
xchg esi, ecx
mov edi, edx
mov edx, edi
sub edx, edi
mov edx, 0xadf68d1f
sub esi, ecx
jmp 0x976788
sub dword [esp + 0x74], 8
add esi, 0xadf7fe09
mov esi, edx
dec edi
shr ecx, 0xf
and ecx, esi
mov edx, ecx
shl edi, 8
or esi, edx
mov ecx, edx
not edx
jmp 0x9776cc
mov ebx, dword [ebx]
sub ecx, edx
add edi, edx
neg ecx
xchg ecx, edx
xchg edi, esi
sub ecx, 0xadfab263
inc esi
xor edx, edi
add esi, ecx
bswap edx
xor ecx, esi
mov edx, 0xadfb5ab9
jmp 0x977007
mov dword [esp + 0x44], ebx
mov esi, ecx
or edx, 0xae00f771
and esi, edx
and ecx, edx
xor ecx, edx
mov ecx, 0xae015e4f
ror ecx, 9
mov esi, edi
add edi, ecx
sub esi, 0xae01cc0f
xchg ecx, esi
xchg edi, ecx
jmp 0x9773e5
mov dword [esp + 0x10], 0
or esi, edx
or ecx, edx
or edi, edx
add edx, 0xae036121
and ecx, 0xae037db1
ror ecx, 0x1c
shl edi, 0xf
ror edx, 0xc
and edi, edx
shr edx, 0x17
xor edi, edx
sub ecx, esi
jmp 0x978166
mov dword [esp + 0x7c], 0
bswap edi
xchg edx, ecx
xchg esi, edx
xor esi, 0xae07eb0d
mov edx, esi
xor ecx, esi
mov esi, edx
xor edx, esi
jmp 0x97819a
add ebx, dword [esp + 0x10]
sub edx, edi
ror ecx, 0xd
shl edi, 0x1a
and edi, esi
mov ecx, edx
sub edi, ecx
and esi, ecx
rol edx, 8
jmp 0x97809e
mov dword [esp + 0x74], ebx
and edi, edx
or esi, edi
mov esi, edi
add edx, 0xae130027
xchg esi, ecx
and ecx, edi
or ecx, 0xae13571b
xchg edx, ecx
xchg edi, edx
or ecx, esi
jmp 0x9760f1
xor al, byte [ebx]
xor ecx, 0xae13cdc7
mov ecx, edi
sub edx, 0xae140503
xchg edi, edx
or edi, edx
mov edx, esi
shl edi, 9
neg esi
or edx, edi
add edx, ecx
jmp 0x975c7d
mov ebx, dword fs:[ebx]
xor edx, edi
xor ecx, esi
add edx, edi
or esi, 0xae1531c3
add edx, ecx
mov ecx, esi
inc edx
add ecx, esi
mov edx, 0xae15b77d
or ecx, edi
jmp 0x977865
mov eax, 4
or edx, ecx
not ecx
xor ecx, esi
not edi
mov edx, edi
xor ecx, edx
mov edx, edi
and edx, ecx
mov ecx, esi
add ecx, edi
or esi, edx
add edx, edi
bswap ecx
mov ecx, esi
jmp 0x976b15
cmp byte [ebx], 0
jmp 0x97675d
mov ebx, 0x30
or edx, ecx
add edi, 0xae31c257
sub edi, esi
inc esi
xchg ecx, edi
rol edi, 6
inc edi
add edx, ecx
mov ecx, edi
add edi, esi
jmp 0x977053
mov ebx, dword [ebx]
xchg esi, edi
xor ecx, edi
and esi, 0xae3d4cf5
mov edi, esi
and ecx, 0xae3d8043
mov ecx, edx
inc ecx
and edx, edi
sub edi, edx
and esi, ecx
rol esi, 0x13
and esi, edx
jmp 0x976ec7
add ebx, dword [esp + 0x10]
mov esi, edi
rol ecx, 0x12
add esi, 0xae4666cf
rol esi, 0xb
add edi, esi
or esi, edx
sub edi, 0xae46d701
xchg edx, esi
and esi, edi
and edi, ecx
jmp 0x977793
mov ebx, dword [esp + 0x74]
not esi
xchg edx, edi
mov ecx, 0xae498b5b
or ecx, esi
or edi, esi
mov edx, esi
mov ecx, 0xae49f723
or ecx, esi
mov edi, esi
add edx, esi
jmp 0x97693c
mov dword [esp + 0x3c], ebx
xor edx, ecx
add edx, edi
neg edi
xor ecx, 0xae5029d7
dec esi
and edx, ecx
xchg edx, ecx
sub edx, ecx
jmp 0x975b4e
ret
mov ebx, dword [ebx]
xchg edi, esi
inc esi
and esi, edx
shl esi, 0xf
mov esi, edi
and esi, ecx
jmp 0x977b77
add ebx, 0xc
xchg ecx, esi
or edi, esi
sub esi, edx
ror esi, 0x12
mov esi, 0xae56feb5
or edx, 0xae571ac5
add ecx, edi
or esi, edx
and edi, 0xae576853
mov edx, ecx
jmp 0x977965
mov ebx, dword [esp + 0x3c]
and ecx, edx
shl edi, 0xa
xor esi, edi
xchg esi, edi
or esi, edx
mov ecx, esi
jmp 0x976951
mov dword [esp + 0x74], ebx
neg edx
add edx, ecx
neg esi
sub ecx, edi
xchg esi, edi
shr edx, 0x12
sub edx, edi
and edi, esi
or esi, edi
ror edx, 0x17
or esi, edx
or esi, edx
xor esi, edi
add ecx, esi
jmp 0x9778c6
mov ebx, dword [ebx]
shr esi, 0x10
sub esi, ecx
and ecx, edi
sub esi, edx
ror esi, 0x1c
and edi, esi
and edx, esi
sub ecx, edx
jmp 0x97673a
add esp, 0x8c
rol edi, 0x1b
rol edi, 0x19
shl esi, 0xc
ror ecx, 0xd
and edi, ecx
and ecx, edi
add ecx, edx
xchg esi, edx
ror esi, 0xf
and edx, esi
ror edi, 0x1b
or edx, 0xae6058d9
xor edx, edi
ror esi, 4
shr edx, 0x11
or ecx, esi
jmp 0x9777b2
mov ebx, dword [ebx]
add ecx, edi
sub edi, esi
inc esi
xchg edx, edi
dec edx
mov ecx, 0xae702235
mov ecx, esi
shl edx, 3
sub edi, ecx
add ecx, esi
or esi, edx
mov edi, 0xae70c4a5
or edi, esi
xor edx, esi
jmp 0x977dd0
cmp eax, dword [esp + 0x44]
jmp 0x9766c8
mov ebx, dword [ebx]
ror edx, 0x1e
mov edi, ecx
add edi, edx
add edx, edi
not ecx
or ecx, esi
xchg edi, esi
bswap edi
jmp 0x977f9d
add ebx, dword [esp + 0x10]
or esi, edx
mov ecx, esi
rol edx, 0x13
shl ecx, 0x19
and esi, edi
or esi, ecx
mov esi, edx
add ecx, edx
and edi, edx
xchg edi, edx
jmp 0x97797e
add ebx, 0x18
xchg edx, esi
sub ecx, edx
shr edi, 0x1d
or edi, esi
jmp 0x977bc6
mov dword [esp + 0x74], ebx
rol esi, 0xc
shl edx, 0x1e
sub ecx, esi
inc edx
mov edx, edi
and ecx, edi
ror esi, 0x1a
and edx, ecx
and edx, esi
add edi, ecx
mov esi, edx
xor edi, 0xae8099d1
jmp 0x9769bf
mov ebx, dword [ebx]
nop
add ecx, esi
rol edi, 0x15
rol edi, 0x13
shl esi, 0x11
sub ecx, edi
add edi, esi
inc edi
add edi, esi
neg esi
sub edi, edx
inc edx
add ecx, esi
sub edx, esi
rol edi, 0xd
and edx, 0xae85a7f1
jmp 0x977ce7
add dword [esp + 0x74], 0x20
or ecx, esi
mov edi, esi
xchg esi, edi
xor edi, esi
shl edx, 0xf
neg ecx
mov esi, ecx
xor edx, ecx
sub edi, esi
inc esi
xchg ecx, edi
rol edi, 0xa
rol edi, 0xb
add edx, esi
dec esi
and esi, 0xae8ab6b7
jmp 0x975f39
inc ebx
sub ecx, edi
rol edx, 0xd
shl ecx, 0x10
rol esi, 0xd
shl edx, 3
mov esi, edx
add esi, edi
xor edx, edi
jmp 0x9773dd
mov dword [esp + 0x10], ebx
and ecx, 0xae9251fb
mov edi, ecx
bswap ecx
mov ecx, esi
jmp 0x975d3f
mov ebx, dword [esp + 0x74]
mov esi, ecx
or ecx, edx
or esi, edi
xor edi, ecx
jmp 0x976a06
mov dword [esp + 0x3c], ebx
and edi, ecx
dec edx
xor esi, edi
add ecx, esi
and edi, esi
or ecx, edx
xor edx, 0xae9a5049
xor esi, 0xae9a6cb5
mov edx, esi
add esi, ecx
jmp 0x975ec8
add ebx, dword [esp + 0x10]
xor edx, 0xae9d997f
add edx, 0xae9db5e5
mov esi, ecx
dec esi
jmp 0x97793b
mov ebx, dword [esp + 0x74]
add ecx, edi
dec edx
mov ecx, 0xae9e4983
or ecx, 0xae9e6213
add ecx, esi
and ecx, edi
and edi, esi
xchg edx, esi
xchg ecx, edx
or esi, edi
or esi, edi
add esi, ecx
jmp 0x976804
mov dword [esp + 0x74], 0
shl esi, 4
mov esi, edi
add edi, edx
nop
and ecx, 0xae9fc4a1
mov ecx, edx
not edx
add edi, ecx
and ecx, edx
or esi, edi
mov ecx, esi
add edi, esi
and edi, 0xaea0994f
xor edi, esi
jmp 0x976dac
mov dword [esp + 0x3c], 0
neg edi
dec edx
or esi, ecx
and esi, 0xaea12879
xchg ecx, esi
mov edx, edi
xchg edx, esi
add edi, esi
add esi, ecx
bswap ecx
jmp 0x976dfe
sub esp, 0x8c
bswap ecx
mov edi, edx
xchg ecx, edi
ror ecx, 0x1b
shl edi, 0x18
sub esi, 0xaea82b03
mov ecx, edx
add edi, 0xaea85f37
rol edi, 0x1b
shl esi, 0x11
jmp 0x976ea3