Function at 0x47c561
Capabilities:
Encode data using xor

Disassembly:
or ch, dl
pop es
or edx, dword [0x4178810d]
adc eax, 0xc49add9a
adc dword [esi - 0x2c], esi
aas
inc ecx
lcall 0xa2ac, 0xa9c44635
xor dl, byte [ebx]
mov ah, 0xdd
mov eax, dword [0x1ae032d5]
adc al, 0xf3
mov byte [0x2c5768e], al
salc
push edi
push ebx
inc esp
cmpsd dword [esi], dword es:[edi]
sub dword [ebp + 0x41], 0x19950055
pop edx
xchg ebx, eax
add esp, edx
push eax
outsd dx, dword [esi]
push ecx
add dh, byte [ecx]
daa
ret
jo 0x47c37e
stosd dword es:[edi], eax
push 0x6665c4e1
pop esp
in al, dx
pop ds
sub eax, 0x446036b1
sub eax, 0x446036b1
mov ch, 0xad
in eax, dx
and dword [ecx + 0x4b47060], 0x3c
mov esp, 0xbba795f0
cwde
cmc
inc edx
push ebx
bound eax, qword [eax]
add al, 0xf7
hlt
jbe 0x47c41b
mov bh, 0x34
xchg esp, eax
clc
xlatb
mov byte [esi + eax*2], cl
cmp dh, byte [ecx + 0x605050ff]
adc byte [ebp + edx*8 - 0x11], 0xfd
aad 0xef
std
cmc
jmp 0x47c46d
jnp 0x47c3da
jecxz 0x47c3cd
mov ss, ebp
fstp xword [eax + 0x6f]
scasd eax, dword es:[edi]
and al, 0x3e
ret 0xd156
les esi, [ecx]
cmp esi, dword [ecx + edx*8 + 0x20f13d52]
mov eax, dword [0x9b7044e8]
fcmovnb st(0), st(1)
loopne 0x47c423
cmc
inc eax
jg 0x47c4dc
jg 0x47c423
cmp al, 0xe9
sbb eax, 0xd50a211
and al, 0xb7
je 0x47c504
jno 0x47c4de
jne 0x47c4d0
not esp
and eax, 0x171d8702
int 0x79
sal cl, 0xd5
jge 0x47c434
push esp
adc ebx, esp
mov al, byte [0x2d04a6fa]
pop edx
out 0x77, ax
mov dl, 5
ret 0x16f4
out dx, eax
xchg ecx, eax
cdq
cdq
pushal
test eax, 0xe1c592b1
movsb byte es:[edi], byte [esi]
in eax, 5
xor eax, 0xd4c6e799
jno 0x47c555
add eax, 0xc6e79935
cdq
out 0xc6, eax
aam 0x71
jno 0x47c476
xchg ecx, eax
das
sbb dword [ecx], ecx
dec ebp
hlt
xor dword [edi + eax], esi
aaa
adc byte [ebp + 0x79], dl
inc esp
mov dword [0x444dac40], eax
dec ecx
mov al, 0x11
shl byte [ecx + ebx*4 - 0x72aa4ef8], 0x66
mov eax, dword [0xdec0b333]
xor byte [ecx], bh
add bl, dh
pop esp
invalid
and al, cl
mov dword [0xb5087971], eax
and ebx, edi
pop es
shl dword [ecx], cl
invalid
xor al, 0xae
xor eax, 0xc2ec6d8c
das
xor dword [edx], 0x99619e4
xchg esi, eax
or dword [ebx + 0x6b], eax
movsd dword es:[edi], dword [esi]
jne 0x47c5cf
or edx, dword [ebp - 0x2c]
lea ebx, [ecx - 0x5e337bcb]
mov word [edi + 0xe], cs
dec bh
sbb eax, dword [ebp + 0xb]
push cs
xchg edx, eax
mov byte [ecx + 0x49dd21f5], ah
adc eax, 0x253a70ac
add dword [0x4991ac00], ecx
movsd dword es:[edi], dword [esi]
je 0x47c52f
xchg edx, eax
mov dh, 0xde
pop ebp
dec ebp
jae 0x47c5d4
push 0xf7c3fc61
and dword [eax - 0x40399f9f], esi
jno 0x47c5e6
jae 0x47c5db
sbb dword [edi], esi
test ch, dh
int 0x9f
push dword [edi + 0x1f]
ror ecx, 0xa1
pop ecx
cmovno ebp, dword [ebx - 0x289d63b1]
adc dword [ebp + 0xd], eax
bnd jbe 0x47c635
inc ecx
inc eax
cmp al, 0x15
mov bh, 0x63
xlatb
iretd
sub dword [ebp - 0xe], eax
jne 0x47c5ed
xchg ebp, eax
test eax, 0x68f0a3d4
fisttp dword [edx + 0x25]
push edi
adc esi, dword [edx]
in al, dx
aam 0xa3
invalid
in al, dx
mov bh, 0x50
popal
popal
test ebp, ecx
add byte [ebp + 0x4f33c543], ch
jbe 0x47c5a8
inc ebp
in al, dx
lodsd eax, dword [esi]
mov byte [0xa06318dc], al
test dword [ecx], 0x3315faa5
xor byte [ebx + 0x69833a17], dh
xchg ebp, eax
xchg edx, eax
in eax, 0x92
and al, byte [esi + edx*2 - 0x3470f5cf]
bound eax, qword [edx]
jno 0x47c63f
cmp dword [edx - 0x1bdfa4c6], 0x915190b8
mov ecx, 0xc0122204
adc al, al
fld qword [edi + ebp*2]
jg 0x47c689
invalid
test byte [ebp - 0x7db60a8e], bh
xor dword [ecx + edx - 0x6efff657], ebx
xor esp, esp
pushfd
adc dword [ecx + 0x2e910009], ebp
xor esp, esp
ja 0x47c625
in eax, 0x13
push esp
leave
sbb byte [ebx - 0x3c], dl
jne 0x47c62e
adc edx, dword [ecx + ecx*8 + 0x18]
push ebx
les esi, [ebp - 0x1a]
push ds
add bh, byte [eax + esi + 0x45a0f0fb]
pop es
test dword [ecx - 0x7c], edx
imul ebx, eax, 0xffffff80
pop edx
xor al, 0x75
aad 0x1c
add eax, 0xb6721ac4
rol byte [ebp + 0x2d7e3580], 1
rcr esp, 0x90
inc eax
aad 0x70
mov cl, 0xec
fcmovnb st(0), st(6)
inc ebx
lcall 0x3e21, 0xae483e66
and byte [0x41feb34b], ch
xchg dword [esp + edx*8 + 0x65], eax
mov ch, 0xd1
mov ch, 0xd1
stc
and dl, byte [edx - 0x7e47cd8e]
jne 0x47c6c9
jb 0x47c6bd
mov eax, 0x943a7581
xchg esp, eax
cli
call 0x4b24bec
inc ecx
xchg byte [ebp - 0x18b7ddaa], al
add eax, esi
test byte [ebp - 0xadf2ed0], dh
xor cl, 0x2b
invalid
push dword [ebp - 0x2c7f3e4c]
xchg ebp, eax
loope 0x47c683
shl ecx, 0xa5
push edx
insd dword es:[edi], dx
cmc
leave
jae 0x47c6a5
invalid