Function at 0x45b000
Capabilities:
Encode data using xor

Disassembly:
mov ebx, 0x5520f
mov edi, 0x45b01a
push 0x6c4
pop esi
xor dword [esi + edi], ebx
sub esi, 2
sub esi, 2
jne 0x45b010
nop
nop
nop
out 0x2f, eax
add al, 0
rsqrtps xmm0, xmmword [0x45520f00]
add byte [edi], cl
inc edx
add eax, 0x320f00
add byte [edi], cl
xor eax, 0xe20f0000
pop es
add al, dh
lodsd eax, dword [esi]
cli
inc edi
mov dl, 0x47
add byte [edi], dl
cmp eax, 0x3d270046
inc esi
add byte [edi], ah
push es
add byte [ecx], bl
cmp eax, 0x3d290006
push es
add bh, al
mov dl, 7
add byte [ecx], bl
cmp eax, 0x3d290006
push es
add byte [edi], cl
push edx
add eax, 0x5520f00
add byte [edi], cl
push edx
add eax, 0x5520f00
add byte [edi], bl
mov al, 0x47
add byte [edi], cl
push edx
add eax, 0x5520f00
add byte [edi], cl
push edx
add eax, 0x5520f00
add byte [edi], cl
push edx
add eax, 0x5520f00
add byte [edi], cl
push edx
add eax, 0x5520f00
add byte [edi], cl
push edx
add eax, 0x5520f00
add byte [eax], al
add byte [eax], al
add byte [edi + esi + 0x77], al
outsb dx, byte [esi]
push 0x3e
xor ah, byte ss:[ecx]
imul ebp, dword ss:[edi + ecx + 0x15], 0x375b7460
push 0x71335f70
push 0x6542524e
jnp 0x45b0c6
pushal
insd dword es:[edi], dx
jg 0x45b0d8
insb byte es:[edi], dx
insb byte es:[edi], dx
push 0x1c
insd dword es:[edi], dx
push 0x13
add eax, 0x64377d43
je 0x45b13d
adc al, 0x6c
insb byte es:[edi], dx
push 0x13
add eax, 0x61336a52
inc esi
pushaw
add byte [eax + 0x20], bl
insb byte es:[edi], dx
je 0x45b151
adc al, 0x6c
insb byte es:[edi], dx
push 0x52
push esi
jnp 0x45b104
insb byte es:[edi], dx
insb byte es:[edi], dx
push 2
push 0x69
popal
pushal
jb 0x45b10a
adc dword [ecx + 0x6f], ebp
jl 0x45b137
dec ebp
popal
popal
imul esp, dword ss:[ebp + 0xf], 0x5b746015
imul esp, dword [ebp + 0xf], 0x5b746015
pop ebx
cmp esp, dword [esi + 0x6b]
dec esp
cmp eax, 0x527b6e70
inc edx
jnp 0x45b137
push 0x64
jp 0x45b15a
pushal
inc esi
pushaw
dec esi
outsb dx, byte [esi]
aas
pushal
inc ecx
movlps qword [ecx + 0x56], xmm0
dec esi
add cl, byte [ebx + esi + 0x3d]
jl 0x45b192
insb byte es:[edi], dx
arpl word [edx + 0x57], dx
push 0x6165751d
sbb dword [eax + 0x79], esp
dec edx
sbb eax, 0x19616575
pushal
jns 0x45b189
sub al, byte [eax + eax + 0x5d]
aaa
bound edx, qword [ecx + 0x7a]
aaa
ja 0x45b1c3
pop ecx
xor ebp, dword [ecx + 0x75]
push 0x17
jge 0x45b193
inc ecx
verr word [eax + 0x67]
dec esp
push 0x73
push 0x19
pushal
jns 0x45b16e
add dword [edx + 0x66], ebp
jnp 0x45b189
jb 0x45b1d1
push cs
dec eax
imul ebp, dword [eax + 0x6a], 0x71346073
pushal
xor al, 0x71
pop esp
pop eax
cmp ebp, dword [ebx + 0x64]
pushal
and eax, 0x274c5c76
ja 0x45b1f0
push 0x3c
jno 0x45b1d8
push 0x20
jbe 0x45b1ef
pushal
cmp al, 0x59
inc ebp
ja 0x45b1ae
imul ebp, dword [edi + 0x7d], 0x5f007737
pop edi
sbb ecx, dword [ebx + 0x46]
invalid
retf 0xc5d1
test byte [edi], bl
stc
or esi, 0xf0005d6
fisttp dword [eax - 8]
test byte [edi], dl
stc
mov ebx, dword [edi + 0x5e]
mov cs, word [ebp - 0xd]
push ecx
push esp
or byte [edi + edx*4 - 0x24f43f7a], al
test byte [edi - 0x24f43f7a], dl
adc eax, 0xfaaa7aff
jne 0x45b1d2
fist word [eax - 0x44]
pop ebp
mov edx, 0x520f007d
add eax, 0x75fa3f7b
neg edi
fisttp word [eax - 0x44]
pop esi
fild word [eax - 0x5520e4c]
dec eax
mov esp, 0xb480df5e
int1
lodsd eax, dword [esi]
cli
push eax
out 0x57, eax
pop es
add byte [edi], cl
salc
lds esi, [esp + ebp + 0x34]
xchg byte [ebp - 0x55345], bh
or dword [eax], esp
sbb al, 0xff
mov ebx, 0x9fffaac
and byte [edi + edi*8], bl
jp 0x45b1ba
cli
jne 0x45b206
fist word [eax - 0x44]
pop ebp
fisttp word [eax - 0x5520e4a]
push ecx
out 3, eax
pop es
add byte [edi], cl
fiadd dword [eax - 9]
invalid