Function at 0x488525
Capabilities:
Encrypt data using chaskey

Disassembly:
sub esp, 0x13c
add edx, 0x2c1ab89f
shr edx, 0xa
xor ecx, 0x2c1af0e7
xchg esi, ecx
xchg esi, ecx
add edx, ebx
shl ecx, 7
or edx, ecx
xor esi, 0x2c1b9575
and ebx, ecx
jmp 0x48aad4
add edi, dword [esp + 0x4c]
sub ebx, esi
xor ecx, ebx
or ecx, ebx
ror esi, 0x17
shr edx, 0x11
xor ecx, 0x2c1e1add
and ecx, 0x2c1e376d
mov esi, ecx
shr ecx, 7
sub ebx, edx
or ecx, 0x2c1ea52d
ror ecx, 0x16
shr ebx, 0xd
and edx, esi
jmp 0x48a36f
mov dword [esp + 0x3c], edi
xchg ecx, esi
mov esi, 0x2c23ace5
or esi, edx
not ecx
xor ecx, 0x2c23feed
add esi, ecx
or edx, esi
and ebx, 0x2c24509b
sub ecx, edx
xor ecx, edx
jmp 0x48876d
mul edi
or ebx, ecx
inc esi
rol edx, 0x1a
sub edx, ebx
xor esi, edx
add ebx, ecx
jmp 0x488bad
mov edi, dword [edi]
sub ebx, edx
xor ebx, edx
dec ebx
or ebx, esi
sub ecx, esi
add esi, 0x2c289add
sub ecx, ebx
or esi, 0x2c28d185
jmp 0x48b136
inc dword [esp + 0xc8]
or esi, ebx
sub edx, ecx
sub ecx, 0x2c2c8129
inc ecx
rol ebx, 0x1c
bswap edx
jmp 0x48a9ba
mov dword [esp + 0x8c], edi
mov ecx, esi
sub esi, ecx
xor esi, ecx
or esi, edx
and esi, 0x2c300213
xor ecx, edx
or ebx, ecx
xor ecx, esi
sub esi, ecx
inc ecx
rol ebx, 0x1b
and esi, ebx
jmp 0x48a9a5
mov edi, dword [edi]
add ebx, ecx
sub esi, 0x2c30fff7
mov ebx, edx
nop
neg edx
or ebx, esi
ror edx, 0xb
sub esi, ecx
mov esi, edx
add ecx, 0x2c31d6f9
add ebx, 0x2c31f363
and ebx, esi
jmp 0x4887d3
add esp, 0x13c
bswap esi
or esi, ecx
and edx, 0x2c3273d9
and ecx, edx
xor ecx, edx
dec esi
or ebx, ecx
ror ebx, 0x19
jmp 0x48ad5f
add dword [esp + 0x8c], edi
xor esi, ebx
mov ebx, 0x2c4109c3
sub ecx, esi
mov esi, edx
rol edx, 0xa
add edx, ecx
sub esi, ebx
sub ecx, esi
jmp 0x4895a7
mov edi, dword [esp + 0x8c]
shl ebx, 0x16
and ebx, edx
or ecx, 0x2c46775b
ror ecx, 0xf
dec esi
ror edx, 0x15
xor esi, ecx
or esi, edx
and esi, 0x2c471f5b
xor ecx, edx
and ebx, ecx
or ecx, esi
add ecx, 0x2c47870d
mov ecx, edx
jmp 0x48ac40
mov edi, dword [edi]
and ebx, 0x2c47c215
or ebx, ecx
xchg ebx, esi
add esi, ecx
sub esi, 0x2c482ded
add edx, esi
add esi, ebx
sub edx, 0x2c4878b7
rol esi, 0x1d
add esi, 0x2c48c5d1
not edx
add edx, ebx
bswap edx
xchg ebx, esi
jmp 0x488592
mov edi, dword [esp + 0x3c]
xor esi, ebx
sub ecx, 0x2c4971f7
add edx, ebx
add edx, 0x2c49a59b
sub esi, edx
mov ebx, ecx
xor ecx, 0x2c49f031
xchg esi, ecx
add ebx, edx
sub edx, esi
sub ecx, edx
rol ebx, 0x10
rol ecx, 0xf
add ecx, ebx
jmp 0x48ac56
add dword [esp + 0x8c], 0x78
ror esi, 0x1f
shr edx, 5
mov edx, 0x2c4dc55f
dec ecx
xor ecx, esi
not ebx
ror esi, 1
sub esi, edx
xor edx, ecx
sub ecx, esi
shl ebx, 0x12
and ebx, edx
add ecx, edx
add edx, 0x2c4efc0d
jmp 0x489194
add dword [esp + 0x8c], eax
xchg ecx, esi
add esi, edx
sub ebx, edx
sub esi, edx
sub edx, ecx
and ecx, esi
mov edx, ebx
xor edx, esi
and ecx, edx
sub ebx, 0x2c52cf0f
add ebx, esi
ror edx, 0x10
jmp 0x488a34
mov eax, 2
sub edx, ebx
mov esi, edx
xchg edx, ebx
add ebx, 0x2c556c65
bswap esi
xor ebx, ecx
inc esi
or esi, edx
jmp 0x489303
add edi, dword [esp + 0x4c]
shr edx, 0x15
add esi, ecx
sub esi, 0x2c5defd1
inc esi
xchg ebx, ecx
dec ebx
and ebx, esi
xor esi, 0x2c5e7873
xor ecx, 0x2c5e94dd
shr ecx, 3
sub ecx, 0x2c5ecdd7
sub edx, ebx
jmp 0x48a146
add edi, dword [esp + 0x4c]
ror ecx, 0x14
ror edx, 0x13
add edx, esi
xor ecx, esi
not ebx
and edx, ebx
xchg ebx, esi
mov edx, 0x2c5fc84d
jmp 0x488826
xor eax, eax
mov ecx, ebx
shl ebx, 3
xchg esi, edx
add esi, ebx
and edx, ecx
sub esi, 0x2c61b52f
ror edx, 0x1b
not ebx
mov ecx, 0x2c620df7
xchg edx, ebx
sub ebx, esi
shr edx, 0x15
jmp 0x489f5e
mov edi, 0x30
sub esi, edx
xor esi, edx
or edx, 0x2c682db1
xor edx, ecx
jmp 0x48ab16
mov edi, dword [edi]
rol ebx, 6
xor ebx, 0x2c70f4dd
or ebx, esi
add ebx, ecx
shr esi, 0xf
mov esi, 0x2c7163cd
and ebx, 0x2c717cdb
bswap edx
or edx, ecx
xchg ecx, ebx
jmp 0x4890f0
add edi, dword [esp + 0x4c]
xchg edx, ecx
xor ebx, ecx
and edx, esi
shr ecx, 7
neg ecx
add esi, ebx
and ecx, 0x2c764577
neg ebx
jmp 0x48865e
mov eax, 4
sub ebx, edx
or ecx, 0x2c79e209
sub esi, ebx
xor esi, ebx
xor ecx, esi
xor edx, ecx
sub edx, esi
bswap edx
jmp 0x48a70a
add edi, 0xc
and ebx, ecx
xchg ecx, edx
add edx, esi
neg ecx
ror esi, 9
add esi, ebx
sub edx, 0x2c7cae8f
mov ebx, 0x2c7ccbf7
jmp 0x489abf
mov edi, dword [edi]
add ebx, esi
neg edx
shr ebx, 0xb
or esi, ecx
nop
not esi
not esi
add edx, ecx
or ebx, ecx
neg ebx
jmp 0x48901f
mov edi, dword [esp + 0x4c]
xor ebx, edx
dec ebx
shr edx, 2
sub ebx, ecx
or ebx, 0x2c81eb9b
xor ecx, esi
jmp 0x48a8da
mov dword [esp + 0xc8], eax
rol edx, 0xe
xor edx, 0x2c8247d5
shr edx, 8
and ecx, 0x2c827d19
or ecx, esi
xor esi, ecx
xor ecx, ebx
dec edx
sub ebx, esi
and ebx, ecx
jmp 0x48a00b
mov edi, dword [esp + 0xc8]
mov ecx, edx
shl ecx, 0xd
rol ebx, 0xc
add ebx, 0x2c8e0e6b
and esi, ecx
xor edx, esi
jmp 0x48ab86
cmp eax, dword [esp + 0xf4]
jmp 0x48a4b5
add dword [esp + 0x8c], 0x20
neg ebx
xchg ebx, ecx
and ebx, edx
or ecx, 0x2e69a7e7
bswap ebx
or ecx, esi
xchg esi, ecx
sub ecx, 0x2e6a1007
mov ebx, esi
add edx, 0x2e6a48f3
jmp 0x48adcf
mov edi, dword [edi]
add ebx, ecx
mov esi, ecx
add ecx, esi
add edx, ebx
nop
and ebx, 0x2e80244d
add ebx, 0x2e8041b5
and ecx, 0x2e805a9d
neg esi
neg esi
shr ecx, 0x15
or ebx, esi
jmp 0x48aa75
mov edi, dword [esp + 0x8c]
not ecx
and edx, ecx
or ecx, esi
xchg esi, ecx
xchg ebx, ecx
bswap edx
rol ebx, 0xe
sub esi, ebx
xor ecx, 0x2e89715b
sub esi, ecx
jmp 0x489fca
pop edi
xchg ebx, esi
xor edx, ecx
xchg ecx, edx
sub edx, esi
ror esi, 0xb
mov ecx, 0x2e8cfc43
ror ecx, 0x14
and ecx, 0x2e8d392f
inc esi
xor ecx, ebx
dec edx
xchg esi, edx
jmp 0x48946f
mov edi, dword [edi]
xor ecx, 0x2e9837d1
mov esi, edx
or edx, esi
xchg edx, ebx
not ecx
ror ecx, 0x1a
jmp 0x48987a
mov edi, dword [edi]
add edx, esi
add ecx, 0x2ea2a7eb
inc ecx
and esi, ebx
sub esi, edx
bswap esi
or edx, ecx
and ebx, edx
jmp 0x489dcb
inc edi
and edx, 0x2ea36821
shl ecx, 0x1c
add edx, ecx
xchg ecx, ebx
or esi, ecx
xchg ecx, ebx
jmp 0x489d0e
cmp byte [edi], 0
jmp 0x48a6d7
add edi, dword [esp + 0x4c]
or esi, 0x2eafa80d
or ecx, edx
sub ebx, esi
mov edx, 0x2eaff7f9
sub ecx, 0x2eb010e1
xor edx, 0x2eb02dff
add ecx, edx
xor edx, ebx
jmp 0x48b07b
mov dword [esp + 0x3c], 0
shl ebx, 0x10
add ebx, esi
neg edx
add edx, ecx
shl ebx, 0x18
add esi, ecx
xchg ebx, ecx
bswap edx
add edx, ecx
inc ebx
or ecx, esi
shr ecx, 0x1d
jmp 0x48a82a
xor al, byte [edi]
and ebx, esi
mov ecx, esi
or ecx, ebx
mov esi, ecx
and edx, 0x2ebbce05
and esi, edx
mov edx, ecx
sub esi, ebx
jmp 0x48ae88
add edi, 0xc
rol ecx, 0x10
xor esi, ecx
and ecx, ebx
not esi
xor esi, 0x2ebca7f7
add ebx, ecx
or esi, ecx
add edx, esi
and edx, ebx
add edx, ebx
add edx, 0x2ebd3e85
ror ecx, 1
jmp 0x488f9a
mov edi, dword [edi]
xor ecx, ebx
or esi, edx
add esi, ebx
xchg esi, ebx
mov edx, 0x2ebf65f1
xor ecx, ebx
not ebx
shr esi, 4
jmp 0x488d20
sub dword [esp + 0x8c], 8
mov esi, ebx
mov edx, ecx
mov ecx, esi
mov ecx, ebx
dec ecx
xor ecx, esi
xor ebx, edx
xchg edx, ebx
sub ebx, esi
shr edx, 0xe
mov ebx, 0x2eea0417
and ecx, edx
jmp 0x48a080
mov edi, dword [edi]
xor ecx, edx
or ebx, esi
xor ecx, 0x2eea927d
add ebx, edx
nop
or esi, ebx
mov ebx, ecx
xchg ecx, ebx
xor ecx, esi
xor ebx, edx
xchg edx, ebx
sub esi, edx
jmp 0x48ae17
mov edi, dword [esp + 0x8c]
xor edx, ecx
and ebx, edx
xor ebx, edx
sub esi, ebx
and edx, ecx
not ebx
xor edx, esi
not esi
mov ecx, esi
and ecx, 0x2eee4a35
jmp 0x488a6a
mov dword [esp + 0x3c], edi
add ecx, esi
not edx
xor esi, ecx
neg ecx
dec ebx
xor ecx, edx
xchg ecx, ebx
xor ecx, esi
jmp 0x488c0c
mov dword [esp + 0x8c], edi
xchg ecx, ebx
and edx, esi
or edx, ebx
bswap edx
not ecx
xor esi, ebx
neg ebx
and edx, ebx
inc ecx
mov edx, ecx
xchg edx, ecx
add esi, 0x2f08b36d
jmp 0x488a9e
mov dword [esp + 0xf4], edi
or ecx, ebx
neg esi
ror ecx, 0x16
and ecx, 0x2f0c7775
or edx, 0x2f0c9003
sub esi, ecx
xchg ebx, ecx
and esi, edx
xor esi, 0x2f0cfecf
dec esi
jmp 0x488e7b
jne 0x48876d
dec ebx
and ebx, esi
rol ecx, 2
add esi, ecx
jmp 0x48afdd
mov edi, dword [esp + 0x4c]
sub ecx, ebx
xor esi, edx
rol esi, 0x1b
bswap esi
or ecx, esi
not ebx
xor ebx, edx
sub edx, ebx
mov esi, ebx
and esi, 0x2f21b647
shl edx, 0x13
xchg ecx, edx
jmp 0x48a7aa
jne 0x489f5e
add ebx, 0x2f2596ab
mov esi, ecx
not edx
xor edx, 0x2f25e41f
bswap ebx
dec esi
neg edx
dec ecx
sub esi, ecx
add ebx, edx
mov ecx, 0x2f26a465
xchg ebx, edx
mov ebx, ecx
mov edx, 0x2f26f3d1
jmp 0x4899c3
movzx edi, word [edi]
ror ebx, 6
sub ecx, ebx
sub edx, 0x2f274f59
sub ecx, edx
jmp 0x488689
add edi, 0x3c
or ecx, esi
or ebx, 0x2f2c2d6b
sub ecx, 0x2f2c4653
or edx, ebx
rol edx, 0x1d
rol ecx, 0x11
mov edx, 0x2f2cb439
sub ecx, 0x2f2cd121
sub ecx, ebx
mov esi, 0x2f2d0553
xchg edx, ebx
and edx, ecx
jmp 0x4886ed
mov edi, dword [esp + 0x3c]
or ebx, ecx
nop
not ebx
sub ebx, edx
xchg ebx, edx
add edx, 0x2f2ddcbf
and ecx, ebx
xor ecx, 0x2f2e14ad
jmp 0x489c2c
mov dword [esp + 0x4c], 0
and ebx, edx
add esi, edx
xchg edx, ecx
xchg edx, ecx
xor ebx, ecx
xor ebx, edx
jmp 0x48b04b
add edi, dword [esp + 0x8c]
and ebx, 0x2f35496f
or edx, ebx
not ecx
and edx, ecx
or ebx, ecx
sub ecx, esi
jmp 0x4887fb
mov edi, dword [esp + 0x4c]
not ebx
ror ebx, 7
and esi, ebx
and edx, ecx
jmp 0x488990
add dword [esp + 0x3c], 4
mov edx, ecx
dec esi
mov ebx, edx
add ecx, edx
add ebx, esi
xor ecx, edx
mov ecx, esi
add esi, 0x2f3c1e1b
xor ecx, ebx
sub edx, esi
jmp 0x48a7de
add edi, 0x18
or esi, 0x2f404c4b
or ecx, edx
sub esi, ebx
bswap ecx
shl ebx, 0x14
or ecx, ebx
and edx, 0x2f40efb9
xor esi, edx
xchg edx, esi
add ebx, esi
sub ebx, ecx
mov ebx, 0x2f416f8b
jmp 0x48a033
mov edi, dword [edi]
neg ecx
mov ebx, esi
add ebx, 0x2f41c5dd
rol esi, 2
inc esi
not edx
and edx, esi
and esi, ebx
or edx, ecx
xor esi, 0x2f42818f
jmp 0x48aa49
mov dword [esp + 0xc8], 0
sub ecx, edx
or ebx, 0x2f449da7
and ebx, 0x2f44b6d9
or edx, ebx
dec ebx
sub ebx, ecx
or edx, 0x2f454181
or edx, ebx
or esi, 0x2f4578cd
sub ecx, edx
mov edx, ecx
dec esi
and edx, 0x2f45e0c9
or ebx, 0x2f45fabf
jmp 0x489e8c
mov edi, dword fs:[edi]
xor ebx, edx
shl ecx, 6
add ebx, 0x2f465351
xchg esi, ebx
sub ebx, ecx
xor edx, esi
rol ebx, 5
ror esi, 0x1d
add ebx, 0x2f46f4c5
xchg ebx, esi
jmp 0x489f79
mul edi
sub ebx, esi
add ecx, ebx
shr esi, 0xa
neg esi
sub edx, esi
xor edx, ebx
sub ebx, esi
dec esi
jmp 0x4891b0
mov edi, dword [edi]
not ecx
dec esi
xor ebx, ecx
xor esi, ecx
mov esi, edx
xor ebx, edx
sub esi, edx
or ebx, ecx
jmp 0x488d54
add edi, dword [esp + 0xc8]
xor edx, esi
sub esi, edx
xor esi, 0x2f508b57
sub ebx, esi
mov edx, 0x2f50d159
xor ebx, edx
mov ecx, edx
shr edx, 9
mov ebx, edx
nop
jmp 0x4890a2
ret
mov edi, dword [esp + 0x8c]
xchg edx, esi
and ebx, ecx
add ebx, 0x2f5d8851
mov ebx, edx
xor edx, esi
sub edx, ebx
xor edx, ebx
or edx, ecx
jmp 0x489179
mov dword [esp + 0x4c], edi
dec esi
and esi, 0x2f5f76ad
sub esi, 0x2f5f96d3
add edx, esi
xchg edx, ebx
or ecx, 0x2f5fe491
shr ebx, 0x14
and ecx, esi
mov ecx, ebx
sub ecx, esi
jmp 0x48a635
rol eax, 8
or esi, ecx
mov ebx, edx
add ecx, 0x2f62fca9
ror esi, 0x15
add ecx, esi
dec esi
ror edx, 0x11
shl ecx, 0x13
jmp 0x489c46
add dword [esp + 0x8c], 4
xor esi, 0x2f6d68ad
and esi, 0x2f6d8561
neg edx
dec ecx
and ebx, edx
bswap edx
or ecx, 0x2f6e13d5
sub ebx, esi
and esi, ecx
or ecx, esi
xor esi, ecx
and edx, ebx
jmp 0x489962
mov dword [esp + 0x8c], 0
sub edx, ebx
or esi, edx
xchg edx, esi
add ecx, esi
mov edx, 0x2f70ebe9
add esi, 0x2f7104d1
and edx, ebx
sub edx, esi
xor edx, ebx
xor ebx, esi
or ebx, ecx
shl ebx, 0x10
jmp 0x48a3db
push edi
ror esi, 0xb
or ecx, 0x2f71e573
add ebx, ecx
xchg ebx, esi
or ecx, esi
bswap ecx
and ebx, 0x2f726ccd
or esi, ebx
add edx, 0x2f72a0a7
inc ebx
or ebx, 0x2f72d947
xor ecx, esi
not ebx
bswap edx
jmp 0x488da0
mov dword [esp + 0x8c], edi
sub esi, ebx
neg edx
or edx, ecx
sub ecx, 0x2f780aa7
jmp 0x488b27