Function at 0x58489e
Capabilities:
Encrypt data using chaskey

Disassembly:
mov dword [esp + 0x38], 0
mov esi, ecx
xchg esi, ecx
add edx, ecx
add edx, 0x63a823d1
sub esi, edi
sub edi, esi
shr ecx, 0xd
neg ecx
add edi, esi
not edx
xchg esi, edi
mov edi, 0x63acf1d9
jmp 0x584d92
mov ebx, dword [esp + 0x38]
neg esi
sub edx, esi
shl edx, 6
not esi
mov esi, edi
sub edi, edx
xor edi, 0x63cc7ef2
sub edi, 0x63ccf471
xchg edi, edx
dec edi
jmp 0x583914
mov ebx, dword [esp + 0x78]
add edi, esi
inc edx
sub ecx, edi
mov ecx, esi
bswap edi
xor esi, ecx
xor edx, 0x63dd97c6
ror edi, 0xd
jmp 0x58495a
add ebx, dword [esp + 0x5c]
neg edx
nop
xor edx, 0x63e7a2be
sub edi, edx
sub esi, edx
shl edi, 0x11
sub esi, 0x63ebe7f3
jmp 0x582b4a
add ebx, 0x3c
not edi
or ecx, esi
add edx, 0x640a50f0
or edx, edi
xor esi, 0x640b856a
or edi, esi
sub edx, ecx
mov ecx, edx
or ecx, edx
or edi, esi
add esi, edx
add edx, ecx
jmp 0x584316
mov ebx, dword [esp + 0x5c]
add ecx, edx
xor esi, ecx
ror edi, 0x10
mov edi, edx
sub edi, ecx
mov esi, edi
xor edx, ecx
xor edx, edi
and edi, 0x6448e7ff
rol esi, 7
xchg edi, esi
or ecx, edi
xor edi, 0x644bc186
mov edi, edx
jmp 0x584fd5
mov ebx, dword fs:[ebx]
mov ecx, edi
sub edx, esi
and edi, esi
xchg esi, ecx
add edx, ecx
xor edx, edi
mov esi, edx
jmp 0x5837fe
mov ebx, dword [esp + 0x90]
add ecx, edi
xor edi, edx
xchg edx, esi
and esi, ecx
neg ecx
bswap esi
add ecx, edi
jmp 0x584a85
jne 0x58385d
xchg esi, ecx
or ecx, edx
or edi, edx
inc ecx
shr esi, 0x16
add edi, edx
not ecx
jmp 0x582b05
mov dword [esp + 0x5c], 0
ror edi, 0x18
sub edx, 0x65401e35
or edx, esi
neg ecx
ror ecx, 0x10
jmp 0x583d02
pop ebx
bswap ecx
or edi, esi
add esi, 0x6629c80d
bswap edi
not ecx
xchg edi, esi
and esi, 0x662bb1a2
shl esi, 8
not ecx
jmp 0x584272
mov eax, 4
add edi, edx
or edi, 0x66323078
or ecx, edx
xchg edi, edx
neg edx
mov edi, edx
shl edi, 0xd
shr edx, 0x16
neg esi
mov esi, ecx
xchg ecx, esi
xor esi, 0x663712ec
jmp 0x582f2f
sub dword [esp + 0x90], 8
add ecx, edx
xor esi, edi
jmp 0x584989
mov dword [esp + 0x54], ebx
or esi, 0x666ea143
not ecx
xor edx, edi
mov ecx, edx
or edi, edx
add ecx, edx
sub ecx, edi
and edi, esi
or edi, ecx
jmp 0x583375
add ebx, dword [esp + 0x38]
xor edx, edi
nop
sub esi, ecx
xchg edx, esi
and edi, edx
add esi, ecx
add edx, edi
dec edx
xor ecx, edx
xor edx, 0x667f0cb6
jmp 0x583ad0
add ebx, dword [esp + 0x38]
mov ecx, edi
and edx, edi
xchg edi, edx
or ecx, esi
xchg esi, ecx
add edx, ecx
bswap ecx
jmp 0x58474e
movzx ebx, word [ebx]
sub esi, ecx
mov edx, ecx
shr edx, 0x1a
xchg edi, ecx
ror ecx, 0xe
add edx, 0x66d222ea
xor edi, esi
rol edi, 5
jmp 0x582fd6
mul ebx
inc edi
xor esi, ecx
and edi, esi
shl esi, 0xb
shr edi, 0x18
mov esi, ecx
jmp 0x584f19
mov ebx, dword [esp + 0x90]
add edx, edi
or edx, 0x6700d8cd
xor edi, edx
mov ecx, edx
add edx, 0x67020e99
sub edx, 0x67028fd0
shr esi, 0x17
dec esi
sub edi, ecx
bswap edx
not esi
and edi, edx
and edx, ecx
or edx, edi
or edi, ecx
jmp 0x584471
inc ebx
xchg ecx, edi
or esi, ecx
shr esi, 0x1c
and esi, edi
shl ecx, 0xa
jmp 0x583a1b
add esp, 0xb0
sub esi, edi
add ecx, edx
xchg ecx, esi
mov ecx, edi
and ecx, edi
inc edi
mov ecx, edi
sub edi, 0x6731ce80
and ecx, esi
add ecx, 0x6733489b
jmp 0x583215
ret
mov eax, 2
add edi, ecx
sub edi, esi
or edi, esi
mov edi, ecx
and edi, esi
shr ecx, 0x18
neg edi
or edi, esi
mov esi, edi
sub esi, edx
sub ecx, edi
xor ecx, edx
jmp 0x58246d
mov ebx, 0x30
sub edx, edi
xor ecx, edx
mov esi, edi
and esi, ecx
sub edi, edx
jmp 0x5824d5
xor eax, eax
add edx, ecx
or edx, 0x67cf10d2
add esi, ecx
or ecx, edx
neg edi
mov esi, ecx
and esi, edx
rol esi, 8
sub esi, ecx
jmp 0x58385d
add ebx, dword [esp + 0x38]
dec esi
and edx, 0x67e178e7
add edx, esi
not edx
xor ecx, 0x67e2aa18
mov edx, 0x67e3384e
inc edi
mov edx, esi
mov edi, edx
xor ecx, esi
add esi, edx
jmp 0x583161
add ebx, 0x18
or edi, esi
mov ecx, edi
add edi, ecx
add ecx, esi
sub esi, edx
or esi, 0x67ef6633
and edi, 0x67f0113e
xchg ecx, edi
xchg edx, esi
and esi, ecx
and edi, esi
jmp 0x583721
mov dword [esp + 0x90], ebx
xor ecx, edi
add edx, esi
add ecx, edi
add edx, ecx
shr edx, 0x11
dec edx
xor edx, edi
xor edx, edi
or ecx, edx
rol edi, 0xa
sub ecx, 0x6835596b
jmp 0x58427e
mov ebx, dword [ebx]
and ecx, esi
or edi, esi
xor ecx, esi
add edx, edi
mov edi, edx
shr ecx, 0x1b
jmp 0x584163
add ebx, 0xc
or edx, ecx
xchg edx, esi
sub ecx, edx
sub edi, 0x685ae4a5
dec edx
xor edx, edi
mov ecx, edx
jmp 0x584f85
add ebx, dword [esp + 0x38]
xchg edx, edi
xor ecx, esi
xor edx, esi
xchg edi, ecx
jmp 0x584e17
xor al, byte [ebx]
add ecx, esi
or esi, ecx
shr esi, 0x15
ror esi, 0x19
mov edx, edi
neg edi
sub edi, ecx
xor edi, ecx
jmp 0x583afb
mov dword [esp + 0x5c], eax
add esi, edi
dec edi
xchg edx, edi
add ecx, edx
not ecx
add edx, ecx
sub edx, edi
xor edx, esi
xchg edi, ecx
jmp 0x582cd4
add dword [esp + 0x90], ebx
add edx, edi
xor esi, ecx
neg edi
shr esi, 0x1f
or esi, edx
mov edi, esi
or edi, ecx
jmp 0x584f59
cmp byte [ebx], 0
jmp 0x5826a7
mov dword [esp + 0x78], ebx
and edi, edx
and edi, edx
and edi, edx
xor edx, esi
add ecx, edi
or edi, ecx
mov edx, 0x68e5de22
xor esi, edi
and esi, 0x68e75c91
add ecx, esi
mov edx, esi
xor edi, edx
jmp 0x583250
rol eax, 8
and esi, ecx
sub edx, esi
or ecx, 0x68ee7090
or edx, esi
and esi, ecx
add edx, edi
and edx, 0x68f21bf4
xor ecx, 0x68f27fcf
and ecx, 0x68f2fb2a
xor esi, 0x68f37b53
jmp 0x58314f
mov dword [esp + 0x78], 0
sub ecx, edi
mov edi, edx
xchg esi, ecx
shr edx, 0x19
and edi, 0x693c28dd
or edx, edi
sub esi, edi
mov esi, edi
jmp 0x582097
mov ebx, dword [esp + 0x90]
mov edi, ecx
xor edi, edx
shl edi, 8
mov edx, edi
ror esi, 8
jmp 0x5847ee
add ebx, 0xc
and edx, edi
xchg ecx, edx
add esi, edx
mov edx, edi
neg ecx
xchg ecx, edx
and edi, esi
and edx, ecx
not edi
or ecx, esi
jmp 0x5841ab
mov dword [esp + 0x90], ebx
mov edx, ecx
xchg ecx, edi
xor ecx, 0x696e593a
or ecx, esi
xor edi, esi
add esi, ecx
add esi, 0x696ff4a3
jmp 0x584c57
mov dword [esp + 0x38], ebx
dec edi
or edx, ecx
and ecx, esi
xor esi, edi
rol edx, 0xd
add esi, ecx
xchg edi, edx
add edi, ecx
jmp 0x584b50
mov ebx, dword [ebx]
xor edi, esi
and esi, ecx
inc ecx
or edx, esi
mov ecx, esi
shr esi, 0x16
mov ecx, 0x69f5b401
or ecx, 0x69f67fe7
xchg edx, esi
shl esi, 9
jmp 0x584665
mov ebx, dword [esp + 0x38]
inc edx
mov esi, edx
or edx, ecx
sub ecx, 0x6a063120
sub esi, 0x6a076825
inc ecx
or esi, edx
xchg edi, edx
xchg edi, edx
ror ecx, 0xb
jmp 0x5844c4
cmp eax, dword [esp + 0x54]
jmp 0x584ea3
mov ebx, dword [esp + 0x78]
xchg ecx, edx
neg esi
and edx, esi
mov edx, esi
xchg edx, ecx
mov esi, edx
and ecx, 0x6a29788a
xor edi, ecx
mov edi, edx
xchg esi, ecx
jmp 0x582239
mov ebx, dword [ebx]
xor esi, edx
xor ecx, edi
and edi, edx
and edx, ecx
xchg esi, ecx
bswap edx
xchg esi, edi
mov edi, 0x6a3409ff
or ecx, edx
jmp 0x584ed5
inc dword [esp + 0x5c]
xor edx, ecx
xor edi, esi
add ecx, esi
add edi, edx
neg esi
rol edi, 0xe
jmp 0x584bf6
mov ebx, dword [ebx]
sub esi, edx
sub edx, esi
or edx, 0x6a3a6e81
or edi, edx
shl edi, 0x1b
ror edx, 0x12
jmp 0x583e9a
mov ebx, dword [ebx]
add esi, ecx
mov esi, ecx
mov edx, esi
bswap edi
and edx, esi
sub esi, edx
add ecx, 0x6a6b335d
or edi, 0x6a6b97a6
xor edx, edi
mov esi, edi
bswap edx
jmp 0x582d6e
add ebx, dword [esp + 0x90]
xchg edx, esi
and edx, esi
neg edi
xor ecx, edx
shr edx, 0xb
shr edi, 0xc
or edi, edx
xchg edi, edx
inc esi
and ecx, edx
and ecx, 0x6a7954e6
sub edx, esi
xor edx, esi
bswap ecx
add esi, 0x6a7cc0c7
shl ecx, 9
jmp 0x5842cd
mov ebx, dword [ebx]
xchg esi, ecx
xchg ecx, edx
bswap esi
or ecx, 0x6ace0225
add edi, ecx
or edi, ecx
xchg edx, edi
xchg esi, ecx
jmp 0x584dfe
mov dword [esp + 0x78], ebx
add esi, ecx
and esi, ecx
or edi, edx
sub esi, edx
and edi, esi
not ecx
sub esi, edi
xchg ecx, edi
sub edx, edi
mov ecx, 0x6b0a69b8
and edi, ecx
jmp 0x5842fd
mov ebx, dword [ebx]
mov edx, edi
add edx, 0x6b24dbd6
ror ecx, 5
neg edx
xor ecx, 0x6b26234c
add edi, ecx
sub edx, ecx
sub edx, esi
or ecx, edi
xchg edi, esi
xor edx, esi
xor edi, ecx
jmp 0x583567
sub esp, 0xb0
and ecx, edi
rol esi, 0x1b
add ecx, esi
dec esi
xor ecx, edi
and edi, esi
shl edi, 3
or edi, edx
sub esi, edx
jmp 0x582a49
mov ebx, dword [ebx]
add esi, edx
shr edi, 0x1a
sub ecx, edx
or edx, 0x6b781b36
and edi, esi
or esi, edx
add edi, ecx
sub edx, edi
mov edi, esi
or edx, ecx
jmp 0x584b1c
mov ebx, dword [ebx]
xchg edi, ecx
mov ecx, edi
xchg edi, edx
or ecx, 0x6b849cc7
neg edx
or ecx, edx
sub edx, edi
xor ecx, esi
xor edi, 0x6b86c43a
add edx, edi
xor esi, ecx
xchg ecx, esi
sub edi, ecx
sub ecx, 0x6b88d081
jmp 0x583849
mov ebx, dword [esp + 0x90]
add edx, edi
xchg edx, ecx
ror esi, 0x10
or ecx, edi
dec edi
add edx, edi
add ecx, 0x6b8bf162
shr ecx, 0x1e
jmp 0x5848fd
mov ebx, dword [ebx]
not esi
shr edi, 7
add esi, 0x6babf279
xor esi, 0x6bac59ae
shr ecx, 0x10
xor edi, ecx
and esi, edx
or esi, 0x6bae1b94
xor ecx, edx
and edx, esi
xchg ecx, esi
jmp 0x582e8c
add ebx, dword [esp + 0x38]
and esi, edx
mov edx, esi
xor edi, edx
or ecx, edi
sub edi, 0x6bbdd813
jmp 0x5836a4
mov ebx, dword [esp + 0x38]
ror esi, 8
bswap esi
neg edi
sub ecx, edx
inc edx
and esi, ecx
mov esi, 0x6bc4115e
rol edx, 0xa
mov edi, 0x6bc4e46a
xchg edx, edi
or esi, 0x6bc5b9e3
shl edx, 0x1b
add edx, edi
jmp 0x5822f9
add dword [esp + 0x90], 4
xchg esi, edi
or edx, ecx
sub edx, edi
sub edi, edx
or edx, edi
add esi, ecx
shl edx, 7
inc edx
and ecx, 0x6bd30320
jmp 0x583057
add dword [esp + 0x78], 4
add edi, 0x6bd394a6
xor edx, ecx
nop
ror edi, 0x1d
xor ecx, edx
nop
xor edi, edx
sub edi, edx
bswap edx
jmp 0x5821ed
add dword [esp + 0x90], 0x78
bswap edx
xor esi, edx
xchg edi, edx
xor ecx, edx
not ecx
shr esi, 9
and edx, 0x6bec472b
jmp 0x5841ec
mov dword [esp + 0x90], 0
mov edx, edi
xor edx, edi
or ecx, esi
not edx
mov esi, edi
add edx, edi
add ecx, esi
jmp 0x582d0e
mov ebx, dword [ebx]
xor esi, edi
xchg edi, ecx
and esi, edi
xor ecx, edi
or ecx, edx
dec edx
mov ecx, edx
xor esi, edx
ror edi, 7
jmp 0x5835b3
push ebx
shl ecx, 0x18
inc edx
xor esi, 0x6c498bce
and ecx, edi
xor ecx, edi
xchg edx, ecx
rol edi, 0x15
mov edx, ecx
mov esi, ecx
or edx, 0x6c53d506
jmp 0x5834b7
jne 0x5842fd
dec edi
sub ecx, esi
xchg edx, edi
mov edx, 0x6c6396be
or ecx, esi
and edx, ecx
mov ecx, edi
sub ecx, edi
xor esi, edi
jmp 0x584bd3
mov dword [esp + 0x90], ebx
xor ecx, edx
xor esi, ecx
xor edi, edx
and edi, edx
and esi, edx
xor esi, edi
xchg ecx, edx
jmp 0x582167
add dword [esp + 0x90], eax
add edx, edi
or esi, ecx
sub edx, edi
xchg edi, esi
xor esi, edx
and edx, esi
mov edx, edi
or ecx, edi
ror edx, 8
jmp 0x583db8
add dword [esp + 0x90], 0x20
or edx, ecx
not ecx
add edx, ecx
rol ecx, 7
or esi, ecx
and esi, ecx
shr edi, 0x13
add edi, 0x6cade843
add ecx, edx
mov edx, 0x6caead89
bswap ecx
jmp 0x5824eb
mov ebx, dword [ebx]
and esi, ecx
mov edi, esi
bswap esi
add esi, edi
add ecx, edx
sub esi, edi
and esi, edi
and esi, 0x6cb26491
add edi, edx
ror edi, 0x1a
xchg edx, ecx
mov esi, ecx
xchg edi, esi
add edi, edx
jmp 0x583e7e
mul ebx
ror edi, 0x17
not esi
or edi, 0x6cdabeae
mov edx, ecx
neg ecx
dec ecx
xor esi, 0x6cdc4793
jmp 0x583891