Function at 0x55ce96
Capabilities:
Encode data using xor

Disassembly:
mov ah, byte [ecx]
enter 0xffffffffffffaa57, 0xffffffffffffff96
sub al, 0xe3
add byte [esi + 0x4f], al
ja 0x55cedd
cmp dl, byte [edi]
adc al, 0xa3
insb byte es:[edi], dx
mov dh, dl
sal dl, 0x92
inc esi
les esp, [esi - 0x7a]
rcl esi, cl
jbe 0x55cf15
imul cl
sub dword [ebx], eax
mov dh, 0x63
mov esp, 0x9227e2d3
cmp byte [eax], bh
sbb dl, byte [eax]
test al, 0x74
jp 0x55ceea
je 0x55cf44
pop ds
cdq
sub byte [ecx], 0x6e
pop edx
pop ecx
mov ebx, gs
sbb eax, 0x2b86b258
adc ch, ch
mov bl, 0xc5
sahf
inc eax
dec ecx
add bh, byte [ecx + 0x5baea200]
daa
mov bl, ch
mov byte [0x40d00f60], al
frstor dword [edx + 0x40d00f60]
pushal
invalid
push edi
mov dword [0x32654bb8], eax
enter 0xffffffffffffeb5c, 0xffffffffffffffd4
not eax
stosd dword es:[edi], eax
pop es
jl 0x55ceec
push ebx
push edx
retf 0x2872
xchg ebx, eax
jns 0x55cf7f
inc esi
movsb byte es:[edi], byte [esi]
invalid
and ecx, dword [esi - 0x29]
dec esi
xlatb
jae 0x55cefe
adc ebp, dword [eax + 0x8d3edcd]
fsubrp st(7)
dec ecx
pop eax
and ah, al
enter 0x2acb, 0xffffffffffffff82
shl byte [esi - 0x36], cl
jo 0x55cf15
push eax
salc
mov ebp, dword [eax + 0x62ee5ba]
jb 0x55cf14
jecxz 0x55cec8
mov ecx, 0x7fd43d66
imul edx, dword [edx + 0x63037bea], 0x2f
add esp, dword [ebx + 0x2f]
or dword [ebx - 0x80], esp
popfd
mov byte [0x8c84062e], al
je 0x55cf02
inc esp
mov al, 0xeb
mov bl, 0xe1
xchg dword [esi], eax
aaa
mov dh, 0x62
out 0x9a, al
mov ebp, edi
jmp 0x55cf09
out dx, eax
call 0x388a498
inc ecx
xor dl, byte ds:[edx + 0x5df20263]
jno 0x55cf5f
dec esi
and cl, byte [edi + 0x44]
out 0xb3, al
aas
mov al, bl
push ss
rcr al, cl
xchg esp, eax
inc ecx
ja 0x55cf54
sub dword [edx - 0x26], esp
jg 0x55cfb4
daa
jae 0x55cf98
shl cl, cl
jb 0x55d002
xor al, byte [esi + 0x73]
clc
push esp
lahf
cmpsd dword [esi], dword es:[edi]
mov al, byte [0x799f85af]
cli
mov dh, bh
xchg edi, eax
and byte [edx + 0x5a], al
invalid
lahf
sal dword [edi], 0x60
aaa
pushal
cmp al, bl
mov ch, 0xb2
into
in al, 0xc6
mov dword [0x3f61a237], eax
loopne 0x55cfb2
add byte [edi], cl
cmpsb byte [esi], byte es:[edi]
aam 0x94
popal
jb 0x55d020
or al, 0x9f
ja 0x55d025
retf 0xc22
sub cl, byte [ebp - 0x4839079a]
mov eax, dword [0xfa441a27]
shl al, 0x26
in al, 0x35
femms
invalid
daa
jne 0x55d050
aas
fst st(2)
or edx, dword [edx]
insb byte es:[edi], dx
ror byte [ebx], cl
adc ah, byte [ebp + 0x6c]
adc byte [ebp + 0x2e], al
out 0x12, al
outsd dx, dword [esi]
jmp 0x55d090
mov bl, 0xba
lea ebp, [eax - 0x5a]
and edi, dword [ecx - 0x6bb84d0c]
stosb byte es:[edi], al
les edi, [0x76cfdafa]
lahf
adc bl, ch
push edi
xchg edi, eax
xor al, 0xd2
lcall 0xa65d, 0x567c5fa1
dec esi
mov bl, 0x58
invalid
cmc
arpl bp, dx
mov edi, 0x4b5f8ea4
push eax
fbld tbyte [ebx]
mov ah, 0xec
lahf
mov bh, 0x41
or dword [esi], edi
salc
std
adc dword es:[ebp - 0x627999be], edx
outsd dx, dword [esi]
push edx
mov ebp, 0x20f6b412
cmpsb byte [esi], byte es:[edi]
jg 0x55d10c
xor byte [esi - 0x6d65140a], 0x35
xlatb
sti
cwde
bound ebx, qword [eax]
salc
ret 0x65a2
mov dh, 0x41
xchg esp, eax
bound ebp, qword [ebx + 0x25adaef1]
dec esp
test byte [edx - 0x256f95e], dh
inc ecx
sub dword [esi], esi
and byte [ebp - 0xdd3b7d1], 2
les edx, [ecx]
stosd dword es:[edi], eax
bound edi, qword [eax + 0x70]
or edx, dword [edx + 0x26]
xchg edx, eax
mov eax, 0x5690267a
inc byte [ecx - 0x3e]
mov edi, 0x9a1bf484
scasd eax, dword es:[edi]
cmp eax, 0x573130ee
int 0x1b
dec ebp
fisttp qword [eax]
push esi
lea edi, [esi]
adc byte [eax], 0x41
cld
shr dword [eax + 0x489cd4b7], cl
lds ebp, [ebp - 0x1f1cb997]
ficom dword [eax - 0xc56df51]
xchg esp, eax
adc ebp, edi
jp 0x55d1ae
invalid
push esi
xor al, 0xb7
fiadd dword [ebx + ebx*8 - 0x71f57c59]
salc
adc al, 7
lds esi, [ebp + ebx*2 + 0x527fc0bc]
jne 0x55d1ec
retf
test byte [edi + 0x21669091], al
cmp edx, dword [eax - 0x7f]
fcom qword [ebp + ebx*2 + 0x7eeaa24c]
jl 0x55d23e
hlt
pop ebx
insb byte es:[edi], dx
sub ebx, dword [ebp + 0x585d5075]
rcr byte [edx], 0x63
arpl dx, cx
scasb al, byte es:[edi]
xor ah, byte es:[ecx + 0x1ae2b689]
in eax, dx
sub byte [ebx], dh
mov ebx, 0x5b90e6fe
adc ebx, ecx
mov dl, 0x71
push ss
je 0x55d28d
movsb byte es:[edi], byte [esi]
bound eax, qword [edi - 0x386c85eb]
aaa
xchg esp, eax
movsd dword es:[edi], dword [esi]
ret 0xb0f4
jo 0x55d2ed
inc edx
int3
popal
mov ebx, 0xa7b69d56
mov bl, 0xb9
pushfd
mov ebx, 0x49322d8a
or dh, cl
xor cl, byte [ecx + 8]
into
xor dh, byte [esp + edx]
cmp ah, byte [edx + 0x2de46d01]
aaa
aam 0x8c
bound eax, qword [esi - 0x63]
jle 0x55d330
push es
mov byte [0x9b74183a], al
jo 0x55d2f9
lodsd eax, dword [esi]
cmpsd dword [esi], dword es:[edi]
add eax, 0xa28f33a9
sub eax, 0xce0212ea
add dh, byte [ebp - 0x5ffa69fe]
add byte [esi], bl
adc dword [edx + 0x2d086eaa], 0xffffffba
retf 0x3fb2
sub eax, 0x3fb2caba
dec eax
adc al, 0x1a
or eax, eax
and al, 0x32
int3