Function at 0x549309
Capabilities:
Encode data using xor

Disassembly:
mov esp, 0x29e87896
bnd ja 0x549368
xor eax, 0xebc85ea5
cmp esp, edi
mov ch, 0x60
inc edx
test dword [edi], 0x8b6e70a9
jno 0x5493a0
mov ecx, 0xf01c95b2
mov al, 0x65
out 0xf9, al
insb byte es:[edi], dx
xchg esp, eax
jb 0x54937e
mov bh, 0x2f
push eax
in eax, 0xcd
push es
les edi, [edi + 0x5ec614b3]
cli
and al, 0x78
rol byte [edx], 1
aaa
test dword [ecx], esi
xchg esp, eax
leave
adc al, 0xf5
fcom dword [edx + 0x2d]
or byte [ebp + 0x62652934], ah
wait
mov ebx, 0x79cb53a4
lodsb al, byte [esi]
int 0x84
test dh, dh
sbb byte [edx + ebp*4 + 0x5d], dh
int3
sal byte [ecx + ebp*4], 0x3c
and al, 0x2e
ficom dword [ecx - 0x41]
xchg dword [ebp + edx*2 - 0x4c], eax
pop eax
add al, 0x2a
aad 0xe4
inc esp
or ah, cl
jo 0x5493da
sbb dl, dl
mov ecx, 0xb75baf57
dec edi
les esp, [esi]
scasb al, byte es:[edi]
xlatb
pushal
div bl
ja 0x5493ff
cmc
ja 0x5493f0
insd dword es:[edi], dx
pop edi
aam 2
push ebp
scasd eax, dword es:[edi]
fisub dword [esi]
xor al, 0xf4
and cl, cl
leave
push ss
inc ebp
insd dword es:[edi], dx
popal
adc al, 0xe8
inc esi
push cs
xchg esp, ebp
push eax
add dword [ecx - 0x30], 0xe1be8910
shl dword [eax], 1
test byte [edi], dl
dec ecx
loop 0x549399
mov word [ebx + 0x21], es
mov al, 0x57
mov eax, dword [0xd9b6dfe8]
insd dword es:[edi], dx
and byte [ebx + 3], al
outsd dx, dword [esi]
fistp qword [ebp + 0x4c0463fc]
sti
in eax, dx
in al, dx
dec edx
mov byte [0x936c97cd], al
out 0xf9, eax
salc
mov eax, 0x5c675d10
add eax, 0xb194b42c
rep outsd dx, dword [esi]
xor al, 0x56
inc edx
or eax, 0xfe35ea4f
mov byte [0xddc43bcb], al
sub al, 0xc4
je 0x549448
retf
dec esi
pop ebx
retf
mov al, 0x55
push ds
mov ah, 7
stosb byte es:[edi], al
xor eax, 0xa0a74e41
in al, dx
stc
stc
jmp 0x54941c
xchg esi, eax
sal dword [esi + 0x278e0191], cl
add esi, dword [esi + 0x1f20a455]
inc edi
aaa
push ds
in eax, 0xc7
mov ch, 0x7d
iretd
sub edi, dword [edx + 0x14d6f48d]
out 0x74, al
fdivr st(2), st(0)
push eax
stosd dword es:[edi], eax
fdiv qword ss:[esi + 0x15]
call 0xeea66b69
stosb byte es:[edi], al
push ecx
cld
cld
sub eax, 0x16a59415
adc eax, 0x761646b7
lahf
dec ecx
inc ecx
je 0x54945e
push ecx
mov byte [0x91a5dcfd], al
je 0x549472
std
fsub qword [ebp + 0xfa7491]
and byte [ebx - 0x72], al
xchg ecx, eax
mov dword [edx + 0x35], ebp
xchg dword [edx], ebp
sbb eax, 0x7275ad3d
add byte [eax], ah
inc ebx
mov ss, word [ecx - 0x78ca9577]
sub bl, byte [0x7275ad3d]
add al, 0xdc
xor al, 0x83
insd dword es:[edi], dx
outsb dx, byte [esi]
les ebx, [ebp - 0x6d4be624]
lodsb al, byte [esi]
idiv dword [eax]
sal dword [esp + ecx*8 + 0x76df02f8], 0xc4
ja 0x54951d
xchg esi, eax
or al, 7
add al, 0xe1
add eax, 0x38b79a2f
mov ah, 0xdd
movsb byte es:[edi], byte [esi]
and eax, 0x7c4775dc
mov dl, 0xf0
add al, byte [ebp + ebx*8 + 0x40873839]
mov dh, 0x1f
fistp dword [ebx + 0x45]
leave
ja 0x549460
lea esp, [ecx + 0x23947587]
mov ah, 0x25
dec ebx
lds esi, [ebx - 5]
les eax, [ecx + 0x15a8977a]
xchg esi, eax
call ebx
xlatb
call 0x28fd6baa
cmpsd dword [esi], dword es:[edi]
mov edx, 0x69d1783
popfd
push es
inc esp
add al, 0xe7
add byte [esi + 0x57840156], ch
sub al, byte [0x73b038cf]
je 0x5494e2
test eax, 0x75d4569e
inc ebp
salc
insd dword es:[edi], dx
add al, 0x7a
push edi
xchg edx, eax
fst dword [0x338de817]
adc dl, al
call 0xd066c896
sal byte fs:[ebx + 0x225b0367], 1
std
add dl, byte [ebp - 0x7b]
mov al, byte [0xa531f1d]
cmp esi, edx
ror byte [edx - 0x343e2a62], cl
sub ch, byte [ebp + 0x44d514e7]
pop ebp
imul edx, dword [eax - 0x64], 0xffffffe2
loop 0x549504
sahf
aad 0xc1
retf
cmp al, 7
aas
mov bh, 9
sub dl, dh
xchg esp, eax
and eax, 0x25bf12d5
mov word [esi - 0x56da798a], ss
xor ecx, eax
xchg esi, eax
invalid