Function at 0x8ef560
Capabilities:
Encode data using xor

Disassembly:
pushal
call 0x8ef566
pop ebp
sub ebp, 6
sub ebp, 0x4ef560
jmp 0x8ef5c4
jmp 0x8ef5cd
mov eax, 0x4ef560
add eax, ebp
add eax, 0x93
mov ecx, 0x5c7
mov edx, 0x31c18f85
xor byte [eax], dl
inc eax
dec ecx
jne 0x8ef5e4
jmp 0x8ef5f7
push cs
dec eax
push cs
or al, 0xb9
test dword [ebp + 0x7d440485], eax
test dword [ebp + 0x3d488685], eax
add dword [ebp - 0x52c07a7b], 0xffffff85
test dword [ebp + 0x4d866772], eax
push cs
add al, 0x89
test dword [ebp - 0x2abf797b], eax
aad 0xed
leave
stosb byte es:[edi], al
mov byte [ebp - 0x3bbc6e13], al
test dword [ecx + ebp*4 - 0x300a125f], eax
mov byte [0x85806d38], al
test dword [ebp - 0x7a7a5294], eax
test eax, edx
rcr eax, 1
push cs
add byte [ebp + 0xe858585], cl
adc byte [ecx + 0xe858585], cl
or byte [ebp + 0x44858585], dl
insb byte es:[edi], dx
xchg dword [edi + eax*4 - 0x337eb8fa], esi
mov al, byte [eax]
jno 0x8ef6d7
jp 0x8ef6d9
fadd dword [edi - 0x77]
test dword [esi], ecx
or dword [ecx - 0x7a7a7a7f], esp
in eax, dx
leave
stosb byte es:[edi], al
mov byte [ebp - 0x3bbc6e13], al
test dword [ecx + ebp*4 - 0x7f922b5f], eax
test dword [ebp - 0x7831937b], eax
aam 0x6d
insd dword es:[edi], dx
add byte [ebp - 0x31937a7b], 0x87
insb byte es:[edi], dx
into
xchg dword [ebp + 0x690ed085], eax
jp 0x8ef677
test dword [ebp + 0x7a690ed0], eax
invalid
mov dword [edx - 0x10], edi
lea ebp, [ebp - 5]
test dword [ebp - 0x72c7f17b], eax
test dword [ebp + 0x23740485], eax
add esp, dword [edi + 0x23740480]
add al, 0x74
and eax, dword [ebx]
cmpsd dword [esi], dword es:[edi]
add byte [esp + esi*2], 0x23
add esp, dword [edi + 0x44cb680]
ja 0x8ef678
inc edi
rcr esp, 1
add al, 0x77
rol dword [edi - 0x2f], 1
fdiv qword [esi - 0x7f92f9a9]
int 0x8a
add ebx, ecx
test dword [ebp - 0x32f2757b], eax
test dword [ebp - 0x66f11c7b], eax
mov esp, 0x8a6d7e05
add dword [edi + 0x5858585], ebx
jle 0x8ef73e
test dword [ebp - 0x759381fb], eax
add dword [ebp + eax*4 + 0x4e38585], edx
jle 0x8ef756
mov al, byte [ecx]
xchg esp, eax
test dword [ebp + 0x7e04e385], eax
test ebx, esp
add al, 0x7e
jp 0x8ef67d
mov al, byte [0x8590018a]
test dword [ebp + 0x7a496cc4], eax
mov al, byte [ecx]
nop
test dword [ebp + 0x496cc485], eax
jp 0x8ef762
les ebp, [ecx + ecx*2 + 0x7a]
jp 0x8ef763
jp 0x8ef696
lodsb al, byte [esi]
leave
mov esp, 0x80440684
push es
insd dword es:[edi], dx
sub dword [eax + edi + 0x7a], 0xd1ac7a7a
mov esp, 0x83440687
push es
outsd dx, dword [esi]
add dword [esi], 0x2e6c806d
jp 0x8ef783
jp 0x8ef6e3
inc edi
mov dword [ebp - 0x2c96f130], eax
rcl al, cl
push cs
invalid
push edi
mov al, byte [esi]
pop ebp
jp 0x8ef7be
jp 0x8ef6cd
push edi
mov al, byte [eax]
add byte [ebp - 0x6cf07a7b], 0xc3
xchg edi, eax
push edi
mov al, byte [esi]
out dx, eax
test dword [ebp - 0x78ba497b], eax
push edi
test dword [ebp + 0x578745b6], eax
mov al, byte [eax]
add byte [ebp - 0x6cf07a7b], 0xc3
setae bl
xchg ebx, eax
ret
xchg edi, eax
push edi
mov al, byte [esi]
scasd eax, dword es:[edi]
test byte [ebp - 0x75a8787b], al
add byte [eax + 0xf858585], al
xchg ebx, eax
ret
test dword [edi], ecx
xchg ebx, eax
ret
cmc
jp 0x8ef83b
jp 0x8ef800
test byte [ebp + 0x57878585], al
mov al, byte [eax]
add byte [ebp - 0x6cf07a7b], 0xc3
xchg edi, eax
push edi
xchg esi, eax
inc ebp
xchg dword [edi - 0x76], edx
add byte [eax + 0xf858585], al
xchg ebx, eax
ret
test dword [ebp - 0x3c6cf07b], eax
xchg edi, eax
push edi
xchg esi, eax
dec esp
xchg dword [edi - 0x76], edx
add byte [eax + 0xf858585], al
xchg ebx, eax
ret
add byte [eax + 0xf858585], al
xchg ebx, eax
ret