Function at 0x5e8de3
Capabilities:
Encode data using xor

Disassembly:
cld
out dx, al
int1
out 0xa, eax
lodsd eax, dword [esi]
shl byte [eax + 0x6a], 0x39
insb byte es:[edi], dx
xor dword [esi], 0xffffffd7
bnd call 0xb1a67bf3
das
xlatb
mov esp, 0x7ff2d69b
std
wait
salc
bnd jg 0x5e8d42
cmp dword [eax], edx
jne 0x5e8cf0
jle 0x5e8d3f
jg 0x5e8d83
xor byte [ebp + 0x16a27e], 0x71
invalid
xor byte [ebp + 0x7d671e8a], 0xbb
fisubr dword [eax + eax*8 - 0x722124a0]
lodsd eax, dword [esi]
xlatb
sar dword [ecx + 0x187f0376], 1
xlatb
invalid
mov esp, 0x7ff2d6f6
mov ch, 0xb3
wait
add dword [edi + 8], 0xfffffff3
je 0x5e8d40
daa
hlt
push 0x7b
xchg ebp, eax
add dword [edi + 8], 0xfffffff3
jg 0x5e8df3
xlatb
cmp dword [eax + 0x60c0afa8], edi
sub al, 0xd7
bnd jg 0x5e8dfa
insd dword es:[edi], dx
cld
push edi
outsd dx, dword [esi]
out 0xf1, eax
jg 0x5e8d61
sti
bnd jg 0x5e8e0b
mov esp, 0xd72b8abb
bnd jg 0x5e8d8a
cmp dword [esi + 0x75], ebp
or dh, bl
push ds
mov dword [0xc8c37dd9], eax
salc
and esp, dword [ecx + 0x2b]
add al, 0x7f
jge 0x5e8e1c
xlatb
bnd call 0x82e48ce7
call 0x82e48ce7
std
jnp 0x5e8db4
mov ecx, 0x208486e
outsb dx, byte [esi]
dec eax
or byte [edx], al
out dx, eax
sub al, 0xd7
bnd jg 0x5e8e36
jg 0x5e8e85
mov bh, 0xed
or byte [esi - 0x3d], bh
invalid
ret
in eax, dx
or dl, cl
sub al, 0x31
invalid
jg 0x5e8e79
xlatb
mov edx, 0x7d3f8137
lodsb al, byte [esi]
or byte [0xac482852], dl
adc eax, 0xac482852
push edx
sub byte [eax - 0x54], cl
jge 0x5e8e37
loope 0x5e8ebb
xor ah, ch
mov ebx, dword [edi + 0x46]
mov ebx, dword [edi + 0x46]
and dword [edx], ecx
out dx, eax
jbe 0x5e8e4d
jg 0x5e8e89
sub edx, edi
xlatb
invalid
xlatb
jge 0x5e8e37
cdq
scasd eax, dword es:[edi]
shl byte [eax + 0x2b], 4
jl 0x5e8e97
add al, 0x7c
sbb esi, dword [esi]
xlatb
xlatb
invalid
stc
add edi, ebp
inc edx
salc
bnd jg 0x5e8e42
mov bl, 0x84
mov bh, 0xed
or bl, dh
je 0x5e8e45
je 0x5e8e45
adc esi, ebx
jg 0x5e8ecf
js fcn.005e8ece
fnstcw word [ebp + 0x40]
or al, byte [eax - 0x7ff584df]
xlatb
loopne 0x5e8e2a
xor dword [edi + 0x8475107], ecx
cmp bh, byte [eax + 0x6123d6cf]
sub al, 0xd7
bnd jg 0x5e8e92
jg 0x5e8e70
cmp bl, bl
cmp dword [ebx + 0x1e], 0x300a40bc
invalid
mov esp, 0x8e300a40
mov ebx, 0x3736804e
inc ecx
mov cl, 0x2f
xlatb
in eax, 0x8f
ja 0x5e8f3b
cmp ebp, dword [esi + 0x76eefc39]
add edi, dword [edi + 0x2a]
scasb al, byte es:[edi]
cmp esp, edi
out dx, al
jbe 0x5e8edd
jg 0x5e8f06
xlatb
xlatb
out 0xa9, al
cmpsb byte [esi], byte es:[edi]
sub dword [eax], ebp
xor ah, 0xba
out dx, eax
out dx, al
jnp 0x5e8eae
jnp 0x5e8ea4
xor byte [esi], 0xd7
test dword [edx + 0x2a], eax
js 0x5e8f23
jno 0x5e8f1b
jnp 0x5e8efc
xor byte [esi], 0xd7
xlatb
jge 0x5e8f4a
xor eax, 0x36507c04
xlatb
mov edx, 0x4285f2ef
and bh, byte [edx + 0x34]
jo 0x5e8ec0
or dh, bl
jg 0x5e8f4b
dec esp
dec esp
or dword [esi], ebp
out 0x66, eax
out 0x66, eax
stosd dword es:[edi], eax
shl byte [eax + 0x12], 0x7a
xor al, 0x70
scasd eax, dword es:[edi]
jo 0x5e8ed4
push edx
jg 0x5e8f5f
xor byte ss:[ebp - 0x3e95d76], 0x5a
xor byte [ebp - 0x3e95d76], 0x5a
mov edi, 0xa27ff1f3
cmp eax, edi
movsd dword es:[edi], dword [esi]
jne 0x5e8f34
mov byte [0x75a5f839], al
cli
push ds
push ds
mov dword [0x2c5ac9d9], eax
xlatb
bnd jg 0x5e8f56
push esi
arpl word [ebx - 0x7f], dx
inc eax
or bl, byte [eax - 0x37]
pop eax
leave
retf 0x7ff1
invalid
jg 0x5e8f77
jp 0x5e8f97
jo 0x5e8f14
hlt
out 0xd1, eax
or eax, 0xbc282940
mov ah, 0x62
sub edx, edi
bnd jg 0x5e8f28
cmp al, 0x20
hlt
call 0xfce69291
mov ah, bh
and al, byte [eax + 0x3ca472bf]
add al, 0xe9
cmc
or cl, byte [eax - 0x407fe504]
push 0xffffffffffffffa4
cmp al, 0xc
jge 0x5e8f9a
push ds
stc
jg 0x5e8feb
xlatb
cmp ebp, edi
push edx
cmp ch, byte [edi - 0x4b43e4b0]
inc esi
sub edx, edi
bnd jg 0x5e902e
cmp al, 0x24
outsb dx, byte [esi]
sub edx, edi
sbb byte [edi + ebp*4], dl
invalid
movsd dword es:[edi], dword [esi]
jne 0x5e8fec
push ds
mov dword [0x2f867dd9], eax
aaa
pop esp
xor dword [esi], 0xffffffd7
and al, 0xab
jecxz 0x5e9058
nop
in eax, dx
or byte [ebx - 0x6b], bl
pop edx
int1
jg 0x5e9005
add bl, byte [ebx + 0x58]
pop esi
salc
add eax, 0x84f46138
cld
add bl, byte [ebx - 0x79]
popfd
int1
mov ecx, 0x3e7f0376
xlatb
sub al, 0xad
imul ecx, dword [eax], 0x730eb7e9
inc esp
add al, 0x7f
cmp al, 0x2b
xlatb
jg 0x5e906c
sub edx, edi
wait
nop
add eax, 0xc6367ff2
lds eax, [edx + 0x69]
or byte [ebx + 0x57df2ff], bh
push edx
salc
add dword [edi + ebp - 0x52800d29], edi
cmp dword [eax], ebx
mov ebx, 0x186153fe
xlatb
push edi
invalid
xor ch, byte [ebp - 4]
test dh, bl
repne movsb byte es:[edi], byte [esi]
sub dword [eax], ebp
push esp
cmp ebp, 0x7ffbe132
xlatb
pop edx
bound ebx, qword [edi - 0xd]
int1
or eax, 0xa5f839ad
jne 0x5e9098
push ds
mov dword [0x27867dd9], eax
aaa
pop esp
xor dword [esi], 0xffffffd7
and al, 0xab
stosd dword es:[edi], eax
jecxz 0x5e9118
xchg edx, eax
in eax, dx
or byte [edx], bh
cli
salc
bnd jg 0x5e90db
ffreep st(5)
stosd dword es:[edi], eax
xlatb
xlatb
int1
or dword [edx], esp
fbstp tbyte [ecx - 0x62]
xlatb
xchg ebp, edi
jp 0x5e90a9
jmp 0x5e9136
xor dword [edx + edx*2], 0xffffff80
jge 0x5e90ff
jo 0x5e907c
xor esp, esi
jg 0x5e9107
dec esp
xchg dword [0x6a6d8022], ecx
mov ebx, 0xf4bbd4d6
salc
add dword [ecx + ebp + 0xc7ff2d7], edi
mov ebx, 0xbc01d6f4
sub edi, edx
bnd jg 0x5e90f1
lcall 0xdcf1, 0xd7369067
jle 0x5e90c4
dec edx
adc esi, ebx
adc eax, dword [eax + 0x7fc9d736]
cld
xor ch, byte [ebp + 4]
test esp, edi
add dh, dl
or dword [esi], ebp
hlt