Function at 0x6584cc
Capabilities:
Encode data using xor

Disassembly:
push eax
jmp 0x658529
shl dword [esp], 1
jmp 0x65863f
sub edx, 0x5bfbbbfa
sub edx, eax
add edx, 0x5bfbbbfa
pop eax
add edx, esi
add edx, 0x777faeb2
pop esi
push ecx
mov dword [esp], eax
mov dword [esp], 0x7ff5a920
and dword [esp], 0x7ffe414f
sub dword [esp], 0x76ecb547
jmp 0x6585bd
add ebx, 4
add ebx, 4
xchg dword [esp], ebx
mov esp, dword [esp]
sub esp, 4
jmp 0x658533
mov ebp, dword [esp]
push ebp
mov ebp, esp
add ebp, 4
add ebp, 4
xchg dword [esp], ebp
pop esp
push eax
mov eax, 0x2f7d575b
or eax, 0x2cffa198
jmp 0x6585b3
mov eax, 0x32af7336
jmp 0x658b79
mov dword [esp], ebp
push esp
pop ebp
push ecx
mov ecx, 4
add ebp, ecx
pop ecx
push edi
jmp 0x658bf0
add eax, 0x477fb6d7
jmp 0x658356
sub dword [esp], 0x8ba790cb
xchg dword [esp], ebp
not ebp
xchg dword [esp], ebp
add dword [esp], 0xf9273d5f
xor dword [esp], 0x7ebd3098
jmp 0x6581e5
xor dword [esp], 0xb45f9b06
push dword [esp]
jmp 0x6588f6
push ebp
mov ebp, 0x6d56f9e3
jmp 0x658872
push ebx
push esp
jmp 0x658b9b
not ebp
and ebp, 0x3fee1500
add ebp, 0x62af814b
xor edi, ebp
pop ebp
jmp 0x65896a
push dword [esp]
pop edx
jmp 0x65874a
pop eax
sub dword [esp], 0xd97ed5ce
push dword [esp]
push dword [esp]
mov eax, dword [esp]
jmp 0x658bbc
shr edi, 5
sub edi, 0x3ec8238
add ebp, edi
pop edi
xor ebp, dword [esp]
xor dword [esp], ebp
xor ebp, dword [esp]
mov esp, dword [esp]
jmp 0x658ca2
push ecx
mov dword [esp], ebx
mov ebx, 4
add ecx, ebx
pop ebx
xor ecx, dword [esp]
xor dword [esp], ecx
jmp 0x658bd5
push eax
mov eax, 4
add ecx, eax
pop eax
jmp 0x658abe
add dword [esp + 4], eax
jmp 0x658907
pop ebx
jmp 0x65838c
push ebp
mov ebp, esp
add ebp, 4
add ebp, 4
xor ebp, dword [esp]
xor dword [esp], ebp
xor ebp, dword [esp]
pop esp
jmp 0x6584c9
add esp, 4
add esp, 4
jmp 0x658bca
push eax
mov dword [esp], ecx
mov ecx, esp
jmp 0x658b1c
xor ecx, dword [esp]
mov esp, dword [esp]
sub esp, 4
mov dword [esp], esi
mov dword [esp], 0x7fd7d003
jmp 0x658210
mov edi, 0x3e5f6087
push ebx
jmp 0x658bfb
mov ebx, 0x5ecf6f78
and edi, ebx
pop ebx
xor edi, 0x7f579858
shl edi, 3
jmp 0x658705
add byte [eax], al
jl 0x658c79
fucomp st(1)
add byte [eax], al
add byte [eax], al
test al, 0x88
push edx
cli
jbe 0x658cfa
aaa
xchg ecx, eax
inc ecx
neg dword ss:[edi - 0xd]
mov cl, 0xbd
push 0x9131b668
fdivrp st(5)
xor al, 0x91
inc ecx
mov cl, 0x28
inc esp
pop edi
mov cl, 0x31
push edx
pop edx
mov cl, 0x31
xchg ecx, eax
pop esi
sub eax, 0xdfe09555
das
xchg ecx, eax
inc ecx
mov cl, 0xce
movsd dword es:[edi], dword [esi]
cmp eax, 0xde95f534
clc
xor al, 0x91
inc ecx
mov cl, 0x28
or dword [esi - 0x4f], ebx
xor edi, edi
jbe 0x658c80
xor dword [ecx + 0x65a4ef41], edx
xor byte [ecx - 0x50], 0x57
jno 0x658c9a
push edi
scasb al, byte es:[edi]
mov ebp, 0xca5f5176
sahf
adc byte [ebx - 0x46], dh
xor dword [ecx - 0x6f7621bf], edx
nop
inc ecx
mov cl, 0x80
dec edx
pop edx
xchg ebp, eax
popal
inc ebx
inc esp
xor esi, ecx
xchg ebp, eax
cmp eax, 0x4190d3de
mov cl, 0xb0
push ebp
pop edx
mov cl, 0x31
xchg ecx, eax
inc eax
push 0x55
call 0x41f6bdfb
mov cl, 0xc8
push 0x77
or al, 0x31
xchg ecx, eax
inc ecx
or dl, byte ss:[ebp + 0x1031b141]
cdq
mov edx, 0x38419131
jge 0x658ce8
jbe 0x658da6
xor dword [ecx + 0x292f3641], edx
mov ch, 0xa9
xchg ecx, eax
nop
xchg edi, eax
inc esi
stc
sub dword [ebp - 0x606f6e57], esi
dec esi
cwde
sti
jbe 0x658db8
xor byte [ecx - 0x6a0ac9bf], dl
inc ecx
mov cl, 0x31
xchg esp, eax
pop ebp
mov cl, 0x31
xchg ecx, eax
xor dh, byte [ebp + 0x48419131]
sub byte [edi + 0x5f], cl
mov cl, 0x31
jmp 0xaafea061
mov ch, 0x76
sal dword [eax], 1
xchg ecx, eax
inc ecx
push 0xffffffffffffff8e
int 0x80
and dword [eax], ebp
push esi
pop esi
mov cl, 0x31
push cs
pop edx
xchg ebp, eax
sub byte [edi], al
inc ecx
mov cl, 0x31
adc byte [ecx + 0x419131ba], bl
or dl, byte ss:[ebp + 0xa31b141]
add dl, byte [ebp - 0x49009763]
xor dword [ecx - 0x2aa4530], edx
salc
push 0x55
invalid