Function at 0xeca430
Capabilities:
Encode data using xor

Disassembly:
iretd
mov edi, 0x46c82e8c
aaa
imul ebx, dword [edx - 0x14], 0x1dae4e48
dec esi
outsb dx, byte [esi]
mov byte [0xb679de10], al
jo 0xeca357
sbb byte [edx - 0x612aa411], cl
sub al, 0xfa
push ebp
xchg edx, eax
sub al, 0x8e
push ebp
out 0x2c, al
adc byte [ebp - 6], 0x2c
xchg esi, eax
push ebp
into
and dword [edx - 0x41610c9e], ebp
mov ecx, dword [ebp - 0x3cb0cb34]
and edx, esi
pop ebx
nop
and al, 0xea
push edi
out dx, al
lds esp, [edx + 0x1b]
invalid
mov byte [0xef788c1b], al
adc al, 0x6b
jae 0xeca36e
push 0xa30800f9
push 0xffffffffffffff95
and ah, 0x56
dec edi
add al, 0x5e
out dx, eax
int 0xd8
push edx
pop ebp
ret
xchg dword [ecx], edx
mov al, byte [0x42032a19]
rcl byte [ecx + 0x33], cl
push esi
dec esp
movsd dword es:[edi], dword [esi]
jp 0xeca3b1
mov eax, 0xa494dbf7
int1
xlatb
xchg edx, eax
nop
mov ebp, 0x966cae65
retf 0xb3af
jmp 0xeca43a
pushal
call 0xeca440
pop ebp
sub ebp, 0x10
sub ebp, 0xaca430
jmp 0xeca456
mov eax, 0xaca430
add eax, ebp
add eax, 0x4c
mov ecx, 0x5c6
mov edx, 0x9f442d80
xor byte [eax], dl
inc eax
dec ecx
jne 0xeca46d
jmp 0xeca480
or ecx, dword [ebp + 0xb]
or dword [eax + eax*4 + 0x41018080], edi
js 0xeca40c
add byte [eax - 0x7bc7b27d], 0x80
add byte [eax - 0x7f7f57c6], 0x80
ja 0xeca4fe
or dword [eax + 0xb], 1
mov word [eax + 0x45838080], es
ror byte [0x97ca4e4], 1
test byte [eax + ebp*8 - 0x7f613c30], ah
call 0x80fb8516
sub dword [esp + 0x4d332fe8], 0x8085684a
add byte [eax - 0x7f7f5197], 0x80
aad 0xb
insb byte es:[edi], dx
or eax, dword [0x80808088]
or edx, dword [0x8080808c]
or ecx, dword [0x80808090]
inc ecx
imul eax, dword [edx + 0x420382b1], 0x58fc984
je 0xeca56b
jg 0xeca56d
or ebp, dword [esp - 0x7b5b1bf3]
inc edx
mov word [eax - 0x7b5bf3f5], es
add byte [eax - 0x3c2f1780], 0x9e
sub al, 0x5e
loopne 0xeca516
sub al, 0xd0
ret
add byte [ecx - 0x1bf25b54], 0xa4
jl 0xeca51a
mov word [eax + ebp*2 - 0x7f7f7f7b], fs
imul edx, ecx, 0xd5808082
aam 0xdd
jg 0xeca517
add byte [eax - 0x7f7d2e97], 0x80
sub byte [ecx - 0x2f], 0x82
add byte [eax + 0x7fddd4d5], 0xf5
add byte [eax - 0x222b2a80], 0x7f
cmc
aad 0xd4
fnstsw word [edi - 0xb]
invalid
mov bl, 0x49
add dword [edx - 0x3d], esi
push ebp
outsd dx, dword [esi]
mov edi, 0x55c37201
outsd dx, dword [esi]
mov edi, 0x680352b3
test eax, ecx
pop dword [esi + ecx*8]
add byte [eax - 0x37f77080], 0x80
add byte [eax - 0x4663f41a], 0
jnp 0xeca5cc
pop dword [edx + ebx*4]
add byte [eax + 0x697b0080], 0x8f
add al, 0x91
add byte [eax], 0x7b
imul ecx, dword [edi - 0x7f7f6efc], 0x7b01e680
jg 0xeca51d
jnp 0xeca5d6
pop dword [ecx + edx*4]
add byte [eax + 0x7b01e680], 0x7f
movsd dword es:[edi], dword [esi]
pop dword [edx*4 - 0x3e7f7f80]
imul ecx, dword [edi + edi*2 + 0x7f], 0xb9cca97f
add dword [ebx], 0x68038541
test byte [ecx + 0x3d], ch
jg 0xeca611
jg 0xeca53d
aam 0xb9
add byte [ebx], 0x41
xchg byte [ebx], al
push 0xffffffffffffff84
add ebp, dword [eax - 0x7b]
imul ebp, dword [ebx], 0xb7f7f7f
lodsb al, byte [esi]
movsb byte es:[edi], byte [esi]
or eax, 0x4284a4e4
mov word [eax - 0x2993f42b], es
xlatb
aad 0xb
cmc
mov word [ebx], cs
std
mov byte [edx + esi], bh
or al, byte [esi - 0x7f7eb9ff]
add byte [eax + 0x47018708], 0x81
add byte [eax - 0x7f7dc480], 0x80
add byte [edx - 0x7afa70ae], 0x80
add byte [eax - 0x6d3969f6], 0x52
pop dword [ebx]
pop eax
jg 0xeca664
add byte [eax - 0x7f7f7dc5], 0x80
adc byte [edx - 0x71], 5
test dword [eax - 0x69f57f80], eax
invalid
add eax, 0x80808085
or dl, byte [esi - 0x70ad6d3a]
add ebx, dword [eax + 0x7f]
jg 0xeca665
jg 0xeca569
adc byte [edx - 0x71], 5
test dword [eax - 0x69f57f80], eax
invalid
push edx
pop dword [0x80808085]
or dl, byte [esi - 0x70ad6d3a]
add ebp, edx
add byte [eax - 0x7dbf4c80], 0x52
pop dword [0x80808085]
or dl, byte [esi - 0x70ad6d3a]
add ebp, dword [edx - 0x7d7f7f7f]
push edx
pop dword [0x80808085]
add eax, 0x80808085
or dl, byte [esi - 0x6cad6d3a]
inc eax
adc byte [edx - 0x71], 5
test dword [eax - 0x69f57f80], eax
invalid
add dword [eax + 0x52828080], 0x8085058f
add byte [eax - 0x6d3969f6], 0x52
xchg ebx, eax
inc eax
adc byte [edx - 0x71], 5
test dword [eax - 0x69f57f80], eax
invalid
add byte [eax - 0x70ad7d80], 5
test dword [eax - 0x69f57f80], eax
invalid