Function at 0x40f2e6
Capabilities:
Encode data using xor

Disassembly:
loope 0x40f283
xor byte [eax + 0x32e1e137], dl
int 0x1c
push ds
push ds
dec ebx
idiv byte [eax]
inc ebx
inc edi
imul byte [ebx - 7]
out 0x60, al
stc
imul ebx, dword [eax], 0x29
neg bl
loope 0x40f21b
loope 0x40f21d
mul bh
sub dword [esi - 0x1e1e1e1f], esp
imul byte [ebx - 0xf]
neg byte [ebx - 7]
idiv byte [ebx]
sbb dh, dh
daa
mul byte [edi]
sbb byte [esi], bl
and byte [edi + 0x72], dl
int1
loope 0x40f2a9
push ebx
out dx, al
jmp 0x4b611108
cmp byte [ebx + 0x43], al
inc edi
dec ebp
dec edi
sub esi, esi
mov esp, ecx
loope 0x40f24d
loope 0x40f260
or ebx, dword [eax]
outsb dx, byte [esi]
imul edx, dword [eax], 0xffffffee
add al, 0x61
loope 0x40f2ad
loope 0x40f298
or edi, ecx
push ds
or edx, dword [eax]
push ds
adc byte [esi], bl
or esi, ecx
xor byte [ebx], dl
xlatb
adc edx, edi
jecxz 0x40f268
imul byte [ebx - 7]
stc
mul byte [ecx - 0x17]
out 0x20, al
sbb dh, dh
jnp 0x40f28c
jmp 0xf65b1377
arpl cx, bp
sub esi, esi
wait
loope 0x40f27c
loope 0x40f27e
neg byte [ebx + 0x18]
xchg edi, eax
sub edx, esi
fdisi8087_nop
loope 0x40f289
loope 0x40f309
pop edi
pop ebp
push edi
jb 0x40f312
int1
int1
loope 0x40f2fc
idiv byte [eax]
out 0x38, al
int1
inc edi
dec ebp
dec edi
sbb dl, dh
imul ebx, dword [eax], 0xffffff87
pushal
inc ecx
inc ecx
inc ecx
push ds
or ebx, dword [eax]
push ds
or ecx, ecx
push ds
or eax, ecx
push ds
or edi, ecx
push ds
or esi, ecx
xor byte [ebp - 0x191e1ef1], bl
push 0x106bf2a1
pop edi
pop ebp
push edi
imul byte [ebx + 0x10]
imul byte [edx]
pop ebx
dec bp
dec ebp
sbb dh, dh
or dword [ecx - 0xe820907], ebp
xchg dword [eax + esi + 0x5d], edi
pop ebp
add bl, byte [esi]
push ds
xor eax, 0xd1e4de1
leave
dec ebp
push ds
or eax, 0xf90d1ec9
xor eax, 0xa9091ee1
push ds
or eax, 0x1ee135f9
or dword [ecx - 0x3ef2e157], ebp
push ds
test eax, 0x1ec10d1e
push ds
or eax, 0xa9091ec1
test eax, 0xe10fe730
loope 0x40f2f8
or dword [ecx + 0xfe730a9], ebp
loope 0x40f2f2
out 0x68, al
mov eax, dword [0xf64b665d]
cmp dh, ah
cmp byte [ecx - 0xee41db9], dl
push 0x4b665da1
idiv byte [eax]
out 0x38, al
xchg ecx, eax
inc edi
loop 0x40f33a
int1
cmpsd dword [esi], dword es:[edi]
jecxz 0x40f304
loope 0x40f305
loope 0x40f330
or eax, ebp
nop
lds edx, [eax - 0x1e9ef962]
idiv byte [ebx - 7]
sahf
push es
popal
loope 0x40f322
jnp 0x40f327
bnd jecxz 0x40f2b8
xchg dword [eax + 0x61], esp
pushal
popal
xor al, byte [eax - 0x191e1e1f]
sub edx, dword [eax - 0x1f]
outsb dx, byte [esi]
push eax
loope 0x40f3ab
imul ebx, dword [eax + 0x36], 6
popal
loope 0x40f2e6
mov byte [0xe1655610], al
cli
adc byte [esi + 0x65], dl
loope 0x40f343
jnp 0x40f39b
xchg dword [edx - 0xe], esp
imul esp, dword [eax], 0xfffffff6
imul edx, ecx, 0xfffffff2
imul ebp, dword [eax], 0xfffffff6
imul ebp, dword [eax], 0xfffffff6
imul edi, ecx, 0xfffffff2
imul esi, dword [eax], 0xfffffff6
imul ebx, ecx, 0xfffffff2
imul edi, dword [eax], 0xfffffff6
imul esp, dword [ecx - 0x19ff940e], 0x2b
or cl, ah
add dh, ah
sub ecx, dword [eax]
loope 0x40f353
out 0x2b, al
adc cl, ah
out 0x2b, al
sbb cl, ah
sub edx, dword [eax]
loope 0x40f357
sub ebx, dword [eax]
loope 0x40f367
sub ecx, dword [eax]
sub ecx, dword [eax]
cmp edx, dword [eax]
sub dword [edx - 0x1e1e1e1f], esp
imul edx, dword [eax - 6], 0x6b
push eax
sub dword [esi - 0x1e1e1e1f], esp
cmpsb byte [esi], byte es:[edi]
loope 0x40f36b
loope 0x40f36c
loope 0x40f36d
loope 0x40f3fb
outsb dx, byte [esi]
imul esi, dword [eax - 0x1d], 0xffffffe1
loope 0x40f374
imul byte [ebx - 0xf]
imul edi, dword [eax - 0xa], 0x6b
sal edx, 0x6b
inc eax
xor cl, ah
imul eax, dword [eax + 0x30], 0xffffffe1
imul eax, dword [eax + 0x30], 0xffffffe1
loope 0x40f327
test ecx, esp
loope 0x40f39b
loope 0x40f385
mul al
loopne 0x40f389
loopne 0x40f387
loope 0x40f38a
loope 0x40f38b
loope 0x40f39d
imul ecx, dword [eax - 6], 0x6b
imul ecx, dword [eax - 6], 0x6b
dec eax
cli
imul edi, dword [eax + 0x41], 0xfffffff6
imul esi, ecx, 0x1e
js 0x40f3f2
imul byte [ebx - 0xf]
push ds
sbb dword [esi], 0x5353484b
push ebx
out 0x2b, al
jo 0x40f3a0
out 0x1b, al
sbb cl, ah
or edi, ecx
sub esi, esi
fdisi8087_nop
loope 0x40f3ac
loope 0x40f3c3
out 0xf6, eax
pop ebx
push eax
out 0x29, eax
fdisi8087_nop
loope 0x40f3ba
loope 0x40f411
imul byte [ebx + 0x50]
sub dword [esi - 0x1e1e1e1f], esp
imul byte [ebx + 0x70]
push edi
jb 0x40f451
dec ebx
idiv byte [eax]
inc ebx
inc edi
sbb dh, dh
imul edi, ecx, 0xfffffff6
jno 0x40f3e8
div byte [ecx - 0xf]
xchg dword [ebx - 7], edi
xor byte [ebx], cl
push ds
dec ebx
add byte [esi], bl
push ds
imul byte [ebx - 0xf]
mul byte [ecx - 0x17]
out 0x20, al
sub eax, 0x6bf6c309
stc
outsb dx, byte [esi]
popal
test eax, 0xe1e1e1e3
xchg dword [eax + 0x61], esp
loope 0x40f3f4
loope 0x40f39c
pushal
popal
cmp dword ss:[esi], esi
xor eax, 0x6bf6e335
stc
push ds
add ecx, edx
imul byte [ebx - 7]
push ds
add ecx, ecx
imul byte [ebx - 7]
push ds
add ecx, edi
xor eax, 0xc10b1ee1
imul byte [ebx - 7]
push ds
add ecx, eax
push ds
or esi, ecx
xor byte [ebx + ecx - 0x1f], al
loope 0x40f429
push 0xf96bf6a1
out 0x11, al
test eax, 0x1ef70be1
or esi, ecx
push ds
or edi, ecx
xor bl, ch
sbb al, 0x1e
push ds
xor eax, 0x35e135e1
loope 0x40f495
loope 0x40f497
loope 0x40f45e
imul ebx, dword [eax], 0x41
xor dword [edi + 0x30e1e1e3], esp
stosb byte es:[edi], al
sbb al, 0x1e
push ds
out 0x68, al
fdecstp
imul ebx, dword [eax], 0xfffffff6
pop ebx
stc
mul byte [edi]
fdecstp
aaa
mov eax, dword [0x6087201e]
popal
push edi
jb 0x40f4ee
dec ebx
idiv byte [eax]
inc ebx
inc edi
dec ebp
dec edi
neg byte [ebx]
int1
imul byte [edi - 0x3f]
test byte [edi], 0xf9
stc
imul ebx, dword [eax], 0xfffffff6
pop esp
mov ebx, 0xb1e1ce6
jmp 0x40f4d5
or esi, ecx
out 0x1b, al
stc
loope 0x40f4ef
je 0x40f4cc
imul byte [ebx - 0x37]
insd dword es:[edi], dx
imul ecx, ecx, 0x6d
xor esi, 0xd1f2d16b
xchg edi, eax
pop edi
stc
psubsw mm2, qword [edi + 0x30eb0d06]
dec ebp
or eax, 0x6cf6e1e1
rcl dword [edi - 0x16f006a1]
xchg edi, eax
push es
or eax, 0xd4d30eb
loope 0x40f4cf
imul byte [edi + esi + 0x60]
insb byte es:[edi], dx
aaa
pushal
leave
out 0x6b, eax
sbb byte [edi + 0x5d], bl
push edi
jb 0x40f561
imul byte [ecx - 0x57]
int1
dec ebp
test byte [ecx], 0xa9
int1
in eax, dx
xor dl, dl
and ecx, 0xd0e0f6e1
loope 0x40f4f1
loope 0x40f504
insd dword es:[edi], dx
jmp 0xe1c2eb48
loope 0x40f50e
loope 0x40f565
div esi
int1
xchg edi, eax
jns 0x40f4de
test eax, 0xf6f309e9
popal
jmp 0x24c5629
jmp 0x6237e843
pushal
or eax, dword [edx]
popal
xchg word [eax + 0x66], sp
add ah, byte [ecx + 0x66]
xchg dword [eax + 0x66], esp
dec ebp
xor byte [ebp - 0x7f], dl
loope 0x40f52b
test byte [ecx], 0xa9
int1
xchg edi, eax
adc al, 0xe1
loope 0x40f535
loope 0x40f534
loope 0x40f560
or eax, ecx
xor byte [ebx - 0x7f], dh
loope 0x40f53c
sal dword [eax], 0x73
and ecx, 0xe97df6e1
idiv byte [ebp - 0x17]
invalid
invalid
shl cl, 1
loope 0x40f545
loope 0x40f544
loope 0x40f5c2
pop ebp
xor byte [ebx - 0x91e1e7f], dl
loopne 0x40f53e
loope 0x40f551
loope 0x40f5a8
div byte [ecx - 0x17]
jno 0x40f55f
xchg edi, eax
add cl, byte [ecx]
std
mul byte [edx - 0x1a]
adc ecx, ebp
loope 0x40f58c
add bl, byte [ebp + 0x32]
cwde
or esp, ecx
loope 0x40f57f
pop ebp
xor bl, byte [eax - 0x91e1ef5]
jge 0x40f574
bnd jno 0x40f577
jno 0x40f577
pop ebp
dec bx
idiv byte [eax]
out 0x38, al
shl dword [edx - 0x1e9aa9f0], 1
cmp dh, ah
cmp cl, dl
mov byte [0xe1655610], al
push esi
loope 0x40f582
loope 0x40f582
out 0x2b, al
xor cl, ah
cli
sub esi, dword [eax]
loope 0x40f59a
jnp 0x40f5d2
xchg dword [edx - 0xa], esp
jnp 0x40f598
imul eax, dword [eax], 0xfffffff6
imul eax, dword [eax], 0xfffffff6
imul edi, ecx, 0xfffffff2
imul ecx, dword [eax], 0xfffffff6
imul ecx, ecx, 0x61
leave
popal
outsb dx, byte [esi]
imul edi, dword [eax], 0x2c
add al, 0x61
loope 0x40f5ae
jnp 0x40f5ce
imul ebx, dword [eax], 0x29
mov byte [0xe1e1e1e1], al
imul esi, dword [eax], 0xfffffffa
xor dl, bh
imul esi, dword [eax], 0x29
cmpsb byte [esi], byte es:[edi]
loope 0x40f5b2
loope 0x40f5b4
loope 0x40f5f2
push ds
or edx, ecx
rol dword [ebx + 0x1e], 1
inc ebx
push ds
or eax, ecx
xor byte [edx - 0x91e1ef5], al
jo 0x40f5d8
imul esi, dword [eax], 0x29
cmpsb byte [esi], byte es:[edi]
loope 0x40f5c9
loope 0x40f5cb
mul byte [edx + 0x72]
inc cx
sub dword [esi], ebx
mov esp, ecx
loope 0x40f5d6
loope 0x40f5d5
loope 0x40f5d7
loope 0x40f5f1
cli
imul ebp, dword [ecx - 0x56d64807], 0x4f4d47f9
dec ebp
dec edi
mov cl, 0xf6
xor byte [edx - 0x1e9aa9f0], ah
xchg dword [edx + 0x41], ebp
loope 0x40f592
push 0x41
push ds
or ebx, dword [eax]
outsb dx, byte [esi]
imul ebx, dword [eax], 0x1e
push ds
push ds
push ds
cli
imul ecx, dword [eax], 0x29
cmpsb byte [esi], byte es:[edi]
loope 0x40f5ff
loope 0x40f601
inc cx
sub dword [esi], ebx
mov esp, ecx
loope 0x40f609
loope 0x40f624
imul ebp, dword [ecx - 0x56d64807], 0x4f4d47f9
mov cl, 0xf6
mov cl, 0xf6
xor byte [edx - 0x1e9aa9f0], ah
xchg dword [edx + 0x41], ebp
inc ecx
sub eax, dword [eax]
push ds
or ebx, dword [eax]
outsb dx, byte [esi]
imul ebx, dword [eax], 0x1e
push ds
push ds
push ds
cli
imul ecx, dword [eax], 0x29
cmpsb byte [esi], byte es:[edi]
loope 0x40f635
loope 0x40f637
inc cx
sub dword [esi], ebx
mov esp, ecx
loope 0x40f63f
loope 0x40f65a
imul ebp, dword [ecx - 0x56d64807], 0x4f4d47f9
mov cl, 0xf6
mov cl, 0xf6
xor byte [edx - 0x1e9aa9f0], ah
xchg dword [edx + 0x41], ebp
imul eax, dword [eax], 0x1e
add byte [esi], bl
or ebx, dword [eax]
outsb dx, byte [esi]
imul ebx, dword [eax], 0x1e
push ds
push ds
push ds
cli
imul ecx, dword [eax], 0x29
cmpsb byte [esi], byte es:[edi]
loope 0x40f66b
loope 0x40f66d
idiv byte [ebx + 8]
sub edx, esi
sti
loope 0x40f676
loope 0x40f678
loope 0x40f6eb
push ebx
pop edi
pop edi
pop ebp
push edi
imul byte [edx]
pop ebx
inc ebx
idiv byte [ebx]
xchg dword [edx + 0x30], edi
mov dl, 0x3a
push ds
push ds
xor bl, byte [edx + 0x1e]
push ds
push ds
xor ch, dh
pop ebx
loope 0x40f696
push ds
or dword [ecx + 0x572330e9], ebp
loope 0x40f69f
push ds
mov ebp, eax
push esp
loope 0x40f6f5
inc edx
mov ecx, 0x1e31e1e1
loope 0x40f6ae
loope 0x40f6ed
inc eax
out 0x68, al
stc
xor word [eax + 0x39], bp
loope 0x40f6f8
retf
rol dword [ebp + 0x65], 0xe1
ljmp 0xa909
loope 0x40f6da
pushal
or ebp, ebp
push ds
or dword [ecx + 0x66401ee9], ebp
test eax, 0x66401ee9
push ds
inc eax
push ds
push ds
or dword [ecx + 0x1e4230e9], ebp
push ds
push ds
push ds
push ebx
push ds
or dword [ecx - 0x6f34e117], ebp
inc ecx
loope 0x40f787
xor eax, 0x7fba30f1
loope 0x40f6f7
push ebx
xor ax, 0x30f1
js 0x40f79a
loope 0x40f700
push ebx
dec bp
test byte [eax], 0x36
div esi
in eax, dx
ljmp 0xe640
insb byte es:[edi], dx
or dword [edx + esi*8 - 0x1d], edx
xchg dword [eax + 0x5d], esp
imul byte [ecx - 0x57]
jmp 0x974d7ee5
invalid
pushal
mov ecx, 0x2319c
mov ah, byte [ecx + 0x400fff]
xor ah, 0xe1
ror ah, 0x99
mov byte [ecx + 0x400fff], ah
loop 0x4241a1
popal
jmp 0x40f21d