Function at 0x805d4c
Capabilities:
Encode data using xor

Disassembly:
pushal
call 0x805d52
pop ebp
sub ebp, 6
sub ebp, 0x405d4c
jmp 0x805db0
add byte [edi], al
add byte [esi], cl
add byte [edi + 0x67], cl
adc byte [edi + edx], bh
sbb bl, ch
out dx, al
add eax, 0x8f5ce296
cmc
sub dword [eax - 0x38eff73b], 1
add byte [eax], al
add byte [edx + 0x6b], dh
sub ah, byte [edx + 0x200f4e81]
fist dword [ebp + 0x6a56d85a]
mov ebx, dword [esi + 0x486ebe51]
fisub word [edx]
mov ebp, 0x77e2a302
loop 0x805e22
mov byte [esi - 0x10], bh
shl dword [edi - 0x17], 1
add al, 0
add byte [eax], al
adc ah, byte [ecx]
sbb eax, 0x5d4cb8eb
inc eax
add byte [ebx], al
lds eax, [ecx + 0x93c0]
jmp 0x805db9
mov eax, 0x405d4c
add eax, ebp
add eax, 0x93
mov ecx, 0x61f
add byte [eax], al
add byte [ecx + 0x61f], bh
add byte [edx + 0x538ab6e0], bh
mov edx, 0x538ab6e0
xor byte [eax], dl
inc eax
dec ecx
jne 0x805dd0
test esi, esi
invalid
invalid
jmp 0x805de3
xlatb
fisttp qword [edx - 0xf1f7760]
mov ah, byte [eax - 0x1f0f1f78]
loopne 0x805d73
loopne 0x805dd8
loopne 0x805dca
mov al, ah
sub al, 0xcc
loopne 0x805dc3
loopne 0x805e19
int3
and byte [eax + 0x31e0751f], dh
salc
pop ds
jne 0x805dd5
xor esi, edx
loopne 0x805da9
mov al, 0x6b
sub eax, 0xe0dc696b
imul ebp, dword [0xe0dc696b], 0xffffffe0
loopne 0x805e63
imul ebx, esp, 0x61e0e0e0
fsubr st(0), st(0)
loopne 0x805de1
popal
and dword [eax], ebx
loopne 0x805de6
loopne 0x805deb
sub eax, 0xe0e0e658
loopne 0x805e69
enter 0xffffffffffffe0e0, 0xffffffffffffffe0
pop ss
add ah, bl
sub byte [ebx + 0x61], ch
imul esp, dword [ecx - 0x14], 0xffffffe0
in al, dx
loopne 0x805dfc
loopne 0x805dfd
loopne 0x805e01
jecxz 0x805e44
and eax, 0xd57888b0
mov al, 0x88
js 0x805df8
aad 0xe9
loopne 0x805dae
jmp 0xc7d1e708
push ecx
invalid
loope 0x805df8
les ecx, [eax - 0x1f1f1f20]
or ch, ah
loopne 0x805e3b
in eax, 0xe0
loopne 0x805e17
loopne 0x805e16
loopne 0x805e41
or eax, ecx
loopne 0x805e1b
enter 0xffffffffffffe0e0, 0xffffffffffffffe0
mov ch, 0x6b
or al, 0x6b
call 0x6c613f26
loopne 0x805df2
imul ecx, dword [ebx + ebp*2], 0x65
call 0x6c613f26
loopne 0x805eb1
jne 0x805e34
loopne 0x805e2a
loopne 0x805eb7
imul ebp, dword [ebp - 0x10], 0xffffffe0
loopne 0x805e31
insd dword es:[edi], dx
invalid
and dword [ecx], ecx
loop 0x805e26
shl edx, 1
arpl word [edx], sp
in al, 0xa9
out dx, eax
adc al, 0x1f
loop 0x805eba
and ah, ah
test eax, 0x1f1465ef
pop ds
pop ds
mov ebp, 0x6be0ec22
loopne 0x805ed0
insb byte es:[edi], dx
invalid
loopne 0x805e4b
mov byte [eax - 0x2b], bh
jmp 0xc7d1e753
loopne 0x805efd
pop ebp
call 0xd4613f78
sub dword [ecx + 0x12], esp
add ecx, esp
push dword [edi - 0x1efeed9f]
add ecx, esp
push dword [edi + 0x86332d3]
in eax, 0xa8
out dx, eax
scasb al, byte es:[edi]
loopne 0x805e90
loopne 0x805ea1
out dx, eax
push 0xe0e0e0a8
xchg byte [ebx - 4], ch
cld
fldenv [eax + 0x1b]
or bh, ch
cli
loopne 0x805ea3
loopne 0x805f25
sbb ecx, dword [ecx]
out dx, eax
int1
loopne 0x805eac
loopne 0x805e54
popal
sbb ebx, dword [edi]
pop ds
invalid
or ch, ah
or dword [ebx + 0x1f], ecx
pop ds
pop ds
mov ebp, 0xb5e0ec22
in al, dx
loopne 0x805eb9
imul ecx, dword [esi + esi*4], 0xffffffb7
mov ch, 0x6b
xchg ebp, eax
in al, dx
imul ebx, dword [ebp + 0x60521ce8], 0x6a
or al, 0xb6
mov bh, 0xb5
imul edx, dword [ebp - 0x17629414], 0x1c
push edx
call 0x6ae0b12f
sbb al, 0x52
pushal
push 0xffffffffffffffe6
popal
out 0x61, al
loope 0x805ef8
loopne 0x805efa
push 0xe12761e7
loopne 0x805f01
loopne 0x805f7e
pop ebx
loop 0x805f05
loopne 0x805f07
loop 0x805f5b
out dx, eax
in eax, 0xe0
loopne 0x805f0e
loopne 0x805f0f
loopne 0x805f9a
push 0xfffffffffffffff6
cmpsb byte [esi], byte es:[edi]
xor ch, bh
arpl word [eax], di
mul byte [esi + 0x63ef32f2]
cmp byte [edi], bl
pop ds
pop ds
pop ds
loop 0x805f6e
out dx, eax
in eax, 0xe0
loopne 0x805f22
loopne 0x805fad
push 0xfffffffffffffff6
cmpsb byte [esi], byte es:[edi]
mul byte [esi + 0x63ef32f2]
mov ah, al
loopne 0x805f2d
xor ch, bh
arpl word [edx - 0x2c1f1f20], cx
loopne 0x805f2c
loopne 0x805f21
shl dword [eax], cl
loop 0x805f83
and dl, ah
xor ch, bh
out dx, eax
in eax, 0xe0
loopne 0x805f37
push 0xfffffffffffffff6
cmpsb byte [esi], byte es:[edi]
xor ch, bh
xor ch, bh
arpl dx, cx
loope 0x805f41
loopne 0x805f45
xor ch, bh
in eax, 0xe0
loopne 0x805f4a
push 0xfffffffffffffff6
cmpsb byte [esi], byte es:[edi]
xor dh, bl
xor dh, bl
and dl, ah
xor ch, bh
in eax, 0xe0
loopne 0x805f59
push 0xfffffffffffffff6
cmpsb byte [esi], byte es:[edi]
xor dh, bl
and dl, ah
and dl, ah
xor ch, bh
in eax, 0xe0
in eax, 0xe0
loopne 0x805f68
push 0xfffffffffffffff6
cmpsb byte [esi], byte es:[edi]
xor dh, bl
and dl, ah
xor ch, bh
out dx, eax
in eax, 0xe0
loopne 0x805f77
push 0xfffffffffffffff6
cmpsb byte [esi], byte es:[edi]
xor dh, bl
and bh, ch
and bh, ch
out 0xe0, al
loopne 0x805f84
imul edi, dword [edi], 0xffffffcb
cmp byte [edx - 0x1d], ch
push 0xe25ba7e7
loopne 0x805f91
pop ebx
loop 0x805f90
loopne 0x805f92
loopne 0x805fbc
or dword [eax + 0x581f1f1f], edx
nop
pop ds
pop ds
pop ds
pop eax
loope 0x805f9a
loopne 0x805f9c
loop 0x805ff0
out dx, eax
in eax, 0xe0
loopne 0x805fa4
push 0xfffffffffffffff6
cmpsb byte [esi], byte es:[edi]
xor dh, bl
and dl, ah
xor ch, bh
loop 0x805fff
out dx, eax
in eax, 0xe0
loopne 0x805fb3
loopne 0x805fb2
loopne 0x80603e
push 0xfffffffffffffff6
cmpsb byte [esi], byte es:[edi]
xor ch, bh
mul byte [esi + 0x62ef32f2]
pop ds
out dx, eax
bound edi, qword [esi]
pop ds
pop ds
pop ds
retf
aam 0xe0
loopne 0x805fcb
pop ecx
loope 0x805fce
loopne 0x805fd0
loop 0x806024
out dx, eax
in eax, 0xe0
loopne 0x805fd8
push 0xfffffffffffffff6
cmpsb byte [esi], byte es:[edi]
xor dh, bl
sub edx, esp
xor ch, bh
loop 0x806033
out dx, eax
in eax, 0xe0
loopne 0x805fe7
push 0xfffffffffffffff6
cmpsb byte [esi], byte es:[edi]
xor ch, bh
xor ch, bh
bound edi, qword [esi]
pop ds
pop ds
pop ds
mov dh, 0x6b
pop ss
retf
out 0xa6, al
imul ecx, dword [eax], 0x59
loope 0x80600b
loopne 0x80600d
loop 0x806061
out dx, eax
in eax, 0xe0
loopne 0x806015
push 0xfffffffffffffff6
cmpsb byte [esi], byte es:[edi]
xor dh, bl
sub edx, esp
xor ch, bh
mul byte [esi + 0x29f332f2]
loop 0x806070
out dx, eax
in eax, 0xe0
loopne 0x806024
push 0xfffffffffffffff6
cmpsb byte [esi], byte es:[edi]
xor ch, bh
bound edi, qword [esi]
pop ds
pop ds
pop ds
popal
sbb al, ah
popfd
loopne 0x806035
popal
cmp dword [edi], ebx
pop ds
pop ds
pop ds
popal
sbb al, ah
in eax, 0xe0
loopne 0x8060c3
popal
cmp dword [edi], ebx
pop ds
pop ds
pop ds
popal
sbb byte [eax - 0x20], ah
loopne 0x80604d
popal
xor eax, esp
loopne 0x806052
loopne 0x8060d5
sbb byte [eax - 0x20], ah
loopne 0x806059
popal
xor eax, esp
loopne 0x80605e
loopne 0x806036
mov dh, 0x6b
pop ss
imul edx, dword [edi], 0xffffffcb
adc byte [ebx], dl
inc esp
mov esi, 0x1f1e7b09
retf
adc eax, dword [esi + edi*4 + 9]
jnp 0x8060a8
pop ds
pop ds
push 0xffffffffffffffe6
cmpsb byte [esi], byte es:[edi]
out 0xa6, al
shr dword [ecx], cl
and byte [eax], cl
loope 0x806084
cli
loopne 0x806079
loopne 0x8060fc
xor edx, esp
loopne 0x80607f
loopne 0x80610c
or byte [esi + 0x10cb176b], dh
adc eax, dword [esi + edi*4 + 0x5b]
inc esp
mov esi, 0xe0e0e15b
loopne 0x8060b9
pop ebx
loope 0x80608d
loopne 0x80608f
or dword [ebx - 0x42e0e0e2], edx
retf
xchg ebx, eax
push ds
pop ds
pop ds
mov ebp, 0x6be89dcb
daa
mov edi, 0xbd056bbe
and ch, al
loopne 0x806082
call 0xa3f20a5
in al, 0xe0
loopne 0x8060a9
mov esi, 0xe0e0e409
loopne 0x8060ad
jecxz 0x8060aa
invalid
retf 0x58a8
and byte [edi - 0x1d], al
loopne 0x8060ba
pop ecx
jmp 0x8060c0
add al, byte [edi]
invalid
mov dword [ecx + 0x7b8b6048], ecx
sub al, 0xd6
xlatb
add dl, byte [edi]
mov ch, 0x89
mov dword [ecx - 0x2ac97926], ecx
mov edx, 0x4b08d38f
jno 0x8060af
mov dword [ecx + 0x72085f8a], ecx
mov dword [ecx + 0xd868989], ecx
xchg edx, eax
mov dword [ecx + 0x2dedf89], ecx
ret