Function at 0x58c4fe
Capabilities:
Encode data using xor

Disassembly:
fnstsw word [eax]
int 0x70
imul esp, eax, 0x646ca55d
cmc
sbb byte [ebp - 0x7e], 0x91
ror ecx, cl
insb byte es:[edi], dx
jbe 0x58c53e
xor eax, 0x830d1b4
clc
xor byte [edi + 0xf], bl
lodsb al, byte [esi]
xchg ebx, eax
fldcw word [ebp + 0x3b]
sub eax, 0x13ff5227
mov ebp, 0x7f806a
inc eax
mov bh, byte [eax]
fsubr st(6), st(0)
fistp word [edi - 0x443ed241]
invalid
sub edx, dword [ecx + 0x245e463c]
push 0x7bb8bde0
les edx, [ebx + 4]
xchg ecx, eax
cmp al, 0x46
inc esi
pop esi
and al, 0x68
loopne 0x58c4c4
mov eax, 0x453c47b
jge 0x58c534
aam 0xd3
xchg ecx, eax
push ebx
inc ecx
arpl word [esi + 0x27a45db3], bp
std
jl 0x58c502
stosd dword es:[edi], eax
cli
or al, 0xaf
push eax
loopne 0x58c4ff
popal
daa
dec ebp
adc byte [ecx + 0x22], al
lcall 0x2b70, 0xfe607451
sub byte [ebp - 0x48], 0x6c
movsd dword es:[edi], dword [esi]
cwde
aas
insd dword es:[edi], dx
mov eax, 0x3f98a56c
sti
les ebx, [eax + esi*8]
jno 0x58c501
mov dl, byte [esi + edx]
add ebp, dword [eax]
xor bh, al
dec esi
mov bl, 0x71
pop ebp
aam 0x87
lodsd eax, dword [esi]
add ebx, edi
push eax
rol dword fs:[edi + 0x5b71b504], 1
fist word [eax + 0x64]
rol dword [edi + 0x5b71b504], 1
loope 0x58c578
sbb al, 0x70
invalid
xchg edx, eax
fstp dword [ecx - 0x1a]
pop ds
mov cl, 0x49
call 0x5b65cf69
dec ebx
fld qword [eax + ebp*8 - 6]
inc byte [ebx]
fst qword [ebp - 0x20]
mov ecx, 0xe88984ed
dec ebp
jne 0x58c54f
pop esi
mov esp, eax
add byte [ecx], al
inc esp
imul edi, edx, 0x15
stosb byte es:[edi], al
jo 0x58c54e
in eax, 0xb
jb 0x58c5ef
mov dh, 0xa1
dec ecx
or byte [ebp + 0x65], 0x28
dec eax
insd dword es:[edi], dx
or eax, dword cs:[esi]
aaa
int 0xdb
sahf
dec ebp
pop eax
pop edi
and byte [edi - 0x69bf57d], bl
push cs
push ds
sar esi, cl
jecxz 0x58c5f6
xor ebp, edi
add byte [esi + edx + 0x34], cl
sub dword [eax + eax*2 - 0x6f464814], 0xffffffba
sbb ah, ch
jo 0x58c5c1
pushal
mov dh, 0xa1
in eax, dx
outsb dx, byte [esi]
jmp 0x298ccbbe
mov edx, 0x539cc17a
bnd jl 0x58c61c
and eax, 0x2feb2c80
sub byte [ebx + ebp*8], 0x2f
mov al, 0x79
test eax, 0x1e62f143
sub eax, 0x781fec25
ror dword [ebp - 0x5e], 0x55
jg 0x58c60b
jp 0x58c5ad
mov al, byte [0xa0c45442]
pushfd
and esi, dword [ecx - 0x80]
add bl, byte [esi - 0x67]
jno 0x58c64f
xor ah, byte [ebx - 0x40]
arpl ax, ax
movsd dword es:[edi], dword [esi]
xor edx, dword [eax]
ljmp 0x9d55
outsb dx, byte [esi]
push edx
sahf
fst dword [ecx]
mov ebp, 0x41f58001
nop
insb byte es:[edi], dx
lea esi, [edx]
popfd
mov esp, 0x33fa06d6
clc
sti
jbe 0x58c6a0
and ah, cl
pushal
fcom dword [0x24777e64]
dec edx
rol byte [edx - 0x3f404ee7], cl
mov al, 0xd2
movsb byte es:[edi], byte [esi]
ret
lea esi, [esi - 0x2d]
lock or byte [eax], dh
or byte [eax], dh
insb byte es:[edi], dx
inc edx
fisttp word [edi]
cmp eax, 0x14592cc
and bl, byte [ebp + 0x2fad5cf2]
sub eax, 0x3ca18273
loopne 0x58c734
jp 0x58c6a4
sbb ecx, dword [0x3f0adc7f]
xor byte [eax], dh
cdq
jae 0x58c6f2
xchg esi, eax
mov al, 0xfd
and ebp, esp
fcomp dword [esi - 0x7b18fee4]
mov cl, 0xac
fistp word [eax - 0x56]
mov dh, 0x64
cmc
xor byte [0x2795a072], bh
sub byte [eax - 0x15], bl
sbb dword [ebx], edx
push eax
pop ecx
push ebp
outsd dx, dword [esi]
xor byte [edx + 0x62], bh
retf 0xfafd
cli
cwde
invalid
and esi, ebx
scasd eax, dword es:[edi]
daa
or eax, 0x69ceda4e
inc edi
push es
cmc
aam 0xad
invalid