Function at 0x47e2d6
Capabilities:
Encode data using xor

Disassembly:
xor al, 0xfd
xchg ebp, eax
push 0x4f
mov bl, 0xad
push 0x47
into
fimul word [edi + 0x6b7cedef]
adc eax, 0x72788cdc
dec edx
mov ah, 0xcb
add eax, 0x53e79473
xchg esp, eax
out 0x53, eax
or ebp, dword [ebx]
imul eax, dword [ecx + 0x6e0bd605], 0x844cd5a8
cmpsb byte [esi], byte es:[edi]
lea ecx, [ebx - 0x59]
push 0xffffffffffffff9c
add dl, byte [edx + edi*8 - 3]
mov es, word [esp + esi + 0x2f]
mov dl, 0x45
and edi, dword [0x614b5ff9]
lock neg dword [edx + 0x13c94e81]
ja 0x47e047
jmp 0x47e0d4
fmul qword [edi]
inc esp
push eax
xchg edi, eax
mov esp, 0x3cfce0c6
insd dword es:[edi], dx
push ecx
je 0x47e14f
invalid
enter 0x64d6, 0xffffffffffffffe6
add dword [edx + 0x7b], 0x17
out dx, al
fisttp qword [edi + 0x6898ae58]
inc ebp
lodsb al, byte [esi]
push esi
or eax, 0x840deae6
retf
mov cl, 7
push es
daa
das
dec esi
int1
retf
aas
jg 0x47e19f
inc ecx
movhps qword [eax + esi + 0x22d5ce57], xmm3
invalid
fnstenv [edi]
popfd
mov cl, 0x11
mov ah, 0xde
and eax, ebp
and ecx, dword [eax - 0x1a6d87ed]
jnp 0x47e13f
and bh, byte [ebp]
jge 0x47e110
and dword [esi], edi
sal dword [edi], 1
outsb dx, byte [esi]
pop es
or al, 0x3c
pop ss
xor al, 0x62
mov edi, 0x7f417ee
xchg ebp, eax
out dx, eax
jno 0x47e131
jo 0x47e16d
pop eax
lds eax, [ebp + 0x32]
xor byte [eax + 3], ah
sbb eax, 0x7dbd2b10
in al, 6
inc ah
in al, 8
ljmp 0xc229
pop esi
cdq
add eax, 0xba2537fd
xlatb
call 0xef24311d
sub bh, byte [edx + 0x390ff508]
add al, 0x42
dec ebp
cmp bh, byte [esi - 0x43]
mov al, 0x5f
xchg esi, eax
aaa
xchg esp, eax
sal edi, 1
xlatb
cld
inc edi
xor eax, 0x670ce461
pop ebx
and al, 0
pop ebx
xor eax, 0x3bdaa2ce
xchg esp, eax
jbe 0x47e1e4
jo 0x47e23b
cmp eax, 0x1e543c1f
push es
das
mov dl, 0x6d
les edi, [esi + 4]
add byte [esi - 0x473527d8], dl
and eax, 0x64544797
cmp eax, 0x1586ec30
in al, 0x34
hlt
sub al, bl
retf 0x25b8
jo 0x47e28a
pop edi
pop ss
aad 0xe7
aas
adc eax, 0x23670507
xor byte [esi], dh
pop edx
dec esi
inc ecx
rcl byte [ebp + 0x17], cl
mov ebp, 0xa017b42b
adc esi, dword [ebx + 0x4167ebb0]
push esp
or byte [esi + 0x64], dl
mov edi, 0x4916fd11
push esi
mov edi, 0x4916fd11
sbb al, 0xa5
mov byte [ebp + 0xb5e54cd], ah
and al, cl
add eax, 0xd65335b4
xor bl, byte [0xbc6598cf]
jg 0x47e280
push esi
pop ebx
xor dword [ebp - 0x4449fa72], ebp
push ds
adc ebp, dword [edx + 0x6c]
mov es, word [0x131ebbb6]
push 0x6c
cmpsb byte [esi], byte es:[edi]
xchg esi, eax
insd dword es:[edi], dx
adc eax, 0xb167deb9
mov dh, 0xdd
pushal
add eax, 0x70e05b5b
xor ebx, esp
sub dword [ecx], ebp
and eax, dword [ebx + 0x17]
mov fs, word [esi + 0x4f073c3d]
or eax, 0x173a06f4
nop
daa
in eax, dx
sbb al, 0xdd
pop eax
mov esp, 0x35c051cd
fcmovnbe st(0), st(0)
mov ch, 0x76
loopne 0x47e336
popal
pop ss
in eax, dx
mov cl, 0x31
das
stosd dword es:[edi], eax
dec edi
inc ebp
sbb ebp, dword [edi + 0x45]
xor dl, byte [edx + ebx - 0x6b]
dec edi
cld
xor al, 0x27
sub esi, 0x56770a1b
ja 0x47e32e
jecxz 0x47e25e
or al, 0x35
push ebx
fst qword [esi - 0x2e]
and dword [0x3dec1478], edi
mov al, 0x22
fmul st(3), st(0)
outsd dx, dword [esi]
nop
daa
enter 0xffffffffffff9326, 0x14
lodsb al, byte [esi]
push ss
das
push edi
cmpsd dword [esi], dword es:[edi]
push edx
pop ecx
push es
lds ecx, [ebx]
pop es
or eax, dword [edi]
sub edx, ebp
inc ebp
sbb byte [ebx - 0x6e], 0x14
dec edi
add al, 2
invalid
jno 0x47e352
js 0x47e3a2
js 0x47e2fb
fld qword [esi + 0x70c2c69]
test byte [ecx + 0x6f74820d], al
xor esi, 0x820d320
fst dword [esi + 0x69]
push ds
jge 0x47e367
invalid
push ebp
mov edi, 0xb173b2b
ror byte [eax], 1
and eax, 0xef69479
sti
sal dword [edi], 0x52
jo 0x47e39d
dec esp
leave
lodsd eax, dword [esi]
inc esp
das
aam 0xfd
and dword [ecx + 0x45023f57], eax
scasb al, byte es:[edi]
ljmp 0xff7c
sti
orps xmm5, xmmword [ecx]
sub dl, byte [ebx]
pop ds
adc ebx, dword [edi]
mov esp, 0xf50ed756
jge 0x47e3cc
mov byte [ecx + edi*4 + 0x73a66c72], ah
sub dword [eax + 0x1888084b], ecx
mov byte [ebx + 8], cl
mov byte [eax], bl
test dword [edi], ebx
nop
shl byte [ecx*4 + 0x4c4d5784], 0x7d
pop edx
test al, 0x77
daa
jae 0x47e3f5
invalid
sbb dword [edx + 0x25], ebp
insb byte es:[edi], dx
call 0x2077f1d2
push ecx
test eax, edi
loopne 0x47e3b3
and byte [edx - 0x1fcb05cc], bh
mov dword [0x456b94ec], eax
clc
test eax, 0x219901f1
add al, 0x88
xor dh, byte [ebp - 0x58]
xor dword [ebx - 0x17479f48], edi
push 0xa375021b
xor al, 0xe9
js 0x47e3b3
call 0x7549ff62
mov dword [0xb478e934], eax
sub al, 0xe0
nop
lea ecx, [ebx - 0x6f]
mov bh, 0x86
cmp al, 0xbe
sbb esi, dword [esi + 0x45900178]
inc esi
mov byte [eax + 0x48], bh
dec ebx
loope 0x47e47c
xchg byte [ecx], ch
loopne 0x47e46d
movsb byte es:[edi], byte [esi]
adc byte [ecx + 0x6c7aca80], dl
leave
bound eax, qword [eax - 0x475fc618]
push esi
dec edx
out 0xad, al
adc dword [eax + ebx*8 - 0x57], edi
inc ecx
dec esp
mov dl, 0x4f
xor al, byte [eax - 0x49]
lodsb al, byte [esi]
dec eax
dec esp
sahf
lcall 0x1af2, 0x90d6648
out 0x78, al
invalid
popfd
scasd eax, dword es:[edi]
cld
fdivr st(0)
xlatb
insb byte es:[edi], dx
mov edx, 0xaad64845
push 0xffffffffffffffbf
pop ecx
mov byte [0x61d0c36d], al
nop
test al, 0x9f
stosd dword es:[edi], eax
ror byte [edi - 0x1ea75c19], 0x1b
or dh, byte [edi - 0x470c5d4a]
jns 0x47e4c0
stosb byte es:[edi], al
mov edi, 0xa34b69b9
cmp al, 0xb1
jg 0x47e4e2
pop ebx
sub dword [esi + 0x16d46fa2], ebp
lcall 0xa62b, 0x85b865ae
cmp byte [esi], ch
out dx, al
xchg ebp, eax
push cs
mov ebp, 0x10f8247c
in eax, 0x4d
cwde
leave
invalid
mov edx, 0x80bb84f8
or eax, 0x79e46831
out dx, al
xchg esp, eax
jne 0x47e47b
or ebp, edx
mov ebx, 0x5aaac481
ja 0x47e538
movsb byte es:[edi], byte [esi]
js 0x47e53c
mov ecx, 0x39443734
mov dword [0xd18014a9], eax
adc dword [eax - 0x2f], esi
adc al, 0x80
rcl dword [ecx]
jo 0x47e4b9
lodsd eax, dword [esi]
add al, 0xd2
test byte [ecx + 0x6d488891], al
aam 0xfc
loope 0x47e51d
push 0x5db010cd
invalid
add byte [eax - 0x2febdd0], 1
fst st(7)
lodsb al, byte [esi]
mov byte [esi - 0x74], ah
mov ebx, 0xd687fa8b
invalid
sub eax, 0xfff8e8ab
dec ecx
sub eax, 0x9f440e63
dec dword [ecx + 0x2d]
arpl word [esi], cx
inc esp
lahf
or al, 0xe2
loopne 0x47e59f
dec eax
invalid
xor byte [ecx], 0xca
xor edx, dword [edi + esi*8 + 0x19]
aam 0x96
mov ebx, 0xafc16f3f
scasd eax, dword es:[edi]
mov ah, 0x35
mul byte [ebp - 0x45]
mov bh, 0xfa
xor eax, 0xb7bb65f6
cli
sub eax, 0x83f0e27
mov ecx, 0x732540a1
aas
or byte [ecx + 0x732540a1], bh
mov ch, 0xd5
and eax, dword [edi]
pushfd
and dword [ecx - 0x36ae37de], 0xffffff80
inc eax
lds edi, [ebx - 0x5e]
mov dword [ebx + edx*8 + 0x24e4a117], ecx
lahf
fdivr qword [ebp - 0x28252ac3]
rcl byte [eax]
int 0x83
leave
xchg esi, eax
call 0x36489372
xchg edx, eax
insd dword es:[edi], dx
sar byte [edi - 0x205ad2f6], cl
or eax, 0xfa1cfb3b
inc dword [eax + 0x67bfb0d5]
int 0xa0
jo 0x47e5ac
fcom dword [edi + ebx*2 + 0x5194959c]
cmpsb byte [esi], byte es:[edi]
in al, 0x28
lodsb al, byte [esi]
loope 0x47e641
rcl esi, 0x8a
arpl word [esi - 0x6925bcf2], cx
fcom qword [ebp - 0x63736a43]
or eax, 0xc9893d85
lahf
cmp dword [ecx - 0x2c], esp
jo 0x47e5ae
test al, cl
mov dh, cl
jo 0x47e5b7
sbb edi, 0xeeceaad9
cwde
mov ecx, 0x6a9ac9e0
adc edi, ecx
mov cs, esi
enter 0xffffffffffff84d1, 0
add al, 0x3a
nop
neg byte [ebp + ebx*8 + 0x1c733bbd]
lea esi, [eax + 0x3eaade01]
xor al, 0x85
mov al, 0xa7
mov ch, 0x79
fimul dword [edi + ecx - 0xf057d04]
fst qword [edx]
aad 0x8c
add esi, ecx
mov word [ebx + 0x2aa3eb48], es
mov dword [ecx + esi*8], 0xc19bc6d6
js 0x47e6c0
dec esi
imul esi, dword [ebx - 0x4b426b03], 0xffffff8d
or byte [ebp - 0x4a4fc578], ch
aad 0xed
mov dword [0xeea5c7f0], eax
cmp eax, 0x9d8a6842
xchg esp, eax
xor byte [esi - 4], 0xa
inc esi
mov bl, 0x48
sar byte [ebp + 0x6320d891], 1
inc esp
mov ah, 0x13
cmp eax, 0xd1665c88
mov al, byte [ebp*4 + 0x423f9441]
pop ebp
nop
mov edx, 0x3595bcbd
scasd eax, dword es:[edi]
movsd dword es:[edi], dword [esi]
sbb eax, dword [ebp + 0x7f99377a]
xor dh, ch
std
push 0xfffffffffffffff1
insd dword es:[edi], dx
in eax, 0x3e
and byte [edx], 0x41
and byte ds:[edx], 0x41
call dword [eax - 0x41a952c1]
in eax, dx
stc
push esp
xor eax, 0xfe929c58
mov dh, 0xed
sbb ah, cl
mov eax, 0x8e3db562
push es
cdq
aam 0xf5
invalid