Function at 0x48be56
Capabilities:
Encrypt data using chaskey

Disassembly:
mov edi, dword [edi]
xchg edx, ecx
sub ebx, esi
inc esi
xor esi, edx
mov ebx, 0xc1bfb129
mov ebx, edx
sub ebx, edx
xor ebx, edx
xor ebx, esi
and ebx, edx
and esi, edx
mov ecx, edx
mov edx, ebx
xchg ecx, ebx
jmp 0x489ad9
inc dword [esp + 0xa0]
xor ebx, esi
sub ebx, ecx
sub edx, ebx
sub ebx, esi
or ecx, 0xc1dceae7
sub ecx, 0xc1dd92c1
xchg ebx, edx
add esi, 0xc1dedf73
not ecx
add ebx, ecx
sub ebx, 0xc1e0f9eb
mov ebx, 0xc1e19ff1
jmp 0x48ba9d
mov edi, dword [edi]
mov ebx, esi
xor edx, ebx
mov edx, ebx
xchg edx, ebx
add ebx, edx
xchg ebx, edx
add ecx, esi
inc esi
sub esi, ebx
xchg ebx, ecx
xchg ecx, ebx
sub edx, 0xc216fbcf
jmp 0x48a3f9
mov edi, dword [edi]
ror esi, 3
xor ecx, 0xc21cd897
xchg esi, ebx
rol edx, 0xd
mov esi, edx
and ebx, ecx
xor ecx, edx
mov edx, ecx
xchg ecx, esi
xchg edx, ebx
mov ecx, ebx
or edx, ebx
mov ecx, 0xc2240b1f
add ebx, ecx
sub esi, ecx
mov ebx, esi
jmp 0x489b9d
xor al, byte [edi]
mov ebx, esi
xor esi, ebx
mov esi, 0xc2439479
xchg edx, ebx
and edx, esi
and esi, ecx
add ebx, ecx
xchg ecx, ebx
not ecx
sub esi, edx
and ebx, ecx
or ecx, 0xc2475dd7
add edx, ebx
and ecx, esi
jmp 0x48ac42
push edi
and ecx, ebx
sub ebx, ecx
mov esi, 0xc2773bc1
and esi, ebx
and esi, ebx
mov esi, ebx
jmp 0x48b736
add edi, dword [esp + 0x9c]
ror ebx, 0x1d
sub edx, esi
add ebx, esi
or esi, edx
jmp 0x48b8e8
mul edi
and ebx, esi
inc ecx
sub edx, 0xc2984d17
bswap esi
or ecx, esi
ror edx, 8
mov ebx, esi
xchg ecx, edx
or ecx, edx
rol esi, 8
and esi, edx
neg esi
xchg esi, ecx
xor edx, 0xc29ceab1
jmp 0x48b94f
add edi, dword [esp + 0x9c]
bswap edx
xor edx, 0xc2a18087
or ebx, ecx
xchg ecx, edx
bswap ebx
xchg esi, ecx
jmp 0x48bea1
inc edi
add edx, 0xc2b43213
inc edx
xor ebx, ecx
shr esi, 5
and edx, esi
not ecx
sub edx, ecx
mov esi, ecx
jmp 0x489e4e
add edi, 0xc
mov ecx, edx
sub esi, ebx
shl esi, 0x1b
and ebx, ecx
xor edx, ebx
add edx, ebx
jmp 0x4896ee
add dword [esp + 0x64], 4
mov ecx, edx
add ebx, ecx
and edx, 0xc2c86ac1
add esi, ecx
and esi, ebx
sub edx, ecx
bswap esi
or edx, ecx
shr ecx, 8
xchg ebx, esi
jmp 0x48a29d
add edi, dword [esp + 0x9c]
xor edx, esi
and edx, ecx
xor ebx, 0xc2e83f71
shr esi, 0x15
add esi, ebx
ror esi, 0x1c
add esi, 0xc2eb591f
mov esi, edx
add esi, edx
xor ecx, ebx
jmp 0x48997a
movzx edi, word [edi]
xchg edx, ecx
or ecx, 0xc2ef4d0d
shr esi, 3
add ebx, esi
or edx, esi
add edx, ecx
add ecx, ebx
add esi, edx
jmp 0x489a93
mov edi, 0x30
neg ecx
neg ecx
or esi, 0xc2f9e049
or ebx, edx
jmp 0x48be11
mov edi, dword [edi]
and esi, edx
mov esi, ecx
and ecx, esi
rol ebx, 0x1a
neg ebx
xchg ecx, edx
or ecx, 0xc307637d
add ecx, 0xc30816d1
jmp 0x48a189
add edi, dword [esp + 0xa0]
add ebx, 0xc3091577
mov edx, 0xc309cefd
ror edx, 0x17
mov ebx, edx
xor ebx, edx
dec ecx
inc edx
and ebx, edx
add edx, esi
not ebx
sub esi, 0xc310b825
xchg ebx, edx
xor esi, ecx
sub ebx, ecx
jmp 0x48ba34
mov edi, dword [esp + 0x64]
xor ebx, edx
neg ebx
or ecx, esi
add ecx, 0xc31a64a7
add ecx, edx
sub edx, ecx
ror ecx, 0x1d
add ebx, edx
and ebx, 0xc31cd437
rol edx, 0x16
and ebx, 0xc31da829
xchg esi, ebx
shr esi, 2
add edx, esi
jmp 0x489546
mov edi, dword [esp + 0x6c]
mov edx, esi
xor ebx, edx
add ebx, esi
xchg edx, esi
and ecx, edx
or esi, edx
sub esi, ebx
add ebx, 0xc32f7c31
xor ecx, esi
sub ebx, esi
jmp 0x489d10
cmp byte [edi], 0
jmp 0x48b7d3
mov dword [esp + 0xa0], 0
or ebx, edx
bswap ecx
mov edx, esi
neg ecx
jmp 0x48bd91
pop edi
or ebx, ecx
mov edx, 0xc36a64e1
add edx, ebx
add esi, 0xc36b3237
add ecx, 0xc36b9c77
and esi, ecx
mov ecx, 0xc36c86c1
add ebx, esi
jmp 0x48a2f4
mov dword [esp + 0xa0], eax
xor edx, ecx
mov edx, esi
xchg esi, ecx
xor esi, edx
jmp 0x48b146
add edi, 0x18
xor esi, 0xc380bcb7
or ecx, edx
mov ecx, edx
sub ecx, ebx
jmp 0x489cf0
mov dword [esp + 0x9c], edi
sub ebx, edx
mov esi, ecx
inc edx
and edx, ecx
mov ecx, 0xc3a13edb
add edx, esi
jmp 0x48b168
mov edi, dword [esp + 0x64]
shr ebx, 0xe
xchg edx, esi
not ebx
add ebx, 0xc3b9c0d1
neg ebx
and ecx, 0xc3ba5253
xchg esi, ecx
neg ecx
jmp 0x48ab12
cmp eax, dword [esp + 0x58]
jmp 0x48b10f
mov dword [esp + 0x64], edi
shl ecx, 0x1a
xor ecx, edx
dec ecx
or ecx, 0xc3c3ae17
shr edx, 6
shr ecx, 0x10
xchg ecx, ebx
xor edx, 0xc3c4e267
bswap edx
or edx, esi
sub esi, ebx
add ecx, ebx
jmp 0x48b007
mov edi, dword [edi]
sub edx, 0xc3d382a3
xchg ebx, edx
xchg esi, ecx
mov esi, 0xc3d4bc49
and esi, edx
or ebx, esi
jmp 0x48b351
mov edi, dword [edi]
mov esi, ecx
sub edx, esi
or ebx, esi
sub ecx, ebx
add ecx, esi
dec edx
sub edx, ecx
sub ecx, 0xc3f23331
jmp 0x489c61
add edi, 0x3c
sub ebx, esi
neg ebx
add edx, 0xc414d773
and ebx, esi
add ebx, edx
xor edx, 0xc415a7af
or ecx, 0xc41602ef
inc ebx
rol ebx, 0x18
inc ebx
sub ebx, 0xc4172477
and edx, ebx
dec ebx
and esi, ebx
jmp 0x48a888
mul edi
shl edx, 2
add esi, ebx
or edx, ebx
xchg ebx, edx
shr esi, 0x13
add ebx, 0xc423d16d
shl edx, 0x14
mov ecx, esi
xchg ecx, edx
xchg esi, edx
jmp 0x489fdf
mov edi, dword [edi]
mov edx, ebx
mov ecx, esi
add esi, 0xc43ac123
xor ebx, edx
add ecx, esi
xor ebx, ecx
neg esi
and edx, esi
or ebx, esi
sub ecx, 0xc43cbfdf
or ecx, esi
and ecx, ebx
xor esi, 0xc43fca0b
xor esi, ebx
jmp 0x48aa0d
mov edi, dword [esp + 0x6c]
sub ecx, ebx
mov edx, esi
neg ebx
dec edx
ror esi, 0x1b
mov esi, 0xc447890f
jmp 0x48a549
mov edi, dword [edi]
shr edx, 0x10
xor esi, 0xc44b3249
and esi, ebx
and ecx, 0xc44bbf31
neg esi
mov ecx, esi
mov ecx, 0xc44c935d
or esi, ecx
bswap ebx
bswap ecx
xchg esi, ecx
xor edx, esi
not ecx
or ecx, 0xc44e998f
jmp 0x489a38
mov dword [esp + 0x6c], edi
add esi, edx
mov ecx, ebx
rol ecx, 0x1c
or ecx, 0xc453de01
shr esi, 0x18
sub edx, esi
and esi, ecx
and ecx, esi
xchg edx, ebx
or edx, ecx
xchg esi, ebx
sub edx, 0xc4562359
or edx, esi
or ecx, ebx
jmp 0x48b981
mov edi, dword [esp + 0x9c]
nop
neg esi
or ebx, 0xc45b148f
xor esi, ebx
xor edx, esi
xor ebx, esi
or ecx, ebx
xchg edx, ebx
mov edx, ebx
add edx, esi
jmp 0x48bde0
mov dword [esp + 0x64], edi
dec ebx
inc edx
xchg edx, ebx
mov ebx, esi
xor ebx, edx
xor ecx, edx
xchg ebx, ecx
xor ebx, esi
rol ecx, 0x1c
not ecx
and ebx, ecx
add esi, 0xc4609fd1
and edx, ebx
sub edx, 0xc4612c51
sub edx, ecx
xor ecx, edx
jmp 0x48ace4
mov edi, dword [edi]
sub edx, ecx
and edx, ecx
xor edx, ebx
shl edx, 0x1a
jmp 0x48b89b
ret
rol eax, 8
or esi, 0xc492dfe9
or esi, 0xc49327df
add edx, 0xc4936f4d
add esi, ecx
dec edx
not edx
inc ebx
neg esi
sub edx, esi
add ebx, ecx
neg ecx
xor esi, edx
and ecx, ebx
xor esi, ecx
neg ebx
shr edx, 0xf
jmp 0x489b69
add dword [esp + 0x64], 0x78
dec ebx
mov ebx, edx
or esi, ebx
add ebx, 0xc4a08771
jmp 0x48a9ea
mov edi, dword [esp + 0xa0]
xchg edx, ecx
sub edx, esi
mov esi, ecx
and edx, 0xc4c588ef
ror ebx, 0x10
xor ebx, edx
bswap edx
and esi, ecx
dec edx
ror ebx, 0x11
inc ebx
and esi, 0xc4c7d7c7
jmp 0x48a773
mov dword [esp + 0x9c], 0
rol esi, 5
sub ecx, edx
dec edx
shr edx, 0xf
mov ebx, edx
or edx, ebx
dec esi
or ecx, 0xc4ce3db5
jmp 0x48bb76
mov edi, dword [edi]
mov edx, 0xc4d67b03
mov ecx, 0xc4d6c2f1
bswap ebx
mov edx, 0xc4d75247
and esi, 0xc4d7acf7
mov ebx, esi
and esi, ebx
mov ecx, 0xc4d87b95
shl ebx, 0xe
ror edx, 0xd
ror esi, 4
rol edx, 0x1c
jmp 0x48a330
mov edi, dword [esp + 0x9c]
or ebx, 0xc4e34b79
xchg esi, ecx
mov ebx, 0xc4e3dbb1
rol ecx, 0xe
xchg ebx, ecx
xchg ecx, ebx
and ecx, 0xc4e4dabb
sub ebx, 0xc4e51aad
xchg ebx, esi
sub ecx, 0xc4e59aeb
jmp 0x48bcbd
mov edi, dword [edi]
sub ebx, 0xc4e5f1eb
xchg esi, ecx
xchg ecx, ebx
add ecx, ebx
bswap ecx
xchg ebx, esi
mov esi, edx
sub ebx, ecx
shl ecx, 0x19
dec edx
shr ebx, 2
mov esi, edx
sub ebx, 0xc4e9029b
mov ebx, ecx
jmp 0x48b556
jne 0x4895c3
add ecx, edx
xor ecx, edx
and ebx, ecx
and ecx, 0xc4f5f31d
or esi, ebx
ror edx, 0x10
or ebx, edx
sub ebx, edx
jmp 0x489bd4
sub dword [esp + 0x64], 8
add edx, ebx
xchg ebx, esi
rol edx, 0x13
add edx, esi
xor edx, esi
or edx, ebx
and edx, esi
mov ebx, esi
xor esi, edx
add esi, ebx
jmp 0x48b4ec
mov edi, dword [esp + 0x9c]
add edx, esi
and edx, esi
not edx
and ebx, ecx
shr ebx, 0x14
sub ebx, ecx
xor ecx, ebx
xor ecx, 0xc4fccf8b
shr ecx, 6
or ecx, 0xc4fd60db
ror edx, 0x1d
sub esi, edx
jmp 0x48a6eb
add dword [esp + 0x64], 0x20
sub esi, ebx
sub esi, ebx
add ecx, ebx
xor edx, 0xc4fef0c3
ror ebx, 0x1f
xchg edx, ecx
xor esi, ebx
or ecx, ebx
xor ebx, edx
mov esi, 0xc5007d5b
ror ebx, 0xf
or ebx, edx
jmp 0x48b2ed
mov edi, dword [esp + 0x64]
sub esi, 0xc518b8f3
shr ecx, 1
sub edx, ecx
sub esi, edx
rol ecx, 0x1c
neg edx
jmp 0x48b03b
mov edi, dword [edi]
xor edx, ecx
or ecx, 0xc51fe829
or edx, ebx
shl ebx, 0xe
and esi, edx
add ebx, edx
xor ebx, edx
xor ecx, esi
or ebx, esi
sub ecx, edx
xchg edx, ebx
and edx, 0xc52269f9
jmp 0x48a036
mov dword [esp + 0x6c], edi
or ecx, edx
or esi, ecx
sub esi, edx
xor edx, ebx
mov ebx, 0xc537081f
mov edx, ebx
ror ebx, 0x1a
and edx, 0xc537c671
jmp 0x4895c3
mov edi, dword [esp + 0x64]
and edx, 0xc53dda61
add esi, edx
sub ebx, esi
xor esi, edx
xor edx, 0xc53ee53b
neg ebx
mov ebx, ecx
inc edx
jmp 0x48a93b
add edi, dword [esp + 0x9c]
and ecx, 0xc545e9d7
sub ebx, 0xc54629d7
bswap ecx
rol ebx, 0xc
jmp 0x48b47f
xor eax, eax
and ebx, 0xc5691ba3
inc ebx
bswap esi
or edx, ebx
xchg edx, ecx
shr ecx, 6
add ebx, edx
shr ebx, 0x1d
xor edx, esi
sub ebx, ecx
xchg ebx, ecx
xor ebx, ecx
jmp 0x4897df
jne 0x4897df
neg ebx
add esi, 0xc575f503
or ecx, ebx
and esi, ecx
jmp 0x489f97
add edi, dword [esp + 0x9c]
shr ebx, 0x17
xchg ebx, ecx
rol ebx, 8
bswap ecx
sub ebx, 0xc584e103
neg esi
mov ebx, esi
mov ebx, edx
shr esi, 0xc
xor edx, esi
mov esi, ebx
bswap edx
jmp 0x48a99b
mov dword [esp + 0x64], edi
ror ecx, 6
xchg edx, ecx
shl edx, 0x1d
inc edx
mov ecx, edx
and ecx, esi
shl esi, 0x1f
or ecx, 0xc58ae1c5
shl ebx, 7
ror ebx, 7
xchg esi, ecx
sub ebx, edx
jmp 0x489dee
add dword [esp + 0x64], eax
or edx, esi
or edx, ecx
neg edx
sub ebx, edx
xchg ebx, esi
shr ebx, 0xb
xchg ecx, edx
bswap esi
or esi, ecx
xchg esi, ecx
or esi, ebx
sub esi, ecx
and esi, 0xc59493c5
ror esi, 0xb
mov esi, ecx
or ebx, ecx
jmp 0x489d6b
mov eax, 2
sub ebx, 0xc595a61d
and esi, ecx
xchg edx, esi
and edx, ecx
add ecx, 0xc596b2b5
dec ecx
or ebx, 0xc5973433
inc ecx
or ebx, esi
sub ecx, edx
jmp 0x48ae74
mov eax, 4
add edx, esi
mov esi, edx
mov edx, esi
sub edx, 0xc5a40943
sub esi, 0xc5a4494b
rol ecx, 9
mov esi, ebx
shr ebx, 0xf
shl ebx, 1
and edx, 0xc5a59a79
jmp 0x489c8b
add dword [esp + 0x6c], 4
or edx, esi
neg ecx
add esi, ecx
sub ebx, edx
jmp 0x48a900
add edi, 0xc
and ecx, edx
xor ecx, ebx
mov edx, ebx
sub edx, 0xc5ac9013
mov esi, ebx
add ebx, edx
neg ebx
or ebx, edx
shl esi, 0x1d
or ecx, esi
jmp 0x489725
mov dword [esp + 0x64], 0
xchg edx, ecx
shr ecx, 0x16
xor ebx, esi
xchg ebx, edx
jmp 0x48be34
add dword [esp + 0x64], edi
or esi, ecx
xor ecx, ebx
or ebx, esi
add ecx, edx
sub ecx, esi
and esi, edx
xor ebx, ecx
add esi, edx
jmp 0x48b197
mov dword [esp + 0x6c], 0
add esi, edx
xor edx, 0xc7343557
sub esi, edx
add edx, ecx
neg esi
xchg esi, ebx
sub ecx, 0xc7361e51
sub ecx, esi
jmp 0x48aece
add edi, dword [esp + 0x64]
xor edx, ecx
xchg ebx, esi
add esi, 0xc73b8fe7
add ecx, 0xc73bedfd
rol ebx, 1
and edx, 0xc73cc37b
xor ebx, 0xc73d2131
not ecx
or esi, ebx
and ebx, ecx
jmp 0x48af6b
mov edi, dword fs:[edi]
mov ebx, 0xc73eb1ff
neg esi
and ebx, edx
xor ebx, 0xc73fc8e9
or ecx, edx
mov esi, ecx
and edx, ecx
shr ecx, 9
bswap edx
inc edx
jmp 0x48bab2
mov dword [esp + 0x58], edi
neg esi
ror edx, 5
add esi, ebx
and esi, 0xc743b9db
xchg edx, esi
neg esi
shl ebx, 0xa
xor esi, edx
jmp 0x489cba
sub esp, 0xa4
or esi, edx
mov edx, esi
and esi, 0xc74661af
ror edx, 5
xor esi, ecx
or ebx, ecx
or edx, 0xc747efc7
or ebx, 0xc7484dd1
rol ebx, 0x18
mov esi, ebx
jmp 0x489ee6
add esp, 0xa4
or ebx, edx
mov ecx, esi
xchg ecx, edx
add ebx, esi
jmp 0x48abc2