Function at 0x8ce225
Capabilities:
Encode data using xor

Disassembly:
invalid
push esi
push ebx
call fcn.008c45cb
cmp dword [ebp + 0xe4d41cc], 0xffffff8f
nop
add dword [eax], ecx
add al, 0x7e
pop esp
adc bh, byte [ebx + 0x66]
or byte [ebx + ebp*8], dl
or dl, byte [esi]
mov al, byte [0xa3aa0e98]
add al, 0x8b
test dword [esi], ecx
sbb eax, 0x748d140b
cmp byte [eax], dl
mov eax, dword [ebx]
push ss
push ebp
insb byte es:[edi], dx
add dword [ecx], ecx
sbb dl, byte [ecx]
or dword [ebx + edx*2], edx
call fcn.008c45bb
adc al, ah
jne 0x8ce2aa
xor byte [ebx + 0x24142444], al
lea edi, [ecx + edi + 0x10]
mov ecx, 9
inc eax
rep movsd dword es:[edi], dword [esi]
push cs
sbb ah, byte [edx]
add al, 0x3b
test dword [ecx], eax
popfd
adc byte [esi + esi*4 - 0x75], bh
jl 0x8ce2aa
push ss
cwde
jp 0x8ce2ae
xor byte [ecx], bh
insb byte es:[edi], dx
and al, 0x24
jle 0xe8ce4d1
ljmp 0xe10:0x247c08a6
or al, 0x74
call 0x888e6dc1
add byte [eax], dl
push cs
mov eax, dword [ecx]
mov byte [eax], al
adc byte [esi], cl
xchg ebp, eax
and eax, 0x96b2e
jo 0x8ce2c5
and byte [eax], cl
insb byte es:[edi], dx
call 0xca963d8
ret
add byte [eax], al
add byte [esi], cl
sub dword [eax], ecx
adc byte [ebp - 0x75], dh
inc esi
xor al, 0xe
and ecx, dword [ebx]
or byte [eax - 0x75], dl
inc edx
push cs
and ebp, dword [ebx - 0x7ed381fc]
push edx
mov edx, 0x219f0000
push cs
in al, dx
lea ebx, [ebx + edx]
lea ecx, [edi + edi*8]
mov dword [edx + ecx*4 + 0x1c], eax
add dword [esi], esp
or byte [ebx - 0xbf1d38a], cl
or dword [edx], esi
jecxz 0x8ce2ff
add byte [esi + 1], dh
sub dword [eax], eax
adc eax, dword [ecx]
sub esp, dword [ecx*4 + 0x4489f60c]
mov dl, byte [ebx + ebp*8]
pop eax
mov ecx, dword [esi]
mov bl, 0x6d
add al, 0x4e
adc al, 1
pop edi
or byte [esp + 0x14], cl
add dword [ebx + 0x61a3201], edi
or cl, byte [eax]
push ebx
call 0xebee470
mov bl, byte [edx + 0x18]
adc al, 0x8d
add al, 0xff
mov dword [ecx + eax*4 + 1], edx
or dword [eax + eax], 0x10c7e8b
pop esi
add al, 0xf8
add dword [esi], esi
sub al, 0
add byte [eax], bl
add eax, 0x48d5c2c
test byte [ecx - 0x7ae37e84], 0xed
je 0x8ce467
cmp byte [ebp + 5], 0
je 0x8ce36f
mov eax, dword [ebp + 0x34]
push cs
aad 0x54
or eax, 0x7b8e0ecc
sub al, 0x8a
push ebp
add eax, 0xd284c88b
jne 0x8ce377
enter 0xffffffffffffd284, 0x75
add ecx, dword [ebx + 0x3a12144d]
mov ecx, dword [ebp + 0x14]
adc bh, byte [edx]
xor al, byte [eax]
and byte [0xc45100d], al
cmp byte [ebp + 0x28], 0xc1
sahf
and al, 0x18
je 0x8ce40a
mov eax, dword [ebp + 0x2c]
add esi, edx
sub al, al
lea eax, [edx + ecx*4]
mov ecx, dword [eax + 0x14]
mov eax, dword [eax + 0x1c]
mov dword [esi], ecx
xor eax, dword [eax + ecx*2 - 0x72e3dbbc]
jl 0x8ce3cd
sub byte [ebx], bh
int1
jl 0x8ce3b2
lea edi, [esp + 0x20]
mov ecx, dword [edx]
mov esi, dword [ebp + 0x46]
in eax, dx
add byte [ecx + ecx*4], bl
popal
invalid
and al, 0x1c
jl 0x8ce3d5
lea esi, [esp + 0xe]
pop esi
mov dword [eax], ecx
adc byte [ebx - 0x52a3ed93], cl
xor dh, ah
add byte [eax], al
push eax
add dword [ecx], edi
sbb byte [esi], dl
jmp 0x8ce432
mov ah, 0x1c
or ecx, dword [ebp - 0x76ff12bc]
push esp
or dword [esi], 0x30045620
inc eax
inc ebp
dec esi
and byte [esp + 0x24], al
jl 0x8ce1ec
push cs
leave
and al, 8
add esp, 0x1c
push cs
xchg ebp, eax
push cs
sbb eax, 0xc406101
mov ebx, dword [esp + 0x34]
popal
inc eax
or al, 0x8b
pop esp
and al, 0x34
popal
inc esp
xor byte [esi + edx*2], ch
mov esi, ecx
push edi
mov dword [esp + 0x10], esi
test esi, esi
jns 0x18b5f55b
cmp byte [esp + 0x38], 0
jne 0x8ce484
adc cl, byte [ebp + 0xb]
add al, 0x70
and al, 1
sbb cl, byte [ebx + ecx*4]
inc esp
and al, 0x3c
push cs
popfd
or eax, dword [eax]
push 0xe
int 8
adc al, 0xc0
and al, 0x3b
xor byte [edi], cl
mov word [esi], cs
shl byte [edx + 0x450af0e], 0x8b
add byte [0x21c30062], cl
xchg ebx, eax
sbb byte [ecx + 1], cl
add byte [eax], al
test ebx, ebx
movlps xmm3, qword [edx + 0x5d]
push cs
inc esp
mov al, byte [ecx*4 + 0x72160e4c]
or al, 8
call 0xc6ceab36
push cs
or esp, dword [esi]
push cs
movsb byte es:[edi], byte [esi]
or byte [eax], al
mov ecx, dword [esi]
outsd dx, dword [esi]
mov ah, 8
xor edi, edi
push edi
push cs
aas
or dword [eax], eax
or ecx, dword [esi]
cmp eax, dword [esi + 0x54308b28]
mov dword [esp + 0x28], edi
call 0xe8dab33
add eax, 0xcd8b187b
mov dword [eax], esi
call 0x479f1633
or byte [eax + edx], dl
cmp dword [esp + 0x3c], edi
je 0x8ce4e1
cld
xor al, byte [eax + esi]
push eax
or dword [ecx], esi
or byte [eax + ebp*8 + 0x4e], dl
add eax, 0x244c1c27
push eax
dec esp
and al, 0x50
mov ecx, dword [ecx]
push esp
call 0xe7e62d
pop ds
push cs
mov al, 0x3b
or byte [ebp + 0x4c174c9], al
add byte [eax], dh
sbb ah, byte [eax + 9]
or al, 9
push esp
call 0x1cb5ea28
les ecx, [ecx - 0x173274d0]
sbb dword [ecx], esi
push cs
sbb eax, 0x181381bd
lea eax, [esp + 0x14]
cmp dword [esp - 0x37], edi
dec edi
rol dword cs:[eax], 0x10
invalid