Function at 0xff4dc8
Capabilities:
Encode data using xor

Disassembly:
stosb byte es:[edi], al
or byte [ebx + 0xa], dl
lodsb al, byte [esi]
cmp al, 0x1f
mov eax, 0x1734ea90
xchg ecx, eax
pop ds
add byte [eax], al
jmp 0xff4dd2
pushal
call 0xff4dd8
pop ebp
sub ebp, 0x10
sub ebp, 0xbf4dc8
jmp 0xff4dee
mov eax, 0xbf4dc8
add eax, ebp
dec ebp
mov edi, 0x81c50300
add eax, 0x4c
ror byte [eax + eax], 0
mov ecx, 0x5b9
mov edx, 0x338df172
xor byte [eax], dl
inc eax
dec ecx
jne 0xff4e05
jmp 0xff4e18
stc
mov edi, 0x724efbf9
jb 0xff4e92
mov bl, 0x8a
jb 0xff4e97
jb 0xff4e98
mov edi, 0x727276ca
jb 0xff4df6
pop edx
jb 0xff4ea3
jb 0xff4db8
nop
jno 0xff4df0
stc
jle 0xff4eac
jb 0xff4eae
jno 0xff4df5
call dword [esi]
push esi
invalid
jbe 0xff4ea2
sbb ah, byte [esi + 0x1a7253de]
adc dl, 0xef
jb 0xff4eca
ficom word [ebx + 0x72]
sbb al, byte [eax + 0x7372efd2]
pop esi
push esi
sbb bl, byte [0x9a6de365]
ja 0xff4ed3
jb 0xff4ed5
wait
inc esi
jb 0xff4ed9
jb 0xff4e68
call dword [esi]
push ss
push esi
invalid
stc
pop esi
push esi
call dword [esi]
push esi
jbe 0xff4e4a
jle 0xff4f0e
stc
invalid
jb 0xff4ebe
sbb ah, byte [esi + 0x1a7253de]
adc dl, 0xef
cmpsb byte [esi], byte es:[edi]
ficom word [ebx + 0x72]
sbb al, byte [eax + 0x7372efd2]
jb 0xff4f21
pop esi
push esi
and ebx, dword [edx + 0x72727277]
wait
inc edi
jo 0xff4f2c
jb 0xff4ee3
call [esi]
push esi
jb 0xff4e4e
pop es
jle 0xff4e51
pop es
jp 0xff4e61
adc al, 0x72
jb 0xff4f3d
jb 0xff4ec5
stc
iretd
inc ecx
mov ebx, 0x9af1a041
ja 0xff4f13
inc ecx
mov al, byte [0x3a779af1]
int1
lcall 0x723c, 0xf67d3a77
jge 0xff4ed1
cmp al, 0x72
jb 0xff4f51
jge 0xff4edb
cmp dh, byte [edx + 0x72]
jb 0xff4efa
jb 0xff4f57
adc al, 0xf9
stc
outsb dx, byte [esi]
dec ebx
mov dword [edx + 0x7268f67d], ebx
jb 0xff4f64
mov dword [ebx + 0x7263f67d], ebx
jb 0xff4f6d
arpl word [edx + 0x72], si
jb 0xff4f10
adc al, 0xf3
mov dword [ebp + 0x67f67d57], ecx
mov dword [ebp + 0x67f67d57], ecx
jb 0xff4f77
jb 0xff4f77
jb 0xff4f3a
wait
mov esi, 0x5b8d8d8d
dec ebx
dec ebx
jae 0xff4f02
int1
mov bl, 0x77
int1
lcall 0x8d8d, 0x8dcf9b76
pop ebx
dec ebx
iretd
lea ebx, [ebx + 0x26]
dec ebx
jo 0xff4f11
mov bl, 0x74
int1
je 0xff4f14
cwde
jbe 0xff4f17
lcall 0x8d8d, 0x8dd99b77
das
lea ebp, [edi]
mov al, 0x7e
jb 0xff4f59
stc
sahf
and al, 0x25
daa
stc
pop es
jle 0xff4f34
stc
invalid
mov es, eax
clc
sal dl, 0xf8
je 0xff4f36
mov ah, 0x73
jb 0xff4fb9
jb 0xff4f43
jne 0xff4f3e
mov ch, 0x73
jb 0xff4fc1
jb 0xff4f1a
leave
jo 0xff4fc5
jb 0xff4fc7
jo 0xff4ef7
jge 0xff4f50
ja 0xff4fcd
jb 0xff4fcf
clc
xor al, 0x60
xor al, 0x60
mov al, byte [0x8daaf17d]
lea ecx, [ebp - 0x8825f90]
ja 0xff4fe0
stosb byte es:[edi], al
lea ecx, [ebp + 0x7da0708d]
div dword [edi + 0x72]
mov al, byte [0x7277f77d]
jb 0xff4fe1
jb 0xff4fe2
jb 0xff4f69
clc
xor al, 0x60
mov al, byte [0x7218f17d]
jb 0xff4fed
sbb byte [edx + 0x72], dh
jb 0xff4fbd
inc ecx
mov dl, 0x70
mov al, byte [0x7277f77d]
jb 0xff4ff7
clc
xor al, 0x60
mov al, byte [0x7358f17d]
jb 0xff5002
int1
pop eax
jae 0xff5001
jb 0xff5001
jo 0xff4f32
mov al, byte [0x7277f77d]
jge 0xff4f8b
ja 0xff5008
jb 0xff500a
clc
xor al, 0x60
xor al, 0x60
mov al, byte [0xa070b261]
jge 0xff4f9a
ja 0xff5017
jb 0xff5019
clc
xor al, 0x60
xor al, 0x60
mov al, byte [0xa070b261]
jge 0xff4fa9
ja 0xff5026
jb 0xff5028
clc
xor al, 0x60
xor al, 0x60
pushal
mov al, byte [0xa070b261]
jo 0xff4f5f
mov al, byte [0x7277f77d]
jge 0xff4fb8
div dword [edi + 0x72]
ja 0xff5035
jb 0xff5037
jb 0xff4fbe
clc
xor al, 0x60
xor al, 0x60
mov al, byte [0xf67db261]
jge 0xff4fc4
div byte [edx + esi*2 + 0x72]
je 0xff5042
jb 0xff5043
jb 0xff5044
jb 0xff4fcc
stc
lodsd eax, dword [esi]
pop ecx
stosb byte es:[edi], al
clc
jno 0xff4fd3
jne 0xff5010
leave
jo 0xff5050
jb 0xff5052
wait
add cl, byte [ebp + 0x73ca8d8d]
jb 0xff505b
lea ecx, [ebp + 0x7273ca8d]
jb 0xff505c
retf 0x7273
jb 0xff505b
jo 0xff4f8c
mov al, byte [0x7277f77d]
jge 0xff4fe5
div dword [edi + 0x72]
ja 0xff5062
jb 0xff5064
clc
xor al, 0x60
xor al, 0x60
mov al, byte [0xa070b261]
jge 0xff4ff4
popal
mov dl, 0x70
mov al, byte [0x7277f77d]
ja 0xff5071
jb 0xff5073
clc
xor al, 0x60
mov al, byte [0x8dacf07d]
lodsb al, byte [esi]
lea ecx, [ebp - 0x364ea673]
lea ecx, [ebp + 0x73c9b159]
pop ecx
mov cl, 0xc9
jae 0xff5083
jb 0xff5084
jb 0xff5085
jb 0xff5091
jge 0xff500c
test dword [esi + 0x72], 0x73cb7272
jb 0xff508f
inc esi
jb 0xff508a
jb 0xff508b
jb 0xff4fe5
retf
jae 0xff508e
jb 0xff5090
jb 0xff508f
jo 0xff4fc0
mov al, byte [0x7277f77d]
jge 0xff5019
ja 0xff5096
jb 0xff5098
clc
xor al, 0x60
xor al, 0x60
mov al, byte [0xa070bb61]
jge 0xff5028
ja 0xff50a5
jb 0xff50a7
clc
xor al, 0x60
xor al, 0x60
mov al, byte [0x8dacf07d]
lea ecx, [ebp + 0x5985f924]
test dword [ecx - 0x79], ebx
adc esi, 0x8d7a9b2c
lea ecx, [ebp + 0x7a92b33a]
clc
pop ecx
xchg dword [ecx + 0x7a9b2cd6], eax
lea ecx, [ebp - 0x6d4cc573]
jp 0xff504a
je 0xff5088
stc
lcall 0x7072, 0x727273cb
retf
jo 0xff4ffd
mov al, byte [0x7277f77d]
jge 0xff5056
ja 0xff50d3
jb 0xff50d5
jb 0xff505c
clc
xor al, 0x60
xor al, 0x60
mov al, byte [0xa070bb61]
jge 0xff5065
mov al, byte [0x7277f77d]
ja 0xff50e2
jb 0xff50e4
jb 0xff506b
clc
xor al, 0x60
mov al, byte [0x8dacf07d]
lea ecx, [ebp + 0xf728af3]
jb 0xff50f5
rep stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea ecx, [ebp - 0x750c7273]
invalid
mov dh, byte [edx + 0x77]
jb 0xff5104
jb 0xff5101
jb 0xff5083
rep stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea ecx, [ebp - 0x750c7273]
bnd jb 0xff510c
mov dh, dl
jb 0xff510c
jb 0xff508f
mov dword [0x72727272], eax
mov dword [0x72727272], eax
mov dh, dl
jb 0xff5118
jb 0xff5119
jb 0xff509b
mov dword [0x72727272], eax
mov dword [0x72727272], eax
and al, 0xf9
test dword [ecx - 0x7e], ebx
adc esi, 0x8ce99b2c
lea ecx, [ebp + 0x413474f8]
mov ebx, 0x7d739ab2
imul byte [eax + 0x72]
jb 0xff513a
invalid
mov dword [0x72727270], eax
stc
lcall 0x8182, 0x5985f924
pop ecx
add byte [ecx + 0x73c92cd6], 0x72
adc esi, 0x7273c92c
salc
sub al, 0xc9
jae 0xff514d
jb 0xff514f
wait
add dword [ebp + ecx*4 + 0xf592f8d], ecx
jp 0xff50e0
lea ecx, [ebp + 0x7a0f592f]
stc
das
pop ecx
invalid
mov ch, 0x2d
sub al, 0xf9
xchg edi, eax
das
mov al, 0x7a
jb 0xff511e
sub al, 0x9b
jbe 0xff5167
jb 0xff5169
call dword [edi - 0x45358df1]
aas
int 0x72
jno 0xff50b9
mov bh, 0xf3
mov dl, 0x2b
mov dl, 0x2b
sub esi, dword [ecx + 0x72]
jno 0xff5179
jb 0xff50d4
fidiv word [eax + 0x72]
jb 0xff50d6
xchg ecx, eax
insb byte es:[edi], dx
dec edx
wait
inc edx
bound esi, qword [edx]
cmp edi, dword [ebp - 9]
jge 0xff510f
test byte [ebp + 0x769b8d8d], cl
lea ecx, [ebp + 0x72769b8d]
jb 0xff5193
jb 0xff5192
jb 0xff5179
push edi
and dl, bl
sbb byte [esi], dl
outsd dx, dword [esi]
sbb ch, bh
lodsd eax, dword [esi]
sbb ch, byte [0x919131a6]
xchg ecx, eax
xchg edx, eax
outsd dx, dword [esi]
invalid
sbb ah, cl
lodsd eax, dword [esi]
pop es
sbb dl, byte [0x9191a5a1]
xchg ecx, eax
mov edx, 0x1a6b1649
jmp 0xff50d9
adc byte [ebx - 0x6f], ch
xchg ecx, eax
xchg ecx, eax
xchg ecx, eax
xchg ecx, eax
sahf
adc eax, 0x919191d7
xchg edx, eax
inc edi
adc byte [esi - 0x67], dl
xchg ecx, eax
xchg ecx, eax
xchg ecx, eax
adc byte [eax - 0x67], bh
xchg ecx, eax
xchg ecx, eax
xchg ecx, eax
adc byte [eax - 0x6f], ch
xchg ecx, eax
xchg ecx, eax
xchg ecx, eax
xchg ecx, eax
sahf
adc eax, 0x6e6e6e41
neg dword [edx]
xchg esi, eax
push eax
jns 0xff5116
adc dh, byte [ecx - 0x62]
adc byte [ecx - 0x6e], ch
xchg ecx, eax
xchg ecx, eax
xchg ecx, eax
sahf
adc al, 0x9c
xchg ecx, eax
xchg ecx, eax
xchg ecx, eax
neg dword [edx]
xchg esi, eax
adc byte [ecx + 0x6e], dh
sahf
xchg ecx, eax
xchg ecx, eax
xchg edx, eax
push ebx
nop
mov eax, ebx
fcom dword [edx]
push esi
xchg ebx, eax
js 0xff51f5
outsb dx, byte [esi]
outsb dx, byte [esi]
outsb dx, byte [esi]
js 0xff5136
xchg ecx, eax
xchg ecx, eax
xchg ecx, eax
retf
pop ebp
xchg ah, ch
sbb esi, esp
in al, 0x79
clc
cmp dword [ecx + 0x79], 0xfc767979
imul edi, dword [ecx + 0x79], 0x79
bnd jne 0xff5286
mov edi, 0x855d1df4
invalid
out 0xe4, al
jns 0xff52ad
invalid
xchg byte [ecx + edi*2 + 0x79], cl
jns 0xff532c
adc dword [edi + 0x2c79c62a], esi
hlt
or edx, dword [edi + 0x1a]
push ss
adc al, 0x56
je 0xff53a7
cmp al, 0x54
adc al, 0x18
adc byte [0xa594359], dl
or al, 9
or dword [esi], edx
or ecx, dword [0x10171c39]
push ds
adc al, 0x18
or dword [ebx], ecx
push ss
or eax, 0x160d1a1c
or edx, dword [edi + 0x1a]
push ss
adc al, 0x74
jae 0xff5388
adc dword [eax], edx
or bl, byte [ecx + 9]
or edx, dword [esi]
push ds
or ebx, dword [eax]
adc al, 0x59
adc byte [edx], cl
pop ecx
or dword [ebx], ecx
push ss
or eax, 0x1c0d1a1c
sbb eax, 0xd100e59
adc dword [ecx + 0x2b], ebx
cmp al, 0x3e
xor byte [edx], ch
sub eax, 0x3d3c2b3c
pop ecx
das
cmp al, 0x2b
sub dh, byte [eax]
aaa
xor byte [esi], dh
aaa
pop ecx
push ss
pop ds
pop ecx
sub eax, 0x3c591c11
pop ss
adc byte [esi], bl
adc al, 0x18
pop ecx
sub dword [ebx], ecx
push ss
or eax, 0x1c0d1a1c
sbb eax, 0x15387374
adc eax, 0x1e100b59
adc dword [0x1c0b590a], ecx
or bl, byte [ebx + ecx]
invalid