Function at 0x53c8ce
Capabilities:
Encode data using xor

Disassembly:
mov edi, eax
cmp dword [edx], 0x4f0efef5
dec byte [esi]
dec edi
enter 0xffffffffffffb0ac, 0x13
loope int.0053c8ce
mov edx, dword [ecx]
or byte [edx - 0x4ad26b23], 0x11
rol byte [ebx + eax + 0x75], 0xb3
adc ebp, eax
ret 0x8118
pop edi
sbb edx, dword [ebx]
push edx
adc dword [esi + 0x449eda08], ecx
aad 0x88
push edi
xor byte [edx], dh
loop 0x53c8cf
jle 0x53c94f
jne 0x53c8a7
mov esp, esi
sub dword [eax], 0xffffffdf
movsb byte es:[edi], byte [esi]
xchg ecx, edx
dec ecx
aad 0x7b
and dword [esi + 5], esi
int 0xd4
inc edi
std
add eax, 0xfd47d4cd
outsd dx, dword [esi]
adc dword [ebx - 0x2f9e38be], esp
loop 0x53c8a2
in al, dx
call 0x7ae83b53
inc esp
mov esp, 0x1d46392e
inc esp
sub al, dl
js 0x53c8f0
iretd
adc byte [0x213b3197], dh
xchg ebx, eax
lahf
dec eax
push ecx
inc ebx
add esi, dword [ecx + 0x69]
inc edi
jo 0x53c9cb
xchg dword [ecx], edx
mov edi, 0x1998e2
inc ebp
invalid
adc byte [edi + 0x6f0ce076], ch
test al, 0x33
mov dl, 0x30
nop
adc ebp, dword [ebx + 0x21a00148]
popal
xchg dword [edx + 9], esp
push cs
mov al, 0xaf
add dword [0x2d328583], edx
jge 0x53ca5b
dec edi
sub byte [esi - 0x160df82b], ch
dec byte [edi + 0x36]
or ecx, edx
mov eax, dword [0x284b8422]
dec esp
test eax, 0x9e1161d5
call dword [edx]
pop esi
or ebx, ebp
jle 0x53ca24
inc edx
jg 0x53ca61
mov eax, dword [0xeeb4907b]
fstp qword [esi - 0x2c169fb2]
xchg ebp, eax
and byte [edi - 0xaacf14], cl
or cl, ah
retf 0x3419
sbb dword [esp], esi
sbb bh, ah
lodsd eax, dword [esi]
pushfd
mov al, byte [0xa9ef7082]
inc edx
xor dword [ecx - 0x17], esp
in eax, 0x8c
mov edx, 0xb0bc530f
int1
rol byte [esp - 0x4a94eae8], cl
mov edx, eax
and dword [ebx], edx
cmovs esp, dword [ecx + 0x31824f73]
xlatb
jae 0x53ca9b
xor byte [ecx], 0xd7
pop eax
pushal
dec ecx
cld
pushal
cmp eax, 0xefdc4140
js 0x53cad6
jp 0x53cabd
pushal
xor dword [edx - 0x60650785], esp
xchg edx, eax
xor dword [ebx + ecx*8], edi
int 0x41
clc
lcall 0xcdcb, 0x3c31929f
inc ecx
rcl byte [esi]
int3
test esp, 0xd4ffcd0c
wait
pop esp
mov eax, dword [0x3c04fa12]
xchg esp, eax
cmp al, 0x94
jb 0x53cacf
pop dword [ebp + 0x2d]
fisttp qword [edi - 0x14c4727]
inc eax
adc byte [eax], al
arpl word ds:[ecx + 0x218fccd0], cx
mov dword [0x9043efa1], eax
nop
pop esi
jle 0x53cb00
in eax, 0x61
or al, 0xb2
add byte [esi + 0x43], bl
xor dword [ecx], ebx
loopne 0x53ca4a
cmp ch, byte [ecx + 0x43d840e5]
push edx
and eax, 0x5db131f0
mov dword [0xa9ced361], eax
jno 0x53ca74
mov dh, 0x5d
pop ebp
stosb byte es:[edi], al
fcmovb st(0), st(0)
inc ecx
add byte [ecx + 0x2c], dl
mov edx, 0xe555d87d
mov byte [0xdf4d81ad], al
fnstsw word [ebx]
cmp dword [edx - 0x2f], edx
bound esp, qword [esi]
push ebx
invalid
push ebx
and dword [esi], edi
adc edi, eax
pop esp
and dword [edi + 0x46], ebp
cmp eax, dword [eax + 0x43]
mov eax, dword [0x4da5ba76]
test dword [esi + 0x7f], edx
sub edi, ebp
jo 0x53ca80
add bl, byte [esi + eax*4]
dec ebp
mov bh, 0x50
mov bh, 0x1b
jl 0x53cb5d
rcr byte [ebp - 0x75], 1
push esp
insd dword es:[edi], dx
popal
std
mov ah, 0xf
cmp ecx, esp
int1
adc sp, word [eax]
enter 0xffffffffffffd254, 0x21
and byte [edx], dh
aad 0xe3
sal byte [ecx - 0x6271187f], 0xf8
push eax
inc ebx
inc edi
aas
adc dh, byte [ebx]
add byte [ecx - 0x7bfc2df5], ch
cld
add ebx, esi
movsd dword es:[edi], dword [esi]
xor dword [esi + 0x90013bb], edi
xor dword [edi + 0x797c6e2c], eax
loopne 0x53cad8
loopne 0x53cb7e
mov eax, 0xa6bf38b8
xlatb
bound esp, qword [ecx]
cli
xlatb
cmp edx, esp
add esp, ebx
xchg esp, eax
test byte [edx], al
invalid
cmc
dec ebp
ljmp 0xd5b7
xor ch, ah
call 0x51d4db06
xchg ebx, eax
lahf
or ebx, edx
int1
adc dword [ecx - 0x6d], 0xf1d3099f
jge 0x53cb84
insb byte es:[edi], dx
loop 0x53cba4
adc eax, 0xe181f151
aaa
add eax, 0x48917ef3
iretd
pop ecx
aad 0x7b
mov cl, 0x24
and byte [ebx - 0x14], bh
stosb byte es:[edi], al
push eax
popal
xlatb
pop es
outsb dx, byte [esi]
invalid