Function at 0x4aa7c0
Capabilities:
Encode data using xor

Disassembly:
mov byte [edi], ah
cmovl ebx, dword [edi - 0x7d]
add al, dh
push ecx
jmp 0xe4a5f277
pop edx
push 0xf42df367
outsd dx, dword [esi]
fcomp qword [esi + ecx*2 - 0x669d295e]
iretd
mov byte [0xcf9962d6], al
mov ah, byte [ecx]
loopne 0x4aa772
in eax, dx
wait
pop edi
in eax, dx
mov ebx, 0x895931d8
xchg ebp, eax
xchg ebx, eax
aad 0xf1
imul eax, dword [eax - reloc.MFC42.DLL_CDC::SetAttribDC], 0x29
mov eax, dword [reloc.MFC42.DLL_CDC::SetAttribDC]
mov eax, dword [reloc.MFC42.DLL_CDC::SetAttribDC]
add ebp, dword [reloc.MFC42.DLL_CDC::SetAttribDC]
jbe 0x4aa7a7
stc
ja 0x4aa79d
jo 0x4aa840
sub bh, byte [esi - 0x2777b739]
test byte [ebx - 0x1bf05db6], bl
ret 0xd809
cmp ch, byte [edi]
test edx, esp
cmp eax, 0xa57d5bd2
cmp dword [ecx], reloc.MFC42.DLL_CDC::SetAttribDC
out dx, eax
pop ebx
dec ebx
aaa
xchg esi, eax
xor byte [edi + 0x4c17c1c3], 7
sbb dword [di + 0x4879], edi
inc ecx
push 0x8607d625
mov byte [ebp + 0x2a], bl
push 0x4f
cmp ecx, dword [edi - reloc.MFC42.DLL_CDC::SetAttribDC]
fcom dword [edi + 0x3207dde0]
inc esp
jns 0x4aa895
aad 0x8f
mov cl, 0xd8
xchg edi, eax
loopne 0x4aa843
pop es
xor al, byte [ecx + edi*2 + 0x2a]
sub cl, byte [ebx - 0x44c720b]
fiadd dword [edi]
out dx, al
mov esi, ebp
cmc
lea esi, reloc.MFC42.DLL_CDC::SetAttribDC
loopne 0x4aa831
stosd dword es:[edi], eax
sbb ah, byte [eax]
in eax, 0x5c
and dword [eax], ecx
bound eax, qword [ecx - 0x5567a8e]
jb 0x4aa8c5
jge 0x4aa8f5
dec ebp
xlatb
and ecx, edi
mov edi, dword [ebx]
xchg ecx, eax
scasb al, byte es:[edi]
mov cl, 0x53
nop
xor dword [reloc.MFC42.DLL_CDC::SetAttribDC], 0xd0e3486e
push cs
loope 0x4aa85f
outsb dx, byte [esi]
dec eax
jecxz 0x4aa86c
sub byte [edx - 0x7a], ch
sbb eax, 0xf7675f91
xor dword [ebp + reloc.MFC42.DLL_CDC::SetAttribDC], edi
sbb byte [edi - 0x27], bl
popfd
mov cl, 0x7f
mov eax, 0x1f4ce8f7
push edi
shl ah, 0x5e
fcmovnbe st(0), st(0)
popfd
dec eax
jnp 0x4aa88e
insb byte es:[edi], dx
or eax, 0x94a08182
xchg esp, eax
aaa
fsubr qword [eax + 0x13]
sub eax, eax
xchg edx, eax
mov edx, 0xe54b00d
push esi
and esp, eax
ja 0x4aa945
mov esi, 0xdd88d0b6
xchg edx, eax
inc edx
xchg dword [esp + esi*8], esp
mov dword [ebp - reloc.MFC42.DLL_CDC::SetAttribDC], esi
push eax
wait
jl 0x4aa86a
lds edx, [eax - 0x65]
adc al, 0x7c
inc edi
mov word [ecx - 0x421231e9], fs
pop esi
cmp byte [edx + 0xc3b6c78], 0x85
dec eax
mov eax, dword [reloc.MFC42.DLL_CDC::SetAttribDC]
cmp dword [edx], ebp
daa
push esp
leave
invalid
retf
std
sbb dword [ebp - 0x24], 0xfffffff2
je 0x4aa8e6
and byte [edx], bh
pop esp
push ss
jge 0x4aa9a7
outsb dx, byte [esi]
mov bh, 0x3d
sbb bl, bl
jg 0x4aa924
mov eax, 0xa0eca5a1
push ds
pop esp
push ebp
sub eax, dword [edx + ecx*8 + reloc.MFC42.DLL_CDC::SetAttribDC]
mov eax, 0xce9f7b92
xor al, 0xd8
mov esp, 0xc3c37fd4
in al, dx
popfd
clc
inc esp
sti
enter 0x3d3b, 0xffffffffffffff99
invalid
add dword [eax], ebp
mov eax, dword [reloc.MFC42.DLL_CDC::SetAttribDC]
sub edx, 0x43
mov dl, byte [esi + 0x41f70f83]
stc
cmpsd dword [esi], dword es:[edi]
jns 0x4aaa21
or bl, byte [esi]
leave
in al, dx
mov edx, 0x21235450
ficomp dword [edi]
mov al, byte [eax + 0x3baeae1a]
leave
insb byte es:[edi], dx
adc al, 1
mov dl, 0x86
fiadd word [ebp - 0x1c12d595]
xor edx, edx
push 0x901e5af9
inc edi
and byte [ebx - 0x5af85d72], bl
stc
or byte [ebp - 0x6509542c], 0xb9
ficom word [edi - 0x6871fec9]
mov bh, 0xd0
das
pop eax
outsb dx, byte [esi]
adc ah, byte [edi + 0x54]
rcr bl, cl
leave
push dword [eax - 0x68]
pop ebp
invalid
mov edi, 0x3f45a6f2
cmpsd dword [esi], dword es:[edi]
fidiv dword [edi - 0x60]
mov eax, edi
push ss
mov dh, 0x8a
jo 0x4aaa3f
inc esp
push eax
sahf
push edi
sbb ch, byte [0xe0a877ad]
loope 0x4aaaad
and ah, bh
dec esi
sub dword [reloc.MFC42.DLL_CDC::SetAttribDC], esi
loope 0x4aaa26
insb byte es:[edi], dx
xchg dword [ebp + 0x2f], ebp
iretd
cwde
push ebp
push ds
sub edx, dword [reloc.MFC42.DLL_CDC::SetAttribDC]
les esi, [ecx - 0x40]
add dl, byte [0x8d0ef6a5]
cli
cli
aad 0x50
xor edx, ebx
cmpsb byte [esi], byte es:[edi]
and byte [edi], ch
pop ss
shr byte [esi], 1
mov al, 0xda
aad 0x34
adc dh, byte [eax + 0x21]
mov ebx, 0x8f6aa701
pushal
add esi, edx
and eax, 0x8766678e
add eax, 0xf6845144
pop ds
push ss
adc cl, cl
invalid