Function at 0x47ed59
Capabilities:
Encode data using xor

Disassembly:
stosd dword es:[edi], eax
nop
cld
ficomp word [esi + 0x7f8081c6]
invalid
push ebx
push esi
outsb dx, byte [esi]
pop edx
daa
and al, 0x53
test byte [edx + 0x70], al
stosb byte es:[edi], al
sal dword [esi], 0x70
cmp al, 0x2b
pop esi
dec esi
xchg edx, eax
inc edx
mov ebp, dword [ecx - 0x61]
ret
inc ecx
dec eax
wait
xor eax, 0xaac329c3
cmp ebx, dword [edx - 0x73]
dec ecx
mov byte [esi + 0x52], bh
jbe 0x47eca1
pop edx
jae 0x47ed30
loope 0x47ecf3
into
dec edx
stosd dword es:[edi], eax
mov ah, 0x92
mov dh, 0xa3
imul eax, esi, 0x3c
ja 0x47ed1d
push ebx
adc dword [edx + ebx*2 + 0x6d38cda1], esp
mov esp, 0xa71c4692
movsb byte es:[edi], byte [esi]
pop edx
mov eax, dword [0xbc6d38cd]
xchg edx, eax
inc esi
sbb al, 0xa7
jp 0x47ecee
jns 0x47edb5
add byte [eax + 0x329e49dc], bl
sub al, al
sub dh, bl
cld
inc ebx
push eax
adc al, 0x75
dec edx
cmp al, 0xb9
sti
or eax, 0xd0c2401a
and eax, 0x6e430959
or dword [ebx + 0x6e], eax
or dword [ebx + 0x6e], eax
or ebx, dword [esi]
jge 0x47edc7
mov ebp, 0x2025aa7
jbe 0x47ed0c
adc esp, dword [ebx - 0x27]
inc ebp
push edx
out 0x6b, al
jae 0x47ed0e
adc dl, byte [edx]
aaa
jmp [ebx]
int1
add eax, 0x8fba2df8
adc eax, 0x55f07039
imul eax, dword [ecx], 0x9fb712ea
xor byte [ecx], al
mov dl, byte [esi + 0x25]
aas
jns 0x47ee15
add dword [edx + 0x793f2556], ecx
inc edi
insb byte es:[edi], dx
push esp
jnp 0x47ee13
mov ebp, 0xbfa56b50
pop edx
mov al, 0xc1
shl byte [ecx + 0x51], cl
add dword [esi + esi], ebx
mov dword [ecx], ecx
cmp eax, 0xb7939d64
mov al, 0x34
xor ebx, dword [ecx - 0x4eee9e1f]
leave
sbb ecx, edi
stc
xchg edx, eax
adc byte [ecx + 0x70], al
sub eax, 0x5115b319
sal dword [0xf1db6779], cl
stc
xor ebx, ecx
movsd dword es:[edi], dword ss:[esi]
dec dword [ebp - 0x71]
pop esp
or dword [ecx], edx
wait
fnstcw word [ecx]
jns 0x47edf1
popfd
pushfd
nop
int 0xad
inc ebp
xor al, 0x34
jnp 0x47ee2c
jnp 0x47ee1f
cmp al, 0x40
inc eax
in eax, 0x35
sbb eax, 0x8549fb9d
mov ebp, 0xd20c1e5
push esp
mov ch, 0xd7
push 0xfffffffffffffff8
mov bh, 0xa7
adc byte [ebx - 0x48adcb4e], bh
xor dword [ecx], ebp
sbb byte [edx + 0x34], 0xb6
in eax, dx
std
xchg dword [edx + 0x59319de], esp
inc edx
pop ds
adc al, 0xb0
aad 0x36
test edi, 0xb1648467
in eax, 0xc1
pushal
scasd eax, dword es:[edi]
sub edi, dword gs:[ebx + ebp*4]
cmp dword [eax - 0x49ada1b], esi
xor eax, 0xc9148f51
jl 0x47ee5b
mov ecx, 0x8fb5fb21
and dword [ecx - 0x67b42662], ecx
in eax, 0x37
stc
test eax, 0x7c2e20d6
jo 0x47eef9
jl 0x47ee01
add dword [ecx - 0x7b], 0x21
inc ecx
test dword [ecx], esp
hlt
sal dword [esi + esi*4 - 0x4e], 1
rcl ecx, 0x4e
popal
and ecx, dword [ebx]
rcr dword [ecx - 0x6f4abccd], 1
mov ebx, 0x79190884
pop esi
xchg ecx, eax
salc
xor ch, byte [ecx + 0x713a2516]
clc
rcl byte [ebx], cl
fnstsw word [ebp + 0x21da5963]
cmp eax, 0x8526c3b2
invalid
test eax, esi
bound edi, qword [eax - 0x4cb272b1]
mov al, byte [0x71bec38b]
sub dword [ecx - 0x22], edi
xlatb
sub dword [edx - 0x70], ecx
dec edx
nop
sahf
cwde
jge 0x47ee7c
mov eax, dword [0xbab2b982]
jb 0x47ee92
dec ecx
rol dword [ebx], 1
and dword [ecx - 0x7f], edx
sbb dl, byte [ebx + edi*8 + 0x6c644959]
mov ecx, 0x3bad3909
push esp
mov word [edx - 0x60], ds
popfd
and dword [edx], esi
mov cl, 0xf7
invalid
sal dword [ebx + 0x66], 1
pop ebx
cmp dword [eax], 0xffffffb9
lea edi, [ecx]
mov dh, 0x61
mov eax, 0x28b8773d
jb 0x47ef41
sub dword [ecx - 0x74], ecx
out dx, al
pop esi
insb byte es:[edi], dx
jnp 0x47eebd
sbb byte [edx], dh
insb byte es:[edi], dx
mov bh, 0x4a
ja 0x47eecf
sbb dh, byte [edx + 7]
imul edx, dword [ecx + 0x4e], 0xae83adeb
and ch, byte [ebp - 0x36fc2e12]
mov bh, 0x98
movsd dword es:[edi], dword [esi]
sub al, 0x32
pushfd
invalid
pushal
push 0xfffffffffffffffb
cmpsb byte [esi], byte es:[edi]
in al, 0xf1
dec esi
xchg edx, eax
in eax, dx
cmp edx, ecx
inc edx
pop esp
mov edx, 0x6bd7e673
in al, 0x82
test byte [ecx], 0xb6
mov bl, 0xad
mov esp, 0xb95e1979
mov edx, 0x947a9022
jle 0x47ef73
test eax, 0x9afeb75b
dec esi
fcom st(0)
dec edx
dec esp
cwde
xchg esp, eax
pop eax
jle 0x47ef84
or ecx, dword [edx + ebp]
lodsb al, byte [esi]
push eax
into
sub al, 0xc2
and byte [esi - 0x50b453be], dh
cmp eax, 0xd26fea0d
rdpmc
pop ebp
sub eax, 0xe3129652
sahf
mov dh, 2
rcr byte [ecx - 0x4c42ab06], cl
stosb byte es:[edi], al
aam 0x3a
lcall 0x9b5b, 0xdda026f1
stosd dword es:[edi], eax
aad 0x6a
mov cl, 0x31
test byte [eax], ch
jl 0x47f017
invalid
invalid