Function at 0x4997a4
Capabilities:
Encrypt data using chaskey

Disassembly:
mov ebx, dword [ebx]
and edi, ecx
sub edx, esi
mov ecx, esi
shr esi, 0x1e
xchg edx, edi
sub esi, ecx
inc edx
or edi, 0xf8c32a4a
xchg esi, edi
xor ecx, edi
sub ecx, edx
jmp 0x49b542
add dword [esp + 0x9c], 4
mov ecx, esi
dec edx
bswap edi
add ecx, edi
xchg edx, esi
or esi, ecx
xor edx, esi
or edi, ecx
mov ecx, 0xf906f311
inc edx
or ecx, edx
xor edx, 0xf9078d86
jmp 0x499b97
add ebx, 0xc
shr esi, 0x11
and esi, ecx
add edi, ecx
add ecx, esi
or esi, ecx
shl edx, 0xc
neg esi
mov edx, ecx
and ecx, edx
shr esi, 6
and ecx, edi
jmp 0x49a06d
mul ebx
and edi, 0xf917f2d7
xchg ecx, edi
ror ecx, 0xb
neg edi
not edx
xor edx, ecx
xchg edi, edx
or edi, esi
shl ecx, 0x19
jmp 0x498b7a
add ebx, dword [esp + 0x4c]
bswap edi
and ecx, esi
shl ecx, 0x1a
dec esi
sub edx, ecx
xchg edi, ecx
shl edx, 0x18
neg esi
and edi, 0xf9391df9
and ecx, edx
dec ecx
sub esi, edi
jmp 0x49b3b2
add ebx, dword [esp + 0x4c]
sub ecx, 0xf9430c38
xor esi, edi
xor edx, esi
rol edi, 4
add edx, edi
rol ecx, 7
xor ecx, esi
and ecx, edi
jmp 0x4993fa
mov ebx, dword [esp + 0x94]
sub ecx, edx
or edi, esi
bswap esi
add edx, ecx
or ecx, 0xf95c1971
not ecx
add edi, 0xf95c83c1
inc ecx
mov ecx, esi
shr edx, 0x15
add esi, edi
rol edx, 0x10
jmp 0x4983a8
add dword [esp], 0x78
xor edx, edi
add edi, edx
mov ecx, esi
ror ecx, 0x1d
or ecx, edi
bswap edx
or ecx, edx
jmp 0x49a0b1
mov ebx, dword [esp + 0x9c]
add ecx, esi
ror ecx, 0x1d
mov esi, edx
xor edi, ecx
or edx, 0xf96d11f3
and edx, edi
rol edx, 8
or edx, ecx
xor edi, 0xf96de709
neg ecx
jmp 0x49a5b8
mov ebx, dword [esp]
sub esi, edx
add ecx, edi
ror edx, 8
sub ecx, edx
sub edx, ecx
xor edi, ecx
sub edi, edx
shr edx, 0x1a
jmp 0x49b40e
mov dword [esp + 0x94], eax
mov ecx, edi
xor edx, esi
or ecx, 0xfa72151f
inc esi
jmp 0x4990a9
mov dword [esp], ebx
mov ecx, edx
sub ecx, esi
neg esi
xor esi, ecx
or edi, ecx
jmp 0x49883c
mov dword [esp], 0
or esi, ecx
ror edi, 0xf
and esi, edi
sub edx, esi
bswap edi
and edx, ecx
and ecx, edx
xor edi, edx
mov edi, 0xfb8030a7
bswap edi
jmp 0x49acc7
add dword [esp], 0x20
shr edi, 0x12
and ecx, edx
mov esi, edi
sub edi, ecx
or edi, esi
mov edx, edi
mov esi, edx
rol ecx, 0x11
or ecx, edx
jmp 0x4988ae
mov dword [esp + 0x9c], 0
bswap edx
rol edx, 0x10
shr edx, 0x13
inc edi
xor edx, edi
jmp 0x499779
sub dword [esp], 8
xor ecx, edi
and edx, edi
bswap esi
xor edx, 0xfbad26a3
shr edx, 3
add edi, edx
xor edx, ecx
and edx, edi
xor ecx, esi
sub esi, ecx
dec edi
or edi, edx
shl esi, 6
jmp 0x4999af
add dword [esp], 4
xor esi, ecx
ror edi, 0x1e
sub ecx, esi
xchg edx, edi
shr esi, 0xa
add edx, edi
mov edi, esi
jmp 0x49b1a7
mov eax, 4
mov edi, 0xfbdc74a4
shl ecx, 5
and esi, edi
xor esi, edi
xor edi, ecx
and edx, esi
or edi, edx
or edi, edx
sub esi, edx
or ecx, esi
neg edx
and edi, esi
and ecx, edi
mov edx, edi
jmp 0x49b1bb
mov dword [esp], ebx
add esi, 0xfc019394
xor esi, 0xfc01e8fc
and esi, ecx
and edx, ecx
or ecx, 0xfc0311c9
dec edi
sub ecx, 0xfc03cf2a
and edx, edi
add esi, edx
inc ecx
shl edx, 1
jmp 0x4987f8
mov ebx, dword [ebx]
mov esi, 0xfc0debb0
neg esi
and edx, ecx
mov esi, edi
xor edx, ecx
sub edi, esi
sub ecx, esi
xchg edx, ecx
ror edx, 6
add edx, 0xfc1095f5
xchg edx, esi
add edx, 0xfc10fe38
jmp 0x49ae34
xor eax, eax
add edi, ecx
add esi, 0xfc2c460c
nop
jmp 0x4993e2
xor al, byte [ebx]
and edx, edi
mov ecx, 0xfc2cf66a
xchg edx, ecx
xchg edi, esi
and esi, 0xfc2d8298
jmp 0x4994db
mov dword [esp + 0x9c], ebx
or esi, ecx
and ecx, esi
neg esi
or edi, ecx
xor edx, ecx
xchg ecx, edi
neg edi
mov edi, edx
mov edx, esi
or esi, edi
mov edi, 0xfc2f927c
or edx, 0xfc2fbddd
xor edx, esi
jmp 0x49a9c8
mov ebx, dword [ebx]
or esi, ecx
mov edx, edi
or esi, ecx
xchg edi, ecx
sub edx, esi
rol ecx, 0x12
add edx, 0xfc33094c
and ecx, 0xfc333880
mov edx, ecx
dec edx
and ecx, edx
jmp 0x49a680
rol eax, 8
add ecx, 0xfc3c25d8
add edi, 0xfc3c54ee
add esi, edi
xchg ecx, esi
mov esi, 0xfc3ce2f4
xor esi, ecx
not ecx
and edx, 0xfc3d83b6
sub edx, 0xfc3dcc3c
neg edx
inc edx
mov ecx, edx
sub edi, 0xfc3eb113
xchg edx, esi
jmp 0x49a367
mov ebx, dword [esp + 0x4c]
and esi, 0xfc4089d4
add ecx, esi
and edx, esi
xor esi, edi
jmp 0x49989a
mov ebx, dword [esp + 0x4c]
not esi
and edx, 0xfc41ad1c
or edx, 0xfc41dc6d
mov edx, edi
inc edx
xor ecx, esi
or ecx, edi
and edx, ecx
jmp 0x49b20b
mov ebx, dword [ebx]
and edi, ecx
shl edx, 0x12
mov edx, ecx
dec edx
xchg edi, edx
xchg edi, esi
and esi, ecx
and ecx, edi
bswap esi
jmp 0x49aef0
jne 0x49a9c8
neg ecx
sub edx, esi
xor esi, 0xfc7d001b
xchg esi, edx
nop
add edx, ecx
xor edi, esi
or ecx, edx
jmp 0x4990f2
mov dword [esp + 0x4c], 0
add edi, edx
mov ecx, 0xfcb32152
xor esi, ecx
and esi, edx
xor ecx, edi
sub edi, esi
xchg edi, ecx
xchg ecx, edx
xor ecx, edi
or edx, 0xfcb5fe5d
jmp 0x498f0d
sub esp, 0xb4
mov esi, 0xfcb67a1b
xor edx, 0xfcb6d015
dec ecx
add edx, ecx
shr esi, 0x1c
xor edi, esi
jmp 0x49a70e
add dword [esp], ebx
ror ecx, 0x15
mov edx, 0xfcda7b8a
dec esi
sub esi, edx
add edx, esi
jmp 0x498f56
mov ebx, dword [ebx]
or ecx, esi
xor ecx, 0xfcdf4836
add edx, edi
sub edx, esi
xor ecx, 0xfce05bc3
mov edx, edi
mov edi, ecx
or esi, edi
add edi, edx
inc esi
shl esi, 6
add edi, ecx
xor esi, edi
jmp 0x499441
mov ebx, dword [esp]
add ecx, edi
and esi, edx
xor esi, ecx
dec ecx
dec esi
sub edi, ecx
sub edi, esi
and esi, ecx
or esi, 0xfcedb305
jmp 0x499c7b
mov ebx, dword [esp]
not edi
mov ecx, 0xfcf26457
mov edx, esi
inc edx
add ecx, edi
or edi, 0xfcf31cdb
shr ecx, 0x11
jmp 0x4992e0
mov ebx, dword [esp + 0x9c]
add edi, 0xfd13bedc
neg esi
add ecx, esi
xor ecx, edx
mov edx, esi
neg edi
mov ecx, 0xfd161784
and ecx, esi
not edi
jmp 0x49ad25
mov ebx, dword [ebx]
bswap esi
and esi, 0xfd2d3c15
mov edx, 0xfd2d7f2b
shr edx, 0x1a
xor ecx, esi
mov esi, ecx
jmp 0x4985bd
mov ebx, dword [ebx]
shr edi, 0x1b
or ecx, edi
xor edx, esi
dec edx
xchg edx, ecx
xchg edi, esi
or esi, edx
not ecx
and edi, edx
ror edx, 9
jmp 0x49a3e5
cmp byte [ebx], 0
jmp 0x49b4a0
mov ebx, dword [ebx]
add edx, esi
add esi, edx
add esi, edx
mov edx, 0xfde0cb20
add edx, ecx
or esi, edx
shl edi, 2
shl esi, 0x17
and ecx, 0xfde1ce81
inc edx
sub ecx, edi
jmp 0x49b0e4
mov ebx, dword [esp + 0x4c]
or ecx, edi
and esi, ecx
bswap edx
xchg edi, esi
not edi
and edi, esi
or ecx, 0xfde7049f
inc edx
sub edi, esi
dec esi
xchg edx, edi
or ecx, 0xfde80f78
or edi, edx
shr edx, 0xf
add edi, edx
jmp 0x49b349
add ebx, 0x18
sub esi, 0xfe0e49c6
dec esi
dec esi
and edi, 0xfe0f61c0
mov ecx, 0xfe0fc305
neg edi
or edx, edi
xchg edx, ecx
and ecx, esi
or edi, ecx
jmp 0x499c96
mov ebx, 0x30
add esi, edx
xchg ecx, edx
add edi, ecx
add esi, 0xfe1b2466
xchg ecx, edi
and esi, edi
mov edi, edx
add edi, 0xfe1cb9e0
xor edx, esi
mov edi, 0xfe1d78f6
add edx, 0xfe1ddde5
xor edx, edi
jmp 0x49af5a
inc ebx
mov edi, edx
ror edx, 0x17
add edx, 0xfe2222cb
and edi, esi
xor edx, ecx
bswap edx
and esi, edx
jmp 0x499f28
add dword [esp], eax
add edx, ecx
sub esi, 0xfe295138
or ecx, edi
mov esi, 0xfe2a1af9
add esi, 0xfe2a72d9
or ecx, 0xfe2acb87
sub esi, 0xfe2b2148
jmp 0x49993c
mov dword [esp + 0x4c], ebx
not ecx
xor edx, 0xfe2bf1f9
bswap edx
or esi, 0xfe2ca8cf
rol edx, 0x10
and ecx, edx
jmp 0x499545
mov eax, 2
ror edi, 0xc
dec ecx
shr ecx, 0x11
shl edx, 0xb
inc ecx
xor edx, esi
add ecx, edx
or edi, 0xfe4e82ee
xor edx, 0xfe4edc08
jmp 0x498719
pop ebx
and ecx, esi
xchg esi, edi
shr ecx, 5
sub esi, 0xfe6e1181
sub edi, esi
and esi, edi
rol edx, 0x17
xchg edi, esi
or edi, ecx
mov edi, edx
and edx, esi
shl esi, 0xf
add edx, edi
jmp 0x49ac0c
add ebx, dword [esp + 0x94]
rol ecx, 0xb
xchg edx, ecx
add ecx, esi
ror ecx, 0xc
mov ecx, 0xfe85db03
add ecx, edi
and edi, edx
mov edi, edx
jmp 0x499193
mov ebx, dword [ebx]
xor edx, ecx
and edx, 0xfe92306d
neg ecx
sub esi, edx
xchg edi, esi
dec edx
nop
or edi, 0xfe948b6d
or edi, esi
or ecx, edi
mov edi, edx
ror edi, 0x15
mov edi, ecx
not ecx
jmp 0x49a2ad
mov dword [esp + 0x94], 0
xor edi, edx
add edi, edx
ror ecx, 0x13
or edx, esi
and edi, edx
mov edi, 0xfea62d78
and ecx, edi
xchg esi, edx
neg ecx
add esi, edi
shr edi, 5
mov ecx, edx
sub esi, 0xfed1779e
or esi, edx
jmp 0x498fb9
inc dword [esp + 0x94]
or esi, edi
xor edi, edx
xchg edx, ecx
jmp 0x498282
ret
add ebx, dword [esp + 0x4c]
and ecx, edi
add edi, esi
shl edx, 4
xchg ecx, edi
mov ecx, esi
xchg edx, edi
mov ecx, edx
or ecx, edi
or edi, 0xff553779
xor edi, esi
shr edi, 2
add edx, ecx
jmp 0x49ae4b
mov ebx, dword [ebx]
xor ecx, edx
xchg edx, ecx
mov esi, edx
neg esi
shr edx, 0xb
or edi, ecx
mov esi, edx
neg esi
jmp 0x49926d
cmp eax, dword [esp + 0x6c]
jmp 0x499647
mov dword [esp + 0x6c], ebx
not ecx
and edx, ecx
neg esi
and ecx, 0xff66435c
mov ecx, esi
xchg ecx, esi
or esi, 0xff66eede
and edx, ecx
xchg edx, edi
shr esi, 0x1f
xor edi, ecx
add edi, ecx
and edi, edx
jmp 0x49a321
mov ebx, dword [ebx]
xor edi, esi
or edi, 0xff7d8157
sub ecx, 0xff7de485
dec esi
add edx, ecx
inc esi
add esi, edx
jmp 0x49ab7c
mul ebx
xor ecx, esi
mov esi, edx
sub esi, edi
mov edi, edx
not edx
sub edi, esi
rol edi, 8
jmp 0x49a3b8
add ebx, dword [esp + 0x4c]
not edi
shl edi, 0x18
sub edx, ecx
or edx, edi
bswap edx
jmp 0x498bfc
push ebx
or edx, ecx
xchg edi, edx
neg ecx
shr ecx, 6
not ecx
xor esi, ecx
sub edx, 0xffa8a74c
xchg edi, ecx
add edi, esi
jmp 0x4993d2
mov dword [esp], ebx
and edx, 0xffafff11
xchg esi, edx
mov edx, ecx
inc edx
and esi, ecx
or edx, ecx
or esi, edi
xor edx, edi
shr ecx, 7
and esi, ecx
xor edi, esi
not esi
sub ecx, 0xffb217e6
add ecx, edx
sub ecx, edi
sub edi, 0xffb29a83
jmp 0x49952d
mov ebx, dword fs:[ebx]
mov ecx, 0xffc18dd8
xor edx, esi
add edi, 0xffc25f34
and ecx, esi
add ecx, edi
jmp 0x4982c1
add ebx, 0xc
and edi, ecx
xchg edi, ecx
xor edi, ecx
sub edx, edi
add edi, 0xffeee8bc
and ecx, edi
add esi, ecx
xor esi, edi
dec ecx
neg edi
neg edx
mov edi, ecx
jmp 0x4998c7
mov ebx, dword [esp]
sub edi, edx
sub edx, 0xfffa9ca2
jmp 0x498261
movzx ebx, word [ebx]
and edi, 0xfffadc65
sub edi, ecx
mov edx, esi
xchg ecx, edx
mov esi, ecx
mov edi, esi
sub ecx, 0xfffbf98e
sub edi, 0xfffc29d0
and edi, 0xfffc59dc
xor esi, edi
or ecx, 0xfffcb832
add edx, esi
nop
jmp 0x49adb0
add ebx, 0x3c
sub esi, edi
rol edi, 4
inc esi
or esi, 0xffffb370
and esi, 0xffffe96c
mov edx, ecx
jmp 0x49abf4
mov dword [esp + 0x9c], ebx
xchg edi, ecx
xor ecx, edi
mov edx, edi
mov edi, edx
inc ecx
add ecx, edx
sub esi, edi
bswap esi
mov edi, 0x2b33be
xchg ecx, edx
jmp 0x49a461
add ebx, dword [esp]
sub edx, edi
dec edi
nop
mov edi, esi
xchg edx, edi
and esi, ecx
mov edi, 0x2d1ff4
xor edx, ecx
and edi, edx
jmp 0x4995fe
add esp, 0xb4
xchg edx, esi
shl edi, 8
rol edx, 0x19
or edi, esi
inc esi
dec esi
shl edi, 0xd
mov ecx, edi
sub esi, edx
xor edi, esi
inc ecx
sub edx, esi
jmp 0x49ab4c
mov ebx, dword [ebx]
not esi
xchg edx, ecx
or edi, 0x3bdd1d
or edx, ecx
xor edx, esi
rol edi, 0x1f
sub ecx, edi
sub esi, 0x3cc81b
sub esi, 0x3d0644
jmp 0x498682
jne 0x4993e2
shl esi, 0xf
xor edi, 0x44c879
and edi, 0x44f830
or edx, ecx
sub ecx, 0x4555de
add edi, ecx
xchg edi, ecx
xor ecx, edi
and edi, esi
and esi, ecx
and edi, esi
xor esi, edx
add ecx, 0x46d043
jmp 0x49a4d4
add ebx, dword [esp + 0x4c]
rol ecx, 0xd
sub edx, edi
add esi, edi
and ecx, edi
xchg edx, esi
jmp 0x49b327