Function at 0x40f3eb
Capabilities:
Encode data using xor

Disassembly:
xlatb
jp 0x40f217
ret
out dx, al
out dx, al
out dx, al
jp 0x40f235
rcr edx, cl
add ah, byte [edx]
scasd eax, dword es:[edi]
das
mov dl, 0x7a
push esp
xlatb
mov dh, 0x34
jmp 0x40f1fc
xlatb
push esp
adc ch, bh
out dx, eax
mov dl, 0xd7
xlatb
cmpsd dword [esi], dword es:[edi]
pop edx
out dx, eax
out dx, eax
fadd dword [0x44eeeeed]
inc esp
jp 0x40f205
inc eax
inc edx
jp 0x40f262
sti
jb 0x40f1e0
scasd eax, dword es:[edi]
sti
js 0x40f268
jmp 0x40f289
push ebx
jp 0x40f244
out dx, eax
out dx, eax
out dx, eax
out dx, eax
jp 0x40f230
push ebx
xchg edx, eax
out dx, eax
out dx, eax
out dx, eax
out dx, eax
jp 0x40f27a
idiv dword [edx + 0x4c]
sti
jp 0x40f2a8
jmp 0x40f2c8
inc esp
jp 0x40f23c
inc eax
inc eax
inc edx
inc ebp
inc esi
push ebx
jp 0x40f28d
and al, 0xef
out dx, eax
out dx, eax
out dx, eax
out dx, eax
js 0x40f2d3
jmp 0x40f227
sti
out dx, al
out 0xee, eax
not edi
push 0x7aeff00a
xor al, 0xfb
sti
jp 0x40f2bb
das
jb 0x40f25e
jb 0x40f25e
iretd
in al, dx
jp 0x40f2ce
sti
js 0x40f2c5
push ebx
jp 0x40f2c5
out dx, eax
out dx, eax
out dx, eax
out dx, eax
jp 0x40f2eb
jmp 0x40f319
out dx, eax
dec esi
dec ebp
dec edx
mov eax, 0x44eff7b1
jp 0x40f28e
jb 0x40f290
fcomi st(7)
inc edx
inc ebp
test dword [edx + 0x45], 0x3478eb46
jmp 0x40f2e0
inc esi
jmp 0x40f333
xor al, 0xeb
and ch, byte [edi - 0x11c0c0c1]
jmp 0x40f2b4
out dx, al
add ebp, esi
out dx, al
invalid
out dx, al
not edi
sub eax, 0x72efef66
mov bl, 0xf
js 0x40f30f
out dx, ax
out dx, eax
jb 0x40f28b
vmread dword [edi], esi
dec esi
out 0x4e, eax
dec ebp
dec edx
jp 0x40f315
xor al, 0xe7
jp 0x40f2b8
out 0x7a, eax
aam 0x4c
dec esp
mov dl, 0x45
jmp 0x40f363
sti
jp 0x40f32b
mul dword [edx]
mov ebp, 0xeee04dd7
out dx, al
out dx, al
pop ecx
out dx, eax
inc ebp
out dx, al
add ebp, esi
sti
pop ecx
out dx, eax
out dx, al
arpl word [ebx], dx
adc ebp, esi
invalid
out dx, eax
out dx, eax
jb 0x40f2c6
cmovge esi, dword [edx + 0x72db7a44]
invalid
mov dl, 0x44
jp 0x40f2f4
jb 0x40f2f6
daa
inc edx
jo 0x40f38b
not dword [edx]
invalid
adc dh, al
out dx, eax
out dx, eax
add dword fs:[edi - 0x10d01d52], esp
jp 0x40f369
sti
js 0x40f320
and ch, byte [edi - 0x106027d1]
out dx, eax
out dx, eax
jb 0x40f38e
fcomp dword [edi + 0x72efefef]
push esp
invalid
xlatb
jp 0x40f392
or edi, dword [eax + 0x34]
fstp xword [edx + 0x34]
vmread dword [edi + ebx*8], esi
jb 0x40f3be
xor al, 0xf
js 0x40f39b
fbstp tbyte [edx + 0x54]
push esp
jecxz 0x40f35b
jb 0x40f3c2
out 0xef, eax
jb 0x40f3c6
jmp 0x40f363
out dx, eax
mov dh, 0x34
mov bh, pe_nt_image_headers32
out dx, eax
out dx, eax
out dx, eax
jp 0x40f3c9
idiv dword [eax + 0x34]
mov ebx, 0x78ff347a
xor al, 0xbf
xlatb
out dx, eax
and edi, ebp
out dx, eax
jp 0x40f415
invalid
outsd dx, dword [esi]
out dx, eax
out dx, eax
out dx, eax
js 0x40f3e0
ret
xor al, 0xf7
out dx, al
pop ds
out dx, al
inc esp
ret
out dx, eax
jb 0x40f42d
insb byte es:[edi], dx
jmp 0x40f3b2
out dx, eax
arpl word [esi], ax
push ebx
jp 0x40f3d4
out dx, eax
out dx, eax
out dx, eax
out dx, eax
jp 0x40f3c0
jp 0x40f41c
invalid
js 0x40f3e2
out dx, eax
out dx, eax
out dx, eax
out dx, eax
invalid
xchg edx, eax
out dx, eax
out dx, eax
out dx, eax
out dx, eax
jp 0x40f41b
mov bh, 0x4a
mov eax, 0xdb7a44b2
inc eax
inc edx
jmp 0x40f46c
scasd eax, dword es:[edi]
das
ficomp dword [ebx - 0x26]
pop ecx
pop ecx
invalid
out dx, al
pop edi
add edi, dword [edx + 0x34]
sti
out dx, al
pop edi
sti
pop ecx
out dx, eax
out dx, al
invalid
xlatb
xchg esp, eax
in eax, dx
out dx, al
out dx, al
jb 0x40f426
or edi, dword [edx + 0x34]
jmp 0x40f4f2
mov ah, byte [ebp - 0x11]
out dx, eax
jp 0x40f4e7
jmp 0x40f4ea
insb byte es:[edi], dx
hlt
xor al, 3
xor eax, 0x347a1f78
pop es
js 0x40f4e7
sub cl, byte [esi - 5]
sub ah, dl
hlt
inc ebp
out dx, eax
out dx, eax
out dx, eax
jp 0x40f4a5
pop edx
scasd eax, dword es:[edi]
add esi, edx
xor al, 0xeb
dec esi
dec ebp
dec edx
mov eax, 0x13337ab2
test dword [ebp + 0x7a], 0x78f71363
cmc
xlatb
mov byte [edi], bl
out dx, eax
out dx, eax
jp 0x40f57c
xchg edi, ebp
out dx, eax
out dx, eax
js 0x40f548
xlatb
jp 0x40f536
out dx, eax
out dx, eax
js 0x40f4ba
xchg edi, ebp
out dx, eax
out dx, eax
jp 0x40f4d6
dec ebp
mov dl, 0xd7
imul ebx, dword [edi], 0xffffffef
out dx, eax
jp 0x40f599
xchg edi, ebp
out dx, eax
out dx, eax
invalid
arpl ax, di
jp 0x40f569
je 0x40f4ec
loopne 0x40f56f
mov dl, 0x22
scasd eax, dword es:[edi]
mov dl, 0x45
xlatb
dec ecx
pop ds
out dx, eax
out dx, eax
jp 0x40f5af
adc esi, edi
sub bl, byte [edi - 0x10101079]
call edi
cmp byte [edi], bl
out dx, eax
out dx, eax
jp 0x40f59a
js 0x40f5d7
xchg edi, ebp
out dx, eax
out dx, eax
dec ebp
mov dl, 0xd7
sub byte [edi], bl
out dx, eax
out dx, eax
jp 0x40f5dc
xchg edi, ebp
out dx, eax
out dx, eax
out dx, eax
invalid
jb 0x40f5e5
out dx, eax
loopne 0x40f5d0
fsubr dword [ebx + 0x7aefef64]
cmp eax, 0xf33778f3
dec ebp
mov dl, 0x44
jp 0x40f56e
jb 0x40f570
pop es
nop
out 0xca, eax
retf 0xef31
xor edi, ebp
out dx, eax
jb 0x40f5f1
push esp
xlatb
out dx, eax
jl 0x40f5dd
xlatb
and dh, byte [eax + 0x78f73c7a]
xor al, 0xdf
jp 0x40f5e0
sti
js 0x40f5e3
jecxz 0x40f62b
xor al, 3
das
mov dh, 0x34
fcmovnbe st(0), st(5)
loope 0x40f5e9
out dx, eax
js 0x40f5f9
out 0x78, eax
xor al, 0xeb
push ebx
nop
out dx, eax
out dx, eax
out dx, eax
out dx, eax
js 0x40f5fd
xlatb
jl 0x40f600
xlatb
push ebx
xchg edx, eax
out dx, eax
out dx, eax
out dx, eax
out dx, eax
out dx, al
pop es
inc eax
out dx, al
call edi
mov al, byte [0x7aefef64]
out dx, eax
out dx, eax
out dx, eax
jp 0x40f598
mov bh, 0x7a
xor al, 0xd7
jp 0x40f617
xlatb
push ebx
xchg edx, eax
out dx, eax
out dx, eax
out dx, eax
out dx, eax
jp 0x40f59c
mov eax, 0xee533fb2
and al, 0xef
out dx, eax
out dx, eax
out dx, eax
jl 0x40f62b
adc edi, ebx
sti
sbb dl, byte [ebx + 0x13]
sti
inc edx
inc ebp
inc esi
js 0x40f61a
jp 0x40f5dc
nop
out 0xca, eax
xor edi, ebp
and dh, byte [edi + edi - 0x49149b12]
xor al, 0xeb
out dx, al
out dx, al
out dx, al
out dx, al
jmp 0x40f5c7
jl 0x40f64d
jecxz 0x40f66e
push ebx
xchg edx, eax
out dx, eax
out dx, eax
out dx, eax
out dx, eax
mov dl, 0x3f
push ebx
out dx, al
and al, 0xef
out dx, eax
out dx, eax
out dx, eax
jl 0x40f65e
adc edi, ebx
sbb dl, byte [ebx + 0x13]
sti
inc edx
inc ebp
inc esi
js 0x40f64d
jp 0x40f60f
nop
out 0xca, eax
xor edi, ebp
and dh, byte [edi + edi - 0x1120ab88]
jmp 0x40f5fd
jmp 0x40f5fd
jl 0x40f683
jecxz 0x40f6a4
xchg edx, eax
out dx, eax
out dx, eax
out dx, eax
out dx, eax
mov dl, 0x3f
push ebx
out dx, al
and al, 0xef
out dx, eax
out dx, eax
out dx, eax
jl 0x40f694
adc edi, ebx
sbb dl, byte [ebx + 0x13]
sti
inc edx
inc ebp
inc esi
js 0x40f683
jp 0x40f645
nop
out 0xca, eax
xor edi, ebp
out dx, eax
and dh, byte [edi + edi - 0x1120cb88]
jmp 0x40f633
jl 0x40f6b9
jecxz 0x40f6da
xchg edx, eax
out dx, eax
out dx, eax
out dx, eax
out dx, eax
mov dl, 0x7a
cmp al, 0xe3
jecxz 0x40f6e4
push ebx
js 0x40f68f
out dx, eax
out dx, eax
out dx, eax
out dx, eax
dec eax
dec esi
dec esi
dec ebp
dec edx
jp 0x40f672
dec esp
inc eax
mov dl, 0x7a
cmp al, 0xdf
and bh, byte [edi + edx*8 - 0x11112368]
fmul st(4)
out dx, al
out dx, al
out dx, al
xlatb
stc
dec esp
out dx, eax
out dx, eax
out dx, al
arpl word [ebx], dx
xlatb
xlatb
push eax
dec edx
out dx, eax
out dx, eax
out dx, al
and al, 0x73
leave
xor edi, ebp
xlatb
rcr byte [ebx], 0xef
out dx, eax
push edi
out dx, al
out dx, eax
out dx, eax
out dx, eax
out dx, al
mov edi, 0xb2fbb372
push edi
mov bl, 0x5b
xor edi, ebp
out dx, al
add al, 0xfb
inc ecx
xor edi, ebp
je 0x40f690
arpl word [0x315ba357], ax
out dx, eax
aas
mov dword [0x3fef315b], eax
out dx, al
add al, 0xff
inc ecx
xor edi, ebp
je 0x40f6a0
arpl bp, si
out dx, al
arpl word [ebx], dx
out dx, al
mov edi, 0x1363eeb2
xlatb
shr dh, 0xee
out dx, al
dec eax
out dx, al
arpl word [ebx], dx
out dx, al
add al, 0xa7
aas
xor edi, ebp
mov ebx, 0x9cd7f759
out dx, eax
out dx, eax
dec eax
mov dl, 0x59
not edi
mov ebx, 0x48efef3d
mov dl, 0x45
jp 0x40f703
invalid
pushal
mov eax, 0
mov cl, byte [eax + section..text]
add cl, 0x11
mov byte [eax + section..text], cl
add eax, 1
cmp eax, 0x2319b
jne 0x4241a1
popal
jmp 0x40f21d