Function at 0xf0d640
Capabilities:
Encode data using xor

Disassembly:
jmp 0xf0d64a
pushal
call 0xf0d650
pop ebp
sub ebp, 0x10
sub ebp, 0xb0d640
jmp 0xf0d666
mov eax, 0xb0d640
add eax, ebp
add eax, 0x4c
mov ecx, 0x5d3
mov edx, 0xb40cec6e
xor byte [eax], dl
inc eax
dec ecx
jne 0xf0d67d
jmp 0xf0d690
in eax, 0xa3
in eax, 0xe7
push edx
outsb dx, byte [esi]
outsb dx, byte [esi]
outsb dx, byte [esi]
out dx, eax
scasd eax, dword es:[edi]
xchg esi, eax
outsb dx, byte [esi]
outsb dx, byte [esi]
outsb dx, byte [esi]
insd dword es:[edi], dx
mov dword [0x6e6e68d6], eax
outsb dx, byte [esi]
aam 0x46
push 0xd46e6e6e
inc esi
outsb dx, byte [esi]
outsb dx, byte [esi]
outsb dx, byte [esi]
cdq
mov word [ebp - 0x5a], gs
in eax, 0xef
bound ebp, qword [esi + 0x6e]
outsb dx, byte [esi]
insd dword es:[edi], dx
stosd dword es:[edi], eax
jecxz 0xf0d6c2
dec edx
xchg edx, eax
out 0x6a, eax
dec edx
jecxz 0xf0d6c9
dec edx
xchg edx, eax
out 0x6a, eax
dec edx
push 0x4a
push es
retf 0x4fdc
push es
dec ebp
loope 0xf0d73c
outsd dx, dword [esi]
inc edx
dec edx
push es
mov al, 0xfd
adc dword [esi], edx
xchg byte [ebx + 0x6e], ch
outsb dx, byte [esi]
outsb dx, byte [esi]
xchg dword [edx + 0x6e], ebx
outsb dx, byte [esi]
outsb dx, byte [esi]
jecxz 0xf0d6ec
dec edx
xchg edx, eax
out 0x42, eax
dec edx
cmp dh, byte [ebx]
in eax, 0xeb
outsb dx, byte [esi]
outsb dx, byte [esi]
outsb dx, byte [esi]
outsb dx, byte [esi]
in eax, 0xfb
bound ebp, qword [esi + 0x6e]
outsb dx, byte [esi]
in eax, 0xe3
jle 0xf0d767
outsb dx, byte [esi]
outsb dx, byte [esi]
scasd eax, dword es:[edi]
xchg dword [edi + ebx*2 + 0x6c], ebp
in eax, dx
lodsb al, byte [esi]
push 0x27
popal
jmp 0xf0d6a1
xchg ecx, eax
sbb esp, dword [edx - 0x6f]
sbb esp, dword [esi - 0x7a]
push ss
outsb dx, byte [esi]
outsb dx, byte [esi]
outsb dx, byte [esi]
in eax, 0xd3
outsb dx, byte [esi]
outsb dx, byte [esi]
outsb dx, byte [esi]
out dx, eax
lahf
retf 0x76d0
popal
out 0x26, al
outsb dx, byte [esi]
outsb dx, byte [esi]
outsb dx, byte [esi]
or ch, ah
jb 0xf0d7c8
out dx, al
xchg ebp, eax
xchg byte [ecx - 0x16], ah
je 0xf0d7e6
outsb dx, byte [esi]
outsb dx, byte [esi]
out dx, al
xchg ebp, eax
xchg dword [ecx - 0x16], esp
jg 0xf0d7ef
outsb dx, byte [esi]
outsb dx, byte [esi]
or bh, ch
xchg ebp, eax
xchg ecx, eax
dec ebx
popal
ljmp 0x872f
in eax, 0x13
xchg dx, ax
fsub st(6), st(0)
in al, 0x68
out dx, eax
test al, 0x6f
outsb dx, byte [esi]
outsb dx, byte [esi]
outsb dx, byte [esi]
out 0x69, al
out dx, eax
test eax, 0x6e6e6e6f
aad 0x6c
outsb dx, byte [esi]
outsb dx, byte [esi]
outsb dx, byte [esi]
insb byte es:[edi], dx
mov esp, 0x6e6beb61
outsb dx, byte [esi]
outsb dx, byte [esi]
in al, 0x78
sub byte [esp + edi*4 + 0x61], bh
in eax, dx
mov dh, 0x91
jmp 0xf0d853
mov esp, 0x91b6ed61
xchg ecx, eax
xchg ecx, eax
insb byte es:[edi], dx
mov esp, 0x6e6beb61
outsb dx, byte [esi]
outsb dx, byte [esi]
in al, 0x78
sub byte [esp + edi*4 + 0x61], bh
in eax, dx
add al, 0x6e
outsb dx, byte [esi]
outsb dx, byte [esi]
pop ebp
scasb al, byte es:[edi]
insb byte es:[edi], dx
mov esp, 0x6e6beb61
outsb dx, byte [esi]
outsb dx, byte [esi]
in al, 0x78
sub byte [esp + edi*4 + 0x61], bh
in eax, dx
inc esp
outsd dx, dword [esi]
outsb dx, byte [esi]
outsb dx, byte [esi]
insb byte es:[edi], dx
mov esp, 0x6e6beb61
outsb dx, byte [esi]
outsb dx, byte [esi]
in al, 0x78
sub byte [esp + edi*4 + 0x7d], bh
scasb al, byte es:[edi]
insb byte es:[edi], dx
mov esp, 0x6e6beb61
outsb dx, byte [esi]
outsb dx, byte [esi]
in al, 0x78
sub byte [esp + edi*4 + 0x7d], bh
scasb al, byte es:[edi]
insb byte es:[edi], dx
mov esp, 0x6e6beb61
outsb dx, byte [esi]
outsb dx, byte [esi]
in al, 0x78
sub byte [esp + edi*4 + 0x7d], bh
scasb al, byte es:[edi]
insb byte es:[edi], dx
mov esp, 0x6e6beb61
outsb dx, byte [esi]
outsb dx, byte [esi]
in al, 0x78
sub byte [esp + edi*4 + 0x7d], bh
scasb al, byte es:[edi]
popal
ljmp 0xb1e5