Function at 0x40f3eb
Capabilities:
Encode data using xor

Disassembly:
pop eax
push eax
sbb al, 0x7a
ja 0x40f204
mov ebx, 0x60fb5057
rcl byte [edi], cl
sbb ebp, dword [eax + 0x50]
push eax
pop ss
push 0x210f5050
push 0x210f5050
or al, 0x7a
aaa
or al, 0x10
or al, 0x18
sbb al, 0x3a
not dl
ficom dword [edi]
add al, 0x7b
push eax
push eax
lcall 0xc17, 0x7b0c4e9a
jp 0x40f1da
sbb al, 0x7a
ja 0x40f234
mov ebx, 0x60fb5057
rcl byte [edi], cl
add ch, byte [eax + 0x50]
push eax
pop ss
jnp 0x40f25e
push eax
push eax
outsb dx, byte [esi]
jp 0x40f1b2
cmpsd dword [esi], dword es:[edi]
scasd eax, dword es:[edi]
scasd eax, dword es:[edi]
scasd eax, dword es:[edi]
or al, 0x7a
ja 0x40f212
enter 0x56c9, 0x52
leave
push esi
push edx
dec esi
or al, 0x7b
pop ss
outsb dx, byte [esi]
jp 0x40f1c5
cmpsd dword [esi], dword es:[edi]
scasd eax, dword es:[edi]
scasd eax, dword es:[edi]
scasd eax, dword es:[edi]
xchg ebp, eax
scasd eax, dword es:[edi]
push eax
push eax
push eax
pop ss
jnp 0x40f263
push eax
push eax
dec esi
pop ss
xchg ebp, eax
or edx, dword [eax + 0x50]
pop ds
loopne 0x40f1cc
scasd eax, dword es:[edi]
scasd eax, dword es:[edi]
cli
or al, 0x37
fcmove st(0), st(2)
or al, 0x7a
xor byte [esi + edx*2 + 0x30], cl
sbb al, 0x7a
mov bh, 0x73
or al, 0xb8
push eax
push eax
push eax
push eax
or al, 0x48
jae 0x40f28d
push eax
push eax
push eax
push eax
or al, 0x7a
adc byte [edx + edi*4], cl
xor byte [ebx + edi], cl
mov bh, 0xc
dec ebx
mov bh, 0xaf
push edi
mov bl, byte [esi]
inc esi
adc byte [eax - 0x6e], dl
lcall 0xfa57, 0xaf71706c
cli
or al, 0x37
fcmovu st(0), st(2)
retf 0xeae2
invalid
dec esp
push edi
mov edi, 0x1c303a0c
pop edx
jo 0x40f30a
or al, 0xb9
push eax
push eax
push eax
push eax
or al, 0xba
mov bh, 0x1c
mov dword [ebx + 0x1c], esi
mov eax, 0x50505050
sbb al, 0xb8
push eax
push eax
push eax
push eax
stosb byte es:[edi], al
mov byte [0x10461e8a], al
push eax
cli
or al, 0x37
dec esp
aaa
adc dl, cl
loop 0x40f2a3
mov bh, 0x1c
jp 0x40f274
leave
push esi
rcl dl, cl
shr byte [edi - 0x4504805], cl
invalid
pop ss
mov eax, dword [0x4c5050eb]
jbe 0x40f32a
push ecx
sbb al, 0x7a
xchg edi, eax
stosb byte es:[edi], al
mov byte [0x977a0c8a], al
or al, 0x7f
mov edx, 0xcb7e24e
jno 0x40f31c
or al, 0x22
adc cl, cl
pop ss
mov byte [0x3afafdf], al
push eax
loop 0x40f2a9
scasd eax, dword es:[edi]
add edx, dword [eax - 0x1e]
scasd eax, dword es:[edi]
jecxz 0x40f2ec
scasd eax, dword es:[edi]
jecxz 0x40f32f
add edx, dword [eax - 0x51]
jno 0x40f376
scasd eax, dword es:[edi]
jecxz 0x40f2d8
scasd eax, dword es:[edi]
jno 0x40f37d
jno 0x40f37d
pop ss
dec eax
jmp 0x40f360
retf 0xbb5c
push eax
or al, 0x3a
xor byte [eax + ebx*2], bl
pop eax
leave
push esi
push edx
pop ds
aad 0x50
push eax
push eax
dec esp
jnp 0x40f2d1
push eax
outsb dx, byte [esi]
jp 0x40f2f5
bswap edi
push edx
push eax
pop ebp
xchg edi, eax
mov es, word [edx + 0x50]
cmp al, 0x3a
xchg esi, eax
leave
pop esi
sbb al, 0x7a
push edi
or al, 0x7a
nop
sbb al, 0x7a
ja 0x40f363
jp 0x40f389
sbb al, 0x7a
pop ss
or al, 0x7a
mov al, 0x1c
jp 0x40f399
or al, 0x7a
push ecx
jp 0x40f3b6
sbb al, 0x7a
xlatb
dec esp
jnp 0x40f362
push eax
dec esp
jnp 0x40f306
push eax
dec esp
jnp 0x40f32a
push eax
sbb al, 0x7b
neg dword [ebx + edi]
xchg edi, eax
jae 0x40f3d9
push eax
push eax
push eax
push eax
sbb al, 0x7a
xchg esi, eax
cmp al, 0x7a
xchg esi, eax
jae 0x40f3d5
push eax
push eax
push eax
push eax
outsb dx, byte [esi]
jp 0x40f3a5
pop eax
push eax
push eax
push eax
or al, 0x7a
adc byte [edx + edi*2], bl
or al, 0x7a
or al, 0x7a
rcr byte [edx + edi*2], 1
salc
pop ss
push eax
rcl dword [eax + 0x50], 0xc
push esp
push esp
push eax
push eax
push eax
sbb al, 0x7a
idiv byte [edx + edi*2]
ror byte ss:[edx + edi*2], cl
adc byte [edi - 0x905502f], ch
lcall 0x4c50, 0x167b4c9a
scasd eax, dword es:[edi]
cli
neg byte [edx + 0x167b4c9a]
push eax
dec esp
mov ebx, 0xe8f350b7
jae 0x40f3d3
mov eax, 0x50505050
or al, 0x48
or al, 0xba
xchg esi, eax
sbb al, 0x48
jae 0x40f3f1
mov eax, 0x50505050
push eax
prefetcht0 byte [edx + edi*2]
xchg esi, eax
jae 0x40f42e
push eax
push eax
push eax
push eax
or al, 0x7a
push ss
mov bl, byte [esi]
dec esi
cli
or al, 0x37
fcmove st(0), st(2)
mov bh, 0xc
jp 0x40f424
or al, 0x7a
xor byte [edx + edx], cl
or al, 0x12
adc cl, cl
cmp dh, byte [eax]
pop ss
cli
xlatb
scasd eax, dword es:[edi]
scasd eax, dword es:[edi]
or al, 0x7a
adc byte [edx + edx*2], cl
jo 0x40f452
push edi
arpl bx, si
fmul dword [edx + edi*2]
xor byte [esi + 0x52], ch
jno 0x40f469
push eax
push eax
push eax
leave
push esi
push edx
rdpmc
lsl eax, word [ebx]
pop eax
or al, 0x7a
xor byte [edi + 0x7a0c90d3], ch
xor byte [edi + 0x7a0cf0d3], ch
jp 0x40f456
scasd eax, dword es:[edi]
sal eax, cl
or al, 0x7a
xor byte [edi + 0x500330d3], ch
xor byte [ebx], al
push eax
scasd eax, dword es:[edi]
sti
ror byte [edx + edi*2], 1
xor byte [edi - 0x4502f2d], ch
adc byte [edi], dl
invalid
sti
xor byte [edi], dl
js 0x40f3fe
cmpsd dword [esi], dword es:[edi]
scasd eax, dword es:[edi]
scasd eax, dword es:[edi]
add edx, dword [eax + 3]
push eax
add edx, dword [eax + 3]
push eax
add edx, dword [eax + 0x3c]
jp 0x40f41d
rcl byte [ebx], cl
dec ecx
pop eax
push eax
push eax
pop ss
jge 0x40f416
scasd eax, dword es:[edi]
scasd eax, dword es:[edi]
dec esp
jbe 0x40f424
or al, 0x7a
mov bh, 0xc
mov edx, 0xb04b0c30
or al, 0xb
push ecx
scasd eax, dword es:[edi]
xor byte [ebx + ecx*2], cl
mov al, 0xc
or edx, dword [ecx - 0x51]
push edi
leave
push esi
push edx
mov bl, byte [esi]
dec esi
cli
or al, 0x37
fcmove st(0), st(2)
loop 0x40f479
or al, 0xbb
adc byte [edx + ebp*2], cl
ror byte [ebx + ebp*8], 1
xor byte [edx + edi*2], bl
mov bh, 0xc
cmpsb byte [esi], byte es:[edi]
invalid