Function at 0x5bfabf
Capabilities:
Encode data using xor

Disassembly:
pop esi
push ebx
pop esp
inc edi
and eax, 0xa4aa6a6a
in eax, dx
jl 0x5bfaea
xchg ebp, eax
or byte [edx], dh
xor dl, byte [ecx - 0xa]
xlatb
mov ebx, 0xd452f333
mov al, byte [0x4b7c9586]
sbb esp, dword [esi + 0x1c4a4f2]
xor esi, ebx
push edx
aam 0xa0
xchg byte [ebp - 0x59e4b484], dl
repne movsb byte es:[edi], byte [esi]
les eax, [ecx]
mov byte [0x79f104f6], al
pop es
jnp 0x5bfad3
out 0x52, eax
push edx
mov ebx, 0xb0cd0d32
loopne 0x5bfb34
mov esi, 0x672bf3e3
push esp
xchg ebx, eax
mov ebp, 0x8fa2de92
mov cl, 0x2f
push ebx
or al, 0x33
insb byte es:[edi], dx
xor edx, esi
sub ah, byte [edi + 0x76]
sahf
pushal
jbe 0x5bfad6
push 0x4b
cmp bh, al
fisub word [esi + 0x24]
xchg byte [edi], dh
popfd
jl 0x5bfb96
stosb byte es:[edi], al
and edx, 0xffffff8b
jbe 0x5bfaec
lds ecx, [ebx - 7]
xor ebp, dword [esp + eax + 0x3fe1b504]
xor dword fs:[edx], 0x23
xlatb
dec esp
xor ebx, dword [esp]
cmc
and al, 0xf5
clc
iretd
mov dh, 0xb7
ret
cmp bl, byte [ebx + 0x4f799f61]
pop dword [esi + 0x6521f516]
mov ebx, 0x440bd7c5
mov ch, 0x72
mov ch, 0x22
or eax, 0x55aee520
stosb byte es:[edi], al
pop esi
push ebx
loope 0x5bfb8f
pop ebx
xchg ebp, eax
and byte [esi], dl
daa
or eax, 0x11bcd909
adc ebx, dword [edi - 0x2f]
ror esi, cl
xchg esi, eax
shr bh, 1
out dx, eax
enter 0xffffffffffffbeab, 0x3f
popal
jne 0x5bfb9a
mov esi, 0xff75613f
inc dword [edi - 0x3a627420]
sbb esi, esi
insb byte es:[edi], dx
xchg eax, esp
mov ebx, dword [ebp + 0x6cf619c5]
mov ebp, 0x912876be
add dword [esi], ebx
xor ah, al
xchg esp, eax
loopne 0x5bfb41
push cs
jo 0x5bfc04
xchg esp, eax
sub ebx, ecx
out dx, al
xchg esp, eax
cmc
mov dword [0x92c27431], eax
and al, 0x75
movsd dword es:[edi], dword [esi]
dec eax
jne 0x5bfb93
cmp edi, dword [eax + 0x2636ab1a]
out 0x2e, al
popal
stosd dword es:[edi], eax
push ecx
je 0x5bfb61
adc eax, eax
in al, 0xec
fstp qword [esi]
test dword [ebp - 0x3d5719b1], edi
stosd dword es:[edi], eax
cmpsb byte [esi], byte es:[edi]
mov bl, 0xce
dec esp
fldenv [0xb3374aa1]
in al, 0x52
sbb ch, dl
inc edi
push esp
aam 0x23
ja 0x5bfc2b
out dx, eax
pop ss
rcl dword [ebx], cl
nop
aam 0x4e
mov dword [0x83579094], eax
mov byte [0x772bd1f3], al
inc edi
xchg byte [ebx], bl
sbb al, 0xa
adc dword [esi - 0x4ddf168e], esp
adc eax, dword [ebp + ecx*2 + 0x3dc6ef98]
dec ebx
inc ecx
push ebp
cmp byte [esi - 0x4a83d59e], 0x18
dec ebp
pop ss
mov ch, 0xfe
jg 0x5bfc8e
cwde
jbe 0x5bfbab
out dx, al
pop esp
inc edx
inc edx
inc esp
xor edx, eax
sub eax, 0x5098d19b
pushfd
inc ebx
ror byte [ebx - 0x32], cl
test dword [edi + 0x3e5d0122], ebp
sub al, 0x72
in al, 0xa1
or al, 0x6f
mov dh, 0x70
xor dword [ebx + 0x6c], eax
cmc
and byte [ecx], ah
xor al, 0x58
add al, ah
aad 0xd3
stosb byte es:[edi], al
cmp dword [ecx + 0x6afc94fb], esi
pop edi
insd dword es:[edi], dx
and esi, dword [esi + 0x6d]
popfd
inc edx
cmp dword [eax + esi*8], 0xffffff92
jge 0x5bfc08
pushal
stc
mov al, byte [0x3b032566]
jg 0x5bfcb6
jmp 0x5bfc9c
pop eax
popfd
push ds
adc dl, 0x1a
movsd dword es:[edi], dword [esi]
cmp al, 0x41
or ecx, dword [edi]
adc esi, edi
push ebp
adc byte [ebx + 0x32], al
aam 9
xchg ecx, eax
add esi, esi
sub cl, byte [esi]
mov ebp, ecx
outsd dx, dword [esi]
lahf
test eax, 0x3e45a461
popal
movsb byte es:[edi], byte [esi]
inc ebp
shl byte ds:[esi - 0x394af49c], cl
shl byte [esi - 0x394af49c], cl
ret 0xeaa1
sbb ebx, dword [edi]
aaa
mov eax, 0x43de75af
mov ah, 0xa8
mov eax, dword [0x1735b252]
dec edi
aad 0xc5
aam 0x36
adc edx, dword [ecx]
sub eax, 0x566c6ee
mov ecx, 0x182cc4de
add edx, ebx
in eax, 0x84
lodsd eax, dword gs:[esi]
xchg sp, ax
and dword [edx + 0x53], 0xfffffff1
jecxz 0x5bfc7b
jne 0x5bfc98
dec ebx
insb byte es:[edi], dx
bound edi, qword [eax]
cld
pop ebp
aad 0x38
mov esi, 0x3ac170f7
or dl, ch
dec ebp
mov ebp, 0xfd96b363
mov dl, 0x43
daa
in eax, dx
add ah, byte [ebx + ebx*4 + 0x28]
mov ah, 0x56
outsb dx, byte [esi]
mov ch, 0xd5
xchg ebp, eax
int 0xf6
in eax, 0xdb
or byte [esi], dh
ret 0xf4d1