Function at 0x5576b4
Capabilities:
Encode data using xor

Disassembly:
cli
aas
and dh, byte [edx + 0x57]
shl byte [ebp + 0x6a], cl
loopne 0x55768d
aas
jno 0x55766d
sti
imul byte [esi + 0x42a3f527]
push 0x91bce0c1
stc
sub al, bl
mov esp, 0x28f2f991
fadd st(5)
fist word [ebx - 0x7051dff]
invalid
loop 0x557632
clc
mov esi, 0x4e92f93
and byte [eax], dh
outsd dx, dword [esi]
mov byte [0x5780e103], al
jo 0x5576a4
fistp qword [edx]
sub al, 0x5e
mov edx, 0xd06d51d1
pop ebx
cld
jecxz 0x5576c8
pop eax
add eax, ecx
inc edi
and byte [ebx - 0x2ad41ed7], dh
cli
xor bl, byte [edi + 0x1b9632af]
movsd dword es:[edi], dword [esi]
adc dword [eax], esi
inc edi
out 0xba, eax
sar byte [ebx], 1
sti
test al, 0x61
je 0x557615
dec ebx
jae 0x55762c
invalid
jp 0x557670
mov eax, 0x923818c1
xchg esi, eax
and al, 0xf0
jb 0x5576a6
sbb byte [eax - 0x32c4b3ce], 0x88
xor esp, edx
xchg ebx, eax
mov byte [ebx], dh
loop 0x557636
test al, 0xce
into
out 0x55, al
push ebp
mov edi, 0xad47274e
mov dword [0xafb7541], eax
mov al, 0x49
cmpsb byte [esi], byte es:[edi]
add ecx, dword [eax + ecx*4 + 0x58]
insd dword es:[edi], dx
push ebp
insb byte es:[edi], dx
and byte [eax + esi*4 + 0x34], dl
xchg ecx, eax
rcr ebp, 1
mov ah, 0xa1
push es
inc edx
dec ecx
sub byte [esi], ah
sub byte [esi], ah
push cs
rol bh, 1
mov cl, 0xf4
ror dword [esi - 0x3d461fb2], cl
jge 0x55774b
shr dl, 0x67
inc eax
dec eax
retf 0xec68
pop edi
sal bl, 0xb7
mov al, 0xad
jo 0x557765
xor al, 0x15
wait
imul esi, dword [edx - 0x3e], 0xffffffa0
inc esp
mov al, 0xba
leave
jmp 0x55769f
lds esp, [edx + 0x63f878]
or dword [edi - 0x43], 0x8c7bb57e
inc esp
mov ch, 0xbf
mov word [ebp + esi*4 - 0x41], es
and dword [edx], esp
cld
jo 0x557796
push ss
pop eax
js 0x55777e
pop ebp
push ds
push ebp
in al, dx
popal
cmp al, byte [eax + eax*8 + 0x50a265ca]
lea ebx, [esi + 0x16]
jecxz 0x5576f5
aaa
arpl word [esi], dx
mov bl, 0x87
shl byte [ebx + 0x4920f866], 1
fadd dword [edi]
cmp dl, bh
jbe 0x55773f
cmc
or dl, byte [edx - 0x24e4a9de]
push 0xf3f7525d
and dl, byte [esi + 0x1b]
fld xword [eax + 0x5d]
push edx
div ebx
jle 0x5577f1
int1
jmp 0xd62b0cc1
push edx
mov eax, dword [eax - 0xf]
adc ecx, eax
mov byte [edx], dh
mov bh, 0xc0
mov dh, 0x70
sbb ah, dl
invalid
retf 0x130c
loopne 0x557854
mov esi, 0xa451d197
dec ebx
out dx, al
add byte [edi + ecx*4 - 0x5eb7cc45], dl
xlatb
mov eax, 0x47b4d4f5
xchg ebx, eax
adc ebx, edx
scasb al, byte es:[edi]
adc dword [ebp + 0x3f], esi
pop ebx
xchg esp, eax
adc dword [esi - 0x1a], ebp
sbb dl, byte [ecx]
xchg byte [eax + edx], dh
jo 0x5577b8
xor al, 0xf2
or eax, 0x512ecf7d
push ecx
sti
fadd dword [eax + 0x2980d3a1]
xchg byte [edx - 0x8398e28], al
mov bl, 0x80
push ds
salc
pop ds
and byte [ecx - 0x79d67f2d], 0x82
fdiv dword [ecx - 0x3a]
div dword [ebx + 0x1fd61e80]
add ebx, eax
lodsb al, byte [esi]
push edi
mov ecx, esp
and byte [esi + esi*8 - 3], ah
xor al, 0xa8
jl 0x557824
popaw
push eax
add eax, 0x2062d55b
jae 0x557892
movsb byte es:[edi], byte [esi]
or al, 0x94
pop ss
xchg edx, eax
in eax, dx
sub dword [eax - 0x7e], esp
dec edi
mov al, al
or byte [edi - 0x76], 0xc0
and eax, 0x2474d452
retf
and byte [ebx], ah
and dl, al
mov byte [0x6ae0da45], al
fsub qword [ebx + 0x7a]
dec ebp
xchg edi, eax
wait
cmpsd dword [esi], dword es:[edi]
or byte [eax - 0x7e], al
push esp
mov dl, 0x5a
push ebp
or al, 0xe8
inc ebx
mov byte [0x98323294], al
add esp, dword [edx + 0x1080d6ce]
inc ecx
mov cl, 0x34
xchg edx, eax
ljmp 0x3db3
test al, 0x50
pop ebp
aaa
jo 0x5578c8
dec edx
and al, 0xdb
jno 0x557875
pop ebx
mov edi, 0x5040c719
stosd dword es:[edi], eax
invalid
jae 0x55785f
sahf
std
hlt