Function at 0x60547e
Capabilities:
Encode data using xor

Disassembly:
rcl dword [ebx + 0x2b]
or eax, 0x63cd9e93
push dword [ebx + 0x7caf41e6]
invalid
xor byte [edi - 0x4bf6ba85], dh
jge 0x6054a6
inc ebp
or dword [ebp + edi*2 - 0x4a6bc6af], esi
pop ss
retf
mov ah, 0x7d
push ecx
cmp dword [ebp + esi*4 - 0x3af34e9], edx
jae 0x60544d
push ebx
aaa
inc edx
sub eax, 0x4e5ccce7
scasd eax, dword es:[edi]
ja 0x60546e
mov edx, 0xf9cf7d81
ljmp 0xb103:0xb342841c
loope 0x6054b6
mov ah, 0x75
xchg edi, eax
stc
and eax, 0xf4e940d
jl 0x60542a
jecxz 0x6054e8
jl 0x6054c0
pop ebp
xor eax, 0xe1bdb19d
sub dword [0xffec8183], edi
invalid
in al, dx
invalid
loopne 0x605499
leave
test dword [ebx], edi
or byte [eax + 1], dh
invalid
jecxz 0x605450
mov ecx, ebp
xchg ecx, eax
leave
mov dword [0xcf1eb29a], eax
cmp ah, dl
push ds
cmp al, 0x52
sbb al, 7
pop edx
iretd
jb 0x605452
push edx
dec esi
pop ebp
mov bh, 0xcf
jle 0x60550e
cmpsd dword [esi], dword es:[edi]
ror dword [edi], cl
lds esp, [edi - 0x6a0466c8]
loope 0x605559
cmc
rol dword [ecx + 0x20c290ed], 1
in eax, dx
imul ebx, dword [0x781337c1], 0x5bb4e0dd
sal dword [edi], 0x13
js 0x6054ca
loopne 0x6054a3
pop ebx
sti
pop ecx
outsd dx, dword [esi]
in al, 0x89
out dx, eax
mov eax, 0xd1ed9cc4
cdq
je 0x6054ca
pushal
loope 0x60552a
pop ds
aad 0xb8
sbb cl, byte [edi + 0x7d]
stosb byte es:[edi], al
imul ecx, dword [ecx + 0x15], 0x65b103e7
mov cl, 0x65
and ch, cl
shr dword [eax], 1
inc eax
inc ebp
scasd eax, dword es:[edi]
mov dword [0xbcfadca], eax
lodsd eax, dword [esi]
and dword [ebp + ebx*8 + 0x40d16d81], esi
mov bh, dl
insd dword es:[edi], dx
rol dword [eax - 0x76], 1
cli
mov edx, dword [ebx + eax*2]
push eax
mov edi, 0x1cd2013
sbb esp, esi
movsb byte es:[edi], byte [esi]
lodsd eax, dword ss:[esi]
and dword [0xd28f89f5], ebp
add bl, 0x3f
mov ds, word [eax - 0x429ce37d]
out dx, al
ror byte [0x52c7ebe1], 1
inc ebp
dec edx
and dl, cl
loop 0x605521
test al, cl
jmp 0x6055af
mov ebp, 0x35bf8bf1
loope 0x60553d
rol dword [ebx - 0x3cc05de9], 1
retf
cmp esi, dword [ebp + 0x251fca7b]
dec ecx
or eax, 0x48707e27
push ss
pop ss
in eax, dx
fist dword [edi - 0x42df7b99]
or dword [ecx - 0x7efffd4d], 0xd8fca2e1
mov ebp, 0x2b38981
add byte [ecx - 0x27035d1f], al
clc
cwde
fist word ss:[ecx]
push cs
pop eax
and eax, 0x2e12e11
loope 0x6055ac
jae 0x60562a
sub eax, ebx
sar dword [eax - 0x3c19876d], 1
mov eax, 0xc3e67893
mov dl, 0xec
stc
mov word [edx + 0xb], ds
mov ch, 0x49
loope 0x6055a8
add dword [ebx - 0x84394ef], 0xffffff91
or al, 0x70
sbb dl, dl
xor edx, dword [edx]
jns 0x605592
xchg edx, eax
nop
jg 0x60557e
cmp dword [eax + 0x211d82c], esp
sub eax, dword [edx]
popfd
ja 0x6055e2
mov eax, esp
mov ch, 0xb2
call 0xa7efb5e2
mov edi, dword [esi + 0x58]
add al, byte [ecx]
xchg ebx, eax
pop edi
invalid
inc esp
add ch, bh
mov bl, 0xb4
lodsd eax, dword [esi]
int3
add byte [esi - 0x22], cl
sbb dword [edx], ebp
pop esi
mov byte [0x99b0d349], al
add cl, ah
scasd eax, dword es:[edi]
test byte [ecx + 0x28], dl
std
mov ebx, 0x5e5df54
out 0xe1, eax
pop esi
xchg edi, eax
sub esp, dword [edi + ecx*4]
out 0x7c, eax
add ch, byte [0x5c647b7a]
loop 0x6055eb
or eax, 0xc9fee18e
lcall 0xbe4b, 0x9c361057
dec edi
imul byte [ebp - 0x5e067ae8]
cmp ah, byte [ebx + eax*8]
cmpsd dword [esi], dword es:[edi]
int1
inc esp
and esi, edi
hlt