Function at 0x47aeac
Capabilities:
Encode data using xor

Disassembly:
pop ebx
and dword [ecx + 0x6be28578], eax
loop 0x47af19
loop 0x47af19
outsd dx, dword [esi]
scasb al, byte es:[edi]
push ecx
dec esp
sbb al, 0x70
outsb dx, byte [esi]
rcl dword [edi + 0x3f58e50b], cl
les ebp, [0x19406f68]
jnp 0x47aea7
stc
popfd
cmp byte [eax + edx*2 - 0x46], bl
push 0xffffffffffffffab
aam 0x92
rcr dword [ebx - 0x78aad782], 0x8e
push ecx
xchg esp, eax
sbb al, 0xa2
adc dword [edi - 1], eax
invalid
jne 0x47af29
fisubr dword [edi]
and dword [edi - 0x55d760d6], esi
inc ebp
cmc
and eax, 0xbfad810c
adc al, 0x6a
cmp ch, byte [ebx]
lodsd eax, dword [esi]
mov edi, 0x2b3a6a14
and ecx, dword [ebx]
push edx
add ah, byte [edx - 0x1e]
mov ah, byte [ebp + edi*2 - 0x5071c6a8]
lcall 0x8f63, 0x79551a63
jl 0x47af84
ljmp 0xfc5d:0x6e800411
sub al, 0x3a
xor edx, dword [esi]
in eax, 0xf6
and eax, edi
scasb al, byte es:[edi]
xor bh, bl
mov esp, 0x52031fb5
sal dword [esi], 1
cmc
shl dword [eax + edx*4 + 0x170ce2f1], 1
and byte [edi], dh
fadd st(5), st(0)
aas
pop ss
test ah, bl
popfd
push es
scasd eax, dword es:[edi]
xchg dword [edi], ecx
push esp
inc esi
xchg edx, eax
fiadd dword [eax - 0x1b]
push ss
out 0xd8, al
and eax, 0x41c4b287
inc ecx
dec eax
fisub dword [edi + 0x400291b0]
xor dword [esi], esp
xchg ebx, eax
and dword [esi], ebp
mov ebp, 0xdb2903a5
push edi
mov byte [0x657f90d1], al
inc ebx
leave
not dh
das
jecxz 0x47af4e
mov ebp, 0xdcc19ed0
sub al, 0x4f
mov byte [esi], ah
dec ebx
jno 0x47afb8
add al, dl
shl byte [eax], 0xe8
int 0x57
mov bl, 0x19
stc
bound edx, qword [0xcc5b8617]
or dword [esi], 0xffffffd5
arpl word [edi], ax
frndint
out 0x3b, al
bound ecx, qword [eax - 9]
xchg dword [ebx + 0x1daef255], ecx
xor byte [ecx + 0x3ef47ed1], bl
mov bh, byte [edx + 0x60]
dec ecx
call 0x172ece7
test eax, 0xffe97543
sub byte [ebp - 0x5e], al
adc dword [edx - 0x39fab06f], edi
push esi
sahf
bound edx, qword [ebp + 0x537ed578]
or al, 0x55
inc esp
fbstp tbyte [ebx - 0x675f126e]
cmp dh, byte [edi + 0x45]
leave
arpl word [ebx - 0x78], di
add byte [eax - 0x3b], dh
mov cl, 0x55
sub eax, 0xb115eceb
fld st(3)
mov edi, 0xb953a9bd
xchg esi, eax
jmp 0x47b05b
popfd
jb 0x47b091
and eax, ecx
pop edi
stosb byte es:[edi], al
sub dword [ecx + eax - 0x6b], eax
je 0x47b076
imul esp, esp, 0x3d
and byte [ecx - 0x72], al
mov esi, 0xf9028728
xchg dword [ebx + edi*4 + 0x16], ecx
push ss
sub ebx, dword [0xe1d4093a]
in al, dx
movsb byte es:[edi], byte [esi]
push es
jb 0x47b0bd
pop ds
fisttp dword [esi + 0x60968967]
outsb dx, byte [esi]
push eax
inc ecx
adc eax, 0x8cb4172c
dec esp
retf
cdq
invalid
loope 0x47b0d6
adc byte [ecx + 0x1d], 0x96
pop esp
push cs
lodsd eax, dword [esi]
push esp
push ebx
lahf
outsd dx, dword [esi]
movsb byte es:[edi], byte [esi]
cmpsb byte [esi], byte es:[edi]
dec esp
inc eax
call ebx
add al, 0x66
mov ch, 0xe0
loopne 0x47b137
cli
invalid
jne 0x47b149
shr byte [edx], 0x5f
clc
movsd dword es:[edi], dword [esi]
jnp 0x47b116
aad 0x26
popal
cmp eax, 0xc33827c5
sar byte [esi + eax*2 + 0xc], 0xd9
xor al, 0x82
xchg esp, eax
sub eax, 0x1030d0b3
out dx, al
inc esi
fst dword [esi - 0x2a60f8f4]
or ah, byte [0xc7188e1d]
popfd
inc edx
stosb byte es:[edi], al
or al, 0xc6
add edi, dword [ecx]
imul edi, dword [esi + eax*4 + 0x62762e75], 0x8a523f7f
jp 0x47b0b7
in eax, dx
xchg edi, ebx
loope 0x47b0a6
popal
insb byte es:[edi], dx
inc eax
ret 0xad07