Function at 0x4085d0
Capabilities:
Encode data using xor

Disassembly:
mov ebp, 0x7bc3e1
mov al, byte [0x8002]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
mov esi, 0x7bdee1
mov eax, dword [0x8002]
add byte [eax], 0
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
mov ebx, 0x7bd9e1
mov byte [0x8002], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
movsb byte es:[edi], byte [esi]
loope 0x4085ef
jnp 0x40861d
mov dword [0x8002], eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
mov eax, dword [0x7bd7e1]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [ecx + 0x7bd7e1], ah
movsb byte es:[edi], byte [esi]
add al, byte [eax]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
wait
mov dword [0x81784d1c], eax
add byte [ebx], cl
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add bl, ah
mov al, 0x7a
add byte [edi], ch
add al, byte [eax]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
or eax, 0x7ab3e3
xor byte [edx], al
add byte [eax], 0
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
push cs
jecxz 0x408629
jp 0x40869d
xor dword [edx], eax
add byte [eax], 0
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
or esp, ebx
mov dword [edx], edi
add byte [eax], al
add byte [ebx], cl
jecxz 0x40863c
jp 0x4086b5
xor al, byte [edx]
add byte [eax], 0
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
je 0x4086ad
add byte [eax], al
add byte [ebx - 0x7c], dh
jp 0x4086cd
test byte [edx], bh
xor eax, dword [edx]
add byte [eax], 0
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [ecx - 0x1d], dh
add byte [eax], al
jno 0x4086c5
xchg dword [edx], edi
xor al, 2
add byte [eax], 0
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
jb 0x4086dd
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [edx - 0x1d], dh
cmp byte [edx], 0x35
add al, byte [eax]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
jg 0x4086f5
add byte [eax], al
add byte [edi - 0x1d], bh
popfd
jp 0x408715
add al, byte ss:[eax]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
js 0x40870d
cwde
jp 0x40872d
aaa
add al, byte [eax]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
jecxz 0x4086de
jp 0x408745
cmp byte [edx], al
add byte [eax], 0
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
jecxz 0x4086f1
jp 0x40875d
cmp dword [edx], eax
add byte [eax], 0
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
arpl bx, sp
xchg ecx, eax
jp 0x408775
cmp al, byte [edx]
add byte [eax], 0
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
insb byte es:[edi], dx
jecxz 0x408777
jp 0x40878d
cmp eax, dword [edx]
add byte [eax], 0
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
imul esp, ebx, 0x3c007aef
add al, byte [eax]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
push 0xffffffffffffffe3
ljmp 0x80