Function at 0x4509c6
Capabilities:
Encode data using xor

Disassembly:
imul ebx, dword [edx + 0x1f05349f], 0x5d
jmp 0x4509f3
pushal
jns 0x450a49
inc edx
adc al, 0x8d
invalid
sbb eax, 0xf48a3e8a
mov dword [edi], ebx
lcall 0x7e97, 0x242537bb
xchg ebx, eax
dec ebx
mov esi, 0xd9abe6ea
xchg dword [esi - 0xf], ebp
jns 0x450a94
int1
push 0x79df3678
div byte [ebx + 0x3e9c51f9]
insd dword es:[edi], dx
je 0x450a53
mov ch, 0x1c
call 0x9a82ce6a
retf
push ecx
add byte [esi], bh
mov dl, byte [ecx]
jo 0x450a05
mov esp, 0xcc9402c5
wait
fdiv qword [eax]
invalid
xchg esp, eax
int3
lea ecx, [edi + 0x7d7a3370]
jp 0x450b17
sbb eax, 0xc306da1d
in eax, 0xb1
dec eax
xchg edi, ebp
mov esi, 0x3ded7a5d
push 0x678c7008
cmp eax, 0xff5bbc19
in eax, dx
cmp eax, 0x8c700868
cmp eax, 0xff5bbc19
into
and esi, dword ss:[esp + ebx*4]
salc
das
call dword [ebx - 0x7215360f]
sbb byte [ebp + 0x45205dcd], al
mov dh, 0x9d
xchg ebp, eax
jno 0x450b1d
push ecx
wait
sbb al, 0xc5
dec ebx
cmpsb byte [esi], byte es:[edi]
jmp 0x79700422
pop edx
std
pop ebx
inc ebx
out dx, al
push ds
jecxz 0x450a98
fisub dword [ebp + 0x26]
jae 0x450acb
xlatb
das
push ebx
dec ecx
jp 0x450b6a
xchg ebx, eax
wait
mov bl, 0x29
shl byte [edi + 0x28f772f5], cl
xlatb
xlatb
push edi
aas
push esi
mov ah, 0xfb
je 0x450aa7
xor bl, byte [edx + ebx + 3]
pop esp
sbb al, byte [ebx]
dec edx
add edx, dword [eax - 0x76ba7a15]
out 0x96, eax
jnp 0x450b8d
jnp 0x450b14
mov ebp, 0xda2cbb90
wait
inc eax
test al, 0x19
jmp 0x450af6
xchg byte [edx - 0x2aa36555], ah
mov byte [0xd55c9aab], al
invalid
invalid
push ebx
out dx, eax
je 0x450bb7
jp 0x450b9f
jp 0x450b4a
mov esi, 0x83cb7a43
loop 0x450c0c
fsubp st(3)
sub eax, dword [edx]
or al, 0xae
cmp eax, 0x1ca9b8bb
jg 0x450b4b
xchg ebp, eax
push es
mov bl, 0xdb
ja 0x450c2b
xchg edx, eax
xor bh, byte [eax]
xchg ecx, eax
int1
mov esp, edx
rcl dword [ebx - 0x1a], cl
mov eax, dword [0xefd27468]
arpl word [edx + 0x51], bp
push ds
out dx, eax
mov al, ah
out dx, al
xlatb
arpl sp, dx
sub ebx, edi
cmp eax, 0x19589685
xchg byte [edx - 0x7062c67d], dh
salc
or ah, ah
inc esi
push ebx
and ebx, edi
fisub word [0xac16cf4a]
mov bl, ah
sub eax, 0xa384d28f
out dx, al
js 0x450c11
cmp byte [edx], dl
adc esi, edx
and ah, byte [ebp - 0x5d2452b3]
and ah, 0xbe
mov ebp, 0x370b02e9
sub al, 0x24
rcl edi, 0xe4
push cs
invalid
jmp 0x2c7c1707
scasd eax, dword es:[edi]
push eax
retf 0xfaa7
xchg edi, eax
lodsd eax, dword [esi]
cli
mov byte [0xdeffcd40], al
push esi
mov esp, dword [edx]
cmp byte [edx + eax*2 - 0x4c], bl
insb byte es:[edi], dx
and edi, dword [ebx - 0x5c]
jle 0x450c00
dec edi
mov ch, 0x4b
dec ebx
sub byte [edx - 0x62], 0x29
shl dword [edx - 0x6f], cl
xor byte [esi - 0x7cc4bf56], bl
inc edx
lahf
and esi, dword [edx + 0x39eb7cdc]
sahf
sub ebx, edx
bound edx, qword [ecx + 0x40aa9e30]
cmp eax, dword [ebx - 0x4ddc60be]
fdivr qword [ebx + ebp*8 + 0x39]
add dword [edx - 0x61], 0x23
mov dl, 0xdc
jl 0x450c28
cmp dword [esi + 0x81ca346], ebp
xor dword [ebx], ebx
scasb al, byte es:[edi]
inc esi
mov dword [0x1b31081c], eax
cmpsb byte [esi], byte es:[edi]
popal
shr ecx, 0x97
or dword [eax + 0x6d], ebx
sal byte [ebp + 0x38], cl
add ebp, edi
cmc
xor al, 0x37
ror dword [edi + 0x38], 1
rol byte [ebx - 0x52504661], cl
mov bl, 0x4b
inc ebp
xor bl, byte [esi]
sahf
cmp eax, 0x3ad735c6
cdq
aaa
sbb al, 0xea
loop 0x450c35
rcl dword [edi + 0x15d2c38], cl
push ss
xchg esp, eax
lock xor dl, byte [ecx - 0x7c7edb76]
retf 0xb937