Function at 0x449eab
Capabilities:
Encode data using xor

Disassembly:
dec ecx
scasd eax, dword es:[edi]
sahf
jns 0x449e7d
mov ecx, ecx
sahf
mov dword [ebx - 0x1ce601a2], edi
leave
pushal
or bl, byte [esi + 0x5e23c4ab]
pop ecx
sub edi, ebp
iretd
das
adc dword ds:[ecx + ecx - 0x572d462d], ebp
inc eax
mov bh, 0xbb
mov eax, dword [0xc73618a2]
hlt
push ss
clc
lodsb al, byte [esi]
mov edi, 0xde5a24cd
clc
xor byte [eax], dl
or al, ch
mov dl, byte [esi - 0x4b1498c2]
sub eax, 0xef0beef6
and ah, bl
mov ebx, 0x328d5f32
popal
outsd dx, dword [esi]
aas
xchg edi, eax
fsubr st(2)
jg 0x449e64
mov gs, word [eax + 0x10291f9d]
adc al, 0
aam 0x30
scasb al, byte es:[edi]
dec ebp
push ds
jg 0x449f1d
xor byte [esi + 0x687f1e4d], ch
pop esi
mov edx, 0x67d94940
or al, 0x47
push 0x3f
sbb ah, cl
wait
jae 0x449f14
push eax
dec byte [edi - 0x4740d1e6]
push edx
dec esi
cmp bh, 0x41
mov eax, 0xff804e52
inc ecx
xchg edi, eax
push 0xffffffffffffffb1
pop eax
nop
dec ebx
mov ecx, 0x6175084f
test byte [edx + 0x29], 0xbe
std
mov byte [ebx + edx*8], cl
aad 0xfe
jle 0x449ec3
test eax, 0x3ecd4dad
fisubr word [edi]
aas
stc
loope 0x449ef4
clc
push 0x7d10cc0e
and eax, 0x49193275
mov word [ebx + esi*2 - 0x259ec037], ds
jge 0x449eaf
int3
sbb dword [ecx - 0x74], ecx
pushfd
jae 0x449ec9
aas
popal
fidivr dword [ebp - 0x56]
xchg esi, eax
push ecx
test al, 0xc9
rcl bh, 0xf9
xchg edi, eax
lds edi, [edx + ebp*4 + 0x7d]
daa
invalid
sub edi, ecx
and al, 0xbe
mov esi, 0x71bf254d
and byte [ebx - 0x71], dh
pop esi
xchg ecx, eax
pushal
test al, 0x56
mov byte [eax + 0x23], cl
mov ecx, 0xecf94a76
xchg edi, eax
daa
sub cl, byte [edx + 0x2786f17a]
add dword [ecx + 0x4c], edi
nop
dec esp
cmp dword [edi + edx*8 - 0x25], eax
pop eax
sbb dword [ecx - 0x5295567d], 0xca8607ad
push cs
push ds
or edi, edx
push esi
out 0xee, al
cwde
cmp dword [edi - 0x39], edi
ja 0x449f89
and eax, 0xa35911a5
ja 0x449efa
wait
sahf
xchg dword [eax - 0x3313d0], ebx
xchg ecx, eax
mov eax, 0x3fa9dbdb
invalid
fsubr qword [edx]
xchg esi, eax
mov cl, 0x98
shl dword [esi - 0x10], 1
daa
popal
dec eax
cmp ebx, eax
les ebp, [ecx]
xor byte [ebx + 0x3112f622], bl
js 0x449f89
sub dl, byte [esi - 0x2e0d674f]
invalid
dec eax
fstp dword [esi - 0x3883a351]
and eax, 0xdc0decae
cmp eax, 0xbeb1ee39
cdq
mov ds, word [edi + 0x182ed460]
rcl byte [ecx + ebp*2 + 0x17], cl
jge 0x449f5e
mov ebp, 0x70fd98ff
push es
lds edi, [ecx - 0x46836efc]
into
int1
sbb byte ds:[eax + 0x65d9167c], ah
or ebx, ebp
pop edi
jle 0x44a03e
aaa
adc dword [ebp + 0x88db1eb], edi
fstp qword [ecx - 0x495f2d90]
adc eax, ecx
lodsb al, byte [esi]
push esp
fldcw word [ebp + 0x38477be6]
jne 0x449ff9
rcr dword [esi - 0x3d9841fe], cl
jp 0x449f8a
nop
sub byte [ecx + 0x64cf38d7], dl
ja 0x449fad
xchg esi, eax
in al, dx
or dh, byte [eax + 0x62a0f494]
int1
aas
or eax, 0x8bb019f2
pop eax
insb byte es:[edi], dx
fdivr dword [ebx]
pop ss
push ds
aam 0x51
fcomp st(1)
add bl, byte [edi]
mov byte [eax], bh
add dh, ah
hlt
xchg ecx, eax
mov cl, 0x2d
fld qword [eax + ebx*8 - 0x7cc557df]
enter 0x31dd, 0xffffffffffffffb4
rcl dword [ecx], cl
push ebp
mov ebp, esp
push ecx
push ecx
movzx eax, word [ecx]
push ebx
push esi
push edi
mov edi, edx
test ax, ax
je 0x44a10a
push 0x10
pop esi
mov ebx, 0x95
mov dword [ebp - 8], esi
mov dword [ebp - 4], 0xf
cmp ax, 0x75
je 0x44a143
cmp ax, 0x70
jne 0x44a08f
movzx eax, word [ecx + 2]
lea ecx, [ecx + eax*2]
jmp 0x44a0fe
movzx edx, ax
cmp edx, ebx
ja 0x44a125
je 0x44a13a
cmp edx, 0x55
jb 0x44a0cf
cmp edx, 0x5a
jbe 0x44a111
cmp edx, 0x5d
jbe 0x44a0b9
cmp edx, 0x60
jbe 0x44a111
cmp edx, 0x61
jne 0x44a0cf
movzx eax, word [ecx + 4]
cmp ax, word [ebp - 8]
je 0x44a0c9
cmp ax, word [ebp - 4]
jne 0x44a0cc
add ecx, 4
push 0x10
pop esi
movzx eax, byte [edx + 0x4c2140]
lea ecx, [ecx + eax*2]
test edi, edi
je 0x44a0fe
lea eax, [edx - 0x1d]
cmp eax, 0x37
ja 0x44a0fe
mov ax, word [ecx - 2]
mov edx, 0xfc00
and ax, dx
mov edx, 0xd800
cmp ax, dx
jne 0x44a0fe
add ecx, 2
movzx eax, word [ecx]
test ax, ax
jne 0x44a076
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret
movzx eax, word [ecx + 2]
cmp ax, si
je 0x44a120
cmp ax, word [ebp - 4]
jne 0x44a0cf
add ecx, 4
jmp 0x44a0cf
mov eax, edx
sub eax, 0x97
je 0x44a13a
dec eax
sub eax, 1
je 0x44a13a
dec eax
sub eax, 1
jne 0x44a0cf
movzx eax, word [ecx + 2]
lea ecx, [ecx + eax*2]
jmp 0x44a0cf
mov eax, ecx
jmp 0x44a10c