Function at 0x5d8d05
Capabilities:
Encode data using xor

Disassembly:
cmc
invalid
mov eax, dword [0x3f197248]
salc
push es
pop ebp
wait
sal byte [ebp - 0x73], 0xf5
or dword [edi - 0x90c19c2], ebp
js 0x5d8d65
cmp eax, 0x36e23a1a
and eax, 0x6bd779a
xor eax, 0xc0ec2338
int1
aad 0xff
movsb byte es:[edi], byte [esi]
sub al, 0xe3
cmp al, 0xc3
xchg esp, eax
adc eax, 0xdeccae5c
mov ch, 0xec
and byte [ebp + 0x651f8c31], dh
pop eax
inc eax
outsb dx, byte [esi]
daa
cmpsd dword [esi], dword es:[edi]
rcl byte [esi], 0x9b
je 0x5d8cf2
cmpsd dword [esi], dword es:[edi]
fadd dword [edi]
and eax, 0xca59f4dc
inc esp
je 0x5d8d0d
clc
nop
movsb byte es:[edi], byte [esi]
clc
pop edx
test dword [edx + 0x5474837], 0x33c3d9f
and esp, 0x4dcca2ec
rol cl, cl
in al, 0xec
mov byte [0xc1d24dcc], al
mov dword [ecx - 0x4e], ecx
mov esi, 0xf46ca467
in eax, dx
sbb dword [esi + 0x363690e4], ebp
pop ecx
mov esp, 0x4a741bc1
cmpsb byte [esi], byte es:[edi]
dec esp
lea esp, [esi]
cmc
in al, dx
xor ecx, dword [esi - 0x2e36ddc8]
je 0x5d8d6c
cvttps2pi mm3, qword [edi]
mov edx, 0x8c93526f
inc edx
mov es, word [edi]
loop 0x5d8ddf
xchg esi, eax
mov edi, 0x929cb5ac
lodsb al, byte [esi]
mov ch, 0x9c
xchg edx, eax
xchg ebx, eax
stosb byte es:[edi], al
adc edi, dword [edx*8 + 0x19fa3390]
das
inc esi
fsub st(2), st(0)
mov dword [0xa195cc45], eax
xchg ecx, eax
cwde
mov ch, 0x80
push ebp
int3
int3
adc byte [ebp - 0x34], 0xeb
sub al, 0xa4
inc esi
ljmp 0x7adc
push edi
cmp esi, dword ds:[ecx + 0x30]
cmp esi, dword [ecx + 0x30]
in al, 0xf1
jno 0x5d8e1d
inc edi
cmp byte [edx - 0xf], al
loopne 0x5d8ddd
loope 0x5d8d9e
popfd
test byte [edi - 8], ah
push edi
pop es
cmp al, 0
jne 0x5d8d9d
add byte [ebp - 0x5b], dh
pop esi
pop esp
or byte [edi + 0x73d5f033], bl
cmp dword [edx], 0xffffffac
add byte [ecx + 0x51253228], 0x24
xchg byte [eax], ah
loop 0x5d8e46
imul ebp, dword [eax - 0x7a3aaa26], 0x7c
pop ss
cdq
xor eax, ecx
mov ah, 0x19
jns 0x5d8db8
fmul st(6), st(0)
fstpnce st(5), st(0)
dec ebx
les ecx, [esp - 0x3e406086]
xchg ebp, eax
fdivp st(2)
loope 0x5d8db2
mov ebp, 0xd1b40941
popfd
mov al, 0x89
mov ebp, dword [ebp + 0x4628ed3c]
sbb ebx, dword [0x934a7d68]
cmp eax, 0xec1a4ce8
in al, dx
xlatb
repne movsb byte es:[edi], byte [esi]
and al, 2
loop 0x5d8e22
sub al, 0x27
lahf
pop eax
mov dl, 0x98
jge 0x5d8e8e
out dx, al
mov dword gs:[ebp - 0x54], edi
test byte [edi - 0x6b], ch
sub eax, 0x3b9d6269
pop es
js 0x5d8e80
in al, dx
rol dword [eax + esi*4 + 0xb], 1
shr ch, 0x7d
pop es
jl 0x5d8df5
push es
cmp eax, 0xbc2353bb
add al, 0x44
push edx
daa
pop ecx
cwde
adc al, 0x8b
cmc
dec esp
test dword [edx + 0x45], esi
xchg byte [ebp - 0x54], al
or byte [ecx], cl
inc esi
in eax, dx
loop 0x5d8e33
aad 0xe7
fmul st(2), st(0)
xor al, 0xac
out 0xdc, eax
retf 0xac34
pushal
xchg dword [ebp - 0x20], esp
mov eax, dword [0x405df7c5]
push 0x2e698023
pop eax
test dword [esi - 0x39e5a82c], ebp
cmp ebp, dword [0x72cc4171]
imul esp, dword [edx], 0xffffff8c
stc
insb byte es:[edi], dx
mov ebx, 0x257c802e
test al, 0xd2
push 0xc33e3cf1
cwde
pop ebx
jne 0x5d8eed
js 0x5d8e93
sbb al, 0x1a
mov bl, 0x9a
mov al, 0x68
in al, 1
loop 0x5d8edd
divps xmm0, xmmword [ebp - 0x61]
imul esp, dword [ebp + 0x5f17108c], 0xffffffa2
pop edi
jae 0x5d8f58
jp 0x5d8e6e
invalid
xchg ebp, eax
inc esp
lea edx, [ecx]
push edi
jl 0x5d8ec9
in eax, dx
aas
push edi
pop ebp
lodsb al, byte [esi]
sbb eax, 0xec10790e
push cs
jns 0x5d8f00
in al, dx
invalid
invalid
invalid