Function at 0x40f2e6
Capabilities:
Encode data using xor

Disassembly:
mov esp, 0x5c9292c2
mov esi, 0x14ca3598
fld dword [edx + 0x5c9292ba]
fnstenv [ebx - 0x33]
xchg edx, eax
xchg edx, eax
mov dh, 0x7c
ja 0x40f1d1
ret 0x4f0a
fdivp st(4)
cmp byte [esp + ebx], dl
invalid
mov esp, 0xb9bcde38
scasb al, byte es:[edi]
jge 0x40f183
xchg edx, eax
cmp eax, 0xe4d914c2
retf 0x9292
xchg ecx, eax
xchg ecx, eax
out dx, al
mov esp, 0x2b2af1b9
cwde
xchg esp, eax
mov al, 0xee
mov ebp, 0x79bcd0d9
mov dword [ecx - 0x6ea86e6f], edx
xchg edx, eax
xchg edx, eax
xchg edx, eax
fnstcw word [ebp - 0x4f6d6d55]
fst dword [edi - 0x13]
xchg edx, eax
xchg edx, eax
loope 0x40f266
mov dword [ecx - 0x611c36f], edx
sbb al, 0x2c
out dx, al
mov esp, 0xf298aef2
fidivr word [ecx + edi*2 - 0x6d85114b]
xchg edx, eax
xchg edx, eax
xchg edx, eax
out dx, al
stosb byte es:[edi], al
mov ch, 0xaf
xchg edx, eax
xchg edx, eax
xchg edx, eax
xchg edx, eax
out dx, al
mov esp, 0xf27ceed2
out dx, al
std
jns 0x40f23c
lodsd eax, dword [esi]
jns 0x40f1e2
cdq
insb byte es:[edi], dx
loopne 0x40f1fd
rcl byte [edx - 0x4d31a3ac], cl
mov bl, 0x91
cdq
cmp al, 0xee
stc
sbb al, 0x1c
sub al, 0x44
dec esp
mov ch, 0xee
cmp edx, dword [edx - 0x216d6d6e]
cmp eax, 0x59bcd079
into
sub dword [edx + edx*4 + 0x3d9192e5], edx
xchg ecx, eax
cmp eax, 0xd23d9159
fstp dword [ebp + 0x6a]
lcall 0x94ee, 0xf2bcee92
mov dl, 0xae
cdq
sub esi, 0x9cdef2fc
mov dl, 0xb5
out dx, al
jnp 0x40f22c
xchg edx, eax
xchg edx, eax
xchg edx, eax
xchg edx, eax
out dx, al
jl 0x40f319
fisubr word [ebx - 0x4b]
fidivr word [edx - 0x6e]
xchg edx, eax
xchg edx, eax
xchg edx, eax
mov word [esp + ebp*2 - 0x6d2d5720], es
cmp al, 0xee
stc
scasb al, byte es:[edi]
stc
shr byte [esp + eax*2], cl
dec esp
jns 0x40f299
mov esp, 0x14982b79
adc al, 0x14
xchg ecx, eax
cmp eax, 0x323d9179
xchg ecx, eax
cmp eax, 0xf23d9112
xchg ecx, eax
cmp eax, 0x4d83d9d2
xchg edx, eax
xchg edx, eax
scasb al, byte es:[edi]
mov eax, 0x59bcde93
mov word [esp + ebp*2 - 0x11a64312], es
sar dword [eax + esi*4 + 0x44], 0x79
out dx, al
xor eax, 0x4eef2b3
shr byte [ebx], cl
or cl, bl
test byte [ecx], ah
xchg ecx, eax
xchg ecx, eax
in eax, 0x92
inc esp
xchg ecx, eax
inc ebp
xor dl, byte [ecx - 0x6d1a0dbb]
xchg ecx, eax
xor eax, 0x4591b3b3
inc ebp
adc dl, byte [ecx - 0x264c4ccb]
stosb byte es:[edi], al
dec ebp
xchg edx, eax
xchg edx, eax
scasb al, byte es:[edi]
mov eax, 0x3cb08493
out dx, al
stc
scasb al, byte es:[edi]
stc
push ebx
sub al, 0x9e
jge 0x40f2f2
stosd dword es:[edi], eax
lcall 0x8f57, 0x223d9292
xor dword [edx + edx*4 - 0x210d0312], edx
lcall 0x9217, 0xe194982b
cwde
xchg esp, eax
loope 0x40f34c
xchg edx, eax
xchg edx, eax
xchg edx, eax
scasb al, byte es:[edi]
mov ebp, 0xbcd09258
js 0x40f331
xor dword [edx + edx*4 - 0x5b8fa661], edx
xchg edx, eax
invalid
mov al, byte [0xee99bcde]
mov esp, 0xb9bcde52
out dx, al
mov esp, 0xd9bcdef2
out dx, al
mov esp, 0xf9bcde72
out dx, al
mov esp, 0x19bcde93
scasb al, byte es:[edi]
mov ebp, 0xbdae9239
pop ecx
xchg edx, eax
scasb al, byte es:[edi]
mov ebp, 0xbdde9279
cmp esi, ebx
std
pop ecx
mov ecx, 0xdef2bcee
mov esp, 0x72bceed9
fidivr word [ecx + edi*8 - 0x216c4312]
mov esp, 0x39bdae19
xchg edx, eax
scasb al, byte es:[edi]
mov ebp, 0xbdae9259
jns 0x40f306
fidivr word [ebp + 0x59fdde39]
mov ch, 0x9f
xchg edx, eax
xchg edx, eax
xchg edx, eax
xchg edx, eax
fidivr word [eax + ebx*2 - 0x4aa74302]
scasd eax, dword es:[edi]
xchg edx, eax
xchg edx, eax
xchg edx, eax
xchg edx, eax
sar byte [eax + ebx*8 - 0x6d6d6d66], 1
out dx, al
mov esp, 0xf8bcded2
out dx, al
mov esp, 0x18bcde12
fst dword [edx - 0x116d6ddd]
xchg esi, eax
xchg esi, eax
xchg edx, eax
xchg edx, eax
xchg edx, eax
fidivr word [eax + edi + 0x14f8bcfe]
out dx, al
mov esp, 0x911391d2
cmp al, 0x38
pop esp
pop esp
scasb al, byte es:[edi]
mov ebp, 0x7dae92d8
jns 0x40f355
xor eax, 0x7aeeb54a
xchg edx, eax
xchg edx, eax
xchg edx, eax
xchg edx, eax
out dx, al
stosb byte es:[edi], al
out dx, al
jl 0x40f429
fisubr word [edx - 0x6d85214b]
xchg edx, eax
xchg edx, eax
xchg edx, eax
int1
invalid
out dx, al
mov esp, 0xf21591f2
in eax, 0x92
xchg ecx, eax
cmp eax, 0xf2bcee12
xchg ecx, eax
adc eax, 0xd23d9112
fldcw word [eax]
cmp eax, 0xb8ae9292
xchg ebx, eax
out dx, al
mov esp, 0xb355aef2
xchg edx, eax
cmp eax, 0xd23d91ea
xchg ecx, eax
cmp eax, 0x89bad9f2
xchg ecx, eax
xchg ecx, eax
in eax, 0x92
in eax, 0x92
in eax, 0x92
in eax, 0x92
in eax, 0x92
invalid
pushal
mov esi, 0
mov al, byte [esi + section..text]
ror al, 0xf0
sub al, 0x92
rol al, 0x1d
mov byte [esi + section..text], al
inc esi
cmp esi, 0x2319b
jne 0x4241a1
popal
jmp 0x40f21d