Function at 0x886a90
Capabilities:
Encode data using xor

Disassembly:
jmp 0x886a9a
pushal
call 0x886aa0
pop ebp
sub ebp, 0x10
sub ebp, 0x486a90
jmp 0x886ab6
mov eax, 0x486a90
add eax, ebp
add eax, 0x4c
mov ecx, 0x619
mov edx, 0xdfbda07e
xor byte [eax], dl
inc eax
dec ecx
jne 0x886acd
jmp 0x886ae0
cmc
mov bl, 0xf5
test dword [edx + 0x7e], 0xbfff7e7e
xchg byte [esi + 0x7e], bh
jle 0x886b6c
mov bl, 0xc6
js 0x886b71
jle 0x886b73
les edx, [esi + 0x7e]
jle 0x886b78
mov dword [ebp + edi*2 + 0x72fff5b6], ebx
jle 0x886b81
jle 0x886b82
mov ebx, 0x825a1af3
idiv dword [edx + 0x5a]
sbb bl, byte [edx - 0x7e]
idiv dword [edx + 0x5a]
push ss
sahf
add al, 0x70
jle 0x886b30
into
xchg ecx, eax
inc edi
jle 0x886b9e
push edx
pop edx
push ss
jmp 0x886b3f
sub esi, ebp
xchg edx, eax
cmc
sti
jbe 0x886bb5
jle 0x886bb7
cmc
jmp 0x886bae
cmc
rep outsb dx, byte [esi]
jle 0x886bc2
jle 0x886b05
xchg edi, eax
jl 0x886b98
dec edi
jl 0x886b48
mov esp, 0xfb71377a
mov al, byte [ecx + 0x52f58181]
pop edx
sbb bl, byte [edx + 0x7a]
mov esp, 0xf2f57e72
pop edx
jp 0x886be1
jle 0x886be3
push ss
sahf
add al, 0x70
jle 0x886b81
into
xchg ecx, eax
inc edi
jle 0x886bef
push edx
pop edx
das
xchg esi, eax
jnp 0x886bf4
jle 0x886bf6
xchg edi, eax
sub eax, 0xf37e7e7c
sbb bl, byte [edx - 0x7e]
not dword [edx + 0x5a]
push edx
pop edx
adc bl, byte [edx + 0x7e]
or dword [ebx], 0x760b8172
or esi, dword [edx - 0x7f]
or esi, dword [esi - 0x6a]
xchg esi, eax
add byte [esi + 0x7e], bh
jle 0x886b89
ret
jle 0x886b99
dec dword [edi - 0x548e9e23]
invalid
stosd dword es:[edi], eax
dec dword [edi - 0x548e9e23]
dec ebp
mov bh, 0xff
invalid
invalid
std
xchg esi, eax
jnp 0x886bef
jno 0x886bb5
xor byte [esi + 0x7e], bh
jle 0x886c31
div byte [esi]
jle 0x886c42
jle 0x886bde
cmc
bound eax, qword [edi - 2]
test dword [esi + 0x7e64fa71], edx
jle 0x886c50
inc byte [ebp + 0x6ffa7197]
jle 0x886c58
jle 0x886bf4
inc dword [ebp - 0x58ea47f]
sbb dword [ebx + 0x71], 0x7e7e6bfa
cli
imul edi, dword [esi + 0x7e], 0x7e
aas
jle 0x886c63
jle 0x886c26
xchg edi, eax
mov dl, 0x81
add dword [ecx + 0x7f473257], 0xfd7bbffd
inc edi
jg 0x886bee
mov edi, 0x7a96fd7b
xchg esi, eax
jp 0x886b8e
xchg edi, eax
ret
jle 0x886ca6
idiv byte [ecx - 1]
mov ecx, 0x7e7e7e7f
lds edi, [esi + edi*2 + 0x7e]
jl 0x886cb1
jle 0x886cb3
jle 0x886cb2
jl 0x886be3
lodsb al, byte [esi]
jno 0x886c34
jnp 0x886cb9
jle 0x886cbb
hlt
lodsb al, byte [esi]
jno 0x886c41
cmpsb byte [esi], byte es:[edi]
add dword [ecx + 0x71ac7c81], 0x7e7e7bfb
jle 0x886c45
hlt
push 0x71ac6c38
std
adc al, 0x7e
jle 0x886cd9
jle 0x886cd8
jle 0x886ca9
dec ebp
mov esi, 0xfb71ac7c
jnp 0x886ce1
jle 0x886ce3
hlt
hlt
push 0x6dac6c38
insb byte es:[edi], dx
lodsb al, byte [esi]
insd dword es:[edi], dx
mov esi, 0x7e78fa71
jno 0x886ca8
js 0x886d2e
jle 0x886d30
jle 0x886ca8
cmc
mov eax, dword [0x7df4a655]
idiv byte [ecx + 0x39]
jns 0x886cf4
lds edi, [esi + edi*2 + 0x7e]
jle 0x886c58
push cs
add dword [ecx + 0x7e7fc681], 0xac7c7e7e
jle 0x886d47
lodsb al, byte [esi]
jno 0x886cc9
jnp 0x886d4e
jle 0x886d50
hlt
mov esi, 0xfb71ac7c
jl 0x886c87
jno 0x886cd8
jnp 0x886d5d
jle 0x886d5f
hlt
cmp byte [esp + ebp*4 + 0x71], ch
cld
mov al, byte [0x55818181]
mov ebp, 0x7e7e7fc5
jle 0x886d65
sti
dec edx
jle 0x886d76
jle 0x886cc1
jg 0x886d7a
jle 0x886d7c
jle 0x886d7b
jl 0x886cac
lodsb al, byte [esi]
jno 0x886cfd
jnp 0x886d82
jle 0x886d84
hlt
fisub dword [eax]
xchg edi, eax
jbe 0x886cac
add dword [ecx + 0x769ebf36], 0xf53878f4
mov edi, 0x78f4769e
cmp ch, dh
jbe 0x886d26
js 0x886d6c
cmc
xchg esi, eax
invalid
lodsb al, byte [esi]
insd dword es:[edi], dx
mov bh, 0x7c
lodsb al, byte [esi]
jno 0x886d49
jnp 0x886dce
jle 0x886dd0
hlt
inc dword [esi + 0x7e7e037e]
jle 0x886d64
jle 0x886de1
jmp dword [edi - 0x7e7e7e7f]
cmpsd dword [esi], dword es:[edi]
add dword [ecx - 0x79007e7f], 0x7e7e7b7e
jnp 0x886dec
jle 0x886d6f
jmp dword [edi - 0x7e7e7e7f]
cmpsd dword [esi], dword es:[edi]
add dword [ecx - 0x79007e7f], 0x7e7e7efe
xchg dh, bh
jle 0x886df8
jle 0x886d7b
jmp [edi + 0x7e7e7e7e]
scasd eax, dword es:[edi]
jle 0x886dfd
jle 0x886dff
inc dword [esi + 0x7e7e7efe]
xchg dh, bh
jle 0x886e04
jle 0x886d87
jmp [edi + 0x7e7e7e7e]
scasd eax, dword es:[edi]
jle 0x886e09
jle 0x886e0b
sub ch, dh
mov dword [ebp - 0x72], edx
invalid
jbe 0x886e4e
and ebp, esi
dec edx
pop edx
sbb bl, byte [edx + 0x7a]
xchg edi, eax
jp 0x886e59
jle 0x886e5b
xchg edi, eax
outsd dx, dword [esi]
adc byte [edx], al
invalid
jle 0x886e6c
invalid
dec esi
outsb dx, byte [esi]
aaa
jno 0x886df9
sti
mov byte [ecx + 0x7a978181], al
add dword [ecx + 0x7e7a9781], 0xa0337e7e
jle 0x886e84
jle 0x886e3b
mov al, byte [0x5f26af12]
adc ch, byte [edi + 0x56265f26]
pop edi
push esi
sub dl, dh
popfd
push esi
sub bl, byte [0xa1a10196]
mov eax, dword [0xfaf75fa2]
sub ah, bh
popfd
sub ah, byte [0xa1a19591]
mov eax, dword [0x5b26798a]
sub bl, bl
mov eax, dword [0xee2a5b26]
movsd dword es:[edi], dword [esi]
and byte [ebx - 0x5f], bl
mov eax, dword [0x25aea1a1]
out 0xa1, eax
mov eax, dword [0x2077a2a1]
test ax, 0xa1a1
mov eax, dword [0xa1a94820]
mov eax, dword [0xa15820a1]
mov eax, dword [0x25aea1a1]
jno 0x886eb7
scasb al, byte es:[edi]
and eax, 0xa1a1a1e7
mov byte [0xa9662077], al
mov eax, dword [0x4820a1a1]
test eax, 0x20a1a1a1
pop eax
mov eax, dword [0xaea1a1a1]
and eax, 0x5e5e5e71
mov eax, dword [0xa1a15820]
mov eax, dword [0x7125aea1]
pop esi
pop esi
pop esi
invalid
lodsb al, byte [esi]
mov eax, dword [0x2ac7a1a1]
cmpsb byte [esi], byte es:[edi]
and byte [ecx + 0x5e], al
scasb al, byte es:[edi]
mov eax, dword [0xa063a2a1]
mov ecx, 0x6622e8e8
mov dword [0x5e5e6948], eax
pop esi
pop esi
pop esi
dec eax
movsd dword es:[edi], dword [esi]
mov eax, dword [0x3447a1a1]
mov bh, 0x77
sbb dword [ecx], esi
retf
cmp al, 0xc1
invalid