Function at 0x49998c
Capabilities:
Encrypt data using chaskey

Disassembly:
mov edx, dword [esp]
and ecx, esi
inc ecx
sub ecx, 0xc12e1236
nop
sub ebx, 0xc12ef445
shl esi, 7
jmp 0x49aee2
pop edx
and ebx, ecx
add edi, ebx
jmp 0x4995f5
push edx
add ecx, ebx
xor edi, ecx
and ecx, esi
sub esi, ecx
mov ebx, esi
xor ecx, ebx
jmp 0x499d89
mov dword [esp], 0
dec ebx
add edi, 0xc1810fd0
add ebx, edi
sub ebx, ecx
shl ecx, 0x15
xor ecx, esi
or edi, ecx
xor esi, ebx
mov ebx, edi
sub edi, esi
xchg ecx, edi
xor ebx, esi
jmp 0x498919
mov dword [esp], edx
sub edi, esi
mov esi, edi
sub esi, edi
add ecx, 0xc18a5e76
inc ecx
bswap edi
add ecx, 0xc18b854b
rol ebx, 0xf
sub ecx, ebx
sub esi, edi
add ebx, ecx
xchg edi, ebx
sub esi, ecx
xor esi, 0xc18ea512
mov esi, edi
jmp 0x49a034
mov edx, dword [esp + 0x18]
neg edi
or esi, edi
mov edi, esi
mov ecx, 0xc190ed90
nop
and ecx, edi
and edi, 0xc1921afe
add esi, ecx
jmp 0x49b14f
mov edx, dword [edx]
add edi, esi
or ecx, esi
add edi, ecx
xor ebx, edi
or ecx, ebx
inc ebx
and ebx, ecx
or edi, 0xc1a6f1dd
xchg edi, ecx
jmp 0x49956a
mov dword [esp + 0xa0], edx
add esi, ecx
add esi, edi
add esi, edi
rol edi, 9
rol esi, 0x16
or ecx, 0xc1aa32ca
jmp 0x498e28
mov edx, dword [edx]
xchg ebx, ecx
neg edi
sub edi, ebx
or ebx, ecx
xchg ecx, edi
xchg edi, ebx
jmp 0x4990a4
movzx edx, word [edx]
shl ecx, 9
bswap esi
bswap esi
dec esi
bswap esi
and ebx, ecx
mov ebx, esi
and ecx, 0xc1f66e1b
sub edi, ebx
jmp 0x49918d
mov edx, 0x30
sub edi, esi
sub edi, 0xc26b7ff1
dec ecx
and ebx, edi
sub edi, 0xc26cad1a
sub ecx, ebx
shl ebx, 0x18
xchg esi, edi
add esi, edi
mov ebx, ecx
not ebx
mov edi, esi
jmp 0x499115
mov dword [esp + 0x9c], edx
neg esi
or esi, ebx
or esi, 0xc2786588
dec ebx
not esi
sub edi, esi
not esi
or ebx, ecx
neg ecx
bswap edi
sub ecx, esi
and ebx, 0xc27c3469
xor ebx, edi
jmp 0x49958b
add edx, 0xc
and esi, edi
sub esi, ecx
ror esi, 0xe
sub esi, 0xc28f2198
sub edi, 0xc28f8496
and ebx, esi
add ecx, 0xc290521a
xchg ecx, edi
sub edi, 0xc2916ede
add ecx, esi
jmp 0x4993d0
mov edx, dword [edx]
add esi, ebx
sub ecx, esi
xor edi, ebx
xchg ebx, edi
sub edi, ebx
xchg ecx, esi
or edi, ecx
xchg ecx, esi
jmp 0x49a31e
add dword [esp + 0x9c], 4
or ecx, 0xc2a551f4
or esi, edi
xor ebx, 0xc2a647bb
add esi, ebx
add edi, esi
bswap edi
add ebx, edi
and ebx, edi
shr esi, 0x19
shl ecx, 2
jmp 0x49a613
mov dword [esp + 0x18], edx
or ebx, edi
inc edi
or ecx, esi
add edi, esi
xchg ebx, ecx
jmp 0x499741
add edx, dword [esp + 0x18]
inc edi
inc edi
and esi, 0xc2de7b53
mov ecx, ebx
xor ecx, esi
shr esi, 9
jmp 0x4987fe
mov edx, dword fs:[edx]
add edi, ebx
or esi, edi
ror ebx, 0x15
xor ebx, ecx
xor ecx, ebx
jmp 0x498f13
mul edx
shl esi, 0x14
mov esi, ecx
sub esi, ebx
inc edi
dec edi
or ebx, esi
jmp 0x499f13
sub dword [esp], 8
sub edi, esi
add ecx, ebx
or esi, ebx
sub ebx, 0xc3328d21
xor esi, ebx
mov edi, esi
and ebx, ecx
and esi, edi
shr ebx, 0x19
neg edi
jmp 0x499bcc
mov eax, 4
sub ecx, edi
add ecx, ebx
or ebx, edi
or ecx, ebx
xor ecx, 0xc357d108
neg ecx
xchg edi, ebx
shr esi, 0x1a
jmp 0x498a85
mov edx, dword [edx]
or ecx, edi
shl ecx, 0x19
or ebx, 0xc35a65cb
neg ebx
sub ecx, edi
shl ebx, 0x11
sub esi, ebx
or esi, ecx
xor edi, 0xc35e270b
sub ecx, esi
and esi, edi
jmp 0x4996b1
add dword [esp], 4
mov esi, 0xc3769e85
and esi, edi
or edi, 0xc380d091
add edi, ebx
and ecx, 0xc381cff1
add edi, ecx
mov ebx, ecx
xor ebx, 0xc3830dc4
mov edi, ecx
add ebx, 0xc383ecee
and ebx, 0xc3846906
xchg ecx, edi
jmp 0x49a716
add edx, dword [esp + 0x18]
and edi, ebx
xchg esi, ecx
xor esi, ebx
jmp 0x498e8f
inc edx
sub ebx, esi
or ecx, edi
or ecx, 0xc3a0fac0
add ebx, ecx
or ebx, esi
ror esi, 0x1e
and ecx, 0xc3a2bbf6
sub ecx, edi
sub edi, ecx
xchg esi, ebx
sub ebx, edi
and edi, ebx
mov ecx, ebx
xor edi, ecx
and esi, 0xc3a5de28
jmp 0x49a70e
add edx, 0x18
xor esi, ebx
mov ecx, ebx
or edi, ecx
sub ecx, esi
shl esi, 0x15
ror ecx, 0x19
neg esi
not esi
xchg edi, ecx
ror esi, 0xb
xchg esi, ecx
jmp 0x499aae
inc dword [esp + 0x30]
xchg ecx, edi
shl ecx, 0xc
and edi, esi
xchg ebx, esi
not ecx
neg esi
mov ecx, 0xc3ad4fe0
xchg edi, ecx
sub ebx, esi
add ecx, esi
jmp 0x498f90
cmp eax, dword [esp + 0xa0]
jmp 0x49965d
jne 0x49958b
mov esi, edi
inc esi
or ecx, edi
xor edi, ecx
xor ebx, 0xc3d3ed9e
mov ebx, edi
neg esi
or edi, esi
mov edi, ebx
rol ecx, 7
sub esi, ebx
and ebx, esi
nop
shl ebx, 0x11
sub ebx, edi
jmp 0x49944a
mov edx, dword [esp + 0x18]
not ebx
add edi, 0xc3e42b92
not ebx
neg esi
xchg ecx, edi
or ecx, 0xc3e600ac
or edi, esi
xchg ebx, edi
xchg esi, ecx
inc edi
jmp 0x49a1b6
add edx, 0xc
sub edi, ecx
shr esi, 0x19
shl ebx, 0x14
not ecx
and ecx, 0xc3ec07ac
or ebx, 0xc3f51c86
add esi, 0xc3f59cab
mov ecx, esi
mov edi, esi
sub ebx, ecx
or ebx, ecx
or ecx, edi
jmp 0x499725
mov edx, dword [edx]
and ebx, 0xc400b8d6
add ebx, edi
add esi, edi
xor ecx, ebx
sub esi, edi
ror ebx, 9
mov esi, edi
add esi, ecx
jmp 0x49b0db
mov edx, dword [esp + 0x18]
xchg ebx, edi
xor esi, edi
xor edi, 0xc405228f
xor esi, edi
xor ecx, edi
xchg edi, ecx
or ebx, 0xc406dee1
add edi, 0xc4075ad8
jmp 0x499d44
mov eax, 2
xor esi, ebx
mov esi, 0xc412c102
inc edi
dec esi
ror esi, 1
add esi, edi
ror ecx, 0x16
xchg ecx, esi
add edi, ebx
xor esi, edi
bswap ebx
jmp 0x499d2c
sub esp, 0xa8
and ebx, 0xc46da466
and edi, ebx
and ebx, 0xc46eb640
xchg ebx, edi
mov edi, 0xc46f70c5
or edi, ecx
add esi, 0xc470553c
inc esi
or ecx, edi
xor ecx, edi
neg esi
inc edi
shl ebx, 9
and ecx, edi
jmp 0x49a5d3
mov edx, dword [edx]
sub edi, ecx
xor ecx, 0xc4aeca7c
not esi
xor edi, 0xc4af8df5
shr ecx, 0x1e
sub ecx, edi
and ecx, 0xc4b0def5
shl ebx, 4
neg esi
mov esi, edi
mov ebx, esi
xor esi, 0xc4b322fe
and ebx, esi
shl ebx, 0x1c
jmp 0x498fd8
mov dword [esp + 0x30], eax
not edi
mov edi, ecx
xchg ebx, edi
shl esi, 0xf
bswap esi
shl edi, 1
add ebx, ecx
sub ebx, edi
xor edi, ebx
xchg esi, edi
jmp 0x4992a1
mov edx, dword [esp]
add esi, ecx
shl ecx, 0x1c
mov esi, edi
or edi, 0xc4f099e9
sub esi, edi
bswap esi
mov edi, ecx
rol esi, 7
xor ecx, edi
shr ebx, 0x10
jmp 0x49a50b
mov edx, dword [esp + 0x30]
xor ecx, ebx
xor ecx, esi
xchg ecx, esi
add ecx, 0xc55d8831
jmp 0x49a0d3
add edx, 0x3c
sub ebx, esi
rol ecx, 0x1b
inc ebx
xor ebx, ecx
xor ecx, 0xc55f8506
shl ebx, 2
and ebx, ecx
mov edi, esi
add esi, ebx
xchg ebx, ecx
or esi, 0xc56204b3
jmp 0x499ff9
mov dword [esp], edx
mov esi, ebx
and edi, ebx
nop
jmp 0x49b083
xor eax, eax
and edi, 0xc5659728
mov esi, 0xc565f6ae
inc ebx
dec edi
dec ebx
shl edi, 2
xchg edi, ebx
xchg ecx, esi
xchg ecx, edi
mov edi, ecx
xor ecx, ebx
xchg ebx, ecx
neg esi
nop
jmp 0x49a46d
add dword [esp], eax
neg ebx
xchg esi, ebx
mov esi, 0xc5b97234
xor esi, edi
xor ecx, edi
or edi, ebx
shl ebx, 0x19
inc esi
and edi, esi
add esi, ecx
and edi, esi
and ecx, ebx
neg esi
inc ebx
jmp 0x49abd3
mov edx, dword [edx]
or edi, 0xc5eb1321
xor edi, ecx
and ebx, edi
rol ebx, 5
or edi, 0xc5ec8e85
mov ebx, ecx
jmp 0x49883c
add dword [esp], 0x78
shl ebx, 9
sub esi, 0xc5f39f52
and edi, 0xc5f400c0
shr ecx, 0x16
xchg esi, edi
xor ebx, ecx
inc ecx
mov ebx, edi
jmp 0x49968a
mul edx
shl ecx, 0xa
or esi, ecx
sub edi, 0xc607088b
xchg ebx, edi
xor edi, 0xc607d081
xor edi, esi
add ebx, esi
add ecx, ebx
xor edi, ebx
and ebx, 0xc609c61f
jmp 0x499b49
add edx, dword [esp + 0x18]
mov ebx, edi
xchg edi, esi
nop
dec edi
or ebx, edi
add esi, ecx
mov ecx, ebx
add ebx, esi
xchg ecx, esi
nop
jmp 0x49abf5
add edx, dword [esp]
shr esi, 0x19
xchg esi, ecx
not esi
mov ecx, edi
or ecx, ebx
sub ecx, edi
jmp 0x498f79
mov dword [esp], edx
xchg ebx, edi
add esi, ebx
jmp 0x498872
mov dword [esp + 0x9c], 0
sub ebx, ecx
mov ecx, ebx
add esi, ecx
add ebx, esi
sub esi, ecx
and esi, ebx
xchg edi, ebx
and ecx, 0xc669acb0
jmp 0x49abab
add edx, dword [esp + 0x30]
mov esi, ebx
ror ecx, 0x11
sub esi, 0xc6780c4a
mov ebx, esi
shl ecx, 7
add edi, 0xc679468b
mov ecx, edi
jmp 0x4993b1
mov edx, dword [edx]
add edi, esi
ror edi, 0x1b
or ecx, 0xc67cdc38
ror edi, 3
xchg ebx, edi
xor esi, 0xc67e0e12
mov ebx, ecx
ror ebx, 0x19
add ebx, esi
jmp 0x49a175
add dword [esp], 0x20
and ebx, ecx
sub esi, edi
and ebx, ecx
xchg edi, esi
and edi, ebx
and ecx, edi
jmp 0x498694
xor al, byte [edx]
or ebx, ecx
mov edi, 0xc6990e77
add edi, 0xc699849c
and edi, ebx
xchg esi, ecx
mov ecx, edi
sub ecx, edi
shl ebx, 8
or ecx, 0xc69bd461
jmp 0x49a660
mov edx, dword [edx]
or ebx, ecx
not ecx
and esi, edi
bswap edi
and ebx, 0xc6badade
and edi, 0xc6bb3690
xchg ecx, ebx
dec esi
or ecx, edi
mov ecx, 0xc6bccf09
shl edi, 0xf
add ebx, 0xc6bd9926
xor ecx, ebx
jmp 0x49aa00
mov dword [esp + 0x30], 0
rol edi, 0x1b
neg edi
xchg ebx, edi
mov ecx, ebx
mov ebx, esi
jmp 0x49a34c
mov edx, dword [esp + 0x9c]
nop
shr edi, 0x18
or ebx, ecx
sub edi, ecx
neg ecx
xchg ecx, edi
dec ecx
jmp 0x49895c
rol eax, 8
add ebx, ecx
not ebx
or esi, 0xc6f19f75
jmp 0x499539
cmp byte [edx], 0
jmp 0x49a8c9
mov edx, dword [esp]
and ebx, edi
sub edi, ecx
neg ebx
shr edi, 2
mov ebx, esi
xchg ebx, esi
sub esi, ecx
and esi, ecx
rol esi, 0x1e
nop
sub esi, edi
and ebx, esi
add ecx, esi
jmp 0x49a8f3
ret
mov dword [esp + 0x9c], edx
or edi, esi
add ecx, edi
and ecx, ebx
and esi, ebx
and edi, 0xc75606ed
sub ecx, ebx
xor edi, ecx
or esi, 0xc7573b52
mov ecx, 0xc7579e75
or esi, ecx
jmp 0x4997bb
jne 0x49a46d
bswap esi
mov esi, edi
xchg edi, ebx
shl ebx, 0x1f
shl ecx, 0x1e
or ecx, ebx
shr edi, 0xa
bswap ecx
sub edi, 0xc762d147
add ebx, 0xc7633689
jmp 0x4986f1
mov edx, dword [edx]
shr ecx, 0x1f
neg ecx
dec ecx
and edi, ecx
inc esi
or edi, ebx
and edi, ebx
sub ecx, edi
not ecx
jmp 0x49a986
add edx, dword [esp + 0x18]
or edi, 0xc7868058
xchg ebx, edi
sub edi, ebx
xor ecx, 0xc787cd7b
or esi, ebx
mov ebx, 0xc78890d7
xchg ecx, edi
add ebx, ecx
and esi, ecx
and ebx, ecx
jmp 0x49a857
add edx, dword [esp + 0x18]
sub ebx, 0xc79e3efb
sub ebx, edi
shr edi, 0x1e
shl ecx, 0x15
xchg ecx, esi
add esi, ecx
or edi, esi
add esi, 0xc7a0f410
ror ecx, 0x1b
add edi, ecx
sub ecx, esi
jmp 0x499d6b
mov dword [esp + 0x18], 0
mov edi, esi
xor esi, edi
and esi, 0xc7eaeee6
neg ecx
xor esi, 0xc7ebc991
or ebx, ecx
add esi, ebx
sub ebx, edi
jmp 0x498810
mov edx, dword [esp]
xor esi, 0xc7ed588b
add ebx, edi
mov ecx, esi
and ebx, 0xc7eec0d2
and edi, 0xc7ef2374
jmp 0x49a408
add esp, 0xa8
not edi
or esi, ecx
mov esi, ecx
sub esi, edi
ror edi, 0x1d
jmp 0x49a7b2
mov edx, dword [edx]
add ebx, ecx
add ebx, ecx
bswap esi
shl edi, 0xb
shr ecx, 0x13
add ebx, ecx
dec edi
shl ebx, 0xb
and esi, ecx
sub ecx, edi
dec edi
and ecx, esi
sub esi, 0xc875f613
and ebx, edi
xor ebx, edi
jmp 0x4994dc
mov edx, dword [esp + 0x9c]
xor edi, ecx
and esi, edi
mov edi, ebx
inc ebx
sub ebx, esi
xchg ecx, edi
add edi, esi
mov ecx, edi
xchg edi, esi
shr edi, 0x14
jmp 0x49a3d6
mov edx, dword [edx]
not ebx
nop
xor esi, ebx
bswap ebx
jmp 0x4988fd
add dword [esp], edx
shl ecx, 0xd
inc edi
sub edi, 0xc8e0d7ed
ror esi, 0x17
and ecx, edi
sub edi, 0xc8e22055
or esi, 0xc8e29950
ror edi, 0x1a
sub edi, 0xc8e38de6
and edi, ecx
shr ebx, 0xd
add esi, ebx
sub edi, 0xc8e511b2
jmp 0x49a43c