Function at 0x5d0e23
Capabilities:
Encode data using xor

Disassembly:
hlt
push ecx
invalid
mov byte [0x53a10314], al
or eax, 0xc93ee939
xor dword [0x25616bf5], edx
rcl dl, 0xcc
adc eax, 0xa52c3bd0
fistp word [ebp + 0x71914533]
push eax
mov bh, 0xb0
out dx, al
rcr dword [ebx + 0x541ffcaf], 1
pop ds
loopne 0x5d0e6c
or edi, dword [esi]
mov bl, 0xe1
aad 3
pop eax
adc al, byte [edi - 0x40]
insb byte es:[edi], dx
inc esp
jb 0x5d0eb4
inc eax
test dword [esi], edi
mov dh, 0x45
pop esp
stc
xor al, 0x4a
mov ah, 0xae
loop 0x5d0e15
mov esp, 0x47846fd0
shr byte [edi - 0x7c], 1
inc edi
xor eax, 0x656447a6
push es
push cs
dec eax
xchg dword [edx + ebp*2 + 0x455c55dc], esp
push 0xffffffffffffffdc
push ebp
pop esp
inc ebp
xchg esi, eax
jo 0x5d0e0d
inc ebp
jle 0x5d0ecb
mov edi, 0xf0558d92
mov al, byte [0x5d1fc0cc]
movsd dword es:[edi], dword [esi]
sbb ecx, dword [edi]
sbb al, 3
mov dl, byte [esi]
jne 0x5d0ed7
cmp byte [eax - 0x2a], cl
push 0x18
arpl word [edi + 0x16d9654e], ax
sbb byte [ebx - 0x79], ah
dec esi
fst dword gs:[esi]
xor byte [ebx], 0x53
pop es
loope 0x5d0e9e
fcmovnbe st(0), st(5)
xchg ebp, eax
lds edx, [eax]
add al, 0xa8
xor eax, 0xf507e57f
in eax, 7
cmc
loopne 0x5d0ef1
jbe 0x5d0f12
jo 0x5d0e7a
and byte [esp + ecx*2], 0x5b
int3
loope 0x5d0ea2
invalid
jo 0x5d0f26
sub dword [edx + 0x729bc0dd], edi
push eax
mov al, 0x24
sbb byte [ecx], dl
cld
mov edi, 0xfaf60f5
mov dl, dh
xor eax, 0x3bd1c53d
pushal
jl 0x5d0e98
lcall 0x107d, 0x4542f027
test byte [ebp - 0x54], 0xc7
arpl word [ebp - 0x47], dx
aad 0xbd
mov ah, 0x9f
aaa
jns 0x5d0f75
popal
sub dword [ecx + 0x43], eax
pushfd
leave
rol edx, cl
in al, dx
cmp dword [esi - 0x5108902c], ecx
sub eax, dword [edx]
xor esp, dword [eax + 0x3be58700]
dec edx
std
int 0x8d
test byte [ecx + 0x30], ch
mov word [eax + 0x34d42460], es
xor byte [eax + eax*4 + 0x34d42460], cl
or eax, 0x3595afd9
invalid
test edi, 0xb470d576
test dword [edx + 0x4e9fe0cf], 0xc7c298d4
aad 0xf5
sal dword [edi], 0xbf
ror byte [bx + 0x34], cl
ror byte [edi + 0x34], cl
jne 0x5d0fdc
jo 0x5d0f5f
inc ecx
stosb byte es:[edi], al
xchg edi, eax
fstp xword [edi]
mov dl, 0x2f
inc dword [edx - 0x1aa64077]
lds edx, [eax]
imul ebp, dword [ecx + 0x513a6cfc], 0x2a
dec esp
sbb bl, byte [ebx]
xor byte [edx + ebx*4 + 0x59a70543], cl
push cs
sub dword [edi - 0x65545d53], 0xffffffef
and al, 0x9c
add ebx, ecx
call 0xb3bdfb4f
int 0x26
sub byte [ecx], ch
out 0x49, al
or al, 0xc5
dec ecx
sar byte [edx - 0x1f3a887b], cl
dec esp
insb byte es:[edi], dx
jbe 0x5d0f78
cld
dec esp
stosd dword es:[edi], eax
push eax
test al, 0x1a
pushal
mov bl, 0xbe
invalid
pop edi
and dword [ebx + 0x33504751], edx
mov esp, 0x5a89d694
xlatb
mov eax, dword [0x78dd7067]
adc eax, esp
vxorps xmm0, xmm3, xmmword [edi - 0x1b]
in al, 0xd2
inc ebx
ja 0x5d105a
pop edx
invalid
xchg ecx, eax
test dword [eax + 0x5f40f015], esp
leave
mov byte [edx - 0x6ab4fcc3], bh
inc ebp
loopne 0x5d104b
cld
inc ecx
add al, 0xd0
invalid
outsb dx, byte [esi]
adc eax, 0xb0f8ba1d
and dword gs:[0x451095e0], esi
or dword [edx + ebp*4 + 0x78], esp
insd dword es:[edi], dx
js 0x5d10c9
dec eax
dec ecx
dec esp
pop ecx
movsb byte es:[edi], byte [esi]
lds esi, es:[eax + 0x60a07bc8]
mov bh, ch
adc eax, 0x95c182b5
int 0xc5
xor cl, bh
loopne 0x5d107d
sbb eax, 0x7e74ed15
cmc
insd dword es:[edi], dx
add eax, 0xe54dac5f
stc
pop edi
lodsb al, byte [esi]
dec ebp
in eax, 0xf9
jl 0x5d1019
invalid
jne 0x5d104a
arpl word gs:[edi - 2], cx
push ebp
loopne 0x5d1135
int1
movsd dword es:[edi], dword [esi]
and eax, 0x6f75e090
cmp esp, dword [esp - 0x29]
cld
push 1
xor eax, 0xc307d03
das
push ss
and al, 0
or bh, byte [ebx + 0x264001b1]
push 0x4d4a45f9
rol byte [ecx], cl
xchg byte [ecx + ebp*4 - 0x761711d3], cl
ror dl, 1
xchg edi, eax
rcl byte [edx], 0x36
loop 0x5d10ba
rcl esp, 0xcb
mov word [eax + 0x2f], fs
imul eax, dword [eax + edi*8 + 0x34], 0xffffffe2
xchg ebx, eax
fnstenv [edi + ecx*8 + 0x50]
xchg ebp, eax
mov ecx, esp
pop eax
dec esi
cli
loope 0x5d1119
or ah, al
push edx
invalid
and al, 0xbe
dec ecx
out dx, eax
xchg esp, eax
push eax
mov dh, 0x22
jnp 0x5d10b8
mov byte [0xf5908f90], al
fsub qword [esp + ebx*4]
sbb byte [edx - 0x3b], ah
sal byte [eax + esi*8 + 0x39], 1
das
shl byte [edx - 0x442f92f3], cl
mov byte [0xbbd06d0d], al
mov ecx, 0x447b41e5
invalid