Function at 0x480da8
Capabilities:
Encode data using xor

Disassembly:
pop ss
add al, 0x46
and eax, 0xf091d64e
loope 0x480d55
pushal
add dword [esi], edi
cli
cli
cmp al, byte [esi + 0xf]
pop ds
xchg edx, eax
add byte [esi - 0x6cb7111d], cl
inc ebp
movsd dword es:[edi], dword [esi]
jno 0x480db8
cmp ecx, dword [ebx + 0x7d2c8e34]
push ss
jae 0x480d81
fnstcw word [ecx + 0x3d]
shr byte [ebx + 0x33fc5f51], cl
mov edx, 0xfe24d997
or al, byte [eax + ebx*2 - 0x53]
sahf
and dword [ebp + eax*8 - 0x1e], esi
loopne 0x480d49
adc byte [ebx], bh
and bh, byte [0x4ad08230]
dec ebx
xor byte [esi], bh
xchg edx, eax
inc eax
inc ecx
mul edx
shl byte [ecx], cl
daa
aad 0x66
lea esp, [bx - 0xe10]
fcomp qword [ebp - 0x64ba2171]
or al, 0x5f
mov word [edi + 0x14], gs
or ebx, dword [ebp + edx*8 + 0x45]
pop ebx
mov ebx, 0xa46bb08a
lodsb al, byte [esi]
push edi
jbe 0x480e28
add ecx, dword [edx]
push es
lodsb al, byte [esi]
mov al, byte [0xa697608f]
jns 0x480e17
aas
xor ecx, dword [ebp - 0x12]
mov byte [0x9b23300], al
adc byte [edi], bl
test byte [esi + 0x67162910], dl
push ss
or dword [edi], ebx
jg 0x480d81
mov al, 0xba
jl 0x480dec
mov ebx, 0x379d6421
nop
leave
adc bl, byte [edi + 0x48]
xchg ebp, eax
mov eax, 0x261110ff
rcr byte [ecx], 1
jmp 0x480df5
sub byte [edx], al
push ecx
sub cl, byte [ebx]
mov edx, 0x795d059f
lodsd eax, dword [esi]
jo 0x480e7b
sbb bl, ah
pop ecx
lds ebx, [ebp + 0x12]
mov esi, 0x53ce7f63
adc byte [esi + 0x61ae7a18], cl
sbb byte [edx + 0x5b06435f], bh
inc ebx
push es
pop ebx
retf
invalid
or byte [edi + 0x7d], dh
mov ebx, 0x11d03f78
rcl byte [ecx]
jo 0x480e22
out dx, al
pop edi
sbb al, 0xa6
nop
push 0xe5194410
arpl word [edi + 0x50], si
add bl, byte gs:[edi]
sbb eax, 0xc14b38a1
mov dh, 0xa3
movsb byte es:[edi], byte [esi]
sal byte [ebx], 0xde
mov eax, dword [0xb6c14b38]
mov dword [0xde33c0a4], eax
or byte [ebp - 0x4f4d555e], ch
imul ecx, esi, 0xffffffbf
pop ds
mov dl, 0x5d
fcmove st(0), st(6)
xchg ecx, eax
frstor dword [edx]
xor bh, ah
aam 0xa8
invalid
sub ah, byte [edx - 0x7a5c060a]
xchg edi, edx
xchg esp, eax
sub dword [esi + ebx*4 + 0x2e957bc1], 0xe78cfa8c
inc byte [esi + 0x62bfa3c9]
jg 0x480e1b
dec edi
and dword [esi + ebp*8 - 0xcee1c07], ebp
stc
jecxz 0x480eb0
dec esi
dec esi
xor ebx, ebp
rcl dword [edi + 0x5c91c1b4]
pop eax
loop 0x480e9c
rcl dword [ecx - 0x1da70da4], 0xef
xor ebp, ecx
mov byte [0xeff58b78], al
js 0x480e3d
cmc
out dx, eax
call 0xc946a85b
xor bl, byte [edx + ebx*4 - 0x2fabf8cc]
sub eax, 0xb89d4d2e
push cs
xchg ebx, eax
aad 0xb5
mov esi, 0x82e5315b
dec eax
mov al, 0xad
arpl word [eax - 0x48], sp
pushfd
mov esp, 0xafcd5daa
enter 0xffffffffffff80db, 0x72
push ebx
push ds
arpl word [edx - 0x5572146f], bx
clc
cpuid
loop 0x480ea0
arpl sp, bx
jg 0x480f6a
js 0x480ea6
stosb byte es:[edi], al
push eax
sub dl, byte [edi]
sub dl, al
xchg dword [ebp - 0x73710216], ebp
shr esp, cl
mov dword [ecx - 7], 0x9bf52ee1
cmc
wait
pop esi
mov ebx, 0xe616602a
stc
sub ah, byte [eax + 0x16]
out 0xf9, al
add byte [edx + edi + 0x45a1d81e], ch
wait
test al, 0xf0
push es
fdiv dword [ebp + 0x7e5ae68f]
fcom dword [ebx - 9]
fnsave dword [esi - 0x7da7ba23]
sbb edx, ebx
or byte [0xa683453d], 0xde
mov cl, 0x23
sub byte [ecx + 0x5c], cl
jge 0x480f07
add al, 0xb6
inc eax
mov bl, 0x66
or al, 0xd2
or al, 0xd2
dec ebp
ja 0x480f0b
arpl sp, ax
std
xor dword [edi], 0x5d732dba
pop ebp
scasb al, byte es:[edi]
and cl, bl
dec ebp
cmpsd dword [esi], dword es:[edi]
neg byte [eax - 0x78046e07]
les esi, [edx - 0x5e31dd36]
xor esi, dword [edx - 0x19200b6a]
xor esp, esi
cmp edx, eax
loope 0x480fa4
inc ecx
or byte [ecx - 7], ah
in eax, dx
shl byte [eax + 0x1df7086d], 1
cld
jnp 0x480f4e
aam 0x69
inc esi
test al, 0xf3
adc dword gs:[edx + 0x1b588e2], ecx
imul eax, dword [esi - 0x58], 0x8a1165f3
loop 0x480f0b
mov ch, 1
scasb al, byte es:[edi]
ret
adc dword [0x7d5d60ff], esi
stc
pop ebp
bnd ja 0x480f40
jge 0x480f99
mov dword [eax + 1], ebx
and cl, bh
and al, byte [eax + ebp*2 - 0x69]
jns 0x480f79
ljmp 0xf1e4:0x753c14a5