Function at 0x485a15
Capabilities:
Encode data using xor

Disassembly:
pop eax
push edi
in al, 0xe1
js 0x485975
jecxz 0x4859c7
sar dword [edx + 0x399c5ef4], 1
inc esi
mov bh, 0xe2
retf
or byte [si], bh
ljmp 0xc5c
fstpnce st(7), st(0)
cmp eax, 0xd97e9b7c
jl 0x485967
jle 0x4859a7
nop
add dh, ch
rcr al, cl
in eax, dx
scasb al, byte es:[edi]
lcall 0xe1ab, 0x873348b3
aad 0x49
insd dword es:[edi], dx
mov bh, pe_nt_image_headers32
xor byte [ebx - 0x47], dh
out dx, eax
mov ecx, 0x9a2aff3e
push ecx
or eax, 0xfef4f7b2
xchg esi, eax
sbb esp, dword [ecx + 0xaad18c2]
sal dword [edx + 0xc77e77c], cl
or eax, 0x1ec453b4
fsubr qword fs:[ebx + 0x6d]
mov ah, 6
push es
loop 0x485a07
push esp
clc
out 0xd6, eax
cmpsb byte [esi], byte es:[edi]
ret 0xe01f
xchg ecx, eax
loopne 0x485a63
cld
wait
imul byte [eax - 0x79fedca9]
loop 0x485a4c
xchg dword es:[edi - 0x16], ebx
stc
inc dword [0xfbe27f1c]
jns 0x485a9f
jo 0x4859ca
int 0xd2
xchg edx, eax
not byte [esi + 0x6d]
or dword [ebx - 0x3d], esp
das
fdiv st(2), st(0)
mov word [ebp - 0x6edf6950], gs
sbb ecx, dword [0x4a34e46c]
or dword [ecx + 0xa], esi
jl 0x485a9a
invalid
mov al, byte [0x4d1954b1]
mov ebp, 0x5d4979be
xor dl, al
mov edi, dword [edx + 0x6b]
mov edx, 0xf2eec0f1
shr dh, 0xf2
les edx, [ebp + esi - 0x34]
adc dword [ebx + eax*2 - 0x41bfca1c], edx
sub al, ch
mov cs, ecx
loope 0x485acf
aam 0xb0
test edi, ebp
popal
jns 0x485a52
inc edi
and dh, byte [ecx + 0x28]
int3
imul edi, dword [esp - 0x7dca30ec], 0x3d9623b0
xchg ebp, eax
mov ecx, 0x901c4e71
dec edx
enter 0xfffffffffffffc88, 0xfffffffffffffff2
out 0x90, eax
cld
out 0x90, eax
sahf
xlatb
cli
popfd
insd dword es:[edi], dx
mov ch, byte [esi + 0x554109c2]
dec ecx
and eax, 0x8d67d8ac
mov edx, ebp
int 0xc1
je 0x485a86
scasb al, byte es:[edi]
ret 0x4109
inc ebx
out dx, eax
xor eax, dword [ecx - 0x7a8e3286]
mov byte [0x2b9548be], al
xor al, 0xa9
pop ss
xchg ecx, eax
outsd dx, dword [esi]
stosb byte es:[edi], al
jns 0x485b3e
salc
wait
jno 0x485aa4
aam 0x22
jecxz 0x485b1c
and ah, bl
dec ecx
invalid
add edi, esi
movsd dword es:[edi], dword [esi]
mov al, 0x93
mov dl, bh
invalid
sti
dec ecx
mov al, byte [0xfa75b434]
sub byte [ebx - 0x4138c23f], 0x71
jns 0x485ad8
pop ds
push ss
inc ebp
xchg esi, eax
add dword [esi + 0x53], edx
into
dec edx
test byte [ecx], bl
or al, 0x7e
retf
aad 0xdd
fldenv [ebp + edx + 0x6b5b9c97]
cmp eax, 0x391387ed
push edx
jge 0x485af4
jp 0x485b88
movsd dword es:[edi], dword [esi]
dec edx
jne 0x485bad
in al, dx
xchg ebx, eax
bound ecx, qword [ebx]
clc
cld
cmpsb byte [esi], byte es:[edi]
jle 0x485ac2
xchg byte [ebx], ah
imul edx, dword [ebx - 0x766bd7b8], 0xffffff97
add eax, ebx
mov edi, dword [ecx]
aam 0
mov eax, dword [0xf9244646]
and ebp, dword [ebx - 0x6d]
xchg ebx, eax
dec eax
sub byte [ecx + ecx*4 - 0x7427fe69], dl
cmp esp, edx
add byte [ecx - 0x6dbb9ba], ah
into
mov cs, eax
rep outsb dx, byte [esi]
push ebp
mov ebx, ecx
mov dh, 0xa1
adc eax, 0xed44bf98
ret
or al, 0x42
push ss
sahf
jg 0x485b3b
sar ch, cl
cmp al, 0xa1
lodsd eax, dword [esi]
or eax, 0xd511e31c
ja 0x485b5e
invalid
sahf
shl byte [esi], 0xd8
das
add al, 0x44
movsd dword es:[edi], dword [esi]
adc al, 0x39
mov edi, 0xb24a0fc1
nop
mov dl, 0x90
imul eax, dword [edx + 0x4bc82807], 0xffffffeb
jg 0x485b9e
leave
and eax, 0x2cb44040
mov edi, 0x2bca2a3e
fmul st(5), st(0)
jnp 0x485c3b
xchg edi, eax
invalid
and dh, byte [edx - 0x4d]
xor byte [ebx], bl
in al, dx
cwde
insb byte es:[edi], dx
pop ebx
jne 0x485c08
mov byte [0xb6769a35], al
inc esp
loop 0x485ba7
invalid
bound edx, qword [edi - 0x5e]
fld qword [edx]
fcom dword [ebp + ebx*8 + 0x37d63aa7]
mov ah, 0x55
pop es
and byte [esi + 0x2b6e2203], ch
pop ss
stosb byte es:[edi], al
cmpsb byte [esi], byte es:[edi]
push 0x70d9ed0f
xchg edi, eax
adc dword [edx - 0xd833303], 0x40
not byte [0x768fe207]
push esi
adc eax, 0x50825ee0
jns 0x485c08
lcall 0xe448, 0x6cb48ea1
and al, 0x7e
sub dword [ebp - 0x60], esi
pop ds
dec ecx
nop
int3