Function at 0x85941c
Capabilities:
Encode data using xor

Disassembly:
pushal
call 0x859422
pop ebp
sub ebp, 6
sub ebp, 0x45941c
jmp 0x859480
jmp 0x859489
mov eax, 0x45941c
add eax, ebp
add eax, 0x93
mov ecx, 0x5c2
mov edx, 0x5f1a2429
and al, 0x1a
pop edi
xor byte [eax], dl
inc eax
dec ecx
jne 0x8594a0
jmp 0x8594b3
mov byte [0x15a0a2e4], al
sub dword [ecx], ebp
sub dword [eax + 0x2929d1e8], ebp
sub dword [edx], ebp
in al, 0x91
das
sub dword [ecx], ebp
sub dword [ebx + 0x29292901], edx
fmulp st(3)
sub ah, cl
mov byte [0x292925a8], al
sub dword [edx], ebp
in al, dx
jns 0x859554
inc ecx
cdq
cmp byte [edi], ah
sub dword [ecx + 0x40], eax
stosd dword es:[edi], eax
push ds
sub dword [eax], ebp
add eax, 0x99ed410d
cwde
or ecx, eax
sub al, 0x29
sub dword [ecx], ebp
rol byte [ebx], 0x29
sub dword [ecx], ebp
jl 0x85949d
inc ebp
or eax, 0x21aca229
sub dword [ecx], ebp
sub dword [edx + 0x292925bc], esp
sub dword [edx + 0x292939a4], esp
cmp dword [ecx], ebp
sub dword [ecx], ebp
call 0x2b9dc0d3
stosb byte es:[edi], al
jmp 0x859543
sub dword [ecx], ebp
sub eax, ebp
shr byte [ebx], 0x18
sub ebp, dword [edx + 0x26602deb]
lodsb al, byte [esi]
fst st(6)
salc
salc
salc
je 0x85950a
and eax, 0xda5a229
sub eax, 0x41292929
cdq
cmp byte [edi], ah
sub dword [ecx + 0x40], eax
stosd dword es:[edi], eax
push ds
sub dword [eax], ebp
add eax, 0x2cc1780d
sub dword [ecx], ebp
sub eax, eax
bound ebp, qword [ebx]
sub dword [ecx], ebp
jl 0x8595bf
je 0x85951a
salc
pop esp
and eax, 0xc1215cd6
push edi
sub dword [ecx], ebp
sub dword [edx + 0x29292194], esp
sub dword [eax + 0xb7f73d8], ebp
add ch, byte [eax + 0xb7f73d8]
add bl, byte [edx]
loopne 0x85950b
test al, 0xd8
jae 0x8595d7
or eax, dword [edx]
test al, 0xd8
jae 0x8595dd
or eax, dword [edx]
sbb ah, al
test al, 0xdb
rol dword [ebx], 0xe1
fcmovnb st(0), st(1)
add esp, ecx
and byte [eax - 0x1efc3e25], ch
and byte [edx], bl
sti
stosb byte es:[edi], al
shr dword [ecx], 0x26
lodsd eax, dword [esi]
sub dword [bx + di], ebp
sub dword [esi], esp
mov eax, dword [0x29292961]
dec edi
mov byte [0xd2a91035], al
shl dword [esi], 0xad
xor ebp, dword [ecx]
sub dword [ecx], ebp
test eax, 0xad26c0d2
cmp byte [ecx], ch
sub dword [ecx], ebp
dec edi
test al, 0xd2
salc
or al, 0x26
lodsd eax, dword [esi]
cmp al, 0x29
sub dword [ecx], ebp
push 0xd6d6e5c0
salc
add byte [ebp + 0x10], ah
sub byte [edx - 0x3e55d318], ch
sub eax, 0xd6d694c0
salc
add byte [ebp + 0x10], bh
sub ebp, dword [edx - 0x3c55d018]
sub eax, 0xc02cc1aa
adc dh, 0xd6
salc
je 0x8595b5
and eax, 0xc5a27c29
jg 0x85964f
jl 0x859575
pop esp
and eax, 0xd52154a2
and ebp, edx
wait
test eax, 0xefa82fa3
test al, 0xef
sub byte [ecx], ch
sub dword [ecx], ebp
mov eax, dword [0x28eea82e]
sub dword [ecx], ebp
sub dword [edx + 0x2929292b], edx
sub edi, ebx
lodsb al, byte es:[esi]
sub al, 0x29
sub dword [ecx], ebp
mov dword [0xfb3b6f3f], eax
stosb byte es:[edi], al
int1
salc
salc
salc
sub edi, ebx
lodsb al, byte es:[esi]
sub al, 0x29
sub dword [ecx], ebp
mov dword [0xfb3b6f3f], eax
stosb byte es:[edi], al
inc ebx
sub dword [ecx], ebp
sub dword [edx], ebx
jmp 0xacac9147
sub dword [ecx], ebp
mov dword [0xfb3b6f3f], eax
cmp ch, cl
sub edi, ebx
lodsb al, byte es:[esi]
sub al, 0x29
sub dword [ecx], ebp
mov dword [0xfb3b6f3f], eax
cmp ch, cl
lodsd eax, dword es:[esi]
das
sub dword [ecx], ebp
sub dword [edx - 0x5c0efd0a], esp
sub ah, byte [ecx + 0x2b926e2e]
sub dword [ecx], ebp
sub eax, eax
pop ecx
salc
salc
salc
xchg ecx, eax
sub byte [ecx], ch
sub dword [ecx], ebp
sub edi, ebx
lodsb al, byte es:[esi]
sub al, 0x29
sub dword [ecx], ebp
mov dword [0xfb3b6f3f], eax
cmp ch, cl
sub edi, ebx
lodsb al, byte es:[esi]
sub al, 0x29
sub dword [ecx], ebp
mov dword [0xfb3b6f3f], eax
stosd dword es:[edi], eax
not esi
salc
salc
add ch, dl
xchg edx, eax
sub byte [ecx], ch
sub dword [ecx], ebp
lodsb al, byte es:[esi]
sbb eax, 0x90292929
sub byte [ecx], ch
sub dword [ecx], ebp
sub edi, ebx
lodsb al, byte es:[esi]
sub al, 0x29
sub dword [ecx], ebp
mov dword [0xfb3b6f3f], eax
cmp ah, al
sub edi, ebx
lodsb al, byte es:[esi]
sub al, 0x29
sub dword [ecx], ebp
mov dword [0xfb3b6f3f], eax
stosd dword es:[edi], eax
not esi
salc
salc
jg 0x85967f
fiadd word [edx]
invalid