Function at 0x585f7b
Capabilities:
Encode data using xor

Disassembly:
xchg ebx, eax
xor ch, dh
enter 0xffffffffffffec58, 0xffffffffffffffc7
mov dh, bh
jp 0x585f8b
and dword [esi - 8], 0x4b
dec edx
inc esp
cmp eax, edi
jne 0x585f7c
bnd jb 0x585fa9
sbb al, 0x88
in eax, 0xc1
imul dh
arpl di, si
nop
mov edx, 0x8a33eb73
mov word [eax + 0x61], cs
scasd eax, dword es:[edi]
aaa
cwde
push ebp
push ds
inc edx
mov byte [0x8356ffba], al
das
mov edi, 0x12ca0fb6
cmp ebx, edx
xor eax, 0xad1aa615
push 0x7a
mov dword [ebx + ebp], esi
mov dword [ecx - 0x24c565fe], esi
jne 0x585f71
retf 0x3b12
cmpsb byte [esi], byte es:[edi]
sbb ch, byte [ebp + 0x34897a6a]
sub ecx, dword [ecx + 0x3a9a02b1]
invalid
lcall 0xa880, 0xfb75db3a
invalid
sub byte [eax - 0x65a62d27], 0x88
sbb ecx, dword [ecx + ebp*2 - 0x1e903c25]
mov dword [0x5403ff6c], eax
lcall 0xc3db, 0x698c1b88
outsd dx, dword [esi]
loope 0x585f28
mov byte [ebx], bl
mov word [ecx - 0x25], gs
ret
insb byte es:[edi], dx
inc dword [ebx]
push esp
mov eax, 0xc7ad912e
loop 0x585fea
xchg ecx, eax
lodsd eax, dword [esi]
invalid
mov eax, 0xe6025871
js 0x586000
jno 0x585f89
add dword [edx], ebx
leave
fld st(1)
add eax, eax
sti
fstp dword [ebp - 0x16]
dec eax
ljmp 0xbd00
xlatb
inc esi
add byte [ebp - 0x6755d27c], bh
rcl dword [edx - 6], 0x7b
mov al, 0x77
invalid
cli
jnp 0x585f66
ja 0x585fc7
out 0x61, al
dec ecx
sahf
push cs
xchg edx, eax
mov ecx, 0x6a069d31
stc
mov byte [0xba929bd9], al
mov ch, 0x6e
clc
cmp edx, dword [ebx - 0x69725125]
fistp word [ecx - 0x56b37586]
test al, 0xb8
xchg ebx, eax
wait
xchg edx, eax
mov edx, 0x3bf86eb5
xchg ebx, eax
fld xword [esi - 0x66206973]
jp 0x585f60
dec esp
test eax, 0x9b93b8a8
movsb byte es:[edi], byte [esi]
adc dword [eax + 0x58afd109], ebx
ret
loopne 0x586068
mov byte [0x2b43495], al
xlatb
aas
sti
jecxz 0x585fb3
sbb bh, byte [edi]
jecxz 0x585fdd
cdq
pop ecx
outsb dx, byte [esi]
cmp eax, 0x89e779c8
out 0x89, eax
nop
int 0xb4
invalid
fnstcw word [ebx - 0x59d0a482]
add byte [ebp - 0x6e], al
push ds
das
jp 0x585fcd
stosd dword es:[edi], eax
jnp 0x586096
bound ebx, qword [ebx + 0x79]
pop edx
ljmp 0x92e3
out 0xd9, ax
cmpsb byte [esi], byte es:[edi]
add ch, byte [eax]
cmp eax, 0xbdbe0a3e
xchg byte [esi], bh
or dword [ebp - 0x4560ebff], edx
or dword [ecx - 0x51], eax
dec eax
mov esi, 0x93e86bd
xchg ebp, eax
add dword [edi + ebx*4], edx
lahf
mov edx, 0x48af4109
xor byte [ebx + 0x7c], dh
insd dword es:[edi], dx
pop ebp
jp 0x586057
pop esp
push es
je 0x586060
jne 0x586019
push ss
pop ss
or bh, byte [esi]
sbb ecx, dword [edi - 0x671ee438]
cli
int1
add dword [eax], edx
and al, 0x54
dec edx
mov esi, 0x2c55b789
loopne 0x5860d7
movsb byte es:[edi], byte [esi]
stosd dword es:[edi], eax
call 0x79ec58e2
push ebp
mov al, 0x40
cmp al, 9
shr byte es:[ecx], 1
or dword [esi], esp
shr byte [ecx], 1
call 0xcd02f430
js 0x5860df
aas
daa
mov esi, 0x6b8ec9d9
fld qword [eax + 0x18]
lea edx, [ebx - 0x4e]
xor al, 0x5d
pop ebx
mov ss, word [ecx + ebp - 0x7e]
xchg ebp, eax
sbb byte [edx - 0x766a1947], bl
mov dh, 0x46
out dx, eax
sbb eax, 0x728fca08
cwde
sub byte [ebx + eax*2], bh
iretd
inc ecx
inc esp
add al, 0xfa
loop 0x5860f4
and dword [edi - 0x366f28c8], eax
cmp bh, dl
nop
leave
les esi, [edi]
aaa
fild dword [0xf42b88e5]
push ss
dec ebx
mov eax, 0x31e44aa4
inc ebp
cdq
adc al, 0xb5
je 0x58609f
xchg edx, eax
pop ecx
mov eax, dword [0xc834161f]
mov dword [edi - 0x35234d95], esi
std
salc
xchg dword [ebp - 0xb], edx
push 0xffffffffffffffb1
add byte [ebp - 0x711de22], ch
inc edi
mov ebp, ebx
pop esi
cmp dl, byte [edx + 0x34ae9b12]
sbb esp, dword [edx + 0x5e]
out dx, eax
sub cl, ch
invalid