Function at 0x528c73
Capabilities:
Encrypt data using chaskey

Disassembly:
cmp eax, dword [esp + 0x68]
jmp 0x529c08
mov ecx, dword [ecx]
shl esi, 0x19
rol ebx, 2
sub edi, edx
xor ebx, esi
xor esi, 0x26f8a9c8
or edi, ebx
and esi, 0x26f90ab4
add edx, ebx
not ebx
inc edi
shl ebx, 7
add esi, ebx
jmp 0x5278f6
mov eax, 4
mov ebx, edi
xor edi, ebx
mov edx, esi
dec edi
sub edx, esi
mov esi, 0x27057f14
neg edx
sub esi, edi
jmp 0x529c60
mov ecx, dword [esp + 0x128]
or esi, edi
sub ebx, 0x270a085a
shr edi, 0x10
sub ebx, edx
jmp 0x529b29
ret
mov ecx, dword [esp + 0x6c]
or esi, 0x271305aa
xor ebx, esi
not esi
sub ebx, esi
shl edi, 8
and ebx, edi
or edi, ebx
sub edi, esi
or edx, ebx
inc esi
jmp 0x527caa
add ecx, dword [esp + 0xe8]
and edx, edi
dec esi
xor edx, ebx
and ebx, esi
jmp 0x528ffd
mov dword [esp + 0x128], 0
xor edx, edi
add edx, edi
not ebx
xor edx, esi
mov edi, 0x2730c0a0
inc ebx
not esi
xor edx, esi
jmp 0x528f79
mov ecx, dword [esp + 0x6c]
xchg edx, ebx
add ebx, 0x27323e16
mov edi, ebx
and esi, edx
mov ebx, edx
xor edx, 0x2732ea80
rol edi, 5
xor ebx, edi
jmp 0x529f8a
mov dword [esp + 0x6c], ecx
shr edi, 0x19
xchg ebx, edx
mov edi, edx
sub edx, esi
neg edx
add edi, ebx
or esi, edx
add esi, ebx
mov edx, edi
inc ebx
not edi
add edx, ebx
jmp 0x528fd8
add ecx, dword [esp + 0xe8]
sub ebx, esi
add ebx, edi
xor esi, ebx
add esi, ebx
or edx, esi
mov ebx, edi
xchg edi, esi
mov esi, ebx
or ebx, edi
rol edx, 3
and edi, esi
dec esi
jmp 0x527ab7
mov ecx, dword [esp + 0x128]
bswap esi
shr edi, 7
sub edx, 0x274567e0
rol ebx, 0x1a
neg ebx
add edx, edi
or edx, ebx
xor edi, ebx
or edx, ebx
shl edx, 5
xor ebx, 0x2746d516
add edx, ebx
xor esi, ebx
add esi, edx
jmp 0x529e78
add dword [esp + 0x128], 0x78
rol esi, 0x1e
xor ebx, edi
or edx, esi
mov ebx, esi
add ebx, 0x2751bca8
xor ebx, edi
add ebx, edi
or edi, edx
sub ebx, edi
add ebx, edx
or edi, edx
sub ebx, edi
inc ebx
add edi, esi
jmp 0x529282
mov ecx, dword [ecx]
rol ebx, 0xb
dec edi
rol esi, 0x1b
not ebx
sub esi, 0x27544c68
add edi, esi
mov edx, edi
add edx, ebx
xchg edx, edi
add edi, esi
add edx, 0x2754e428
or ebx, esi
jmp 0x52832c
mov ecx, dword [ecx]
xchg edi, edx
sub edx, ebx
sub esi, edx
and edx, 0x2757c57e
rol edx, 1
neg edi
sub edx, 0x2758150e
bswap edi
dec ebx
xchg edx, ebx
jmp 0x527fbb
mov ecx, dword [esp + 0xe8]
dec esi
rol edx, 0xb
dec edi
inc esi
or ebx, edi
xchg edi, edx
dec edx
xor edi, 0x275f0308
and edx, esi
mov edi, edx
or ebx, 0x275f4d20
add esi, ebx
jmp 0x529163
mov ecx, dword [esp + 0xe8]
xchg edi, esi
not ebx
bswap edi
xchg edx, esi
sub edx, edi
xor edi, 0x27627c64
jmp 0x5289a8
xor al, byte [ecx]
add edx, edi
shl edx, 8
ror edi, 0xe
and edi, esi
bswap esi
not esi
mov esi, 0x27644570
xchg esi, edx
and edi, ebx
xchg edx, edi
xchg edx, edi
sub esi, edx
sub ebx, 0x2764e47a
and edx, edi
jmp 0x528921
mov dword [esp + 0xe8], ecx
mov edi, 0x2767743a
neg ebx
bswap edx
sub edx, ebx
xor edx, 0x2767e3fa
ror ebx, 0x13
xor edx, esi
add edi, esi
jmp 0x527e6c
add ecx, 0xc
shl edx, 0x16
add ebx, edi
jmp 0x52a2b6
mov ecx, dword [ecx]
mov edx, esi
xchg esi, edi
shr edi, 0xc
dec edx
rol ebx, 0xc
or edx, 0x276ec55e
add esi, ebx
sub edx, esi
shr esi, 0xd
sub edx, ebx
jmp 0x527f1f
add ecx, 0xc
sub edx, ebx
xchg edi, esi
dec edx
or edx, ebx
and edx, esi
dec edx
or edi, 0x2771a4f2
xor edi, 0x2771c3da
mov esi, 0x2771ddce
and edx, esi
or esi, ebx
add edi, esi
shr edi, 8
mov ebx, edi
jmp 0x527d1d
add dword [esp + 0x6c], 4
and edx, ebx
mov esi, 0x277c6c54
shl edi, 7
xchg ebx, edx
inc edi
add esi, edx
or ebx, edx
not edi
bswap ebx
and esi, edi
bswap edx
dec ebx
or esi, 0x277d90ee
add esi, edi
jmp 0x527785
mov ecx, dword [ecx]
not edx
mov esi, 0x27849c98
jmp 0x5299cb
add ecx, dword [esp + 0xe8]
xor edi, ebx
or ebx, edx
bswap edi
mov edi, edx
xor edi, ebx
or edi, edx
jmp 0x528983
mov dword [esp + 0x128], ecx
mov edi, esi
mov edx, ebx
add edx, 0x2788dbf2
and esi, ebx
or ebx, 0x2789117a
and edi, 0x27892b3a
and edi, esi
xor esi, ebx
or esi, edx
add ebx, edx
jmp 0x527dea
mov ecx, 0x30
xor ebx, edx
mov edi, 0x2789c96c
xchg edx, esi
xor ebx, edx
add ebx, edx
or edi, edx
and edi, ebx
sub esi, edx
mov ebx, 0x278a7d08
sub edi, edx
sub edx, edi
or edx, esi
add esi, ebx
and edi, esi
jmp 0x52866b
mov dword [esp + 0x6c], 0
xchg edi, esi
not ebx
inc esi
or ebx, edi
mov ebx, edx
xor edx, 0x279639a0
and esi, 0x27965360
and edx, 0x27966d0e
and edx, 0x279688ce
rol edx, 0x11
jmp 0x529dd9
add ecx, dword [esp + 0x128]
xchg esi, ebx
and ebx, 0x2796deb4
and ebx, 0x2796f842
add ebx, edi
sub edi, ebx
and edx, esi
and esi, 0x27975fa0
sub edi, 0x27977960
sub esi, 0x279794da
xchg edx, edi
and ebx, edx
add esi, 0x2797e0c0
jmp 0x52a2f7
mov ecx, dword fs:[ecx]
not edi
bswap ebx
or edx, ebx
add ebx, 0x279b3bf2
add ebx, 0x279b5598
shr ebx, 0x1e
mov edi, ebx
add edx, esi
jmp 0x528067
pop ecx
xchg edi, esi
shr esi, 0x1b
jmp 0x527575
rol eax, 8
inc edi
and esi, ebx
xor edx, esi
sub ebx, edx
dec esi
and ebx, 0x27b086ae
and ebx, 0x27b0a0b4
not edx
jmp 0x529956
push ecx
dec ebx
or esi, 0x27b31e1a
or edx, ebx
mov ebx, esi
bswap ebx
shl edx, 0x16
inc ebx
and edx, ebx
and edx, 0x27b3d508
and edx, 0x27b3ef7c
jmp 0x5290ec
add ecx, 0x3c
ror edi, 0x13
mov esi, edi
dec edx
or edi, 0x27b463ca
add edi, ebx
sub esi, edx
jmp 0x52831e
mov dword [esp + 0x128], ecx
not esi
shr edx, 0x16
and ebx, 0x27ba07d6
and edi, ebx
jmp 0x5279af
mov dword [esp + 0x88], eax
or esi, ebx
mov edx, ebx
add esi, 0x27c5bfb6
and esi, ebx
or esi, edi
rol esi, 0xb
jmp 0x529749
sub esp, 0x158
sub edi, esi
xor ebx, edi
add ebx, edi
xor esi, 0x27c89656
ror edx, 8
rol esi, 0x1c
bswap ebx
xchg edx, edi
jmp 0x529869
mov ecx, dword [ecx]
add edi, ebx
sub esi, edx
or edx, ebx
xor esi, 0x27d4c7aa
jmp 0x529837
mov dword [esp + 0x68], ecx
shl edi, 0x14
sub ebx, 0x27de116a
add edi, edx
add edi, ebx
sub esi, edx
and ebx, 0x27de79ce
jmp 0x5283e7
mov eax, 2
and ebx, edx
sub edi, edx
ror ebx, 0x18
mov esi, edx
xchg esi, edx
sub ebx, edi
sub esi, ebx
inc edi
xor esi, 0x27e13208
mov edx, 0x27e14c16
jmp 0x5293a6
add esp, 0x158
and edx, edi
and ebx, edi
or edx, esi
shr edi, 0x15
neg edx
and edx, esi
mov edi, edx
or esi, edi
jmp 0x527762
xor eax, eax
mov edx, 0x27e7c74a
sub edi, esi
add ebx, 0x27e7fa7a
xor ebx, edi
add ebx, edi
mov edx, edi
add ebx, edi
xor esi, edx
dec ebx
add esi, 0x27e8ad12
add ebx, edx
or esi, 0x27e8df24
add esi, edi
not ebx
jmp 0x527eaa
add dword [esp + 0x128], ecx
shr ebx, 0x1d
not esi
or ebx, 0x27eb9284
xor ebx, 0x27ebb03a
jmp 0x529929
inc dword [esp + 0x88]
bswap edi
xchg esi, edx
ror edx, 0x1f
not edi
xor edx, 0x27ed582a
and ebx, edi
xor ebx, edx
or esi, edi
jmp 0x528204
mov ecx, dword [ecx]
xor edi, esi
xor esi, ebx
mov ebx, edx
xor ebx, esi
ror edi, 0xb
mov edx, 0x27ef59a2
sub edi, esi
and esi, ebx
xor edx, ebx
or edi, esi
dec edx
add edi, 0x27eff53e
shl ebx, 0xd
xchg edi, esi
jmp 0x52a19a
mov ecx, dword [esp + 0xe8]
and edx, 0x27f360f0
mov esi, edi
sub edx, esi
add edi, edx
jmp 0x5285c7
cmp byte [ecx], 0
jmp 0x52948a
mov ecx, dword [esp + 0x88]
xchg ebx, edx
xor edi, ebx
xor edi, esi
rol ebx, 0x12
xor ebx, edx
xchg edx, edi
jmp 0x529e3b
jne 0x527eaa
dec esi
not edi
xchg edx, esi
xor edi, esi
xchg esi, ebx
inc edx
xor ebx, edi
or edx, edi
jmp 0x52872b
add ecx, 0x18
or esi, ebx
add edi, 0x280a44ae
xor edx, edi
add edx, edi
sub edx, ebx
xor edx, 0x280aadf4
ror ebx, 0x11
xor esi, edx
add esi, edx
add esi, ebx
and ebx, edi
mov esi, 0x280b4214
jmp 0x528014
mul ecx
mov ebx, esi
xchg ebx, edi
or ebx, edi
mov edi, 0x28262eb8
xor ebx, esi
add edi, 0x28266102
add esi, 0x28267b76
xor edx, esi
jmp 0x529d7c
add ecx, dword [esp + 0xe8]
and ebx, edi
shl esi, 0x1c
mov esi, edx
add edx, edi
xchg esi, edi
and ebx, esi
add edi, 0x28282970
xchg esi, edi
sub edi, ebx
mov edi, 0x28287662
jmp 0x52979f
sub dword [esp + 0x128], 8
sub esi, edx
shl edx, 0xc
mov esi, ebx
neg ebx
dec esi
rol edx, 0x1d
not esi
xor ebx, 0x282cc880
and edx, 0x282ce2ae
xor esi, edx
jmp 0x529ab0
mov dword [esp + 0x6c], ecx
sub edi, ebx
xchg edx, esi
sub esi, ebx
shl ebx, 7
jmp 0x5291a7
mov ecx, dword [ecx]
xor esi, edx
mov esi, 0x28333ad0
or esi, edx
or edi, 0x28336c34
add edi, ebx
not edx
inc edi
sub esi, edx
shl edx, 0x12
sub esi, edi
mov esi, edi
and edi, 0x28343d1e
and esi, 0x28345724
not edi
jmp 0x5294ee
mov dword [esp + 0x88], 0
xor edi, ebx
xchg ebx, esi
ror edi, 0x1e
xor esi, edx
add esi, edx
sub edx, edi
sub edi, ebx
xor ebx, 0x2835492a
jmp 0x528593
add dword [esp + 0x128], 0x20
and ebx, 0x28398e2e
add ebx, esi
or edi, esi
add edx, esi
rol edx, 0xb
add ebx, edx
xchg edx, esi
add ebx, edi
xchg edi, esi
inc ebx
mov ebx, esi
add ebx, esi
mov edx, esi
sub ebx, edx
jmp 0x527b22
inc ecx
mov edi, esi
sub edi, 0x283b0fbe
and ebx, esi
sub edi, esi
dec esi
or edx, edi
xchg edi, esi
ror edx, 0x1b
add edx, esi
and esi, edi
rol ebx, 0x15
and edx, esi
jmp 0x529360
mov dword [esp + 0x128], ecx
xchg edx, edi
xchg edi, ebx
mov esi, ebx
mov edx, 0x283f1c1c
jmp 0x527c51
mov ecx, dword [esp + 0x128]
xchg ebx, edi
sub esi, edx
xor edx, edi
and esi, 0x2845ced2
not edi
shr edx, 0x12
jmp 0x5291f5
mov ecx, dword [esp + 0x128]
shl edx, 0x1a
sub edi, ebx
mov esi, edi
and esi, 0x2846760a
add edx, esi
sub edi, edx
jmp 0x5275ac
mov ecx, dword [ecx]
or esi, 0x28488b6a
add esi, 0x2848a55e
add esi, 0x2848bf64
xor ebx, edi
xchg ebx, edi
not edx
jmp 0x527adb
jne 0x5291a7
or esi, edx
xor esi, ebx
jmp 0x52a0b6
movzx ecx, word [ecx]
rol esi, 0xa
or ebx, edi
jmp 0x52966a
add dword [esp + 0x128], eax
shr esi, 7
xchg ebx, esi
xchg edi, edx
xor edi, edx
add edi, ebx
not edx
inc edi
or edx, ebx
xchg edx, esi
ror edi, 8
jmp 0x529acd
mov dword [esp + 0xe8], 0
shr edx, 0xa
shl edx, 0x15
sub edi, ebx
add esi, ebx
sub edx, esi
bswap esi
jmp 0x52797e
mul ecx
ror edi, 0x18
mov ebx, edx
or esi, edi
rol esi, 0x12
shr esi, 0xb
xor edi, edx
jmp 0x528c19
mov ecx, dword [ecx]
sub edi, ebx
shr ebx, 0x1c
sub edi, esi
mov edi, esi
jmp 0x5296a9
add ecx, dword [esp + 0x88]
sub ebx, esi
sub edx, edi
sub edi, ebx
sub edx, esi
jmp 0x527680
add dword [esp + 0x128], 4
sub edx, esi
sub esi, edi
rol esi, 4
xchg edx, edi
or edx, ebx
or ebx, edx
ror ebx, 9
mov esi, edx
xchg esi, edx
dec ebx
xchg edx, ebx
rol edx, 0x1b
jmp 0x5276cd
add ecx, dword [esp + 0xe8]
dec ebx
add esi, 0x28776978
xor edx, esi
and esi, edi
rol ebx, 6
xor edx, ebx
jmp 0x528a78
mov ecx, dword [ecx]
shr edx, 0x10
shl edx, 0x1f
sub edi, ebx
xor ebx, esi
shr edi, 0x12
add esi, edi
add esi, edx
sub edx, edi
shl ebx, 0x1c
xor edi, 0x28804bbe
jmp 0x528e3e
mov ecx, dword [ecx]
ror edx, 3
not edi
bswap ebx
xchg esi, edi
and ebx, esi
add edi, 0x2881cd9e
jmp 0x5283bb