Function at 0x5c8e4d
Capabilities:
Encode data using xor

Disassembly:
mov word [ebx - 0x77fd4bfe], ss
invalid
in al, 0x5d
adc eax, 0x148f2df3
mov ebp, 0xe2808720
push ecx
scasb al, byte es:[edi]
jne 0x5c8df0
xlatb
insd dword es:[edi], dx
invalid
add byte [ecx - 0x6b], ah
out dx, al
lodsb al, byte [esi]
popfd
add dword [ecx], ecx
movsd dword es:[edi], dword [esi]
add ecx, dword [ecx - 0x28017af6]
aam 0xf5
in eax, 0x15
movsb byte es:[edi], byte [esi]
mov al, 0xc8
jbe 0x5c8d8a
je 0x5c8e23
or al, 0xe8
add eax, 0x106377e
aad 0x44
xor ebx, dword [edx - 0x34]
jns 0x5c8d91
shr byte [edx - 0x48fd5d2f], 1
stc
xchg ecx, eax
jmp 0x18a2213a
push esp
sbb eax, 0x4ccb47f1
xchg edx, esp
fild word [esi]
cmpsb byte [esi], byte es:[edi]
stc
adc cl, bh
push ecx
mov dword [0x54bd14d0], esp
test dword [0x2fe5abbc], ecx
cmp eax, 0x5802508e
invalid
jle 0x5c8ec0
dec edi
fimul word [esi + ebx*8]
cmc
aam 0xe0
lodsb al, byte [esi]
pop ss
pop ecx
loope 0x5c8ddf
movsb byte es:[edi], byte [esi]
in eax, dx
fsubr dword [esi - 0x60adf1ef]
push cs
push edx
lahf
lds edi, [ebp + 0xc]
out 0x54, al
xchg ebx, eax
xor cl, byte [ecx + edx*2]
fsubrp st(3)
cmpsb byte [esi], byte es:[edi]
adc edx, dword [0x5fbf52c9]
push ebx
daa
and edi, dword [esi + edx*4]
lahf
pushfd
popfd
popal
fst qword [edi - 0x6bd6885a]
imul esi, dword [esi - 0x4e], 4
jae 0x5c8e60
cmp dword [edi - 0x33fbf653], esi
pop ebp
dec ebp
in eax, dx
cmc
call 0x98318d42
in eax, 0x70
pop esp
lodsd eax, dword [esi]
sub dword [ecx + 0x35], edx
aam 0xca
rcr dword [edx + 0x39f0f074], 0xbd
into
lea esi, [ebx]
cmp dword [eax + ecx*2 - 0x342b17d3], esi
mov cl, 0xe3
ljmp 0x7557
add bh, byte [ebp + 0x31893c51]
xor ah, byte [ebp + eax - 0x2d]
push ebx
test dword [ebx + 0x7a], esi
cmp byte [esi], al
mov dl, 0x34
pop es
push edi
pop ebp
out dx, al
lds esi, [0xeed1b5bf]
cwde
mov eax, 0x2ceb1569
xchg cl, bl
jmp 0x5c8f23
pop eax
inc esp
fadd qword [edi]
push cs
in eax, dx
mov al, 0x10
fmul dword [ebp + 0x30]
jo 0x5c8f39
xor eax, 0x4d266bbd
dec ebp
dec ebp
xchg ch, dl
and dl, al
cmp dword [eax - 0x425e2d1c], esp
arpl ax, bp
and dword [esi - 0x1be64081], eax
mov eax, dword [0x2377e2b2]
mov eax, 0x6588d059
loop 0x5c8fb2
and edi, dword [eax + 0x6588d059]
dec ebp
and eax, 0xb30cd3c1
jb 0x5c8f12
aad 0x81
add esi, dword [ebp + 0x69bd6fe1]
test al, 1
and byte [edi - 0x15], ah
loope 0x5c8ee2
les ecx, [ebx - 0x49ec4ab6]
loope 0x5c8fa9
mov dl, 2
out dx, al
pop edi
jne 0x5c8fc7
adc eax, 0x2b56919b
add bl, dh
in eax, dx
ret 0x66bd
cwde
jge 0x5c9018
cmc
jl 0x5c8fb5
iretd
push ebx
insd dword es:[edi], dx
dec ebp
imul edx, dword [eax - 0x3caa9705], 0xbd0fac03
and eax, 0xc3d01da9
sti
push 0xac03c355
bsr esp, dword [0xc3d01da9]
popfd
test byte [edi], bh
in al, dx
les esp, [ebp + 0x2293ea0f]
dec esp
sahf
mov esp, 0x3090cd89
push ebp
xchg esp, eax
test byte [edx - 0x5908a287], bl
add al, 0x68
push 0xc842808e
invalid
jl 0x5c8fb7
out dx, al
in al, 0x96
cwde
or dword [edi*2 + 0x2594edde], eax
pop ss
movsb byte es:[edi], byte [esi]
or cl, al
and eax, 0xc80aa417
and ebp, dword [edx + 0x4d7e3d11]
dec esi
cmp esi, dword [ebp + 0x3c]
jecxz 0x5c907e
and esp, ecx
jns 0x5c9029
js 0x5c900c
mov ch, 0xfe
add dword [edx + ebp*8 - 0x3160153e], ebp
cmp eax, 0xf5a79dbd
and al, 0x89
pop esp
rol dword [esi - 0x5f], cl
sbb ch, byte [ebx - 0x6be5af87]
adc dword [ebp + 0x75754339], eax
pushfd
add eax, 0xaedc6590
sar dword [edi], 0x9b
cmp edi, eax
insb byte es:[edi], dx
inc esi
and eax, 0xd746f7a9
cmp eax, ebp
jp 0x5c9093
bound ebp, qword [edx - 0x78be6e08]
aas
and bl, byte [edx - 0x47]
ljmp 0xff76
mov ecx, 0x58c986ea
int 0x76
push dword [edi - 0x69]
nop
das
xlatb
iretd
test al, 0x37
jno 0x5c906c
sub dword [esi - 0x6f], esp
push esi
leave
sbb al, 0x2c
dec ebp
xor eax, 0xa42dc5c3
mov ecx, 0xed44ccb5
inc esp
in eax, dx
jecxz 0x5c9103
mov bl, 0x5c
cmp esi, dword [eax + 0x3bc2c9c]
aam 0x58
mov byte [eax - 0x6a], ch
jge 0x5c906f
sal byte [edi - 0xa9face3], 0x75
mov ch, 0xfd
cmp eax, 0x5fef01cf
inc ebp
and byte [ecx], bh
int3
push ebp
invalid