Function at 0x47091c
Capabilities:
Encode data using xor

Disassembly:
retf 0x362c
push esi
mov ebx, dword [esi - 0x3b]
cmp dword [ebx - 0x69], esi
insd dword es:[edi], dx
xchg edx, eax
popfd
inc esi
test al, 0xa
inc esi
jbe 0x4707c4
push ds
rcl byte [eax + eax]
add ah, dl
cmp dword [eax - 0x44c7e995], 0xf78bd341
out dx, al
adc eax, 0xc9c6a7ce
cdq
inc esi
sal byte [ecx], 1
add esi, dword [0x926d95d5]
cld
and dword [eax], eax
mov dl, 0x46
add bl, byte [edx - 0x2384382a]
imul eax, dword [eax], 0x862d0b3f
mul byte [ecx]
shr cl, 0xfc
xor dword [esi + 0x4e], 0x76
xchg edx, eax
mov dl, 0x5c
xchg ebp, eax
adc al, 3
add byte [edx - 0x2275e733], dh
test al, 0x63
lahf
out dx, eax
xor dword [esi - 0x16], 0x74
xor byte [edx - 0x445b8c4f], 0x34
cmp dword [0x2c143ffd], ecx
xor eax, 0x3a3d8314
dec ebp
mov dh, 0xd7
push ds
dec ebp
sub edi, dword [esi + 0x13]
push 0xd7b661e4
loope 0x4708e5
salc
invalid
xchg byte [ebx + ecx*8 - 0x39], bh
inc byte [esi + 0x15]
xchg edx, eax
movsd dword es:[edi], dword [esi]
invalid
dec ebp
pop ds
jle 0x470850
into
cmp edx, dword [eax - 0x2d]
inc esi
les esp, [esi - 0x4d5dfdba]
push edx
aaa
cdq
dec esi
fsub st(3)
scasb al, byte es:[edi]
test eax, 0xb5c7e06d
ror byte [ebx], 1
push eax
pop edx
jge 0x4708f7
sub ecx, esp
mov ebx, 0x458e1cf2
push 0x16
xchg ebp, eax
pop ds
fnstenv [esi + esi - 4]
test dword [esp + ecx*2 - 0x1e785b47], edi
dec ebp
xchg ah, bh
paddd mm1, qword [ebp - 0x47]
dec byte [ebp - 0x47]
mov ecx, 0xbb12137e
pop ebx
les eax, [eax]
push 0xffffffffffffffb0
retf
jle 0x47090d
adc bh, byte [ebx + 0x6a00c45b]
mov al, 0xcb
test al, 0xf
dec esp
rcl al, 1
scasd eax, dword es:[edi]
std
push dword [ecx]
xor ch, 0x5c
pop esp
push ebx
mov word [edx - 0x63], ss
push cs
add byte [edx - 0x4a302ba], dh
cmc
test byte [esi - 0x75], dl
push esi
mov ebx, dword [esi - 0x3b]
cmp dword [edi - 0x69], edi
jge 0x4708c3
lodsb al, byte [esi]
mov edi, ecx
inc esi
adc eax, 0x363b0db6
jb 0x4708f5
inc ebp
push cs
dec esi
std
pop edx
dec ebx
call 0xe8f25af9
stosb byte es:[edi], al
inc byte [ebx]
sub byte [ebx + 0x4697e67d], dl
enter 0xffffffffffffaeb0, 0xffffffffffffffd9
xlatb
push ds
cmp byte [esi - 0x15], ah
dec esi
enter 0xb4d, 0x35
mov ebp, 0xc463b51e
jmp 0x47099d
arpl sp, ax
push ecx
call 0x2847bd06
popfd
cld
dec esp
mov byte [ebp + 0x1e], dl
and dh, byte [edx + eax*8 + 0x1e]
cmp byte [esi], dh
adc al, 0x88
in eax, 0xef
test dword [eax - 0xd440da4], ebp
aam 0x8a
inc ebp
jb 0x470978
pop esp
push ebp
cmp dh, bl
sbb dword [eax], edx
add esi, dword [edx + 0x155ec0c6]
jae 0x4709bf
adc al, 0x76
sbb eax, 0xa3955fd8
cmp dword [ebx + 0x36], esi
jmp 0x470a0b
pop edi
xchg ebp, eax
mov dword [0xeb367339], eax
jbe 0x470956
ficom dword [esi - 0x2fe164c6]
jle 0x47094c
scasb al, byte es:[edi]
std
push dword [ecx]
sub ch, 0x29
sbb esi, dword [ecx + 0x66035f3d]
jne 0x4709af
sub edi, ebx
push ds
mov ch, 0x63
cld
push ecx
call 0x284927b2
inc edi
mov ebx, 0x6601f473
jne 0x4709c3
add ebp, dword [ecx]
ret
sub ebx, eax
push ds
mov ch, 0x7b
cld
push edx
push 0xd7b18162
neg byte [ebx + 0x59fcea8d]
loop 0x47098d
mov byte [edi], dl
div byte [ecx]
retf 0xfceb
cmpsb byte [esi], byte es:[edi]
sub cl, ah
mov ebx, 0x8b5b1cf2
out 0x82, eax
cdq
pop esi
or edi, dword [eax]
adc al, 3
adc al, 3
mov edx, dword [edi + 0x1b]
inc edi
mov gs, word [eax - 0x7c10609d]
arpl word [edi - 0x1d897c11], bx
je 0x47099e
mov edx, 0xbbbc73b1
enter 0xd39, 0xfffffffffffffffd
aas
js 0x470a52
xor eax, 0xf7c76514
cli
cmc
xlatb
xchg ebx, eax
insd dword es:[edi], dx
out 0x9f, al
inc esi
test al, 0x5a
pop ebx
dec edx
sub ecx, esp
mov ch, 0x73
les eax, [eax + 0x76447a45]
cmp byte [edx + 0x31414d0], 0
dec ebp
or esi, dword [0x5cf05328]
adc al, 0x8e
dec ebp
bound edx, qword [edi]
mov cs, word [ebp + 0x62]
pop ss
adc eax, 0xc9c5eaca
xchg edi, eax
invalid